[or-cvs] r18993: {torvm} Get ready for tagging 0.0.1. (in torvm/trunk: . build/kamikaze/patches build/win32 build/win32/files build/win32/patches build/win32/src/pkg build/win32/src/torvm-w32)

coderman at seul.org coderman at seul.org
Sat Mar 14 15:48:40 UTC 2009


Author: coderman
Date: 2009-03-14 11:48:40 -0400 (Sat, 14 Mar 2009)
New Revision: 18993

Added:
   torvm/trunk/build/win32/files/defpolipo.conf
   torvm/trunk/build/win32/files/defvidalia.conf
Modified:
   torvm/trunk/Makefile
   torvm/trunk/build/kamikaze/patches/001-kamikaze-tor-package.patch
   torvm/trunk/build/kamikaze/patches/002-kamikaze-mod-basefiles.patch
   torvm/trunk/build/kamikaze/patches/003-kamikaze-kernel-config.patch
   torvm/trunk/build/kamikaze/patches/005-kamikaze-build-config.patch
   torvm/trunk/build/win32/Makefile
   torvm/trunk/build/win32/files/buildall.sh
   torvm/trunk/build/win32/patches/vidalia-torvm.patch
   torvm/trunk/build/win32/src/pkg/license.wxs
   torvm/trunk/build/win32/src/pkg/torvm.wxs
   torvm/trunk/build/win32/src/torvm-w32/torvm.c
Log:
Get ready for tagging 0.0.1.

Modified: torvm/trunk/Makefile
===================================================================
--- torvm/trunk/Makefile	2009-03-14 12:44:50 UTC (rev 18992)
+++ torvm/trunk/Makefile	2009-03-14 15:48:40 UTC (rev 18993)
@@ -69,7 +69,7 @@
 	@if [ ! -f .build_prereqs_verified ]; then \
 		echo "Verifying build prerequisites ..." >&2; \
 		NOFOUND=""; \
-		REQS="make gcc g++ gawk bison flex unzip bzip2 patch perl wget tar svn autoconf mkisofs sha1sum"; \
+		REQS="make gcc g++ gawk bison flex unzip bzip2 patch perl wget tar svn git autoconf mkisofs sha1sum"; \
 		for REQ in $$REQS; do \
 			which $$REQ >/dev/null 2>&1; \
 			if (( $$? != 0 )); then \

Modified: torvm/trunk/build/kamikaze/patches/001-kamikaze-tor-package.patch
===================================================================
--- torvm/trunk/build/kamikaze/patches/001-kamikaze-tor-package.patch	2009-03-14 12:44:50 UTC (rev 18992)
+++ torvm/trunk/build/kamikaze/patches/001-kamikaze-tor-package.patch	2009-03-14 15:48:40 UTC (rev 18993)
@@ -1,6 +1,6 @@
 diff -Naur a/package/tor/Makefile b/package/tor/Makefile
 --- a/package/tor/Makefile	1970-01-01 00:00:00.000000000 +0000
-+++ b/package/tor/Makefile	2009-03-10 07:00:07.492772805 +0000
++++ b/package/tor/Makefile	2009-03-14 04:07:01.620407064 +0000
 @@ -0,0 +1,112 @@
 +#
 +# Copyright (C) 2008 OpenWrt.org
@@ -30,7 +30,7 @@
 +  CATEGORY:=Network
 +  DEPENDS:=+libevent +libopenssl +libpthread +zlib
 +  TITLE:=An anonymous Internet communication system
-+  URL:=http://tor.eff.org/
++  URL:=https://www.torproject.org/
 +endef
 +
 +define Package/tor/description
@@ -75,7 +75,7 @@
 +fi
 +
 +if [ -z "$$(grep ^\\$${name}: $${IPKG_INSTROOT}/etc/passwd)" ]; then
-+        echo "adding user $name to /etc/passwd"
++        echo "adding user $$name to /etc/passwd"
 +        echo "$${name}:x:$${id}:$${id}:$${name}:/tmp/.$${name}:/bin/false" >> $${IPKG_INSTROOT}/etc/passwd
 +fi
 +endef
@@ -116,8 +116,8 @@
 +$(eval $(call BuildPackage,tor))
 diff -Naur a/package/tor/files/tor.init b/package/tor/files/tor.init
 --- a/package/tor/files/tor.init	1970-01-01 00:00:00.000000000 +0000
-+++ b/package/tor/files/tor.init	2009-02-01 09:56:07.585143480 +0000
-@@ -0,0 +1,113 @@
++++ b/package/tor/files/tor.init	2009-03-13 15:35:54.963580280 +0000
+@@ -0,0 +1,114 @@
 +#!/bin/sh 
 +
 +BIN=tor
@@ -175,8 +175,9 @@
 +	chown $RUN_USER:$RUN_GROUP $CONF_F
 +	# start tor process
 +	$BIN -f $CONF_F $OPTIONS > $SLOG_F 2>&1
-+	# TODO for now used fixed control port accept rule
++	# TODO for now used fixed control port and socks port accept rule
 +	iptables -t nat -I PREROUTING -i $TOR_INTF -d $MYIP -p tcp --dport 9051 -j ACCEPT
++	iptables -t nat -I PREROUTING -i $TOR_INTF -d $MYIP -p tcp --dport 9050 -j ACCEPT
 +	# forcibly filter some traffic which should never go over Tor:
 +	# no SMTP
 +	iptables -t nat -A PREROUTING -i $TOR_INTF -s ! $MYIP -p tcp --dport 25 -j DROP
@@ -233,8 +234,8 @@
 +exit 0
 diff -Naur a/package/tor/files/torrc b/package/tor/files/torrc
 --- a/package/tor/files/torrc	1970-01-01 00:00:00.000000000 +0000
-+++ b/package/tor/files/torrc	2009-02-01 09:56:07.586143328 +0000
-@@ -0,0 +1,24 @@
++++ b/package/tor/files/torrc	2009-03-13 16:03:40.525376400 +0000
+@@ -0,0 +1,26 @@
 +# Configuration for Tor VM
 +RunAsDaemon 1
 +User tor
@@ -243,7 +244,9 @@
 +DataDirectory /home/tor/data
 +Log notice file /var/log/tor/notices.log
 +
-+# Rely on netfilter for access control to transproxy ports
++# XXX For now rely on netfilter for access control to transproxy ports
++SocksListenAddress 0.0.0.0
++SocksPort 9050
 +TransListenAddress 0.0.0.0
 +TransPort 9095
 +DNSListenAddress 0.0.0.0

Modified: torvm/trunk/build/kamikaze/patches/002-kamikaze-mod-basefiles.patch
===================================================================
--- torvm/trunk/build/kamikaze/patches/002-kamikaze-mod-basefiles.patch	2009-03-14 12:44:50 UTC (rev 18992)
+++ torvm/trunk/build/kamikaze/patches/002-kamikaze-mod-basefiles.patch	2009-03-14 15:48:40 UTC (rev 18993)
@@ -1229,8 +1229,8 @@
 -tty1::askfirst:/bin/ash --login
 diff -Naur a/package/base-files/files/etc/preinit b/package/base-files/files/etc/preinit
 --- a/package/base-files/files/etc/preinit	2008-08-14 22:21:35.073308000 +0000
-+++ b/package/base-files/files/etc/preinit	2009-02-01 09:43:52.954824264 +0000
-@@ -1,88 +1,198 @@
++++ b/package/base-files/files/etc/preinit	2009-03-13 14:59:05.237509704 +0000
+@@ -1,88 +1,206 @@
  #!/bin/sh
 -# Copyright (C) 2006 OpenWrt.org
 +# Copyright (C) 2008-2009  The Tor Project, Inc.
@@ -1266,12 +1266,20 @@
  
 -size=$(awk '/MemTotal:/ {l=5242880;mt=($2*1024);print((s=mt/2)<l)&&(mt>l)?mt-l:s}' /proc/meminfo)
 -mount tmpfs /tmp -t tmpfs -o size=$size,nosuid,nodev,mode=1777
++# if we don't have /proc something is very wrong.
++# abort to shell as this is likely a test kernel image.
++if [ ! -d /proc/self ]; then
++  d "ERROR: unable to access /proc , aborting init."
++  exec /bin/sh
++fi
++
 +syslogd >/dev/null 2>&1
 +# do we need it? klogd -c 1 >/dev/null 2>&1
 +
 +clear;echo
 +d "Initializing ..."
 +
++# XXX set from cmdline
 +hostname "Tor_VM" >/dev/null 2>&1
  
  if grep devfs /proc/filesystems > /dev/null; then
@@ -1458,7 +1466,7 @@
 +  d "Remember to start Tor via /etc/init.d/tor start when ready."
 +else
 +  echo " done."
-+  dn "Starting tor ... "
++  dn "Starting Tor ... "
 +  /etc/init.d/tor start
 +  echo "done."
 +  echo

Modified: torvm/trunk/build/kamikaze/patches/003-kamikaze-kernel-config.patch
===================================================================
--- torvm/trunk/build/kamikaze/patches/003-kamikaze-kernel-config.patch	2009-03-14 12:44:50 UTC (rev 18992)
+++ torvm/trunk/build/kamikaze/patches/003-kamikaze-kernel-config.patch	2009-03-14 15:48:40 UTC (rev 18993)
@@ -19,13 +19,13 @@
  
 diff -Naur a/target/linux/x86/config-2.6.27 b/target/linux/x86/config-2.6.27
 --- a/target/linux/x86/config-2.6.27	2008-12-10 01:39:29.530827000 +0000
