Commit Graph

73 Commits

Author SHA1 Message Date
Nicholas J. Kain
e37ed0e16b arpping() no longer blocks and address verification via arp is now performed
asynchronously in the main event loop.
2010-12-01 23:33:25 -05:00
Nicholas J. Kain
a154f96538 Use epoll() in ndhc. 2010-12-01 13:11:09 -05:00
Nicholas J. Kain
a259640779 Use signalfd() in ndhc. 2010-12-01 12:35:13 -05:00
Nicholas J. Kain
712c8446d6 Update README. 2010-12-01 12:24:47 -05:00
Nicholas J. Kain
f2b4527179 Use epoll() and signalfd() in ifchd. 2010-12-01 12:22:08 -05:00
Nicholas J. Kain
fb56a9cb2b Make sure to #include <stddef.h> when using offsetof(). 2010-11-16 17:41:46 -05:00
Nicholas J. Kain
9dce1a0378 Make sure our assigned address is unique on our segment by using arp. 2010-11-15 20:06:50 -05:00
Nicholas J. Kain
5eb3c18b01 Indentation fix. 2010-11-14 08:49:58 -05:00
Nicholas J. Kain
ba553e5d94 Clean up end_option(), and fix a possible off-by-one in the bound check. 2010-11-14 07:50:21 -05:00
Nicholas J. Kain
5a38e49a81 Update get_option() to use the function from busybox's udhcp variant;
it's much easier to read.  The original one is indecipherable, and thus
it is difficult to verify correctness.
2010-11-14 03:41:36 -05:00
Nicholas J. Kain
1ffd1d9df3 Replace 308 with DHCP_OPTIONS_BUFSIZE in options.c. 2010-11-14 02:02:32 -05:00
Nicholas J. Kain
4ce4323d00 Replace sizeof(struct dhcpMessage) with DHCP_SIZE. 2010-11-14 02:01:17 -05:00
Nicholas J. Kain
9421da3157 Don't zero-pad kernel-packet sent dhcp packets. 2010-11-14 01:56:54 -05:00
Nicholas J. Kain
f8d856cc0a Don't zero-pad sent raw dhcp packets and clean up packet.c. 2010-11-14 01:53:23 -05:00
Nicholas J. Kain
8401d175a1 Remove a Win98 DHCP client bug workaround from get_packet(). 2010-11-14 01:12:32 -05:00
Nicholas J. Kain
0661f4371b Untabify and reindent packet.h. 2010-11-14 00:54:05 -05:00
Nicholas J. Kain
6a3b004eee Specialize init_header() to only handle client packets, move it to
clientpacket.c, and make it static.
2010-11-14 00:52:32 -05:00
Nicholas J. Kain
1cc648b5ad Clean up and comment listen_socket(). 2010-11-14 00:46:02 -05:00
Nicholas J. Kain
86ef084835 Clean up parameter names and comment read_interface(). 2010-11-14 00:41:32 -05:00
Nicholas J. Kain
987ba12982 Enforce upper and lower sanity bounds on lease times.
Add some comments.
2010-11-13 19:37:08 -05:00
Nicholas J. Kain
aaca1ab6ef Formatting fixes. 2010-11-13 19:14:16 -05:00
Nicholas J. Kain
675b527aac Remove some unnecessary memset() and an unused buffer in bound_if(). 2010-11-13 19:07:00 -05:00
Nicholas J. Kain
00ec886737 Ident fix. 2010-11-13 19:04:28 -05:00
Nicholas J. Kain
ef3a69e00e Clean up an unnecessary buffer in perform_release(). 2010-11-13 18:49:46 -05:00
Nicholas J. Kain
f34fac92bd Remove bashism from the gentoo net script. 2010-11-13 16:12:17 -05:00
Nicholas J. Kain
75206dce13 Check for failure in creating listen sockets in change_listen_mode(). 2010-11-13 12:34:22 -05:00
Nicholas J. Kain
faa56bb616 Make change_listen_mode() create a new socket instantly rather than
waiting for select loop to cycle again.  Works better in practice
and simplifies the select loop, too.
2010-11-13 12:30:54 -05:00
Nicholas J. Kain
ccae6e4c8a Clean up unnecessary goto exit handler in raw_socket(). 2010-11-13 12:11:28 -05:00
Nicholas J. Kain
028d3b7bae Clean up send_renew() a bit. 2010-11-13 12:00:06 -05:00
Nicholas J. Kain
a79d86609b Wrap raw_packet() with specialized bcast_raw_packet(). 2010-11-13 11:42:26 -05:00
Nicholas J. Kain
9f7fe1de8b Use BPF to filter input on raw sockets. 2010-11-13 11:18:07 -05:00
Nicholas J. Kain
71a3603934 Finish cleaning up get_raw_packet(). Use offsetof() to make UDP
checksum verification a bit more compact.
2010-11-13 08:47:07 -05:00
Nicholas J. Kain
693c9256e4 Add safe_read() to ncmlib and use it in ndhc. 2010-11-13 08:37:33 -05:00
Nicholas J. Kain
a43e69c7ae Factor out safe_write() into ncmlib and use it in ndhc as well. 2010-11-13 08:18:23 -05:00
Nicholas J. Kain
edf3b02b6a Fix header include guards to not use leading underscores. 2010-11-13 06:51:57 -05:00
Nicholas J. Kain
336a54fa47 Clean dhcpd.h. 2010-11-13 06:48:50 -05:00
Nicholas J. Kain
bb5446cf02 Remove leases.h. 2010-11-13 06:45:34 -05:00
Nicholas J. Kain
a059b5bd13 Clean up 'unsigned long' used with the assumption that long == 32-bit. 2010-11-13 06:42:52 -05:00
Nicholas J. Kain
8d9cc0bdb4 Remove unused attach_option() from options.c. 2010-11-13 06:28:03 -05:00
Nicholas J. Kain
431bb5d11e Clean up paren use with sizeof and & in clientpacket.c. 2010-11-13 06:22:22 -05:00
Nicholas J. Kain
35c4c773cd Remove unnecessary casts from setsockopt().
Prevent access to initialized memory in raw_socket()'s bind() call by
using memset().
2010-11-13 06:13:10 -05:00
Nicholas J. Kain
f59ccfb5b0 In sendto() and write(), make sure all pointer arithmetic is in byte
sized units.
2010-11-13 05:59:15 -05:00
Nicholas J. Kain
502419c598 More detailed error prints in get_raw_packet(). 2010-11-13 05:53:32 -05:00
Nicholas J. Kain
ce518cc99f Properly cast read buffer to (char *) in get_raw_packet(). 2010-11-12 21:54:20 -05:00
Nicholas J. Kain
37bf851ca7 Clean up raw socket read error path a bit. 2010-11-12 21:44:28 -05:00
Nicholas J. Kain
7026a9c120 Add gentoo rc script (for /lib64/rc/net on eg amd64) 2010-11-12 21:01:05 -05:00
Nicholas J. Kain
2ae6025110 Zero length packets cannot be received now in get_raw_packet(). 2010-11-12 20:15:15 -05:00
Nicholas J. Kain
0b1a3b4c14 Create a pidfile even in the case where ndhc never backgrounds. 2010-11-12 20:08:16 -05:00
Nicholas J. Kain
ac6f60c4fe Create a pidfile that matches the daemon process id when backgrounded. 2010-11-12 20:03:55 -05:00
Nicholas J. Kain
9ce31ec4d8 Make background() idempotent in a cleaner way. 2010-11-12 19:50:04 -05:00