tunblick/TunblickDevel.txt

Wed, 10 Feb 2010 21:25:01 +0100

author
Michael Schloh von Bennewitz <michael@schloh.com>
date
Wed, 10 Feb 2010 21:25:01 +0100
changeset 18
8ec65b8f6e2c
parent 4
f137c6757b85
permissions
-rw-r--r--

Extend uac_auth() of the UAC module to workaround CSEQ problems.
This logic is meant to complement that of changeset 17, which
added rich authentication credentials to the gw table and its
associated logic in the LCR module.

michael@4 1 Tunnelblick Build Notes
michael@4 2 Michael Schloh von Bennewitz
michael@4 3 28 July 2009
michael@4 4 ----------------------------
michael@4 5
michael@4 6 These instructions for building Tunnelblick describe a release
michael@4 7 engineering environment using Mac OS X 10.5.7, XCode 3.1.3, and
michael@4 8 the API from 'MacOSX10.5.sdk'.
michael@4 9
michael@4 10 Workflow
michael@4 11
michael@4 12 - Read the project's source building guidance [01] documentation.
michael@4 13 - Fetch the latest Tunnelblick sources [02] from SVN.
michael@4 14 - Fetch the third party software [03][04][05][06] distributions.
michael@4 15 - Possibly test Growl [07] integration (not sure if integrated.)
michael@4 16 -
michael@4 17 - Unpack the Tunnelblick source distribution.
michael@4 18 - Change directory to tunnelblick/third_party
michael@4 19 - Move all dirs (sparkle, lzo, pkcs11, tuntap, openvpn) away.
michael@4 20 - Unpack the freshly downloaded third party distributions. Be
michael@4 21 careful to use the Sparkle source code rather than binary.
michael@4 22 -
michael@4 23 - Replace the Makefile [08] and inspect the differences.
michael@4 24 Pay attention to the versions of unpackaged software
michael@4 25 distributions and those hard coded in the Makefile.
michael@4 26 - Move 'openvpn-<version>' to simply 'openvpn'.
michael@4 27 - Execute make as usual [09].
michael@4 28 - Inspect the resulting universal binaries [10].
michael@4 29 -
michael@4 30 - Change directory to tunnelblick/tunnelblick
michael@4 31 - Start XCode, usually found in /Developer/Applications/Xcode.app/
michael@4 32 - Load the Sparkle XCode project and build the Sparkle.framework [11].
michael@4 33 - Load the Tunnelblick XCode project file Tunnelblick.xcodeproj [12].
michael@4 34 - Change the target to 'Release' as suggested in [01].
michael@4 35 - Clean and build the product as usual, pressing the build button.
michael@4 36 - Verify the build result, warnings can be expected and are normal.
michael@4 37 - Inspect build/Release/Tunnelblick.dmg by mounting it and verify
michael@4 38 that the directory contents of Tunnelblick.app correspond to the
michael@4 39 OS X application bundle standard hierarchy.
michael@4 40 -
michael@4 41 - Read the companion document to this one 'tunnelblick_install.txt'.
michael@4 42 - Inspect the directory contents of ~/Library/openvpn and
michael@4 43 ~/Library/Preferences/com.openvpn.tunnelblick.plist.
michael@4 44 - Install by copying Tunnelblick.app to /Applications/.
michael@4 45 - Execute from a terminal as usual [13].
michael@4 46 - Compare the directory contents and preferences with previous results.
michael@11 47 -
michael@11 48 - For further Sparkle development review quick reference documents [14]
michael@4 49
michael@4 50 [01] http://groups.google.com/group/tunnelblick-discuss/web/compiling-tunnelblick-from-source
michael@4 51 [02] http://tunnelblick.googlecode.com/svn/trunk/
michael@4 52 [03] http://www.oberhumer.com/opensource/lzo/download/
michael@4 53 [04] http://www.opensc-project.org/files/pkcs11-helper/
michael@4 54 [05] http://freefr.dl.sourceforge.net/sourceforge/tuntaposx/tuntap_20080804.tar.gz
michael@4 55 [06] http://sparkle.andymatuschak.org/files/
michael@4 56 [07] http://www.growl.info/
michael@4 57 [08] http://scm.europalab.com/tunnelblick/thirdparty/Makefile
michael@4 58 [09] $ time make 2>&1 | build.txt
michael@4 59 [10] $ lipo -info tuntap/tun.kext/Contents/MacOS/tun \
michael@4 60 pkcs11-helper-1.07/staging/lib/libpkcs11-helper.a \
michael@4 61 lzo-2.03/staging/lib/liblzo.a \
michael@4 62 openvpn/openvpn
michael@4 63 [11] Changes to the buildconf are needed, see project files in SCM.
michael@4 64 [12] Changes to the buildconf are needed, see project files in SCM.
michael@4 65 [13] $ /Applications/Tunnelblick.app/Contents/MacOS/Tunnelblick
michael@11 66 [14] http://sparkle.andymatuschak.org/documentation/pmwiki.php/Documentation/BasicSetup
michael@4 67
michael@4 68 ----
michael@4 69
michael@4 70 Tunnelblick Installation Notes
michael@4 71 Michael Schloh von Bennewitz
michael@4 72 28 July 2009
michael@4 73 ------------------------------
michael@4 74
michael@4 75 Tunnelblick contains a system independent self built copy of OpenVPN,
michael@4 76 which is statically linked to the LZO and PKCS11Helper libraries. The
michael@4 77 OpenVPN configuration is found in:
michael@4 78
michael@4 79 ~/Library/openvpn/openvpn.conf
michael@4 80
michael@4 81 ...which may eventually conflict with other software installations.
michael@4 82
michael@4 83 Tunnelblick contains a system independent self built copy of TUN/TAP.
michael@4 84 This means that Tunnelblick does not use the TUN/TAP drivers of other
michael@4 85 products, most notably the main vendor's:
michael@4 86
michael@4 87 /Library/Extensions/tap.kext
michael@4 88 /Library/Extensions/tun.kext
michael@4 89 /Library/StartupItems/tap
michael@4 90 /Library/StartupItems/tun
michael@4 91
michael@4 92 Tunnelblick user preferences are stored in:
michael@4 93
michael@4 94 ~/Library/Preferences/com.openvpn.tunnelblick.plist
michael@4 95
michael@4 96 Tunnelblick certificates are stored in:
michael@4 97
michael@4 98 ~/Library/openvpn
michael@4 99
michael@4 100 Because Tunnelblick encapsulates all software components and drivers
michael@4 101 that it needs in the Tunnelblick application bundle, to uninstall simply
michael@4 102 delete the application bundle named Tunnelblick.app.
michael@4 103
michael@4 104 Manifest
michael@4 105
michael@4 106 /Applications/Tunnelblick.app/
michael@4 107 ~/Library/openvpn/*
michael@4 108 ~/Library/Preferences/com.openvpn.tunnelblick.plist

mercurial