FreeBSD/src 22c1f5dlibexec/nuageinit nuageinit.7 nuageinit

nuageinit: complete SSH support with ssh_deletekeys and disable_root

Add missing SSH cloud-config options from cloud-init spec:

- ssh_deletekeys: remove existing SSH host keys on first boot so
  new ones are generated automatically by sshd(8).
  Implemented as delete_ssh_host_keys() in nuage.lua using lfs.dir()
  with a directory existence guard via lfs.attributes().

- disable_root: set PermitRootLogin to 'no' (or a custom value via
  disable_root_opts) in /etc/ssh/sshd_config.

- disable_root_opts: optional string or array to override the
  PermitRootLogin value used when disable_root is true. Only the
  first array element is used.
DeltaFile
+32-0libexec/nuageinit/nuageinit.7
+24-0libexec/nuageinit/nuageinit
+14-0libexec/nuageinit/nuage.lua
+70-03 files

FreeBSD/src ea0932dlibexec/nuageinit nuage.lua

nuageinit: refactor goto abuse in chpasswd()

Replace goto next/list pattern with proper elseif/else control
structure. The goto-based flow was fragile and hard to follow;
the elseif chain makes the validation logic explicit and linear.
DeltaFile
+11-17libexec/nuageinit/nuage.lua
+11-171 files

FreeBSD/src 0ba9b7blibexec/nuageinit nuage.lua, libexec/nuageinit/tests update_sshd_config.lua

nuageinit: fix update_sshd_config crash when file does not exist

Previously update_sshd_config() would assert-fail if sshd_config did
not exist. Now it creates a new file with the given key/value.

Also replace the fragile simultaneous r+ + temp file approach with
a cleaner read-then-write pattern: read all lines into memory, modify
as needed, then write to a temp file and rename. All assert() calls
replaced with proper error handling via warnmsg().

Add test case for missing file creation.
DeltaFile
+31-12libexec/nuageinit/nuage.lua
+7-0libexec/nuageinit/tests/update_sshd_config.lua
+38-122 files

FreeBSD/src cf5722elibexec/nuageinit nuage.lua

nuageinit: fix TOCTOU in addsshkey, adddoas, addsudo

Replace check-then-create patterns with direct creation:

- addsshkey: check what exists before creation, use mkdir_p() for
  .ssh directory, handle errors with warnmsg() instead of assert().
  Apply chmod/chown only on newly created files/directories.

- adddoas: same pattern for doas.conf and the etc directory.

- addsudo: same pattern for the sudoers file and sudoers.d directory.

All three functions now use warnmsg() for error handling instead of
returning nil,err or using assert().
DeltaFile
+52-40libexec/nuageinit/nuage.lua
+52-401 files

FreeBSD/src fdff892libexec/nuageinit nuage.lua

nuageinit: fix non-standard f:close(cmd) and remove dead precmd

- f:close(cmd) -> f:close() in adduser() and exec_change_password():
  the 'cmd' argument is not standard Lua and is silently ignored.
- Remove dead 'precmd' variable in adduser().
DeltaFile
+3-4libexec/nuageinit/nuage.lua
+3-41 files

FreeBSD/src 852504alibexec/nuageinit nuage.lua

nuageinit: remove dead checkgroup(), inline check in purge_group()

Call getgroups() once instead of N times per call. Inline the
membership check directly, removing the now-unused checkgroup()
helper function.
DeltaFile
+9-13libexec/nuageinit/nuage.lua
+9-131 files

FreeBSD/src 46d1758libexec/nuageinit nuage.lua, libexec/nuageinit/tests sethostname.lua nuage.sh

nuageinit: add hostname validation (RFC 952/1123) to sethostname()

Validate hostnames before writing them:
- Reject empty hostnames
- Reject hostnames longer than 253 characters
- Reject hostnames with invalid characters
- Reject hostnames starting or ending with dot/hyphen
- Reject labels longer than 63 characters
- Reject labels starting or ending with hyphen

Expand the sethostname test to cover all rejection cases.
Update nuage.sh sethostname_body to ignore stderr (warnings).
DeltaFile
+68-0libexec/nuageinit/tests/sethostname.lua
+27-0libexec/nuageinit/nuage.lua
+1-1libexec/nuageinit/tests/nuage.sh
+96-13 files

FreeBSD/src 57807f3libexec/nuageinit nuage.lua

nuageinit: add nil/empty guard to decode_base64()

Return an empty string when input is nil or zero-length instead
of processing it through the decoding loop.
DeltaFile
+3-0libexec/nuageinit/nuage.lua
+3-01 files

FreeBSD/src 453968clib/libsys open.2, sys/kern uipc_usrreq.c

uipc_usrreq: revert addition of EMPTYPATH for bindat(2)

The caller wants the parent vnode, which cannot be provided for emptypath
lookups.

