]> git.michaelhowe.org Git - packages/o/openafs.git/commitdiff
STABLE10-krb-udp-cleanup-20010119
authorDerrick Brashear <shadow@dementia.org>
Fri, 19 Jan 2001 09:54:56 +0000 (09:54 +0000)
committerDerrick Brashear <shadow@dementia.org>
Fri, 19 Jan 2001 09:54:56 +0000 (09:54 +0000)
fix size of answer packet

fallback to kerberos-iv before kerberos

(cherry picked from commit 084d1b109f8d1cc526dd3e07ac89ceb1422fbab6)

src/kauth/krb_udp.c

index 568334fac34dca16643b2acd585088b32a7fcee0..0d470a8c330c64a001d00b8d7ee119ce21f52743 100644 (file)
@@ -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");
     }