-+++ b/target/linux/x86/config-2.6.27	2009-02-10 13:21:55.274840920 +0000
-@@ -1,8 +1,10 @@
++++ b/target/linux/x86/config-2.6.27	2009-03-14 14:08:31.048979984 +0000
+@@ -1,8 +1,11 @@
 +CONFIG_LOCALVERSION="-torvm"
++CONFIG_INITRAMFS_SOURCE=""
 +# CONFIG_BSD_PROCESS_ACCT is not set
  # CONFIG_3C515 is not set
--CONFIG_4KSTACKS=y
-+# CONFIG_4KSTACKS is not set
+ CONFIG_4KSTACKS=y
  # CONFIG_60XX_WDT is not set
  # CONFIG_64BIT is not set
 -CONFIG_8139TOO=m
@@ -33,7 +33,7 @@
  # CONFIG_8139TOO_8129 is not set
  CONFIG_8139TOO_PIO=y
  # CONFIG_8139TOO_TUNE_TWISTER is not set
-@@ -20,23 +22,23 @@
+@@ -20,18 +23,18 @@
  CONFIG_ARCH_HAS_CPU_RELAX=y
  # CONFIG_ARCH_HAS_ILOG2_U32 is not set
  # CONFIG_ARCH_HAS_ILOG2_U64 is not set
@@ -56,13 +56,7 @@
  # CONFIG_ATA_NONSTANDARD is not set
  # CONFIG_AUDIT_ARCH is not set
  CONFIG_BASE_SMALL=0
- # CONFIG_BINFMT_AOUT is not set
--CONFIG_BINFMT_MISC=y
-+# CONFIG_BINFMT_MISC is not set
- CONFIG_BITREVERSE=y
- # CONFIG_BLK_DEV_4DRIVES is not set
- # CONFIG_BLK_DEV_ALI14XX is not set
-@@ -50,42 +52,26 @@
+@@ -50,42 +53,26 @@
  CONFIG_BLK_DEV_IDEDMA_SFF=y
  CONFIG_BLK_DEV_IDEPCI=y
  # CONFIG_BLK_DEV_QD65XX is not set
@@ -77,9 +71,8 @@
 +# CONFIG_CARDBUS is not set
  CONFIG_CLASSIC_RCU=y
 -CONFIG_CLOCKSOURCE_WATCHDOG=y
--CONFIG_COMPAT_VDSO=y
+ CONFIG_COMPAT_VDSO=y
 -CONFIG_CONSOLE_TRANSLATIONS=y
-+# CONFIG_COMPAT_VDSO is not set
  # CONFIG_CPU5_WDT is not set
 -CONFIG_CPU_FREQ=y
 -# CONFIG_CPU_FREQ_DEBUG is not set
@@ -114,7 +107,7 @@
  CONFIG_DEFAULT_IO_DELAY_TYPE=0
  # CONFIG_DELL_RBU is not set
  # CONFIG_DEPCA is not set
-@@ -95,7 +81,7 @@
+@@ -95,7 +82,7 @@
  CONFIG_DNOTIFY=y
  CONFIG_DOUBLEFAULT=y
  CONFIG_DUMMY_CONSOLE=y
@@ -123,7 +116,7 @@
  # CONFIG_E1000_DISABLE_PACKET_SPLIT is not set
  CONFIG_EARLY_PRINTK=y
  # CONFIG_EDAC is not set
-@@ -111,13 +97,11 @@
+@@ -111,13 +98,11 @@
  # CONFIG_EUROTECH_WDT is not set
  CONFIG_EXT2_FS=y
  CONFIG_FAST_CMPXCHG_LOCAL=y
@@ -139,7 +132,7 @@
  CONFIG_GENERIC_CLOCKEVENTS_BUILD=y
  CONFIG_GENERIC_CMOS_UPDATE=y
  # CONFIG_GENERIC_CPU is not set
-@@ -133,23 +117,20 @@
+@@ -133,46 +118,45 @@
  CONFIG_HAS_DMA=y
  CONFIG_HAS_IOMEM=y
  CONFIG_HAS_IOPORT=y
@@ -171,7 +164,10 @@
  CONFIG_HAVE_UNSTABLE_SCHED_CLOCK=y
  CONFIG_HID=y
  CONFIG_HID_SUPPORT=y
-@@ -158,21 +139,18 @@
++CONFIG_NOHIGHMEM=y
++# CONFIG_RESOURCES_64BIT is not set
+ # CONFIG_HIGHMEM4G is not set
+ # CONFIG_HIGHMEM64G is not set
  # CONFIG_HIGH_RES_TIMERS is not set
  # CONFIG_HPET_TIMER is not set
  # CONFIG_HP_WATCHDOG is not set
@@ -179,6 +175,9 @@
 +# CONFIG_HT_IRQ is not set
  # CONFIG_HUGETLBFS is not set
 -CONFIG_HWMON=m
++# CONFIG_RELOCATABLE is not set
++# CONFIG_HOTPLUG_CPU is not set
++# CONFIG_NETFILTER_NETLINK_LOG is not set
 +# CONFIG_HWMON is not set
  # CONFIG_HWMON_DEBUG_CHIP is not set
 -CONFIG_HWMON_VID=m
@@ -197,7 +196,7 @@
  # CONFIG_I6300ESB_WDT is not set
  # CONFIG_I82365 is not set
  # CONFIG_I8K is not set
-@@ -184,15 +162,9 @@
+@@ -184,15 +168,9 @@
  CONFIG_IDE_GENERIC=y
  # CONFIG_IDE_PROC_FS is not set
  CONFIG_IDE_TIMINGS=y
@@ -213,7 +212,7 @@
  # CONFIG_IOMMU_HELPER is not set
  CONFIG_IO_DELAY_0X80=y
  # CONFIG_IO_DELAY_0XED is not set
-@@ -210,21 +182,23 @@
+@@ -210,26 +188,24 @@
  # CONFIG_IT8712F_WDT is not set
  # CONFIG_ITCO_WDT is not set
  CONFIG_KALLSYMS=y
@@ -235,12 +234,17 @@
 +CONFIG_LEDS_NET48XX=y
  # CONFIG_LEDS_WRAP is not set
  CONFIG_LOCK_KERNEL=y
+-CONFIG_M386=y
 +CONFIG_LZO_COMPRESS=y
 +CONFIG_LZO_DECOMPRESS=y
- CONFIG_M386=y
  # CONFIG_M486 is not set
- # CONFIG_M586 is not set
-@@ -239,35 +213,32 @@
+-# CONFIG_M586 is not set
+-# CONFIG_M586MMX is not set
+-# CONFIG_M586TSC is not set
+ # CONFIG_M686 is not set
+ # CONFIG_MACHZ_WDT is not set
+ # CONFIG_MACINTOSH_DRIVERS is not set
+@@ -239,35 +215,32 @@
  # CONFIG_MCRUSOE is not set
  # CONFIG_MCYRIXIII is not set
  # CONFIG_MDA_CONSOLE is not set
@@ -291,7 +295,7 @@
  # CONFIG_MOUSE_SERIAL is not set
  # CONFIG_MOUSE_VSXXXAA is not set
  # CONFIG_MPENTIUM4 is not set
-@@ -275,38 +246,7 @@
+@@ -275,38 +248,6 @@
  # CONFIG_MPENTIUMIII is not set
  # CONFIG_MPENTIUMM is not set
  # CONFIG_MPSC is not set
@@ -327,11 +331,10 @@
 -# CONFIG_MTD_ROM is not set
 -# CONFIG_MTD_SLRAM is not set
 -# CONFIG_MTD_TS5500 is not set
-+# CONFIG_MTD is not set
  CONFIG_MTRR=y
  # CONFIG_MTRR_SANITIZER is not set
  # CONFIG_MVIAC3_2 is not set
-@@ -315,24 +255,23 @@
+@@ -315,24 +256,23 @@
  # CONFIG_MWINCHIP3D is not set
  # CONFIG_MWINCHIPC6 is not set
  CONFIG_NAMESPACES=y
@@ -362,7 +365,7 @@
  CONFIG_PCI=y
  # CONFIG_PCIEPORTBUS is not set
  CONFIG_PCI_BIOS=y
-@@ -343,11 +282,11 @@
+@@ -343,11 +283,11 @@
  # CONFIG_PCI_GODIRECT is not set
  # CONFIG_PCI_GOMMCONFIG is not set
  # CONFIG_PCI_GOOLPC is not set
@@ -379,7 +382,7 @@
  CONFIG_PCSPKR_PLATFORM=y
  # CONFIG_PCWATCHDOG is not set
  CONFIG_PHYSICAL_ALIGN=0x100000
-@@ -359,31 +298,26 @@
+@@ -359,6 +299,7 @@
  CONFIG_PROC_PAGE_MONITOR=y
  # CONFIG_PROVIDE_OHCI1394_DMA_INIT is not set
  # CONFIG_R6040 is not set
@@ -387,10 +390,7 @@
  # CONFIG_RELOCATABLE is not set
  CONFIG_RFKILL_LEDS=y
  CONFIG_RTC=y
--CONFIG_RWSEM_GENERIC_SPINLOCK=y
--# CONFIG_RWSEM_XCHGADD_ALGORITHM is not set
-+# CONFIG_RWSEM_GENERIC_SPINLOCK is not set
-+CONFIG_RWSEM_XCHGADD_ALGORITHM=y
+@@ -367,23 +308,17 @@
  # CONFIG_SBC7240_WDT is not set
  # CONFIG_SBC8360_WDT is not set
  # CONFIG_SBC_EPX_C3_WATCHDOG is not set
@@ -420,7 +420,7 @@
  # CONFIG_SERIAL_8250_CS is not set
  # CONFIG_SERIAL_8250_EXTENDED is not set
  CONFIG_SERIAL_8250_PCI=y
-@@ -395,11 +329,17 @@
+@@ -395,11 +330,17 @@
  # CONFIG_SERIO_PCIPS2 is not set
  # CONFIG_SERIO_RAW is not set
  CONFIG_SERIO_SERPORT=y
@@ -441,7 +441,7 @@
  # CONFIG_SONYPI is not set
  CONFIG_SPARSEMEM_STATIC=y
  # CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set
-@@ -412,87 +352,266 @@
+@@ -412,87 +353,318 @@
  # CONFIG_TELCLOCK is not set
  # CONFIG_TICK_ONESHOT is not set
  # CONFIG_TOSHIBA is not set
@@ -723,11 +723,30 @@
 +CONFIG_GENERIC_CLOCKEVENTS_BROADCAST=y
 +CONFIG_HIDRAW=y
 +CONFIG_IDE_ARCH_OBSOLETE_INIT=y
-+CONFIG_M586MMX=y
-+CONFIG_M586TSC=y
++# CONFIG_M386 is not set
++# CONFIG_M486 is not set
 +CONFIG_M586=y
-+CONFIG_MII=y
-+CONFIG_MMU=y
++# CONFIG_M586TSC is not set
++# CONFIG_M586MMX is not set
++# CONFIG_M686 is not set
++# CONFIG_MPENTIUMII is not set
++# CONFIG_MPENTIUMIII is not set
++# CONFIG_MPENTIUMM is not set
++# CONFIG_MPENTIUM4 is not set
++# CONFIG_MK6 is not set
++# CONFIG_MK7 is not set
++# CONFIG_MK8 is not set
++# CONFIG_MCRUSOE is not set
++# CONFIG_MEFFICEON is not set
++# CONFIG_MWINCHIPC6 is not set
++# CONFIG_MWINCHIP2 is not set
++# CONFIG_MWINCHIP3D is not set
++# CONFIG_MGEODEGX1 is not set
++# CONFIG_MGEODE_LX is not set
++# CONFIG_MCYRIXIII is not set
++# CONFIG_MVIAC3_2 is not set
++# CONFIG_MVIAC7 is not set
++# CONFIG_MCORE2 is not set
 +CONFIG_SERIAL_8250_CONSOLE=y
 +CONFIG_SERIAL_8250_NR_UARTS=2
 +CONFIG_SERIAL_8250_RUNTIME_UARTS=2
@@ -744,3 +763,36 @@
 +CONFIG_X86=y
 +CONFIG_ZONE_DMA_FLAG=1
 +CONFIG_ZONE_DMA=y
++CONFIG_MTD=y
++# CONFIG_MTD_ABSENT is not set
++CONFIG_MTD_BLKDEVS=y
++CONFIG_MTD_BLOCK=y
++CONFIG_MTD_BLOCK2MTD=y
++# CONFIG_MTD_CFI is not set
++# CONFIG_MTD_CFI_I1 is not set
++# CONFIG_MTD_CFI_I2 is not set
++# CONFIG_MTD_CFI_I4 is not set
++# CONFIG_MTD_CFI_I8 is not set
++CONFIG_MTD_CHAR=y
++# CONFIG_MTD_CMDLINE_PARTS is not set
++# CONFIG_MTD_COMPLEX_MAPPINGS is not set
++# CONFIG_MTD_CONCAT is not set
++# CONFIG_MTD_JEDECPROBE is not set
++# CONFIG_MTD_MAP_BANK_WIDTH_1 is not set
++# CONFIG_MTD_MAP_BANK_WIDTH_2 is not set
++# CONFIG_MTD_MAP_BANK_WIDTH_4 is not set
++# CONFIG_MTD_MAP_BANK_WIDTH_8 is not set
++# CONFIG_MTD_MAP_BANK_WIDTH_16 is not set
++# CONFIG_MTD_MAP_BANK_WIDTH_32 is not set
++# CONFIG_MTD_MTDRAM is not set
++# CONFIG_MTD_ONENAND is not set
++CONFIG_MTD_PARTITIONS=y
++# CONFIG_MTD_PHRAM is not set
++# CONFIG_MTD_PLATRAM is not set
++# CONFIG_MTD_PMC551 is not set
++# CONFIG_MTD_RAM is not set
++# CONFIG_MTD_REDBOOT_PARTS is not set
++# CONFIG_MTD_ROM is not set
++# CONFIG_MTD_SLRAM is not set
++# CONFIG_MTD_TS5500 is not set
++

Modified: torvm/trunk/build/kamikaze/patches/005-kamikaze-build-config.patch
===================================================================
--- torvm/trunk/build/kamikaze/patches/005-kamikaze-build-config.patch	2009-03-14 12:44:50 UTC (rev 18992)
+++ torvm/trunk/build/kamikaze/patches/005-kamikaze-build-config.patch	2009-03-14 15:48:40 UTC (rev 18993)
@@ -1,12 +1,7 @@
 diff -Naur a/.config b/.config
 --- a/.config	1970-01-01 00:00:00.000000000 +0000
-+++ b/.config	2009-02-08 15:23:46.594944296 +0000
-@@ -0,0 +1,1311 @@
-+#
-+# Automatically generated make config: don't edit
-+# OpenWrt version: Kamikaze (unknown)
-+# Sun Feb  8 07:23:11 2009
-+#
++++ b/.config	2009-03-14 13:28:04.407885504 +0000
+@@ -0,0 +1,1298 @@
 +CONFIG_HAVE_DOT_CONFIG=y
 +# CONFIG_TARGET_ppc40x is not set
 +# CONFIG_TARGET_ppc44x is not set
@@ -36,25 +31,54 @@
 +# CONFIG_TARGET_uml is not set
 +# CONFIG_TARGET_s3c24xx is not set
 +CONFIG_TARGET_x86=y
-+# CONFIG_TARGET_ixp4xx_generic is not set
-+# CONFIG_TARGET_ixp4xx_harddisk is not set
-+# CONFIG_TARGET_adm5120_router_le is not set
-+# CONFIG_TARGET_adm5120_router_be is not set
 +# CONFIG_TARGET_ifxmips_generic is not set
 +# CONFIG_TARGET_ifxmips_nfs is not set
 +CONFIG_TARGET_x86_generic=y
++# CONFIG_TARGET_ixp4xx_generic is not set
++# CONFIG_TARGET_ixp4xx_harddisk is not set
 +# CONFIG_TARGET_ps3_petitboot is not set
++# CONFIG_TARGET_adm5120_router_le is not set
++# CONFIG_TARGET_adm5120_router_be is not set
++# CONFIG_TARGET_ifxmips_None is not set
++# CONFIG_TARGET_ifxmips_Atheros is not set
++# CONFIG_TARGET_ifxmips_Ralink is not set
++# CONFIG_TARGET_ifxmips_generic_None is not set
++# CONFIG_TARGET_ifxmips_generic_Atheros is not set
++# CONFIG_TARGET_ifxmips_generic_Ralink is not set
++# CONFIG_TARGET_ifxmips_nfs_None is not set
++# CONFIG_TARGET_ifxmips_nfs_Atheros is not set
++# CONFIG_TARGET_ifxmips_nfs_Ralink is not set
 +# CONFIG_TARGET_ppc44x_Default is not set
 +# CONFIG_TARGET_etrax_default is not set
 +# CONFIG_TARGET_etrax_vhdl_no_fb is not set
++# CONFIG_TARGET_brcm_2_4_Broadcom is not set
++# CONFIG_TARGET_brcm_2_4_BroadcomMimo is not set
++# CONFIG_TARGET_brcm_2_4_Atheros is not set
++# CONFIG_TARGET_brcm_2_4_None is not set
++# CONFIG_TARGET_brcm_2_4_USBGeneric is not set
++# CONFIG_TARGET_brcm_2_4_WL500G is not set
++# CONFIG_TARGET_brcm_2_4_WL500GD is not set
++# CONFIG_TARGET_brcm_2_4_WL500GP is not set
++# CONFIG_TARGET_brcm_2_4_WL700GE is not set
++# CONFIG_TARGET_brcm_2_4_WLHDD is not set
++# CONFIG_TARGET_brcm_2_4_WRT54G3G is not set
 +# CONFIG_TARGET_iop32x_Default is not set
++# CONFIG_TARGET_amazon_Default is not set
++CONFIG_TARGET_x86_generic_Generic=y
++# CONFIG_TARGET_x86_generic_Alix is not set
++# CONFIG_TARGET_x86_generic_Pcengines is not set
++# CONFIG_TARGET_x86_generic_Soekris45xx is not set
++# CONFIG_TARGET_x86_generic_Soekris48xx is not set
 +# CONFIG_TARGET_orion_Default is not set
 +# CONFIG_TARGET_pxa_Default is not set
 +# CONFIG_TARGET_ar7_Texas is not set
 +# CONFIG_TARGET_ar7_None is not set
++# CONFIG_TARGET_ar71xx_Default is not set
 +# CONFIG_TARGET_avr32_Default is not set
 +# CONFIG_TARGET_olpc_Default is not set
 +# CONFIG_TARGET_rb532_Default is not set
++# CONFIG_TARGET_uml_Default is not set
++# CONFIG_TARGET_sibyte_Default is not set
 +# CONFIG_TARGET_ixp4xx_generic_Default is not set
 +# CONFIG_TARGET_ixp4xx_generic_Atheros-ath5k is not set
 +# CONFIG_TARGET_ixp4xx_generic_NSLU2 is not set
@@ -62,9 +86,17 @@
 +# CONFIG_TARGET_ixp4xx_generic_DSMG600RevA is not set
 +# CONFIG_TARGET_ixp4xx_generic_USR8200 is not set
 +# CONFIG_TARGET_ixp4xx_harddisk_FSG3 is not set
++# CONFIG_TARGET_storm_Default is not set
++# CONFIG_TARGET_atheros_Default is not set
++# CONFIG_TARGET_ps3_petitboot_Default is not set
 +# CONFIG_TARGET_au1000_Atheros is not set
 +# CONFIG_TARGET_au1000_InternetBox is not set
 +# CONFIG_TARGET_au1000_MeshCube is not set
++# CONFIG_TARGET_rdc_amit is not set
++# CONFIG_TARGET_rdc_ar525w is not set
++# CONFIG_TARGET_rdc_dir450 is not set
++# CONFIG_TARGET_rdc_g570s is not set
++# CONFIG_TARGET_rdc_wl153 is not set
 +# CONFIG_TARGET_adm5120_router_le_Generic is not set
 +# CONFIG_TARGET_adm5120_router_le_CAS630 is not set
 +# CONFIG_TARGET_adm5120_router_le_CAS630W is not set
@@ -103,43 +135,6 @@
 +# CONFIG_TARGET_brcm47xx_WGT634U is not set
 +# CONFIG_TARGET_brcm47xx_WL500GPv1 is not set
 +# CONFIG_TARGET_brcm47xx_WRTSL54GS is not set
-+# CONFIG_TARGET_ifxmips_None is not set
-+# CONFIG_TARGET_ifxmips_Atheros is not set
-+# CONFIG_TARGET_ifxmips_Ralink is not set
-+# CONFIG_TARGET_ifxmips_generic_None is not set
-+# CONFIG_TARGET_ifxmips_generic_Atheros is not set
-+# CONFIG_TARGET_ifxmips_generic_Ralink is not set
-+# CONFIG_TARGET_ifxmips_nfs_None is not set
-+# CONFIG_TARGET_ifxmips_nfs_Atheros is not set
-+# CONFIG_TARGET_ifxmips_nfs_Ralink is not set
-+# CONFIG_TARGET_brcm_2_4_Broadcom is not set
-+# CONFIG_TARGET_brcm_2_4_BroadcomMimo is not set
-+# CONFIG_TARGET_brcm_2_4_Atheros is not set
-+# CONFIG_TARGET_brcm_2_4_None is not set
-+# CONFIG_TARGET_brcm_2_4_USBGeneric is not set
-+# CONFIG_TARGET_brcm_2_4_WL500G is not set
-+# CONFIG_TARGET_brcm_2_4_WL500GD is not set
-+# CONFIG_TARGET_brcm_2_4_WL500GP is not set
-+# CONFIG_TARGET_brcm_2_4_WL700GE is not set
-+# CONFIG_TARGET_brcm_2_4_WLHDD is not set
-+# CONFIG_TARGET_brcm_2_4_WRT54G3G is not set
-+CONFIG_TARGET_x86_generic_Generic=y
-+# CONFIG_TARGET_x86_generic_Alix is not set
-+# CONFIG_TARGET_x86_generic_Pcengines is not set
-+# CONFIG_TARGET_x86_generic_Soekris45xx is not set
-+# CONFIG_TARGET_x86_generic_Soekris48xx is not set
-+# CONFIG_TARGET_amazon_Default is not set
-+# CONFIG_TARGET_ar71xx_Default is not set
-+# CONFIG_TARGET_uml_Default is not set
-+# CONFIG_TARGET_sibyte_Default is not set
-+# CONFIG_TARGET_storm_Default is not set
-+# CONFIG_TARGET_atheros_Default is not set
-+# CONFIG_TARGET_ps3_petitboot_Default is not set
-+# CONFIG_TARGET_rdc_amit is not set
-+# CONFIG_TARGET_rdc_ar525w is not set
-+# CONFIG_TARGET_rdc_dir450 is not set
-+# CONFIG_TARGET_rdc_g570s is not set
-+# CONFIG_TARGET_rdc_wl153 is not set
 +# CONFIG_TARGET_at91_Default is not set
 +# CONFIG_TARGET_ppc40x_Default is not set
 +# CONFIG_TARGET_s3c24xx_openmoko-gta02-minimal is not set
@@ -301,8 +296,8 @@
 +# CONFIG_BUSYBOX_CONFIG_FEATURE_BUFFERS_GO_ON_STACK is not set
 +# CONFIG_BUSYBOX_CONFIG_FEATURE_BUFFERS_GO_IN_BSS is not set
 +CONFIG_BUSYBOX_CONFIG_SHOW_USAGE=y
-+CONFIG_BUSYBOX_CONFIG_FEATURE_VERBOSE_USAGE=y
-+CONFIG_BUSYBOX_CONFIG_FEATURE_COMPRESS_USAGE=y
++# CONFIG_BUSYBOX_CONFIG_FEATURE_VERBOSE_USAGE is not set
++# CONFIG_BUSYBOX_CONFIG_FEATURE_COMPRESS_USAGE is not set
 +# CONFIG_BUSYBOX_CONFIG_FEATURE_INSTALLER is not set
 +# CONFIG_BUSYBOX_CONFIG_LOCALE_SUPPORT is not set
 +CONFIG_BUSYBOX_CONFIG_GETOPT_LONG=y
@@ -423,7 +418,9 @@
 +CONFIG_BUSYBOX_CONFIG_CUT=y
 +CONFIG_BUSYBOX_CONFIG_DATE=y
 +CONFIG_BUSYBOX_CONFIG_FEATURE_DATE_ISOFMT=y
-+# CONFIG_BUSYBOX_CONFIG_DD is not set
++CONFIG_BUSYBOX_CONFIG_DD=y
++# CONFIG_BUSYBOX_CONFIG_FEATURE_DD_SIGNAL_HANDLING is not set
++# CONFIG_BUSYBOX_CONFIG_FEATURE_DD_IBS_OBS is not set
 +CONFIG_BUSYBOX_CONFIG_DF=y
 +# CONFIG_BUSYBOX_CONFIG_FEATURE_DF_INODE is not set
 +CONFIG_BUSYBOX_CONFIG_DIRNAME=y
@@ -626,7 +623,7 @@
 +# CONFIG_BUSYBOX_CONFIG_FEATURE_KILL_REMOVED is not set
 +CONFIG_BUSYBOX_CONFIG_FEATURE_KILL_DELAY=0
 +# CONFIG_BUSYBOX_CONFIG_FEATURE_INIT_SCTTY is not set
-+# CONFIG_BUSYBOX_CONFIG_FEATURE_INIT_SYSLOG is not set
++CONFIG_BUSYBOX_CONFIG_FEATURE_INIT_SYSLOG=y
 +CONFIG_BUSYBOX_CONFIG_FEATURE_EXTRA_QUIET=y
 +# CONFIG_BUSYBOX_CONFIG_FEATURE_INIT_COREDUMPS is not set
 +# CONFIG_BUSYBOX_CONFIG_FEATURE_INITRD is not set
@@ -814,17 +811,7 @@
 +# CONFIG_BUSYBOX_CONFIG_IFENSLAVE is not set
 +# CONFIG_BUSYBOX_CONFIG_IFUPDOWN is not set
 +# CONFIG_BUSYBOX_CONFIG_INETD is not set
-+CONFIG_BUSYBOX_CONFIG_IP=y
-+CONFIG_BUSYBOX_CONFIG_FEATURE_IP_ADDRESS=y
-+# CONFIG_BUSYBOX_CONFIG_FEATURE_IP_LINK is not set
-+CONFIG_BUSYBOX_CONFIG_FEATURE_IP_ROUTE=y
-+# CONFIG_BUSYBOX_CONFIG_FEATURE_IP_TUNNEL is not set
-+CONFIG_BUSYBOX_CONFIG_FEATURE_IP_RULE=y
-+CONFIG_BUSYBOX_CONFIG_FEATURE_IP_SHORT_FORMS=y
-+# CONFIG_BUSYBOX_CONFIG_FEATURE_IP_RARE_PROTOCOLS is not set
-+# CONFIG_BUSYBOX_CONFIG_IPADDR is not set
-+# CONFIG_BUSYBOX_CONFIG_IPROUTE is not set
-+# CONFIG_BUSYBOX_CONFIG_IPRULE is not set
++# CONFIG_BUSYBOX_CONFIG_IP is not set
 +# CONFIG_BUSYBOX_CONFIG_IPCALC is not set
 +# CONFIG_BUSYBOX_CONFIG_NAMEIF is not set
 +# CONFIG_BUSYBOX_CONFIG_NC is not set
@@ -975,12 +962,12 @@
 +# CONFIG_PACKAGE_iptables-mod-nat-extra is not set
 +# CONFIG_PACKAGE_iptables-mod-ulog is not set
 +CONFIG_PACKAGE_iptables-utils=y
-+# CONFIG_PACKAGE_ldconfig is not set
++CONFIG_PACKAGE_ldconfig=y
 +# CONFIG_PACKAGE_libc is not set
 +CONFIG_PACKAGE_libgcc=y
 +CONFIG_PACKAGE_libpthread=y
 +CONFIG_PACKAGE_librt=y
-+# CONFIG_PACKAGE_mtd is not set
++CONFIG_PACKAGE_mtd=y
 +# CONFIG_PACKAGE_opkg is not set
 +# CONFIG_PACKAGE_swconfig is not set
 +# CONFIG_PACKAGE_uci is not set
@@ -1077,12 +1064,12 @@
 +# Filesystems
 +#
 +# CONFIG_PACKAGE_kmod-fs-cifs is not set
-+# CONFIG_PACKAGE_kmod-fs-ext2 is not set
++CONFIG_PACKAGE_kmod-fs-ext2=y
 +# CONFIG_PACKAGE_kmod-fs-ext3 is not set
 +# CONFIG_PACKAGE_kmod-fs-hfs is not set
 +# CONFIG_PACKAGE_kmod-fs-hfsplus is not set
 +# CONFIG_PACKAGE_kmod-fs-isofs is not set
-+# CONFIG_PACKAGE_kmod-fs-mbcache is not set
++CONFIG_PACKAGE_kmod-fs-mbcache=y
 +# CONFIG_PACKAGE_kmod-fs-minix is not set
 +# CONFIG_PACKAGE_kmod-fs-msdos is not set
 +# CONFIG_PACKAGE_kmod-fs-nfs-common is not set
@@ -1178,7 +1165,7 @@
 +# CONFIG_PACKAGE_kmod-pktgen is not set
 +# CONFIG_PACKAGE_kmod-sched is not set
 +# CONFIG_PACKAGE_kmod-sit is not set
-+# CONFIG_PACKAGE_kmod-tun is not set
++CONFIG_PACKAGE_kmod-tun=y
 +
 +#
 +# OCF Configuration
@@ -1273,7 +1260,7 @@
 +# CONFIG_PACKAGE_cfdisk is not set
 +# CONFIG_PACKAGE_fdisk is not set
 +# CONFIG_PACKAGE_fuse-utils is not set
-+CONFIG_PACKAGE_swap-utils=y
++# CONFIG_PACKAGE_swap-utils is not set
 +# CONFIG_PACKAGE_dropbearconvert is not set
 +# CONFIG_PACKAGE_e2fsprogs is not set
 +# CONFIG_PACKAGE_fconfig is not set
@@ -1283,7 +1270,7 @@
 +# CONFIG_PACKAGE_kexec-tools is not set
 +CONFIG_KEXEC_TOOLS_TARGET_NAME="i386"
 +# CONFIG_PACKAGE_losetup is not set
-+CONFIG_PACKAGE_mount-utils=y
++# CONFIG_PACKAGE_mount-utils is not set
 +# CONFIG_PACKAGE_ocf-crypto-headers is not set
 +# CONFIG_PACKAGE_openssl-util is not set
 +# CONFIG_PACKAGE_robocfg is not set

Modified: torvm/trunk/build/win32/Makefile
===================================================================
--- torvm/trunk/build/win32/Makefile	2009-03-14 12:44:50 UTC (rev 18992)
+++ torvm/trunk/build/win32/Makefile	2009-03-14 15:48:40 UTC (rev 18993)
@@ -224,13 +224,13 @@
 TORSVN_TGZ=$(TORSVN_NAME).tar.gz
 TORSVN_SVN=https://tor-svn.freehaven.net/svn/tor/
 TORSVN_BR=trunk
-TORSVN_VER=18849
+TORSVN_VER=18924
 
 TORBUTTON_NAME=torbutton-latest
 TORBUTTON_TGZ=$(TORBUTTON_NAME).tar.gz
 TORBUTTON_SVN=https://tor-svn.freehaven.net/svn/torbutton/
 TORBUTTON_BR=trunk
-TORBUTTON_VER=18834
+TORBUTTON_VER=18976
 
 # XXX add / switch to signed tags one key mgmt resolved
 PYCRYPTO_NAME=pycrypto-latest
@@ -349,6 +349,8 @@
 	cp files/autorun.inf files/install.bat $(ISODIR)/; \
 	cp files/*.vbs $(ISODIR)/bin/; \
 	cp files/hdd.img.gz $(ISODIR)/add/; \
+	cp files/defvidalia.conf $(ISODIR)/add/; \
+	cp files/defpolipo.conf $(ISODIR)/add/; \
 	gzip -d $(ISODIR)/add/hdd.img.gz; \
 	cp files/fstab $(ISODIR)/bin/; \
 	cp files/buildall.sh $(ISODIR)/dl/src; \

Modified: torvm/trunk/build/win32/files/buildall.sh
===================================================================
--- torvm/trunk/build/win32/files/buildall.sh	2009-03-14 12:44:50 UTC (rev 18992)
+++ torvm/trunk/build/win32/files/buildall.sh	2009-03-14 15:48:40 UTC (rev 18993)
@@ -9,6 +9,7 @@
   export KERNEL_IMAGE=/src/add/vmlinuz
   export VMHDD_IMAGE=/src/add/hdd.img
   export KERNEL_LICENSE_DOCS=/src/add/kernel-license-docs.tgz
+  export TVM_VIDCONF=/src/add/defvidalia.conf
   
   # set sysdrive, ddir, and brootdir in parent env if needed.
   if [[ "$sysdrive" == "" ]]; then
@@ -1001,7 +1002,11 @@
 fi
 cd /src
 
+if [ -f $TVM_VIDCONF ]; then
+  cp $TVM_VIDCONF $bdlibdir/
+fi
 
+
 # Microsoft Installer package build
 TOR_WXS_DIR=contrib
 # Suppress logo and irrelevant warnings about ALLUSERS path variation
@@ -1227,7 +1232,7 @@
     tail +4c license-dir.wxs > license-dir.wxs.tmp; dos2unix license-dir.wxs.tmp; cat license-dir.wxs.tmp > license-dir.wxs; rm -f license-dir.wxs.tmp
     wixtool.exe splice -i license.wxs -o license-tmpdir.wxs Directory:ProgramsInstDir=license-dir.wxs:Directory:LicenseDocs
     wixtool.exe splice -i license-tmpdir.wxs -o license-tmpall.wxs Feature:MainApplication=license-dir.wxs:Feature:ProductFeature
-    wixtool.exe userlocal -i license-tmpall.wxs -o license-all.wxs "Software/Tor Vidalia License Docs:MainApplication"
+    wixtool.exe userlocal -i license-tmpall.wxs -o license-all.wxs "Software/Tor License:MainApplication"
     rm -f license-tmpdir.wxs license-tmpall.wxs
     candle.exe $CANDLE_OPTS license-all.wxs
     echo "Linking Tor Vidalia bundle license docs package ..."

Added: torvm/trunk/build/win32/files/defpolipo.conf
===================================================================
--- torvm/trunk/build/win32/files/defpolipo.conf	                        (rev 0)
+++ torvm/trunk/build/win32/files/defpolipo.conf	2009-03-14 15:48:40 UTC (rev 18993)
@@ -0,0 +1,33 @@
+proxyAddress = "127.0.0.1"
+proxyPort = 8118
+allowedClients = 127.0.0.1
+allowedPorts = 1-65535
+proxyName = "localhost"
+# assume shared use (local users) by default?
+# cacheIsShared = false
+# at some point torvm will need to replace this ip (append)
+socksParentProxy = "10.10.10.1:9050"
+socksProxyType = socks5
+### Memory
+chunkHighMark = 33554432
+# disable the on-disk cache:
+diskCacheRoot = ""
+# disable the local web server:
+localDocumentRoot = ""
+# disableIndexing = false
+# disableServersList = false
+disableLocalInterface = true
+disableConfiguration = true
+dnsQueryIPv6 = no
+dnsUseGethostbyname = yes
+disableVia = true
+censoredHeaders = from,accept-language,x-pad,link
+censorReferer = maybe
+# censoredHeaders = set-cookie, cookie, cookie2, from, accept-language
+# censorReferer = true
+# should age match circuit dirtiness?
+maxConnectionAge = 10m
+maxConnectionRequests = 120
+serverMaxSlots = 8
+serverSlots = 2
+tunnelAllowedPorts = 1-65535

Added: torvm/trunk/build/win32/files/defvidalia.conf
===================================================================
--- torvm/trunk/build/win32/files/defvidalia.conf	                        (rev 0)
+++ torvm/trunk/build/win32/files/defvidalia.conf	2009-03-14 15:48:40 UTC (rev 18993)
@@ -0,0 +1,11 @@
+[General]
+ProxyExecutableArguments=-c, polipocfg.txt
+RunTorAtStart=true
+
+[Tor]
+DataDirectory=C:\\Documents and Settings\\Me\\Local Settings\\Application Data\\Vidalia
+Changed=true
+TorExecutable=
+ControlAddr=10.10.10.1
+UseRandomPassword=false
+ControlPassword=password

Modified: torvm/trunk/build/win32/patches/vidalia-torvm.patch
===================================================================
--- torvm/trunk/build/win32/patches/vidalia-torvm.patch	2009-03-14 12:44:50 UTC (rev 18992)
+++ torvm/trunk/build/win32/patches/vidalia-torvm.patch	2009-03-14 15:48:40 UTC (rev 18993)
@@ -31,8 +31,8 @@
  ### HTTP
 diff -Naur a/pkg/win32/vidalia.wxs.in b/pkg/win32/vidalia.wxs.in
 --- a/pkg/win32/vidalia.wxs.in	2009-02-24 05:46:46.615879000 +0000
-+++ b/pkg/win32/vidalia.wxs.in	2009-03-09 16:26:33.282871496 +0000
-@@ -1,334 +1,369 @@
++++ b/pkg/win32/vidalia.wxs.in	2009-03-13 15:44:34.818550312 +0000
+@@ -1,334 +1,371 @@
  <?xml version="1.0" encoding="Windows-1252" ?>
  <!-- 
 -  $Id: vidalia.wxs.in 3586 2009-02-24 05:46:46Z edmanm $
@@ -514,6 +514,8 @@
 +                  Name="qsvg4.dll" Source="plugins/imageformats/qsvg4.dll" />
 +                <File Id="qjpeg4.dll" DiskId="1"
 +                  Name="qjpeg4.dll" Source="plugins/imageformats/qjpeg4.dll" />
++                <File Id="qico4.dll" DiskId="1"
++                  Name="qico4.dll" Source="plugins/imageformats/qico4.dll" />
 +              </Component>
 +            </Directory>
 +          </Directory>
@@ -1492,6 +1494,79 @@
 +  return 0;
 +}
 +
+diff -Naur a/src/torcontrol/torcontrol.cpp b/src/torcontrol/torcontrol.cpp
+--- a/src/torcontrol/torcontrol.cpp	2009-02-24 03:20:58.105033000 +0000
++++ b/src/torcontrol/torcontrol.cpp	2009-03-13 18:41:09.504913168 +0000
+@@ -73,16 +73,22 @@
+ void
+ TorControl::start(const QString &tor, const QStringList &args)
+ {
++  if (tor.length() == 0) {
++    _torProcess = 0;
++    emit started();
++  }
+   if (isRunning()) {
+     emit started();
+   } else {
+ #if defined(Q_OS_WIN32)
+     /* If the Tor service is installed, run that. Otherwise, start a new
+      * Tor process. */
+-    if (TorService::isSupported() && _torService->isInstalled())
++    if (TorService::isSupported() && _torService->isInstalled()) {
+       _torService->start();
+-    else
++    }
++    else {
+       _torProcess->start(expand_filename(tor), args);
++    }
+ #else
+     /* Start a new Tor process */
+     _torProcess->start(expand_filename(tor), args);
+@@ -95,11 +101,17 @@
+ TorControl::stop(QString *errmsg)
+ {
+   bool rc = false;
+-  if (_controlConn->isConnected())
+-    rc = signal(TorSignal::Halt, errmsg);
+-  if (!rc)
+-    rc = _torProcess->stop(errmsg);
+-  return rc;
++  if (_torProcess) {
++    if (_controlConn->isConnected())
++      rc = signal(TorSignal::Halt, errmsg);
++    if (!rc)
++      rc = _torProcess->stop(errmsg);
++    return rc;
++  }
++  else {
++    disconnect();
++  }
++  return true;
+ }
+ 
+ /** Emits a signal that the Tor process stopped */
+@@ -118,6 +130,7 @@
+ bool
+ TorControl::isVidaliaRunningTor()
+ {
++  if (!_torProcess) { return false; }
+   return (_torProcess->state() != QProcess::NotRunning);
+ }
+ 
+@@ -125,8 +138,11 @@
+ bool
+ TorControl::isRunning()
+ {
+-  return (_torProcess->state() != QProcess::NotRunning
+-            || _controlConn->isConnected());
++  if (!_torProcess)
++    return true;
++  if (_controlConn->isConnected())
++    return true;
++  return (_torProcess->state() != QProcess::NotRunning);
+ }
+ 
+ /** Called when Tor has printed a log message to stdout. */
 diff -Naur a/src/vidalia/config/torsettings.cpp b/src/vidalia/config/torsettings.cpp
 --- a/src/vidalia/config/torsettings.cpp	2009-01-30 05:20:24.536180000 +0000
 +++ b/src/vidalia/config/torsettings.cpp	2009-03-07 03:57:41.693104376 +0000
@@ -1544,8 +1619,8 @@
  #else
 diff -Naur a/src/vidalia/network/geoipresolver.cpp b/src/vidalia/network/geoipresolver.cpp
 --- a/src/vidalia/network/geoipresolver.cpp	2008-12-30 18:48:55.745877000 +0000
-+++ b/src/vidalia/network/geoipresolver.cpp	2009-03-07 03:57:41.694104224 +0000
-@@ -24,13 +24,13 @@
++++ b/src/vidalia/network/geoipresolver.cpp	2009-03-13 16:51:51.257918256 +0000
+@@ -24,25 +24,31 @@
  #endif
  
  /** Host for the geo ip information. */ 
@@ -1562,7 +1637,12 @@
  
  
  /** Default constructor. */
-@@ -42,7 +42,13 @@
+ GeoIpResolver::GeoIpResolver()
+ {
+-  _socksAddr = QHostAddress::LocalHost;
++  _socksAddr = Vidalia::torAddress();
+   _socksPort = 9050;
+ 
  #if defined(USE_QSSLSOCKET)
    QSslSocket::setDefaultCaCertificates(QList<QSslCertificate>());
    if (! QSslSocket::addDefaultCaCertificates(":/geoip/cacert_root.crt"))
@@ -1707,8 +1787,24 @@
  QString
 diff -Naur a/src/vidalia/vidalia.cpp b/src/vidalia/vidalia.cpp
 --- a/src/vidalia/vidalia.cpp	2009-02-24 04:56:35.504853000 +0000
-+++ b/src/vidalia/vidalia.cpp	2009-03-07 03:57:41.699103464 +0000
-@@ -89,6 +89,11 @@
++++ b/src/vidalia/vidalia.cpp	2009-03-13 18:43:07.266010760 +0000
+@@ -45,6 +45,7 @@
+ #define ARG_PIDFILE    "pidfile"  /**< Location and name of our pidfile.*/
+ #define ARG_LOGFILE    "logfile"  /**< Location of our logfile.         */
+ #define ARG_LOGLEVEL   "loglevel" /**< Log verbosity.                   */
++#define ARG_TORADDR    "tor-address" /**< Tor bound addr.                   */
+ #define ARG_READ_PASSWORD_FROM_STDIN  \
+   "read-password-from-stdin" /**< Read password from stdin. */
+ 
+@@ -55,6 +56,7 @@
+ TorControl* Vidalia::_torControl = 0;  /**< Main TorControl object.          */
+ Log Vidalia::_log;
+ QList<QTranslator *> Vidalia::_translators;
++QHostAddress Vidalia::_torAddress = QHostAddress::LocalHost;
+ 
+ /** Catches debugging messages from Qt and sends them to Vidalia's logs. If Qt
+  * emits a QtFatalMsg, we will write the message to the log and then abort().
+@@ -89,6 +91,11 @@
  Vidalia::Vidalia(QStringList args, int &argc, char **argv)
  : QApplication(argc, argv)
  {
@@ -1720,8 +1816,16 @@
    qInstallMsgHandler(qt_msg_handler);
  
    /* Read in all our command-line arguments. */
-@@ -125,12 +130,8 @@
+@@ -120,17 +127,16 @@
+   /* Set the GUI style appropriately. */
+   setStyle(_args.value(ARG_GUISTYLE));
  
++  if (_args.contains(ARG_TORADDR))
++    _torAddress = QHostAddress(_args.value(ARG_TORADDR));
++
+   /* Creates a TorControl object, used to talk to Tor. */
+   _torControl = new TorControl();
+ 
  #ifdef USE_MARBLE
    /* Tell Marble where to stash its generated data */
 -  Marble::MarbleDirs::setMarbleDataPath(dataDirectory());
@@ -1735,3 +1839,37 @@
  #endif
  }
  
+@@ -346,6 +352,13 @@
+ #endif
+ }
+ 
++/** Returns the IP address Tor is bound to. */
++QHostAddress
++Vidalia::torAddress()
++{
++  return _torAddress;
++}
++
+ /** Returns the location of Vidalia's pid file. */
+ QString
+ Vidalia::pidFile()
+diff -Naur a/src/vidalia/vidalia.h b/src/vidalia/vidalia.h
+--- a/src/vidalia/vidalia.h	2009-01-12 03:33:41.473092000 +0000
++++ b/src/vidalia/vidalia.h	2009-03-13 18:42:45.044388960 +0000
+@@ -82,6 +82,8 @@
+   static QString dataDirectory();
+   /** Returns the default location of Vidalia's data directory. */
+   static QString defaultDataDirectory();
++  /** Returns the IP address for reaching Tor. */
++  static QHostAddress torAddress();
+   
+   /** Returns the location of Vidalia's pid file. */
+   static QString pidFile();
+@@ -156,6 +158,7 @@
+   static TorControl* _torControl;      /**< Vidalia's main TorControl object.*/
+   static Log _log; /**< Logs debugging messages to file or stdout. */
+   static QList<QTranslator *> _translators; /**< List of installed translators. */
++  static QHostAddress  _torAddress;
+ };
+ 
+ #endif

Modified: torvm/trunk/build/win32/src/pkg/license.wxs
===================================================================
--- torvm/trunk/build/win32/src/pkg/license.wxs	2009-03-14 12:44:50 UTC (rev 18992)
+++ torvm/trunk/build/win32/src/pkg/license.wxs	2009-03-14 15:48:40 UTC (rev 18993)
@@ -5,25 +5,31 @@
   <?define UpgradeCode="bda6a744-0815-4fdc-88a8-d40d8c154133" ?>
   <?define CurrProductGUID="43b6b534-8148-4813-8d22-4da1df4783c3" ?>
   <?define CurrDocsOnDesktopGUID="d20d7258-1e4a-4d26-a2f4-e08a939a0ae8" ?>
+  <?define CurrLocalProgramsGUID="71bddb5a-1aee-4dc8-bc39-63b38d12a7dd" ?>
 
-  <Product Name="Tor Vidalia Bundle License Docs $(var.ThisProductVersionDisp)" Id="$(var.CurrProductGUID)"
+  <Product Name="Tor License Documents $(var.ThisProductVersionDisp)" Id="$(var.CurrProductGUID)"
            Language="!(loc.LCID)"
            Version="$(var.ThisProductVersion)"
            Manufacturer="www.torproject.org"
            UpgradeCode="$(var.UpgradeCode)">
     
     <Package Id="*" Keywords="Installer"
-             Description="Tor Vidalia Bundle License Docs $(var.ThisProductVersionDisp) Installer"
+             Description="Tor License $(var.ThisProductVersionDisp) Installer"
              Manufacturer="www.torproject.org"
              InstallerVersion="200" Compressed="yes"
              InstallPrivileges="limited" />
 
     <Media Id="1" Cabinet="License.cab" CompressionLevel="high"
            EmbedCab="yes" DiskPrompt="CD-ROM #1" />
-    <Property Id="DiskPrompt" Value="Tor Vidalia Bundle License Docs $(var.ThisProductVersionDisp) Installation Volume [1]" />
+    <Property Id="DiskPrompt" Value="Tor License $(var.ThisProductVersionDisp) Installation Volume [1]" />
     <Property Id="ALLUSERS" Secure="yes"/>
     <Property Id="ReinstallModeText">omus</Property>
 
+    <!-- To avoid placing shortcuts all over the desktop / start menu during a
+    silent installation the NOSC=1 option can be passed to omit shortcuts.
+      -->
+    <Property Id="NOSC" Secure="yes"/>
+
     <!-- Associate this package with the upgrade code for this series
     to ensure that upgrade installations by Thandy or other means work
     as expected.
@@ -43,36 +49,54 @@
 
 
     <Directory Id="TARGETDIR" Name="SourceDir">
-      <Directory Id="ProgramFilesFolder" Name="ProgramFiles">
-        <Directory Id="ProgramsInstDir" Name="Tor Vidalia License Docs">
+      <Directory Id="LocalAppDataFolder" Name="LocalAppData">
+        <Directory Id="LocalProgramsFolder" Name="Programs">
+
+          <!-- Until proper support for per-user installs is available we manage Programs folder.
+          Note that this directory will be left in place if it is in use by any other app.
+            -->
+          <Component Id="LocalProgramsFolderRef" Guid="$(var.CurrLocalProgramsGUID)">
+            <CreateFolder />
+            <RemoveFolder Id="RemoveLocalProgramsFolder" On="uninstall" />
+            <RegistryKey Root="HKCU" Key="Software\Tor License" Action="createAndRemoveOnUninstall">
+              <RegistryValue Name="Version" Value="$(var.ThisProductVersion)" Type="string" KeyPath="yes" />
+            </RegistryKey>
+          </Component>
+
+        <Directory Id="ProgramsInstDir" Name="Tor License">
         </Directory>
       </Directory>
+    </Directory>
+
+    <Directory Id="TARGETDIR" Name="SourceDir">
       <Directory Id="DesktopFolder" Name="Desktop">
         <Component Id="AddTorDocsToDesktop" Guid="$(var.CurrDocsOnDesktopGUID)">
-          <RegistryKey Root="HKCU" Key="Software\Tor Vidalia License Docs" Action="createAndRemoveOnUninstall">
+          <Condition><![CDATA[NOSC <> 1]]> </Condition>
+          <RegistryKey Root="HKCU" Key="Software\Tor License" Action="createAndRemoveOnUninstall">
             <RegistryValue Name="DesktopShortcut" Value="1" Type="integer" KeyPath="yes" />
           </RegistryKey>
           <Shortcut Id="TorDocsDesktopShortcut"
-                    Name="Tor Vidalia License Docs" Target="[ProgramsInstDir]"
+                    Name="Tor License Documents" Target="[ProgramsInstDir]"
                     Directory="DesktopFolder" WorkingDirectory="ProgramsInstDir" />
         </Component>
       </Directory>
     </Directory>
 
     <!-- Build up the feature hierarchy -->
-    <Feature Id="Complete" Title="Tor Vidalia License Docs"
+    <Feature Id="Complete" Title="Tor License Documents"
              Level="1" Display="expand"
-             Description="Tor Vidalia License Docs">
-      <Feature Id="MainApplication" Title="Tor Vidalia License Docs $(var.ThisProductVersionDisp)"
+             Description="Tor License Documents">
+      <Feature Id="MainApplication" Title="Tor License Documents $(var.ThisProductVersionDisp)"
                AllowAdvertise="no" Absent="disallow" Level="1"
                Description="Main application">
+        <ComponentRef Id="LocalProgramsFolderRef" />
       </Feature>
       <Feature Id="Shortcuts" Title="Shortcuts"
                AllowAdvertise="no" Absent="allow" Level="1"
-               Description="Add a shortcut to Desktop.">
+               Description="Add a shortcut to your Desktop.">
         <Feature Id="DesktopShortcuts" Title="Add to Desktop"
                  AllowAdvertise="no" Absent="allow" Level="1"
-                 Description="Add Tor Docs to your Desktop">
+                 Description="Add shortcut to your Desktop">
           <ComponentRef Id="AddTorDocsToDesktop" />
         </Feature>
       </Feature>

Modified: torvm/trunk/build/win32/src/pkg/torvm.wxs
===================================================================
--- torvm/trunk/build/win32/src/pkg/torvm.wxs	2009-03-14 12:44:50 UTC (rev 18992)
+++ torvm/trunk/build/win32/src/pkg/torvm.wxs	2009-03-14 15:48:40 UTC (rev 18993)
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="Windows-1252" ?>
 <Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">
-  <?define ThisProductVersion="0.0.2" ?>
-  <?define ThisProductVersionDisp="0.0.2" ?>
+  <?define ThisProductVersion="0.0.1" ?>
+  <?define ThisProductVersionDisp="0.0.1" ?>
   <?define UpgradeCode="3f874171-34a0-4af8-8c66-27a681ac5fb6" ?>
   
   <?define CurrProductGUID="8b88858f-1d36-461c-9541-e6ffddeb8e69" ?>
@@ -74,8 +74,14 @@
             </RegistryKey>
             <Shortcut Id="TorVMStartMenuShortcut"
                       Name="Tor VM" Target="[ProgramsInstDir]torvm.exe"
+                      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"
+                      Directory="ShortcutFolder" WorkingDirectory="ProgramsInstDir"
+                      Icon="torvm.ico" IconIndex="0" />
             <RemoveFolder Id="RemoveShortcutFolder" On="uninstall" />
           </Component>
         </Directory>
@@ -88,8 +94,14 @@
           </RegistryKey>
           <Shortcut Id="TorVMDesktopShortcut"
                     Name="Tor VM" Target="[ProgramsInstDir]torvm.exe"
+                    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-03-14 12:44:50 UTC (rev 18992)
+++ torvm/trunk/build/win32/src/torvm-w32/torvm.c	2009-03-14 15:48:40 UTC (rev 18993)
@@ -4,12 +4,13 @@
 #include "torvm.h"
 #include <getopt.h>
 
+#define DEFAULT_WINDIR "C:\\WINDOWS"
 #define TOR_VM_BASE    "Tor_VM"
 #define W_TOR_VM_BASE  L"Tor_VM"
 #define TOR_VM_BIN     "bin"
 #define TOR_VM_LIB     "lib"
 #define TOR_VM_STATE   "state"
-#define WIN_DRV_DIR    "C:\\WINDOWS\\system32\\drivers"
+#define WIN_DRV_DIR    "system32\\drivers"
 #define TOR_TAP_NAME   "Tor VM Tap32"
 #define TOR_TAP_SVC    "tortap91"
 /* TODO: network config defaults via vmconfig.h and runtime configuration */
@@ -25,7 +26,6 @@
 
 BOOL buildpath (const TCHAR *dirname,
                 TCHAR **fullpath);
-BOOL buildwsyspath (TCHAR **fullpath);
 
 #define PATH_FQ        1
 #define PATH_RELATIVE  2
@@ -40,6 +40,15 @@
                         LPTSTR  append,
 			LPTSTR *fpath);
 
+#define SYSDIR_WINROOT     1
+#define SYSDIR_PROFILE     2
+#define SYSDIR_PROGRAMS    3
+#define SYSDIR_LCLDATA     4
+#define SYSDIR_LCLPROGRAMS 5
+static BOOL buildsyspath (DWORD   syspathtype,
+                          LPTSTR  append,
+                          LPTSTR *fpath);
+
 struct s_rconnelem {
   BOOL    isactive;
   BOOL    isdefgw;
@@ -226,6 +235,69 @@
   return;
 }
 
+static BOOL buildsyspath (DWORD  syspathtype,
+                          LPTSTR append,
+                          LPTSTR *fpath)
+{
+#define BUFSZ 4096
+  DWORD   retval;
+  DWORD   errnum;
+  LPTSTR  defval = NULL;
+  LPTSTR  envvar;
+  LPTSTR  dsep = "\\";
+  *fpath = malloc(BUFSZ * sizeof(TCHAR));
+  if(*fpath == NULL) {
+    lerror ("buildsyspath: out of memory.");
+    free(envvar);
+    return FALSE;
+  }
+  if (syspathtype == SYSDIR_WINROOT) {
+    envvar = getenv("SYSTEMROOT");
+    defval = DEFAULT_WINDIR;
+  }
+  else if (syspathtype == SYSDIR_PROFILE)
+    envvar = getenv("USERPROFILE");
+  else if (syspathtype == SYSDIR_PROGRAMS)
+    envvar = getenv("PROGRAMFILES");
+  else if (syspathtype == SYSDIR_LCLDATA)
+    envvar = getenv("USERPROFILE");
+  else if (syspathtype == SYSDIR_LCLPROGRAMS)
+    envvar = getenv("USERPROFILE");
+  if(!envvar) {
+    if (defval) {
+      strncpy(*fpath, defval, (BUFSZ -1));
+      return TRUE;
+    }
+    free(*fpath);
+    *fpath = 0;
+    return FALSE;
+  }
+  if ( (syspathtype == SYSDIR_LCLPROGRAMS) || (syspathtype == SYSDIR_LCLDATA) ) {
+    LPTSTR lclpost = 0;
+    if (syspathtype == SYSDIR_LCLPROGRAMS)
+      lclpost = "Programs";
+    /* local appdata and programs is built against the user profile root */
+    snprintf (*fpath, (BUFSZ -1),
+              "%s%s%s%s%s%s%s",
+              envvar,
+              dsep,
+              "Local Settings\\Application Data",
+              lclpost ? dsep : "",
+              lclpost ? lclpost : "",
+              append ? dsep : "",
+              append ? append : "");
+  }
+  else {
+    snprintf (*fpath, (BUFSZ -1),
+              "%s%s%s",
+              envvar,
+              append ? dsep : "",
+              append ? append : "");
+  }
+  return TRUE;
+}
+#undef BUFSZ
+
 /* initial attempt to keep file locations dynamic and configurable.
  */
 static BOOL buildfpath (DWORD   pathtype,
@@ -311,6 +383,62 @@
   return TRUE;
 }
 
+BOOL exists(LPTSTR path)
+{
+  HANDLE  hnd;
+  hnd = CreateFile (path,
+                    GENERIC_READ,
+                    0,
+                    NULL,
+                    OPEN_EXISTING,
+                    FILE_ATTRIBUTE_NORMAL,
+                    NULL);
+  if (hnd == INVALID_HANDLE_VALUE) {
+    return FALSE;
+  }
+  CloseHandle(hnd);
+  return TRUE;
+}
+
+BOOL copyfile (LPTSTR srcpath,
+               LPTSTR destpath)
+{
+  HANDLE src, dest;
+  DWORD buffsz = 4096;
+  DWORD len, written;
+  LPTSTR buff;
+  src = CreateFile (srcpath,
+                    GENERIC_READ,
+                    0,
+                    NULL,
+                    OPEN_EXISTING,
+                    FILE_ATTRIBUTE_NORMAL,
+                    NULL);
+  if (src == INVALID_HANDLE_VALUE) {
+    return FALSE;
+  }
+  dest = CreateFile (destpath,
+                     GENERIC_WRITE,
+                     0,
+                     NULL,
+                     CREATE_NEW,
+                     FILE_ATTRIBUTE_NORMAL,
+                     NULL);
+  if (dest == INVALID_HANDLE_VALUE) {
+    return FALSE;
+  }
+  buff = malloc(buffsz);
+  if (!buff) 
+    return FALSE;
+  while (ReadFile(src, buff, buffsz, &len, NULL) && (len > 0)) 
+    WriteFile(dest, buff, len, &written, NULL);
+  free (buff);
+  CloseHandle (src);
+  CloseHandle (dest);
+
+  return TRUE;
+}
+
 BOOL installtap(void)
 {
   STARTUPINFO si;
@@ -588,15 +716,19 @@
   HANDLE src = NULL;
   HANDLE dest = NULL;
   LPTSTR srcname = NULL;
-  LPTSTR destname = WIN_DRV_DIR "\\" TOR_CAP_SYS;
+  LPTSTR destname = NULL;
   CHAR * buff = NULL;
   DWORD  buffsz = 4096;
   DWORD  len;
   DWORD  written;
-  
+  if (!buildsyspath(SYSDIR_WINROOT, WIN_DRV_DIR "\\" TOR_CAP_SYS, &destname)) {
+    lerror ("Unable to build path for WINROOT.");
+    return FALSE;
+  } 
   if (!buildfpath(PATH_FQ, VMDIR_LIB, NULL, TOR_CAP_SYS, &srcname)) {
-    lerror ("Unable to build path for %s", TOR_CAP_SYS);
+    free (destname);
     srcname = "C:\\Tor_VM\\lib\\" TOR_CAP_SYS;
+    lerror ("Unable to build path for %s, using default: %s", TOR_CAP_SYS, srcname);
   }
   
   src = CreateFile (srcname,
@@ -607,6 +739,7 @@
                     FILE_ATTRIBUTE_NORMAL,
                     NULL);
   if (src == INVALID_HANDLE_VALUE) {
+    free (destname);
     return FALSE;
   } 
   dest = CreateFile (destname,
@@ -616,6 +749,7 @@
                      CREATE_ALWAYS,
                      FILE_ATTRIBUTE_SYSTEM,
                      NULL);
+  free (destname);
   if (dest == INVALID_HANDLE_VALUE) {
     return FALSE;
   } 
@@ -633,12 +767,19 @@
 
 BOOL uninstalltornpf (void)
 {
-  LPTSTR fname = WIN_DRV_DIR "\\" TOR_CAP_SYS;
+  LPTSTR fname = NULL;
   LPTSTR cmd = "\"net.exe\" stop tornpf";
-  DeleteFile (fname);
   if (! runcommand(cmd)) {
-    return FALSE;
+    lerror ("Unable to run net stop for tornpf service.");
   }
+  if (0) { /* XXX: for now we don't ever delete the npf device file. */
+    if (!buildsyspath(SYSDIR_WINROOT, WIN_DRV_DIR "\\" TOR_CAP_SYS, &fname)) {
+      lerror ("Unable to build path for WINROOT to uninstall tap.");
+      return FALSE;
+    } 
+    DeleteFile (fname);
+    free (fname);
+  } 
   return TRUE;
 }
 
@@ -1497,6 +1638,81 @@
   return TRUE;
 }
 
+BOOL runvidalia ()
+{
+  PROCESS_INFORMATION pi;
+  STARTUPINFO si;
+  SECURITY_ATTRIBUTES sattr;
+  LPTSTR cmd = NULL;
+  LPTSTR dir = NULL;
+  LPTSTR vcfgtmp = NULL;
+  LPTSTR pcfgtmp = NULL;
+  LPTSTR vcfgdest = NULL;
+  LPTSTR pcfgdest = NULL;
+  DWORD opts = CREATE_NEW_PROCESS_GROUP;
+  HANDLE tmphnd;
+  ZeroMemory( &si, sizeof(si) );
+  si.cb = sizeof(si);
+  ZeroMemory( &pi, sizeof(pi) );
+  
+  if (!buildfpath(PATH_FQ, VMDIR_LIB, NULL, "defvidalia.conf", &vcfgtmp)) {
+    lerror ("Unable to build path for default vidalia config file."); 
+    return FALSE;
+  } 
+  if (!buildfpath(PATH_FQ, VMDIR_LIB, NULL, "defpolipo.conf", &pcfgtmp)) {
+    lerror ("Unable to build path for default polipo config file.");
+    return FALSE;
+  } 
+  if (!buildsyspath(SYSDIR_LCLDATA, "Vidalia", &dir)) {
+    lerror ("Unable to build path for Vidalia programs dir."); 
+    return FALSE;
+  } 
+  if (!buildsyspath(SYSDIR_LCLDATA, "Vidalia\\vidalia.conf", &vcfgdest)) {
+    lerror ("Unable to build path for vidalia dest config file."); 
+    return FALSE;
+  } 
+  if (!buildsyspath(SYSDIR_LCLDATA, "Vidalia\\polipocfg.txt", &pcfgdest)) {
+    lerror ("Unable to build path for polipo dest config."); 
+    return FALSE;
+  } 
+  if (!buildsyspath(SYSDIR_LCLPROGRAMS, "Vidalia\\vidalia-marble.exe", &cmd)) {
+    lerror ("Unable to build path for vidalia marble exe."); 
+    return FALSE;
+  } 
+  if (!exists(cmd)) {
+    /* assume not a marble vidalia install */
+    free (cmd);
+    if (!buildsyspath(SYSDIR_LCLPROGRAMS, "Vidalia\\vidalia.exe", &cmd)) {
+      lerror ("Unable to build path for vidalia exe."); 
+      return FALSE;
+    } 
+  }
+  if (!exists(vcfgdest)) {
+    ldebug ("Copying default vidalia config from %s to %s", vcfgtmp, vcfgdest);
+    copyfile(vcfgtmp, vcfgdest);
+  }
+  if (!exists(pcfgdest)) {
+    ldebug ("Copying default polipo config from %s to %s", pcfgtmp, pcfgdest);
+    copyfile(pcfgtmp, pcfgdest);
+  }
+  
+  ldebug ("Launching Vidalia in dir: %s , with cmd: %s", dir, cmd);
+  if( !CreateProcess(NULL,
+                     cmd,
+                     NULL,   // process handle no inherit
+                     NULL,   // thread handle no inherit
+                     TRUE,   
+                     opts,
+                     NULL,   // environment block
+                     dir,
+                     &si,
+                     &pi) ) {
+    lerror ("Failed to launch process.  Error code: %d", GetLastError());
+    return FALSE;
+  }
+  return TRUE;
+}
+
 BOOL launchtorvm (PROCESS_INFORMATION * pi,
                   char *  bridgeintf,
                   char *  macaddr,
@@ -1833,6 +2049,7 @@
   struct s_rconnelem *connlist = NULL;
   struct s_rconnelem *ce = NULL;
   struct s_rconnelem *tapconn = NULL;
+  BOOL  bundle = FALSE;
   BOOL  indebug = FALSE;
   BOOL  vmnop = FALSE;
   BOOL  noinit = FALSE;
@@ -1855,6 +2072,7 @@
 
         case 'b':
           ldebug ("Set option %s.", torvm_options[optidx].name);
+          bundle = TRUE;
           break;
 
         case 's':
@@ -2072,6 +2290,13 @@
     goto shutdown;
   }
 
+  /* XXX: temp hack - in bundle mode launch Vidalia with a custom config
+   * for the 10. tap control port and externally managed Tor instance.
+   */
+  if (bundle) {
+    runvidalia();
+  }
+
   /* TODO: once the pcap bridge is up we can re-enable the firewall IF we
    * add an exception for the control port on the Tap adapter.
    */



More information about the tor-commits mailing list