summaryrefslogtreecommitdiff
path: root/src/auth_des.c
diff options
context:
space:
mode:
authorMatthew N. Dodd <matthew.nygard.dodd@gmail.com>2011-06-20 13:34:34 -0400
committerSteve Dickson <steved@redhat.com>2011-06-20 13:34:34 -0400
commitf2db0f29ce283385d5663c390a3ca7fb40e21dde (patch)
tree79cc735f03e1f724d68a8ef673ef4e9c76a60858 /src/auth_des.c
parent6f4c0348695b56d7ed8880e79ffebddf18a6d1bb (diff)
downloadti-rpc-f2db0f29ce283385d5663c390a3ca7fb40e21dde.tar.gz
AUTH_WRAP/AUTH_UNWRAP support.
Client code lacks support for authenticator wrapping/unwrapping, which is particularly useful when using GSS. Verified for both tcp & udp using a trivial RPC client against a MIT Krb5 server. Signed-off-by: Steve Dickson <steved@redhat.com>
Diffstat (limited to 'src/auth_des.c')
-rw-r--r--src/auth_des.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/src/auth_des.c b/src/auth_des.c
index 37e7667..829c817 100644
--- a/src/auth_des.c
+++ b/src/auth_des.c
@@ -472,6 +472,12 @@ authdes_destroy(AUTH *auth)
FREE(auth, sizeof(AUTH));
}
+static bool_t
+authdes_wrap(AUTH *auth, XDR *xdrs, xdrproc_t xfunc, caddr_t xwhere)
+{
+ return ((*xfunc)(xdrs, xwhere));
+}
+
static struct auth_ops *
authdes_ops(void)
{
@@ -487,6 +493,8 @@ authdes_ops(void)
ops.ah_validate = authdes_validate;
ops.ah_refresh = authdes_refresh;
ops.ah_destroy = authdes_destroy;
+ ops.ah_wrap = authdes_wrap;
+ ops.ah_unwrap = authdes_wrap;
}
mutex_unlock(&authdes_ops_lock);
return (&ops);