summaryrefslogtreecommitdiff
path: root/server/kstuff.c
diff options
context:
space:
mode:
authorGravatar Theodore Y. Ts'o <tytso@mit.edu>1990-08-16 17:25:07 +0000
committerGravatar Theodore Y. Ts'o <tytso@mit.edu>1990-08-16 17:25:07 +0000
commit88452efca5ec64de75f1653cfe823a204a63b0c6 (patch)
tree57526986880bef304633fe8cf8a9819c3c2a327c /server/kstuff.c
parent851e35b408ec06a62a8ec4d538894a6c9b21e999 (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.c15
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;