summaryrefslogtreecommitdiff
path: root/lib/ZCkAuth.c
diff options
context:
space:
mode:
authorGravatar John Kohl <jtkohl@mit.edu>1988-06-17 13:17:57 +0000
committerGravatar John Kohl <jtkohl@mit.edu>1988-06-17 13:17:57 +0000
commit1ebabcfd0bda9d58ab3953aa2a8ef1a374ddb1fc (patch)
tree83c35697024aa037eaebeb041108b7e0ec82f7b2 /lib/ZCkAuth.c
parent5b51bdd7faed4bdb5170d50a89b4f92dc778dfea (diff)
only if the result decodes do we do the checking.
Diffstat (limited to 'lib/ZCkAuth.c')
-rw-r--r--lib/ZCkAuth.c17
1 files changed, 10 insertions, 7 deletions
diff --git a/lib/ZCkAuth.c b/lib/ZCkAuth.c
index 073a972..1f07a3a 100644
--- a/lib/ZCkAuth.c
+++ b/lib/ZCkAuth.c
@@ -46,13 +46,16 @@ int ZCheckAuthentication(notice, from)
result = krb_rd_req(&authent, SERVER_SERVICE,
SERVER_INSTANCE, from->sin_addr.s_addr,
&dat, SERVER_SRVTAB);
- bcopy((char *)dat.session, (char *)__Zephyr_session,
- sizeof(C_Block));
- (void) sprintf(srcprincipal, "%s%s%s@%s", dat.pname,
- dat.pinst[0]?".":"", dat.pinst, dat.prealm);
- if (strcmp(srcprincipal, notice->z_sender))
- return (0);
- return (result == RD_AP_OK);
+ if (result == RD_AP_OK) {
+ bcopy((char *)dat.session, (char *)__Zephyr_session,
+ sizeof(C_Block));
+ (void) sprintf(srcprincipal, "%s%s%s@%s", dat.pname,
+ dat.pinst[0]?".":"", dat.pinst, dat.prealm);
+ if (strcmp(srcprincipal, notice->z_sender))
+ return (0);
+ return(1);
+ } else
+ return (0); /* didn't decode */
}
if (result = krb_get_cred(SERVER_SERVICE, SERVER_INSTANCE,