Bot releases are hidden (Show)
Published by troglobit about 9 years ago
-Os
use -O2
as default optimization level. Many cross-Os
svc_t
forinitctl show
Published by troglobit about 9 years ago
Support for multiple instances and event based services, as well as the
introduction of an initctl
tool.
Note: Incompatible change to syntax for custom inetd
services, c.f. Finit v1.12.
The most notable change is the support for multiple instances. A must
have when running multiple DHCP clients, OpenVPN tunnels, or anything
that means using the same command only with different arguments. Now
simply add a :ID
after the service
keyword, where ID
is a unique
instance number for that service.
service #1 [2345] /sbin/httpd -f -h /http -p 80 -- Web server
service #2 [2345] /sbin/httpd -f -h /http -p 8080 -- Old web server
Another noteworthy new feature is support for starting/stopping
services on Netlink events:
service :1 [2345] <!IFUP:eth0,GW> /sbin/dropbear -R -F -p 22 -- SSH daemon
Here the first instance :1
of the SSH daemon is declared to run in
runlevels 2-5, but only if eth0 IFUP:eth0
is up and a gateway GW
is set. When the configuration changes, a new gateway is set, or if
somehow a new IFUP
event for eth0 is received, then dropbear is not
SIGHUP'ed, but instead stop-started <!>
. The latter trick applies
to all services, even those that do not define any events.
Support for reloading *.conf
files in /etc/finit.d/
on SIGHUP.
All task
, service
and run
statements can be used in these .conf
files. Use the telinit q
command, initctl reload
or simply send
SIGHUP
to PID 1 to reload them. Finit automatically does reload of
these *.conf
files when changing runlevel.
Support for a modern initctl
tool which can stop/start/reload and
list status of all system services. Also, the old client tool used
to change runlevel is now also available as a symlink: telinit
.
initctl [-v] <status|stop|start|reload|restart> [JOB]
Add concept of "jobs". This is a unique identifier, composed of a
service and instance number, SVC:ID
initctl <stop|start|reload|restart> JOB
Support for deny filters in inetd
services.
inetd service/proto[@iface,!iface,...] </path/to/cmd | internal[.service]>
Internal services on a custom port must use the internal.service
syntax so Finit can properly bind the inetd service to the correct
plugin. Here follows a few examples:
inetd time/udp wait [2345] internal -- UNIX rdate service
inetd time/tcp nowait [2345] internal -- UNIX rdate service
inetd 3737/tcp nowait [2345] internal.time -- UNIX rdate service
inetd telnet/tcp@*,!eth1,!eth0, nowait [2345] /sbin/telnetd -i -F -- Telnet service
inetd 2323/tcp@eth1,eth2,eth0 nowait [2345] /sbin/telnetd -i -F -- Telnet service
inetd 222/tcp@eth0 nowait [2345] /sbin/dropbear -i -R -F -- SSH service
inetd ssh/tcp@*,!eth0 nowait [2345] /sbin/dropbear -i -R -F -- SSH service
Access to telnet on port 2323
is only possible from interfaces
eth0
, eth1
and eth2
. The standard telnet port (23
) is
available from all other interfaces, but also eth2
. The *
notation used in the ssh stanza means any interface, however, here
eth0
is not allowed.
NOTE: This change breaks syntax compatibility with Finit v1.12.
Support for a more user-friendly configure script rather than editing
the top Makefile, or setting environment variables at build time.
Support for building Finit statically, no external libraries. This
unfortunately means that some plugins cannot be built, at all.
Big thanks goes to James Mills for all help testing this out!
Support for disabling the built-in inetd server with configure
.
Support for two new hook points: HOOK_SVC_RECONF
and
HOOK_RUNLEVEL_CHANGE
. See the source for the exact location.
The include <FILE>
option now needs an absolute path to FILE
.
patches/
to contrib/
to simplify integration in 3rd partyPublished by troglobit over 9 years ago
The inetd release.
finit.conf
finit.conf
, this makes it possible totime.so
inetd time/tcp internal
service to befinit.conf
.finit.conf
first inspect the console
setting and only if/bin/sh
console
TTY or /bin/sh
, finit now marksvfork()
instead of fork()
before exec()" from v1.11. Itdlopen()
resource leak by storing the pointer.Published by troglobit over 9 years ago
The libuEv release.
Note: This release has been yanked from distribution due to a regression in launching background processes and TTY's. Fixed in Finit v1.12.
make install
tty
is defined in finit.conf
, nowPublished by troglobit almost 10 years ago
Major bug fix release, courtesy of Coverity Scan.
run_interactive()
are veryhelpers.c:run()
helpers.c:run_interactive()
helpers.c:set_hostname()
helpers.c:procname_kill()
svc.c:svc_start()
: Fix swapped arguments to dup2() and addsvc.c:svc_start()
: Fix out of bounds write to local stackmknod()
, mkdir()
,remove()
, etc.