1
0
Fork 0
mirror of https://github.com/pygos/init.git synced 2024-11-25 12:30:42 +01:00
Commit graph

182 commits

Author SHA1 Message Date
David Oberhollenzer
4311b9a2f1 usyslogd: create abstraction for log stream management
This commit seperates the formating and printing of log messages to files
more cleanly from the message pump that retrieves the log messages.

At a later point, other backends could be added more easiyl (e.g. forward
the log message to some server).

Signed-off-by: David Oberhollenzer <david.oberhollenzer@tele2.at>
2018-08-16 13:31:13 +02:00
David Oberhollenzer
0624f95de6 usyslogd: cleanup log file filename handling
Signed-off-by: David Oberhollenzer <david.oberhollenzer@tele2.at>
2018-08-13 22:06:34 +02:00
David Oberhollenzer
e15208097c Add nftables service
Signed-off-by: David Oberhollenzer <david.oberhollenzer@tele2.at>
2018-07-23 20:20:27 +02:00
David Oberhollenzer
95d8ddd713 Clean up service list short listing format
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>
2018-07-23 09:28:02 +02:00
David Oberhollenzer
c3249ae0c9 Add swclock service for systems without a hardware RTC
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>
2018-07-22 21:38:14 +02:00
David Oberhollenzer
056d3c8e64 Add output truncation flag
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>
2018-07-22 17:57:20 +02:00
David Oberhollenzer
8718c31928 Add service file for hostapd
Signed-off-by: David Oberhollenzer <david.oberhollenzer@tele2.at>
2018-07-20 20:58:34 +02:00
David Oberhollenzer
f9d75896f4 Cleanup service dependencies
Signed-off-by: David Oberhollenzer <david.oberhollenzer@tele2.at>
2018-07-18 21:33:25 +02:00
David Oberhollenzer
4b047ad61e Add a module auto loading service
Signed-off-by: David Oberhollenzer <david.oberhollenzer@tele2.at>
2018-07-18 17:56:09 +02:00
David Oberhollenzer
258848ace2 Add ifdown service
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>
2018-07-17 18:02:46 +02:00
David Oberhollenzer
7097830f8f Release init-0.4 2018-06-17 20:18:32 +02:00
David Oberhollenzer
9878e69ebe usyslogd: store logs in subdirectory based on service identifier
Signed-off-by: David Oberhollenzer <david.oberhollenzer@tele2.at>
2018-06-17 18:20:53 +02:00
David Oberhollenzer
8a8f49a501 usyslogd: do logfile lookup by facility number
Signed-off-by: David Oberhollenzer <david.oberhollenzer@tele2.at>
2018-06-17 16:27:26 +02:00
David Oberhollenzer
f1cc12f55e [usyslogd] split off syslog parsing
- 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>
2018-06-11 19:47:52 +02:00
David Oberhollenzer
d9f883f215 Add utility for producing syslog message from the shell
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>
2018-06-11 19:45:42 +02:00
David Oberhollenzer
f52c7ea9d0 Add minimalistic syslog daemon
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>
2018-06-11 19:45:42 +02:00
David Oberhollenzer
ed23d075ca Make mksock() more generic, move to util library
Signed-off-by: David Oberhollenzer <david.oberhollenzer@tele2.at>
2018-06-09 15:32:29 +02:00
David Oberhollenzer
bf63f78b66 Split configuration parser and utility library
Signed-off-by: David Oberhollenzer <david.oberhollenzer@tele2.at>
2018-06-09 15:32:29 +02:00
David Oberhollenzer
1eb8a4c792 Add service file for dnsmasq
Signed-off-by: David Oberhollenzer <david.oberhollenzer@tele2.at>
2018-06-09 15:32:29 +02:00
David Oberhollenzer
d9e903ce3a Add service file for unbound
Signed-off-by: David Oberhollenzer <david.oberhollenzer@tele2.at>
2018-06-06 11:13:25 +02:00
David Oberhollenzer
d9c73520e3 Add service files for dhcpcd DHCP client
Signed-off-by: David Oberhollenzer <david.oberhollenzer@tele2.at>
2018-05-24 13:20:54 +02:00
David Oberhollenzer
8c24e8c2ad Release init-0.3 2018-05-05 18:25:48 +02:00
David Oberhollenzer
a22a212d3a Add service and helper script for static network configuration
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>
2018-04-28 13:52:01 +02:00
David Oberhollenzer
0ded476534 Add optional script for persistent network interface renaming
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>
2018-04-27 11:28:46 +02:00
David Oberhollenzer
59731dd69b Add helper program for running services
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>
2018-04-22 13:41:18 +02:00
David Oberhollenzer
720220a3c3 Add flags to selectively skip fields in service files
Signed-off-by: David Oberhollenzer <david.oberhollenzer@tele2.at>
2018-04-22 13:41:18 +02:00
David Oberhollenzer
160cd6b6aa Store original file name in service structure
Signed-off-by: David Oberhollenzer <david.oberhollenzer@tele2.at>
2018-04-22 13:41:18 +02:00
David Oberhollenzer
32113521eb Move pygos specific configuration to pygos build repo
Signed-off-by: David Oberhollenzer <david.oberhollenzer@tele2.at>
2018-04-22 13:41:18 +02:00
David Oberhollenzer
9dc2cc5fa4 Add automated release script from mtd-utils
Signed-off-by: David Oberhollenzer <david.oberhollenzer@tele2.at>
2018-04-22 13:41:18 +02:00
David Oberhollenzer
2cb64e48fc Move initd signal setup to platform specific file
Signed-off-by: David Oberhollenzer <david.oberhollenzer@tele2.at>
2018-04-15 13:24:13 +02:00
David Oberhollenzer
6e839a4ad5 Bump version number
Signed-off-by: David Oberhollenzer <david.oberhollenzer@tele2.at>
2018-04-14 23:01:52 +02:00
David Oberhollenzer
4af420f9d7 Add documentation stuff to EXTRA_DIST
Signed-off-by: David Oberhollenzer <david.oberhollenzer@tele2.at>
2018-04-14 23:01:04 +02:00
David Oberhollenzer
2ad281aac2 Mention environment variables
Signed-off-by: David Oberhollenzer <david.oberhollenzer@tele2.at>
2018-04-14 22:47:15 +02:00
David Oberhollenzer
cd946f0b9c Add basic documentation stub
Signed-off-by: David Oberhollenzer <david.oberhollenzer@tele2.at>
2018-04-14 21:39:40 +02:00
David Oberhollenzer
0b3f53cd9f Let autoconf figure out how to set the language standard
Signed-off-by: David Oberhollenzer <david.oberhollenzer@tele2.at>
2018-04-12 13:23:49 +02:00
David Oberhollenzer
a3437967a2 Rely on PATH variable for running init programs
Signed-off-by: David Oberhollenzer <david.oberhollenzer@tele2.at>
2018-04-12 12:51:33 +02:00
David Oberhollenzer
55d4a328c9 Read environment for init from config file
Signed-off-by: David Oberhollenzer <david.oberhollenzer@tele2.at>
2018-04-12 12:05:15 +02:00
David Oberhollenzer
82cd18107f Add more compiler warning flags
Signed-off-by: David Oberhollenzer <david.oberhollenzer@tele2.at>
2018-04-12 10:29:15 +02:00
David Oberhollenzer
6cf0a254cd Build system and directory structure cleanup
Signed-off-by: David Oberhollenzer <david.oberhollenzer@tele2.at>
2018-04-12 10:28:40 +02:00
David Oberhollenzer
e148e873e0 Add configure switch to disable pygos specific config defaults
Signed-off-by: David Oberhollenzer <david.oberhollenzer@tele2.at>
2018-04-12 09:50:07 +02:00
David Oberhollenzer
24043cc4ee Add service command that dumps the command lines of a service file
Signed-off-by: David Oberhollenzer <david.oberhollenzer@tele2.at>
2018-04-12 09:31:55 +02:00
David Oberhollenzer
38ad6f1b2f Allow aggregating command lines in blocks
Signed-off-by: David Oberhollenzer <david.oberhollenzer@tele2.at>
2018-04-11 23:01:35 +02:00
David Oberhollenzer
20e08db1a5 Minor cleanup
Signed-off-by: David Oberhollenzer <david.oberhollenzer@tele2.at>
2018-04-11 20:12:15 +02:00
David Oberhollenzer
6642b2b2bf Don't pre-allocate argument vector for command lines
Signed-off-by: David Oberhollenzer <david.oberhollenzer@tele2.at>
2018-04-11 19:45:26 +02:00
David Oberhollenzer
71d98c150f Don't split dependencies into argument vector, keep list of strings
Signed-off-by: David Oberhollenzer <david.oberhollenzer@tele2.at>
2018-04-11 16:08:25 +02:00
David Oberhollenzer
4ee0ea9754 Split bulk of split_argv out into helper function
Signed-off-by: David Oberhollenzer <david.oberhollenzer@tele2.at>
2018-04-11 15:57:01 +02:00
David Oberhollenzer
dca72a4c77 Do not allow embedding null-bytes into a string
Signed-off-by: David Oberhollenzer <david.oberhollenzer@tele2.at>
2018-04-11 15:05:59 +02:00
David Oberhollenzer
67d000cdc3 Cleanup: redeuce number of allocations in rdsvc
Signed-off-by: David Oberhollenzer <david.oberhollenzer@tele2.at>
2018-04-11 15:05:16 +02:00
David Oberhollenzer
77725291ef Make line buffer static, move error reporting to rdline
- 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>
2018-04-11 14:25:15 +02:00
David Oberhollenzer
a42022c650 Cleanup: remove unnecessary allocations
Signed-off-by: David Oberhollenzer <david.oberhollenzer@tele2.at>
2018-04-08 18:04:01 +02:00