diff options
Diffstat (limited to 'sunrpc/rpc/auth.h')
-rw-r--r-- | sunrpc/rpc/auth.h | 38 |
1 files changed, 22 insertions, 16 deletions
diff --git a/sunrpc/rpc/auth.h b/sunrpc/rpc/auth.h index fff60baccd..61cd351485 100644 --- a/sunrpc/rpc/auth.h +++ b/sunrpc/rpc/auth.h @@ -42,6 +42,7 @@ #define _RPC_AUTH_H 1 #include <features.h> +#include <rpc/xdr.h> __BEGIN_DECLS @@ -76,7 +77,7 @@ union des_block { char c[8]; }; typedef union des_block des_block; -extern bool_t xdr_des_block(); +extern bool_t xdr_des_block __P ((XDR *__xdrs, des_block *__blkp)); /* * Authentication info. Opaque to client. @@ -90,19 +91,21 @@ struct opaque_auth { /* * Auth handle, interface to client side authenticators. */ -typedef struct { - struct opaque_auth ah_cred; - struct opaque_auth ah_verf; - union des_block ah_key; - struct auth_ops { - void (*ah_nextverf)(); - int (*ah_marshal)(); /* nextverf & serialize */ - int (*ah_validate)(); /* validate verifier */ - int (*ah_refresh)(); /* refresh credentials */ - void (*ah_destroy)(); /* destroy this structure */ - } *ah_ops; - caddr_t ah_private; -} AUTH; +typedef struct AUTH AUTH; +struct AUTH { + struct opaque_auth ah_cred; + struct opaque_auth ah_verf; + union des_block ah_key; + struct auth_ops { + void (*ah_nextverf) __P ((AUTH *)); + int (*ah_marshal) __P ((AUTH *, XDR *)); /* nextverf & serialize */ + int (*ah_validate) __P ((AUTH *, struct opaque_auth *)); + /* validate verifier */ + int (*ah_refresh) __P ((AUTH *)); /* refresh credentials */ + void (*ah_destroy) __P ((AUTH *)); /* destroy this structure */ + } *ah_ops; + caddr_t ah_private; +}; /* @@ -160,14 +163,17 @@ extern AUTH *authunix_create __P ((char *__machname, __uid_t __uid, __gid_t *__aup_gids)); extern AUTH *authunix_create_default __P ((void)); extern AUTH *authnone_create __P ((void)); -extern AUTH *authdes_create(); +extern AUTH *authdes_create __P ((char *__servername, u_int __window, + struct sockaddr *__syncaddr, + des_block *__ckey)); #define AUTH_NONE 0 /* no authentication */ #define AUTH_NULL 0 /* backward compatibility */ -#define AUTH_UNIX 1 /* unix style (uid, gids) */ #define AUTH_SYS 1 /* unix style (uid, gids) */ +#define AUTH_UNIX AUTH_SYS #define AUTH_SHORT 2 /* short hand unix style */ #define AUTH_DES 3 /* des style (encrypted timestamps) */ +#define AUTH_KERB 4 /* kerberos style */ __END_DECLS |