Commit graph

3045 commits

Author SHA1 Message Date
Konstantin Belousov
dcdc0d7167 rtld.1: cross-reference rtld_get_var.3
(cherry picked from commit 16d000bdac)
2024-11-14 02:42:17 +02:00
Konstantin Belousov
86a2abab0a rtld: add rtld_{get,set}_var
(cherry picked from commit c56df6ce71)
2024-11-14 02:42:17 +02:00
Konstantin Belousov
db21e6980b rtld: make it easier to add sparce non-default members to ld_env_var_desc
(cherry picked from commit d7214577ff)
2024-11-14 02:42:17 +02:00
Konstantin Belousov
8ee3da8e73 rtld: 1-bit for bool is enough
(cherry picked from commit 450e684e0f)
2024-11-14 02:42:17 +02:00
Mark Johnston
fc3c731bbf rc.d/kld: Print modules being loaded, take three
Some kernel modules will print informative messages when they are
loaded, making the output confusing.  Print everything up front instead.

Fixes:	152382e661 ("rc.d/kld: Print the kernel modules being loaded")

(cherry picked from commit 3e55170e0f)
2024-11-09 01:09:50 +00:00
Mark Johnston
2cb615d015 rc.d/kld: Avoid printing a trailing space
Fixes:		152382e661 ("rc.d/kld: Print the kernel modules being loaded")
Reported by:	jrtc27

(cherry picked from commit cdb3cda6fd)
2024-11-09 01:09:47 +00:00
Mark Felder
bba8c461b9 rc.d/kld: Print the kernel modules being loaded
PR:		282269
MFC after:	2 weeks

(cherry picked from commit 152382e661)
2024-11-09 01:09:29 +00:00
Baptiste Daroussin
6c682f5c38 nuageinit: add support for OpenStack network config
Add naive support for openstack network config.
if no config driver have been found, try to detect that we are running a
VM on openstack via the smbios information, use the first iface
available and temporary activate dhcp on it, to be able to fetch the
necessary informations for cloudinit.

While here make the rc script execute after devmatch, some ethernet
device might be attached via devmatch and may be needed for cloudinit.

Tested on OVHCloud Public Cloud.

MFC after:	3 weeks
Sponsored by:	OVHCloud

(cherry picked from commit 2775b9b0bc)
2024-11-06 09:36:12 +01:00
Graham Percival
cdffbea57c manuals: Fix dates
These were reported by `mandoc -T lint ...` as warnings.

Signed-off-by:	Graham Percival <gperciva@tarsnap.com>
Reviewed by:	mhorne
MFC after:	3 days
Sponsored by:	Tarsnap Backup Inc.
Pull Request:	https://github.com/freebsd/freebsd-src/pull/1475

(cherry picked from commit b74aaa1a21)
2024-11-04 12:16:22 -04:00
Mateusz Piotrowski
4ff71ffaa7 rc.d/sendmail: Return non-zero if the daemon fails to start or is not running
If you have a mail server that is running sendmail daemon
(sendmail_enable=YES) and sendmail queue runner (sendmail_msp_queue=YES)
and the sendmail daemon dies, /etc/rc.d/sendmail status does see the
daemon is not running but returns 0 as the exit code.  This prevents
other programs (like puppet) from restarting sendmail to fix the issue.

Make sure that the exit code is propagated towards the end of the script
if any of the sendmail services fail.

This patch does not call exit directly but instead just sets the exit
status code by calling exit in a subshell. This way we do not exit the
current shell in case the service script is sourced (e.g., when
rc_fast_and_loose is active).

PR:		223132
MFC after:	2 weeks
Reported by:	pirzyk
Discussed with:	jilles, eugen
Reviewed by:	christos, gshapiro (previous version), markj
Approved by:	christos (mentor), markj (mentor)
Differential Revision:	https://reviews.freebsd.org/D46862
Co-authored-by: Jim Pirzyk <pirzyk@FreeBSD.org>

(cherry picked from commit d2e7bb630b)
2024-11-04 15:55:40 +01:00
Robert William Vesterman
6fb03ddbce libexec/rc/rc.d/netif: Typo fix
Just fixing a typo ("configuriing" => "configuring").

Pull Request:	https://github.com/freebsd/freebsd-src/pull/1484

(cherry picked from commit 65691b2daf)
2024-10-30 17:49:57 -07:00
Mateusz Piotrowski
025535f945 rc/tests: Skip oomprotect tests in a jail
oomprotect cannot be used in a jail.

Reviewed by:	bnovkov, christos, markj
Approved by:	bnovkov (mentor), christos (mentor), markj (mentor)
MFC after:	1 week

(cherry picked from commit 6fa42b91ca)
2024-10-21 11:59:16 +02:00
Mateusz Piotrowski
f94127e3ee rc.d/sendmail: Fix stopping service during shutdown
The sendmail service script needs to be stopped during shutdown
to ensure a clean shutdown of active SMTP connections (and writing
any in memory queue files).

rcorder(8) requires the rcorder block to be an uninterrupted sequence of
REQUIRE, PROVIDE, BEFORE, and KEYWORD lines. Having a comment in between
REQUIRE and KEYWORD makes rcorder stop parsing the block when it reaches
the comment.

Fix that by moving the comment out from the rcorder block.

Reviewed by:	bnovkov, christos, gshapiro, markj
Approved by:	bnovkov (mentor), christos (mentor), markj (mentor)
MFC after:	3 days
Differential Revision:	https://reviews.freebsd.org/D46924

(cherry picked from commit 8751fbe36f)
2024-10-14 12:23:46 +02:00
Mark Johnston
cde4ab289d flua: Add wrappers for sys/utsname.h
This allows one to invoke uname from lua scripts.

Reviewed by:	bapt, kevans, emaste
MFC after:	1 month
Differential Revision:	https://reviews.freebsd.org/D42017

(cherry picked from commit 1726db7af6)
2024-10-10 20:28:20 +00:00
Jose Luis Duran
e573007af2 nuageinit: tests: Cleanup
- Export NUAGE_FAKE_ROOTDIR only once
- Use the header section of the test to require the root user
- Use the PWD environment variable
- Set the root/sys shell as /bin/sh
- Use RFC 5737 reserved IP addresses

Signed-off-by: Jose Luis Duran <jlduran@gmail.com>
(cherry picked from commit e72457c4f5)
2024-10-08 09:04:02 +02:00
Jose Luis Duran
9881d68b1e nuageinit: Fix passwords
The hashed password usually contains a "$" sign, which, when used on a
shell, must be escaped.  Also, the plain text password may contain
special characters that require escaping.

Add a quick fix by enclosing it in single quotes.  Note that if the
plain text password contains a "'", it will still fail.  This will be
properly fixed in later commits.

Some here documents require the document to be a string literal,
especially when passing invalid characters.  Enclose it in single
quotes.

Signed-off-by: Jose Luis Duran <jlduran@gmail.com>
(cherry picked from commit b9ce743c54)
2024-10-08 09:04:01 +02:00
Jose Luis Duran
03abe3ac40 nuageinit: Standardize user-facing error messages
Signed-off-by: Jose Luis Duran <jlduran@gmail.com>
(cherry picked from commit 38bb6f79e3)
2024-10-08 09:04:01 +02:00
Jose Luis Duran
182ff41e84 nuageinit: Standardize warning/error messages
Standardize the utilities from nuage.lua, to return nil on failure, plus
an error message as a second result, and some value different from nil
on success.

Make warnmsg() and errmsg() append "nuageinit: " by default.  Pass an
optional second parameter as false to avoid printing this tag.

Signed-off-by: Jose Luis Duran <jlduran@gmail.com>
(cherry picked from commit 945632ca76)
2024-10-08 09:04:01 +02:00
Jose Luis Duran
1eaf3331ea nuageinit: Replace os.execute with Lua libraries
Prefer posix.sys.stat's chmod() to os.execute().  While here, change the
name of the locals to be more descriptive.

