diff options
Diffstat (limited to 'crypto/heimdal/appl/telnet/libtelnet/kerberos.c')
-rw-r--r-- | crypto/heimdal/appl/telnet/libtelnet/kerberos.c | 27 |
1 files changed, 14 insertions, 13 deletions
diff --git a/crypto/heimdal/appl/telnet/libtelnet/kerberos.c b/crypto/heimdal/appl/telnet/libtelnet/kerberos.c index 09d3073..1c86fe2 100644 --- a/crypto/heimdal/appl/telnet/libtelnet/kerberos.c +++ b/crypto/heimdal/appl/telnet/libtelnet/kerberos.c @@ -55,7 +55,7 @@ #include <config.h> #endif -RCSID("$Id: kerberos.c,v 1.54 2001/08/22 20:30:22 assar Exp $"); +RCSID("$Id: kerberos.c 22071 2007-11-14 20:04:50Z lha $"); #ifdef KRB4 #ifdef HAVE_SYS_TYPES_H @@ -347,14 +347,15 @@ kerberos4_is(Authenticator *ap, unsigned char *data, int cnt) Data(ap, KRB_ACCEPT, NULL, 0); } else { char *msg; + int ret; - asprintf (&msg, "user `%s' is not authorized to " - "login as `%s'", - krb_unparse_name_long(adat.pname, - adat.pinst, - adat.prealm), - UserNameRequested ? UserNameRequested : "<nobody>"); - if (msg == NULL) + ret = asprintf (&msg, "user `%s' is not authorized to " + "login as `%s'", + krb_unparse_name_long(adat.pname, + adat.pinst, + adat.prealm), + UserNameRequested ? UserNameRequested : "<nobody>"); + if (ret == -1) Data(ap, KRB_REJECT, NULL, 0); else { Data(ap, KRB_REJECT, (void *)msg, -1); @@ -440,7 +441,7 @@ kerberos4_is(Authenticator *ap, unsigned char *data, int cnt) } } memset(data, 0, cnt); - memset(ks, 0, sizeof(ks)); + memset(&ks, 0, sizeof(ks)); memset(&cred, 0, sizeof(cred)); } @@ -540,7 +541,7 @@ kerberos4_printsub(unsigned char *data, int cnt, unsigned char *buf, int buflen) { int i; - buf[buflen-1] = '\0'; /* make sure its NULL terminated */ + buf[buflen-1] = '\0'; /* make sure it's NULL terminated */ buflen -= 1; switch(data[3]) { @@ -651,7 +652,7 @@ static int unpack_cred(unsigned char *buf, int len, CREDENTIALS *cred) { char *p = (char*)buf; - u_int32_t tmp; + uint32_t tmp; strncpy (cred->service, p, ANAME_SZ); cred->service[ANAME_SZ - 1] = '\0'; @@ -675,7 +676,7 @@ unpack_cred(unsigned char *buf, int len, CREDENTIALS *cred) p += cred->ticket_st.length; p += krb_get_int(p, &tmp, 4, 0); cred->ticket_st.mbz = 0; - p += krb_get_int(p, (u_int32_t *)&cred->issue_date, 4, 0); + p += krb_get_int(p, (uint32_t *)&cred->issue_date, 4, 0); strncpy (cred->pname, p, ANAME_SZ); cred->pname[ANAME_SZ - 1] = '\0'; @@ -712,7 +713,7 @@ kerberos4_forward(Authenticator *ap, void *v) len = pack_cred(&cred, netcred); des_pcbc_encrypt((void*)netcred, (void*)netcred, len, ks, key, DES_ENCRYPT); - memset(ks, 0, sizeof(ks)); + memset(&ks, 0, sizeof(ks)); Data(ap, KRB_FORWARD, netcred, len); memset(netcred, 0, sizeof(netcred)); return 0; |