Reported and reviewed by:       markj
Fixes:  12c590a9abd7 ("bindat(2)/connectat(2): allow implicit EMPTYPATH for unix domain sockets")
Sponsored by:   The FreeBSD Foundation
MFC after:      1 week
Differential revision:  https://reviews.freebsd.org/D57448
DeltaFile
+2-3sys/kern/uipc_usrreq.c
+1-3lib/libsys/open.2
+3-62 files

FreeBSD/src 9459465libexec/nuageinit/tests nuageinit.sh

nuageinit: add config2_network DNS services test
DeltaFile
+47-0libexec/nuageinit/tests/nuageinit.sh
+47-01 files

FreeBSD/src 5f58d92libexec/nuageinit/tests dirname.lua

nuageinit: add dirname edge case tests
DeltaFile
+23-0libexec/nuageinit/tests/dirname.lua
+23-01 files

FreeBSD/src b551429sys/compat/linuxkpi/common/include/linux dma-mapping.h

linuxkpi: Add dma_unmap_page_attrs

This will be used by amdgpu as of Linux 6.13.

Reviewed by:    bz
Sponsored by:   The FreeBSD Foundation
DeltaFile
+7-0sys/compat/linuxkpi/common/include/linux/dma-mapping.h
+7-01 files

FreeBSD/src b813e46libexec/nuageinit nuage.lua

nuageinit: fix dirname('/') returning nil instead of '/'
DeltaFile
+3-0libexec/nuageinit/nuage.lua
+3-01 files

FreeBSD/src fa3f69flib/msun Makefile

libmsun: Fix incorrect MLINK for sincosl(3)

PR:             295704
MFC after:      1 week
DeltaFile
+1-1lib/msun/Makefile
+1-11 files

FreeBSD/src 8bbe1d5. ObsoleteFiles.inc

ObsoleteFiles: Add some ancient locale symlinks

These were dropped in 2021 but were never listed in ObsoleteFiles.inc,
so systems that have been upgraded from source since before that date
(or from 13.x) may still have them.

PR:             295668
MFC after:      1 week
Fixes:          0a36787e4c1f ("locales: separate unicode from other locales")
Reviewed by:    bapt
Differential Revision:  https://reviews.freebsd.org/D57331

(cherry picked from commit 1cef7e9eb0822c606fc34f975efd14b6daeff756)
DeltaFile
+7-0ObsoleteFiles.inc
+7-01 files

FreeBSD/src 34fc5cclib/libutil login_class.c

login_class: Fix kqueues, pipebuf resource types

* kqueues is a count but is listed as a size

* pipebuf is a size but is listed as a count

PR:             295623
MFC after:      1 week
Fixes:          a4c04958f526 ("libutil: support RLIMIT_PIPEBUF")
Fixes:          85a0ddfd0b26 ("Add a resource limit for the total...")
Reviewed by:    kib
Differential Revision:  https://reviews.freebsd.org/D57333

(cherry picked from commit b5dce0ae4f78251f56ffcb6c6a58b9e6c20380e0)
DeltaFile
+2-2lib/libutil/login_class.c
+2-21 files

FreeBSD/src c435622bin/sh miscbltin.c

sh: Fix pipebuf limit

Since the factor is not 1, we need to provide a unit.

MFC after:      1 week
Fixes:          5d92f20c7d31 ("bin/sh: support RLIMIT_PIPEBUF")
Reviewed by:    kib
Differential Revision:  https://reviews.freebsd.org/D57352

(cherry picked from commit dfd2273d27627313f944650840381e878077e825)
DeltaFile
+1-1bin/sh/miscbltin.c
+1-11 files

FreeBSD/src 78381cdlib/libutil login.conf.5

login.conf(5): Add missing resource limits

While here, reorder the table.

PR:             295618
MFC after:      1 week
Reviewed by:    olce
Differential Revision:  https://reviews.freebsd.org/D57258

(cherry picked from commit e9346d1d1383e8c1dced50a3aceb28edd5a4a5e2)
DeltaFile
+6-5lib/libutil/login.conf.5
+6-51 files

FreeBSD/src d3c855flib/libc/gen fts.3

fts: Improve the description of FTS_NOSTAT

Note that we still need to stat directories and the roots.

MFC after:      1 week
Sponsored by:   Klara, Inc.
Reviewed by:    kevans
Differential Revision:  https://reviews.freebsd.org/D57325

(cherry picked from commit dce6aff90b13f30fcb4c1fa263868607ccda8041)
DeltaFile
+8-1lib/libc/gen/fts.3
+8-11 files

FreeBSD/src 7546f06. ObsoleteFiles.inc

ObsoleteFiles: Add some ancient locale symlinks

These were dropped in 2021 but were never listed in ObsoleteFiles.inc,
so systems that have been upgraded from source since before that date
(or from 13.x) may still have them.

PR:             295668
MFC after:      1 week
Fixes:          0a36787e4c1f ("locales: separate unicode from other locales")
Reviewed by:    bapt
Differential Revision:  https://reviews.freebsd.org/D57331

(cherry picked from commit 1cef7e9eb0822c606fc34f975efd14b6daeff756)
DeltaFile
+7-0ObsoleteFiles.inc
+7-01 files

