tags 218624 +pending
tags 318516 +pending
thanks
Hi,
I have uploaded an NMU to DELAYED/3-day which fixed #218624 and #318516.
If you plan to fix those bugs yourself, just upload during the next
three days.
This is NMU changelog entry:
krb4 (1.2.2-11.3) unstable; urgency=low
.
* Non-maintainer upload.
* Fix FTBFS on Hurd, added 037_hurd_ftbfs and added --disable-afs-support
to configure options for GNU/Hurd. (Closes: #218624)
* Fix FTBFS on Linux/gcc-4.0, added 038_gcc4_ftbfs. (Closes: #318516)
The NMU interdiff is attached.
cheers,
Michael
--
Michael Banck
Debian Developer
[EMAIL PROTECTED]
http://www.advogato.org/person/mbanck/diary.html
diff -Naur krb4-1.2.2/debian/changelog krb4-1.2.2.foo/debian/changelog
--- krb4-1.2.2/debian/changelog 2005-08-19 23:12:11.081997312 +0200
+++ krb4-1.2.2.foo/debian/changelog 2005-08-19 22:59:34.000000000 +0200
@@ -1,3 +1,12 @@
+krb4 (1.2.2-11.3) unstable; urgency=low
+
+ * Non-maintainer upload.
+ * Fix FTBFS on Hurd, added 037_hurd_ftbfs and added --disable-afs-support
+ to configure options for GNU/Hurd. (Closes: #218624)
+ * Fix FTBFS on Linux/gcc-4.0, added 038_gcc4_ftbfs. (Closes: #318516)
+
+ -- Michael Banck <[EMAIL PROTECTED]> Fri, 19 Aug 2005 22:52:10 +0200
+
krb4 (1.2.2-11.2) unstable; urgency=high
* Non-maintainer upload.
diff -Naur krb4-1.2.2/debian/patches/037_hurd_ftbfs
krb4-1.2.2.foo/debian/patches/037_hurd_ftbfs
--- krb4-1.2.2/debian/patches/037_hurd_ftbfs 1970-01-01 01:00:00.000000000
+0100
+++ krb4-1.2.2.foo/debian/patches/037_hurd_ftbfs 2005-08-19
22:51:46.000000000 +0200
@@ -0,0 +1,254 @@
+diff -Naur krb4-1.2.2.orig/appl/bsd/login_access.c
krb4-1.2.2/appl/bsd/login_access.c
+--- krb4-1.2.2.orig/appl/bsd/login_access.c 2001-06-04 16:08:39.000000000
+0200
++++ krb4-1.2.2/appl/bsd/login_access.c 2004-06-14 21:01:05.000000000 +0200
+@@ -165,12 +165,12 @@
+
+ static char *myhostname(void)
+ {
+- static char name[MAXHOSTNAMELEN + 1] = "";
++ static char name[MaxHostNameLen + 1] = "";
+
+ if (name[0] == 0) {
+ gethostname(name, sizeof(name));
+- name[MAXHOSTNAMELEN] = 0;
++ name[MaxHostNameLen] = 0;
+ }
+ return (name);
+ }
+
+diff -Naur krb4-1.2.2.orig/appl/bsd/rshd.c krb4-1.2.2/appl/bsd/rshd.c
+--- krb4-1.2.2.orig/appl/bsd/rshd.c 2005-08-07 21:33:29.953382816 +0200
++++ krb4-1.2.2/appl/bsd/rshd.c 2005-08-07 21:33:54.104711256 +0200
+@@ -172,20 +172,48 @@
+ char *envinit[] =
+ {homedir, shell, path, username, 0};
+
+-static void
+-xgetstr(char *buf, int cnt, char *err)
++static char *
++xgetstr(const char *err)
+ {
+- char c;
++ size_t buf_len = 100;
++ char *buf = malloc (buf_len), *end = buf;
+
+- do {
+- if (read(STDIN_FILENO, &c, 1) != 1)
+- exit(1);
+- *buf++ = c;
+- if (--cnt == 0) {
+- error("%s too long\n", err);
+- exit(1);
++ if (! buf)
++ {
++ error ("Out of space reading %s\n", err);
++ exit (1);
++ }
++
++ do
++ {
++ /* Oh this is efficient, oh yes. [But what can be done?] */
++ int rd = read (STDIN_FILENO, end, 1);
++ if (rd <= 0)
++ {
++ if (rd == 0)
++ error ("EOF reading %s\n", err);
++ else
++ perror (err);
++ exit (1);
+ }
+- } while (c != 0);
++
++ end += rd;
++ if ((buf + buf_len - end) < (buf_len >> 3))
++ {
++ /* Not very much room left in our buffer, grow it. */
++ size_t end_offs = end - buf;
++ buf_len += buf_len;
++ buf = realloc (buf, buf_len);
++ if (! buf)
++ {
++ error ("Out of space reading %s\n", err);
++ exit (1);
++ }
++ end = buf + end_offs;
++ }
++ } while (*(end - 1));
++
++ return buf;
+ }
+
+ static void
+@@ -199,7 +227,7 @@
+ const char *errorhost = "";
+ char *errorstr;
+ char *cp, sig, buf[DES_RW_MAXWRITE];
+- char cmdbuf[NCARGS+1], locuser[16], remuser[16];
++ char *cmdbuf, *locuser, *remuser;
+ char remotehost[2 * MaxHostNameLen + 1];
+ uid_t uid;
+ char shell_path[MAXPATHLEN];
+@@ -328,10 +356,10 @@
+ exit(1);
+ }
+ } else
+- xgetstr(remuser, sizeof(remuser), "remuser");
++ remuser = xgetstr("remuser");
+
+- xgetstr(locuser, sizeof(locuser), "locuser");
+- xgetstr(cmdbuf, sizeof(cmdbuf), "command");
++ locuser = xgetstr("locuser");
++ cmdbuf = xgetstr("command");
+ setpwent();
+ pwd = k_getpwnam(locuser);
+ if (pwd == NULL) {
+diff -ur krb4-1.2.2.orig/appl/ftp/ftpd/ls.c krb4-1.2.2/appl/ftp/ftpd/ls.c
+--- krb4-1.2.2.orig/appl/ftp/ftpd/ls.c 2002-08-22 04:31:03.000000000 -0400
++++ krb4-1.2.2/appl/ftp/ftpd/ls.c 2005-08-07 10:34:21.000000000 -0400
+@@ -371,14 +371,14 @@
+ * have to fetch them.
+ */
+
+-#ifdef KRB4
++#if defined(KRB4) && !defined(NO_AFS)
+ static int do_the_afs_dance = 1;
+ #endif
+
+ static int
+ lstat_file (const char *file, struct stat *sb)
+ {
+-#ifdef KRB4
++#if defined(KRB4) && !defined(NO_AFS)
+ if (do_the_afs_dance &&
+ k_hasafs()
+ && strcmp(file, ".")
+diff -ur krb4-1.2.2.orig/configure krb4-1.2.2/configure
+--- krb4-1.2.2.orig/configure 2005-08-07 10:45:06.000000000 -0400
++++ krb4-1.2.2/configure 2005-08-07 09:25:35.000000000 -0400
+@@ -41771,7 +41771,7 @@
+
+ fi;
+
+-if test "$enabls_afs_support" = no; then
++if test "$enable_afs_support" = no; then
+
+ cat >>confdefs.h <<\_ACEOF
+ #define NO_AFS 1
+diff -ur krb4-1.2.2.orig/configure.in krb4-1.2.2/configure.in
+--- krb4-1.2.2.orig/configure.in 2003-03-16 23:01:50.000000000 -0500
++++ krb4-1.2.2/configure.in 2005-08-07 09:24:32.000000000 -0400
+@@ -175,7 +175,7 @@
+ AC_HELP_STRING([--disable-afs-support],
+ [if you don't want support for AFS]))
+
+-if test "$enabls_afs_support" = no; then
++if test "$enable_afs_support" = no; then
+ AC_DEFINE(NO_AFS, 1, [Define if you don't wan't support for AFS.])
+ fi
+
+diff -ur krb4-1.2.2.orig/kuser/klist.c krb4-1.2.2/kuser/klist.c
+--- krb4-1.2.2.orig/kuser/klist.c 2002-06-28 13:40:49.000000000 -0400
++++ krb4-1.2.2/kuser/klist.c 2005-08-07 10:18:07.000000000 -0400
+@@ -235,6 +235,7 @@
+ static void
+ display_tokens(void)
+ {
++#ifndef NO_AFS
+ u_int32_t i;
+ unsigned char t[128];
+ struct ViceIoctl parms;
+@@ -285,6 +286,7 @@
+ printf(" (%d)", ct.AuthHandle);
+ putchar('\n');
+ }
++#endif
+ }
+
+ static void
+diff -ur krb4-1.2.2.orig/lib/kafs/afssys.c krb4-1.2.2/lib/kafs/afssys.c
+--- krb4-1.2.2.orig/lib/kafs/afssys.c 2000-07-08 08:06:03.000000000 -0400
++++ krb4-1.2.2/lib/kafs/afssys.c 2005-08-07 09:52:23.000000000 -0400
+@@ -169,20 +169,28 @@
+ int
+ k_afs_cell_of_file(const char *path, char *cell, int len)
+ {
++#ifndef NO_AFS
+ struct ViceIoctl parms;
+ parms.in = NULL;
+ parms.in_size = 0;
+ parms.out = cell;
+ parms.out_size = len;
+ return k_pioctl((char*)path, VIOC_FILE_CELL_NAME, &parms, 1);
++#else
++ return -1;
++#endif
+ }
+
+ int
+ k_unlog(void)
+ {
++#ifndef NO_AFS
+ struct ViceIoctl parms;
+ memset(&parms, 0, sizeof(parms));
+ return k_pioctl(0, VIOCUNLOG, &parms, 0);
++#else
++ return -1;
++#endif
+ }
+
+ int
+diff -ur krb4-1.2.2.orig/lib/kafs/common.c krb4-1.2.2/lib/kafs/common.c
+--- krb4-1.2.2.orig/lib/kafs/common.c 2002-05-30 22:43:51.000000000 -0400
++++ krb4-1.2.2/lib/kafs/common.c 2005-08-07 09:54:18.000000000 -0400
+@@ -59,6 +59,7 @@
+ int
+ kafs_settoken(const char *cell, uid_t uid, CREDENTIALS *c)
+ {
++#ifndef NO_AFS
+ struct ViceIoctl parms;
+ struct ClearToken ct;
+ int32_t sizeof_x;
+@@ -136,6 +137,9 @@
+ parms.out_size = 0;
+ ret = k_pioctl(0, VIOCSETTOK, &parms, 0);
+ return ret;
++#else
++ return -1;
++#endif
+ }
+
+ /* Try to get a db-server for an AFS cell from a AFSDB record */
+diff -Naur krb4-1.2.2.orig/lib/roken/getaddrinfo_hostspec.c
krb4-1.2.2/lib/roken/getaddrinfo_hostspec.c
+--- krb4-1.2.2.orig/lib/roken/getaddrinfo_hostspec.c 2000-07-15
14:50:32.000000000 +0200
++++ krb4-1.2.2/lib/roken/getaddrinfo_hostspec.c 2004-06-14
20:55:15.000000000 +0200
+@@ -48,9 +48,9 @@
+ {
+ const char *p;
+ char portstr[NI_MAXSERV];
+- char host[MAXHOSTNAMELEN];
++ char *host;
+ struct addrinfo hints;
+- int hostspec_len;
++ int hostspec_len, res;
+
+ struct hst {
+ const char *prefix;
+@@ -91,8 +91,16 @@
+ }
+ snprintf (portstr, sizeof(portstr), "%u", port);
+
+- snprintf (host, sizeof(host), "%.*s", hostspec_len, hostspec);
+- return getaddrinfo (host, portstr, &hints, ai);
++ host = malloc(hostspec_len);
++ if (host == NULL) {
++ res = EAI_MEMORY;
++ } else {
++ snprintf (host, hostspec_len, "%.*s", hostspec_len, hostspec);
++ res = getaddrinfo (host, portstr, &hints, ai);
++ free (host);
++ }
++
++ return res;
+ }
+
+ int
diff -Naur krb4-1.2.2/debian/patches/038_gcc4_ftbfs
krb4-1.2.2.foo/debian/patches/038_gcc4_ftbfs
--- krb4-1.2.2/debian/patches/038_gcc4_ftbfs 1970-01-01 01:00:00.000000000
+0100
+++ krb4-1.2.2.foo/debian/patches/038_gcc4_ftbfs 2005-08-19
22:50:50.000000000 +0200
@@ -0,0 +1,13 @@
+diff -Nru3 ./krb4-1.2.2/appl/bsd/forkpty.c
../build-tree.new/krb4-1.2.2/appl/bsd/forkpty.c
+--- ./krb4-1.2.2/appl/bsd/forkpty.c 2001-08-25 20:42:05.000000000 -0700
++++ ../build-tree.new/krb4-1.2.2/appl/bsd/forkpty.c 2005-08-16
13:15:42.000000000 -0700
+@@ -68,7 +68,6 @@
+ #endif
+
+ #ifndef HAVE_REVOKE
+-static
+ int
+ revoke(const char *line)
+ {
+
+
diff -Naur krb4-1.2.2/debian/rules krb4-1.2.2.foo/debian/rules
--- krb4-1.2.2/debian/rules 2005-08-19 23:12:11.706902312 +0200
+++ krb4-1.2.2.foo/debian/rules 2005-08-19 22:51:46.000000000 +0200
@@ -62,6 +62,13 @@
awk '{if (match($$0,/\.so\.[0-9]+$$/)) print substr($$0,RSTART+4)}'`
+# The Hurd doesn't have AFS.
+DEB_HOST_GNU_SYSTEM := $(shell dpkg-architecture -qDEB_HOST_GNU_SYSTEM)
+ifeq ($(DEB_HOST_GNU_SYSTEM),gnu)
+DISABLE_AFS = --disable-afs-support
+else
+DISABLE_AFS =
+endif
# Uncomment this to turn on verbose mode.
# export DH_VERBOSE=1
@@ -101,7 +108,8 @@
--with-db-dir=/var/lib/kerberos \
--with-cracklib=/usr/lib \
--with-dictpath=/var/cache/cracklib/cracklib_dict \
- --with-mailspool=/var/spool/mail
+ --with-mailspool=/var/spool/mail \
+ $(DISABLE_AFS)
# Add here commands to compile the package.
$(MAKE) -C $(BUILD_TREE)