Package: libc6; Maintainer for libc6 is GNU Libc Maintainers <debian-glibc@lists.debian.org>; Source for libc6 is src:glibc (PTS, buildd, popcon).
Reported by: Christoph Lameter <clameter@fuller.edu>
Date: Tue, 15 Jul 1997 19:18:04 UTC
Severity: normal
Fixed in version glibc/2.1.94-1
Done: Ben Collins <bcollins@debian.org>
Bug is archived. No further changes may be made.
View this report as an mbox folder, status mbox, maintainer mbox
Report forwarded to debian-bugs-dist@lists.debian.org, Peter Tobias <tobias@et-inf.fho-emden.de>
:
Bug#11300
; Package netstd
.
(full text, mbox, link).
Acknowledgement sent to Christoph Lameter <clameter@fuller.edu>
:
New bug report received and forwarded. Copy sent to Peter Tobias <tobias@et-inf.fho-emden.de>
.
(full text, mbox, link).
Message #5 received at submit@bugs.debian.org (full text, mbox, reply):
Package: netstd Version: 2.13-1 Since a long time I am running a specially patched rlogin version for one of our hosts which redirects incoming calls from serial ports to a shell server. I had hoped that 1.3.X would cure it but I got the same complaints again about connections not being established. I am running a special rcmd.c linked into rlogin which I got from Miquel a while back. He said that he hoped the fixes would make it into a future libc version. Seems that they did not. The trouble is with a port being blocked somehow and rlogin always hitting on the same port on retries. I have had this lots of times also on my home setup where I just abort the attempt and retry which usually makes it work. /* * Copyright (c) 1983, 1993, 1994 * The Regents of the University of California. All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * 1. Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * 3. All advertising materials mentioning features or use of this software * must display the following acknowledgement: * This product includes software developed by the University of * California, Berkeley and its contributors. * 4. Neither the name of the University nor the names of its contributors * may be used to endorse or promote products derived from this software * without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. */ #if defined(LIBC_SCCS) && !defined(lint) static char sccsid[] = "@(#)rcmd.c 8.3 (Berkeley) 3/26/94"; #endif /* LIBC_SCCS and not lint */ #include "inetprivate.h" #include <paths.h> #include <pwd.h> #include <sys/file.h> #include <sys/signal.h> #include <sys/stat.h> #if NLS #include "nl_types.h" #endif #ifdef YP #include <rpcsvc/ypclnt.h> extern void setnetgrent(const char *); extern void endnetgrent(void); extern int getnetgrent(char **, char **, char **); static char *nisdomain = NULL; static int __ichecknetgrouphost(u_long, const char *); static int _checknetgroupuser(const char *, const char *); #endif int rcmd(ahost, rport, locuser, remuser, cmd, fd2p) char **ahost; u_short rport; const char *locuser, *remuser, *cmd; int *fd2p; { struct hostent *hp; struct sockaddr_in sin, from; fd_set reads; #ifdef _POSIX_SOURCE sigset_t set, oset; #else long oldmask; #endif int s, lport, timo; #ifdef F_SETOWN pid_t pid; #endif char c; #ifdef __linux__ int retries = 0; #endif #if NLS libc_nls_init(); #endif #ifdef F_SETOWN pid = getpid(); #endif hp = gethostbyname(*ahost); if (hp == 0) { #if NLS fprintf(stderr, "%s: %s\n", *ahost, catgets(_libc_cat, HerrorListSet, 2, "unknown host")); #else fprintf(stderr, "%s: unknown host\n", *ahost); #endif return (-1); } *ahost = hp->h_name; #ifdef SIGURG #ifdef _POSIX_SOURCE sigemptyset (&set); sigaddset (&set, SIGURG); sigprocmask (SIG_BLOCK, &set, &oset); #else oldmask = sigblock(sigmask(SIGURG)); #endif #endif for (timo = 1, lport = IPPORT_RESERVED - 1;;) { s = rresvport(&lport); if (s < 0) { if (errno == EAGAIN) #if NLS fprintf(stderr, "socket: %s\n", catgets(_libc_cat, NetMiscSet, NetMiscAllPortsInUse, "All ports in use")); #else fprintf(stderr, "socket: All ports in use\n"); #endif else #if NLS perror(catgets(_libc_cat, NetMiscSet, NetMiscRcmdSocket, "rcmd: socket")); #else perror("rcmd: socket"); #endif #ifdef SIGURG #ifdef _POSIX_SOURCE sigprocmask (SIG_SETMASK, &oset, (sigset_t *)NULL); #else sigsetmask(oldmask); #endif #endif return (-1); } #ifdef F_SETOWN fcntl(s, F_SETOWN, pid); #endif sin.sin_family = hp->h_addrtype; bcopy(hp->h_addr_list[0], (caddr_t)&sin.sin_addr, hp->h_length); sin.sin_port = rport; if (connect(s, (struct sockaddr *)&sin, sizeof (sin)) >= 0) break; (void) close(s); if (errno == EADDRINUSE) { lport--; continue; } #ifdef __linux__ /* * EADDRINUSE on ICMP level is ECONNREFUSED * -- miquels@cistron.nl */ if (errno == ECONNREFUSED && retries < 16) { lport--; retries++; continue; } retries = 0; #endif if (errno == ECONNREFUSED && timo <= 16) { sleep(timo); timo *= 2; continue; } if (hp->h_addr_list[1] != NULL) { int oerrno = errno; fprintf(stderr, #if NLS "%s %s: ", catgets(_libc_cat, NetMiscSet, NetMiscAllPortsInUse, "connect to address"), inet_ntoa(sin.sin_addr)); #else "connect to address %s: ", inet_ntoa(sin.sin_addr)); #endif errno = oerrno; perror(0); hp->h_addr_list++; bcopy(hp->h_addr_list[0], (caddr_t)&sin.sin_addr, hp->h_length); #if NLS fprintf(stderr, catgets(_libc_cat, NetMiscSet, NetMiscTrying, "Trying %s...\n"), #else fprintf(stderr, "Trying %s...\n", #endif inet_ntoa(sin.sin_addr)); continue; } perror(hp->h_name); #ifdef SIGURG #ifdef _POSIX_SOURCE sigprocmask (SIG_SETMASK, &oset, (sigset_t *)NULL); #else sigsetmask(oldmask); #endif #endif return (-1); } lport--; if (fd2p == 0) { write(s, "", 1); lport = 0; } else { char num[8]; int s2 = rresvport(&lport), s3; int len = sizeof (from); if (s2 < 0) goto bad; listen(s2, 1); (void) sprintf(num, "%d", lport); /* void) snprintf(num, sizeof(num), "%d", lport); XXX */ if (write(s, num, strlen(num)+1) != strlen(num)+1) { #if NLS perror(catgets(_libc_cat, NetMiscSet, NetMiscSettingUpStderr, "write: setting up stderr")); #else perror("write: setting up stderr"); #endif (void) close(s2); goto bad; } FD_ZERO(&reads); FD_SET(s, &reads); FD_SET(s2, &reads); errno = 0; if (select(1 + (s > s2 ? s : s2), &reads, 0, 0, 0) < 1 || !FD_ISSET(s2, &reads)) { if (errno != 0) #if NLS perror(catgets(_libc_cat, NetMiscSet, NetMiscSelectSetup, "rcmd: select (setting up stderr)")); #else perror("rcmd: select (setting up stderr): "); #endif else fprintf(stderr, #if NLS "%s\n", catgets(_libc_cat, NetMiscSet, NetMiscRcmdProtocolError, "select: protocol failure in circuit setup")); #else "select: protocol failure in circuit setup.\n"); #endif (void)close(s2); goto bad; } s3 = accept(s2, (struct sockaddr *)&from, &len); (void) close(s2); if (s3 < 0) { #if NLS perror(catgets(_libc_cat, NetMiscSet, NetMiscAccept, "accept")); #else perror("accept"); #endif lport = 0; goto bad; } *fd2p = s3; from.sin_port = ntohs((u_short)from.sin_port); if (from.sin_family != AF_INET || from.sin_port >= IPPORT_RESERVED || from.sin_port < IPPORT_RESERVED / 2) { fprintf(stderr, #if NLS "%s\n", catgets(_libc_cat, NetMiscSet, NetMiscProtocolFailure, "socket: protocol failure in circuit setup.")); #else "socket: protocol failure in circuit setup.\n"); #endif goto bad2; } } (void) write(s, locuser, strlen(locuser)+1); (void) write(s, remuser, strlen(remuser)+1); (void) write(s, cmd, strlen(cmd)+1); if (read(s, &c, 1) != 1) { perror(*ahost); goto bad2; } if (c != 0) { while (read(s, &c, 1) == 1) { (void) write(STDERR_FILENO, &c, 1); if (c == '\n') break; } goto bad2; } #ifdef SIGURG #ifdef _POSIX_SOURCE sigprocmask (SIG_SETMASK, &oset, (sigset_t *)NULL); #else sigsetmask(oldmask); #endif #endif return (s); bad2: if (lport) (void) close(*fd2p); bad: (void) close(s); #ifdef SIGURG #ifdef _POSIX_SOURCE sigprocmask (SIG_SETMASK, &oset, (sigset_t *)NULL); #else sigsetmask(oldmask); #endif #endif return (-1); } int rresvport(alport) int *alport; { struct sockaddr_in sin; int s; sin.sin_family = AF_INET; sin.sin_addr.s_addr = INADDR_ANY; s = socket(AF_INET, SOCK_STREAM, 0); if (s < 0) return (-1); for (;;) { sin.sin_port = htons((u_short)*alport); if (bind(s, (struct sockaddr *)&sin, sizeof (sin)) >= 0) return (s); if (errno != EADDRINUSE) { (void) close(s); return (-1); } (*alport)--; if (*alport == IPPORT_RESERVED/2) { (void) close(s); errno = EAGAIN; /* close */ return (-1); } } } int __check_rhosts_file = 1; char *__rcmd_errstr; int ruserok(const char *rhost, int superuser, const char *ruser, const char *luser) { struct hostent *hp; u_long addr; char **ap; if ((hp = gethostbyname(rhost)) == NULL) return (-1); for (ap = hp->h_addr_list; *ap; ++ap) { bcopy(*ap, &addr, sizeof(addr)); if (iruserok(addr, superuser, ruser, luser) == 0) return (0); } return (-1); } /* * New .rhosts strategy: We are passed an ip address. We spin through * hosts.equiv and .rhosts looking for a match. When the .rhosts only * has ip addresses, we don't have to trust a nameserver. When it * contains hostnames, we spin through the list of addresses the nameserver * gives us and look for a match. * * Returns 0 if ok, -1 if not ok. */ int iruserok(u_long raddr, int superuser, const char *ruser, const char *luser) { register char *cp; struct stat sbuf; struct passwd *pwd; FILE *hostf; uid_t uid; int first = 1; char pbuf[MAXPATHLEN]; first = 1; hostf = superuser ? NULL : fopen(_PATH_HEQUIV, "r"); again: if (hostf) { if (__ivaliduser(hostf, raddr, luser, ruser) == 0) { (void) fclose(hostf); return(0); } (void) fclose(hostf); } if (first == 1 && (__check_rhosts_file || superuser)) { first = 0; if ((pwd = getpwnam(luser)) == NULL) return(-1); (void)strcpy(pbuf, pwd->pw_dir); (void)strcat(pbuf, "/.rhosts"); /* * Change effective uid while opening .rhosts. If root and * reading an NFS mounted file system, can't read files that * are protected read/write owner only. */ uid = geteuid(); (void)seteuid(pwd->pw_uid); hostf = fopen(pbuf, "r"); (void)seteuid(uid); if (hostf == NULL) return(-1); /* * If not a regular file, or is owned by someone other than * user or root or if writeable by anyone but the owner, quit. */ cp = NULL; if (lstat(pbuf, &sbuf) < 0) #if NLS cp = catgets(_libc_cat, NetMiscSet, NetMiscRhostLstat, ".rhosts not regular file"); #else cp = ".rhosts not regular file"; #endif else if (!S_ISREG(sbuf.st_mode)) #if NLS cp = catgets(_libc_cat, NetMiscSet, NetMiscRhostNotRegular, ".rhosts not regular file"); #else cp = ".rhosts not regular file"; #endif else if (fstat(fileno(hostf), &sbuf) < 0) #if NLS cp = catgets(_libc_cat, NetMiscSet, NetMiscRhostFstatFailed, ".rhosts fstat failed"); #else cp = ".rhosts fstat failed"; #endif else if (sbuf.st_uid && sbuf.st_uid != pwd->pw_uid) #if NLS cp = catgets(_libc_cat, NetMiscSet, NetMiscBadRhostsOwner, "bad .rhosts owner"); #else cp = "bad .rhosts owner"; #endif else if (sbuf.st_mode & (S_IWGRP|S_IWOTH)) #if NLS cp = catgets(_libc_cat, NetMiscSet, NetMiscRhostWritable, ".rhosts writeable by other than owner"); #else cp = ".rhosts writeable by other than owner"; #endif /* If there were any problems, quit. */ if (cp) { __rcmd_errstr = cp; fclose(hostf); return(-1); } goto again; } return (-1); } /* * XXX * Don't make static, used by lpd(8). * * Returns 0 if ok, -1 if not ok. */ int __ivaliduser(FILE *hostf, u_long raddr, const char *luser, const char *ruser) { register char *user, *p; int ch; char buf[MAXHOSTNAMELEN + 128]; /* host + login */ #ifdef YP int hostvalid = 0; int uservalid = 0; #endif while (fgets(buf, sizeof (buf), hostf)) { p = buf; /* Skip lines that are too long. */ if (strchr(p, '\n') == NULL) { while ((ch = getc(hostf)) != '\n' && ch != EOF); continue; } while (*p != '\n' && *p != ' ' && *p != '\t' && *p != '\0') { /* *p = isupper(*p) ? tolower(*p) : *p; -- Uli */ *p = tolower(*p); /* works for linux libc */ p++; } if (*p == ' ' || *p == '\t') { *p++ = '\0'; while (*p == ' ' || *p == '\t') p++; user = p; while (*p != '\n' && *p != ' ' && *p != '\t' && *p != '\0') p++; } else user = p; *p = '\0'; #ifdef YP /* disable host from -hostname entry */ if ('-' == buf[0] && '@' != buf[1] && __icheckhost(raddr, &buf[1])) return -1; /* disable host from -@netgroup entry for host */ if ('-' == buf[0] && '@' == buf[1] && '\0' != buf[2] && __ichecknetgrouphost(raddr, &buf[2])) return -1; /* disable user from -user entry */ if ('\0' != *user && user[0] == '-' && user[1] != '@' && !strcmp(&user[1], ruser)) return -1; /* disable user from -@netgroup entry for user */ if ('\0' != *user && user[0] == '-' && user[1] == '@' && user[2] != '\0' && _checknetgroupuser(ruser, &user[2])) return -1; /* enable host from +@netgroup entry for host */ if ('+' == buf[0] && '@' == buf[1] && '\0' != buf[2]) hostvalid = __ichecknetgrouphost(raddr, &buf[2]); else hostvalid = __icheckhost(raddr, buf); /* enable user from +@netgroup entry for user */ if ('\0' != *user && user[0] == '+' && user[1] == '@' && user[2] != '\0') uservalid = _checknetgroupuser(ruser, &user[2]); else uservalid = !strcmp(ruser, *user ? user : luser); if (hostvalid && uservalid) return 0; #else if (__icheckhost(raddr, buf) && !strcmp(ruser, *user ? user : luser)) { return (0); } #endif /* YP */ } return (-1); } /* * Returns "true" if match, 0 if no match. */ int __icheckhost(u_long raddr, register char *lhost) { register struct hostent *hp; register u_long laddr; register char **pp; /* Try for raw ip address first. */ if (isdigit(*lhost) && (long)(laddr = inet_addr(lhost)) != -1) return (raddr == laddr); /* Better be a hostname. */ if ((hp = gethostbyname(lhost)) == NULL) return (0); /* Spin through ip addresses. */ for (pp = hp->h_addr_list; *pp; ++pp) if (!bcmp(&raddr, *pp, sizeof(u_long))) return (1); /* No match. */ return (0); } #ifdef YP static int __ichecknetgrouphost(u_long raddr, const char *netgr) { char *host, *user, *domain; int status; if (NULL == nisdomain) yp_get_default_domain(&nisdomain); setnetgrent(netgr); while (1) { while (1 == (status = getnetgrent(&host, &user, &domain)) && NULL == host && NULL != domain && 0 != strcmp(domain, nisdomain)) ; /* find valid host entry */ if (0 == status || NULL == host) { endnetgrent(); return 0; } if(__icheckhost(raddr, host)) { endnetgrent(); return 1; } } } static int _checknetgroupuser(const char *ruser, const char *netgr) { char *host, *user, *domain; int status; if (NULL == nisdomain) yp_get_default_domain(&nisdomain); setnetgrent(netgr); while (1) { while (1 == (status = getnetgrent(&host, &user, &domain)) && NULL == user && NULL != domain && 0 != strcmp(domain, nisdomain)) ; /* find valid user entry */ if (0 == status || NULL == user) { endnetgrent(); return 0; } if(0 == strcmp(ruser, user)) { endnetgrent(); return 1; } } } #endif /* YP */ -- System Information Debian Release: 1.3 Kernel Version: Linux hur 2.0.29 #23 Fri Mar 7 09:58:52 PST 1997 i586 unknown Versions of the packages netstd depends on: cpp Version: 2.7.2.1-8 libc5 Version: 5.4.23-3 libreadline2 Version: 2.1-2 ncurses3.0 Version: 1.9.9e-1 netbase Version: 2.13-1
Information forwarded to debian-bugs-dist@lists.debian.org
:
Bug#11300
; Package netstd
.
(full text, mbox, link).
Acknowledgement sent to Peter Tobias <tobias@et-inf.fho-emden.de>
:
Extra info received and forwarded to list.
(full text, mbox, link).
Message #10 received at 11300@bugs.debian.org (full text, mbox, reply):
On Jul 15, Christoph Lameter wrote: > Package: netstd > Version: 2.13-1 > > Since a long time I am running a specially patched rlogin version for one of our > hosts which redirects incoming calls from serial ports to a shell server. I had hoped that > 1.3.X would cure it but I got the same complaints again about connections not being > established. > > I am running a special rcmd.c linked into rlogin which I got from Miquel a while back. > He said that he hoped the fixes would make it into a future libc version. Seems that they > did not. The trouble is with a port being blocked somehow and rlogin always hitting on > the same port on retries. I have had this lots of times also on my home setup where I just > abort the attempt and retry which usually makes it work. Why do you report it as a bug against netstd? It's clearly a bug in the libc package(s) so you should report it as a libc bug. If you send the libc maintainer context diffs with the changes I'm sure he will add them as soon as possible. Linking your modified rmcd version to rlogin would be a bad idea. As you already said you're already running a patched rlogin version so I assume you're seeking for a permanent fix. Linking the rcmd function to rlogin wouldn't be a permanent solution. Another problem is that this would only affect rlogin. Other r-tools would use a different rcmd ... very bad. If there are no objections I'll reassign it to libc6. Thanks, Peter -- Peter Tobias <tobias@et-inf.fho-emden.de> <tobias@debian.org> <tobias@linux.de> PGP ID EFAA400D, fingerprint = 06 89 EB 2E 01 7C B4 02 04 62 89 6C 2F DD F1 3C
Information forwarded to debian-bugs-dist@lists.debian.org, Peter Tobias <tobias@et-inf.fho-emden.de>
:
Bug#11300
; Package netstd
.
(full text, mbox, link).
Acknowledgement sent to Christoph Lameter <clameter@waterf.org>
:
Extra info received and forwarded to list. Copy sent to Peter Tobias <tobias@et-inf.fho-emden.de>
.
(full text, mbox, link).
Message #15 received at 11300@bugs.debian.org (full text, mbox, reply):
No problem with reassigning the bug. The problem surfaces with rlogin primarily though and might be related to how connections are handled on the receiving side by rlogind or the kernel. There is such a wide variety of factors here that I really do not know how to approach it. I just know that the fix from Miquel does away with the problem. Dont know if this is the correct way to approach the problem though. On Tue, 15 Jul 1997, Peter Tobias wrote: >On Jul 15, Christoph Lameter wrote: >> Package: netstd >> Version: 2.13-1 >> >> Since a long time I am running a specially patched rlogin version for one of our >> hosts which redirects incoming calls from serial ports to a shell server. I had hoped that >> 1.3.X would cure it but I got the same complaints again about connections not being >> established. >> >> I am running a special rcmd.c linked into rlogin which I got from Miquel a while back. >> He said that he hoped the fixes would make it into a future libc version. Seems that they >> did not. The trouble is with a port being blocked somehow and rlogin always hitting on >> the same port on retries. I have had this lots of times also on my home setup where I just >> abort the attempt and retry which usually makes it work. > >Why do you report it as a bug against netstd? It's clearly a bug in the >libc package(s) so you should report it as a libc bug. If you send the >libc maintainer context diffs with the changes I'm sure he will add them >as soon as possible. > >Linking your modified rmcd version to rlogin would be a bad idea. As you >already said you're already running a patched rlogin version so I assume >you're seeking for a permanent fix. Linking the rcmd function to rlogin >wouldn't be a permanent solution. Another problem is that this would only >affect rlogin. Other r-tools would use a different rcmd ... very bad. > >If there are no objections I'll reassign it to libc6. > > >Thanks, > >Peter > >-- >Peter Tobias <tobias@et-inf.fho-emden.de> <tobias@debian.org> <tobias@linux.de> >PGP ID EFAA400D, fingerprint = 06 89 EB 2E 01 7C B4 02 04 62 89 6C 2F DD F1 3C > --- +++ --- +++ --- +++ --- +++ --- +++ --- +++ --- +++ ---
Bug reassigned from package `netstd' to `libc6'.
Request was from Peter Tobias <tobias@et-inf.fho-emden.de>
to control@bugs.debian.org
.
(full text, mbox, link).
Reply sent to Ben Collins <bcollins@debian.org>
:
You have taken responsibility.
(full text, mbox, link).
Notification sent to Christoph Lameter <clameter@fuller.edu>
:
Bug acknowledged by developer.
(full text, mbox, link).
Message #22 received at 11300-close@bugs.debian.org (full text, mbox, reply):
We believe that the bug you reported is fixed in the latest version of glibc, which has been installed in the Debian FTP archive: glibc_2.1.94-1.diff.gz to dists/woody/main/source/libs/glibc_2.1.94-1.diff.gz replacing glibc_2.1.3-10.diff.gz glibc_2.1.94-1.dsc to dists/woody/main/source/libs/glibc_2.1.94-1.dsc replacing glibc_2.1.3-10.dsc nscd_2.1.94-1_i386.deb to dists/woody/main/binary-i386/admin/nscd_2.1.94-1.deb replacing nscd_2.1.3-10.deb i18ndata_2.1.94-1_all.deb to dists/woody/main/binary-all/admin/i18ndata_2.1.94-1.deb replacing i18ndata_2.1.3-10.deb libc6-pic_2.1.94-1_i386.deb to dists/woody/main/binary-i386/devel/libc6-pic_2.1.94-1.deb replacing libc6-pic_2.1.3-10.deb libc6-dbg_2.1.94-1_i386.deb to dists/woody/main/binary-i386/devel/libc6-dbg_2.1.94-1.deb replacing libc6-dbg_2.1.3-10.deb libc6-dev_2.1.94-1_i386.deb to dists/woody/main/binary-i386/devel/libc6-dev_2.1.94-1.deb replacing libc6-dev_2.1.3-10.deb libc6_2.1.94-1_i386.deb to dists/woody/main/binary-i386/base/libc6_2.1.94-1.deb replacing libc6_2.1.3-10.deb glibc-doc_2.1.94-1_all.deb to dists/woody/main/binary-all/doc/glibc-doc_2.1.94-1.deb replacing glibc-doc_2.1.3-10.deb locales_2.1.94-1_i386.deb to dists/woody/main/binary-i386/admin/locales_2.1.94-1.deb replacing locales_2.1.3-10.deb glibc_2.1.94.orig.tar.gz to dists/woody/main/source/libs/glibc_2.1.94.orig.tar.gz replacing glibc_2.1.3.orig.tar.gz libc6-prof_2.1.94-1_i386.deb to dists/woody/main/binary-i386/devel/libc6-prof_2.1.94-1.deb replacing libc6-prof_2.1.3-10.deb Note that this package is not part of the released stable Debian distribution. It may have dependencies on other unreleased software, or other instabilities. Please take care if you wish to install it. The update will eventually make its way into the next released Debian distribution. A summary of the changes between this version and the previous one is attached. Thank you for reporting the bug, which will now be closed. If you have further comments please address them to 11300@bugs.debian.org, and the maintainer will reopen the bug report if appropriate. Debian distribution maintenance software pp. Ben Collins <bcollins@debian.org> (supplier of updated glibc package) (This message was generated automatically at their request; if you believe that there is a problem with it please contact the archive administrators by mailing ftpmaster@debian.org) -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Format: 1.6 Date: Mon, 25 Sep 2000 11:30:45 -0400 Source: glibc Binary: locales libc0.2-dbg glibc-doc nscd libc6.1-dbg libc0.2 libc6-dbg libc0.2-prof libc6.1 libc6 libc0.2-pic libc6.1-prof libc6-prof libc0.2-dev libc6.1-pic libc6-pic i18ndata libc6.1-dev libc6-dev Architecture: source all i386 Version: 2.1.94-1 Distribution: unstable Urgency: low Maintainer: Ben Collins <bcollins@debian.org> Description: glibc-doc - GNU C Library: Documentation i18ndata - GNU C Library: National Language (locale) data [source] libc6 - GNU C Library: Shared libraries and Timezone data libc6-dbg - GNU C Library: Libraries with debugging symbols libc6-dev - GNU C Library: Development Libraries and Header Files. libc6-pic - GNU C Library: PIC archive library libc6-prof - GNU C Library: Profiling Libraries. locales - GNU C Library: National Language (locale) data [binary] nscd - GNU C Library: Name Service Cache Daemon Closes: 11300 17874 19264 20973 22301 26514 30987 32345 33759 35049 45903 46547 47560 48713 54154 61497 64865 65276 65683 65684 Changes: glibc (2.1.94-1) unstable; urgency=low . * New maintainer, "Lector, si monumentum requiris, circumspice" * New upstream version, pre 2.2 now - crypt is now in glibc source, so is not a seperate tarball - removed nss1 compat tarball - db2 is gone aswell - without db2, upstream split nss_db from main source (*sigh*) * Added inetd to list of services to restart * modfl/fmodl: documented in info pages, closes: #17874 * Just a quick list of bugs that I can verify do not exist any longer, closes: #45903, #26514, #46547, #32345, #30987, #48713 * fcloseall: in the case of stdio/fcloseall.c, yes, it only ever returns success. However, we use libio/fcloseall.c, who does in fact have a chance to return EOF, closes: #20973 * libio/libio.h: shows that the Stream Hooks do in fact take (void *) as the first argument as shown in the protos, closes: #61497 * trunc/floor: documented correctly in this release, closes: #65683, #65684 * Hurd maintainers say this can be closed, closes: #54154 * I'm pretty sure this isn't an issue anymore, else potato wouldn't be releasing, closes: #35049 * Sorry this isn't a glibc bug. The kernel handles error returns on a failed executable. Most likely this is bin_interp's problem, but I seriously doubt it will be fixed because of conventions, standards and the like, closes: #22301 * keyenvoy: no longer compiled for linux (it seems), closes: #47560 * infnan: is defined now, closes: #19264 * libc5 bug, no longer applies, closes: #11300 * Make sure we copy over asm-sparc for sparc aswell as "generate-asm.sh" script used to generate /usr/include/asm * Disable parallel build on sparc (broken for some reason, might not be sparc specific) * devpts.sh: used a more devfs friendly version from bug submitter, closes: #65276 * libc/postinst: cannot reproduce problem, appears to be user error, closes: #64865 * glibc-doc: this bug is no longer valid, closes: #33759 * We now use ldconfig from libc6 for all archs, ldso will conform. * Change build deps to just "kernel-headers" for non-Hurd archs. With mips and other coming down the pipe, this is bound to get ugly if we specify the particular version for each. * Add checks to automatically detect proper kernel-headers, error out otherwise. * hurd: add Depends: hurd (>= 20000803) for libc0.2 * libpthread: soname version is now 0.9 * debian/libc/DEBIAN/shlibs: bump to 2.1.94 * libc6: add temporary depend on libdb2 * debian/rules: check for FAKEROOTKEY, and fail if it's there. We cannot build under fakeroot, we need real rewt. Fear my hacking skillz. Files: b12264380255b85ab75cd9f2ad251d6a 1056 libs required glibc_2.1.94-1.dsc aa9e35f334b7e101e2e463240c90dd42 8990988 libs required glibc_2.1.94.orig.tar.gz 01126069e02a4636ebf0832d80708c2c 115450 libs required glibc_2.1.94-1.diff.gz e4a40dc28035546ff79b766b5d583129 2426038 base required libc6_2.1.94-1_i386.deb 28434da6d804129d3a6ad7cc996c9ab4 1951728 devel standard libc6-dev_2.1.94-1_i386.deb ae86035879e9414a8782876d23a2b083 866092 devel extra libc6-prof_2.1.94-1_i386.deb 34e6307a87e92156bf59fd41548c33cb 2209020 devel extra libc6-dbg_2.1.94-1_i386.deb a6c5521f539f1fb61eee4e10794b89d5 764650 devel extra libc6-pic_2.1.94-1_i386.deb 53b85af2289f6d01ad1d3f2edd0d8a5f 566098 admin standard locales_2.1.94-1_i386.deb 48093f5ff5d413a700b1f5f4954963f7 35056 admin optional nscd_2.1.94-1_i386.deb ee2f0c9080783cd3fdb06c2c0fcca3e0 2393990 admin extra i18ndata_2.1.94-1_all.deb 066a2096aca1fd7dca507ba5bd4ebb2b 2460542 doc optional glibc-doc_2.1.94-1_all.deb -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.0.2 (GNU/Linux) Comment: Some people are fools, some are just foolish iD8DBQE50BMpfNc/ZB4E7C0RAm6aAKCQV5z2RaPrdAs+qsnRxu8Ianvz5ACfcZNs acsm0HMD7EU25DHZbHLSMuQ= =RpJU -----END PGP SIGNATURE-----
Send a report that this bug log contains spam.
Debbugs is free software and licensed under the terms of the GNU Public License version 2. The current version can be obtained from https://bugs.debian.org/debbugs-source/.
Copyright © 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson, 2005-2017 Don Armstrong, and many other contributors.