r1831 - in glibc-package/branches/glibc-2.5/debian: . patches patches/any
Author: aurel32
Date: 2006-10-01 23:31:18 +0000 (Sun, 01 Oct 2006)
New Revision: 1831
Removed:
glibc-package/branches/glibc-2.5/debian/patches/any/local-ttyname-devfs.diff
Modified:
glibc-package/branches/glibc-2.5/debian/changelog
glibc-package/branches/glibc-2.5/debian/patches/series
Log:
* Remove any/local-ttyname-devfs.diff (devfs is not supported anymore).
Modified: glibc-package/branches/glibc-2.5/debian/changelog
===================================================================
--- glibc-package/branches/glibc-2.5/debian/changelog 2006-10-01 23:27:15 UTC (rev 1830)
+++ glibc-package/branches/glibc-2.5/debian/changelog 2006-10-01 23:31:18 UTC (rev 1831)
@@ -21,12 +21,11 @@
* Remove any/cvs-uio_h.diff (merged upstream).
* Remove any/submitted-strfmon.diff (merged upstream).
* Remove all/submitted-uninitialized-byte-LC_CTYPE.diff (merged upstream).
+ * Remove any/local-ttyname-devfs.diff (devfs is not supported anymore).
* Update arm/local-no-hwcap.diff.
* Update any/local-ldso-disable-hwcap.diff.
* debhelper.in/libc.docs: remove INTERFACE as it has been removed upstream.
- * *Temporarily* disable the following patches, they need to be ported:
- - all/submitted-new-brf-encoding.diff
- - any/local-ttyname-devfs.diff
+ * *Temporarily* disable all/submitted-new-brf-encoding.diff it needs to be ported.
[ Denis Barbier ]
* Remove localedata/locale-en_NZ.diff (merged upstream).
Deleted: glibc-package/branches/glibc-2.5/debian/patches/any/local-ttyname-devfs.diff
===================================================================
--- glibc-package/branches/glibc-2.5/debian/patches/any/local-ttyname-devfs.diff 2006-10-01 23:27:15 UTC (rev 1830)
+++ glibc-package/branches/glibc-2.5/debian/patches/any/local-ttyname-devfs.diff 2006-10-01 23:31:18 UTC (rev 1831)
@@ -1,228 +0,0 @@
-# DP: Fixes ttyname and ttyname_r in the case of being used in a setuid
-# DP: application on a devfs system.
-
---- sysdeps/unix/sysv/linux/ttyname_r.c~ 2001/07/06 04:56:13 1.14
-+++ sysdeps/unix/sysv/linux/ttyname_r.c 2002/01/06 02:27:48
-@@ -28,21 +28,24 @@
-
- #include <stdio-common/_itoa.h>
-
--static int getttyname_r (char *buf, size_t buflen,
-- dev_t mydev, ino64_t myino, int save,
-+static int getttyname_r (const char *prefix, char *buf, size_t buflen,
-+ struct stat64 *mystat, int save,
- int *dostat) internal_function;
-
- static int
- internal_function
--getttyname_r (char *buf, size_t buflen, dev_t mydev, ino64_t myino,
-+getttyname_r (const char *prefix, char *buf, size_t buflen, struct stat64 *mystat,
- int save, int *dostat)
- {
- struct stat64 st;
- DIR *dirstream;
- struct dirent64 *d;
-- size_t devlen = strlen (buf);
-+ size_t devlen = strlen (prefix);
-
-- dirstream = __opendir (buf);
-+ memcpy (buf, prefix, devlen);
-+ buflen -= devlen;
-+
-+ dirstream = __opendir (prefix);
- if (dirstream == NULL)
- {
- *dostat = -1;
-@@ -50,7 +53,7 @@
- }
-
- while ((d = __readdir64 (dirstream)) != NULL)
-- if ((d->d_fileno == myino || *dostat)
-+ if ((d->d_fileno == mystat->st_ino || *dostat)
- && strcmp (d->d_name, "stdin")
- && strcmp (d->d_name, "stdout")
- && strcmp (d->d_name, "stderr"))
-@@ -71,9 +74,9 @@
-
- if (__xstat64 (_STAT_VER, buf, &st) == 0
- #ifdef _STATBUF_ST_RDEV
-- && S_ISCHR (st.st_mode) && st.st_rdev == mydev
-+ && S_ISCHR (st.st_mode) && st.st_rdev == mystat->st_rdev
- #else
-- && d->d_fileno == myino && st.st_dev == mydev
-+ && d->d_fileno == mystat->st_ino && st.st_dev == mystat->st_dev
- #endif
- )
- {
-@@ -99,7 +102,8 @@
- struct stat64 st, st1;
- int dostat = 0;
- int save = errno;
-- int ret;
-+ int ret, i;
-+ const char *dirs[] = { "/dev/pts/", "/dev/vc/", "/dev/tts/", 0 };
-
- /* Test for the absolute minimal size. This makes life easier inside
- the loop. */
-@@ -139,50 +143,24 @@
- if (__fxstat64 (_STAT_VER, fd, &st) < 0)
- return errno;
-
-- /* Prepare the result buffer. */
-- memcpy (buf, "/dev/pts/", sizeof ("/dev/pts/"));
-- buflen -= sizeof ("/dev/pts/") - 1;
-+ ret = ENOTTY;
-
-- if (__xstat64 (_STAT_VER, buf, &st1) == 0 && S_ISDIR (st1.st_mode))
-- {
--#ifdef _STATBUF_ST_RDEV
-- ret = getttyname_r (buf, buflen, st.st_rdev, st.st_ino, save,
-- &dostat);
--#else
-- ret = getttyname_r (buf, buflen, st.st_dev, st.st_ino, save,
-- &dostat);
--#endif
-- }
-- else
-+ for (i = 0; ret && dirs[i]; i++)
- {
-- __set_errno (save);
-- ret = ENOENT;
-+ if (__xstat64 (_STAT_VER, dirs[i], &st1) == 0 && S_ISDIR (st1.st_mode))
-+ ret = getttyname_r (dirs[i], buf, buflen, &st, save, &dostat);
-+ else
-+ __set_errno (save);
- }
-
-+
- if (ret && dostat != -1)
-- {
-- buf[sizeof ("/dev/") - 1] = '\0';
-- buflen += sizeof ("pts/") - 1;
--#ifdef _STATBUF_ST_RDEV
-- ret = getttyname_r (buf, buflen, st.st_rdev, st.st_ino, save,
-- &dostat);
--#else
-- ret = getttyname_r (buf, buflen, st.st_dev, st.st_ino, save,
-- &dostat);
--#endif
-- }
-+ ret = getttyname_r ("/dev/", buf, buflen, &st, save, &dostat);
-
- if (ret && dostat != -1)
- {
-- buf[sizeof ("/dev/") - 1] = '\0';
- dostat = 1;
--#ifdef _STATBUF_ST_RDEV
-- ret = getttyname_r (buf, buflen, st.st_rdev, st.st_ino,
-- save, &dostat);
--#else
-- ret = getttyname_r (buf, buflen, st.st_dev, st.st_ino,
-- save, &dostat);
--#endif
-+ ret = getttyname_r ("/dev/", buf, buflen, &st, save, &dostat);
- }
-
- return ret;
---- sysdeps/unix/sysv/linux/ttyname.c~ 2001/07/06 04:56:13 1.16
-+++ sysdeps/unix/sysv/linux/ttyname.c 2002/01/06 02:27:48
-@@ -30,8 +30,8 @@
-
- char *__ttyname;
-
--static char *getttyname (const char *dev, dev_t mydev,
-- ino64_t myino, int save, int *dostat)
-+static char *getttyname (const char *dev, struct stat64 *mystat,
-+ int save, int *dostat)
- internal_function;
-
-
-@@ -39,7 +39,7 @@
-
- static char *
- internal_function
--getttyname (const char *dev, dev_t mydev, ino64_t myino, int save, int *dostat)
-+getttyname (const char *dev, struct stat64 *mystat, int save, int *dostat)
- {
- static size_t namelen;
- struct stat64 st;
-@@ -55,7 +55,7 @@
- }
-
- while ((d = __readdir64 (dirstream)) != NULL)
-- if ((d->d_fileno == myino || *dostat)
-+ if ((d->d_fileno == mystat->st_ino || *dostat)
- && strcmp (d->d_name, "stdin")
- && strcmp (d->d_name, "stdout")
- && strcmp (d->d_name, "stderr"))
-@@ -78,9 +78,9 @@
- memcpy (&getttyname_name[devlen], d->d_name, dlen);
- if (__xstat64 (_STAT_VER, getttyname_name, &st) == 0
- #ifdef _STATBUF_ST_RDEV
-- && S_ISCHR (st.st_mode) && st.st_rdev == mydev
-+ && S_ISCHR (st.st_mode) && st.st_rdev == mystat->st_rdev
- #else
-- && d->d_fileno == myino && st.st_dev == mydev
-+ && d->d_fileno == mystat->st_ino && st.st_dev == mystat->st_dev
- #endif
- )
- {
-@@ -110,9 +110,10 @@
- char procname[30];
- struct stat64 st, st1;
- int dostat = 0;
-- char *name;
-+ char *name = NULL;
- int save = errno;
-- int len;
-+ int len, i;
-+ const char *dirs[] = { "/dev/pts", "/dev/vc", "/dev/tts", 0 };
-
- if (!__isatty (fd))
- return NULL;
-@@ -146,37 +147,21 @@
- if (__fxstat64 (_STAT_VER, fd, &st) < 0)
- return NULL;
-
-- if (__xstat64 (_STAT_VER, "/dev/pts", &st1) == 0 && S_ISDIR (st1.st_mode))
-+ for (i = 0; !name && dirs[i]; i++)
- {
--#ifdef _STATBUF_ST_RDEV
-- name = getttyname ("/dev/pts", st.st_rdev, st.st_ino, save, &dostat);
--#else
-- name = getttyname ("/dev/pts", st.st_dev, st.st_ino, save, &dostat);
--#endif
-+ if (__xstat64 (_STAT_VER, dirs[i], &st1) == 0 && S_ISDIR (st1.st_mode))
-+ name = getttyname (dirs[i], &st, save, &dostat);
-+ else
-+ __set_errno (save);
- }
-- else
-- {
-- __set_errno (save);
-- name = NULL;
-- }
--
-+
- if (!name && dostat != -1)
-- {
--#ifdef _STATBUF_ST_RDEV
-- name = getttyname ("/dev", st.st_rdev, st.st_ino, save, &dostat);
--#else
-- name = getttyname ("/dev", st.st_dev, st.st_ino, save, &dostat);
--#endif
-- }
-+ name = getttyname ("/dev", &st, save, &dostat);
-
- if (!name && dostat != -1)
- {
- dostat = 1;
--#ifdef _STATBUF_ST_RDEV
-- name = getttyname ("/dev", st.st_rdev, st.st_ino, save, &dostat);
--#else
-- name = getttyname ("/dev", st.st_dev, st.st_ino, save, &dostat);
--#endif
-+ name = getttyname ("/dev", &st, save, &dostat);
- }
-
- return name;
Modified: glibc-package/branches/glibc-2.5/debian/patches/series
===================================================================
--- glibc-package/branches/glibc-2.5/debian/patches/series 2006-10-01 23:27:15 UTC (rev 1830)
+++ glibc-package/branches/glibc-2.5/debian/patches/series 2006-10-01 23:31:18 UTC (rev 1831)
@@ -107,7 +107,6 @@
any/local-rtld.diff -p1
any/local-sysctl.diff -p1
any/local-tcsetaddr.diff -p1
-#any/local-ttyname-devfs.diff -p0
any/local-version-sanity.diff -p1
any/local-dynamic-resolvconf.diff -p1
any/submitted-nis-netgrp.diff
Reply to: