Commit Graph
100 Commits
Author SHA1 Message Date
Joachim Nilsson a36dafaa6c README: Update initctl usage
Signed-off-by: Joachim Nilsson <troglobit@gmail.com>
2017-10-19 20:16:37 +02:00
Joachim Nilsson c092d22d48 initctl: Default to show services listing, not usage text
Signed-off-by: Joachim Nilsson <troglobit@gmail.com>
2017-10-19 20:01:15 +02:00
Joachim Nilsson e4401f92ad Bump version for v3.0 release
Signed-off-by: Joachim Nilsson <troglobit@gmail.com>
2017-10-19 09:58:05 +02:00
Joachim Nilsson 0197a9427c Update ChangeLog for v3.0 release
Signed-off-by: Joachim Nilsson <troglobit@gmail.com>
2017-10-19 09:58:05 +02:00
Joachim Nilsson 49481053a4 Fix GCC 7 string truncation warning, too small temporary buffer
In GCC 7 the -Wall infers the new -Wformat-truncation which finds
problems with string truncation in functions like snprintf().

This patch suppresses the warning by allowing only a subset of the
parent inetd service description to be copied to the child connection.

Signed-off-by: Joachim Nilsson <troglobit@gmail.com>
2017-10-19 09:58:05 +02:00
Joachim Nilsson 13887f323a Fix GCC 7 string truncation warning, too small temporary buffer
In GCC 7 the -Wall infers the new -Wformat-truncation which finds
problems with string truncation in functions like snprintf().

This patch fixes a possibly problem in path name creation which,
combined with the scandir() function, might cause loss of .conf
files, failure to call run-parts properly, and kill services at
shutdown.

Signed-off-by: Joachim Nilsson <troglobit@gmail.com>
2017-10-19 09:58:05 +02:00
Joachim Nilsson faca84a590 Fix GCC 7 string truncation warning, too small temporary buffer
In GCC 7 the -Wall infers the new -Wformat-truncation which finds
problems with string truncation in functions like snprintf().

This patch fixes a problem in condition parsing for very long
PID filenames which might be truncated in internal buffers
causing a mismatch in Finit condition tracking.

Signed-off-by: Joachim Nilsson <troglobit@gmail.com>
2017-10-19 09:58:05 +02:00
Joachim Nilsson 920df09cd5 Fix GCC 7 warning, convert "Fall through" to "fallthrough" comment
In GCC 7 the -Wextra infers the new -Wimplicit-fallthrough which can be
suppressed by adding a simple comment

    /* fallthrough */

Which we had, but was too verbose (and misspelled) for GCC to notice.

Signed-off-by: Joachim Nilsson <troglobit@gmail.com>
2017-10-19 09:58:05 +02:00
Joachim Nilsson 3e71d43bff Follow-up to 22192ac, missing semicolon
Signed-off-by: Joachim Nilsson <troglobit@gmail.com>
2017-10-18 23:19:41 +02:00
Joachim Nilsson 5c3a07e8e6 tty_exist(): Simplify, no need to call access() and then open()
Found by Coverity Scan, classified as security issue but was just
unnecessary overhead.