FreeBSD/src e8abb10lib/libutil login.conf.5

login.conf(5): Add missing resource limits

While here, reorder the table.

PR:             295618
MFC after:      1 week
Reviewed by:    olce
Differential Revision:  https://reviews.freebsd.org/D57258

(cherry picked from commit e9346d1d1383e8c1dced50a3aceb28edd5a4a5e2)
DeltaFile
+6-5lib/libutil/login.conf.5
+6-51 files

FreeBSD/src 7ad1006bin/sh miscbltin.c

sh: Fix pipebuf limit

Since the factor is not 1, we need to provide a unit.

MFC after:      1 week
Fixes:          5d92f20c7d31 ("bin/sh: support RLIMIT_PIPEBUF")
Reviewed by:    kib
Differential Revision:  https://reviews.freebsd.org/D57352

(cherry picked from commit dfd2273d27627313f944650840381e878077e825)
DeltaFile
+1-1bin/sh/miscbltin.c
+1-11 files

FreeBSD/src b1cec2blib/libc/tests/gen fts_options_test.c

fts: Add some depth to the options test

MFC after:      1 week
Sponsored by:   Klara, Inc.
Reviewed by:    kevans
Differential Revision:  https://reviews.freebsd.org/D57323

(cherry picked from commit 7ec549870f2adeb0e896885220d4af6b47c4c9ba)
DeltaFile
+74-0lib/libc/tests/gen/fts_options_test.c
+74-01 files

FreeBSD/src 2a0e9a9lib/libutil login_class.c

login_class: Fix kqueues, pipebuf resource types

* kqueues is a count but is listed as a size

* pipebuf is a size but is listed as a count

PR:             295623
MFC after:      1 week
Fixes:          a4c04958f526 ("libutil: support RLIMIT_PIPEBUF")
Fixes:          85a0ddfd0b26 ("Add a resource limit for the total...")
Reviewed by:    kib
Differential Revision:  https://reviews.freebsd.org/D57333

(cherry picked from commit b5dce0ae4f78251f56ffcb6c6a58b9e6c20380e0)
DeltaFile
+2-2lib/libutil/login_class.c
+2-21 files

FreeBSD/src e6cabe3lib/libc/gen fts.3

fts: Improve the description of FTS_NOSTAT

Note that we still need to stat directories and the roots.

MFC after:      1 week
Sponsored by:   Klara, Inc.
Reviewed by:    kevans
Differential Revision:  https://reviews.freebsd.org/D57325

(cherry picked from commit dce6aff90b13f30fcb4c1fa263868607ccda8041)
DeltaFile
+8-1lib/libc/gen/fts.3
+8-11 files

FreeBSD/src e4dd350lib/libc/gen fts.c

fts: Check link count before using it

* Check the range of the link count before trying to use it.

* Rewrite the comment explaining what the link count is used for.

MFC after:      1 week
Sponsored by:   Klara, Inc.
Reviewed by:    kevans
Differential Revision:  https://reviews.freebsd.org/D57324

(cherry picked from commit b2b95249ae0e24a6e24ad4286da56f1aff7a6db0)
DeltaFile
+39-5lib/libc/gen/fts.c
+39-51 files

FreeBSD/src 42e6660sys/amd64/amd64 machdep.c

amd64: do not switch back and restore UEFI IDT in wrmsr_early_safe_end()

(cherry picked from commit 606d3cb1be5fd594c1f51addd063e7c13e16bdbc)
DeltaFile
+0-8sys/amd64/amd64/machdep.c
+0-81 files

FreeBSD/src c6ccef4sys/x86/x86 ucode.c

amd64: there is no reason to copy ucode around in ucode_load_bsp()

PR:     294630

(cherry picked from commit 16f21c5af35002b8361ffb2e83ff3c92cd899a3a)
DeltaFile
+9-11sys/x86/x86/ucode.c
+9-111 files

FreeBSD/src c7ff706stand/lua core.lua cli.lua, stand/man loader.8

lualoader: add be-list and be-switch commands

This is useful for driving BE changes from the loader command prompt,
rather than having to use the menu.  Note that the active carousel in
the boot environment carousel doesn't currently reflect a switch in
boot environments done this way- I'm considering this only a minor bug,
as you probably can't or won't go back to the menu if you're using these
commands.

Reviewed by:    imp (previous version)
DeltaFile
+43-0stand/lua/core.lua
+23-0stand/lua/cli.lua
+16-1stand/lua/core.lua.8
+14-1stand/man/loader.8
+1-6stand/lua/menu.lua
+97-85 files

FreeBSD/src 4f7d987. .git-blame-ignore-revs

.git-blame-ignore-revs: <assert.h> whitespace changes: Fix comment

Fixes:          8ee0f80252d1 (".git-blame-ignore-revs: <assert.h> whitespace changes")
Sponsored by:   The FreeBSD Foundation
DeltaFile
+1-1.git-blame-ignore-revs
+1-11 files