xrtSshAuthGuardPolicyInit

初始化 RFC 推荐值和有界资源默认策略。

void xrtSshAuthGuardPolicyInit(xsshauthguardpolicy* pPolicy);
参数说明
xsshauthguardpolicy* pPolicy策略
返回:初始化 RFC 推荐值和有界资源默认策略。

示例已编译验证

sshauthguardpolicyinit obj;
xrtSshAuthGuardPolicyInit(&obj, pPolicy);

xrtSshAuthGuardInit

复制显式或默认策略并开始一个认证会话。

bool xrtSshAuthGuardInit( xsshauthguard* pGuard, const xsshauthguardpolicy* pPolicy, uint64 iNowMs );
参数说明
xsshauthguard* pGuard守卫
const xsshauthguardpolicy* pPolicy策略
uint64 iNowMs当前毫秒时间
返回:复制显式或默认策略并开始一个认证会话。

示例已编译验证

sshauthguardinit obj;
xrtSshAuthGuardInit(&obj, pGuard, pPolicy, iNowMs);

xrtSshAuthGuardCheck

查询当前时间、完成状态和已有预算产生的决策。

xsshcode xrtSshAuthGuardCheck( xsshauthguard* pGuard, uint64 iNowMs, xsshauthguarddecision* pDecision );
参数说明
xsshauthguard* pGuard守卫
uint64 iNowMs当前毫秒时间
xsshauthguarddecision* pDecisionDecson 参数
返回:查询当前时间、完成状态和已有预算产生的决策。

示例已编译验证

/* 查询当前时间、完成状态和已有预算产生的决策。 */
result = xrtSshAuthGuardCheck(pGuard, iNowMs, pDecision);

xrtSshAuthGuardReserve

原子预留一条认证消息;超过任一上限时进入不可恢复的断开状态。

xsshcode xrtSshAuthGuardReserve( xsshauthguard* pGuard, xsshauthevent Event, uint64 iMessageBytes, uint64 iNowMs, xsshauthguarddecision* pDecision );
参数说明
xsshauthguard* pGuard守卫
xsshauthevent EventEvent 参数
uint64 iMessageBytesMessageBytes 参数
uint64 iNowMs当前毫秒时间
xsshauthguarddecision* pDecisionDecson 参数
返回:原子预留一条认证消息;超过任一上限时进入不可恢复的断开状态。

示例已编译验证

/* 原子预留一条认证消息;超过任一上限时进入不可恢复的断开状态。 */
result = xrtSshAuthGuardReserve(pGuard, Event, iMessageBytes, iNowMs, pDecision);

xrtSshAuthGuardComplete

认证成功后冻结预算;后续认证消息统一返回 IGNORE。

bool xrtSshAuthGuardComplete(xsshauthguard* pGuard);
参数说明
xsshauthguard* pGuard守卫
返回:认证成功后冻结预算;后续认证消息统一返回 IGNORE。

示例已编译验证

/* 认证成功后冻结预算;后续认证消息统一返回 IGNORE。 */
result = xrtSshAuthGuardComplete(pGuard);