Signed-off-by: Joachim Nilsson <troglobit@gmail.com>
2017-10-18 23:06:04 +02:00
Joachim Nilsson 11dd877484 initctl: Fix possible divide by zero, found by Coverity Scan
Signed-off-by: Joachim Nilsson <troglobit@gmail.com>
2017-10-18 23:01:07 +02:00
Joachim Nilsson 921fd1e363 service_start(): Don't fclose() invalid file pointer, found by Coverity Scan
Signed-off-by: Joachim Nilsson <troglobit@gmail.com>
2017-10-18 22:58:31 +02:00
Joachim Nilsson f949017596 logrotate(): Ignore any error from rename(), file may not exist
Signed-off-by: Joachim Nilsson <troglobit@gmail.com>
2017-10-18 22:57:18 +02:00
Joachim Nilsson 03a33fc0ee Check stat() return value, found by Coverity Scan
Signed-off-by: Joachim Nilsson <troglobit@gmail.com>
2017-10-18 22:56:02 +02:00
Joachim Nilsson 22192acce4 initctl: Make sure to NUL terminate info string from Finit
Signed-off-by: Joachim Nilsson <troglobit@gmail.com>
2017-10-18 22:53:23 +02:00
Joachim Nilsson 500d301700 tty_unregister(): Fix possible out-of-bounds access, found by Coverity Scan
Signed-off-by: Joachim Nilsson <troglobit@gmail.com>
2017-10-18 22:45:02 +02:00
Joachim Nilsson e8f26709e2 service_register(): Fix possible memory leak, found by Coverity Scan
Signed-off-by: Joachim Nilsson <troglobit@gmail.com>
2017-10-18 22:41:13 +02:00
Joachim Nilsson 91b3e5eeb4 inetd: Fix possible tcp socket leaks, found by Coverity Scan
Signed-off-by: Joachim Nilsson <troglobit@gmail.com>
2017-10-18 22:37:21 +02:00
Joachim Nilsson 71026adf03 tty_register(): Fix possible memory leak, found by Coverity Scan
Signed-off-by: Joachim Nilsson <troglobit@gmail.com>
2017-10-18 22:32:26 +02:00
Joachim Nilsson 978beb8e7e Don't log if failed to remove non-existing condition
Signed-off-by: Joachim Nilsson <troglobit@gmail.com>
2017-10-18 22:05:00 +02:00
Joachim Nilsson 3ef75ac176 debian: Mention the possibility to change the default init to Finit
Signed-off-by: Joachim Nilsson <troglobit@gmail.com>
2017-10-18 21:49:19 +02:00
Joachim Nilsson 83b613581a void: Clean up README
Signed-off-by: Joachim Nilsson <troglobit@gmail.com>
2017-10-18 21:48:58 +02:00
Joachim Nilsson d4c28f87d1 void: Update installation instruction, recommend manual edit of grub
Signed-off-by: Joachim Nilsson <troglobit@gmail.com>
2017-10-18 19:15:28 +02:00
Joachim Nilsson 5b53f001a2 Revert parts of c2bf7d3, core-services scripts not executable
Signed-off-by: Joachim Nilsson <troglobit@gmail.com>
2017-10-18 11:24:29 +02:00
Joachim Nilsson f1c9581da9 service_start(): Must set GID before dropping user privs, obvs
Signed-off-by: Joachim Nilsson <troglobit@gmail.com>
2017-10-18 11:05:59 +02:00
Joachim Nilsson 5301bcb4f1 void: Drop-privs to correct @username:group
Signed-off-by: Joachim Nilsson <troglobit@gmail.com>
2017-10-18 10:51:39 +02:00
Joachim Nilsson c2bf7d3a50 void: Call runit core startup scripts using run-parts at bootstrap
Signed-off-by: Joachim Nilsson <troglobit@gmail.com>
2017-10-18 10:30:21 +02:00
Joachim Nilsson 685771aef2 void: Simplify uuidd service description
Signed-off-by: Joachim Nilsson <troglobit@gmail.com>
2017-10-18 10:29:53 +02:00
Joachim Nilsson 3ebb697910 Install a proper #!/bin/sh style rc.local on Void Linux
Signed-off-by: Joachim Nilsson <troglobit@gmail.com>
2017-10-18 10:18:11 +02:00
Joachim Nilsson bacaea0e02 bootmisc: Fix misspelled uuidd
Signed-off-by: Joachim Nilsson <troglobit@gmail.com>
2017-10-18 10:14:56 +02:00
Joachim Nilsson 07d6e69c30 bootmisc: Check return value from getgroup()
Signed-off-by: Joachim Nilsson <troglobit@gmail.com>
2017-10-18 10:10:13 +02:00
Joachim Nilsson d2053bd07d bootmisc: Follow-up to f4662d8
Signed-off-by: Joachim Nilsson <troglobit@gmail.com>
2017-10-18 10:09:15 +02:00
Joachim Nilsson 1e8a45cbe2 void: Remove non-working hack to create /run/uuid in <service>.conf
Signed-off-by: Joachim Nilsson <troglobit@gmail.com>
2017-10-18 10:06:12 +02:00
Joachim Nilsson f4662d8c06 boomisc: Create /run/uuid for Void Linux if uuid user exists
Signed-off-by: Joachim Nilsson <troglobit@gmail.com>
2017-10-18 10:05:46 +02:00
Joachim Nilsson 38ba9930d0 helpers.c:getuser() - Make @home an optional argument
Signed-off-by: Joachim Nilsson <troglobit@gmail.com>
2017-10-18 10:03:54 +02:00
Joachim Nilsson 00fe37174d Refactor initial /dev popoulation
Signed-off-by: Joachim Nilsson <troglobit@gmail.com>
2017-10-18 09:57:38 +02:00
Joachim Nilsson 33916a2097 Fix #82: Revert parts of 34a1524 and add workaround from Void Linux
In commit 34a1524 the start of udevd was refactored to allow it to be a
properly monitored service caused systems using eudev to malfunction.

