Hi all, Yesterday, we discovered a serious brown-paper-bag bug in WebAuth 3.7.1 introduced in 3.7.0 that rendered the wa_keyring utility unusable. I've pulled up the specific fix for this problem and have just uploaded 3.7.1-2 targetted at squeeze. Could you unblock it?
(The new upstream 3.7.2 release went into experimental and will go into unstable after the release.) Here is the complete diff: diff --git a/debian/changelog b/debian/changelog index 6f2e9b6..87e02c9 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,11 @@ +webauth (3.7.1-2) unstable; urgency=low + + * Apply upstream deltas: + - [49ad22d2] Fix wa_keyring option parsing and verbose mode bugs + * Update standards version to 3.9.1 (no changes required). + + -- Russ Allbery <[email protected]> Thu, 12 Aug 2010 15:37:53 -0700 + webauth (3.7.1-1) unstable; urgency=low * New upstream release. diff --git a/debian/control b/debian/control index 686736a..282af91 100644 --- a/debian/control +++ b/debian/control @@ -6,7 +6,7 @@ Build-Depends: debhelper (>> 7), apache2-threaded-dev (>= 2.2), libcgi-fast-perl, libcurl4-openssl-dev, libhtml-template-perl, libkrb5-dev, libldap2-dev, libssl-dev, liburi-perl, libwww-perl, libxml-parser-perl, perl -Standards-Version: 3.9.0 +Standards-Version: 3.9.1 Homepage: http://webauth.stanford.edu/ Vcs-Git: git://git.eyrie.org/kerberos/webauth.git Vcs-Browser: http://git.eyrie.org/?p=kerberos/webauth.git diff --git a/tools/wa_keyring.c b/tools/wa_keyring.c index b102cd9..6c1e1c1 100644 --- a/tools/wa_keyring.c +++ b/tools/wa_keyring.c @@ -372,7 +372,7 @@ int main(int argc, char **argv) { int option; - bool verbose; + bool verbose = false; unsigned long id; long offset; char *end; @@ -380,7 +380,13 @@ main(int argc, char **argv) const char *command = "list"; message_program_name = argv[0]; - while ((option = getopt(argc, argv, "f:hv")) != EOF) { + + /* + * The + tells GNU getopt to stop option parsing at the first non-argument + * rather than proceeding on to find options anywhere. This allows easier + * specification of negative time offsets. + */ + while ((option = getopt(argc, argv, "+f:hv")) != EOF) { switch (option) { case 'f': keyring = optarg; @@ -391,6 +397,8 @@ main(int argc, char **argv) case 'v': verbose = true; break; + case '+': + fprintf(stderr, "%s: invalid option -- +\n", argv[0]); default: usage(1); break; @@ -402,6 +410,7 @@ main(int argc, char **argv) usage(1); if (argc > 0) { command = argv[0]; + argc--; argv++; } -- Russ Allbery ([email protected]) <http://www.eyrie.org/~eagle/> -- To UNSUBSCRIBE, email to [email protected] with a subject of "unsubscribe". Trouble? Contact [email protected] Archive: http://lists.debian.org/[email protected]

