[23828] in Kerberos

home help back first fref pref prev next nref lref last post

AIX 5.2 and Kerberos 1.4.1 Patches

daemon@ATHENA.MIT.EDU (Milton Turley)
Thu May 5 17:13:46 2005

Message-Id: <6.0.1.1.2.20050505144936.02db1c50@cic-mail.lanl.gov>
Date: Thu, 05 May 2005 15:08:15 -0600
To: kerberos@mit.edu
From: Milton Turley <mturley@lanl.gov>
Mime-Version: 1.0
Content-Type: text/plain; charset="us-ascii"; format=flowed
Errors-To: kerberos-bounces@mit.edu

Following are 2 patches for kerberos 1.4.1 to build on AIX 5.2.  The 
patches are for the problem of not being able to resolve the address for 
the kdc.
The #ifndef LANL and #ifdef LANL are locale compiler directives and will 
need to be changed or specifiy -D LANL in configure process.

The patch for dsnglue.c is if "thread-support" is enabled.  The patch adds 
a 1024 byte buffer after the  _res_state structure.  IBM AIX has a problem 
where 735+- bytes are overlaid when res_ninit is called.  The 1024 bytes 
pads the storage to stop res_ninit from overlaying critical storage.  Ken 
Raeburn had tried a similar patch with 72 bytes.

>*** ./src/lib/krb5/os/dnsglue.c.orig    Fri Jan 14 17:10:53 2005
>--- ./src/lib/krb5/os/dnsglue.c Thu May  5 11:39:52 2005
>***************
>*** 62,68 ****
>--- 62,76 ----
>                 char *host, int nclass, int ntype)
>   {
>   #if HAVE_RES_NSEARCH
>+ #ifndef LANL
>       struct __res_state statbuf;
>+ #else   /* LANL */
>+ #ifndef _AIX
>+     struct __res_state statbuf;
>+ #else   /* _AIX */
>+     struct { struct __res_state s; char pad[1024]; } statbuf;
>+ #endif  /* AIX */
>+ #endif  /* LANL */
>   #endif
>       struct krb5int_dns_state *ds;
>       int len, ret;
The patch for locate_kdc.c is when "disable-thread-support" is set for 
configure.  Again the #ifndef LANL and #ifdef LANL is a local compiler 
directive.  This will need to be changed for local setting or -D LANL set 
for configure process.



>*** ./src/lib/krb5/os/locate_kdc.c.orig Thu May  5 08:06:45 2005
>--- ./src/lib/krb5/os/locate_kdc.c      Thu May  5 11:34:27 2005
>***************
>*** 267,275 ****
>--- 267,283 ----
>       memset(&hint, 0, sizeof(hint));
>       hint.ai_family = family;
>       hint.ai_socktype = socktype;
>+ #ifndef LANL
>   #ifdef AI_NUMERICSERV
>       hint.ai_flags = AI_NUMERICSERV;
>   #endif
>+ #else   /* LANL */
>+ #ifndef _AIX
>+ #ifdef AI_NUMERICSERV
>+     hint.ai_flags = AI_NUMERICSERV;
>+ #endif
>+ #endif  /* _AIX */
>+ #endif  /* LANL */
>       sprintf(portbuf, "%d", ntohs(port));
>       sprintf(secportbuf, "%d", ntohs(secport));
>       err = getaddrinfo (hostname, portbuf, &hint, &addrs);
________________________________________________
Kerberos mailing list           Kerberos@mit.edu
https://mailman.mit.edu/mailman/listinfo/kerberos

home help back first fref pref prev next nref lref last post