aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2019-03-29Keep original respawn limitDavid Oberhollenzer
We also want this meachanism to still work for manually started service (especially after reloading services). Signed-off-by: David Oberhollenzer <goliath@infraroot.at>
2019-03-29cleanup: init socket wire formatDavid Oberhollenzer
Replace array adhockery with structs and make use of the handy endianness conversion macros. Signed-off-by: David Oberhollenzer <goliath@infraroot.at>
2019-03-29cleanup: init status responseDavid Oberhollenzer
- rename init_status_response_t to init_status_t - merge code for handling it - fix memory leak in status command Signed-off-by: David Oberhollenzer <goliath@infraroot.at>
2019-03-29cleanup: move init specific stuff of init socket to initdDavid Oberhollenzer
Signed-off-by: David Oberhollenzer <goliath@infraroot.at>
2019-03-29Update documentationDavid Oberhollenzer
Signed-off-by: David Oberhollenzer <goliath@infraroot.at>
2019-03-29Add service configuration reloadingDavid Oberhollenzer
This commit add the ability to initd to reload the service configuration while running. The new configuration is merged with the existing one as follows: For each target: - If the existing service list is not NULL, we have not started that target yet. Simply replace it with the new list. - If it is NULL, the services have already been started. - First, remove all entries for services in that target that no loner exist (except from the 'running' list). - Second, add new services that we don't have yet. Treat them as recently diseased and let the user start them manualy. Signed-off-by: David Oberhollenzer <goliath@infraroot.at>
2019-03-28Add start/stop commands to service toolDavid Oberhollenzer
Signed-off-by: David Oberhollenzer <goliath@infraroot.at>
2019-03-28Add start/stop commands to init socketDavid Oberhollenzer
Signed-off-by: David Oberhollenzer <goliath@infraroot.at>
2019-03-28Include service ID in initsock status responseDavid Oberhollenzer
Signed-off-by: David Oberhollenzer <goliath@infraroot.at>
2019-03-28initd: Hand out unique IDs to servicesDavid Oberhollenzer
Signed-off-by: David Oberhollenzer <goliath@infraroot.at>
2019-03-27Add filter argument to status requestDavid Oberhollenzer
Signed-off-by: David Oberhollenzer <goliath@infraroot.at>
2019-03-27Use fixed size integer for init socket requestDavid Oberhollenzer
Signed-off-by: David Oberhollenzer <goliath@infraroot.at>
2019-03-25Fix: actually process SIGUSR1 in initdDavid Oberhollenzer
Signed-off-by: David Oberhollenzer <goliath@infraroot.at>
2019-03-24Add hacky utiliy that waits for the presence of some filesDavid Oberhollenzer
Signed-off-by: David Oberhollenzer <goliath@infraroot.at>
2019-03-21Make service status matching fuzzier (also allow service name match)David Oberhollenzer
Signed-off-by: David Oberhollenzer <goliath@infraroot.at>
2019-03-20Fix warnings from gcc 8.3 + musl buildDavid Oberhollenzer
Signed-off-by: David Oberhollenzer <goliath@infraroot.at>
2019-03-20initd: don't start runsvc for services without exec blockDavid Oberhollenzer
First in rdsvc, tag the services that *do* have exec lines, even if we don't read them. Second, if a service does not have that flag set, don't try to execute it. Signed-off-by: David Oberhollenzer <goliath@infraroot.at>
2019-03-20cleanup runsvc: merge codepaths for execution, remove cleanup codeDavid Oberhollenzer
Simply execute the last entry in the list directly instead of forking and remove the cleanup code. If the list is empty, we return success. If the list only has one entry, we directly execute that. No need to make a distinction between single entry vs list anymore. If the list is an actual list, we run it as before but execute the last one directly. Typically, the last one is something like a daemon preceeded by setup code. The daemon ends up directly underneath init, without a dummy waiting runsvc stuck in the process list. If we always do an exec, there is no point in doing cleanup. All our mapped memory is evicted anyway. Same if we exit appruptly because of an error. Signed-off-by: David Oberhollenzer <goliath@infraroot.at>
2019-03-20Dump more information in service status commandDavid Oberhollenzer
Signed-off-by: David Oberhollenzer <goliath@infraroot.at>
2019-03-19Seperate service loading/error loging from dumpscript commandDavid Oberhollenzer
Signed-off-by: David Oberhollenzer <goliath@infraroot.at>
2019-03-18cleanup: remove broken stat ... open patternDavid Oberhollenzer
confused deputy is confused. Signed-off-by: David Oberhollenzer <goliath@infraroot.at>
2019-03-18Add filtering parameters to status commandDavid Oberhollenzer
Signed-off-by: David Oberhollenzer <goliath@infraroot.at>
2019-03-18Cleanup status reportingDavid Oberhollenzer
- mimic format of initd - skip formatting if not a tty - distinguish exited because failed vs exited because done Signed-off-by: David Oberhollenzer <goliath@infraroot.at>
2019-03-18Add status report command to service command line utilityDavid Oberhollenzer
Signed-off-by: David Oberhollenzer <goliath@infraroot.at>
2019-03-18initd: implement handling of socket requestsDavid Oberhollenzer
Actually process requests and send an answer to status inquiries. Signed-off-by: David Oberhollenzer <goliath@infraroot.at>
2019-03-18Add functions to transmit service status accross initd socketDavid Oberhollenzer
Signed-off-by: David Oberhollenzer <goliath@infraroot.at>
2019-03-18Add init socket to initdDavid Oberhollenzer
Create a socket if boot target is done. Close and reopen socket if SIGUSR1 is received. Signed-off-by: David Oberhollenzer <goliath@infraroot.at>
2019-03-18Add helpers for initd socketDavid Oberhollenzer
Signed-off-by: David Oberhollenzer <goliath@infraroot.at>
2019-03-15initd: store completed services in list instead of deleting themDavid Oberhollenzer
Signed-off-by: David Oberhollenzer <goliath@infraroot.at>
2019-03-14Update e-mail addressDavid Oberhollenzer
Signed-off-by: David Oberhollenzer <goliath@infraroot.at>
2018-11-25Release init-0.9v0.9David Oberhollenzer
Signed-off-by: David Oberhollenzer <david.oberhollenzer@tele2.at>
2018-11-23Remove some no longer needed cruftDavid Oberhollenzer
Signed-off-by: David Oberhollenzer <david.oberhollenzer@tele2.at>
2018-11-23Relicense what is left of the init system under OpenBSD style ISC licenseDavid Oberhollenzer
Signed-off-by: David Oberhollenzer <david.oberhollenzer@tele2.at>
2018-11-23Remove auto-magic release automation scriptDavid Oberhollenzer
Signed-off-by: David Oberhollenzer <david.oberhollenzer@tele2.at>
2018-11-21Remove cron daemon, rewritten and split off into seperate repoDavid Oberhollenzer
Signed-off-by: David Oberhollenzer <david.oberhollenzer@tele2.at>
2018-11-13rdline: always do substitution of '%%'David Oberhollenzer
Signed-off-by: David Oberhollenzer <david.oberhollenzer@tele2.at>
2018-11-05Release init-0.8v0.8David Oberhollenzer
2018-11-05Cleanup header dependenciesDavid Oberhollenzer
Signed-off-by: David Oberhollenzer <david.oberhollenzer@tele2.at>
2018-11-05Split default init scripts into seperate packageDavid Oberhollenzer
Signed-off-by: David Oberhollenzer <david.oberhollenzer@tele2.at>
2018-11-04Move cron library code to crondDavid Oberhollenzer
Nothing else uses it. Signed-off-by: David Oberhollenzer <david.oberhollenzer@tele2.at>
2018-11-04Remove unused telinit codeDavid Oberhollenzer
Signed-off-by: David Oberhollenzer <david.oberhollenzer@tele2.at>
2018-11-04cleanup: let rdline_init open the fileDavid Oberhollenzer
Signed-off-by: David Oberhollenzer <david.oberhollenzer@tele2.at>
2018-11-04Add fopenat utility functionDavid Oberhollenzer
Signed-off-by: David Oberhollenzer <david.oberhollenzer@tele2.at>
2018-11-04Seperate init specific code from utility codeDavid Oberhollenzer
Signed-off-by: David Oberhollenzer <david.oberhollenzer@tele2.at>
2018-11-04cleanup normalize_line state machineDavid Oberhollenzer
Signed-off-by: David Oberhollenzer <david.oberhollenzer@tele2.at>
2018-11-03Remove usyslogd/klogd and syslog utility programDavid Oberhollenzer
This is split out to a seperate package. Signed-off-by: David Oberhollenzer <david.oberhollenzer@tele2.at>
2018-11-03Release init-0.7.1v0.7.1David Oberhollenzer
2018-11-03Only parse arguments if index actually is numericDavid Oberhollenzer
Signed-off-by: David Oberhollenzer <david.oberhollenzer@tele2.at>
2018-10-20Fix parameter substitution escape of '%'David Oberhollenzer
Signed-off-by: David Oberhollenzer <david.oberhollenzer@tele2.at>
2018-10-20Silence nginx serviceDavid Oberhollenzer
Make sure it *only* prints to its log files and doesn't spam all over the TTY if it cannot find the favicon that $BROWSER requested. Signed-off-by: David Oberhollenzer <david.oberhollenzer@tele2.at>