Refactor: introduce telinit and a new initctl tool w/ API

- Reduce size of `helpers.c`, for linking against new `initctl` tool,
  by moving out functions to `pid.c` and `exec.c`
- Add `AF_UNIX` API to Finit, to complement old `/dev/initctl` FIFO
- Let old FIFO API be used by init/telinit: `init <q | 1-9>`
- Move all advanced initctl code from `client.c` to `initctl.c`, yes
  its a bit confusing to call the *new* tool the same as the old FIFO
  but this is more in line with what, e.g Upstart does.
- Move all advanced server side code from `plugins/initctl.c` to `api.c`
- Update TODO with upcoming inetd syntax change and dynamic events.
- Temporarily fix display of inetd services from `initctl status -v`

Signed-off-by: Joachim Nilsson <troglobit@gmail.com>
This commit is contained in:
Joachim Nilsson committed 2015-06-13 12:26:16 +02:00
1 parent 66edb42e06
commit 1a1f24721f
15 files changed
+934 -731

No files matched your search

+15
View File
@@ -27,6 +27,10 @@ General
* Add support for listening to netlink messages for GW, ADDR, IF UP/DOWN
* Add <!,...> to let Finit know that a service does not support reload
(SIGHUP), but must be restarted (stop+start)
* Allow custom reload for processes like libreSwan's pluto
service [2345] <!gw,if:eth0,reload:'starter reload'> /sbin/pluto
* Allow process callbacks to be scripts.
* Add support for a pipe/popen where we can listen for `STOP`, `START`
and `RELOAD` on `STDOUT` from a script ... call it for example
@@ -55,6 +59,17 @@ to achieve compatibility would be to add a plugin to finit which reads
Inetd
-----
wkz says we need deny rules and better syntax! we agrees
wkz --> inetd telnet/tcp @!eth0
wkz --> inetd 2323/tcp @eth0
wkz --> 77/udp wait [2345] @finit/time
jnn --> telnet@eth0,eth1/tcp
jnn --> 2323@eth2/tcp
jnn --> 3000/udp wait [2345] time/internal
Optimize interface filtering by using socket filter. The functions
`inet_*_peek()` and `inetd_is_allowed()` used for interace filtering
should be possible to rewrite as socket filters.