TCP support for MIT Kerberos in HP-UX IA64

Greg Hudson ghudson at MIT.EDU
Sun Apr 27 11:47:13 EDT 2014


On 04/26/2014 02:59 PM, Vipul Mehta wrote:
> As everything is working fine with the change, can someone please commit this change to the repository for get_so_error() in sendto_kdc.c
> 
> #if defined(__hpux)
>  int sockerrlen;
> #else
>  socklen_t sockerrlen;
> #endof

I don't think we'd want to make that change exactly.  For one thing, it
seems likely that there are HPUX compilation environments for which
using socklen_t would work and using int would break.

Ideally, we want an autoconf test which determines whether the final
argument of getsockopt should be int * or socklen_t * under the compiler
and CFLAGS specified by the user.  From that test we would define a type
in include/port-sockets.h, and use that type when calling getsockopt.

I'm not immediately sure how to write the autoconf test, though.  My
hope is that passing socklen_t * as the final getsockopt argument
generates a warning on HPUX (perhaps you can verify this), and we can
use that to distinguish.  But AC_COMPILE_IFELSE doesn't appear to fail
on warnings, so I'm not sure what the best autoconf idiom is to look for
warnings.

I did find
http://lists.gnu.org/archive/html/autoconf/2007-05/msg00079.html
which works by triyng to to redefine prototypes for accept and connect
to determine whether a system is using socklen_t.  But it's pretty
complicated and the author wasn't completely confident in its
correctness at the time.


More information about the Kerberos mailing list