[2471] in Kerberos-V5-bugs

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

pending/203: krb5 beta7 Solaris and Linux portability bugs

daemon@ATHENA.MIT.EDU (John F. Carr)
Mon Nov 18 21:31:34 1996

Resent-From: gnats@rt-11.MIT.EDU (GNATS Management)
Resent-To: gnats-admin@rt-11.MIT.EDU
Resent-Reply-To: krb5-bugs@MIT.EDU, "John F. Carr" <jfc@tiac.net>
Date: Mon, 18 Nov 1996 21:29:48 -0500
From: "John F. Carr" <jfc@tiac.net>
To: krb5-bugs@MIT.EDU


>Number:         203
>Category:       pending
>Synopsis:       krb5 beta7 Solaris and Linux portability bugs
>Confidential:   yes
>Severity:       serious
>Priority:       medium
>Responsible:    gnats-admin
>State:          open
>Class:          sw-bug
>Submitter-Id:   unknown
>Arrival-Date:   Mon Nov 18 21:31:00 EST 1996
>Last-Modified:
>Originator:
>Organization:
>Release:
>Environment:
>Description:
>How-To-Repeat:
>Fix:
>Audit-Trail:
>Unformatted:
Here are a few problems I had compiling krb5 beta7.

On a SPARC running Solaris 2.5.1:

1: If I have /usr/xpg4/bin in my path before /usr/bin,
	mk_cmds std_rqs.ct
fails because /usr/xpg4/bin/sed writes an infinite number of "cmd:"
lines to stdout.  /usr/bin/sed works.  I don't know if this is a bug
in Solaris sed or the script.


On an Alpha running Linux (Linux 2.0, Redhat 4.0):

2: GNU C reports an error:
	src/appl/gssftp/ftpd/popen.c:188: union has no member named `w_status'
The source code expects WAIT_USES_INT to be defined, but it is not.

3: src/lib/rpc/svc_udp.c casts the integer return value of mem_alloc
to a pointer.  This will fail because pointers and integers are not
the same size.  It appears that mem_alloc is #defined to be malloc,
but malloc is never declared (even though really does return a
pointer, because the compiler thinks it returns int the return value
will be truncated to 32 bits).  The #ifdef __osf__ in types.hin should
instead be conditional on stdlib.h existing, which autoconf can
detect.

4: src/util/pty/update_wtmp.c:74 a call to time passes the wrong type
argument.  ut.ut_time is an int and time_t is a long.  You may have
to use a temporary or #ifdef for portability.

5: On Linux, system header files define a __P macro; so does
src/util/db2/include/db.h.  The compiler prints a warning.
db.h should #undef __P before defining it.

6: src/appl/gssftp/ftpd/logwtmp.c defines a function logwtmp.  This is
declared differently in <utmp.h> (const char * arguments instead of
char *).  This file should not be compiled on Linux.  Instead -lutil
should be linked.



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