summaryrefslogtreecommitdiff
path: root/etc/rc.d
AgeCommit message (Collapse)Author
2019-05-12Stop generating keys for nsd-control(8). These are unused since nsd wasTim van der Molen
switched to using a local control socket by default. OK florian@ sthen@
2019-03-21Start in the daemon configured routing table and not in the one we're currentlyAntoine Jacoutot
in. This fixes the case where one would be in a non default rdomain shell then run an rdomain 0 rc.d daemon. reported by YASUOKA Masahiko and Pierre Emeriaud ok sthen@ claudio@ benno@
2019-02-07No need to run unbound-anchor anymore. Unwind(8) handles the bootstrapFlorian Obser
correctly itself now. At leat considering the end of life times of OpenBSD releases and the speed at which the root key signing key (KSK) rolls. On the other hand, unbound-anchor assumes a certain network quality which we cannot guarantee in places where we want to run unwind(8). This in turn can lead to unbound-anchor stalling the boot process.
2019-01-26rc(8) bits for unwind(8); OK deraadtFlorian Obser
2019-01-21Use ${rcexec} in rc_pre to do the config testing. This allows to specifyClaudio Jeker
macros with spaces in them. With and OK ajacoutot
2019-01-20The shell will strip the quotes from daemon_flags when starting a daemon so makeAntoine Jacoutot
sure pexp matches the process (i.e. doesn't include the quotes). It's a bit hackish but it allows things like these in rc.conf.local: relayd_flags=-D IPS="1.2.3.4 2.3.4.5" And we properly end up with... $ grep ^pexp /var/run/rc.d/relayd pexp=/usr/sbin/relayd -D IPS=1.2.3.4 1.2.3.5 ... which matches what is in the process list: root 14217 <snip> 0:00.01 /usr/sbin/relayd -D IPS=1.2.3.4 1.2.3.5 There's always the possibility that we have introduced a regressions with hand crafted functions in rc.d scripts (mostly from packags), so watch out. reported by and debugged with claudio@
2018-10-29Revert previous (for now).Antoine Jacoutot
semarie found a few regressions with daemon that will fail if cwd is not accessible.
2018-10-16Change the way we call su(1) in rcexec:Antoine Jacoutot
- drop `-'l' to prevent simulating a full login and running /root/.profile (prodded by a mail from J Greely) - use `-m' to preserve the environment because we now set HOME to "/" like /etc/rc does; note that we now also clear the environment using `env -i' before running su(1) which leaves us with only HOME, PATH and SHELL Committing early to catch regressions fast, if any. ok halex@
2018-09-27Add vmctl stop -a [-fw] option to stop or terminate all running VMs.Reyk Floeter
This is also be used to simplify the vmd rc stop script. OK mlarkin@ ccardenas@
2018-07-23Remove rtadvd(8) rc script.Florian Obser
2018-07-12rc(8) infrastructure for radFlorian Obser
2018-07-11Add -w option to vmctl stop to wait for completion of VM termination.Reyk Floeter
Use it in /etc/rc.d/vmd accordingly. OK sthen@
2018-02-20Call "vmctl stop" on each VM at shutdown, for OpenBSD guests this means theyStuart Henderson
are signalled to shutdown cleanly. Wait for each to finish to avoid too much busy work at once; this may need revising if it turns out to be too slow with a larger number of VMs (e.g. signal/delay/signal/delay/... then wait for shutdowns), but let's avoid making it more complex unless we know it's needed. Based on a diff from abieber@, discussed with mlarkin@ aja@ rpe@, ok rpe
2018-01-11CommentsRobert Peichaer
2018-01-11- change [] tests to [[]]Robert Peichaer
- change -a, -o to &&, || inside [[]] - remove unecessary quoting inside [[]] - remove X"" constructs inside [[]] - remove \ (line continuation) in case of &&, || and pipes - replace backticks with $() discussed with and OK aja@ OK tb
2018-01-11Change the shebang line from /bin/sh to /bin/ksh in all base rc.dRobert Peichaer
daemon scripts. discussed with and OK aja@ OK tb
2017-06-05Temporarily disable the second call to rc_check until I figure out whatAntoine Jacoutot
is going on. Should fix another case of false negative reported by sthen (redis).
2017-06-05Fix logic in _rc_wait to properly cope with setproctitle(3) daemons. It was aAntoine Jacoutot
regression from my recent rc.subr changes. reported by deraadt@ and naddy@ : pflogd was marked as failed during boot while it was properly running
2017-06-03Move slaacd to /sbinFlorian Obser
jca points out that all the other interface configuration tools live there (like ifconfig or dhclient). Furthermore it starts so early in the boot process that /usr might not be mounted yet if it's a nfs filesystem. sthen and deraadt agree
2017-05-30Introduce a scary rc.conf(8) knob library_aslr=(YES|NO) to turn off theTheo Buehler
reordering of libraries by rc(8). This way machines with very slow disk I/O have a chance of booting within reasonable time now that libcrypto is also randomized. Discussed with various; input & ok from deraadt ajacoutot
2017-05-29rc.d(8) for slaacdFlorian Obser
OK phessler, deraadt
2017-05-28Move check later to mitigate a possible race.Antoine Jacoutot
2017-05-28Indent and rename var; no functional change.Antoine Jacoutot
2017-05-28When a daemon reaches its timeout when starting, display "timeout" insteadAntoine Jacoutot
of "ok" so the user is warned and has a chance to fix it (most of the time due to bogus flags). Daemons reaching the timeout without being able to start are still marked as "failed" (which should also give a clue to the user that some investigation is needed). prodded by beck@ a while ago discussed with and ok sthen@
2017-05-28Drop useless lines continuation; no functional change.Antoine Jacoutot
2017-05-27Ok turns out we still want to keep the rc_bg variable around but we needAntoine Jacoutot
to know which daemon cannot background themselves (actually we want to know the opposite, but there are much more). However, it's only needed in _rc_wait and rc.subr still does its magic without the need to add `&'.
2017-05-27Add an ALRM timer to cope with 2 annoying issues in rc.d(8):Antoine Jacoutot
- prevent a daemon from hanging the boot (typo in your flagsm e.g. httpd_flags=-d) - make sure we can get the status of a backgrounded daemon instead of always returning success Side effect of this is that we can kill a knob! rip rc_bg :-) Ports will need love, and a second commit is coming for that. The diff is small yet not trivial so I am committing early in the release process in one shot so it can easily be reverted if needed. I started working on this during g2k16 in Cambridge then finished it in Brisbane for a2k17 where robert@, beck@ and sthen@ agreed it was the correct way to go and I should move ahead with it post 6.1. If you see any regression, please talk to me!
2017-03-23Don't check for spamd_black twice in rc_pre and rc_start; just do everythingAntoine Jacoutot
in rc_pre. prodded by and ok jmc@, ok halex@
2017-03-17Enable dhcrelay6(8).Rafael Zalamena
ok deraadt@
2017-02-26Switch to xenodm(1).Matthieu Herrb
Do it now deraadt@
2017-02-17Stop supporting the historical way of starting ypbind(8); that is settingAntoine Jacoutot
'ypbind_flags=""' when domainname is set and /var/yp/binding exists. This can lead to inconsistent behavior at startup since /var may not be mounted yet and /etc/rc's start_daemon() will not start ypbind. A.K.A. make ypbind startup consistent with all other OpenBSD daemons. ok deraadt@
2017-01-24Whitespace.Antoine Jacoutot
2016-10-06Add switchdReyk Floeter
OK deraadt@
2016-09-07Introduce an _rc_check_name() function to check the input script name so thatAntoine Jacoutot
we don't end up with cryptic error messages. Regex help from rpe@ Issue reported by Anthony Coulter in rcctl(8), but better fix the root cause. Also clarify the mage page that rc.d script name must follow ksh(1) variable naming. ok robert@ sthen@
2016-08-31use tab.Antoine Jacoutot
2016-05-03signal name should be first, fixes reload; ok deraadt@Otto Moerbeek
2016-04-28Experiment on matching on the daemon_user is over. It needs more work.Antoine Jacoutot
portmap isn't happy with it as reported by naddy@
2016-04-27Revert the revert and match on the daemon_user again.Antoine Jacoutot
We'll see if something else breaks but it's the right thing to do. discussed with robert@
2016-04-27Override each and every rc.d functions to be able to match on the user.Antoine Jacoutot
2016-04-27Revert matching on the daemon user for now; it breaks sndiod handling whichAntoine Jacoutot
does start as root but does not have a root master process and instead changed its uid. reported by deraadt@
2016-04-26Bump copyright.Antoine Jacoutot
2016-04-26Introduce rtable(4) support to rc.subr(8).Antoine Jacoutot
It works by adding daemon_rtable=$id in /etc/rc.conf.local. rcctl(8) support coming in a few and so are the man pages bits. If you want multiple instances of the same daemon running in different routing tables, just symlink the original rc.d script. e.g. # cd /etc/rc.d && ln -s dhcpd dhcpd42 Then enable your daemons as such in rc.conf.local: dhcpd_flags= dhcpd42_flags= dhcpd42_rtable=42 most work done by Jiri B <jirib@devio.us>; with a few tweaks and simplifications by yours truly ok robert@ ... should make henning happy ;-)
2016-04-26Extend _RC_RUNFILE (/var/run/rc.d/scriptname) content with:Antoine Jacoutot
daemon_class, daemon_flags, daemon_timeout, daemon_user, pexp Add "pexp" as a valid variable to _rc_parse_conf() and sort the list while here. Besides having an easy way to see how a daemon was started exactly, it opens the door to rdomain/rtable support in rc.d(8). We need to have as much information on a daemon as possible if we want to target a specific rtable (using -T) and it also makes it easier to start multiple instances of the same daemon with similar flags as a different user... Of course that only works with rc.d scripts *not* overwritting the default rc_* functions. Man page tweaks coming later. discussed with and ok robert@
2016-03-26Make it possible to get usage as a non-root user.Antoine Jacoutot
ok robert@
2016-03-26Handle the rc_stop=NO => rc_restart=NO case within _rc_not_supported().Antoine Jacoutot
2016-02-07Remove setproctitle() for the parent process. Because rc.d(8) uses processStuart Henderson
titles (including flags) to distinguish between daemons, this makes it possible to manage multiple copies of a daemon using the normal infrastructure by symlinking rc.d scripts to a new name. ok jung@ ajacoutot@, missed in previous commit noticed after re-checking following report in bgpd.
2016-02-07Remove setproctitle() for the parent process. Because rc.d(8) uses processStuart Henderson
titles (including flags) to distinguish between daemons, this makes it possible to manage multiple copies of a daemon using the normal infrastructure by symlinking rc.d scripts to a new name. ok jung@ ajacoutot@, missed in previous commit, problem reported by mxb/alumni/chalmers/se.
2016-02-02Remove setproctitle() for the parent process. Because rc.d(8) uses processStuart Henderson
titles (including flags) to distinguish between daemons, this makes it possible to manage multiple copies of a daemon using the normal infrastructure by symlinking rc.d scripts to a new name. ok jung@ ajacoutot@, smtpd ok gilles@
2015-12-26Remove blank line for consistency with other rc.d scripts; no change inAntoine Jacoutot
behavior.
2015-12-26mountd(8) changes require a pexp.Kenneth R Westerback
ok deraadt@