We already print the services in dependency order, for each target
individually. There is no need to print the depencies and the target
for each service.
In addtion, printing name and description in one line shortens the
resulting list.
Signed-off-by: David Oberhollenzer <david.oberhollenzer@tele2.at>
Some systems don't have a hardware real time clock and don't know the time
after bootin. An obvious soulution for this is to use time from an ntp
server. Unfortunately that requires domain name resolution, which resolvers
like unbound won't do for us, if the DNSSEC certificates aren't valid, which
they aren't if we start out with a time around 1970-1-1.
The "software clock" service tries to provide a workaround by restoring a
reasonably valid time from a backup file during boot, which we update when
shuting down. If we wan't a more correct time, we have to update it from
NTP in between.
Signed-off-by: David Oberhollenzer <david.oberhollenzer@tele2.at>
This commit adds a "truncate" flag that can be added to a service
description between the "tty" keyword and the path string.
If the flag is set, the output file is truncated to 0 after opening.
This probably requires some remodeling in the future as the tty keyword
no longer deals with just tty devices.
Signed-off-by: David Oberhollenzer <david.oberhollenzer@tele2.at>
Add a service file and helper script to shut down all network interfaces
during shutdown or reboot.
Signed-off-by: David Oberhollenzer <david.oberhollenzer@tele2.at>
- Add proto.{h,c} for parsing of syslog message
- Also parse time stamp in addition to priority
Signed-off-by: David Oberhollenzer <david.oberhollenzer@tele2.at>
This can can be used by shell scripts to produce syslog messages,
as well as aiding in debugging the usyslogd daemon.
Signed-off-by: David Oberhollenzer <david.oberhollenzer@tele2.at>
For now this daemon simply dumps all syslog messages into seperate log
files and doesn't do much parsing. Since the messages are readable ASCII
anyway, this should not be to much of a problem and sufficient for
debugging.
Signed-off-by: David Oberhollenzer <david.oberhollenzer@tele2.at>
After interface renaming is done, perform the following actions:
- Configure each interface for which we have a configuration file
- Configuration file contains lines that we pass directly to iproute2
- Configure static routing in a similar fashion
- Set the configured interfaces up
Signed-off-by: David Oberhollenzer <david.oberhollenzer@tele2.at>
Add a new service that runs a small helper script that applies a consistent,
deterministic naming pattern to all interfaces, based on their mac address.
A configuration file with wild card pattern matching can be used for
determining names. By default, this is disabled.
Also, this script is Linux specific.
Signed-off-by: David Oberhollenzer <david.oberhollenzer@tele2.at>
We no longer need to keep entire scripts in init program (i.e. saving space)
and reduce the code and complexity of the init program.
The runsvc tool can later be extended to do more complex child setup, such
as configuring namespaces or seccomp without adding complexity or memory
footprint to init.
Signed-off-by: David Oberhollenzer <david.oberhollenzer@tele2.at>
- Expose rdline_t struct and move a lot of extra processing
to rdline code
- Make line buffer statically allocated
- Simplify rdsvc code
Signed-off-by: David Oberhollenzer <david.oberhollenzer@tele2.at>