Signed-off-by: Jose Luis Duran <jlduran@gmail.com>
(cherry picked from commit 9b2d92addc)
2024-10-08 09:04:01 +02:00
Jose Luis Duran
c96dbfbd1b nuageinit: Silence an fstyp(8) warning
Silence a warning emitted by fread(3) in fstyp(8)'s read_buf(), when
detecting the file system type of the cloud-init device:

    % fstyp /dev/iso9660/cidata
    fstyp: fread: Invalid argument
    cd9660

Also rephrase slightly a comment while here.

Signed-off-by: Jose Luis Duran <jlduran@gmail.com>
(cherry picked from commit d71e2c037c)
2024-10-08 09:04:01 +02:00
Jose Luis Duran
68c7c28d0e nuageinit: Lua check and lint files
Mostly white space, style, and luacheck compliance.

Signed-off-by: Jose Luis Duran <jlduran@gmail.com>
(cherry picked from commit 504981357a)
2024-10-08 09:04:01 +02:00
Mateusz Piotrowski
e3b57f1485 rc.subr: Consistently use an absolute path for sysrc
MFC after:	2 weeks
Approved by:	christos

(cherry picked from commit 401516dbc5)
2024-10-02 11:27:00 +02:00
Mateusz Piotrowski
2ab84513e9 rc.d/dnctl: Chmod +x for consistency with other rc scripts
MFC after:	1 week
Approved by:	bnovkov

(cherry picked from commit 91fac46bf7)
2024-10-02 11:11:20 +02:00
Bjoern A. Zeeb
d60a0ffecf rc: network.subr update consitency with older change (v6/v4 order)
As of 1b5be7204e we setup parts of IPv6
before IPv4 if configured.  For consistency change a case in ifn_start()
calling ipv6_up() before ipv4_up() and reverse in ifn_stop().

Reviewed by:	zlei
Differential Revision: https://reviews.freebsd.org/D33426

(cherry picked from commit ed4d2a54fc)
2024-09-28 10:35:11 +00:00
Jessica Clarke
11d7aa07eb rc.d/devmatch: Silence sysctl hw.bus.devctl_nomatch_enabled=1
As with various other rc scripts, we don't want the output from this
being visible in the boot log.

Fixes:		6437872c1d ("New sysctl to disable NOMATCH until devmatch runs")
MFC after:	1 week

(cherry picked from commit 62775aebf7)
2024-09-07 01:03:16 +01:00
Baptiste Daroussin
701ac3adcb nuageinit: improve debugging when mkdir fails
(cherry picked from commit a6ecbf2b35)
2024-09-03 09:05:25 +02:00
Baptiste Daroussin
3a73c77f2d nuageinit: readd ssh key parsing when key is in meta_data.json
in openstack when no user is specified but a sshkey is provided
the information is stored in meta_data.json under "public_keys"

PR:	280461
Reported by:	tdb

(cherry picked from commit 19fb9ad746)
2024-09-03 09:05:24 +02:00
Jose Luis Duran
5f7256579c nuageinit: Fix tests
Commit 07d17ca189 set the recommended
permissions for the SSH authorized keys file and directory.  The tests,
however, were failing on CI.

Use stat to check for the proper permissions.

Fixes:	07d17ca189 nuageinit: Set recommended SSH permissions
Reported by:	Jenkins

(cherry picked from commit 8edd6c07c8)
2024-09-03 09:05:24 +02:00
Jose Luis Duran
3dbc333a9e nuageinit: Fix the homedir variable name
cloud-init uses homedir, not home.

(cherry picked from commit 7aecd689e3)
2024-09-03 09:05:24 +02:00
Jose Luis Duran
6171791787 nuageinit: Set recommended SSH permissions
As stated in sshd(8), the recommended permissions for ~/.ssh are
read/write/execute for the user, and not accessible by others; and the
recommended permissions for ~/.ssh/authorized_keys are read/write for
the user, and not accessible by others.

