From 084d1b109f8d1cc526dd3e07ac89ceb1422fbab6 Mon Sep 17 00:00:00 2001 From: Derrick Brashear Date: Fri, 19 Jan 2001 06:26:34 +0000 Subject: [PATCH] krb-udp-cleanup-20010119 Make krb_udp try kerberos-iv as a fallback (from the original default of kerberos4) before going to "kerberos". "kerberos" incidentally is 88 on all modern platforms, so lord forbid you want to run this and something which can actually answer krb5 requests, if you're using the default services. Also minor fix for the size of an answer packet. --- 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