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