This patch reverts part of that commit and adds a workaround found when
trying to reproduce issue #82 on Void Linux:

   - Start a temporary udevd in the background
   - Call udevadm to trigger bringup of all subsystems and devices
   - Wait for everything to settle
   - Tell temporary udevd to exit (new)

In the world of `mdev` this song and dance act is not required.

Signed-off-by: Joachim Nilsson <troglobit@gmail.com>
2017-10-18 09:43:37 +02:00
Joachim Nilsson dd8dd67106 void: Create /run/uuid directory and start uuidd as @uuid:uuid
Signed-off-by: Joachim Nilsson <troglobit@gmail.com>
2017-10-18 09:14:22 +02:00
Joachim Nilsson eb870efaff Add support for setting effective group ID of services
Finit has long since supported an @user:group syntax to services, tasks,
and run stanzas.  Setting UID was implemented at that time, but setting
GID never was.  This patch fixes that oversight.

Signed-off-by: Joachim Nilsson <troglobit@gmail.com>
2017-10-18 09:11:23 +02:00
Joachim Nilsson 84369ab8b5 void: No syslogd to wait for in Void Linux
Signed-off-by: Joachim Nilsson <troglobit@gmail.com>
2017-10-18 08:54:24 +02:00
Joachim Nilsson 7ef3959a45 Minor, consistency in presentation
Signed-off-by: Joachim Nilsson <troglobit@gmail.com>
2017-10-18 08:14:29 +02:00
Joachim Nilsson 858f793ad2 Initial support for Void Linux
Signed-off-by: Joachim Nilsson <troglobit@gmail.com>
2017-10-17 23:53:24 +02:00
Joachim Nilsson 8749459206 doc/condiitions.md: Update and simplify, hopefully more readable
Signed-off-by: Joachim Nilsson <troglobit@gmail.com>
2017-10-16 17:07:52 +02:00
Joachim Nilsson 1c9f2e9b55 initctl: Fix set/clear condition
Signed-off-by: Joachim Nilsson <troglobit@gmail.com>
2017-10-16 16:49:35 +02:00
Joachim Nilsson 9b8e7a0793 Minor, update documentation on raw condition dumps
Signed-off-by: Joachim Nilsson <troglobit@gmail.com>
2017-10-16 14:54:48 +02:00
Joachim Nilsson 3f150901fe initctl: Align STATUS output from cond show and dump
Signed-off-by: Joachim Nilsson <troglobit@gmail.com>
2017-10-16 11:26:43 +02:00
Joachim Nilsson fd090a6785 initctl: Fix 'cond dump/set/clear' commands, only show worked
This patch fixes an invalid use of strpbrk() causing all cond
sub-commands, except initctl cond show, to fail.

Signed-off-by: Joachim Nilsson <troglobit@gmail.com>
2017-10-16 11:23:57 +02:00
Joachim Nilsson 83445f1ebe initctl: show, use '-' for runlevels service is not member of
This patch adds a '-' for each runlevel a service/task is not part of.
The resulting listings are easier to read and also makes it clearer to
the user what happens when changing runlevels.

Signed-off-by: Joachim Nilsson <troglobit@gmail.com>
2017-10-16 09:43:58 +02:00
Joachim Nilsson e88241316b Prune bootstrap tasks/services that never ran
Signed-off-by: Joachim Nilsson <troglobit@gmail.com>
2017-10-16 09:42:08 +02:00
Joachim Nilsson f91205cbad initctl: list, only print whitespace separator between services
Signed-off-by: Joachim Nilsson <troglobit@gmail.com>
2017-10-16 08:43:29 +02:00
Joachim Nilsson 94aec26e8c initctl: shoow, adjust width of runlevels column, needs 12 chars
Signed-off-by: Joachim Nilsson <troglobit@gmail.com>
2017-10-16 08:42:47 +02:00
Joachim Nilsson 11026d9da3 initctl: Minor, use local screen_cols rather than SCREEN_WIDTH
Signed-off-by: Joachim Nilsson <troglobit@gmail.com>
2017-10-16 08:42:03 +02:00
Joachim Nilsson a6a3299f08 Free cmd from which() after having registered the udevd service
Signed-off-by: Joachim Nilsson <troglobit@gmail.com>
2017-10-15 23:10:42 +02:00
Joachim Nilsson 34a15241ca Convert udevd to a regular system service
This patch, similar to the work done in the d-bus plugin, converts the
udevd service from a non-monitored run_interactive() task that forks
itself into the background, to a proper Finit monitored service.

Signed-off-by: Joachim Nilsson <troglobit@gmail.com>
2017-10-15 23:10:18 +02:00
Joachim Nilsson 7a2667d34c plugins/dbus: Free cmd returned from which() when done
Signed-off-by: Joachim Nilsson <troglobit@gmail.com>
2017-10-15 23:01:10 +02:00
Joachim Nilsson f39cd50762 plugins/dbus: Use cmd found by which() to start dbus-daemon
Signed-off-by: Joachim Nilsson <troglobit@gmail.com>
2017-10-15 22:48:04 +02:00
Joachim Nilsson ddeed15191 plugins/dbus: Start dbus-daemon with absolut path
Signed-off-by: Joachim Nilsson <troglobit@gmail.com>
2017-10-15 22:45:01 +02:00
Joachim Nilsson 2b173e831f service_start(): Redirect service output to /dev/null by default
This patch prevents output of stderr/stdout from services to leak to the
console.  Use the 'log' keyword to service/run/task stanza to redirect
output to syslog.

Signed-off-by: Joachim Nilsson <troglobit@gmail.com>
2017-10-15 21:39:58 +02:00
Joachim Nilsson b02f241e5e plugin/dbus.c: Minor, documentation
Signed-off-by: Joachim Nilsson <troglobit@gmail.com>
2017-10-15 21:18:21 +02:00
Joachim Nilsson 1a45045a0f service_register(): Do not modify input string, may be read-only
Signed-off-by: Joachim Nilsson <troglobit@gmail.com>
2017-10-15 21:17:00 +02:00
Joachim Nilsson e131b20a6c service_register(): Make sure to initialize username to NULL
Follow-up to 7d9f873, which converted this from a function argument to a
local variable.

Signed-off-by: Joachim Nilsson <troglobit@gmail.com>
2017-10-15 20:47:18 +02:00
Joachim Nilsson 888ce56f3e plugin/dbus.c: Register dbus-daemon as a service
This patch changes how the D-Bus plugin starts dbus-daemon, from being
started in the background to letting Finit start and monitor it.

Signed-off-by: Joachim Nilsson <troglobit@gmail.com>
2017-10-15 20:46:22 +02:00
Joachim Nilsson 7d9f873b7c Follow-up to a2f4b35, remove username arg from service_register()
Signed-off-by: Joachim Nilsson <troglobit@gmail.com>
2017-10-15 20:32:11 +02:00
Joachim Nilsson cf60cdd9c9 Fix termios regression on PPC introduced in 907595d
For some reason PPC is much more sensitive than ARM when it comes to
termios changes.  This patch fixes a regression in Ctrl-C handling
after login introduced in 907595d when blocking of Ctrl-C was added
to prevent breaking the login-prompt.

Signed-off-by: Joachim Nilsson <troglobit@gmail.com>
2017-10-15 20:12:37 +02:00
Joachim Nilsson bb27dde3ca Nope, keep original logo to home page instead, this is Finit3
Signed-off-by: Joachim Nilsson <troglobit@gmail.com>
2017-10-15 13:34:39 +02:00
Joachim Nilsson 6d02c6a71c New logo on top maybe?
Signed-off-by: Joachim Nilsson <troglobit@gmail.com>
2017-10-15 13:33:17 +02:00
Joachim Nilsson f0c5c2d7f2 Play around a bit with altering logo
Signed-off-by: Joachim Nilsson <troglobit@gmail.com>
2017-10-15 13:32:23 +02:00
Joachim Nilsson 29357acf18 Update bootstrap.md to match Finit3 changes
Signed-off-by: Joachim Nilsson <troglobit@gmail.com>
2017-10-15 13:09:26 +02:00
Joachim Nilsson a32d3b0c87 Update ChangeLog upcoming v3.0 release
Signed-off-by: Joachim Nilsson <troglobit@gmail.com>
2017-10-15 12:41:55 +02:00
Joachim Nilsson 510b53e62d Add simple ToC
Signed-off-by: Joachim Nilsson <troglobit@gmail.com>
2017-10-14 16:35:51 +02:00
Joachim Nilsson 23481b197b build.md: Simplify and sectionalize better
Signed-off-by: Joachim Nilsson <troglobit@gmail.com>
2017-10-14 16:34:09 +02:00
Joachim Nilsson 4782b1dc54 conditions.md: Remove ToC heading and rewrite introduction
Signed-off-by: Joachim Nilsson <troglobit@gmail.com>
2017-10-14 16:30:31 +02:00
Joachim Nilsson 1ee1b9cec4 signals.md: Clarify and update slightly
Signed-off-by: Joachim Nilsson <troglobit@gmail.com>
2017-10-14 16:22:45 +02:00
Joachim Nilsson cef2ef82b6 Add mini ToC for overview
Signed-off-by: Joachim Nilsson <troglobit@gmail.com>
2017-10-14 16:20:46 +02:00
Joachim Nilsson cafa759edb distro.md: Clarify vague leading paragraph
Signed-off-by: Joachim Nilsson <troglobit@gmail.com>
2017-10-14 16:18:15 +02:00
Joachim Nilsson cf0554405b bootstrap.md: Start updating, needs more work ...
Signed-off-by: Joachim Nilsson <troglobit@gmail.com>
2017-10-14 16:17:42 +02:00
Joachim Nilsson f6071d6701 contrib: Rename tty.conf to getty.conf to reduce confusion
Signed-off-by: Joachim Nilsson <troglobit@gmail.com>
2017-10-14 16:09:35 +02:00
Joachim Nilsson 7104296396 Remove ToC heading and audit grammar + wording in Limitations section
Signed-off-by: Joachim Nilsson <troglobit@gmail.com>
2017-10-14 16:04:56 +02:00
Joachim Nilsson 38a274114d Allow registering TTYs that are not yet available
This patch removes the following very annoying warning for TTY devices
not yet available, i.e. plugged-in to the system.

Loading configuration ............................................................................. [ OK ]
[   11.097414] finit[1]:tty_register():Incomplete or non-existing TTY device given, cannot register.
[   11.101457] finit[1]:tty_register():Incomplete or non-existing TTY device given, cannot register.
Mounting filesystems .............................................................................. [ OK ]

Finit will not start a getty (built-in or external) if the TTY does not
exist, but having the configuration enabled makes it possible to do a
simple `initctl reload` to activate a plugged in TTY.

Signed-off-by: Joachim Nilsson <troglobit@gmail.com>
2017-10-14 13:14:48 +02:00
Joachim Nilsson 97eca563b6 Reduce indent and remove non-matching keyword conf
Signed-off-by: Joachim Nilsson <troglobit@gmail.com>
2017-10-13 08:34:32 +02:00
Joachim Nilsson 0174347039 Use Apache .conf highlighting for finit.conf sample
Signed-off-by: Joachim Nilsson <troglobit@gmail.com>
2017-10-13 08:32:43 +02:00
Joachim Nilsson 02cc426f05 Update Alpine screenshot, removed failing/missing D-Bus service
Signed-off-by: Joachim Nilsson <troglobit@gmail.com>
2017-10-13 08:17:37 +02:00
Joachim Nilsson 06d9d95723 Minor updates, linking to scripts, grammar
Signed-off-by: Joachim Nilsson <troglobit@gmail.com>
2017-10-13 08:11:59 +02:00
Joachim Nilsson b8a7f3e0cc Link to Alpine Linux home page
Signed-off-by: Joachim Nilsson <troglobit@gmail.com>
2017-10-13 08:08:18 +02:00
Joachim Nilsson 7db0e265ad Link to Alpine Linux home page
Signed-off-by: Joachim Nilsson <troglobit@gmail.com>
2017-10-13 08:07:06 +02:00
Joachim Nilsson 6818813ff8 plugins/dbus: Conditionalize, don't run if dbus-daemon is missing
Signed-off-by: Joachim Nilsson <troglobit@gmail.com>
2017-10-13 08:02:59 +02:00
Joachim Nilsson 5b8f7ce2a3 Update screenshot, TroglOS Linux --> Alpine Linux
Signed-off-by: Joachim Nilsson <troglobit@gmail.com>
2017-10-13 07:59:33 +02:00
Joachim Nilsson 1f9a6a42c1 Push badges even further down
Signed-off-by: Joachim Nilsson <troglobit@gmail.com>
2017-10-13 07:37:22 +02:00
Joachim Nilsson 1c2d987bea Place logo first, then badges
Signed-off-by: Joachim Nilsson <troglobit@gmail.com>
2017-10-13 07:36:06 +02:00
Joachim Nilsson 906827cc88 Move documentation to doc/ sub-directory, all except README
Signed-off-by: Joachim Nilsson <troglobit@gmail.com>
2017-10-13 07:35:09 +02:00
Joachim Nilsson b2d98dc010 Update path to sample finit.conf
Signed-off-by: Joachim Nilsson <troglobit@gmail.com>
2017-10-12 23:10:47 +02:00
Joachim Nilsson d027b4ff9c Relocate old sample finit.conf to contrib/
Signed-off-by: Joachim Nilsson <troglobit@gmail.com>
2017-10-12 23:09:32 +02:00
Joachim Nilsson 843621aded Move documentation to doc/ sub-directory, all except README + TODO
Signed-off-by: Joachim Nilsson <troglobit@gmail.com>
2017-10-12 23:07:21 +02:00
Joachim Nilsson da5ac16670 Minor
Signed-off-by: Joachim Nilsson <troglobit@gmail.com>
2017-10-12 23:05:27 +02:00
Joachim Nilsson 2c68183045 Clarify actions of Alpine Linux install script
Signed-off-by: Joachim Nilsson <troglobit@gmail.com>
2017-10-12 22:51:15 +02:00
Joachim Nilsson c40cd06d60 Update Alpine README, we now have an install script
Signed-off-by: Joachim Nilsson <troglobit@gmail.com>
2017-10-12 22:44:56 +02:00
Joachim Nilsson c901b65581 Simplify
Signed-off-by: Joachim Nilsson <troglobit@gmail.com>
2017-10-12 22:44:00 +02:00
Joachim Nilsson 27abcb5682 Add option to install Finit as system default init
Signed-off-by: Joachim Nilsson <troglobit@gmail.com>
2017-10-12 22:41:20 +02:00
Joachim Nilsson b7617248ce Simple install script for Alpine Linux
Signed-off-by: Joachim Nilsson <troglobit@gmail.com>
2017-10-12 22:35:17 +02:00
Joachim Nilsson c400d35f83 Also include /usr/lib/pkgconfig in PKG_CONFIG_LIBDIR
Signed-off-by: Joachim Nilsson <troglobit@gmail.com>
2017-10-12 22:26:37 +02:00