--- Begin Message ---
- To: submit@bugs.debian.org
- Subject: unblock (pre-approval): network-manager-openconnect/0.9.4.0-8
- From: Mike Miller <mtmiller@ieee.org>
- Date: Sat, 20 Oct 2012 17:38:47 -0400
- Message-id: <20121020213847.GA23467@xps14z.home.local>
Package: release.debian.org
Severity: normal
User: release.debian.org@packages.debian.org
Usertags: unblock
Dear Release Team,
I would like to upload a new network-manager-openconnect that fixes an
RC bug (#687557 and duplicates). Without this fix the gnome-shell window
manager crashes and the VPN connection fails, unreliably but somewhere
between occasionally and frequently.
The debdiff is included below, does this look reasonable to upload and
make it into the wheezy release?
Thanks for all your work,
mike
diffstat for network-manager-openconnect-0.9.4.0 network-manager-openconnect-0.9.4.0
changelog | 8 ++
patches/05_Wait-for-QUIT-command-before-exiting.patch | 51 ++++++++++++++++++
patches/series | 1
3 files changed, 60 insertions(+)
diff -Nru network-manager-openconnect-0.9.4.0/debian/changelog network-manager-openconnect-0.9.4.0/debian/changelog
--- network-manager-openconnect-0.9.4.0/debian/changelog 2012-06-02 11:00:50.000000000 -0400
+++ network-manager-openconnect-0.9.4.0/debian/changelog 2012-10-20 16:59:22.000000000 -0400
@@ -1,3 +1,11 @@
+network-manager-openconnect (0.9.4.0-8) unstable; urgency=low
+
+ * debian/patches/05_Wait-for-QUIT-command-before-exiting.patch:
+ Cherry-pick patch from upstream git to fix a race condition causing
+ gnome-shell to crash. (Closes: #687557)
+
+ -- Mike Miller <mtmiller@ieee.org> Sat, 20 Oct 2012 16:59:21 -0400
+
network-manager-openconnect (0.9.4.0-7) unstable; urgency=low
* New patches pulled from upstream git fixing auth-dialog bugs:
diff -Nru network-manager-openconnect-0.9.4.0/debian/patches/05_Wait-for-QUIT-command-before-exiting.patch network-manager-openconnect-0.9.4.0/debian/patches/05_Wait-for-QUIT-command-before-exiting.patch
--- network-manager-openconnect-0.9.4.0/debian/patches/05_Wait-for-QUIT-command-before-exiting.patch 1969-12-31 19:00:00.000000000 -0500
+++ network-manager-openconnect-0.9.4.0/debian/patches/05_Wait-for-QUIT-command-before-exiting.patch 2012-10-20 16:31:10.000000000 -0400
@@ -0,0 +1,51 @@
+From: Dan Winship <danw@gnome.org>
+Origin: upstream, http://git.gnome.org/browse/network-manager-openconnect/commit/?id=d0c4ce17395d48566300e7bdd25a06617d13ecb3
+Bug: https://bugzilla.gnome.org/show_bug.cgi?id=674991
+Bug-Debian: http://bugs.debian.org/687557
+Subject: [PATCH] Wait for "QUIT" command before exiting
+
+According to the NM VPN auth dialog "protocol", the helper isn't
+supposed to exit until the caller sends "QUIT". Doing otherwise
+creates a race condition. Copy in the code that the other plugins use
+for this.
+--- a/auth-dialog/main.c
++++ b/auth-dialog/main.c
+@@ -1434,6 +1434,30 @@ static auth_ui_data *init_ui_data (char
+ return ui_data;
+ }
+
++static void wait_for_quit (void)
++{
++ GString *str;
++ char c;
++ ssize_t n;
++ time_t start;
++
++ str = g_string_sized_new (10);
++ start = time (NULL);
++ do {
++ errno = 0;
++ n = read (0, &c, 1);
++ if (n == 0 || (n < 0 && errno == EAGAIN))
++ g_usleep (G_USEC_PER_SEC / 10);
++ else if (n == 1) {
++ g_string_append_c (str, c);
++ if (strstr (str->str, "QUIT") || (str->len > 10))
++ break;
++ } else
++ break;
++ } while (time (NULL) < start + 20);
++ g_string_free (str, TRUE);
++}
++
+ static struct option long_options[] = {
+ {"reprompt", 0, 0, 'r'},
+ {"uuid", 1, 0, 'u'},
+@@ -1538,5 +1562,7 @@ int main (int argc, char **argv)
+ printf("\n\n");
+ fflush(stdout);
+
++ wait_for_quit ();
++
+ return _ui_data->retval;
+ }
diff -Nru network-manager-openconnect-0.9.4.0/debian/patches/series network-manager-openconnect-0.9.4.0/debian/patches/series
--- network-manager-openconnect-0.9.4.0/debian/patches/series 2012-06-02 09:29:36.000000000 -0400
+++ network-manager-openconnect-0.9.4.0/debian/patches/series 2012-10-20 16:22:35.000000000 -0400
@@ -1,3 +1,4 @@
01_implement-proper-cancellation.patch
02_fix-ignoring-return-value.patch
04_fix-hitting-cancel-after-failure.patch
+05_Wait-for-QUIT-command-before-exiting.patch
--- End Message ---
--- Begin Message ---
[resending to the correct bug address *sigh*]
On Fri, 2012-11-02 at 20:30 +0000, Adam D. Barratt wrote:
> On Fri, 2012-11-02 at 09:37 -0400, Mike Miller wrote:
> > On Fri, Nov 02, 2012 at 10:03:55AM +0000, Adam D. Barratt wrote:
> > > Isn't that "wait for QUIT or any 11 eleven characters", rather than
> > > "wait for QUIT"?
> >
> > Yes, this is true. This is a helper program spawned from NM applet or
> > gnome-shell and communicating over a pipe. The NM authentication helper
> > programs all use the identical wait_for_quit function, which is really
> > waiting for the first of any of the following "semaphores" from the
> > parent:
>
> Hmmm. Still seems a bit odd to me, but as it appears to be the "normal"
> way of doing it... :/
>
> Unblocked; thanks.
>
> Regards,
>
> Adam
--- End Message ---