Commit Graph

18 Commits

Author SHA1 Message Date
Nicholas J. Kain
a130448d46 Update the README. 2014-03-10 01:09:25 -04:00
Nicholas J. Kain
1824802fb2 Merge ifchd into ndhc. Rather than function as entirely separate daemons,
ndhc will fork off an ifchd child that it will communicate with via
pipes rather than by connecting to a SO_PEERCRED AF_UNIX socket.

The advantages include:

1. Simpler configuration.  Much easier for users and packagers to set up.
2. Drastically less complex code for the ifch functionality.  More code
   is removed than added, and the result is a lot less complex.
3. Potentially better security.  The ifch can only service the parent
   ndhc process, and it is restricted to issuing modifications to
   the single interface that ndhc manages.
4. Less memory used on systems that allow overcommit.

The downsides:

1. Possibly more memory used on systems that run multiple ndhcs and use
   strict commit limits.

At the same time, use netlink rather than ioctls so that the
interface ip, subnet, and broadcast address can be set simultaneously.
This change reduces the netlink notification spam greatly.

The current code builds but isn't yet complete.  Subsequent commits will
flesh things out and polish out some remaining issues.
2014-03-10 00:52:56 -04:00
Nicholas J. Kain
958a57d819 Convert to using strnkc(at|py). 2013-05-06 07:07:54 -04:00
Nicholas J. Kain
a419b85e4f Typo fix in documentation. 2012-04-03 10:04:58 -04:00
Nicholas J. Kain
916ddf10e5 Update documentation: options concatenation is now supported. 2011-07-27 07:43:09 -04:00
Nicholas J. Kain
77af1d81fe Relicense under New BSD (2-clause) license. I don't see any advantage to
restricting use unnecessarily, and simple attribution is fine.
2011-07-25 02:30:57 -04:00
Nicholas J. Kain
fe85e52a4b Be less harsh to udhcp in HISTORY... there was no better choice among the
considered options at the time.
2011-07-24 18:02:25 -04:00
Nicholas J. Kain
19ad80bb57 Minor doc fix. I'm going to keep using libcap. 2011-07-13 04:54:15 -04:00
Nicholas J. Kain
24db573005 Write man pages and do some misc cleanup on old files.
Add more documentation to the README.
2011-07-13 02:30:10 -04:00
Nicholas J. Kain
2aff36a274 Provide a gmake Makefile for distro builds and packagers.
Define _GNU_SOURCE in the CFLAGS.
Update the README.
Remove the duplicate Gentoo init script ndhc.sh that is in the root.
Remove DESIGN -- it's outdated.
2011-07-12 04:09:05 -04:00
Nicholas J. Kain
daf42ccb29 Change ifchange_*() so that the interface and ip keywords are only sent to
ifchd if it is necessary to do so, just as is the case for other keywords.

Make data sending in ifchange_*() collect all keywords into a buffer that
is sent in a single sockwrite() rather than performing a sockwrite() for
every keyword.

Minor documentation updates.
2011-07-05 19:25:19 -04:00
Nicholas J. Kain
6222d6ec0b Update documentation to suggest mode g+w for var/run in the suggested chroot
so that PID file creation for ndhc will not fail.
2011-06-10 14:07:03 -04:00
Nicholas J. Kain
59beb159d3 Place the ifchange socket in /var/state/ifchange within the chroot
jail and change configuration instructions as well.

Change default configuration instructions to specify setting root
of the chroot jail as owned by root.root.
2011-05-01 20:43:29 -04:00
Nicholas J. Kain
712c8446d6 Update README. 2010-12-01 12:24:47 -05:00
Nicholas J. Kain
f4a00f3826 Whitespace and indentation normalization. 2010-11-12 14:33:17 -05:00
Nicholas J. Kain
2262845be6 Robustify get_raw_packet(). Error messages are now more specific, and
read() properly handles short reads and EINTR/EAGAIN/EWOULDBLOCK.
Update documentation.
2010-11-12 13:24:07 -05:00
Nicholas J. Kain
8aa6d9a320 Fix file_exists() to deal with modern variant.
Update README.
2010-11-12 12:05:37 -05:00
Nicholas J. Kain
15f6bb66ee Move DESIGN and README to root directory. 2010-11-12 09:39:33 -05:00