diff options
author | Greg Hudson <ghudson@mit.edu> | 1997-09-14 17:50:06 +0000 |
---|---|---|
committer | Greg Hudson <ghudson@mit.edu> | 1997-09-14 17:50:06 +0000 |
commit | ac16f380e349fa39ec7e26bccb5456cb300006a5 (patch) | |
tree | c07ca88af97b4f6b77d28a2dc723d2e4621ed302 /lib/ZCkAuth.c | |
parent | d33e482744fad80d95cdd89ed380c5b8401e49bf (diff) |
Pull in sources from zephyr locker. See /mit/zephyr/repository for
detailed change information.
Diffstat (limited to 'lib/ZCkAuth.c')
-rw-r--r-- | lib/ZCkAuth.c | 25 |
1 files changed, 10 insertions, 15 deletions
diff --git a/lib/ZCkAuth.c b/lib/ZCkAuth.c index 999950b..8f4816e 100644 --- a/lib/ZCkAuth.c +++ b/lib/ZCkAuth.c @@ -17,27 +17,22 @@ static char rcsid_ZCheckAuthentication_c[] = "$Zephyr: /mit/zephyr/src/lib/RCS/ZCheckAuthentication.c,v 1.14 89/03/24 14:17:38 jtkohl Exp Locker: raeburn $"; #endif -#include <zephyr/mit-copyright.h> -#include <sys/param.h> -#include <zephyr/zephyr_internal.h> +#include <internal.h> /* Check authentication of the notice. If it looks authentic but fails the Kerberos check, return -1. If it looks authentic and passes the Kerberos check, return 1. If it doesn't look authentic, return 0 - When not using Kerberos, return (looks-authentic-p) + When not using Kerberos, return true if the notice claims to be authentic. Only used by clients; the server uses its own routine. */ -int ZCheckAuthentication(notice, from) +Code_t ZCheckAuthentication(notice, from) ZNotice_t *notice; struct sockaddr_in *from; { -#ifdef Z_HaveKerberos +#ifdef ZEPHYR_USES_KERBEROS int result; - char srcprincipal[ANAME_SZ+INST_SZ+REALM_SZ+4]; - KTEXT_ST authent; - AUTH_DAT dat; ZChecksum_t our_checksum; CREDENTIALS cred; @@ -48,17 +43,17 @@ int ZCheckAuthentication(notice, from) if (!notice->z_auth) return (ZAUTH_NO); - if (result = krb_get_cred(SERVER_SERVICE, SERVER_INSTANCE, - __Zephyr_realm, &cred)) + if ((result = krb_get_cred(SERVER_SERVICE, SERVER_INSTANCE, + __Zephyr_realm, &cred)) != 0) return (ZAUTH_NO); #ifdef NOENCRYPTION our_checksum = 0; #else - our_checksum = (ZChecksum_t)des_quad_cksum(notice->z_packet, NULL, - notice->z_default_format+ - strlen(notice->z_default_format)+1- - notice->z_packet, 0, cred.session); + our_checksum = des_quad_cksum(notice->z_packet, NULL, + notice->z_default_format+ + strlen(notice->z_default_format)+1- + notice->z_packet, 0, cred.session); #endif /* if mismatched checksum, then the packet was corrupted */ return ((our_checksum == notice->z_checksum) ? ZAUTH_YES : ZAUTH_FAILED); |