(cherry picked from commit 07d17ca189)
2024-09-03 09:05:24 +02:00
Jose Luis Duran
c7887c8e2e nuageinit: Accept plain text passwords
Per pw(8), when -H is set, the password should be supplied already
encrypted in a form suitable for writing directly to the password
database (passwd in cloud-init tems); -h provides a special interface by
which interactive scripts can set an account password using pw(8) in
plain text (plain_text_passwd in cloud-init terms).

The default user (freebsd) is defined with a plain_text_passwd
(freebsd), not with an encrypted one.

(cherry picked from commit 7b73ecfe64)
2024-09-03 09:05:24 +02:00
Baptiste Daroussin
28094582f0 nuageinit: check for both user_data and user-data
openstack, ec2 and other implementation of cloudinit disagrees on the
name of the file "user-data" or "user_data", test both and use the first
found

PR:	279876
(cherry picked from commit cde6642431)
2024-09-03 09:05:24 +02:00
John Baldwin
7b9327d6b2 defaults/rc.conf: Remove /usr/lib32 from ldconfig32_paths
Commit 99132daf6f prepends /usr/lib32 to
the list of paths in ldconfig32_paths since it is a standard library
path in ld-elf32.so.1.  Remove /usr/lib32 from the value in rc.conf so
that it is not listed twice.

Reviewed by:	olce, kib
Sponsored by:	University of Cambridge, Google, Inc.
Differential Revision:	https://reviews.freebsd.org/D44752

(cherry picked from commit 4bf5db113f)
2024-08-27 14:15:55 -04:00
Konrad Witaszczyk
ee104259c7 rc.d/ldconfig: Compute ldconfig paths in a function
Move logic that computes paths passed to ldconfig(8) to a
ldconfig_paths() function that can be called for multiple ABIs.

Reviewed by:	olce, kib
Obtained from:	CheriBSD
Differential Revision:	https://reviews.freebsd.org/D44751

(cherry picked from commit e6e38bc522)
2024-08-27 14:15:48 -04:00
Isaac Cilia Attard
54bd536723 dhclient: rc.conf option to disable ARP resolution
Introduce a new rc.conf option to not wait for ARP resolution within
dhclient. This is plausible on many modern networks where it is possible
to trust the DHCP server to know whether an IP address is available.

Sponsored by:	Google LLC (GSoC 2024)
Signed-off-by:	Isaac Cilia Attard <icattard@FreeBSD.org>
MFC after:	10 days
Reviwed by:	cperciva, brooks, Tom Hukins, Alexander Ziaee
Pull Request:	https://github.com/freebsd/freebsd-src/pull/1368

(cherry picked from commit 503adcdf1d)
2024-08-19 21:57:09 -07:00
Ed Maste
f06d322e9d Remove "All Rights Reserved" from FreeBSD Foundation copyrights
These ones were unambiguous cases where the Foundation was the only
listed copyright holder.

Sponsored by:	The FreeBSD Foundation

(cherry picked from commit 5c2bc3db20)
2024-08-06 15:39:53 -04:00
Konstantin Belousov
279e543dc7 rtld: add LD_NO_DL_ITERATE_PHDR_AFTER_FORK env var
PR:	280318

(cherry picked from commit 860c4d94ac)
2024-08-05 03:32:11 +03:00
Konstantin Belousov
da32a0616b rtld: make ld_get_env_var() usable for all rtld source files
(cherry picked from commit 47315d6d35)
2024-08-05 03:32:11 +03:00
Konstantin Belousov
f0d4329dc2 rtld(1): Spell value as VALUE, not NAME
(cherry picked from commit bc25bc6850)
2024-08-05 03:32:11 +03:00
Cy Schubert
13f9c4addb rc.conf: Leap-seconds sources: Add IANA back
11da791920 switched Leap-seconds source from IANA to IERS, as IERS
is the canonoical source. The problem ist that IERS is not accessible
from IPv6 only networks. To work around this we must add IANA back in
order to provide IPv6-only users a source for leap-seconds fetch.

PR:		279413
Fixes:		11da791920

