Statistics
| Branch: | Tag: | Revision:

root / nfdhcpd @ c63ad0e2

History | View | Annotate | Download (25.1 kB)

# Date Author Comment
c63ad0e2 03/11/2011 01:12 pm Apollon Oikonomopoulos

Fix typo (vaildate -> validate)

Signed-off-by: Apollon Oikonomopoulos <>

0679a724 03/11/2011 01:11 pm Apollon Oikonomopoulos

Code refactoring to remove overlong lines

Signed-off-by: Apollon Oikonomopoulos <>

810a20fa 03/11/2011 01:08 pm Apollon Oikonomopoulos

Improve error handling

Catch and handle specific exception families where possible and provide
additional information.

Signed-off-by: Apollon Oikonomopoulos <>

7a7b8554 12/03/2010 04:15 pm Apollon Oikonomopoulos

Merge previous changes

Conflicts:
nfdhcpd: merge

Signed-off-by: Apollon Oikonomopoulos <>

30dd1f9e 12/03/2010 03:55 pm Apollon Oikonomopoulos

Implement IPv6 RDNSS

Add support for ICMPv6 RDNSS (RFC 5006) to advertise DNS servers over ICMPv6
router advertisements.

Signed-off-by: Apollon Oikonomopoulos <>

0be961fb 12/03/2010 03:54 pm Apollon Oikonomopoulos

DHCP: use nameservers from config

Use the DNS servers from the config file for DHCP replies.

Signed-off-by: Apollon Oikonomopoulos <>

31d21144 12/03/2010 03:34 pm Apollon Oikonomopoulos

Disable sending periodic RAs when IPv6 is disabled

Disabling IPv6 from the configuration file causes the server to not respond to
NS and RS, however it still tried to send out periodic RAs (which was a noop).
We explicitly set the timeout of select() to None to avoid this, when IPv6 is...

651e531d 12/03/2010 03:24 pm Apollon Oikonomopoulos

Add configurationf file validation

Add a specification of the configuration file and runtime validation, using
configobj's validate.Validator and custom checks for the nameserver lists.

Signed-off-by: Apollon Oikonomopoulos <>

ea915b1a 12/03/2010 02:27 pm Apollon Oikonomopoulos

Add configuration file support

Add configuration file parsing using python-configobj. All command line options
except -d and -f have been moved to the configuration file.

A sample configuration file with all accepted options has been added as well.

Warning: validation and type casting is still missing....

f2c7bb76 11/16/2010 07:23 pm Apollon Oikonomopoulos

Open the logfile after changing uid and set umask

Set the process' umask in daemon.DaemonContext to 0022 (default was
0).

Open the logfile after dropping privileges, so that it is created with
proper perimissions (this also ensures that log rotation will work)....

41a0f754 11/16/2010 03:31 pm Apollon Oikonomopoulos

Refactor the main loop code and increase RA period

Increase RA period to 300s by default

Refactor the main loop to check only once for timeout expiration. This
fixes spurious RA emission because we forgot to properly reset the
start timer.

Signed-off-by: Apollon Oikonomopoulos <>

83027c6b 11/15/2010 09:13 pm Apollon Oikonomopoulos

Use a separate thread for periodic RAs

Periodic RAs can take a long time with many interfaces. The bottleneck
seems to lie in bind() send send() with AF_PACKET sockets. So, we spawn
a separate thread to be able to handle requests in the mean time.

Signed-off-by: Apollon Oikonomopoulos <>

948d4918 11/15/2010 09:12 pm Apollon Oikonomopoulos

Gracefully handle ICMPv6 NS w/o SrcLLAddr option

Neighbour solicitations sent during interface configuration do not
include a Source Link-Layer Address option. We ignore them as we
shouldn't (and can't) reply anyway.

Signed-off-by: Apollon Oikonomopoulos <>

bf84c4a5 11/15/2010 08:22 pm Apollon Oikonomopoulos

Warn on NFQUEUE exception

Warn if anything goes wrong during select()

Signed-off-by: Apollon Oikonomopoulos <>

519ec23c 11/15/2010 08:21 pm Apollon Oikonomopoulos

Whitespace cleanup

Signed-off-by: Apollon Oikonomopoulos <>

6ca53b5c 11/15/2010 08:20 pm Apollon Oikonomopoulos

Gracefully handle dead interfaces on periodic RA

Remove any interfaces that are not there during periodic RA emission.

Signed-off-by: Apollon Oikonomopoulos <>

37dd77bb 11/15/2010 12:50 pm Apollon Oikonomopoulos

Rename nfdhcp.py to nfdhcpd

Signed-off-by: Apollon Oikonomopoulos <>