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

Bug#691065: unblock (pre-approval): network-manager-openconnect/0.9.4.0-8



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


Reply to: