[or-cvs] r18342: {torvm} Initial import of Tor VM in Vidalia bundle configuration and (in torvm/trunk/build/win32: . files patches src src/pkg)
coderman at seul.org
coderman at seul.org
Fri Jan 30 15:24:10 UTC 2009
Author: coderman
Date: 2009-01-30 10:24:10 -0500 (Fri, 30 Jan 2009)
New Revision: 18342
Added:
torvm/trunk/build/win32/patches/openssl-0.9.8i-mingw-shared.patch
torvm/trunk/build/win32/patches/polipo-mingw.patch
torvm/trunk/build/win32/patches/qt-mingwssl.patch
torvm/trunk/build/win32/patches/vidalia-torvm.patch
torvm/trunk/build/win32/src/pkg/
torvm/trunk/build/win32/src/pkg/bundle.nsi
torvm/trunk/build/win32/src/pkg/header.bmp
torvm/trunk/build/win32/src/pkg/netinst.nsi
torvm/trunk/build/win32/src/pkg/torinst32.ico
torvm/trunk/build/win32/src/pkg/torvm.wxs
torvm/trunk/build/win32/src/pkg/welcome.bmp
Modified:
torvm/trunk/build/win32/Makefile
torvm/trunk/build/win32/files/buildall.sh
torvm/trunk/build/win32/files/install.bat
Log:
Initial import of Tor VM in Vidalia bundle configuration and packaging work in progress.
Modified: torvm/trunk/build/win32/Makefile
===================================================================
--- torvm/trunk/build/win32/Makefile 2009-01-30 15:23:44 UTC (rev 18341)
+++ torvm/trunk/build/win32/Makefile 2009-01-30 15:24:10 UTC (rev 18342)
@@ -1,4 +1,4 @@
-# Copyright (C) 2008 The Tor Project, Inc.
+# Copyright (C) 2009 The Tor Project, Inc.
# See LICENSE file for rights and terms.
SHELL=/bin/bash
@@ -122,6 +122,75 @@
PERL_URL=http://downloads.sourceforge.net/mingw/perl-5.6.1-MSYS-1.0.11-1.tar.bz2?modtime=1206455338&big_mirror=1
PERL_SUM=ff1f07a061c7958bc9043f0085a55ff0101b1be4
+GROFF_F=groff-1.19.2.tar.gz
+GROFF_URL=http://ftp.gnu.org/gnu/groff/groff-1.19.2.tar.gz
+GROFF_SUM=cfad99a5c52933a6a9180e394bd94fbaec0ac956
+
+CMAKE_F=cmake-2.6.2.tar.gz
+CMAKE_URL=http://www.cmake.org/files/v2.6/cmake-2.6.2.tar.gz
+CMAKE_SUM=48d33afaf23d40f2ea9aa2f5018c7213983222c2
+
+SSLSRC_F=openssl-0.9.8i.tar.gz
+SSLSRC_URL=http://www.openssl.org/source/openssl-0.9.8i.tar.gz
+SSLSRC_SUM=b2e029cfb68bf32eae997d60317a40945db5a65f
+
+PY2EXE_F=py2exe-0.6.9.zip
+PY2EXE_TGZ=py2exe.tar.gz
+PY2EXE_URL=http://downloads.sourceforge.net/py2exe/py2exe-0.6.9.zip?modtime=1226789941&big_mirror=1
+PY2EXE_SUM=f1a2cdfbf6d142f6ff54edfcf9d127e2d07169d5
+
+WIX_F=wix3.0.4721.0-binaries.zip
+WIX_TGZ=wix.tar.gz
+WIX_URL=http://downloads.sourceforge.net/wix/wix3.0.4721.0-binaries.zip?modtime=1227270606&big_mirror=1
+WIX_SUM=3035442aeab28a01f1cb032c610f375f763a0f88
+
+GNURX_F=mingw-libgnurx-2.5.1-src.tar.gz
+GNURX_URL=http://downloads.sourceforge.net/mingw/mingw-libgnurx-2.5.1-src.tar.gz?modtime=1178542293&big_mirror=1
+GNURX_SUM=f1e4af2541645dac82362b618aaa849658cd4988
+
+NSIS_VER=2.42
+NSIS_F=nsis-$(NSIS_VER).zip
+NSIS_URL=http://downloads.sourceforge.net/nsis/nsis-2.42.zip?modtime=1229784735&big_mirror=1
+NSIS_SUM=a1aef12a33f16273ac9109fde28713399f6a8016
+NSIS_TGZ=nsis-2.42.tar.gz
+
+7ZIP_VER=464
+7ZIP_F=7z464.msi
+7ZIP_URL=http://downloads.sourceforge.net/sevenzip/7z464.msi?modtime=1230949842&big_mirror=1
+7ZIP_SUM=19a06e188a83452dc9273290dbef71220686c4c1
+7ZIP_NAME=7zip.msi
+
+QT_VER=4.4.3
+QT_F=qt-win-opensource-src-$(QT_VER).zip
+QT_TGZ=qt-$(QT_VER).tgz
+QT_URL=ftp://ftp.trolltech.com/qt/source/qt-win-opensource-src-$(QT_VER).zip
+QT_SUM=669d494b9c37353f87c13765ed9f3ea97c0fa9e0
+
+VIDALIA_NAME=vidalia-latest
+VIDALIA_TGZ=$(VIDALIA_NAME).tar.gz
+VIDALIA_SVN=https://svn.vidalia-project.net/svn/vidalia/trunk/
+
+POLIPO_F=polipo-20080907.tar.gz
+POLIPO_URL=http://www.pps.jussieu.fr/~jch/software/files/polipo/polipo-20080907.tar.gz
+POLIPO_SUM=dda211e3027310891fb555c1fe5fa2f5b274aa0f
+
+# for package resources
+TORSVN_NAME=tor-latest
+TORSVN_TGZ=$(TORSVN_NAME).tar.gz
+TORSVN_SVN=https://tor-svn.freehaven.net/svn/tor/trunk
+
+TORBUTTON_NAME=torbutton-latest
+TORBUTTON_TGZ=$(TORBUTTON_NAME).tar.gz
+TORBUTTON_SVN=https://tor-svn.freehaven.net/svn/torbutton/trunk
+
+PYCRYPTO_NAME=pycrypto-latest
+PYCRYPTO_TGZ=$(PYCRYPTO_NAME).tar.gz
+PYCRYPTO_GIT=git://git.pycrypto.org:9419/crypto/pycrypto-2.x.git
+
+THANDY_NAME=thandy-latest
+THANDY_TGZ=$(THANDY_NAME).tar.gz
+THANDY_GIT=git://git.torproject.org/git/thandy
+
SDL_F=SDL-1.2.13.tar.gz
SDL_URL=http://www.libsdl.org/release/SDL-1.2.13.tar.gz
SDL_SUM=51fcaa3e1d5c01fd813ea08688780f86b19cf539
@@ -142,7 +211,7 @@
WINDDK_URL=http://download.microsoft.com/download/9/0/f/90f019ac-8243-48d3-91cf-81fc4093ecfd/1830_usa_ddk.iso
WINDDK_SUM=0d2154d88a5ee252cc908630c77863bb42777387
-ALLFILES=$(ZLIB_F) $(GZIP_F) $(BZIP2_F) $(LIBARCH_F) $(BINUTILS_F) $(GCCORE_F) $(GPP_F) $(MINGWRUN_F) $(MINGWUTIL_F) $(MAKE_F) $(W32API_F) $(MSYS_F) $(MSYSCORE_F) $(BASH_F) $(DIFFUTIL_F) $(LIBTOOL_F) $(MINIRES_F) $(MSYSZLIB_F) $(MSYSCRYPT_F) $(M4_F) $(SSL_F) $(SSH_F) $(ZLIBSRC_F) $(PTHREADS_F) $(AMAKE_F) $(ACONF_F) $(PERL_F) $(SDL_F) $(WPCAPSRC_F) $(QEMU_F) $(OVPN_F)
+ALLFILES=$(ZLIB_F) $(GZIP_F) $(BZIP2_F) $(LIBARCH_F) $(BINUTILS_F) $(GCCORE_F) $(GPP_F) $(MINGWRUN_F) $(MINGWUTIL_F) $(MAKE_F) $(W32API_F) $(MSYS_F) $(MSYSCORE_F) $(BASH_F) $(DIFFUTIL_F) $(LIBTOOL_F) $(MINIRES_F) $(MSYSZLIB_F) $(MSYSCRYPT_F) $(M4_F) $(SSL_F) $(SSH_F) $(ZLIBSRC_F) $(PTHREADS_F) $(AMAKE_F) $(ACONF_F) $(PERL_F) $(GROFF_F) $(CMAKE_F) $(QT_F) $(NSIS_F) $(7ZIP_F) $(SSLSRC_F) $(PY2EXE_F) $(WIX_F) $(GNURX_F) $(POLIPO_F) $(SDL_F) $(WPCAPSRC_F) $(QEMU_F) $(OVPN_F)
default all: downloads extract buildiso runinstall
@@ -175,6 +244,16 @@
@if [ ! -e $(WDLDIR)/$(ACONF_F) ]; then $(DLCMD) "$(ACONF_URL)" $(ACONF_SUM) "$(WDLDIR)/$(ACONF_F)"; fi
@if [ ! -e $(WDLDIR)/$(AMAKE_F) ]; then $(DLCMD) "$(AMAKE_URL)" $(AMAKE_SUM) "$(WDLDIR)/$(AMAKE_F)"; fi
@if [ ! -e $(WDLDIR)/$(PERL_F) ]; then $(DLCMD) "$(PERL_URL)" $(PERL_SUM) "$(WDLDIR)/$(PERL_F)"; fi
+ @if [ ! -e $(WDLDIR)/$(GROFF_F) ]; then $(DLCMD) "$(GROFF_URL)" $(GROFF_SUM) "$(WDLDIR)/$(GROFF_F)"; fi
+ @if [ ! -e $(WDLDIR)/$(CMAKE_F) ]; then $(DLCMD) "$(CMAKE_URL)" $(CMAKE_SUM) "$(WDLDIR)/$(CMAKE_F)"; fi
+ @if [ ! -e $(WDLDIR)/$(QT_F) ]; then $(DLCMD) "$(QT_URL)" $(QT_SUM) "$(WDLDIR)/$(QT_F)"; fi
+ @if [ ! -e $(WDLDIR)/$(NSIS_F) ]; then $(DLCMD) "$(NSIS_URL)" $(NSIS_SUM) "$(WDLDIR)/$(NSIS_F)"; fi
+ @if [ ! -e $(WDLDIR)/$(7ZIP_F) ]; then $(DLCMD) "$(7ZIP_URL)" $(7ZIP_SUM) "$(WDLDIR)/$(7ZIP_F)"; fi
+ @if [ ! -e $(WDLDIR)/$(SSLSRC_F) ]; then $(DLCMD) "$(SSLSRC_URL)" $(SSLSRC_SUM) "$(WDLDIR)/$(SSLSRC_F)"; fi
+ @if [ ! -e $(WDLDIR)/$(PY2EXE_F) ]; then $(DLCMD) "$(PY2EXE_URL)" $(PY2EXE_SUM) "$(WDLDIR)/$(PY2EXE_F)"; fi
+ @if [ ! -e $(WDLDIR)/$(WIX_F) ]; then $(DLCMD) "$(WIX_URL)" $(WIX_SUM) "$(WDLDIR)/$(WIX_F)"; fi
+ @if [ ! -e $(WDLDIR)/$(GNURX_F) ]; then $(DLCMD) "$(GNURX_URL)" $(GNURX_SUM) "$(WDLDIR)/$(GNURX_F)"; fi
+ @if [ ! -e $(WDLDIR)/$(POLIPO_F) ]; then $(DLCMD) "$(POLIPO_URL)" $(POLIPO_SUM) "$(WDLDIR)/$(POLIPO_F)"; fi
@if [ ! -e $(WDLDIR)/$(SDL_F) ]; then $(DLCMD) "$(SDL_URL)" $(SDL_SUM) "$(WDLDIR)/$(SDL_F)"; fi
@if [ ! -e $(WDLDIR)/$(WPCAPSRC_F) ]; then $(DLCMD) "$(WPCAPSRC_URL)" $(WPCAPSRC_SUM) "$(WDLDIR)/$(WPCAPSRC_F)"; fi
@if [ ! -e $(WDLDIR)/$(OVPN_F) ]; then $(DLCMD) "$(OVPN_URL)" $(OVPN_SUM) "$(WDLDIR)/$(OVPN_F)"; fi
@@ -210,20 +289,43 @@
cp files/fstab $(ISODIR)/bin/; \
cp files/buildall.sh $(ISODIR)/dl/src; \
cp patches/* $(ISODIR)/dl/src; \
+ cp $(WDLDIR)/$(7ZIP_F) $(ISODIR)/dl/$(7ZIP_NAME); \
unzip $(WDLDIR)/$(ZLIB_F) -d $(ISODIR)/ bin/zlib1.dll; \
unzip $(WDLDIR)/$(GZIP_F) -d $(ISODIR)/ bin/gzip.exe; \
unzip $(WDLDIR)/$(BZIP2_F) -d $(ISODIR)/ bin/bzip2.exe bin/bzip2.dll; \
tar jxf $(WDLDIR)/$(BASH_F) bin/bash.exe bin/sh.exe; mv bin/* $(ISODIR)/bin/;rmdir bin; \
tar jxf $(WDLDIR)/$(MSYS_F) bin/msys-1.0.dll bin/mount.exe bin/ps.exe; mv bin/* $(ISODIR)/bin/;rmdir bin; \
+ tar jxf $(WDLDIR)/$(MSYSZLIB_F) bin/msys-z.dll; mv bin/* $(ISODIR)/bin/;rmdir bin; \
unzip $(WDLDIR)/$(LIBARCH_F) -d $(ISODIR)/ bin/bsdtar.exe bin/libarchive2.dll; \
cp $(addprefix $(WDLDIR)/, $(ALLFILES)) $(ISODIR)/dl/; \
unzip $(WDLDIR)/$(WPCAPSRC_F); mv winpcap WpcapSrc_4_1_beta4; tar cf $(ISODIR)/dl/src/WpcapSrc_4_1_beta4.tar WpcapSrc_4_1_beta4; gzip -9 $(ISODIR)/dl/src/WpcapSrc_4_1_beta4.tar; rm -rf WpcapSrc_4_1_beta4; \
mv $(ISODIR)/dl/$(PTHREADS_F) $(ISODIR)/dl/src/; \
mv $(ISODIR)/dl/$(QEMU_F) $(ISODIR)/dl/src/; \
+ mv $(ISODIR)/dl/$(GROFF_F) $(ISODIR)/dl/src/; \
+ mv $(ISODIR)/dl/$(CMAKE_F) $(ISODIR)/dl/src/; \
+ mv $(ISODIR)/dl/$(SSLSRC_F) $(ISODIR)/dl/src/; \
+ mv $(ISODIR)/dl/$(GNURX_F) $(ISODIR)/dl/src/; \
+ mv $(ISODIR)/dl/$(POLIPO_F) $(ISODIR)/dl/src/; \
+ unzip $(WDLDIR)/$(PY2EXE_F) -d tmp; mv tmp/py2exe* py2exe;rmdir tmp; tar zcf $(ISODIR)/dl/$(PY2EXE_TGZ) py2exe; rm -rf py2exe; \
+ unzip $(WDLDIR)/$(NSIS_F); tar zcf $(ISODIR)/dl/$(NSIS_TGZ) nsis-$(NSIS_VER); rm -rf nsis-$(NSIS_VER) ; \
+ unzip $(WDLDIR)/$(WIX_F) -d wix; tar zcf $(ISODIR)/dl/$(WIX_TGZ) wix; rm -rf wix; \
+ unzip $(WDLDIR)/$(QT_F) -d qt-$(QT_VER); mv qt-$(QT_VER)/qt-*/* qt-$(QT_VER)/; rm -rf qt-$(QT_VER)/qt-*; tar zcf $(ISODIR)/dl/src/$(QT_TGZ) qt-$(QT_VER); rm -rf qt-$(QT_VER); \
+ rm -rf $(PYCRYPTO_NAME); git clone $(PYCRYPTO_GIT) $(PYCRYPTO_NAME) ; \
+ find $(PYCRYPTO_NAME) -name '\.git' -exec rm -rf {} \; ; \
+ tar zcf $(ISODIR)/dl/src/$(PYCRYPTO_TGZ) $(PYCRYPTO_NAME); rm -rf $(PYCRYPTO_NAME); \
+ rm -rf $(VIDALIA_NAME); svn export $(VIDALIA_SVN) $(VIDALIA_NAME) ; \
+ tar zcf $(ISODIR)/dl/src/$(VIDALIA_TGZ) $(VIDALIA_NAME); rm -rf $(VIDALIA_NAME); \
+ rm -rf $(THANDY_NAME); git clone $(THANDY_GIT) $(THANDY_NAME) ; \
+ tar zcf $(ISODIR)/dl/src/$(THANDY_TGZ) $(THANDY_NAME); rm -rf $(THANDY_NAME); \
+ rm -rf $(TORSVN_NAME); svn export $(TORSVN_SVN) $(TORSVN_NAME) ; \
+ tar zcf $(ISODIR)/dl/src/$(TORSVN_TGZ) $(TORSVN_NAME); rm -rf $(TORSVN_NAME); \
+ rm -rf $(TORBUTTON_NAME); svn export $(TORBUTTON_SVN) $(TORBUTTON_NAME) ; cd $(TORBUTTON_NAME) ; bash makexpi.sh ; cd .. ; \
+ mv $(TORBUTTON_NAME)/pkg/*.xpi $(ISODIR)/dl/src/ ; rm -rf $(TORSVN_NAME); \
mv $(ISODIR)/dl/$(SDL_F) $(ISODIR)/dl/src/; \
mv $(ISODIR)/dl/$(OVPN_F) $(ISODIR)/dl/src/; \
mv $(ISODIR)/dl/$(ZLIBSRC_F) $(ISODIR)/dl/src/; \
( cd src && tar zcf ../$(ISODIR)/dl/src/torvm-w32.tgz torvm-w32 ); \
+ ( cd src && tar zcf ../$(ISODIR)/dl/src/pkg.tgz pkg ); \
touch $(ISODIR)/VMDEVISO.TXT
buildiso: extract
Modified: torvm/trunk/build/win32/files/buildall.sh
===================================================================
--- torvm/trunk/build/win32/files/buildall.sh 2009-01-30 15:23:44 UTC (rev 18341)
+++ torvm/trunk/build/win32/files/buildall.sh 2009-01-30 15:24:10 UTC (rev 18342)
@@ -1,10 +1,14 @@
#!/bin/bash
-export PATH=.:/usr/local/bin:/usr/bin:/bin:/mingw/bin:/c/WINDOWS/system32:/c/WINDOWS:/c/WINDOWS/System32/Wbem
+export PATH=.:/usr/local/bin:/usr/bin:/bin:/mingw/bin:/wix:/lib:/usr/local/lib:/usr/libexec:/c/WINDOWS/system32:/c/WINDOWS:/c/WINDOWS/System32/Wbem
export LD_LIBRARY_PATH=/usr/local/lib:/usr/lib:/lib:/mingw/lib
export ddir=/c/Tor_VM
export libdir="${ddir}/lib"
export bindir="${ddir}/bin"
export statedir="${ddir}/state"
+export brootdir=/c/Tor_Win32
+export instdir=$broot/Installer
+export thandir=$broot/Thandy
+export bundledir=$broot/Bundle
export ZLIB_VER="1.2.3"
export ZLIB_DIR="zlib-${ZLIB_VER}"
@@ -14,7 +18,62 @@
export WPCAP_INCLUDE="-I${WPCAP_DIR}/wpcap/libpcap -I${WPCAP_DIR}/wpcap/libpcap/Win32/Include"
export WPCAP_LDFLAGS="-L${WPCAP_DIR}/wpcap/PRJ -L${WPCAP_DIR}/packetNtx/Dll/Project"
+export TORSVN_DIR="tor-latest"
+export TORSVN_FILE="tor-latest.tar.gz"
+
+export OPENSSL_VER="0.9.8i"
+export OPENSSL_DIR="openssl-${OPENSSL_VER}"
+export OPENSSL_FILE="openssl-${OPENSSL_VER}.tar.gz"
+
+export GROFF_VER="1.19.2"
+export GROFF_DIR="groff-${GROFF_VER}"
+export GROFF_FILE="groff-${GROFF_VER}.tar.gz"
+
+export CMAKE_VER="2.6.2"
+export CMAKE_DIR="cmake-${CMAKE_VER}"
+export CMAKE_FILE="cmake-${CMAKE_VER}.tar.gz"
+export CMAKEBIN="/c/Program\ Files/CMake/bin"
+export PATH="${PATH}:${CMAKEBIN}:/src/$CMAKE_DIR/bin"
+
+export QT_VER="4.4.3"
+export QT_DIR="qt-${QT_VER}"
+export QT_FILE="qt-${QT_VER}.tgz"
+export QT_ROOT="/c/Qt/${QT_VER}"
+export QT_BIN="${QT_ROOT}/bin"
+export QTDIR="C:\Qt\4.4.3"
+export QMAKESPEC=win32-g++
+export PATH="$PATH:$QT_BIN:$QTDIR\bin"
+
+export PYTHON_ROOT=/c/Python26
+export PATH=$PATH:$PYTHON_ROOT
+
+export VIDALIA_FILE=vidalia-latest.tar.gz
+export VIDALIA_DIR=vidalia-latest
+
+export GNURX_FILE=mingw-libgnurx-2.5.1-src.tar.gz
+export GNURX_DIR=mingw-libgnurx-2.5.1
+
+export POLIPO_FILE=polipo-20080907.tar.gz
+export POLIPO_DIR=polipo-20080907
+
+export TORBUTTON_FILE=torbutton-1.2.0.xpi
+
+export NSIS_DIR=nsis-2.42
+export 7ZIP_DIR="/c/Program Files/7-Zip"
+export PATH="${PATH}:/${NSIS_DIR}/Bin:/${NSIS_DIR}:/${NSIS_DIR}/bin:${7ZIP_DIR}"
+
+if [ -d "$VS80COMNTOOLS" ]; then
+ export VSTOOLSDIR="$VS80COMNTOOLS"
+ export VSTOOLSENV="$VS80COMNTOOLS\vsvars32.bat"
+elif [ -d "$VS90COMNTOOLS" ]; then
+ export VSTOOLSDIR="$VS90COMNTOOLS"
+ export VSTOOLSENV="$VS90COMNTOOLS\vsvars32.bat"
+else
+ unset VSTOOLSDIR
+ unset VSTOOLSENV
+fi
+
if [ -f ~/.ssh/user ]; then
export BUILD_SCP_USER=`cat ~/.ssh/user`
export BUILD_SCP_HOST=`cat ~/.ssh/host`
@@ -50,9 +109,9 @@
fi
else
-for dir in $ddir $libdir $bindir $statedir; do
+for dir in $ddir $libdir $bindir $statedir $brootdir $instdir $thandir $bundledir; do
if [ ! -d $dir ]; then
- mkdir $dir
+ mkdir -p $dir
fi
done
@@ -322,6 +381,313 @@
strip $ddir/*.exe
fi
+echo "Building groff ..."
+cd /usr/src
+tar zxvf $GROFF_FILE
+cd $GROFF_DIR
+./configure --prefix=/usr
+if (( $? != 0 )); then
+ echo "ERROR: groff configure failed." >&2
+ exit 1
+fi
+for DEP in src/include src/libs/libgroff src/libs/libdriver src/preproc/soelim src/preproc/html src/devices/grotty src/devices/grops src/devices/grohtml src/roff/groff src/roff/troff font/devps font/devascii font/devhtml tmac; do
+ make $DEP
+ if (( $? != 0 )); then
+ echo "ERROR: groff build for DEP $DEP failed." >&2
+ exit 1
+ fi
+done
+cp src/preproc/soelim/soelim.exe src/preproc/html/pre-grohtml.exe src/roff/groff/groff.exe src/devices/grohtml/post-grohtml.exe src/devices/grotty/grotty.exe src/devices/grops/grops.exe src/roff/troff/troff.exe /bin/
+cp -a font/devascii /share/
+cp -a font/devhtml /share/
+cp -a font/devps /share/
+cp -a tmac /share/
+
+
+echo "Building openssl ..."
+cd /usr/src
+tar zxvf $OPENSSL_FILE
+cd $OPENSSL_DIR
+patch -p1 < ../openssl-0.9.8i-mingw-shared.patch
+./Configure --prefix=/usr no-idea no-rc5 no-mdc2 no-hw no-sse2 zlib-dynamic threads shared mingw
+if (( $? != 0 )); then
+ echo "ERROR: openssl configure failed." >&2
+ exit 1
+fi
+echo "Configuring OpenSSL header files for build ..."
+find crypto -name "*.h" -exec cp {} include/openssl/ \;
+find ssl -name "*.h" -exec cp {} include/openssl/ \;
+cp *.h include/openssl/
+make
+if (( $? != 0 )); then
+ cp *.a /lib
+ find crypto -name "*.h" -exec cp {} include/openssl/ \;
+ find ssl -name "*.h" -exec cp {} include/openssl/ \;
+ cp *.h include/openssl/
+ make
+ if (( $? != 0 )); then
+ echo "ERROR: openssl build failed." >&2
+ exit 1
+ fi
+fi
+cp -f *.dll /lib/
+cp *.a /lib/
+cp -a include/openssl /usr/include/
+
+echo "Extracting sources for Tor from svn ..."
+cd /usr/src
+tar zxvf $TORSVN_FILE
+
+# Microsoft Installer package build
+TOR_WXS=tor.wxs
+TORUI_WXS=WixUI_Tor.wxs
+TOR_WXS_DIR=contrib
+TOR_MSI=tor.msi
+WIX_UI=/wix/WixUIExtension.dll
+
+echo "Building PyCrypto ..."
+cd /usr/src
+tar zxvf pycrypto-latest.tar.gz
+cd pycrypto-latest
+python setup.py build
+if (( $? != 0 )); then
+ echo "ERROR: PyCrypto build failed."
+ exit 1
+fi
+python setup.py install
+if (( $? != 0 )); then
+ echo "ERROR: PyCrypto install failed."
+ exit 1
+fi
+
+echo "Building py2exe ..."
+cd /py2exe
+python setup.py build
+if (( $? != 0 )); then
+ echo "ERROR: Thandy build failed."
+ exit 1
+fi
+python setup.py install
+if (( $? != 0 )); then
+ echo "ERROR: Thandy install failed."
+ exit 1
+fi
+
+echo "Building Thandy ..."
+cd /usr/src
+tar zxvf thandy-latest.tar.gz
+cd thandy-latest
+echo "Starting build..."
+python setup.py build
+if (( $? != 0 )); then
+ echo "ERROR: Thandy build failed."
+ exit 1
+fi
+python setup.py py2exe
+if (( $? != 0 )); then
+ echo "ERROR: Thandy install failed."
+ exit 1
+fi
+mv dist/ClientCLI.exe $thandir/Thandy.exe
+
+echo "Building CMake ..."
+cd /usr/src
+tar zxvf $CMAKE_FILE
+cd $CMAKE_DIR
+./bootstrap --no-qt-gui
+if (( $? != 0 )); then
+ echo "ERROR: CMake bootstrap / configure failed."
+# exit 1
+fi
+make
+if (( $? != 0 )); then
+ echo "ERROR: CMake build failed."
+# exit 1
+fi
+make install
+if (( $? != 0 )); then
+ echo "ERROR: CMake install failed."
+# exit 1
+fi
+
+echo "Building Qt ..."
+cd /usr/src
+mkdir /c/Qt
+tar zxvf $QT_FILE
+mv $QT_DIR /c/Qt/$QT_VER
+cd /c/Qt/$QT_VER
+if [ -f /src/qt-mingwssl.patch ]; then
+ patch -p1 < /src/qt-mingwssl.patch
+fi
+./configure.exe -confirm-license -release -no-dbus -no-phonon -no-webkit -no-qdbus -no-opengl -no-qt3support -no-xmlpatterns -no-sse2 -no-3dnow -qt-style-windowsxp -qt-style-windowsvista -no-sql-sqlite -no-sql-sqlite2 -no-sql-odbc -no-fast -openssl
+echo "QT_BUILD_PARTS -= examples" >> .qmake.cache
+echo "QT_BUILD_PARTS -= demos" >> .qmake.cache
+echo "QT_BUILD_PARTS -= docs" >> .qmake.cache
+unix2dos .qmake.cache
+make
+if (( $? != 0 )); then
+ # seems to run out of memory???
+ make
+ if (( $? != 0 )); then
+ echo "ERROR: Qt build failed."
+ fi
+fi
+
+echo "Building GNU regex ..."
+cd /usr/src
+tar zxvf $GNURX_FILE
+cd $GNURX_DIR
+./configure --prefix=/usr
+if (( $? != 0 )); then
+ echo "ERROR: GNU regex configure failed."
+fi
+make
+if (( $? != 0 )); then
+ echo "ERROR: GNU regex build failed."
+fi
+make install
+if (( $? != 0 )); then
+ echo "ERROR: GNU regex install failed."
+fi
+
+echo "Building polipo ..."
+cd /usr/src
+tar zxvf $POLIPO_FILE
+cd $POLIPO_DIR
+if [ -f ../polipo-mingw.patch ]; then
+ echo "Patching polipo sources ..."
+ patch -p1 < ../polipo-mingw.patch
+fi
+make
+if (( $? != 0 )); then
+ echo "ERROR: polipo build failed."
+fi
+
+echo "Expanding package dir ..."
+cd /usr/src
+tar zxvf pkg.tgz
+
+echo "Building Vidalia ..."
+cd /usr/src
+tar zxvf $VIDALIA_FILE
+cd $VIDALIA_DIR
+if [ -f ../vidalia-torvm.patch ]; then
+ echo "Applying torvm patch to sources ..."
+ patch -p1 < ../vidalia-torvm.patch
+fi
+cmake -DOPENSSL_LIBRARY_DIR=/src/$OPENSSL_DIR -DCMAKE_BUILD_TYPE=release -G "MSYS Makefiles" .
+if [ ! -f Makefile ]; then
+ echo "ERROR: Vidalia cmake failed."
+fi
+make
+if (( $? != 0 )); then
+ echo "ERROR: Vidalia build failed."
+fi
+if [ -f src/vidalia/vidalia.exe ]; then
+ strip src/vidalia/vidalia.exe
+ ls -l src/vidalia/vidalia.exe
+ mkdir bin
+ for FILE in QtCore4.dll QtGui4.dll QtNetwork4.dll QtXml4.dll QtSvg4.dll; do
+ cp /c/Qt/$QT_VER/bin/$FILE bin/
+ done
+ cp /bin/mingwm10.dll bin/
+ cp /src/$OPENSSL_DIR/ssleay32-0.9.8.dll bin/
+ cp /src/$OPENSSL_DIR/cryptoeay32-0.9.8.dll bin/
+ cp /src/$ZLIB_DIR/*.dll bin/
+ cp /bin/pthreadGC2.dll bin/
+ cp /bin/libgnurx-0.dll bin/
+ cp /src/$POLIPO_DIR/polipo.exe bin/
+ cp pkg/win32/polipo.conf bin/
+ strip bin/*.dll
+ strip bin/*.exe
+
+ candle.exe pkg/win32/*.wxs
+ light.exe -out vidalia.msi vidalia.wixobj WixUI_Tor.wixobj -ext $WIX_UI
+ if [ -f vidalia.msi ]; then
+ cp vidalia.msi $bundledir
+ cp vidalia.msi ../pkg/
+ cp -a bin ../pkg/
+ ls -l vidalia.msi
+ else
+ echo "ERROR: unable to build vidalia MSI installer."
+ fi
+fi
+
+echo "Building bundle packages ..."
+cd /usr/src/pkg
+# DONT STRIP PY2EXEs!
+cp $thandir/Thandy.exe bin/
+cp /src/$TORSVN_DIR/contrib/*.wxs ./
+cp -a $ddir ./
+if [ -f /src/$TORBUTTON_FILE ]; then
+ cp /src/$TORBUTTON_FILE bin/torbutton.xpi
+fi
+
+cp /src/$TORBUTTON_FILE ./torbutton.xpi
+touch tbcheck.bat
+touch uninstall.bat
+candle.exe *.wxs
+
+light.exe -out torvm.msi WixUI_Tor.wixobj torvm.wixobj -ext $WIX_UI
+if [ -f torvm.msi ]; then
+ cp torvm.msi $bundledir
+ ls -l torvm.msi
+else
+ echo "ERROR: unable to build Tor VM MSI installer."
+fi
+
+light.exe -out polipo.msi WixUI_Tor.wixobj polipo.wixobj -ext $WIX_UI
+if [ -f polipo.msi ]; then
+ cp polipo.msi $bundledir
+ ls -l polipo.msi
+else
+ echo "ERROR: unable to build polipo MSI installer."
+fi
+
+light.exe -out torbutton.msi WixUI_Tor.wixobj torbutton.wixobj -ext $WIX_UI
+if [ -f torbutton.msi ]; then
+ cp torbutton.msi $bundledir
+ ls -l torbutton.msi
+else
+ echo "ERROR: unable to build torbutton MSI installer."
+fi
+
+light.exe -out thandy.msi WixUI_Tor.wixobj thandy.wixobj -ext $WIX_UI
+if [ -f thandy.msi ]; then
+ cp thandy.msi $bundledir
+ ls -l thandy.msi
+else
+ echo "ERROR: unable to build Thandy MSI installer."
+fi
+
+makensis.exe bundle.nsi
+if [ -f TorVMBundle.exe ]; then
+ cp TorVMBundle.exe $bundledir
+ ls -l TorVMBundle.exe
+else
+ echo "ERROR: unable to build Tor VM executable bundle installer."
+fi
+
+makensis.exe netinst.nsi
+if [ -f TorVMNetInstaller.exe ]; then
+ cp TorVMNetInstaller.exe $bundledir
+ ls -l TorVMNetInstaller.exe
+else
+ echo "ERROR: unable to build Tor VM executable network installer."
+fi
+
+export exename=Tor_VM.exe
+if [ -f $exename ]; then
+ rm -f $exename
+fi
+7z.exe a -sfx7z.sfx $exename Tor_VM
+if [ -f $exename ]; then
+ cp $exename $bundledir
+ ls -l $exename
+else
+ echo "ERROR: unable to build self extracting Tor VM archive."
+fi
+
if [[ "$BUILD_SCP_USER" != "" ]]; then
echo "Transferring build to destination ${BUILD_SCP_HOST}:${BUILD_SCP_DIR} ..."
scp -o BatchMode=yes -o CheckHostIP=no -o StrictHostKeyChecking=no \
Modified: torvm/trunk/build/win32/files/install.bat
===================================================================
--- torvm/trunk/build/win32/files/install.bat 2009-01-30 15:23:44 UTC (rev 18341)
+++ torvm/trunk/build/win32/files/install.bat 2009-01-30 15:24:10 UTC (rev 18342)
@@ -34,6 +34,11 @@
cd %MDIR%\%MVER%\dl\
bzip2 -d *.bz2
gzip -d *.gz
+IF NOT EXIST "%PROGRAMFILES%\7-Zip" (
+IF EXIST 7zip.msi (
+ msiexec /i 7zip.msi /QN
+)
+)
cd /d %DDRV%
cd %MDIR%\%MVER%
for %%f in (dl\*.tar) do bsdtar xvf %%f
Added: torvm/trunk/build/win32/patches/openssl-0.9.8i-mingw-shared.patch
===================================================================
--- torvm/trunk/build/win32/patches/openssl-0.9.8i-mingw-shared.patch (rev 0)
+++ torvm/trunk/build/win32/patches/openssl-0.9.8i-mingw-shared.patch 2009-01-30 15:24:10 UTC (rev 18342)
@@ -0,0 +1,54 @@
+diff -Naur orig-openssl-0.9.8i/Configure mod-openssl-0.9.8i/Configure
+--- orig-openssl-0.9.8i/Configure 2008-09-12 14:47:00.000000000 +0000
++++ mod-openssl-0.9.8i/Configure 2008-10-04 01:28:59.415912960 +0000
+@@ -473,7 +473,7 @@
+ "BC-32","bcc32::::WIN32::BN_LLONG DES_PTR RC4_INDEX EXPORT_VAR_AS_FN:${no_asm}:win32",
+
+ # MinGW
+-"mingw", "gcc:-mno-cygwin -DL_ENDIAN -fomit-frame-pointer -O3 -march=i486 -Wall -D_WIN32_WINNT=0x333:::MINGW32:-lwsock32 -lgdi32:BN_LLONG ${x86_gcc_des} ${x86_gcc_opts} EXPORT_VAR_AS_FN:${x86_coff_asm}:win32:cygwin-shared:-D_WINDLL -DOPENSSL_USE_APPLINK:-mno-cygwin -shared:.dll.a",
++"mingw", "gcc:-DL_ENDIAN -fomit-frame-pointer -O3 -march=i486 -Wall -D_WIN32_WINNT=0x333:::MINGW32:-lws2_32 -lgdi32:BN_LLONG ${x86_gcc_des} ${x86_gcc_opts} EXPORT_VAR_AS_FN:${x86_coff_asm}:win32:cygwin-shared:-D_WINDLL -DOPENSSL_USE_APPLINK:-Wl,--export-all -mno-cygwin -shared:.dll.a",
+
+ # UWIN
+ "UWIN", "cc:-DTERMIOS -DL_ENDIAN -O -Wall:::UWIN::BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:${no_asm}:win32",
+@@ -947,7 +947,7 @@
+
+ my $IsMK1MF=scalar grep /^$target$/, at MK1MF_Builds;
+
+-$IsMK1MF=1 if ($target eq "mingw" && $^O ne "cygwin" && !is_msys());
++### $IsMK1MF=1 if ($target eq "mingw" && $^O ne "cygwin" && !is_msys());
+
+ $exe_ext=".exe" if ($target eq "Cygwin" || $target eq "DJGPP" || $target eq "mingw");
+ $exe_ext=".nlm" if ($target =~ /netware/);
+diff -Naur orig-openssl-0.9.8i/Makefile.org mod-openssl-0.9.8i/Makefile.org
+--- orig-openssl-0.9.8i/Makefile.org 2008-04-03 23:03:39.000000000 +0000
++++ mod-openssl-0.9.8i/Makefile.org 2008-10-02 10:12:30.532290416 +0000
+@@ -104,7 +104,7 @@
+ ZLIB_INCLUDE=
+ LIBZLIB=
+
+-DIRS= crypto ssl engines apps test tools
++DIRS= crypto ssl
+ SHLIBDIRS= crypto ssl
+
+ # dirs in crypto to build
+@@ -223,9 +223,9 @@
+ @[ -n "$(THIS)" ] && $(CLEARENV) && $(MAKE) $(THIS) -e $(BUILDENV)
+
+ sub_all: build_all
+-build_all: build_libs build_apps build_tests build_tools
++build_all: build_libs build_apps build_tools
+
+-build_libs: build_crypto build_ssl build_engines
++build_libs: build_crypto build_ssl
+
+ build_crypto:
+ @dir=crypto; target=all; $(BUILD_ONE_CMD)
+@@ -254,7 +254,7 @@
+
+ libssl$(SHLIB_EXT): libcrypto$(SHLIB_EXT) libssl.a
+ @if [ "$(SHLIB_TARGET)" != "" ]; then \
+- $(MAKE) SHLIBDIRS=ssl SHLIBDEPS='-lcrypto' build-shared; \
++ $(MAKE) SHLIBDIRS=ssl LIBDEPS='-lcrypto' build-shared; \
+ else \
+ echo "There's no support for shared libraries on this platform" >&2; \
+ exit 1; \
Added: torvm/trunk/build/win32/patches/polipo-mingw.patch
===================================================================
--- torvm/trunk/build/win32/patches/polipo-mingw.patch (rev 0)
+++ torvm/trunk/build/win32/patches/polipo-mingw.patch 2009-01-30 15:24:10 UTC (rev 18342)
@@ -0,0 +1,50 @@
+diff -Naur orig-polipo-20080907/Makefile mod-polipo-20080907/Makefile
+--- orig-polipo-20080907/Makefile 2008-09-07 21:21:20.000000000 +0000
++++ mod-polipo-20080907/Makefile 2008-12-22 19:25:07.878902816 +0000
+@@ -1,9 +1,9 @@
+-PREFIX = /usr/local
+-BINDIR = $(PREFIX)/bin
+-MANDIR = $(PREFIX)/man
+-INFODIR = $(PREFIX)/info
+-LOCAL_ROOT = /usr/share/polipo/www
+-DISK_CACHE_ROOT = /var/cache/polipo
++PREFIX = Polipo
++BINDIR = $(PREFIX)\bin
++MANDIR = $(PREFIX)\man
++INFODIR = $(PREFIX)\info
++LOCAL_ROOT = $(PREFIX)
++DISK_CACHE_ROOT = $(PREFIX)\cache
+
+ # To compile with Unix CC:
+
+@@ -13,7 +13,7 @@
+
+ # CC = gcc
+ # CDEBUGFLAGS = -Os -g -Wall -std=gnu99
+-CDEBUGFLAGS = -Os -g -Wall
++CDEBUGFLAGS = -Os -Wall
+ # CDEBUGFLAGS = -Os -Wall
+ # CDEBUGFLAGS = -g -Wall
+
+@@ -38,8 +38,10 @@
+
+ # On mingw, you need
+
+-# EXE=.exe
+-# LDLIBS = -lwsock32
++EXE=.exe
++LDLIBS = -lwsock32 -lregex
++
++TOR_DEFINES = -DNO_DISK_CACHE -DNO_IPv6 -DNO_FANCY_RESOLVER -DHAVE_REGEX
+
+ FILE_DEFINES = -DLOCAL_ROOT=\"$(LOCAL_ROOT)/\" \
+ -DDISK_CACHE_ROOT=\"$(DISK_CACHE_ROOT)/\"
+@@ -61,7 +63,7 @@
+ # -DNO_REDIRECTOR to compile out the Squid-style redirector code
+ # -DNO_SYSLOG to compile out logging to syslog
+
+-DEFINES = $(FILE_DEFINES) $(PLATFORM_DEFINES)
++DEFINES = $(FILE_DEFINES) $(PLATFORM_DEFINES) $(TOR_DEFINES)
+
+ CFLAGS = $(MD5INCLUDES) $(CDEBUGFLAGS) $(DEFINES) $(EXTRA_DEFINES)
+
Added: torvm/trunk/build/win32/patches/qt-mingwssl.patch
===================================================================
--- torvm/trunk/build/win32/patches/qt-mingwssl.patch (rev 0)
+++ torvm/trunk/build/win32/patches/qt-mingwssl.patch 2009-01-30 15:24:10 UTC (rev 18342)
@@ -0,0 +1,29 @@
+diff -Naur orig-qt-4.4.3/src/network/ssl/qsslsocket_openssl_symbols.cpp mod-qt-4.4.3/src/network/ssl/qsslsocket_openssl_symbols.cpp
+--- orig-qt-4.4.3/src/network/ssl/qsslsocket_openssl_symbols.cpp 2008-09-27 09:00:56.000000000 +0000
++++ mod-qt-4.4.3/src/network/ssl/qsslsocket_openssl_symbols.cpp 2008-12-30 09:53:24.191484064 +0000
+@@ -327,14 +327,22 @@
+ if (!ssleay32->load()) {
+ // Cannot find ssleay32.dll
+ delete ssleay32;
+- return pair;
++ ssleay32 = new QLibrary(QLatin1String("ssleay32-0.9.8"));
++ if (!ssleay32->load()) {
++ delete ssleay32;
++ return pair;
++ }
+ }
+
+ QLibrary *libeay32 = new QLibrary(QLatin1String("libeay32"));
+ if (!libeay32->load()) {
+- delete ssleay32;
+ delete libeay32;
+- return pair;
++ libeay32 = new QLibrary(QLatin1String("cryptoeay32-0.9.8"));
++ if (!libeay32->load()) {
++ delete libeay32;
++ delete ssleay32;
++ return pair;
++ }
+ }
+
+ pair.first = ssleay32;
Added: torvm/trunk/build/win32/patches/vidalia-torvm.patch
===================================================================
--- torvm/trunk/build/win32/patches/vidalia-torvm.patch (rev 0)
+++ torvm/trunk/build/win32/patches/vidalia-torvm.patch 2009-01-30 15:24:10 UTC (rev 18342)
@@ -0,0 +1,655 @@
+diff -Naur orig-vidalia/cmake/FindOpenSSL.cmake mod-vidalia/cmake/FindOpenSSL.cmake
+--- orig-vidalia/cmake/FindOpenSSL.cmake 2008-04-02 02:00:24.794800000 +0000
++++ mod-vidalia/cmake/FindOpenSSL.cmake 2009-01-26 10:46:24.132337536 +0000
+@@ -96,8 +96,8 @@
+ mark_as_advanced(OPENSSL_LIBSSL_DEBUG OPENSSL_LIBCRYPTO_DEBUG
+ OPENSSL_LIBSSL_RELEASE OPENSSL_LIBCRYPTO_RELEASE)
+ else(MSVC)
+- find_library(OPENSSL_LIBSSL NAMES ssl ssleay32)
+- find_library(OPENSSL_LIBCRYPTO NAMES crypto libeay32)
++ find_library(OPENSSL_LIBSSL NAMES ssleay32-0.9.8 ssl ssleay32)
++ find_library(OPENSSL_LIBCRYPTO NAMES cryptoeay32-0.9.8 crypto libeay32)
+ endif(MSVC)
+
+
+diff -Naur orig-vidalia/pkg/build-geoip-cache.sh mod-vidalia/pkg/build-geoip-cache.sh
+--- orig-vidalia/pkg/build-geoip-cache.sh 2008-02-29 04:30:11.928307000 +0000
++++ mod-vidalia/pkg/build-geoip-cache.sh 2009-01-26 10:47:18.600057184 +0000
+@@ -13,7 +13,7 @@
+
+
+ DIRURL="http://tor.noreply.org/tor/status/all"
+-GEOIPURL="http://geoip.vidalia-project.net/cgi-bin/geoip"
++GEOIPURL="http://peertech.org/geoip"
+ CACHEFILE="geoip-cache"
+
+ if [ "$1" == "-notimestamp" -o "$1" == "--notimestamp" ]; then
+diff -Naur orig-vidalia/pkg/win32/WixUI_Tor.wxs mod-vidalia/pkg/win32/WixUI_Tor.wxs
+--- orig-vidalia/pkg/win32/WixUI_Tor.wxs 1970-01-01 00:00:00.000000000 +0000
++++ mod-vidalia/pkg/win32/WixUI_Tor.wxs 2009-01-26 10:47:34.940573048 +0000
+@@ -0,0 +1,62 @@
++<?xml version="1.0" encoding="UTF-8"?>
++<!--
++ Copyright (c) Microsoft Corporation. All rights reserved.
++
++ The use and distribution terms for this software are covered by the
++ Common Public License 1.0 (http://opensource.org/licenses/cpl.php)
++ which can be found in the file CPL.TXT at the root of this distribution.
++ By using this software in any fashion, you are agreeing to be bound by
++ the terms of this license.
++
++ You must not remove this notice, or any other, from this software.
++
++ This is modified from WixUI_Mondo to omit EULA and other parts not necessary
++ for Tor installation.
++-->
++<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">
++ <Fragment>
++ <UI Id="WixUI_Tor">
++ <TextStyle Id="WixUI_Font_Normal" FaceName="Tahoma" Size="8" />
++ <TextStyle Id="WixUI_Font_Bigger" FaceName="Tahoma" Size="12" />
++ <TextStyle Id="WixUI_Font_Title" FaceName="Tahoma" Size="9" Bold="yes" />
++
++ <Property Id="DefaultUIFont" Value="WixUI_Font_Normal" />
++ <Property Id="WixUI_Mode" Value="Tor" />
++
++ <DialogRef Id="ErrorDlg" />
++ <DialogRef Id="FatalError" />
++ <DialogRef Id="FilesInUse" />
++ <DialogRef Id="MsiRMFilesInUse" />
++ <DialogRef Id="PrepareDlg" />
++ <DialogRef Id="ProgressDlg" />
++ <DialogRef Id="ResumeDlg" />
++ <DialogRef Id="UserExit" />
++
++ <Publish Dialog="ExitDialog" Control="Finish" Event="EndDialog" Value="Return" Order="999">1</Publish>
++
++ <Publish Dialog="WelcomeDlg" Control="Next" Event="NewDialog" Value="SetupTypeDlg">1</Publish>
++
++ <Publish Dialog="SetupTypeDlg" Control="Back" Event="NewDialog" Value="WelcomeDlg">1</Publish>
++ <Publish Dialog="SetupTypeDlg" Control="TypicalButton" Event="NewDialog" Value="VerifyReadyDlg">1</Publish>
++ <Publish Dialog="SetupTypeDlg" Control="CustomButton" Event="NewDialog" Value="CustomizeDlg">1</Publish>
++
++ <Publish Dialog="CustomizeDlg" Control="Back" Event="NewDialog" Value="MaintenanceTypeDlg" Order="1">WixUI_InstallMode = "Change"</Publish>
++ <Publish Dialog="CustomizeDlg" Control="Back" Event="NewDialog" Value="SetupTypeDlg" Order="2">WixUI_InstallMode = "InstallCustom"</Publish>
++ <Publish Dialog="CustomizeDlg" Control="Next" Event="NewDialog" Value="VerifyReadyDlg">1</Publish>
++
++ <Publish Dialog="VerifyReadyDlg" Control="Back" Event="NewDialog" Value="CustomizeDlg" Order="1">WixUI_InstallMode = "InstallCustom"</Publish>
++ <Publish Dialog="VerifyReadyDlg" Control="Back" Event="NewDialog" Value="SetupTypeDlg" Order="2">WixUI_InstallMode = "InstallTypical" OR WixUI_InstallMode = "InstallComplete"</Publish>
++ <Publish Dialog="VerifyReadyDlg" Control="Back" Event="NewDialog" Value="CustomizeDlg" Order="3">WixUI_InstallMode = "Change"</Publish>
++ <Publish Dialog="VerifyReadyDlg" Control="Back" Event="NewDialog" Value="MaintenanceTypeDlg" Order="4">WixUI_InstallMode = "Repair" OR WixUI_InstallMode = "Remove"</Publish>
++
++ <Publish Dialog="MaintenanceWelcomeDlg" Control="Next" Event="NewDialog" Value="MaintenanceTypeDlg">1</Publish>
++
++ <Publish Dialog="MaintenanceTypeDlg" Control="ChangeButton" Event="NewDialog" Value="CustomizeDlg">1</Publish>
++ <Publish Dialog="MaintenanceTypeDlg" Control="RepairButton" Event="NewDialog" Value="VerifyReadyDlg">1</Publish>
++ <Publish Dialog="MaintenanceTypeDlg" Control="RemoveButton" Event="NewDialog" Value="VerifyReadyDlg">1</Publish>
++ <Publish Dialog="MaintenanceTypeDlg" Control="Back" Event="NewDialog" Value="MaintenanceWelcomeDlg">1</Publish>
++ </UI>
++
++ <UIRef Id="WixUI_Common" />
++ </Fragment>
++</Wix>
+diff -Naur orig-vidalia/pkg/win32/polipo.conf mod-vidalia/pkg/win32/polipo.conf
+--- orig-vidalia/pkg/win32/polipo.conf 2008-04-06 00:00:07.066809000 +0000
++++ mod-vidalia/pkg/win32/polipo.conf 2009-01-26 10:49:35.056312680 +0000
+@@ -36,8 +36,9 @@
+
+ # Uncomment this if you want to use a parent SOCKS proxy:
+
+-socksParentProxy = "localhost:9050"
+-socksProxyType = socks5
++# For Tor VM we don't use an upstream proxy, just transparent
++#socksParentProxy = "localhost:9050"
++#socksProxyType = socks5
+
+
+ ### Memory
+@@ -88,7 +89,7 @@
+ # Uncomment this if you want to contact IPv4 hosts only (and make DNS
+ # queries somewhat faster):
+ #
+-# dnsQueryIPv6 = no
++dnsQueryIPv6 = no
+
+ # Uncomment this if you want Polipo to prefer IPv4 to IPv6 for
+ # double-stack hosts:
+@@ -99,7 +100,9 @@
+ # default resolver instead. If you do that, Polipo will freeze during
+ # every DNS query:
+
+-dnsUseGethostbyname = yes
++# For Tor VM we transparently proxy DNS and thus don't need to use this
++# slow resolver
++# dnsUseGethostbyname = yes
+
+
+ ### HTTP
+diff -Naur orig-vidalia/pkg/win32/vidalia.wxs.in mod-vidalia/pkg/win32/vidalia.wxs.in
+--- orig-vidalia/pkg/win32/vidalia.wxs.in 2008-12-09 23:53:31.956238000 +0000
++++ mod-vidalia/pkg/win32/vidalia.wxs.in 2009-01-26 03:37:43.609451352 +0000
+@@ -1,89 +1,198 @@
+ <?xml version="1.0" encoding="Windows-1252" ?>
+ <!--
+- $Id: vidalia.wxs.in 3377 2008-12-09 23:53:31Z edmanm $
++ $Id: vidalia.wxs.in 3329 2008-11-21 02:04:34Z edmanm $
++
++ This file is part of Vidalia, and is subject to the license terms in the
++ LICENSE file, found in the top level directory of this distribution. If
++ you did not receive the LICENSE file with this file, you may obtain it
++ from the Vidalia source package distributed by the Vidalia Project at
++ http://www.vidalia-project.net/. No part of Vidalia, including this file,
++ may be copied, modified, propagated, or distributed except according to
++ the terms described in the LICENSE file.
++
++ Compile with:
++ candle.exe vidalia.wxs
++ light.exe vidalia.wixobj -out vidalia.msi -ext C:\Path\to\Wix\bin\WixUIExtension.dll
+ -->
+ <Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">
+- <Product Name="Vidalia @VERSION@" Id="B3C22D59-D907-4559-9569-92AAA34DB6F0"
++ <?define ThisProductVersion="@VER_MAJOR at .@VER_MINOR at .@VER_PATCH@" ?>
++ <?define ThisProductVersionDisp="@VERSION@" ?>
++ <?define UpgradeCode="147903e8-fa6f-47f0-bf97-b7250337b2b7" ?>
++
++ <?define CurrProductGUID="0a57c31b-6cce-4bd0-b3ef-652a6cceb914" ?>
++ <?define CurrExecutableGUID="737794bc-3662-4f12-9755-86568c3164e0" ?>
++ <?define CurrQtLibsGUID="90548e2f-390e-4b93-b844-24ee75a83d4e" ?>
++ <?define CurrCryptoLibsGUID="d887b89a-984f-4301-9f18-7811361372d3" ?>
++ <?define CurrMingwLibsGUID="86b879cf-306f-438e-b38f-b9e6d74152cb" ?>
++ <?define CurrGeoIPCacheGUID="8686ff7a-d812-44db-8c11-b94478495096" ?>
++ <?define CurrPolipoConfigGUID="2151ad60-10ce-4e91-ab44-d1895d3b001d" ?>
++ <?define CurrDocumentsGUID="abfaae86-352e-4b63-b9b3-c222936f24b3" ?>
++ <?define CurrConfigFileGUID="4428ffd8-710d-4550-b51d-16e69e073981" ?>
++ <?define CurrStartMenuGUID="69d3f4bb-755c-4ade-aeb1-771fd5f8ba60" ?>
++ <?define CurrDesktopGUID="65ff7a92-7e27-4d20-b925-8b86387bc56c" ?>
++ <?define CurrDocsOnDesktopGUID="1e141231-e111-4567-94a6-7f42def8a516" ?>
++ <?define CurrStartupGUID="6073bd5b-8eee-465e-9eca-f1ec7c6ddd67" ?>
++ <?define CurrLocalProgramsGUID="24aaf630-09aa-45ef-a3cc-4088302b3488" ?>
++
++ <Product Name="Vidalia $(var.ThisProductVersionDisp)" Id="$(var.CurrProductGUID)"
+ Language="1033" Codepage="1252"
+- Version="@VER_MAJOR at .@VER_MINOR at .@VER_PATCH@"
++ Version="$(var.ThisProductVersion)"
+ Manufacturer="vidalia-project.net"
+- UpgradeCode="B7FBFE11-D7CA-4895-A1FB-1D7E065E4D04">
++ UpgradeCode="$(var.UpgradeCode)">
+
+ <Package Id="*" Keywords="Installer"
+- Description="Vidalia @VERSION@ Installer"
++ Description="Vidalia $(var.ThisProductVersionDisp) Installer"
+ Manufacturer="vidalia-project.net"
+ InstallerVersion="100" Compressed="yes"
+- Languages="1033" SummaryCodepage="1252" />
++ Languages="1033" SummaryCodepage="1252"
++ InstallPrivileges="limited" />
+
+ <Media Id="1" Cabinet="Vidalia.cab" CompressionLevel="high"
+ EmbedCab="yes" DiskPrompt="CD-ROM #1" />
+- <Property Id="DiskPrompt" Value="Vidalia @VERSION@ Installation [1]" />
++ <Property Id="DiskPrompt" Value="Vidalia $(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.
++ This is useful if bundled with other applications like Vidalia that manage
++ configuration and Tor related processes themselves.
++ -->
++ <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.
++ The OnlyDetect option must be false to ensure that existing files
++ from an older version are removed and replaced with current files.
++ -->
++ <Upgrade Id="$(var.UpgradeCode)">
++ <UpgradeVersion
++ Property="UPGRADEFOUND"
++ OnlyDetect="no"
++ Minimum="0.0.1"
++ IncludeMinimum="yes"
++ Maximum="$(var.ThisProductVersion)"
++ IncludeMaximum="no"
++ />
++ </Upgrade>
++
+
+ <Directory Id="TARGETDIR" Name="SourceDir">
+- <Directory Id="ProgramFilesFolder" Name="ProgramFilesDir">
+- <Directory Id="INSTALLDIR" Name="Vidalia">
++ <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\Vidalia" Action="createAndRemoveOnUninstall">
++ <RegistryValue Name="LocalProgramsFolderRef" Value="1" Type="integer" KeyPath="yes" />
++ </RegistryKey>
++ </Component>
++
++ <Directory Id="LocalProgramsInstDir" Name="Vidalia">
+
+ <!-- Main Vidalia application files -->
+- <Component Id="VidaliaExecutable" Guid="*">
++ <Component Id="VidaliaExecutable" Guid="$(var.CurrExecutableGUID)">
++ <CreateFolder/>
++ <RemoveFolder Id="RemoveLocalProgramsInstDir" On="uninstall" />
++ <RegistryKey Root="HKCU" Key="Software\Vidalia" Action="createAndRemoveOnUninstall">
++ <RegistryValue Name="Version" Value="$(var.ThisProductVersion)" Type="string" KeyPath="yes" />
++ </RegistryKey>
+ <File Id="VidaliaExe" DiskId="1"
+- Name="vidalia.exe" Source="@Vidalia_BINARY_DIR@\src\vidalia\vidalia.exe" />
+- </Component>
+-
+- <!-- Vidalia-related documents -->
+- <Component Id="VidaliaDocuments" Guid="6A51C86C-A7D4-407f-9B84-7ADCE016E939">
+- <File Id="VidaliaReadme" DiskId="1"
+- Name="README" Source="@Vidalia_SOURCE_DIR@\README" />
+- <File Id="VidaliaCredits" DiskId="1"
+- Name="CREDITS" Source="@Vidalia_SOURCE_DIR@\CREDITS" />
+- <File Id="VidaliaChangeLog" DiskId="1"
+- Name="CHANGELOG" Source="@Vidalia_SOURCE_DIR@\CHANGELOG" />
+- <File Id="VidaliaLicense" DiskId="1"
+- Name="LICENSE" Source="@Vidalia_SOURCE_DIR@\LICENSE" />
+- <File Id="VidaliaLicenseGplV2" DiskId="1"
+- Name="LICENSE-GPLV2" Source="@Vidalia_SOURCE_DIR@\LICENSE-GPLV2" />
+- <File Id="VidaliaLicenseGplV3" DiskId="1"
+- Name="LICENSE-GPLV3" Source="@Vidalia_SOURCE_DIR@\LICENSE-GPLV3" />
+- <File Id="VidaliaLicenseLgplV3" DiskId="1"
+- Name="LICENSE-LGPLV3" Source="@Vidalia_SOURCE_DIR@\LICENSE-LGPLV3" />
+- <File Id="VidaliaLicenseOpenSSL" DiskId="1"
+- Name="LICENSE-OPENSSL" Source="@Vidalia_SOURCE_DIR@\LICENSE-OPENSSL" />
++ Name="vidalia.exe" Source="src\vidalia\vidalia.exe" />
+ </Component>
+
+ <!-- Qt-related library files -->
+- <Component Id="QtLibrary" Guid="00F354CB-B313-4100-8900-11293A66B385">
++ <Component Id="QtLibrary" Guid="$(var.CurrQtLibsGUID)">
++ <RegistryKey Root="HKCU" Key="Software\Vidalia" Action="createAndRemoveOnUninstall">
++ <RegistryValue Name="QtLibrary" Value="1" Type="integer" KeyPath="yes" />
++ </RegistryKey>
+ <File Id="QtCore4Dll" DiskId="1"
+- Name="QtCore4.dll" Source="@QT_BINARY_DIR@\QtCore4.dll" />
++ Name="QtCore4.dll" Source="bin\QtCore4.dll" />
+ <File Id="QtGui4Dll" DiskId="1"
+- Name="QtGui4.dll" Source="@QT_BINARY_DIR@\QtGui4.dll" />
++ Name="QtGui4.dll" Source="bin\QtGui4.dll" />
+ <File Id="QtNetwork4Dll" DiskId="1"
+- Name="QtNetwork4.dll" Source="@QT_BINARY_DIR@\QtNetwork4.dll" />
++ Name="QtNetwork4.dll" Source="bin\QtNetwork4.dll" />
+ <File Id="QtXml4Dll" DiskId="1"
+- Name="QtXml4.dll" Source="@QT_BINARY_DIR@\QtXml4.dll" />
++ Name="QtXml4.dll" Source="bin\QtXml4.dll" />
++ <File Id="QtSvg4Dll" DiskId="1"
++ Name="QtSvg4.dll" Source="bin\QtSvg4.dll" />
+ </Component>
+
+ <!-- MinGW-related library files -->
+- <Component Id="MinGWLibrary" Guid="2287E844-F9CD-4129-8BD0-50D071698194">
++ <Component Id="MinGWLibrary" Guid="$(var.CurrMingwLibsGUID)">
++ <RegistryKey Root="HKCU" Key="Software\Vidalia" Action="createAndRemoveOnUninstall">
++ <RegistryValue Name="MinGWLibrary" Value="1" Type="integer" KeyPath="yes" />
++ </RegistryKey>
+ <File Id="MinGWDll" DiskId="1"
+- Name="mingwm10.dll" Source="@MINGW_BINARY_DIR@\mingwm10.dll" />
++ Name="mingwm10.dll" Source="bin\mingwm10.dll" />
++ <File Id="gnurxdll" DiskId="1"
++ Name="libgnurx-0.dll" Source="bin\libgnurx-0.dll" />
+ </Component>
+
+ <!-- OpenSSL-related library files -->
+- <Component Id="OpenSSLLibrary" Guid="C3EDC2EC-D0B1-452a-83A6-85B0BC94735B">
++ <Component Id="OpenSSLLibrary" Guid="$(var.CurrCryptoLibsGUID)">
++ <RegistryKey Root="HKCU" Key="Software\Vidalia" Action="createAndRemoveOnUninstall">
++ <RegistryValue Name="OpenSSLLibrary" Value="1" Type="integer" KeyPath="yes" />
++ </RegistryKey>
+ <File Id="ssleay32dll" DiskId="1"
+- Name="ssleay32.dll" Source="@OPENSSL_BINARY_DIR@\ssleay32.dll" />
++ Name="ssleay32-0.9.8.dll" Source="bin\ssleay32-0.9.8.dll" />
++ <File Id="cryptoeay32dll" DiskId="1"
++ Name="cryptoeay32-0.9.8.dll" Source="bin\cryptoeay32-0.9.8.dll" />
++ <File Id="zlibdll" DiskId="1"
++ Name="zlib1.dll" Source="bin\zlib1.dll" />
++ </Component>
++
++ <!-- Place this here until argument parsing with quoted escapes works as expected. -->
++ <Component Id="PolipoConfig" Guid="$(var.CurrPolipoConfigGUID)">
++ <RegistryKey Root="HKCU" Key="Software\Vidalia" Action="createAndRemoveOnUninstall">
++ <RegistryValue Name="PolipoConfigFile" Value="1" Type="integer" KeyPath="yes" />
++ </RegistryKey>
++ <File
++ Id="PolipoConfigFile"
++ Name="polipocfg.txt"
++ Source="pkg/win32/polipo.conf"
++ Vital="yes"
++ ReadOnly="no"
++ DiskId="1"
++ />
++ </Component>
++ </Directory>
++ </Directory>
++
++ <Directory Id="INSTALLDIR" Name="Vidalia">
++ <Component Id="GeoIPCache" Guid="$(var.CurrGeoIPCacheGUID)">
++ <CreateFolder/>
++ <RemoveFolder Id="RemoveINSTALLDIR" On="uninstall" />
++ <RegistryKey Root="HKCU" Key="Software\Vidalia" Action="createAndRemoveOnUninstall">
++ <RegistryValue Name="GeoIPCacheFile" Value="1" Type="integer" KeyPath="yes" />
++ </RegistryKey>
++ <File
++ Id="GeoIPCacheFile"
++ Name="geoip-cache"
++ Source="pkg/geoip-cache"
++ Vital="no"
++ ReadOnly="no"
++ DiskId="1"
++ />
+ </Component>
+ </Directory>
+ </Directory>
+
+ <Directory Id="ProgramMenuFolder" Name="Programs">
+ <Directory Id="ShortcutFolder" Name="Vidalia">
+- <Component Id="AddVidaliaToStartMenu" Guid="0F2CEE2C-8730-432e-8A8F-E49AF78AF28C">
++ <Component Id="AddVidaliaToStartMenu" Guid="$(var.CurrStartMenuGUID)">
++ <Condition><![CDATA[NOSC <> 1]]> </Condition>
+ <RegistryKey Root="HKCU" Key="Software\Vidalia" Action="createAndRemoveOnUninstall">
+ <RegistryValue Name="StartMenuShortcut" Value="1" Type="integer" KeyPath="yes" />
+ </RegistryKey>
+ <Shortcut Id="VidaliaStartMenuShortcut"
+- Name="Vidalia" Target="[INSTALLDIR]vidalia.exe"
+- Directory="ShortcutFolder" WorkingDirectory="INSTALLDIR"
++ Name="Vidalia" Target="[LocalProgramsInstDir]vidalia.exe"
++ Directory="ShortcutFolder" WorkingDirectory="LocalProgramsInstDir"
+ Icon="vidalia.ico" IconIndex="0" />
+ <RemoveFolder Id="RemoveShortcutFolder" On="uninstall" />
+ </Component>
+@@ -91,22 +200,24 @@
+ </Directory>
+
+ <Directory Id="DesktopFolder" Name="Desktop">
+- <Component Id="AddVidaliaToDesktop" Guid="A7688EE5-4EDE-4429-A2D9-C8B9BD85AB5A">
++ <Component Id="AddVidaliaToDesktop" Guid="$(var.CurrDesktopGUID)">
++ <Condition><![CDATA[NOSC <> 1]]> </Condition>
+ <RegistryKey Root="HKCU" Key="Software\Vidalia" Action="createAndRemoveOnUninstall">
+ <RegistryValue Name="DesktopShortcut" Value="1" Type="integer" KeyPath="yes" />
+ </RegistryKey>
+ <Shortcut Id="VidaliaDesktopShortcut"
+- Name="Vidalia" Target="[INSTALLDIR]vidalia.exe"
+- Directory="DesktopFolder" WorkingDirectory="INSTALLDIR"
++ Name="Vidalia" Target="[LocalProgramsInstDir]vidalia.exe"
++ Directory="DesktopFolder" WorkingDirectory="LocalProgramsInstDir"
+ Icon="vidalia.ico" IconIndex="0" />
+ </Component>
+ </Directory>
+
+- <Component Id="AddToStartupItems" Guid="E7BC3F3C-86BA-4a08-966C-F3F8D8CB3AF4">
++ <Component Id="AddToStartupItems" Guid="$(var.CurrStartupGUID)">
++ <Condition><![CDATA[NOSC <> 1]]> </Condition>
+ <RegistryKey Root="HKCU"
+ Key="Software\Microsoft\Windows\CurrentVersion\Run"
+ Action="createAndRemoveOnUninstall">
+- <RegistryValue Name="Vidalia" Value='"[INSTALLDIR]vidalia.exe"' Type="string" />
++ <RegistryValue Name="Vidalia" Value='"[LocalProgramsInstDir]vidalia.exe"' Type="string" />
+ </RegistryKey>
+ </Component>
+ </Directory>
+@@ -115,14 +226,16 @@
+ <Feature Id="Complete" Title="Vidalia"
+ Level="1" Display="expand" ConfigurableDirectory="INSTALLDIR"
+ Description="Vidalia is application that helps you control, monitor, and configure the Tor software.">
+- <Feature Id="MainApplication" Title="Vidalia @VERSION@"
++ <Feature Id="MainApplication" Title="Vidalia $(var.ThisProductVersionDisp)"
+ AllowAdvertise="no" Absent="disallow" Level="1"
+ Description="Main application">
++ <ComponentRef Id="LocalProgramsFolderRef" />
+ <ComponentRef Id="VidaliaExecutable" />
+- <ComponentRef Id="VidaliaDocuments" />
+ <ComponentRef Id="QtLibrary" />
+ <ComponentRef Id="MinGWLibrary" />
+ <ComponentRef Id="OpenSSLLibrary" />
++ <ComponentRef Id="GeoIPCache" />
++ <ComponentRef Id="PolipoConfig" />
+ </Feature>
+ <Feature Id="Shortcuts" Title="Shortcuts"
+ AllowAdvertise="no" Absent="allow" Level="1"
+@@ -145,10 +258,15 @@
+ </Feature>
+ </Feature>
+
++ <!-- Upgrade installation sequence. -->
++ <InstallExecuteSequence>
++ <RemoveExistingProducts After="InstallValidate" />
++ </InstallExecuteSequence>
++
+ <!-- Set the UI options -->
+- <UIRef Id="WixUI_Custom" />
+- <Icon Id="vidalia.ico" SourceFile="@Vidalia_SOURCE_DIR@\src\vidalia\res\icons\vidalia.ico" />
+- <WixVariable Id="WixUIBannerBmp" Value="@Vidalia_SOURCE_DIR@\pkg\win32\msi-header.bmp" />
+- <WixVariable Id="WixUIDialogBmp" Value="@Vidalia_SOURCE_DIR@\pkg\win32\msi-welcome.bmp" />
++ <UIRef Id="WixUI_Tor" />
++ <Icon Id="vidalia.ico" SourceFile="src\vidalia\res\icons\vidalia.ico" />
++ <WixVariable Id="WixUIBannerBmp" Value="pkg\win32\msi-header.bmp" />
++ <WixVariable Id="WixUIDialogBmp" Value="pkg\win32\msi-welcome.bmp" />
+ </Product>
+ </Wix>
+diff -Naur orig-vidalia/src/common/win32.cpp mod-vidalia/src/common/win32.cpp
+--- orig-vidalia/src/common/win32.cpp 2008-02-29 04:30:11.928307000 +0000
++++ mod-vidalia/src/common/win32.cpp 2009-01-26 10:50:51.146745176 +0000
+@@ -67,16 +67,20 @@
+ QString
+ win32_program_files_folder()
+ {
+- return win32_get_folder_location(
+- CSIDL_PROGRAM_FILES, QDir::rootPath() + "\\Program Files");
++ QString local_appdata = win32_get_folder_location(CSIDL_LOCAL_APPDATA, "");
++ if (local_appdata != "")
++ return local_appdata + "\\Programs";
++ return win32_get_folder_location(CSIDL_PROGRAM_FILES, QDir::rootPath() + "\\Program Files");
+ }
+
+ /** Gets the location of the user's %APPDATA% folder. */
+ QString
+ win32_app_data_folder()
+ {
+- return win32_get_folder_location(
+- CSIDL_APPDATA, QDir::homePath() + "\\Application Data");
++ QString local_appdata = win32_get_folder_location(CSIDL_LOCAL_APPDATA, "");
++ if (local_appdata != "")
++ return local_appdata;
++ return win32_get_folder_location(CSIDL_APPDATA, QDir::homePath() + "\\Application Data");
+ }
+
+ /** Returns the value in keyName at keyLocation.
+diff -Naur orig-vidalia/src/vidalia/config/torsettings.cpp mod-vidalia/src/vidalia/config/torsettings.cpp
+--- orig-vidalia/src/vidalia/config/torsettings.cpp 2008-11-10 01:10:01.532843000 +0000
++++ mod-vidalia/src/vidalia/config/torsettings.cpp 2009-01-26 10:53:08.283897160 +0000
+@@ -59,6 +59,7 @@
+ {
+ #if defined(Q_OS_WIN32)
+ QString programFiles = win32_program_files_folder();
++ QString appData = win32_app_data_folder();
+ if (QFileInfo(programFiles + "\\Vidalia Bundle\\Tor\\tor.exe").exists())
+ setDefault(SETTING_TOR_EXECUTABLE,
+ programFiles + "\\Vidalia Bundle\\Tor\\tor.exe");
+@@ -68,7 +69,14 @@
+ setDefault(SETTING_TOR_EXECUTABLE, "tor");
+ #endif
+
+- setDefault(SETTING_TORRC, Vidalia::dataDirectory() + "/torrc");
++#if defined(Q_OS_WIN32)
++ if (QFileInfo(appData + "\\Tor\\torrc.txt").exists())
++ setDefault(SETTING_TORRC, appData + "\\Tor\\torrc.txt");
++ else
++ setDefault(SETTING_TORRC, Vidalia::dataDirectory() + "/torrc");
++#else
++ setDefault(SETTING_TORRC, Vidalia::dataDirectory() + "/torrc");
++#endif
+ setDefault(SETTING_CONTROL_ADDR, "127.0.0.1");
+ setDefault(SETTING_CONTROL_PORT, 9051);
+ setDefault(SETTING_AUTH_METHOD, toString(DEFAULT_AUTH_METHOD));
+diff -Naur orig-vidalia/src/vidalia/config/vidaliasettings.cpp mod-vidalia/src/vidalia/config/vidaliasettings.cpp
+--- orig-vidalia/src/vidalia/config/vidaliasettings.cpp 2009-01-03 20:10:16.806554000 +0000
++++ mod-vidalia/src/vidalia/config/vidaliasettings.cpp 2009-01-26 10:54:13.761942984 +0000
+@@ -70,9 +70,16 @@
+ setDefault(SETTING_SHOW_MAINWINDOW_AT_START, true);
+ setDefault(SETTING_BROWSER_EXECUTABLE, "");
+ setDefault(SETTING_IM_EXECUTABLE, "");
+- setDefault(SETTING_RUN_PROXY_AT_START, false);
+- setDefault(SETTING_PROXY_EXECUTABLE, "");
+- setDefault(SETTING_PROXY_EXECUTABLE_ARGUMENTS, QStringList());
++ setDefault(SETTING_RUN_PROXY_AT_START, true);
++#if defined(Q_WS_WIN)
++ QString programFiles = win32_program_files_folder();
++ QString appData = win32_app_data_folder();
++ setDefault(SETTING_PROXY_EXECUTABLE, programFiles + "\\Polipo\\polipo.exe");
++ setDefault(SETTING_PROXY_EXECUTABLE_ARGUMENTS, QString("-c polipocfg.txt").split(" "));
++#else
++ setDefault(SETTING_PROXY_EXECUTABLE, "polipo.exe");
++ setDefault(SETTING_PROXY_EXECUTABLE_ARGUMENTS, QString("-c polipo.conf").split(" "));
++#endif
+ #if defined(Q_WS_WIN)
+ setDefault(SETTING_CHECK_FOR_UPDATES, true);
+ #else
+diff -Naur orig-vidalia/src/vidalia/network/geoipresolver.cpp mod-vidalia/src/vidalia/network/geoipresolver.cpp
+--- orig-vidalia/src/vidalia/network/geoipresolver.cpp 2008-12-30 18:48:55.745877000 +0000
++++ mod-vidalia/src/vidalia/network/geoipresolver.cpp 2009-01-26 10:56:39.915724232 +0000
+@@ -24,13 +24,13 @@
+ #endif
+
+ /** Host for the geo ip information. */
+-#define GEOIP_HOST "geoip.vidalia-project.net"
++#define GEOIP_HOST "data.peertech.org"
+ /** The non-encrypted GeoIP service lives on port 80. */
+ #define GEOIP_PORT 80
+ /** The SSL GeoIP service runs on port 1443 (443 was taken). */
+-#define GEOIP_SSL_PORT 1443
++#define GEOIP_SSL_PORT 443
+ /** Page that we request the geo ip information from. */
+-#define GEOIP_PAGE "/cgi-bin/geoip"
++#define GEOIP_PAGE "/geoip"
+
+
+ /** Default constructor. */
+@@ -42,7 +42,13 @@
+ #if defined(USE_QSSLSOCKET)
+ QSslSocket::setDefaultCaCertificates(QList<QSslCertificate>());
+ if (! QSslSocket::addDefaultCaCertificates(":/geoip/cacert_root.crt"))
+- vWarn("Failed to add the GeoIP CA certificate to the default CA "
++ vWarn("Failed to add the CACert root certificate to the default CA "
++ "certificate database.");
++ if (! QSslSocket::addDefaultCaCertificates(":/geoip/gd-class2-root.crt"))
++ vWarn("Failed to add the GoDaddy Class2 root certificate to the default CA "
++ "certificate database.");
++ if (! QSslSocket::addDefaultCaCertificates(":/geoip/entrust-secure-server-root.crt"))
++ vWarn("Failed to add the Entrust Secure Server root certificate to the default CA "
+ "certificate database.");
+ #endif
+ }
+diff -Naur orig-vidalia/src/vidalia/res/entrust-secure-server-root.crt mod-vidalia/src/vidalia/res/entrust-secure-server-root.crt
+--- orig-vidalia/src/vidalia/res/entrust-secure-server-root.crt 1970-01-01 00:00:00.000000000 +0000
++++ mod-vidalia/src/vidalia/res/entrust-secure-server-root.crt 2009-01-26 10:56:56.637182184 +0000
+@@ -0,0 +1,30 @@
++-----BEGIN CERTIFICATE-----
++MIIE2DCCBEGgAwIBAgIEN0rSQzANBgkqhkiG9w0BAQUFADCBwzELMAkGA1UE
++BhMCVVMxFDASBgNVBAoTC0VudHJ1c3QubmV0MTswOQYDVQQLEzJ3d3cuZW50
++cnVzdC5uZXQvQ1BTIGluY29ycC4gYnkgcmVmLiAobGltaXRzIGxpYWIuKTEl
++MCMGA1UECxMcKGMpIDE5OTkgRW50cnVzdC5uZXQgTGltaXRlZDE6MDgGA1UE
++AxMxRW50cnVzdC5uZXQgU2VjdXJlIFNlcnZlciBDZXJ0aWZpY2F0aW9uIEF1
++dGhvcml0eTAeFw05OTA1MjUxNjA5NDBaFw0xOTA1MjUxNjM5NDBaMIHDMQsw
++CQYDVQQGEwJVUzEUMBIGA1UEChMLRW50cnVzdC5uZXQxOzA5BgNVBAsTMnd3
++dy5lbnRydXN0Lm5ldC9DUFMgaW5jb3JwLiBieSByZWYuIChsaW1pdHMgbGlh
++Yi4pMSUwIwYDVQQLExwoYykgMTk5OSBFbnRydXN0Lm5ldCBMaW1pdGVkMTow
++OAYDVQQDEzFFbnRydXN0Lm5ldCBTZWN1cmUgU2VydmVyIENlcnRpZmljYXRp
++b24gQXV0aG9yaXR5MIGdMA0GCSqGSIb3DQEBAQUAA4GLADCBhwKBgQDNKIM0
++VBuJ8w+vN5Ex/68xYMmo6LIQaO2f55M28Qpku0f1BBc/I0dNxScZgSYMVHIN
++iC3ZH5oSn7yzcdOAGT9HZnuMNSjSuQrfJNqc1lB5gXpa0zf3wkrYKZImZNHk
++mGw6AIr1NJtl+O3jEP/9uElY3KDegjlrgbEWGWG5VLbmQwIBA6OCAdcwggHT
++MBEGCWCGSAGG+EIBAQQEAwIABzCCARkGA1UdHwSCARAwggEMMIHeoIHboIHY
++pIHVMIHSMQswCQYDVQQGEwJVUzEUMBIGA1UEChMLRW50cnVzdC5uZXQxOzA5
++BgNVBAsTMnd3dy5lbnRydXN0Lm5ldC9DUFMgaW5jb3JwLiBieSByZWYuIChs
++aW1pdHMgbGlhYi4pMSUwIwYDVQQLExwoYykgMTk5OSBFbnRydXN0Lm5ldCBM
++aW1pdGVkMTowOAYDVQQDEzFFbnRydXN0Lm5ldCBTZWN1cmUgU2VydmVyIENl
++cnRpZmljYXRpb24gQXV0aG9yaXR5MQ0wCwYDVQQDEwRDUkwxMCmgJ6AlhiNo
++dHRwOi8vd3d3LmVudHJ1c3QubmV0L0NSTC9uZXQxLmNybDArBgNVHRAEJDAi
++gA8xOTk5MDUyNTE2MDk0MFqBDzIwMTkwNTI1MTYwOTQwWjALBgNVHQ8EBAMC
++AQYwHwYDVR0jBBgwFoAU8BdiE1U9s/8KAGv7UISX8+1i0BowHQYDVR0OBBYE
++FPAXYhNVPbP/CgBr+1CEl/PtYtAaMAwGA1UdEwQFMAMBAf8wGQYJKoZIhvZ9
++B0EABAwwChsEVjQuMAMCBJAwDQYJKoZIhvcNAQEFBQADgYEAkNwwAvpkdMKn
++CqV8IY00F6j7Rw7/JXyNEwr75Ji174z4xRAN95K+8cPV1ZVqBLssziY2Zcgx
++xufuP+NXdYR6Ee9GTxj005i7qIcyunL2POI9n9cd2cNgQ4xYDiKWL2KjLB+6
++rQXvqzJ4h6BUcxm1XAX5Uj5tLUUL9wqT6u0G+bI=
++-----END CERTIFICATE-----
+diff -Naur orig-vidalia/src/vidalia/res/gd-class2-root.crt mod-vidalia/src/vidalia/res/gd-class2-root.crt
+--- orig-vidalia/src/vidalia/res/gd-class2-root.crt 1970-01-01 00:00:00.000000000 +0000
++++ mod-vidalia/src/vidalia/res/gd-class2-root.crt 2009-01-26 10:57:05.420846864 +0000
+@@ -0,0 +1,24 @@
++-----BEGIN CERTIFICATE-----
++MIIEADCCAuigAwIBAgIBADANBgkqhkiG9w0BAQUFADBjMQswCQYDVQQGEwJVUzEh
++MB8GA1UEChMYVGhlIEdvIERhZGR5IEdyb3VwLCBJbmMuMTEwLwYDVQQLEyhHbyBE
++YWRkeSBDbGFzcyAyIENlcnRpZmljYXRpb24gQXV0aG9yaXR5MB4XDTA0MDYyOTE3
++MDYyMFoXDTM0MDYyOTE3MDYyMFowYzELMAkGA1UEBhMCVVMxITAfBgNVBAoTGFRo
++ZSBHbyBEYWRkeSBHcm91cCwgSW5jLjExMC8GA1UECxMoR28gRGFkZHkgQ2xhc3Mg
++MiBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTCCASAwDQYJKoZIhvcNAQEBBQADggEN
++ADCCAQgCggEBAN6d1+pXGEmhW+vXX0iG6r7d/+TvZxz0ZWizV3GgXne77ZtJ6XCA
++PVYYYwhv2vLM0D9/AlQiVBDYsoHUwHU9S3/Hd8M+eKsaA7Ugay9qK7HFiH7Eux6w
++wdhFJ2+qN1j3hybX2C32qRe3H3I2TqYXP2WYktsqbl2i/ojgC95/5Y0V4evLOtXi
++EqITLdiOr18SPaAIBQi2XKVlOARFmR6jYGB0xUGlcmIbYsUfb18aQr4CUWWoriMY
++avx4A6lNf4DD+qta/KFApMoZFv6yyO9ecw3ud72a9nmYvLEHZ6IVDd2gWMZEewo+
++YihfukEHU1jPEX44dMX4/7VpkI+EdOqXG68CAQOjgcAwgb0wHQYDVR0OBBYEFNLE
++sNKR1EwRcbNhyz2h/t2oatTjMIGNBgNVHSMEgYUwgYKAFNLEsNKR1EwRcbNhyz2h
++/t2oatTjoWekZTBjMQswCQYDVQQGEwJVUzEhMB8GA1UEChMYVGhlIEdvIERhZGR5
++IEdyb3VwLCBJbmMuMTEwLwYDVQQLEyhHbyBEYWRkeSBDbGFzcyAyIENlcnRpZmlj
++YXRpb24gQXV0aG9yaXR5ggEAMAwGA1UdEwQFMAMBAf8wDQYJKoZIhvcNAQEFBQAD
++ggEBADJL87LKPpH8EsahB4yOd6AzBhRckB4Y9wimPQoZ+YeAEW5p5JYXMP80kWNy
++OO7MHAGjHZQopDH2esRU1/blMVgDoszOYtuURXO1v0XJJLXVggKtI3lpjbi2Tc7P
++TMozI+gciKqdi0FuFskg5YmezTvacPd+mSYgFFQlq25zheabIZ0KbIIOqPjCDPoQ
++HmyW74cNxA9hi63ugyuV+I6ShHI56yDqg+2DzZduCLzrTia2cyvk0/ZM/iZx4mER
++dEr/VxqHD3VILs9RaRegAhJhldXRQLIQTO7ErBBDpqWeCtWVYpoNz4iCxTIM5Cuf
++ReYNnyicsbkqWletNw+vHX/bvZ8=
++-----END CERTIFICATE-----
+diff -Naur orig-vidalia/src/vidalia/res/vidalia.qrc mod-vidalia/src/vidalia/res/vidalia.qrc
+--- orig-vidalia/src/vidalia/res/vidalia.qrc 2009-01-03 20:10:16.806554000 +0000
++++ mod-vidalia/src/vidalia/res/vidalia.qrc 2009-01-26 10:57:41.105421984 +0000
+@@ -285,5 +285,7 @@
+ </qresource>
+ <qresource prefix="/geoip">
+ <file>cacert_root.crt</file>
++ <file>gd-class2-root.crt</file>
++ <file>entrust-secure-server-root.crt</file>
+ </qresource>
+ </RCC>
+diff -Naur orig-vidalia/src/vidalia/updateprocess.cpp mod-vidalia/src/vidalia/updateprocess.cpp
+--- orig-vidalia/src/vidalia/updateprocess.cpp 2009-01-03 20:10:16.806554000 +0000
++++ mod-vidalia/src/vidalia/updateprocess.cpp 2009-01-26 10:59:07.190335088 +0000
+@@ -234,13 +234,23 @@
+ QString
+ UpdateProcess::updateExecutable()
+ {
+- return "thandy.exe";
++#if defined(Q_OS_WIN32)
++ QString programFiles = win32_program_files_folder();
++ return programFiles + "\\Thandy\\thandy.exe";
++#else
++ return "thandy-client";
++#endif
+ }
+
+ QString
+ UpdateProcess::updateRepositoryDir()
+ {
++#if defined(Q_OS_WIN32)
++ QString appData = win32_app_data_folder();
++ return appData + "\\Thandy\\Tor Updates";
++#else
+ return QDir::convertSeparators(Vidalia::dataDirectory() + "/updates");
++#endif
+ }
+
+ QString
Added: torvm/trunk/build/win32/src/pkg/bundle.nsi
===================================================================
--- torvm/trunk/build/win32/src/pkg/bundle.nsi (rev 0)
+++ torvm/trunk/build/win32/src/pkg/bundle.nsi 2009-01-30 15:24:10 UTC (rev 18342)
@@ -0,0 +1,62 @@
+!include "MUI.nsh"
+!include "LogicLib.nsh"
+!include "FileFunc.nsh"
+
+!define VERSION "0.0.2.0"
+!define INSTALLER "TorVMBundle.exe"
+!define WEBSITE "https://www.torproject.org/"
+!define LICENSE "LICENSE"
+
+SetCompressor /SOLID BZIP2
+RequestExecutionLevel admin
+OutFile ${INSTALLER}
+InstallDir "$PROGRAMFILES\TorVMInstPkgs"
+SetOverWrite on
+Name "Tor VM ${VERSION} Bundle"
+Caption "Tor VM ${VERSION} Bundle Setup"
+BrandingText "Tor VM Bundle Installer"
+CRCCheck on
+XPStyle on
+ShowInstDetails hide
+VIProductVersion "${VERSION}"
+VIAddVersionKey "ProductName" "Tor VM Bundle"
+VIAddVersionKey "Comments" "${WEBSITE}"
+VIAddVersionKey "LegalTrademarks" "Three line BSD"
+VIAddVersionKey "LegalCopyright" "©2004-2009, Roger Dingledine, Nick Mathewson, The Tor Project, Inc."
+VIAddVersionKey "FileDescription" "Tor is an implementation of Onion Routing. You can read more at ${WEBSITE}"
+VIAddVersionKey "FileVersion" "${VERSION}"
+
+!define MUI_ICON "torinst32.ico"
+!define MUI_HEADERIMAGE_BITMAP "${NSISDIR}\Contrib\Graphics\Header\win.bmp"
+!insertmacro MUI_PAGE_INSTFILES
+!insertmacro MUI_LANGUAGE "English"
+
+Section "TorVM" TorVM
+ SectionIn RO
+ SetOutPath $INSTDIR
+ Call ExtractPackages
+ Call RunInstallers
+ Call LaunchTorVM
+SectionEnd
+
+Function ExtractPackages
+ File "torvm.msi"
+ File "torbutton.msi"
+ File "thandy.msi"
+ File "polipo.msi"
+ File "vidalia.msi"
+FunctionEnd
+
+Function RunInstallers
+ ExecWait 'msiexec /i "$INSTDIR\torvm.msi" BUNDLE=1 /qn'
+ ExecWait 'msiexec /i "$INSTDIR\thandy.msi" NOSC=1 /qn'
+ ExecWait 'msiexec /i "$INSTDIR\polipo.msi" NOSC=1 /qn'
+ ExecWait 'msiexec /i "$INSTDIR\torbutton.msi" /qn'
+ ExecWait 'msiexec /i "$INSTDIR\vidalia.msi" NOSC=1 /qn'
+FunctionEnd
+
+Function LaunchTorVM
+ SetOutPath "$PROGRAMFILES\Tor VM"
+ Exec 'torvm.exe'
+FunctionEnd
+
Added: torvm/trunk/build/win32/src/pkg/header.bmp
===================================================================
(Binary files differ)
Property changes on: torvm/trunk/build/win32/src/pkg/header.bmp
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added: torvm/trunk/build/win32/src/pkg/netinst.nsi
===================================================================
--- torvm/trunk/build/win32/src/pkg/netinst.nsi (rev 0)
+++ torvm/trunk/build/win32/src/pkg/netinst.nsi 2009-01-30 15:24:10 UTC (rev 18342)
@@ -0,0 +1,61 @@
+!include "MUI.nsh"
+!include "LogicLib.nsh"
+!include "FileFunc.nsh"
+
+!define VERSION "0.0.2.0"
+!define INSTALLER "TorVMNetInstaller.exe"
+!define WEBSITE "https://www.torproject.org/"
+!define LICENSE "LICENSE"
+
+SetCompressor /SOLID BZIP2
+RequestExecutionLevel admin
+OutFile ${INSTALLER}
+InstallDir "$TEMP\TorVMInstTmp"
+SetOverWrite on
+Name "Tor VM Network Installer"
+Caption "Tor VM Network Installer"
+BrandingText "Tor VM Network Installer"
+CRCCheck on
+XPStyle on
+ShowInstDetails hide
+VIProductVersion "${VERSION}"
+VIAddVersionKey "ProductName" "Tor VM"
+VIAddVersionKey "Comments" "${WEBSITE}"
+VIAddVersionKey "LegalTrademarks" "Three line BSD"
+VIAddVersionKey "LegalCopyright" "©2004-2009, Roger Dingledine, Nick Mathewson, The Tor Project, Inc."
+VIAddVersionKey "FileDescription" "Tor is an implementation of Onion Routing. You can read more at ${WEBSITE}"
+VIAddVersionKey "FileVersion" "${VERSION}"
+
+!define MUI_ICON "torinst32.ico"
+!define MUI_HEADERIMAGE_BITMAP "${NSISDIR}\Contrib\Graphics\Header\win.bmp"
+!insertmacro MUI_PAGE_INSTFILES
+!insertmacro MUI_LANGUAGE "English"
+
+Section "TorVM" TorVM
+ SectionIn RO
+ SetOutPath $INSTDIR
+ Call ExtractPackages
+ Call RunInstallers
+ Call LaunchTorVM
+SectionEnd
+
+Function ExtractPackages
+ File "thandy.msi"
+FunctionEnd
+
+Function RunInstallers
+ ExecWait 'msiexec /i "$INSTDIR\thandy.msi" ALLUSERS=1 NOSC=1 /qn'
+ ExecWait '"$PROGRAMFILES\Thandy\thandy.exe" update "--repo=$PROGRAMFILES\Thandy\TorVM Updates" /bundleinfo/torvm/win32/'
+ ExecWait '"$PROGRAMFILES\Thandy\thandy.exe" update "--repo=$PROGRAMFILES\Thandy\Polipo Updates" /bundleinfo/polipo/win32/'
+ ExecWait '"$PROGRAMFILES\Thandy\thandy.exe" update "--repo=$PROGRAMFILES\Thandy\TorButton Updates" /bundleinfo/torbutton/win32/'
+ ExecWait '"$PROGRAMFILES\Thandy\thandy.exe" update "--repo=$PROGRAMFILES\Thandy\Vidalia Updates" /bundleinfo/vidalia/win32/'
+ ExecWait '"$PROGRAMFILES\Thandy\thandy.exe" update --install "--repo=$PROGRAMFILES\Thandy\TorVM Updates" /bundleinfo/torvm/win32/'
+ ExecWait '"$PROGRAMFILES\Thandy\thandy.exe" update --install "--repo=$PROGRAMFILES\Thandy\Polipo Updates" /bundleinfo/polipo/win32/'
+ ExecWait '"$PROGRAMFILES\Thandy\thandy.exe" update --install "--repo=$PROGRAMFILES\Thandy\TorButton Updates" /bundleinfo/torbutton/win32/'
+ ExecWait '"$PROGRAMFILES\Thandy\thandy.exe" update --install "--repo=$PROGRAMFILES\Thandy\Vidalia Updates" /bundleinfo/vidalia/win32/'
+FunctionEnd
+
+Function LaunchTorVM
+ SetOutPath "$PROGRAMFILES\Tor VM"
+ Exec 'torvm.exe'
+FunctionEnd
Added: torvm/trunk/build/win32/src/pkg/torinst32.ico
===================================================================
(Binary files differ)
Property changes on: torvm/trunk/build/win32/src/pkg/torinst32.ico
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added: torvm/trunk/build/win32/src/pkg/torvm.wxs
===================================================================
--- torvm/trunk/build/win32/src/pkg/torvm.wxs (rev 0)
+++ torvm/trunk/build/win32/src/pkg/torvm.wxs 2009-01-30 15:24:10 UTC (rev 18342)
@@ -0,0 +1,211 @@
+<?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 UpgradeCode="3f874171-34a0-4af8-8c66-27a681ac5fb6" ?>
+
+ <?define CurrProductGUID="8b88858f-1d36-461c-9541-e6ffddeb8e69" ?>
+ <?define CurrExecutableGUID="f41f7690-d4e6-4c14-a754-fde93b98bb7b" ?>
+ <?define CurrQemuGUID="9a986ae8-1c05-41f8-bd26-4e3d951dc446" ?>
+ <?define CurrBiosGUID="1671260a-0b61-4351-ba93-556fddefd4ce" ?>
+ <?define CurrPThreadLibsGUID="c5960568-ffc8-4c5c-8253-9954d095afdc" ?>
+ <?define CurrDiskImageGUID="72e2fe60-9aac-473b-890e-07ea827b42ce" ?>
+ <?define CurrDocumentsGUID="1163f2e3-a0d0-4f6c-a412-dc27f8e9b338" ?>
+ <?define CurrConfigFileGUID="cd65d655-faba-46d5-b9a8-3958335e9e08" ?>
+ <?define CurrStartMenuGUID="928c4898-19e4-4b7a-ad02-95aadb80d3ba" ?>
+ <?define CurrDesktopGUID="cc7b92b8-45a5-4958-b530-5e10a2582902" ?>
+ <?define CurrDocsOnDesktopGUID="e032e77d-dbfe-4fe8-a2a4-84b5ff20e6af" ?>
+ <?define CurrStartupGUID="37319e3d-57e4-4c06-860b-a0bc2a305963" ?>
+
+ <Product Name="Tor VM $(var.ThisProductVersionDisp)" Id="$(var.CurrProductGUID)"
+ Language="1033" Codepage="1252"
+ Version="$(var.ThisProductVersion)"
+ Manufacturer="vidalia-project.net"
+ UpgradeCode="$(var.UpgradeCode)">
+
+ <Package Id="*" Keywords="Installer"
+ Description="Tor VM $(var.ThisProductVersionDisp) Installer"
+ Manufacturer="vidalia-project.net"
+ InstallerVersion="100" Compressed="yes"
+ Languages="1033" SummaryCodepage="1252"
+ InstallPrivileges="elevated" />
+
+ <Media Id="1" Cabinet="TorVM.cab" CompressionLevel="high"
+ EmbedCab="yes" DiskPrompt="CD-ROM #1" />
+ <Property Id="DiskPrompt" Value="Tor VM $(var.ThisProductVersionDisp) Installation Volume [1]" />
+ <Property Id="ALLUSERS" Secure="yes"/>
+ <Property Id="ReinstallModeText">omus</Property>
+
+ <!-- Associate this package with the upgrade code for this series
+ to ensure that upgrade installations by Thandy or other means work
+ as expected.
+ The OnlyDetect option must be false to ensure that existing files
+ from an older version are removed and replaced with current files.
+ -->
+ <Upgrade Id="$(var.UpgradeCode)">
+ <UpgradeVersion
+ Property="UPGRADEFOUND"
+ OnlyDetect="no"
+ Minimum="0.0.1"
+ IncludeMinimum="yes"
+ Maximum="$(var.ThisProductVersion)"
+ IncludeMaximum="no"
+ />
+ </Upgrade>
+
+
+ <Directory Id="TARGETDIR" Name="SourceDir">
+ <Directory Id="ProgramFilesFolder" Name="ProgramFiles">
+ <Directory Id="ProgramsInstDir" Name="Tor VM">
+
+ <!-- Main Tor VM application files -->
+ <Component Id="TorVMExecutable" Guid="$(var.CurrExecutableGUID)">
+ <CreateFolder/>
+ <RemoveFolder Id="RemoveProgramsInstDir" On="uninstall" />
+ <RegistryKey Root="HKCU" Key="Software\Tor VM" Action="createAndRemoveOnUninstall">
+ <RegistryValue Name="Version" Value="$(var.ThisProductVersionDisp)" Type="string" KeyPath="yes" />
+ </RegistryKey>
+ <File Id="TorVMExe" DiskId="1"
+ Name="torvm.exe" Source="Tor_VM\torvm.exe" />
+ </Component>
+
+ <!-- Qemu-related files -->
+ <Component Id="Qemu" Guid="$(var.CurrQemuGUID)">
+ <RegistryKey Root="HKCU" Key="Software\Tor VM" Action="createAndRemoveOnUninstall">
+ <RegistryValue Name="Qemu" Value="1" Type="integer" KeyPath="yes" />
+ </RegistryKey>
+ <File Id="QemuEXE" DiskId="1"
+ Name="qemu.exe" Source="Tor_VM/bin/qemu.exe" />
+ <File Id="DevconEXE" DiskId="1"
+ Name="devcon.exe" Source="Tor_VM/bin/devcon.exe" />
+ <File Id="SDLDll" DiskId="1"
+ Name="SDL.dll" Source="Tor_VM/lib/SDL.dll" />
+ <File Id="NPFDriver" DiskId="1"
+ Name="tornpf.sys" Source="Tor_VM/lib/tornpf.sys" />
+ <File Id="PcapDll" DiskId="1"
+ Name="torpcap.dll" Source="Tor_VM/lib/torpcap.dll" />
+ <File Id="PacketDll" DiskId="1"
+ Name="torpkt.dll" Source="Tor_VM/lib/torpkt.dll" />
+ <File Id="TapInf" DiskId="1"
+ Name="tortap91.inf" Source="Tor_VM/lib/tortap91.inf" />
+ <File Id="TapDriver" DiskId="1"
+ Name="tortap91.sys" Source="Tor_VM/lib/tortap91.sys" />
+ </Component>
+
+ <!-- pthread library files -->
+ <Component Id="PThreadLibrary" Guid="$(var.CurrPThreadLibsGUID)">
+ <RegistryKey Root="HKCU" Key="Software\Tor VM" Action="createAndRemoveOnUninstall">
+ <RegistryValue Name="PThreadLibrary" Value="1" Type="integer" KeyPath="yes" />
+ </RegistryKey>
+ <File Id="pthreadsDll" DiskId="1"
+ Name="pthreadGC2.dll" Source="Tor_VM/lib/pthreadGC2.dll" />
+ </Component>
+
+ <!-- Qemu BIOS files -->
+ <Component Id="Bios" Guid="$(var.CurrBiosGUID)">
+ <RegistryKey Root="HKCU" Key="Software\Tor VM" Action="createAndRemoveOnUninstall">
+ <RegistryValue Name="Bios" Value="1" Type="integer" KeyPath="yes" />
+ </RegistryKey>
+ <File Id="zlibdll" DiskId="1"
+ Name="zlib1.dll" Source="bin\zlib1.dll" />
+ </Component>
+
+ <Component Id="DiskImage" Guid="$(var.CurrDiskImageGUID)">
+ <RegistryKey Root="HKCU" Key="Software\Tor VM" Action="createAndRemoveOnUninstall">
+ <RegistryValue Name="DiskImageFile" Value="1" Type="integer" KeyPath="yes" />
+ </RegistryKey>
+ <File
+ Id="DiskImageFile"
+ Name="hdd.img"
+ Source="Tor_VM/lib/hdd.img"
+ Vital="yes"
+ ReadOnly="no"
+ DiskId="1"
+ />
+ </Component>
+
+ </Directory>
+ </Directory>
+
+ <Directory Id="ProgramMenuFolder" Name="Programs">
+ <Directory Id="ShortcutFolder" Name="Tor VM">
+ <Component Id="AddTorVMToStartMenu" Guid="$(var.CurrStartMenuGUID)">
+ <RegistryKey Root="HKCU" Key="Software\Tor VM" Action="createAndRemoveOnUninstall">
+ <RegistryValue Name="StartMenuShortcut" Value="1" Type="integer" KeyPath="yes" />
+ </RegistryKey>
+ <Shortcut Id="TorVMStartMenuShortcut"
+ Name="Tor VM" Target="[ProgramsInstDir]torvm.exe"
+ Directory="ShortcutFolder" WorkingDirectory="ProgramsInstDir"
+ Icon="torvm.ico" IconIndex="0" />
+ <RemoveFolder Id="RemoveShortcutFolder" On="uninstall" />
+ </Component>
+ </Directory>
+ </Directory>
+
+ <Directory Id="DesktopFolder" Name="Desktop">
+ <Component Id="AddTorVMToDesktop" Guid="$(var.CurrDesktopGUID)">
+ <RegistryKey Root="HKCU" Key="Software\Tor VM" Action="createAndRemoveOnUninstall">
+ <RegistryValue Name="DesktopShortcut" Value="1" Type="integer" KeyPath="yes" />
+ </RegistryKey>
+ <Shortcut Id="TorVMDesktopShortcut"
+ Name="Tor VM" Target="[ProgramsInstDir]torvm.exe"
+ Directory="DesktopFolder" WorkingDirectory="ProgramsInstDir"
+ Icon="torvm.ico" IconIndex="0" />
+ </Component>
+ </Directory>
+
+ <Component Id="AddToStartupItems" Guid="$(var.CurrStartupGUID)">
+ <RegistryKey Root="HKCU"
+ Key="Software\Microsoft\Windows\CurrentVersion\Run"
+ Action="createAndRemoveOnUninstall">
+ <RegistryValue Name="Tor VM" Value='"[ProgramsInstDir]vidalia.exe"' Type="string" />
+ </RegistryKey>
+ </Component>
+ </Directory>
+
+ <!-- Build up the feature hierarchy -->
+ <Feature Id="Complete" Title="Tor VM"
+ Level="1" Display="expand"
+ Description="Tor VM is an experimental virtual machine implementation of Tor for Windows.">
+ <Feature Id="MainApplication" Title="Tor VM $(var.ThisProductVersionDisp)"
+ AllowAdvertise="no" Absent="disallow" Level="1"
+ Description="Main application">
+ <ComponentRef Id="TorVMExecutable" />
+ <ComponentRef Id="Qemu" />
+ <ComponentRef Id="PThreadLibrary" />
+ <ComponentRef Id="Bios" />
+ <ComponentRef Id="DiskImage" />
+ </Feature>
+ <Feature Id="Shortcuts" Title="Shortcuts"
+ AllowAdvertise="no" Absent="allow" Level="1"
+ Description="Add a shortcut to Tor VM to your Start menu or Desktop.">
+ <Feature Id="StartMenuShortcuts" Title="Add to Start menu"
+ AllowAdvertise="no" Absent="allow" Level="1"
+ Description="Add Tor VM to your Start menu">
+ <ComponentRef Id="AddTorVMToStartMenu" />
+ </Feature>
+ <Feature Id="DesktopShortcuts" Title="Add to Desktop"
+ AllowAdvertise="no" Absent="allow" Level="1"
+ Description="Add Tor VM to your Desktop">
+ <ComponentRef Id="AddTorVMToDesktop" />
+ </Feature>
+ <Feature Id="RunAtStartup" Title="Run at Startup"
+ AllowAdvertise="no" Absent="allow" Level="1"
+ Description="Run Tor VM automatically when your system starts">
+ <ComponentRef Id="AddToStartupItems" />
+ </Feature>
+ </Feature>
+ </Feature>
+
+ <!-- Upgrade installation sequence. -->
+ <InstallExecuteSequence>
+ <RemoveExistingProducts After="InstallValidate" />
+ </InstallExecuteSequence>
+
+ <!-- Set the UI options -->
+ <UIRef Id="WixUI_Tor" />
+ <Icon Id="torvm.ico" SourceFile="torvm.ico" />
+ <WixVariable Id="WixUIBannerBmp" Value="header.bmp" />
+ <WixVariable Id="WixUIDialogBmp" Value="welcome.bmp" />
+ </Product>
+</Wix>
Added: torvm/trunk/build/win32/src/pkg/welcome.bmp
===================================================================
(Binary files differ)
Property changes on: torvm/trunk/build/win32/src/pkg/welcome.bmp
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
More information about the tor-commits
mailing list