[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#691065: marked as done (unblock: network-manager-openconnect/0.9.4.0-8)



Your message dated Sat, 03 Nov 2012 09:37:10 +0000
with message-id <1351935430.4348.12.camel@jacala.jungle.funky-badger.org>
and subject line Re: Bug#691065: unblock (pre-approval): network-manager-openconnect/0.9.4.0-8
has caused the Debian Bug report #691065,
regarding unblock: network-manager-openconnect/0.9.4.0-8
to be marked as done.

This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.

(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact owner@bugs.debian.org
immediately.)


-- 
691065: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=691065
Debian Bug Tracking System
Contact owner@bugs.debian.org with problems
--- Begin Message ---
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 ---

Reply to: