44 lines
1.6 KiB
Plaintext
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()
|
|
|