0884d96d1e
PR_SET_PDEATHSIG is not fully reliable, so instead maintain a pair of
...
AF_UNIX SOCK_STREAM sockets between the master processes and each subprocess,
and poll for the HUP event.
At the same time, be specific about the events that are checked in epoll
when dispatching on an event.
2014-04-15 23:19:24 -04:00
e526adce19
Make the signal handling code use safe_read() and unify ifchd and sockd
...
signals code.
2014-04-15 20:55:13 -04:00
baa394af9a
UDP listen sockets should be requested with 'U' instead of 'u'.
2014-04-15 20:54:35 -04:00
b00444ab8b
Bound the subprocess lifetime using prctl(PR_SET_PDEATHSIG, ...).
...
The pipes wouldn't do this job anymore because they were unused and thus
never performed writes that would generate SIGPIPEs, so the pipes are
removed, too.
2014-04-15 18:01:01 -04:00
b3ce601f20
state.c: Print error messages if we fail to send DHCP packets.
2014-04-15 17:59:15 -04:00
18604c5245
get_udp_unicast_socket() needs to have the client address as an argument
...
when sending the request to sockd.
Also, print error messages if sockd returns an invalid fd (< 0).
2014-04-15 17:55:28 -04:00
a9055b5ca5
Update more message prints to prefix with the interface name.
2014-04-15 15:24:22 -04:00
58b4ba768c
If the IP header length does not match the size of the UDP packet received
...
via the raw socket, print both lengths in the warning message.
2014-04-15 15:23:52 -04:00
730e5ef310
setpgid() can return EPERM if we are already a process group leader.
2014-04-15 15:02:20 -04:00
e5834da6d3
Permit sendmsg in the seccomp syscall whitelist for all daemons.
2014-04-15 14:57:07 -04:00
b5f0ccd88d
In cfg.rl, when performing clear action, don't clear the cs member in ccfg.
2014-04-15 14:56:35 -04:00
a777766cc6
Fix stupid typo in ndhc.c that would cause the clientid option to
...
corrupt the start of the hostname option if both were specified.
2014-04-15 14:55:50 -04:00
74ad01a086
Update the manual page.
2014-04-14 15:52:39 -04:00
a501789e04
Parse config options with ragel and support a configuration file.
2014-04-14 15:06:31 -04:00
d267c2c44b
Use the raw capability interface via updated ncmlib rather than linking
...
to libcap.
2014-04-07 15:05:34 -04:00
bb1ff7a506
arp.c: Make logging messages print the associated interface name.
2014-04-07 04:43:21 -04:00
74678ef510
Use safe_recvmsg().
2014-04-07 04:22:32 -04:00
6804be2277
Use safe_sendto where necessary, and check for short writes.
...
Also, change many log_lines to log_errors, mostly in ifset.c.
2014-04-07 04:15:02 -04:00
650da6a7fd
Add recvfrom to the seccomp syscall whitelist.
2014-04-07 03:54:30 -04:00
cab9162d8d
Remove socketpair from the seccomp syscall filter whitelist.
...
socketpair() is called only before privileges are dropped, so it does
not need to be in the whitelist.
2014-04-07 03:44:53 -04:00
5fa2030bab
Use a socketpair rather than a pair of pipes for communication between
...
ndhc and ifch, similar to sockd. A single pipe is also maintained so
that SIGPIPE can bound the lifetime of an orphaned ifch process.
2014-04-07 03:44:02 -04:00
e2ee728982
Consolidate all of the global static variables in arp.c into a single
...
struct, and use booleans where appropriate.
2014-04-06 22:12:31 -04:00
a86363f248
Create a new process ID group for ndhc.
2014-04-06 22:07:12 -04:00
b761889025
Move source from ndhc/ to src/ since ifchd is no longer a separate program.
2014-04-06 16:57:06 -04:00