Package: release.debian.org Severity: normal User: release.debian....@packages.debian.org Usertags: unblock
I've just uploaded binfmt-support 2.0.12, which fixes what I think is a clear bug in a new feature I added a while back (post-squeeze). I'd like to have this fixed in wheezy. The full debdiff follows. I had to add some extra code to support the test suite; the meat of the change is in src/find.c. There was already one upload between wheezy and sid, which was just to defend against a build failure with future glibc versions; that should be safe for wheezy too, although I hadn't previously asked for it to be unblocked since it isn't necessary in itself. diff -Nru binfmt-support-2.0.10/Makefile.am binfmt-support-2.0.12/Makefile.am --- binfmt-support-2.0.10/Makefile.am 2011-11-20 15:58:40.000000000 +0000 +++ binfmt-support-2.0.12/Makefile.am 2012-09-17 23:49:38.000000000 +0100 @@ -23,6 +23,7 @@ EXTRA_DIST = \ .bzrignore \ autogen.sh \ + gnulib/gets.patch \ gnulib/lib/argp-parse.patch \ gnulib/m4/gnulib-cache.m4 \ gnulib/m4/gnulib-tool.m4 diff -Nru binfmt-support-2.0.10/Makefile.in binfmt-support-2.0.12/Makefile.in --- binfmt-support-2.0.10/Makefile.in 2012-07-30 10:30:23.000000000 +0100 +++ binfmt-support-2.0.12/Makefile.in 2012-09-17 23:50:11.000000000 +0100 @@ -309,7 +309,6 @@ GNULIB_GETLOGIN = @GNULIB_GETLOGIN@ GNULIB_GETLOGIN_R = @GNULIB_GETLOGIN_R@ GNULIB_GETPAGESIZE = @GNULIB_GETPAGESIZE@ -GNULIB_GETS = @GNULIB_GETS@ GNULIB_GETSUBOPT = @GNULIB_GETSUBOPT@ GNULIB_GETUSERSHELL = @GNULIB_GETUSERSHELL@ GNULIB_GL_UNISTD_H_GETOPT = @GNULIB_GL_UNISTD_H_GETOPT@ @@ -930,6 +929,7 @@ EXTRA_DIST = \ .bzrignore \ autogen.sh \ + gnulib/gets.patch \ gnulib/lib/argp-parse.patch \ gnulib/m4/gnulib-cache.m4 \ gnulib/m4/gnulib-tool.m4 diff -Nru binfmt-support-2.0.10/autogen.sh binfmt-support-2.0.12/autogen.sh --- binfmt-support-2.0.10/autogen.sh 2012-06-26 00:08:49.000000000 +0100 +++ binfmt-support-2.0.12/autogen.sh 2012-09-17 23:48:45.000000000 +0100 @@ -1,4 +1,5 @@ -#! /bin/sh -e +#! /bin/sh +set -e # Copyright (C) 2010 Colin Watson. # @@ -12,5 +13,6 @@ if type gnulib-tool >/dev/null 2>&1; then gnulib-tool --update >/dev/null + patch -s -p1 <gnulib/gets.patch fi autoreconf -fi "$@" diff -Nru binfmt-support-2.0.10/config.h.in binfmt-support-2.0.12/config.h.in --- binfmt-support-2.0.10/config.h.in 2012-07-30 10:30:21.000000000 +0100 +++ binfmt-support-2.0.12/config.h.in 2012-09-17 23:50:09.000000000 +0100 @@ -444,6 +444,9 @@ /* Define to 1 if getpagesize is declared even after undefining macros. */ #undef HAVE_RAW_DECL_GETPAGESIZE +/* Define to 1 if gets is declared even after undefining macros. */ +#undef HAVE_RAW_DECL_GETS + /* Define to 1 if getsubopt is declared even after undefining macros. */ #undef HAVE_RAW_DECL_GETSUBOPT diff -Nru binfmt-support-2.0.10/configure binfmt-support-2.0.12/configure --- binfmt-support-2.0.10/configure 2012-07-30 10:30:20.000000000 +0100 +++ binfmt-support-2.0.12/configure 2012-09-17 23:50:08.000000000 +0100 @@ -1023,7 +1023,6 @@ GNULIB_PCLOSE GNULIB_OBSTACK_PRINTF_POSIX GNULIB_OBSTACK_PRINTF -GNULIB_GETS GNULIB_GETLINE GNULIB_GETDELIM GNULIB_GETCHAR @@ -8784,7 +8783,6 @@ GNULIB_GETCHAR=0; GNULIB_GETDELIM=0; GNULIB_GETLINE=0; - GNULIB_GETS=0; GNULIB_OBSTACK_PRINTF=0; GNULIB_OBSTACK_PRINTF_POSIX=0; GNULIB_PCLOSE=0; @@ -15332,7 +15330,6 @@ GNULIB_GETC=1 GNULIB_GETCHAR=1 GNULIB_FGETS=1 - GNULIB_GETS=1 GNULIB_FREAD=1 @@ -15350,7 +15347,7 @@ - for gl_func in dprintf fpurge fseeko ftello getdelim getline pclose popen renameat snprintf tmpfile vdprintf vsnprintf; do + for gl_func in dprintf fpurge fseeko ftello getdelim getline gets pclose popen renameat snprintf tmpfile vdprintf vsnprintf; do as_gl_Symbol=`$as_echo "gl_cv_have_raw_decl_$gl_func" | $as_tr_sh` { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $gl_func is declared without a macro" >&5 $as_echo_n "checking whether $gl_func is declared without a macro... " >&6; } diff -Nru binfmt-support-2.0.10/debian/changelog binfmt-support-2.0.12/debian/changelog --- binfmt-support-2.0.10/debian/changelog 2012-07-30 10:37:01.000000000 +0100 +++ binfmt-support-2.0.12/debian/changelog 2012-09-30 22:25:13.000000000 +0100 @@ -1,3 +1,17 @@ +binfmt-support (2.0.12) unstable; urgency=low + + * Fix ineffective --find test. + * Don't show disabled formats in --find output (closes: #689247). + + -- Colin Watson <cjwat...@debian.org> Sun, 30 Sep 2012 22:25:11 +0100 + +binfmt-support (2.0.11) unstable; urgency=low + + * Backport Gnulib commit 66712c23388e93e5c518ebc8515140fa0c807348 to stop + assuming gets. + + -- Colin Watson <cjwat...@debian.org> Tue, 18 Sep 2012 00:05:32 +0100 + binfmt-support (2.0.10) unstable; urgency=low * If a binary format is already enabled according to the kernel, which can diff -Nru binfmt-support-2.0.10/gnulib/gets.patch binfmt-support-2.0.12/gnulib/gets.patch --- binfmt-support-2.0.10/gnulib/gets.patch 1970-01-01 01:00:00.000000000 +0100 +++ binfmt-support-2.0.12/gnulib/gets.patch 2012-09-17 22:03:43.000000000 +0100 @@ -0,0 +1,107 @@ +commit 66712c23388e93e5c518ebc8515140fa0c807348 +Author: Eric Blake <ebl...@redhat.com> +Date: Thu Mar 29 13:30:41 2012 -0600 + + stdio: don't assume gets any more + + Gnulib intentionally does not have a gets module, and now that C11 + and glibc have dropped it, we should be more proactive about warning + any user on a platform that still has a declaration of this dangerous + interface. + + * m4/stdio_h.m4 (gl_STDIO_H, gl_STDIO_H_DEFAULTS): Drop gets + support. + * modules/stdio (Makefile.am): Likewise. + * lib/stdio-read.c (gets): Likewise. + * tests/test-stdio-c++.cc: Likewise. + * m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Fix comment. + * lib/stdio.in.h (gets): Make warning occur in more places. + * doc/posix-functions/gets.texi (gets): Update documentation. + Reported by Christer Solskogen. + + Signed-off-by: Eric Blake <ebl...@redhat.com> + +diff --git a/gnulib/lib/stdio.in.h b/gnulib/lib/stdio.in.h +index aa7b599..c377b6e 100644 +--- a/gnulib/lib/stdio.in.h ++++ b/gnulib/lib/stdio.in.h +@@ -698,22 +698,11 @@ _GL_WARN_ON_USE (getline, "getline is unportable - " + # endif + #endif + +-#if @GNULIB_GETS@ +-# if @REPLACE_STDIO_READ_FUNCS@ && @GNULIB_STDIO_H_NONBLOCKING@ +-# if !(defined __cplusplus && defined GNULIB_NAMESPACE) +-# undef gets +-# define gets rpl_gets +-# endif +-_GL_FUNCDECL_RPL (gets, char *, (char *s) _GL_ARG_NONNULL ((1))); +-_GL_CXXALIAS_RPL (gets, char *, (char *s)); +-# else +-_GL_CXXALIAS_SYS (gets, char *, (char *s)); +-# undef gets +-# endif +-_GL_CXXALIASWARN (gets); + /* It is very rare that the developer ever has full control of stdin, +- so any use of gets warrants an unconditional warning. Assume it is +- always declared, since it is required by C89. */ ++ so any use of gets warrants an unconditional warning; besides, C11 ++ removed it. */ ++#undef gets ++#if HAVE_RAW_DECL_GETS + _GL_WARN_ON_USE (gets, "gets is a security hole - use fgets instead"); + #endif + +@@ -1053,9 +1042,9 @@ _GL_WARN_ON_USE (snprintf, "snprintf is unportable - " + # endif + #endif + +-/* Some people would argue that sprintf should be handled like gets +- (for example, OpenBSD issues a link warning for both functions), +- since both can cause security holes due to buffer overruns. ++/* Some people would argue that all sprintf uses should be warned about ++ (for example, OpenBSD issues a link warning for it), ++ since it can cause security holes due to buffer overruns. + However, we believe that sprintf can be used safely, and is more + efficient than snprintf in those safe cases; and as proof of our + belief, we use sprintf in several gnulib modules. So this header +diff --git a/gnulib/m4/stdio_h.m4 b/gnulib/m4/stdio_h.m4 +index 1973e8d..b03393b 100644 +--- a/gnulib/m4/stdio_h.m4 ++++ b/gnulib/m4/stdio_h.m4 +@@ -1,4 +1,4 @@ +-# stdio_h.m4 serial 40 ++# stdio_h.m4 serial 41 + dnl Copyright (C) 2007-2012 Free Software Foundation, Inc. + dnl This file is free software; the Free Software Foundation + dnl gives unlimited permission to copy and/or distribute it, +@@ -18,7 +18,6 @@ AC_DEFUN([gl_STDIO_H], + GNULIB_GETC=1 + GNULIB_GETCHAR=1 + GNULIB_FGETS=1 +- GNULIB_GETS=1 + GNULIB_FREAD=1 + dnl This ifdef is necessary to avoid an error "missing file lib/stdio-read.c" + dnl "expected source file, required through AC_LIBSOURCES, not found". It is +@@ -72,10 +71,10 @@ AC_DEFUN([gl_STDIO_H], + + dnl Check for declarations of anything we want to poison if the + dnl corresponding gnulib module is not in use, and which is not +- dnl guaranteed by C89. ++ dnl guaranteed by both C89 and C11. + gl_WARN_ON_USE_PREPARE([[#include <stdio.h> +- ]], [dprintf fpurge fseeko ftello getdelim getline pclose popen renameat +- snprintf tmpfile vdprintf vsnprintf]) ++ ]], [dprintf fpurge fseeko ftello getdelim getline gets pclose popen ++ renameat snprintf tmpfile vdprintf vsnprintf]) + ]) + + AC_DEFUN([gl_STDIO_MODULE_INDICATOR], +@@ -113,7 +112,6 @@ AC_DEFUN([gl_STDIO_H_DEFAULTS], + GNULIB_GETCHAR=0; AC_SUBST([GNULIB_GETCHAR]) + GNULIB_GETDELIM=0; AC_SUBST([GNULIB_GETDELIM]) + GNULIB_GETLINE=0; AC_SUBST([GNULIB_GETLINE]) +- GNULIB_GETS=0; AC_SUBST([GNULIB_GETS]) + GNULIB_OBSTACK_PRINTF=0; AC_SUBST([GNULIB_OBSTACK_PRINTF]) + GNULIB_OBSTACK_PRINTF_POSIX=0; AC_SUBST([GNULIB_OBSTACK_PRINTF_POSIX]) + GNULIB_PCLOSE=0; AC_SUBST([GNULIB_PCLOSE]) diff -Nru binfmt-support-2.0.10/gnulib/lib/Makefile.in binfmt-support-2.0.12/gnulib/lib/Makefile.in --- binfmt-support-2.0.10/gnulib/lib/Makefile.in 2012-07-30 10:30:22.000000000 +0100 +++ binfmt-support-2.0.12/gnulib/lib/Makefile.in 2012-09-17 23:50:11.000000000 +0100 @@ -350,7 +350,6 @@ GNULIB_GETLOGIN = @GNULIB_GETLOGIN@ GNULIB_GETLOGIN_R = @GNULIB_GETLOGIN_R@ GNULIB_GETPAGESIZE = @GNULIB_GETPAGESIZE@ -GNULIB_GETS = @GNULIB_GETS@ GNULIB_GETSUBOPT = @GNULIB_GETSUBOPT@ GNULIB_GETUSERSHELL = @GNULIB_GETUSERSHELL@ GNULIB_GL_UNISTD_H_GETOPT = @GNULIB_GL_UNISTD_H_GETOPT@ diff -Nru binfmt-support-2.0.10/gnulib/lib/stdio.in.h binfmt-support-2.0.12/gnulib/lib/stdio.in.h --- binfmt-support-2.0.10/gnulib/lib/stdio.in.h 2012-06-26 00:06:40.000000000 +0100 +++ binfmt-support-2.0.12/gnulib/lib/stdio.in.h 2012-09-17 23:49:59.000000000 +0100 @@ -698,22 +698,11 @@ # endif #endif -#if @GNULIB_GETS@ -# if @REPLACE_STDIO_READ_FUNCS@ && @GNULIB_STDIO_H_NONBLOCKING@ -# if !(defined __cplusplus && defined GNULIB_NAMESPACE) -# undef gets -# define gets rpl_gets -# endif -_GL_FUNCDECL_RPL (gets, char *, (char *s) _GL_ARG_NONNULL ((1))); -_GL_CXXALIAS_RPL (gets, char *, (char *s)); -# else -_GL_CXXALIAS_SYS (gets, char *, (char *s)); -# undef gets -# endif -_GL_CXXALIASWARN (gets); /* It is very rare that the developer ever has full control of stdin, - so any use of gets warrants an unconditional warning. Assume it is - always declared, since it is required by C89. */ + so any use of gets warrants an unconditional warning; besides, C11 + removed it. */ +#undef gets +#if HAVE_RAW_DECL_GETS _GL_WARN_ON_USE (gets, "gets is a security hole - use fgets instead"); #endif @@ -1053,9 +1042,9 @@ # endif #endif -/* Some people would argue that sprintf should be handled like gets - (for example, OpenBSD issues a link warning for both functions), - since both can cause security holes due to buffer overruns. +/* Some people would argue that all sprintf uses should be warned about + (for example, OpenBSD issues a link warning for it), + since it can cause security holes due to buffer overruns. However, we believe that sprintf can be used safely, and is more efficient than snprintf in those safe cases; and as proof of our belief, we use sprintf in several gnulib modules. So this header diff -Nru binfmt-support-2.0.10/gnulib/m4/stdio_h.m4 binfmt-support-2.0.12/gnulib/m4/stdio_h.m4 --- binfmt-support-2.0.10/gnulib/m4/stdio_h.m4 2012-06-26 00:06:41.000000000 +0100 +++ binfmt-support-2.0.12/gnulib/m4/stdio_h.m4 2012-09-17 23:49:59.000000000 +0100 @@ -1,4 +1,4 @@ -# stdio_h.m4 serial 40 +# stdio_h.m4 serial 41 dnl Copyright (C) 2007-2012 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, @@ -18,7 +18,6 @@ GNULIB_GETC=1 GNULIB_GETCHAR=1 GNULIB_FGETS=1 - GNULIB_GETS=1 GNULIB_FREAD=1 dnl This ifdef is necessary to avoid an error "missing file lib/stdio-read.c" dnl "expected source file, required through AC_LIBSOURCES, not found". It is @@ -72,10 +71,10 @@ dnl Check for declarations of anything we want to poison if the dnl corresponding gnulib module is not in use, and which is not - dnl guaranteed by C89. + dnl guaranteed by both C89 and C11. gl_WARN_ON_USE_PREPARE([[#include <stdio.h> - ]], [dprintf fpurge fseeko ftello getdelim getline pclose popen renameat - snprintf tmpfile vdprintf vsnprintf]) + ]], [dprintf fpurge fseeko ftello getdelim getline gets pclose popen + renameat snprintf tmpfile vdprintf vsnprintf]) ]) AC_DEFUN([gl_STDIO_MODULE_INDICATOR], @@ -113,7 +112,6 @@ GNULIB_GETCHAR=0; AC_SUBST([GNULIB_GETCHAR]) GNULIB_GETDELIM=0; AC_SUBST([GNULIB_GETDELIM]) GNULIB_GETLINE=0; AC_SUBST([GNULIB_GETLINE]) - GNULIB_GETS=0; AC_SUBST([GNULIB_GETS]) GNULIB_OBSTACK_PRINTF=0; AC_SUBST([GNULIB_OBSTACK_PRINTF]) GNULIB_OBSTACK_PRINTF_POSIX=0; AC_SUBST([GNULIB_OBSTACK_PRINTF_POSIX]) GNULIB_PCLOSE=0; AC_SUBST([GNULIB_PCLOSE]) diff -Nru binfmt-support-2.0.10/man/Makefile.in binfmt-support-2.0.12/man/Makefile.in --- binfmt-support-2.0.10/man/Makefile.in 2012-07-30 10:30:22.000000000 +0100 +++ binfmt-support-2.0.12/man/Makefile.in 2012-09-17 23:50:11.000000000 +0100 @@ -282,7 +282,6 @@ GNULIB_GETLOGIN = @GNULIB_GETLOGIN@ GNULIB_GETLOGIN_R = @GNULIB_GETLOGIN_R@ GNULIB_GETPAGESIZE = @GNULIB_GETPAGESIZE@ -GNULIB_GETS = @GNULIB_GETS@ GNULIB_GETSUBOPT = @GNULIB_GETSUBOPT@ GNULIB_GETUSERSHELL = @GNULIB_GETUSERSHELL@ GNULIB_GL_UNISTD_H_GETOPT = @GNULIB_GL_UNISTD_H_GETOPT@ diff -Nru binfmt-support-2.0.10/src/Makefile.in binfmt-support-2.0.12/src/Makefile.in --- binfmt-support-2.0.10/src/Makefile.in 2012-07-30 10:30:22.000000000 +0100 +++ binfmt-support-2.0.12/src/Makefile.in 2012-09-17 23:50:11.000000000 +0100 @@ -318,7 +318,6 @@ GNULIB_GETLOGIN = @GNULIB_GETLOGIN@ GNULIB_GETLOGIN_R = @GNULIB_GETLOGIN_R@ GNULIB_GETPAGESIZE = @GNULIB_GETPAGESIZE@ -GNULIB_GETS = @GNULIB_GETS@ GNULIB_GETSUBOPT = @GNULIB_GETSUBOPT@ GNULIB_GETUSERSHELL = @GNULIB_GETUSERSHELL@ GNULIB_GL_UNISTD_H_GETOPT = @GNULIB_GL_UNISTD_H_GETOPT@ diff -Nru binfmt-support-2.0.10/src/find.c binfmt-support-2.0.12/src/find.c --- binfmt-support-2.0.10/src/find.c 2011-01-25 14:26:20.000000000 +0000 +++ binfmt-support-2.0.12/src/find.c 2012-09-30 22:12:46.000000000 +0100 @@ -26,7 +26,9 @@ #include <string.h> #include <dirent.h> #include <assert.h> +#include <unistd.h> #include <sys/types.h> +#include <sys/stat.h> #include <pipeline.h> @@ -83,12 +85,19 @@ quit_err ("unable to open %s", admindir); *formats = gl_list_create_empty (GL_ARRAY_LIST, NULL, NULL, NULL, true); while ((entry = readdir (dir)) != NULL) { - char *admindir_name; + char *admindir_name, *procdir_name; + struct stat st; struct binfmt *binfmt; size_t mask_size; if (!strcmp (entry->d_name, ".") || !strcmp (entry->d_name, "..")) continue; + procdir_name = xasprintf ("%s/%s", procdir, entry->d_name); + if (stat (procdir_name, &st) == -1) { + free (procdir_name); + continue; + } + free (procdir_name); admindir_name = xasprintf ("%s/%s", admindir, entry->d_name); binfmt = binfmt_load (entry->d_name, admindir_name, 0); free (admindir_name); diff -Nru binfmt-support-2.0.10/src/run-detectors.c binfmt-support-2.0.12/src/run-detectors.c --- binfmt-support-2.0.10/src/run-detectors.c 2011-01-24 16:54:09.000000000 +0000 +++ binfmt-support-2.0.12/src/run-detectors.c 2012-09-30 22:12:02.000000000 +0100 @@ -39,12 +39,16 @@ const char *argp_program_bug_address = PACKAGE_BUGREPORT; enum opts { - OPT_ADMINDIR = 256 + OPT_ADMINDIR = 256, + OPT_PROCDIR }; static struct argp_option options[] = { { "admindir", OPT_ADMINDIR, "DIRECTORY", 0, "administration directory (default: /var/lib/binfmts)" }, + { "procdir", OPT_PROCDIR, "DIRECTORY", OPTION_HIDDEN, + "proc directory, for test suite use only " + "(default: /proc/sys/fs/binfmt_misc)", 5 }, { 0 } }; @@ -54,6 +58,10 @@ case OPT_ADMINDIR: admindir = arg; return 0; + + case OPT_PROCDIR: + procdir = arg; + return 0; } return ARGP_ERR_UNKNOWN; diff -Nru binfmt-support-2.0.10/src/tests/Makefile.in binfmt-support-2.0.12/src/tests/Makefile.in --- binfmt-support-2.0.10/src/tests/Makefile.in 2012-07-30 10:30:23.000000000 +0100 +++ binfmt-support-2.0.12/src/tests/Makefile.in 2012-09-17 23:50:11.000000000 +0100 @@ -253,7 +253,6 @@ GNULIB_GETLOGIN = @GNULIB_GETLOGIN@ GNULIB_GETLOGIN_R = @GNULIB_GETLOGIN_R@ GNULIB_GETPAGESIZE = @GNULIB_GETPAGESIZE@ -GNULIB_GETS = @GNULIB_GETS@ GNULIB_GETSUBOPT = @GNULIB_GETSUBOPT@ GNULIB_GETUSERSHELL = @GNULIB_GETUSERSHELL@ GNULIB_GL_UNISTD_H_GETOPT = @GNULIB_GL_UNISTD_H_GETOPT@ diff -Nru binfmt-support-2.0.10/src/tests/find binfmt-support-2.0.12/src/tests/find --- binfmt-support-2.0.10/src/tests/find 2011-02-25 16:06:39.000000000 +0000 +++ binfmt-support-2.0.12/src/tests/find 2012-09-30 21:54:30.000000000 +0100 @@ -15,6 +15,15 @@ echo /bin/sh >"$tmpdir/1.exp" expect_pass 'magic: run find' \ 'update_binfmts_proc --find "$tmpdir/program.ext" >"$tmpdir/1.out"' -expect_pass 'diff -u "$tmpdir/1.out" "$tmpdir/1.exp"' +expect_pass 'magic: find result OK' \ + 'diff -u "$tmpdir/1.out" "$tmpdir/1.exp"' + +expect_pass 'magic: disable' \ + 'update_binfmts_proc --disable test' +touch "$tmpdir/2.exp" +expect_pass 'magic: run find (disabled)' \ + 'update_binfmts_proc --find "$tmpdir/program.ext" >"$tmpdir/2.out"' +expect_pass 'magic: find result OK' \ + 'diff -u "$tmpdir/2.out" "$tmpdir/2.exp"' finish diff -Nru binfmt-support-2.0.10/src/tests/testlib.sh binfmt-support-2.0.12/src/tests/testlib.sh --- binfmt-support-2.0.10/src/tests/testlib.sh 2011-07-10 00:51:05.000000000 +0100 +++ binfmt-support-2.0.12/src/tests/testlib.sh 2012-09-30 22:11:43.000000000 +0100 @@ -43,7 +43,8 @@ } run_detectors () { - $RUN_DETECTORS --admindir "$tmpdir/var/lib/binfmts" "$@" + $RUN_DETECTORS --admindir "$tmpdir/var/lib/binfmts" \ + --procdir "$tmpdir/proc" "$@" } expect_pass () { Thanks, -- Colin Watson [cjwat...@debian.org] -- To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org