diff options
author | Theodore Y. Ts'o <tytso@mit.edu> | 1990-08-16 17:25:07 +0000 |
---|---|---|
committer | Theodore Y. Ts'o <tytso@mit.edu> | 1990-08-16 17:25:07 +0000 |
commit | 88452efca5ec64de75f1653cfe823a204a63b0c6 (patch) | |
tree | 57526986880bef304633fe8cf8a9819c3c2a327c /server/kstuff.c | |
parent | 851e35b408ec06a62a8ec4d538894a6c9b21e999 (diff) |
Checked in changes made by Ken (Audited by Ted) which fix brokenness in
how error codes are returned by SendKerberosData() and used by
bdump_send() and bdump_get(). Kerberos codes are now returned as
Kerberos error plus kerberos error base, instead of just the
Kerberos error number.
Diffstat (limited to 'server/kstuff.c')
-rw-r--r-- | server/kstuff.c | 15 |
1 files changed, 8 insertions, 7 deletions
diff --git a/server/kstuff.c b/server/kstuff.c index 7c55468..1c12328 100644 --- a/server/kstuff.c +++ b/server/kstuff.c @@ -18,6 +18,7 @@ static char rcsid_kstuff_c[] = "$Header$"; #endif lint #include "zserver.h" +#include <zephyr/krb_err.h> #include <ctype.h> #include <netdb.h> @@ -85,7 +86,7 @@ GetKerberosData(fd, haddr, kdata, service, srvtab) * SendKerberosData * * create and transmit a ticket over the file descriptor for service.host - * return Kerberos failure codes if appropriate, or KSUCCESS if we + * return failure codes if appropriate, or 0 if we * get the ticket and write it to the file descriptor */ @@ -103,25 +104,25 @@ char *service, *host; /* service name, foreign host */ rem = krb_get_lrealm(krb_realm,1); if (rem != KSUCCESS) - return(rem); + return rem + ERROR_TABLE_BASE_krb; rem = krb_mk_req( ticket, service, host, krb_realm, (u_long)0 ); if (rem != KSUCCESS) - return(rem); + return rem + ERROR_TABLE_BASE_krb; (void) sprintf(p,"%d ",ticket->length); if ((written = write(fd, p, strlen(p))) != strlen(p)) if (written < 0) - return(written); + return errno; else return(ZSRV_PKSHORT); if ((written = write(fd, (caddr_t) (ticket->dat), ticket->length)) != ticket->length) if (written < 0) - return(written); + return errno; else return(ZSRV_PKSHORT); - - return(rem); + + return 0; } static char tkt_file[] = ZEPHYR_TKFILE; |