From: Derrick Brashear Date: Fri, 19 Jan 2001 06:26:34 +0000 (+0000) Subject: krb-udp-cleanup-20010119 X-Git-Tag: BP-openafs-devel-autoconf~111 X-Git-Url: https://git.openafs.org/?p=openafs.git;a=commitdiff_plain;h=084d1b109f8d1cc526dd3e07ac89ceb1422fbab6 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. --- diff --git a/src/kauth/krb_udp.c b/src/kauth/krb_udp.c index 568334f..0d470a8 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"); }