Skip Menu |
 

Download (untitled) / with headers
text/plain 4.5KiB
From tyme@dreams.res.cmu.edu Mon Feb 22 21:10:45 1999
Received: from MIT.EDU (PACIFIC-CARRIER-ANNEX.MIT.EDU [18.69.0.28]) by rt-11.MIT.EDU (8.7.5/8.7.3) with SMTP id VAA05786 for <bugs@RT-11.MIT.EDU>; Mon, 22 Feb 1999 21:10:45 -0500
Received: from DREAMS.RES.CMU.EDU by MIT.EDU with SMTP
id AA17660; Mon, 22 Feb 99 21:11:15 EST
Received: from localhost (tyme@localhost)
by dreams.res.cmu.edu (8.9.3/8.9.3) with ESMTP id VAA08007
for <krb5-bugs@mit.edu>; Mon, 22 Feb 1999 21:10:43 -0500
Message-Id: <Pine.LNX.4.10.9902221936270.7961-100000@dreams.res.cmu.edu>
Date: Mon, 22 Feb 1999 21:10:42 -0500 (EST)
From: Mad Cap <tyme@dreams.res.cmu.edu>
To: krb5-bugs@MIT.EDU
In-Reply-To: <199902230024.TAA20426@saint-elmos-fire>
Subject: Re: subscribe krbdev

Show quoted text
>Number: 693
>Category: telnet
>Synopsis: telnetd porting (glibc) questions
>Confidential: no
>Severity: serious
>Priority: medium
>Responsible: krb5-unassigned
>State: open
>Class: sw-bug
>Submitter-Id: unknown
>Arrival-Date: Mon Feb 22 21:11:00 EST 1999
>Last-Modified: Fri Sep 14 13:32:12 EDT 2001
>Originator: Mad Cap <tyme@dreams.res.cmu.edu>
>Organization:
>Release:
>Environment:
>Description:
Essentially I have questions about porting telnetd to glibc2.1 correctly,
and possibly other parts of krb5 that haven't gotten compiled yet because
of the compile being stuck on telnetd.

Two minor problems before telnetd were that
krb5-1.0.5/src/lib/rpc/svc.c has two references to the fds_bits
member of fd_set, though bits/types.h has:

/* fd_set for select and pselect. */
typedef struct
{
/* XPG4.2 requires this member name. Otherwise avoid the name
from the global namespace. */
#ifdef __USE_XOPEN
__fd_mask fds_bits[__FD_SETSIZE / __NFDBITS];
# define __FDS_BITS(set) ((set)->fds_bits)
#else
__fd_mask __fds_bits[__FD_SETSIZE / __NFDBITS];
# define __FDS_BITS(set) ((set)->__fds_bits)
#endif
} __fd_set;

(somewhere else there is a #define fd_set __fd_set)

apparently __USE_XOPEN isn't defined, so I've just been renaming the
fd_set variables in the svc.c to __fd_set.


There are also problems with the wtmpx references,

update_wtmp.c:54: `WTMPX_FILE' undeclared (first use in this function)
--
a simple fix for this is to #define WTMPX_FILE WTMP_FILE near the
beginning of update_wtmp.c

from utmpx.h:

#ifdef __USE_GNU
/* Compatibility names for the strings of the canonical file names. */
# define UTMPX_FILE _PATH_UTMPX
# define UTMPX_FILENAME _PATH_UTMPX
# define WTMPX_FILE _PATH_WTMPX
# define WTMPX_FILENAME _PATH_WTMPX
#endif

there are like 3 or 4 "stacked" definitions past this, but eventually
it works out that UTMPX_FILE == UTMP_FILE


After this, I'm not sure if my "fixes" are actually valid.

../../lib/libpty.a(update_wtmp.o): In function `ptyint_update_wtmp':
update_wtmp.o(.text+0x15): undefined reference to `getutmpx'

commenting out the relevant #if section of
krb5-current/src/util/pty/update_wtmp.c (lines 44-55) and
forcing lines 58-61 instead (going against the HAVE_<blah> variables
configure defined) solves the compile problem, but I'm not sure if other
runtime problems are introduced.


The problem I haven't figured out yet is this:
telnetd.c:93: sys/stream.h: No such file or directory

the only stream.h I've found on my glibc2.1 + egcs 1.1.1 systems is the
c++ one in /usr/include/g++. I also haven't found it on one of CMU's
sun shellboxen.

commenting that #include out shows what was needed from stream.h:

telnetd.c: In function `readstream':
telnetd.c:1543: `M_DATA' undeclared (first use in this function)
telnetd.c:1543: (Each undeclared identifier is reported only once
telnetd.c:1543: for each function it appears in.)
telnetd.c:1559: `M_FLUSH' undeclared (first use in this function)
telnetd.c:1564: `M_IOCTL' undeclared (first use in this function)
telnetd.c:1566: dereferencing pointer to incomplete type
telnetd.c:1568: dereferencing pointer to incomplete type
telnetd.c:1560: warning: unreachable code at beginning of switch
statement

There are similar problems with stream.h in other source files in the
krb5-current/src/appl/telnet/telnetd/ directory


Any ideas on how to get around not having stream.h?


Thanks,
Justin

Show quoted text
>How-To-Repeat:
>Fix:
>Audit-Trail:

Responsible-Changed-From-To: gnats-admin->krb5-unassigned
Responsible-Changed-By: raeburn
Responsible-Changed-When: Fri Sep 14 13:32:08 2001
Responsible-Changed-Why:
reformat/refile
Show quoted text
>Unformatted: