aboutsummaryrefslogtreecommitdiff
path: root/libexec/rc
Commit message (Collapse)AuthorAgeFilesLines
* Revert "wpa: Import wpa_supplicant/hostapd commit 14ab4a816"Cy Schubert2021-12-021-0/+1
| | | | | | | | This reverts commit 266f97b5e9a7958e365e78288616a459b40d924a, reversing changes made to a10253cffea84c0c980a36ba6776b00ed96c3e3b. A mismerge of a merge to catch up to main resulted in files being committed which should not have been.
* wpa: Import wpa_supplicant/hostapd commit 14ab4a816Cy Schubert2021-12-021-1/+0
| | | | | | This is the November update to vendor/wpa committed upstream 2021-11-26. MFC after: 1 month
* rc: Hook zfskeys to the buildMateusz Piotrowski2021-12-021-0/+1
| | | | | | | | Reviewed by: allanjude Approved by: allanjude (src) MFC after: 3 days Sponsored by: Modirum MDPay Differential Revision: https://reviews.freebsd.org/D33230
* etc/defaults/rc.conf: Add -i flag to rtsol/rtsoldColin Percival2021-11-261-2/+2
| | | | | | | | | | | | | | | | | This disables the random (between zero and one seconds) delay before rtsol and rtsold send a a Router Solicitation packet. This delay is specified as a SHOULD by RFC 4861 for avoidance of network congestion, but network speeds have increased enough in the 25 years since this first appeared (in RFC 1970) that it seems unnecessary as a default at this point. This speeds up the FreeBSD boot process by an average of 500 ms. Reviewed by: kp MFC after: 1 week Relnotes: yes Sponsored by: https://www.patreon.com/cperciva Differential Revision: https://reviews.freebsd.org/D33089
* os-release: Quote variables as documented in the manualMateusz Piotrowski2021-11-241-5/+5
| | | | | | | | | | | | | Variables must be quoted if they contain non-alphanumeric characters. Warner noted in the review that the lack of quoting causing problems here is rather an edge case. I believe that it's worth adding the quotes here anyway because this is what the specification says and there is no good reason not to follow it. Reviewed by: imp Approved by: imp (src) MFC after: 7 days
* devmatch: Allow devmatch_blocklist to be set in kenv tooWarner Losh2021-11-211-1/+1
| | | | | | | | | Add in all the variables set in the kenv variable devmatch_blocklist too. This allows blocking autoloading from the boot loader. Sponsored by: Netflix Reviewed by: 0mp Differential Revision: https://reviews.freebsd.org/D32171
* rc.d/rctl: unbreak for distinct /usr filesystemEugene Grosbein2021-11-201-0/+1
| | | | | | | | Both rctl and used xargs utility live in /usr/bin so add REQUIRE: FILESYSTEMS Reported by: Peter <pmc@citylink.dinoex.sub.org> MFC after: 3 days
* nfsd: Add a new rc variable nfs_server_maxioRick Macklem2021-11-172-0/+7
| | | | | | | | | | | | | | | | Since vfs.nfsd.srvmaxio can only be set when nfsd.ko is loaded, but nfsd is not running, setting it in /etc/sysctl.conf is not feasible when "options NFSD" was not specified for the kernel. This patch adds a new rc variable nfs_server_maxio, which sets vfs.nfsd.srvmaxio at the correct time. rc.conf.5 will be patched separately. Reviewed by: 0mp MFC after: 2 weeks Differential Revision: https://reviews.freebsd.org/D32997
* rc.d/linux: Attempt to mount only if necessaryMateusz Piotrowski2021-11-131-6/+17
| | | | | | | | | | | | | | | | | | | | | Currently, if the linux service is run twice, mount(8) fails with: mount: linprocfs: Device busy mount: linsysfs: Device busy mount: devfs: Device busy mount: fdescfs: Device busy mount: tmpfs: Device busy It is a bit more user-friendly if before running mount(8) the service checks if there are any file systems left to be mounted. This patch implements this behavior. Also, while here, create mount points directories (as suggested by otis). Reviewed by: trasz Approved by: trasz (src) Differential Revision: https://reviews.freebsd.org/D32463
* Retire synchronous PPP kernel driver sppp(4).Gleb Smirnoff2021-10-225-46/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The last two drivers that required sppp are cp(4) and ce(4). These devices are still produced and can be purchased at Cronyx <http://cronyx.ru/hardware/wan.html>. Since Roman Kurakin <rik@FreeBSD.org> has quit them, they no longer support FreeBSD officially. Later they have dropped support for Linux drivers to. As of mid-2020 they don't even have a developer to maintain their Windows driver. However, their support verbally told me that they could provide aid to a FreeBSD developer with documentaion in case if there appears a new customer for their devices. These drivers have a feature to not use sppp(4) and create an interface, but instead expose the device as netgraph(4) node. Then, you can attach ng_ppp(4) with help of ports/net/mpd5 on top of the node and get your synchronous PPP. Alternatively you can attach ng_frame_relay(4) or ng_cisco(4) for HDLC. Actually, last time I used cp(4) back in 2004, using netgraph(4) instead of sppp(4) was already the right way to do. Thus, remove the sppp(4) related part of the drivers and enable by default the negraph(4) part. Further maintenance of these drivers in the tree shouldn't be a big deal. While doing that, remove some cruft and enable cp(4) compilation on amd64. The ce(4) for some unknown reason marks its internal DDK functions with __attribute__ fastcall, which most likely is safe to remove, but without hardware I'm not going to do that, so ce(4) remains i386-only. Reviewed by: emaste, imp, donner Differential Revision: https://reviews.freebsd.org/D32590 See also: https://reviews.freebsd.org/D23928
* Remove obsolete amd(8) rc.conf configurationTom Hukins2021-10-051-4/+0
| | | | | | | | | The script that used these was removed in 13f7dbe822d5f along with amd itself. Fixes: 13f7dbe822d5 ("retire amd(8)") MFC after: 1 week Pull Request: https://github.com/freebsd/freebsd-src/pull/548
* bluetooth: Remove stray btccc referencesWarner Losh2021-09-301-4/+0
| | | | | | | | The 3com bluetooth PC Card adapter was removed from the tree when PC Card support was removed earlier this year. Remove stray references to it still in the tree. Sponsored by: Netflix
* bluetooth: remove hcserialdWarner Losh2021-09-301-29/+0
| | | | | | Without ng_h4 gone, there's no need for hcseriald. Sponsored by: Netflix
* Fix gssd rc.d installationEmmanuel Vadot2021-09-271-1/+1
| | | | | | | CONFGROUPS needs to be in CAPS Fixes: a30235a4c360 ("pkgbase: Create a FreeBSD-kerberos package") Reported by: kp
* rc.d/mixer: Use -o flag instead of -s flag to get current mixer state.Hans Petter Selasky2021-09-221-1/+1
| | | | | | Submitted by: christos@ Differential Revision: https://reviews.freebsd.org/D31636 Sponsored by: NVIDIA Networking
* The linux rc.d script mounts several filesystems related to Linux ABIXin LI2021-09-201-1/+1
| | | | | | | | | | | compatibility layer. When /compat is located on a ZFS other than /, mount would fail because they were not mounted. Solve this by moving `linux` to depend on `zfs` which mounts all ZFS filesystems. Differential Revision: https://reviews.freebsd.org/D31848 MFC after: 2 weeks
* Add support for jail.conf.dAntranig Vartanian2021-09-101-0/+4
| | | | | | | | | | | | | | Using /etc/jail.{jailname}.conf is nice, however it makes /etc/ very messy if you have many jails. This patch allows one to move these config files out of the way into /etc/jail.conf.d/{jailname}.conf. Note that the same caveat as /etc/jail.*.conf applies: the jail service will not autodiscover all of these for starting 'all' jails. This is considered future work, since the behavior matches. Reviewed by: kevans MFC after: 1 month Differential Revision: https://reviews.freebsd.org/D24570
* wpa: Address CTRL-EVENT-SCAN-FAILEDCy Schubert2021-09-091-0/+2
| | | | | | | | | | 5fcdc19a8111 didn't fully resolve the issue. There remains a report that an ifconfig wlan0 up by itself is insufficient. Ifconfig down must precede it. Reported by: Filipe da Silva Santos <contact _ shiori_com_br> Fixes: 5fcdc19a8111 MFC after: 3 days
* wpa: Address CTRL-EVENT-SCAN-FAILEDCy Schubert2021-09-071-0/+5
| | | | | | | | | | | | | | | | | | | Some installations may experience CTRL-EVENT-SCAN-FAILED when associating to an AP. Installations that specify ifconfig_wlan0="WPA ... up" in rc.conf do not experience the problem whereas those which specify ifconfig_wlan0="WPA" without the "up" will experience CTRL-EVENT-SCAN_FAILED. However those that specify "up" in ifconfig_wlan0 will be able to reproduce this problem by service netif stop wlan0; service netif start wlan0. Interestingly The service netif stop/start problem is reproducible on the older wpa 2.9 as well. Reported by: dhw Reported by: "Oleg V. Nauman" <oleg _ theweb_org_ua> Reported by: Filipe da Silva Santos <contact _ shiori_com_br> Reported by: Jakob Alvermark <jakob _ alvermark_net> MFC after: 3 days
* pkgbase: Create a FreeBSD-kerberos packageEmmanuel Vadot2021-09-071-1/+6
| | | | | | | This allows users to install or not kerberos related utilities and libs. Differential Revision: https://reviews.freebsd.org/D31801
* Allow rc.d script to provide "status" method, even if it does notMaxim Sobolev2021-08-201-0/+5
| | | | | | | | | | | | | | | | | define procname or have a PID file. This might be useful for cases, such as mounting local FS, when there is no running daemon still some other persistent state in the system which status can be checked. It is still possible to have a status method before this by having extra_commands="status", but it's not obvious and might give an script writer some extra legwork to figure out how and why the straight method is not working. Reviewed by: cy MFC after: 1 week Relnotes: yes Differential Revision: https://reviews.freebsd.org/D31614
* - Fix the growfs rc script to cope with diskid labels.Scott Long2021-08-171-3/+27
| | | | | | | | | | | - Fix a warning in growfs. gpart commit is supposed to be called on disk device. - Silence a gpart commit warning in growfs. Submitted by: loos Reviewed by: imp Differential Revision: https://reviews.freebsd.org/D31587 Sponsored by: Rubicon Communications, LLC ("Netgate")
* Enable rc.d/jail within jailsDan Langille2021-08-171-1/+1
| | | | | | Jails with jails is a supported. This change allows the script to run upon startup with a jail. Without this, jails are not automatically started within jails.
* Add zfskeys rc.d script for auto-loading encryption keysEirik Øverby2021-07-281-0/+119
| | | | | | | | | | | | | | | | | | ZFS in 13 supports encryption, but for the use case where keys are available in plaintext on disk there is no mechanism for automatically loading keys on startup. This script will, by default, look for any dataset with encryption and keylocation prefixed with file://. It will attempt to unlock, timing out after 10 seconds for each dataset found. User can optionally specify explicitly which datasets to attempt to unlock. Also supports (optionally by force) unmounting filesystems and unloading associated keys. Sponsored by: Modirum Differential Revision: https://reviews.freebsd.org/D30015
* devmatch: don't announce autoloading so muchWarner Losh2021-07-081-2/+2
| | | | | | | | | | | | | | devmatch rc script would announce it was loading a module multiple times. It used kldload -n so it really wasn't loading it that many times, but the message is confusing. Use kldstat to see if we need to load the module before saying we do. This fixes the vast majority of the problems. It may be possible to race devmatch with a user invocation and devd, though quite hard. In that case we'll announce things twice, but still only load it once. No attempt is made to fix this. PR: 232782 MFC After: 2 weeks Sponsored by: Netflix
* devmatch: Be tolerant of .ko being present.Warner Losh2021-07-081-10/+15
| | | | | | | | | | | We document that we did not need .ko on the module names in devmatch_blocklist, but we really needed them. Keep the documentation the same, but strip the .ko when we need to use the names so you can specify either. PR: 256240 MFC After: 2 weeks Sponsored by: Netflix
* pf: fallback if $pf_rules fails to loadThomas Steen Rasmussen2021-07-082-1/+23
| | | | | | | | | | | | | | | | | | | | | | | | | | | Support loading a default pf ruleset in case of invalid pf.conf. If no pf rules are loaded pf will pass/allow all traffic, assuming the kernel is compiled without PF_DEFAULT_TO_DROP, as is the case in GENERIC. In other words: if there's a typo in the main pf_rules we would allow all traffic. The new default rules minimise the impact of this. If $pf_program (i.e. pfctl) fails to set $pf_fules and $pf_fallback_rules_enable is YES we will load $pf_fallback_rules_file if set, or $pf_fallback_rules. $pf_fallback_rules can include multiple rules, for example to permit traffic on a management interface. $pf_fallback_rules_enable defaults to "NO", preserving historic behaviour. man page changes by ceri@. PR: 256410 Reviewed by: donner, kp Sponsored by: semaphor.dk Differential Revision: https://reviews.freebsd.org/D30791
* devmatch: defer until after kldHelge Oldach2021-07-071-1/+1
| | | | | | | | | | | | devmatch loads a number of things automatically. Allow the list of things to load to happen first in case those drivers affect what would be loaded. Normally, this will produce the same results, but there's some special cases that may not when drivers are loaded that report other drivers missing, like virtio_pci. PR: 253287 Reviewed by: imp MFC After: 2 weeks
* rc.subr: use _pidcmd to determine pid for protectMariusz Zaborski2021-06-241-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is a more reliable method that accounts for existing pidfiles, procname and interpreter settings. Current method of obtaining the pid for oomprotect="YES"|"ALL" processes in certain cases fails to find a unique pid. One such case are rc.d scripts defining command as: command="daemon" which results in all processes started via daemon being selected and passed to protect(1) which fails and prints usage: $ /etc/rc.d/exampled restart Stopping exampled. Starting exampled. usage: protect [-i] command protect [-cdi] -g pgrp | -p pid Running the same with -x reveals what happens: + pid='3051 4268 4390 4421 4427 4470 4588 4733 4740 4870 4949 4954 4979 5835 5866 55487 55583 56525 57643 57789 57882 58072 58167 99419' + /usr/bin/protect -p 3051 4268 4390 4421 4427 4470 4588 4733 4740 4870 4949 4954 4979 5835 5866 55487 55583 56525 57643 57789 57882 58072 58167 99419 usage: protect [-i] command protect [-cdi] -g pgrp | -p pid We have a more reliable way of obtaining pid already defined in rc.subr and available when protect(1) needs it. We can simply `eval $_pidcmd` which also invokes `check_process` but properly accounts for existing pidfile, procname and interpreter settings. With the change the pidfile is properly obtained. Submitted by: Adam Wolk <a.wolk at fudosecurity.com> Sponsored by: Fudo Security Differential Revision: https://reviews.freebsd.org/D30367
* devmatch: improve naming of devmatch config variableCeri Davies2021-06-182-3/+3
| | | | | | | | Accept the old rc.conf variable if the new one is not present for compatability. Approved by: imp Differential Revision: https://reviews.freebsd.org/D30806
* rc.d: liberate powerd from ACPI dependencyAndriy Gapon2021-06-091-4/+1
| | | | | | | | For instance, many non-ACPI ARM systems have CPU power / frequency levels. Discussed with: manu MFC after: 1 week
* rc.d/random: add support for zero harvest_maskEugene Grosbein2021-05-261-1/+1
| | | | | | | | | | | | | | | | | Replace the check for zero harvest_mask with new check for empty string. This allows one to specify harvest_mask="0" that disables harversting entropy from all but "pure" sources. Exact bit values for "pure" sources differ for stable/12 and later branches, so it is handy to use zero. The check for zero pre-dates introduction of "pure" non-maskable sources Use empty string to disable altering sysctl kern.random.harvest.mask. Note that notion of "pure" random sources is not documented in user level manual pages yet. Still, it helps to extend battery life for hardware with embedded "Intel Secure Key RNG" by disabling all other sources. Note that no defaults changed and default behaviour is not affected. Reported by: Dmitry Luhtionov
* rc.d: connect sysctl_lastloadEugene Grosbein2021-05-201-0/+1
| | | | Add recently added sysctl_lastload.
* rc.d: unbreak sysctl lastloadEugene Grosbein2021-05-192-5/+19
| | | | | | | | | | | | /etc/rc.d/securelevel is supposed to run /etc/rc.d/sysctl lastload late at boot time to apply /etc/sysctl.conf settings that fail to apply early. However, this does not work in default configuration because of kern_securelevel_enable="NO" by default. Add new script /etc/rc.d/sysctl lastload that starts unconditionally. Reported by: Marek Zarychta MFC after: 1 month
* ipfw: reload sysctl.conf variables if neededEugene Grosbein2021-05-171-1/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | Currently ipfw has multiple components that are not parts of GENERIC kernel like dummynet etc. They can bring in important sysctls if enabled with rc.conf(5) and loaded with ipfw startup script by means of "required_modules" after initial consult with /etc/sysctl.conf at boot time. Here is an example of one increasing limit for dummynet hold queues that defaults to 100: net.inet.ip.dummynet.pipe_slot_limit=1000 This makes it possible to use ipfw/dummynet rules such as: ipfw pipe 1 config bw 50Mbit/s queue 1000 Such rule is rejected unless above sysctl is applied. Another example is a group of net.inet.ip.alias.* sysctls created after libalias.ko loaded as dependency of ipfw_nat. This is not a problem if corresponding code compiled in custom kernel so sysctls exist when sysctl.conf is read early or kernel modules loaded with a loader. This change makes it work also for GENERIC and modules loaded by means of rc.conf(5) settings. MFC after: 1 month
* Remove references to timed(8)Ceri Davies2021-05-131-2/+0
| | | | | | | | | | | There are still references to timed(8) and timedc(8) in the base system, which were removed in 2018. PR: 255425 Reported by: Ceri Davies <ceri at submonkey dot net> Reviewed by: ygy, gbe MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D30232
* Add support for adding default routes for other FIBsAndrew Fengler2021-05-122-2/+38
| | | | | | | | | | | Make rc.d/routing read defaultrouter_fibN and ipv6_defaultrouter_fibN, and set it as the default gateway for FIB N, where N is from 1 to (net.fibs - 1) This allows adding gateways for multiple FIBs in the same format as the main gateway. (FIB 0) Reviewed by: olivier, rgrimes, bcr (man page) Sponsored by: ScaleEngine Inc. Differential Revision: https://reviews.freebsd.org/D22706
* provide easy way to disable kld_list loadingWarner Losh2021-05-051-0/+1
| | | | | | | set kld_disbale=y or any value in the boot loader and that will disable loading of the kld_list. Differential Revision: https://reviews.freebsd.org/D26939
* service/ipfw: Silence warning on restartLutz Donnerhacke2021-05-031-2/+8
| | | | | | | | | | | | Once the ipfw0 interface has been created, ifconfig(8) create will throw a warning: ifconfig: create: bad value' when trying to create it again. PR: 241013 Submitted by: Jose Luis Duran Approved by: kp MFC after: 2 weeks Differential Revision: https://reviews.freebsd.org/D30083
* rc: remove the 'addswap' script.Edward Tomasz Napierala2021-04-262-25/+0
| | | | | | | It's been unused since 268a55bc98b. Sponsored By: EPSRC Differential Revision: https://reviews.freebsd.org/D29749
* rc: improve dependencies for growfsEdward Tomasz Napierala2021-04-251-5/+7
| | | | | | | | | | Previously it depended on sysctl, which itself has no dependencies, so rcorder(8) had a bit too much flexibility when choosing when to run it. Make sure it runs just between 'fsck' and 'root'. Reviewed By: jmg, imp Sponsored By: EPSRC Differential Revision: https://reviews.freebsd.org/D29748
* rc: make the 'linux' script explicitly load filesystem modulesEdward Tomasz Napierala2021-04-211-0/+6
| | | | | | | | | | | | This removes a minor annoyance with Linux jails, where you often want linux_mounts_enable="NO", yet you want those filesystems available for mounting in jails; normally mount(8) would result in kernel automatically loading the KLD, but this doesn't work inside jails or chroots. PR: 242955 Sponsored By: EPSRC Differential Revision: https://reviews.freebsd.org/D29725
* rc: replace NETWORK with NETWORKINGEdward Tomasz Napierala2021-04-124-4/+4
| | | | | | | This improves consistency; the NETWORKING script provides both, so there should be no functional change. Differential Revision: https://reviews.freebsd.org/D29587
* rc: remove the 'archdep' scriptEdward Tomasz Napierala2021-04-124-29/+2
| | | | | | | | | | | | | | | | | It was unused since 405c3050f10, which removed iBCS support. This also moves the 'linux' rc script slightly earlier, which might help in some setups. The original version of this patch moved it even more, before 'mountcritlocal', which would fixe mount(8) errors due to missing /dev/shm in setups with entries for /path/to/chroot/dev/shm without the "late" flag; however, in the end 'kldxref' turned out to depend on 'mountcritlocal' anyway. Reported By: pstef Reviewed By: dchagin Sponsored By: EPSRC Differential Revision: https://reviews.freebsd.org/D29590
* rc: kldxref needs mountcritlocal, not rootEdward Tomasz Napierala2021-04-111-1/+1
| | | | | | | | As pointed out by tijl@, kldxref(8) is in /usr/sbin, thus requires /usr to be mounted. Fixes: 44f3b1aa980 Sponsored By: EPSRC
* rc: kldxref only needs to depend on rootfs, not FILESYSTEMSEdward Tomasz Napierala2021-04-101-1/+1
| | | | | | | | | This makes it run a bit earlier in the startup, which will be useful for the linux rc script later on. Reviewed By: imp (earlier version) Sponsored By: EPSRC Differential Revision: https://reviews.freebsd.org/D29589
* wait for device mounts in zpool and dumponChuck Tuffli2021-04-052-1/+10
| | | | | | | | | | | | | | | | | | | | If the root file system is composed from multiple devices, wait for devices to be ready before running zpool and dumpon rc scripts. An example of this is if the bulk of the root file system exists on a fast device (e.g. NVMe) but the /var directory comes from a ZFS dataset on a slower device (e.g. SATA). In this case, it is possible that the zpool import may run before the slower device has finished being probed, leaving the system in an intermediate state. Fix is to add root_hold_wait to the zpool and dumpon (which has a similar issue) rc scripts. PR: 242189 Reported by: osidorkin@gmail.com Reviewed by: allanjude MFC after: 1 month Differential Revision: https://reviews.freebsd.org/D29101
* rc: make ctld depend on NETWORKINGEdward Tomasz Napierala2021-04-051-1/+1
| | | | | | | | | | | | | | This fixes a problem where ctld(8) would refuse to start on boot with a specific IP address to listen on configured in ctl.conf(5). It also fixes a problem where ctld(8) would fail to start with some network interfaces which require a sysctl.conf(5) tweak to configure them, eg to switch them from InfiniBand to IP mode. PR: 232397 Reported By: Mahmoud Al-Qudsi <mqudsi at neosmart.net> Submitted By: Jeremy Faulkner <gldisater at gmail.com> Reviewed By: mav Differential Revision: https://reviews.freebsd.org/D29578
* Fix the 'linux' rc script on aarch64.Edward Tomasz Napierala2021-03-181-1/+7
| | | | | | | | | | Previously it would try to load linux.ko instead of linux64.ko and fail. While here, don't try to match 'linuxaout'; even if implemented, it's the same module as `linuxelf`. Reviewed By: emaste Sponsored By: EPSRC Differential Revision: https://reviews.freebsd.org/D29288
* Fix post-start check when unbound.conf has moved.Dag-Erling Smørgrav2021-03-101-1/+1
| | | | | Reported by: phk@ MFC after: 1 week