How to install secnet on a Fink-equipped OS X system: - Install GMP: fink install gmp - Download and install ADNS: ./configure --disable-dynamic make sudo make install - Build secnet: ./configure make sudo make install - Install tuntap for OSX from http://tuntaposx.sourceforge.net/ - Create /etc/secnet/{key,secnet.conf,sites.conf} as usual - If you don't want secnet 'always on', edit uk.org.greenend.secnet.plist and remove *both* these two lines: RunAtLoad - Create the 'secnet' user and install the job configuration: ./setup.mac. To start secnet: sudo launchctl start uk.org.greenend.secnet To stop secnet: sudo launchctl stop uk.org.greenend.secnet To uninstall: sudo launchctl unload /Library/LaunchDaemons/uk.org.greenend.secnet.plist sudo rm -f /Library/LaunchDaemons/uk.org.greenend.secnet.plist If you need to enable IP forwarding: sudo sysctl -w net.inet.ip.forwarding=1 (Note that on a Mac, you need to enable IP forwarding if you want to route to addresses on one interface via another; i.e. if you expect to be able to reach an address on en0 with a packet delivered through tun0, IP forwarding must be turned on.) How to import secnet into XCode 3.2: - Set up build directories as follows: $ mkdir build/Debug build/Release $ cd build/Debug $ ~/src/secnet/configure CFLAGS="-g -O0" $ cd ../Release $ ~/src/secnet/configure $ cd ../.. (Replace ~/src/secnet with the *absolute* path to your secnet tree - XCode cannot map the relative paths in errors to the source files otherwise.) - Start XCode - Menubar -> File -> New Project - Choose the Mac OS X -> Other -> External Build System template - Choose the *parent* of the secnet directory and call the project secnet - OK the overwrite (it won't overwrite anything that matters) - This creates 'build' and 'secnet.xcodeproj' directories in your secnet tree. - Right-click Groups & Files -> secnet -> Add -> Existing files and select all the *.c, *.h, *.y and *.fl files. - Omit the following files: - *.yy.[ch] \ - *.tab.[ch] | generated during build - version.c | - config.h / - snprintf.[ch] - unnecessary on OSX - Sort by 'kind' may make this easier - Leave 'Copy items...' unchecked - Add To Targets should have 'secnet' checked - For conffile.fl, right click Get Info -> General, and set File Type to sourcecode.lex. - Under Groups & Files -> secnet, select all source files and right click Get Info -> General, and set: - Tab Width to 8 - Indent Width to 4 - Check Editor uses tabs - Double click click Groups & Files -> Targets secnet - Add '-C $TARGET_BUILD_DIR' to the start of the arguments. You should now be able to build both debug and release configurations using ⌘B. Richard Kettlewell 2011-07-23