From e882a93efc7001e07dfc2360de4823b3dbbf8522 Mon Sep 17 00:00:00 2001 From: Derrick Brashear Date: Fri, 19 Jan 2001 09:54:56 +0000 Subject: [PATCH] STABLE10-krb-udp-cleanup-20010119 fix size of answer packet fallback to kerberos-iv before kerberos (cherry picked from commit 084d1b109f8d1cc526dd3e07ac89ceb1422fbab6) --- src/kauth/krb_udp.c | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/src/kauth/krb_udp.c b/src/kauth/krb_udp.c index 568334fac..0d470a8c3 100644 --- a/src/kauth/krb_udp.c +++ b/src/kauth/krb_udp.c @@ -568,7 +568,7 @@ static err_packet (ksoc, pkt, code, reason) } ans.len = 2 + strlen(pkt->name) + strlen(pkt->inst) + strlen(pkt->realm) + - 3/* nulls */ + sizeof(afs_int32) + strlen (buf) + 1; + 3/* nulls */ + (2 * sizeof(afs_int32)) + strlen (buf) + 1; if (ans.len > sizeof(ans.data)) { printf ("Answer packet too long\n"); return; @@ -827,7 +827,13 @@ afs_int32 init_krb_udp () taddr.sin_family = AF_INET; /* added for NCR port */ if ( !sp ) { - /* if kerberos-4 is not available, try "kerberos" */ + /* if kerberos-4 is not available, try "kerberos-iv" */ + krb4name = "kerberos-iv"; + sp = getservbyname(krb4name, "udp"); + } + if ( !sp ) + { + /* if kerberos-iv is not available, try "kerberos" */ krb4name = "kerberos"; sp = getservbyname(krb4name, "udp"); } -- 2.39.5