ndhc/ndhc/MODIFICATIONS
Nicholas J. Kain 7a09ba2cf7 Initial commit.
2010-11-12 04:02:18 -05:00

44 lines
1.6 KiB
Plaintext

All modifications are to udhcp 0.9.8
All bugs should be blamed on Nicholas Kain, not the udhcp folks!
Great thanks go to the authors of udhcp (primarily Russ Dill), from which
ndhc is adapted.
CHANGES
-------
C99 compiler required
removed dhcp server support (use mainline udhcp)
removed sample scripts
added chroot support
added capability support
added setuid/setgid support
run_script now takes int argument (from enum)
script.c heavily modified to call ifchd
stripped command line option for custom script
bounds check all string functions
removed pidfile support: backgrounding model + chroot preclude it
manpage updated
removed busybox compat wrapper
convert all strncpy -> strlcpy
u_int*_t -> uint*_t (C99)
add_simple_option no longer does unspeakable things to the C language
character signedness issues fixed
casting bug [dhcpc.c:549 sizeof(signal) should be sizeof sig]
- won't bite except on an architecture where sizeof fnptr != sizeof int
LOG and DEBUG are abolished - functions are used instead, see log.c/log.h
C99 structure initializers used exclusively (C99)
Linux kernel headers no longer used under any circumstances.
- this is likely to break prehistoric systems running <glibc 2.1
exit() return codes now use EXIT_(SUCCESS|FAILURE) #defines and make more sense
close fd leak on failure in read_interface()
close fd leak on failure in kernel_packet()
char buffer[16] in perform_release() should not be static
don't bother to use a signal pipe - instead use static sig_atomic_t bools
convert lots of #defines to enums
break apart main client loop into maintainable functions
more discerning error handling
boundary check end_option()