[or-cvs] r19528: {torvm} Improve msi package for 0.0.2, fix cleanup cmdline opt (in torvm/trunk/build/win32/src: pkg torvm-w32)

coderman at seul.org coderman at seul.org
Sun May 17 18:01:06 UTC 2009


Author: coderman
Date: 2009-05-17 14:01:06 -0400 (Sun, 17 May 2009)
New Revision: 19528

Modified:
   torvm/trunk/build/win32/src/pkg/torvm.wxs
   torvm/trunk/build/win32/src/torvm-w32/torvm.c
Log:
Improve msi package for 0.0.2, fix cleanup cmdline opt

Modified: torvm/trunk/build/win32/src/pkg/torvm.wxs
===================================================================
--- torvm/trunk/build/win32/src/pkg/torvm.wxs	2009-05-17 09:15:34 UTC (rev 19527)
+++ torvm/trunk/build/win32/src/pkg/torvm.wxs	2009-05-17 18:01:06 UTC (rev 19528)
@@ -77,9 +77,9 @@
                       Arguments="--bundle"
                       Directory="ShortcutFolder" WorkingDirectory="ProgramsInstDir"
                       Icon="torvm.ico" IconIndex="0" />
-            <Shortcut Id="TorVMDebugStartMenuShortcut"
-                      Name="Tor VM (debug)" Target="[ProgramsInstDir]torvm.exe"
-                      Arguments="--bundle --verbose"
+            <Shortcut Id="TorVMRepairStartMenuShortcut"
+                      Name="Tor VM Repair" Target="[ProgramsInstDir]torvm.exe"
+                      Arguments="--bundle --clean"
                       Directory="ShortcutFolder" WorkingDirectory="ProgramsInstDir"
                       Icon="torvm.ico" IconIndex="0" />
             <RemoveFolder Id="RemoveShortcutFolder" On="uninstall" />
@@ -97,11 +97,6 @@
                     Arguments="--bundle"
                     Directory="DesktopFolder" WorkingDirectory="ProgramsInstDir"
                     Icon="torvm.ico" IconIndex="0" />
-          <Shortcut Id="TorVMDebugDesktopShortcut"
-                    Name="Tor VM (debug)" Target="[ProgramsInstDir]torvm.exe"
-                    Arguments="--bundle --verbose"
-                    Directory="DesktopFolder" WorkingDirectory="ProgramsInstDir"
-                    Icon="torvm.ico" IconIndex="0" />
         </Component>
       </Directory>
 

Modified: torvm/trunk/build/win32/src/torvm-w32/torvm.c
===================================================================
--- torvm/trunk/build/win32/src/torvm-w32/torvm.c	2009-05-17 09:15:34 UTC (rev 19527)
+++ torvm/trunk/build/win32/src/torvm-w32/torvm.c	2009-05-17 18:01:06 UTC (rev 19528)
@@ -1966,6 +1966,7 @@
   BOOL vmaccel = FALSE;
   BOOL bundle = FALSE;
   BOOL follow = FALSE;
+  BOOL clean = FALSE;
   BOOL indebug = FALSE;
   BOOL vmnop = FALSE;
   BOOL noinit = FALSE;
@@ -2018,9 +2019,8 @@
 
         case 'c':
           ldebug ("Set option %s.", torvm_options[optidx].name);
-          uninstalltap();
-          restorenetconfig();
-          exit(0);
+          clean = TRUE;
+          break;
 
         case 'X':
           ldebug ("Set option %s.", torvm_options[optidx].name);
@@ -2069,8 +2069,15 @@
    * port is no longer accepting connections and then we issue a logoff request.
    */ 
   if (follow) {
-    while(tryconnect(ctliparg, atol(ctlportarg))) {
+    while(follow) {
       Sleep(1000);
+      if (!tryconnect(ctliparg, atol(ctlportarg))) {
+        Sleep(1000);
+        /* XXX: Increase prio if intermittent connect timeouts? */
+        if (!tryconnect(ctliparg, atol(ctlportarg))) {
+          follow = FALSE;
+        }
+      }
     }
     /* At this point Tor in the Admin user desktop inside the VM has failed or exited.
      * This is our cue to force the restricted user to log off.
@@ -2112,6 +2119,11 @@
     fatal ("Unable to prepare process environment.");
   }
 
+  if (clean) {
+    uninstalltap();
+    goto shutdown;
+  }
+
   dispmsg("Tor VM is starting. Please be patient.");
   if (!vmnop) {
     if (!savenetconfig()) {
@@ -2331,12 +2343,11 @@
   dispmsg("Shutting down.");
   dispmsg("CAUTION: Restoring network settings. Do NOT close this window!");
 
+ shutdown:
   if (bundle) {
     disableuser(TOR_RESTRICTED_USER);
     /* cleanruserfiles(TOR_RESTRICTED_USER); */
   }
-
- shutdown:
   if (getosversion() > OS_2000) {
     if (! enablefirewall()) {
       lerror ("Unable to re-enable windows firewall.");



More information about the tor-commits mailing list