(cherry picked from commit 66f360515d)
2024-07-21 19:36:30 -07:00
Andrew Turner
c2e0dea93f rtld: Add MD_OBJ_ENTRY to extend Struct_Obj_Entry
Add a macro the architectures can use to add per-arch fields to
Struct_Obj_Entry.

Reviewed by:	kib
Sponsored by:	Arm Ltd
Differential Revision:	https://reviews.freebsd.org/D45116

(cherry picked from commit 06db20ffec)
2024-07-15 12:24:58 +00:00
Dag-Erling Smørgrav
77362b5eb7 tftpd: Code cleanup.
MFC after:	3 days
Sponsored by:	Klara, Inc.
Reviewed by:	markj
Differential Revision:	https://reviews.freebsd.org/D45871

(cherry picked from commit c15290fb9d)
2024-07-09 23:40:26 +02:00
Baptiste Daroussin
30346359b3 nuageinit: fix authorized_key test
After miss reading the cloudinit spec I ended up writting a wrong
test for basic ssh key setup, nuageinit has been fixed, but not
the test, here is the actual fix.

Reported by:	markj

(cherry picked from commit 8d7331e62a)
2024-06-27 10:56:17 +02:00
Baptiste Daroussin
3cfc085f8a nuageinit: make addsshkey friendly for testsuite
(cherry picked from commit fa07b02f6e)
2024-06-27 10:55:07 +02:00
Baptiste Daroussin
12e584c11e nuageinit: use pw(8) instead of getent(1)
pw(8) allows to seek for users in a custom rootdir, which makes it
easier for a testsuite

MFC After:	3 days

(cherry picked from commit 83fcab792c)
2024-06-27 10:55:06 +02:00
Eugene Grosbein
a3a09bbf21 rc.subr: improve description for ${name}_offcmd
Clarify that ${name}_offcmd is for method start.

(cherry picked from commit af1b0aa5b9)
2024-06-21 15:27:50 +07:00
Eugene Grosbein
efb1717d21 rc.subr(8): MFC: introduce ${name}_offcmd
New variable ${name}_offcmd may be used to supply commands
executed if named service is not enabled. Previously start_precmd
could be used for such a task but now rc.subr(8) does not call it
if a service is not enabled.

Fix devd startup script to use it instead of start_precmd.

PR:		279198
Reported by:	Dmitry S. Lukhtionov
Tested by:	Dmitry S. Lukhtionov

(cherry picked from commit 32a579e4fc)
(cherry picked from commit c2db3a0c7d)
2024-06-17 11:57:53 +07:00
Emmanuel Vadot
ac658a7c76 rc: Set var_run_enable to enable by default
This will load/save the /var/run directories at boot/shutdown if
and only if /var/run/ is a tmpfs mount so it is a win for tmpfs
users and a no-op for everyone else.

Reviewed by:	bapt
Differential Revision:	https://reviews.freebsd.org/D44097
Sponsored by:	Beckhoff Automation GmbH & Co. KG

(cherry picked from commit 72b045386d)
2024-06-04 13:38:54 +02:00
Allan Jude
e5fadc41b4 ftpd: stop using -g flag for /bin/ls
In 3bfbb521 the behaviour of ls was changed such that -g was no longer
a noop for compatibility with BSD 4.3, but instead changed the output
of long mode to exclude the owner of the file and display only the
group.

Update how FTPd invokes ls to restore the previous behaviour

Reported-by:	Andrew Fengler <andrew.fengler@scaleengine.com>
Reviewed-by:	jrtc27, des, imp
MFC after:	3 days
Sponsored-by:	ScaleEngine Inc.
Fixes:		3bfbb521fe ("ls: Improve POSIX compatibility for -g and -n.")

(cherry picked from commit 5af3225e0448be6af7f0312e10d2a1dfbe150c25)
2024-05-22 15:59:05 +00:00
Jeremy Collin
5601feb720 fix (nuageinit): SSH keys are not handled in metadata but in userdata
MFC After: 1 day

(cherry picked from commit 48edad2edf)
2024-05-22 08:51:33 +02:00