[tor-commits] [tor-browser-bundle/master] Add bug10297.patch. (Set CREATE_NO_WINDOW.)

mikeperry at torproject.org mikeperry at torproject.org
Tue Jan 21 04:47:04 UTC 2014


commit d1df0fb745342fc8f0cffee84c234abc3ef66a41
Author: David Fifield <david at bamsoftware.com>
Date:   Fri Dec 6 05:19:13 2013 +0000

    Add bug10297.patch. (Set CREATE_NO_WINDOW.)
    
    This is the patch from #10297, that causes Tor to set the
    CREATE_NO_WINDOW flag so console windows don't appear. It has been
    applied to tor master but not yet to TOR_TAG.
---
 gitian/patches/bug10297.patch |   55 +++++++++++++++++++++++++++++++++++++++++
 1 file changed, 55 insertions(+)

diff --git a/gitian/patches/bug10297.patch b/gitian/patches/bug10297.patch
new file mode 100644
index 0000000..58dfdc2
--- /dev/null
+++ b/gitian/patches/bug10297.patch
@@ -0,0 +1,55 @@
+From ad47e1a52072c2a4528e421a6a3bf9c7029f4501 Mon Sep 17 00:00:00 2001
+From: David Fifield <david at bamsoftware.com>
+Date: Thu, 5 Dec 2013 04:56:28 +0000
+Subject: [PATCH] Set CREATE_NO_WINDOW in tor_spawn_background.
+
+This flag prevents the creation of a console window popup on Windows. We
+need it for pluggable transport executables--otherwise you get blank
+console windows when you launch the 3.x browser bundle with transports
+enabled.
+
+http://msdn.microsoft.com/en-us/library/ms684863.aspx#CREATE_NO_WINDOW
+
+The browser bundles that used Vidalia used to set this flag when
+launching tor itself; it was apparently inherited by the pluggable
+transports launched by tor. In the 3.x bundles, tor is launched by some
+JavaScript code, which doesn't have the ability to set CREATE_NO_WINDOW.
+tor itself is now being compiled with the -mwindows option, so that it
+is a GUI application, not a console application, and doesn't show a
+console window in any case. This workaround doesn't work for pluggable
+transports, because they need to be able to write control messages to
+stdout.
+
+https://trac.torproject.org/projects/tor/ticket/9444#comment:30
+---
+ changes/bug10297  |    4 ++++
+ src/common/util.c |    2 +-
+ 2 files changed, 5 insertions(+), 1 deletion(-)
+ create mode 100644 changes/bug10297
+
+diff --git a/changes/bug10297 b/changes/bug10297
+new file mode 100644
+index 0000000..4cdd80f
+--- /dev/null
++++ b/changes/bug10297
+@@ -0,0 +1,4 @@
++  o Minor features:
++    - Spawn background processes using the CREATE_NO_WINDOW flag on
++      Windows, in order to prevent a console window from appearing.
++      Resolves ticket 10297.
+diff --git a/src/common/util.c b/src/common/util.c
+index 5eb0f9a..252f6af 100644
+--- a/src/common/util.c
++++ b/src/common/util.c
+@@ -3685,7 +3685,7 @@ tor_spawn_background(const char *const filename, const char **argv,
+                  TRUE,          // handles are inherited
+   /*(TODO: set CREATE_NEW CONSOLE/PROCESS_GROUP to make GetExitCodeProcess()
+    * work?) */
+-                 0,             // creation flags
++                 CREATE_NO_WINDOW,             // creation flags
+                  (env==NULL) ? NULL : env->windows_environment_block,
+                  NULL,          // use parent's current directory
+                  &siStartInfo,  // STARTUPINFO pointer
+-- 
+1.7.9.5
+





More information about the tor-commits mailing list