对已拒绝请求的回复
由于以下两个原因,服务器可能会拒绝调用消息: 服务器未运行兼容版本的 RPC 协议,或者存在认证失败。
网络服务器拒绝的请求的 RPC 应答消息具有以下结构:
struct rejected_reply rreply {
union switch (enum reject_stat stat) {
case RPC_MISMATCH:
struct {
unsigned int low;
unsigned int high;
} mismatch_info;
case AUTH_ERROR:
enum auth_stat stat;
};
enum reject_stat 判别充当 RPC_MATCH 与 AUTH_ERROR 之间的切换。 被拒绝的调用消息返回下列其中一个状态条件:
enum reject_stat {
RPC_MISMATCH = 0, /* RPC version number is not 2 */
AUTH_ERROR = 1, /* remote cannot authenticate caller */
};
| 项 | 描述 |
|---|---|
| RPC_MISMATCH | 服务器未运行兼容版本的 RPC 协议。 服务器返回可用的最低版本号和最高版本号。 |
| AUTH_ERROR | 服务器拒绝认证调用者,并返回值为 enum auth_stat的失败状态。 由于凭证错误或已拒绝,验证器错误或已拒绝,验证器已到期或已重放的验证器或安全性问题,认证可能会失败。 如果服务器未认证调用者,AUTH_ERROR返回下列其中一个条件作为故障状态:
|