FreeBSD/src 6fd9887lib/libc/gen uexterr_format.c err.3

Refinements to the output when the EXTERROR_VERBOSE environment is set

When kernel external errors are available they are included in the
err(3) library function messages. In addition to the extended error
itself, the kernel also tracks the kernel file and line number at
which the error was generated. This additional information is not
included in the err(3) messages unless the EXTERROR_VERBOSE environment
variable is present. Currently, when EXTERROR_VERBOSE is present,
all the internal extended error information associated with the
error is printed most of which is redundant with the formatted error
message printed by err(3). This change will add only the kernel
file and line number to the err(3) message when EXTERROR_VERBOSE
is present and set to "brief".

Sample output with bad protection bits to mmap:

guest_16 % ./Example bigfile
Example: mmap bigfile: Invalid argument (unknown PROT bits 0x8)


    [12 lines not shown]
DeltaFile
+20-8lib/libc/gen/uexterr_format.c
+7-1lib/libc/gen/err.3
+27-92 files

FreeBSD/src 56fbfd1usr.sbin/lpr/lpd lpd.c lpd.8

lpd: Add timeout option

Set a 120-second receive timeout on all client connections, and add a
command-line option to change that value.

MFC after:      1 week
Reviewed by:    markj
Differential Revision:  https://reviews.freebsd.org/D55400
DeltaFile
+20-12usr.sbin/lpr/lpd/lpd.c
+7-1usr.sbin/lpr/lpd/lpd.8
+27-132 files

FreeBSD/src 9065be0usr.sbin/lpr/lpd recvjob.c

lpd: Improve robustness

* Check for integer overflow when receiving file sizes.

* Check for buffer overflow when receiving file names, and fully
  validate the names.

* Check for integer overflow when checking for available disk space.

* Check for I/O errors when sending status codes.

* Enforce one job per connection and one control file per job (see
  code comments for additional details).

* Simplify readfile(), avoiding constructs vulnerable to integer
  overflow.

* Don't delete files we didn't create.


    [9 lines not shown]
DeltaFile
+189-102usr.sbin/lpr/lpd/recvjob.c
+189-1021 files

FreeBSD/ports f625d43deskutils/podman-desktop Makefile

deskutils/podman-desktop: Bump port revision after electron40 update (1d5f6b6a85af)
DeltaFile
+1-1deskutils/podman-desktop/Makefile
+1-11 files

FreeBSD/ports 1d5f6b6devel/electron40 distinfo Makefile, devel/electron40/files patch-electron_spec_api-browser-window-spec.ts patch-chrome_common_chrome__features.cc

devel/electron40: Update to 40.6.1

Changelog: https://github.com/electron/electron/releases/tag/v40.6.1

Reported by:    GitHub (watch releases)
DeltaFile
+27-9devel/electron40/files/patch-electron_spec_api-browser-window-spec.ts
+11-11devel/electron40/distinfo
+4-4devel/electron40/files/patch-chrome_common_chrome__features.cc
+3-3devel/electron40/files/patch-chrome_common_chrome__features.h
+2-2devel/electron40/Makefile
+1-1devel/electron40/Makefile.version
+48-301 files not shown
+49-317 files

FreeBSD/ports fe3650awww/pocket-id distinfo Makefile

www/pocket-id: Update to 2.3.0

ChangeLog: https://github.com/pocket-id/pocket-id/releases/tag/v2.3.0
DeltaFile
+7-7www/pocket-id/distinfo
+1-1www/pocket-id/Makefile
+8-82 files

FreeBSD/ports 47aaf92security Makefile, security/py-unicode-show Makefile pkg-plist

security/py-unicode-show: New port: Detect and annotate suspicious Unicode characters in text or files

unicode-show is a utility that reads text input (from standard input
or files) and highlights suspicious Unicode characters, such as
those outside the safe ASCII range. This tool is useful for identifying
potentially malicious or misleading Unicode characters in source
code, logs, or user input.

WWW: https://www.kicksecure.com/wiki/Unicode-show
DeltaFile
+40-0security/py-unicode-show/Makefile
+22-0security/py-unicode-show/pkg-plist
+5-0security/py-unicode-show/pkg-descr
+3-0security/py-unicode-show/distinfo
+1-0security/Makefile
+71-05 files

FreeBSD/src 122de34etc/mtree BSD.usr.dist BSD.debug.dist, share/examples Makefile

build: Move all of lp under LPR option

* Tag related directories with package=lp

* Make the examples/printing directory conditional on MK_LPR

* Make the hosts.lpd(5) manual page conditional on MK_LPR

MFC after:      3 days

(cherry picked from commit d4f6cb75424950ee776833ebc6b57855c094a610)
DeltaFile
+18-0tools/build/mk/OptionalObsoleteFiles.inc
+3-3etc/mtree/BSD.usr.dist
+2-2etc/mtree/BSD.debug.dist
+3-1share/examples/Makefile
+1-1share/man/man5/Makefile
+27-75 files

FreeBSD/src 9b75d6eusr.sbin/lpr/chkprintcap chkprintcap.8, usr.sbin/lpr/lp lp.1

lpr: Add deprecation notice

These programs require elevated privileges to work and have not seen
regular maintenance in decades.  Unless someone steps up and overhauls
them, we will have to remove them before 16.0.  Better-maintained
alternatives are available in ports (print/cups, sysutils/LPRng).

MFC after:      3 days

(cherry picked from commit d57dee7ab66f60537b557cb602be194e3eed253d)
DeltaFile
+3-0usr.sbin/lpr/chkprintcap/chkprintcap.8
+3-0usr.sbin/lpr/lp/lp.1
+3-0usr.sbin/lpr/lpc/lpc.8
+3-0usr.sbin/lpr/lpd/lpd.8
+3-0usr.sbin/lpr/lpq/lpq.1
+3-0usr.sbin/lpr/lpr/lpr.1
+18-04 files not shown
+30-010 files

FreeBSD/src 783cec7lib/libfetch common.c

libfetch: Gracefully skip unsupported protocols

If socket() fails because the address family or protocol is unsupported,
just continue with the next address.

MFC after:      1 week
Reviewed by:    imp
Differential Revision:  https://reviews.freebsd.org/D55407

(cherry picked from commit b5d570e711da1dad303312bebaf1bd2fb720f0dc)
DeltaFile
+5-1lib/libfetch/common.c
+5-11 files

FreeBSD/src c0ec072lib/libfetch common.c

libfetch: Fail hard if interrupted while connecting

This fixes an issue where the first address that DNS returns is blocked
by a packet filter, so we hang for a while, then the user hits Ctrl-C,
interrupting connect(2), whereupon we move on to the next address, get
a connection, request the file, and return to fetch(1), which sees that
SIGINT was caught and bails.

Note that we make no attempt to enforce fetchTimeout in the connection
phase, and never have.  It's feasible, but non-trivial, so we'll leave
it as an exercise for future us.

PR:             293312
MFC after:      1 week
Reviewed by:    imp
Differential Revision:  https://reviews.freebsd.org/D55406

(cherry picked from commit afbdcd402bb439bd3d487baaad63b68e95929265)
DeltaFile
+7-1lib/libfetch/common.c
+7-11 files

FreeBSD/src cee22aclib/libfetch common.c

libfetch: Clean up fetch_info usage

* Provide a wrapper for the common if (verbose) fetch_info(...) idiom.

* Replace remaining instances of fprintf(stderr, ...) with fetch_info().

* Fix a few style nits.

MFC after:      1 week
Reviewed by:    imp
Differential Revision:  https://reviews.freebsd.org/D55405

(cherry picked from commit 1b7c4d29fdfc975facdc43f6da50947cf3bb8e4a)
DeltaFile
+34-54lib/libfetch/common.c
+34-541 files

FreeBSD/src c550d07usr.bin/m4 eval.c misc.c, usr.bin/m4/tests eval.m4 regress.eval.out

m4: Fix eval output width

According to POSIX, the optional third argument is the minimum number
of digits to print regardless of sign.  We interpreted it as the minimum
width of the output including the sign.  Additionally, the variable used
to hold this value was confusingly named “maxdigits”.

PR:             293214
MFC after:      1 week
Sponsored by:   Klara, Inc.
Reviewed by:    imp
Differential Revision:  https://reviews.freebsd.org/D55311

(cherry picked from commit 507c611aeac7ca9aed12353b1044bb21ab00afae)
DeltaFile
+4-4usr.bin/m4/eval.c
+0-2usr.bin/m4/misc.c
+2-0usr.bin/m4/tests/eval.m4
+2-0usr.bin/m4/tests/regress.eval.out
+8-64 files

FreeBSD/src 31f3640lib/libfetch common.c

libfetch: Gracefully skip unsupported protocols

If socket() fails because the address family or protocol is unsupported,
just continue with the next address.

MFC after:      1 week
Reviewed by:    imp
Differential Revision:  https://reviews.freebsd.org/D55407

(cherry picked from commit b5d570e711da1dad303312bebaf1bd2fb720f0dc)
DeltaFile
+5-1lib/libfetch/common.c
+5-11 files

FreeBSD/src cca6f5elib/libfetch common.c

libfetch: Fail hard if interrupted while connecting

This fixes an issue where the first address that DNS returns is blocked
by a packet filter, so we hang for a while, then the user hits Ctrl-C,
interrupting connect(2), whereupon we move on to the next address, get
a connection, request the file, and return to fetch(1), which sees that
SIGINT was caught and bails.

Note that we make no attempt to enforce fetchTimeout in the connection
phase, and never have.  It's feasible, but non-trivial, so we'll leave
it as an exercise for future us.

PR:             293312
MFC after:      1 week
Reviewed by:    imp
Differential Revision:  https://reviews.freebsd.org/D55406

(cherry picked from commit afbdcd402bb439bd3d487baaad63b68e95929265)
DeltaFile
+7-1lib/libfetch/common.c
+7-11 files

FreeBSD/src 5c80cdblib/libfetch common.c

libfetch: Clean up fetch_info usage

* Provide a wrapper for the common if (verbose) fetch_info(...) idiom.

* Replace remaining instances of fprintf(stderr, ...) with fetch_info().

* Fix a few style nits.

MFC after:      1 week
Reviewed by:    imp
Differential Revision:  https://reviews.freebsd.org/D55405

(cherry picked from commit 1b7c4d29fdfc975facdc43f6da50947cf3bb8e4a)
DeltaFile
+34-54lib/libfetch/common.c
+34-541 files

FreeBSD/src 15717ddusr.bin/m4 eval.c misc.c, usr.bin/m4/tests eval.m4 regress.eval.out

m4: Fix eval output width

According to POSIX, the optional third argument is the minimum number
of digits to print regardless of sign.  We interpreted it as the minimum
width of the output including the sign.  Additionally, the variable used
to hold this value was confusingly named “maxdigits”.

PR:             293214
MFC after:      1 week
Sponsored by:   Klara, Inc.
Reviewed by:    imp
Differential Revision:  https://reviews.freebsd.org/D55311

(cherry picked from commit 507c611aeac7ca9aed12353b1044bb21ab00afae)
DeltaFile
+4-4usr.bin/m4/eval.c
+2-0usr.bin/m4/tests/eval.m4
+2-0usr.bin/m4/tests/regress.eval.out
+0-2usr.bin/m4/misc.c
+8-64 files

FreeBSD/src 4587768lib/libfetch common.c

libfetch: Clean up fetch_info usage

* Provide a wrapper for the common if (verbose) fetch_info(...) idiom.

* Replace remaining instances of fprintf(stderr, ...) with fetch_info().

* Fix a few style nits.

MFC after:      1 week
Reviewed by:    imp
Differential Revision:  https://reviews.freebsd.org/D55405

(cherry picked from commit 1b7c4d29fdfc975facdc43f6da50947cf3bb8e4a)
DeltaFile
+34-54lib/libfetch/common.c
+34-541 files

FreeBSD/src d58ab2ausr.bin/diff diffreg_new.c

diff: Drop unnecessary casts, fix none algo

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

(cherry picked from commit d5404462f691230423dc8cc543c6fdc44f34ec31)
DeltaFile
+7-6usr.bin/diff/diffreg_new.c
+7-61 files

FreeBSD/src 3b879f7lib/libfetch common.c

libfetch: Fail hard if interrupted while connecting

This fixes an issue where the first address that DNS returns is blocked
by a packet filter, so we hang for a while, then the user hits Ctrl-C,
interrupting connect(2), whereupon we move on to the next address, get
a connection, request the file, and return to fetch(1), which sees that
SIGINT was caught and bails.

Note that we make no attempt to enforce fetchTimeout in the connection
phase, and never have.  It's feasible, but non-trivial, so we'll leave
it as an exercise for future us.

PR:             293312
MFC after:      1 week
Reviewed by:    imp
Differential Revision:  https://reviews.freebsd.org/D55406

(cherry picked from commit afbdcd402bb439bd3d487baaad63b68e95929265)
DeltaFile
+7-1lib/libfetch/common.c
+7-11 files

FreeBSD/src 8124bd4usr.bin/m4 eval.c misc.c, usr.bin/m4/tests eval.m4 regress.eval.out

m4: Fix eval output width

According to POSIX, the optional third argument is the minimum number
of digits to print regardless of sign.  We interpreted it as the minimum
width of the output including the sign.  Additionally, the variable used
to hold this value was confusingly named “maxdigits”.

PR:             293214
MFC after:      1 week
Sponsored by:   Klara, Inc.
Reviewed by:    imp
Differential Revision:  https://reviews.freebsd.org/D55311

(cherry picked from commit 507c611aeac7ca9aed12353b1044bb21ab00afae)
DeltaFile
+4-4usr.bin/m4/eval.c
+0-2usr.bin/m4/misc.c
+2-0usr.bin/m4/tests/eval.m4
+2-0usr.bin/m4/tests/regress.eval.out
+8-64 files

FreeBSD/src d699baclib/libfetch common.c

libfetch: Gracefully skip unsupported protocols

If socket() fails because the address family or protocol is unsupported,
just continue with the next address.

MFC after:      1 week
Reviewed by:    imp
Differential Revision:  https://reviews.freebsd.org/D55407

(cherry picked from commit b5d570e711da1dad303312bebaf1bd2fb720f0dc)
DeltaFile
+5-1lib/libfetch/common.c
+5-11 files

FreeBSD/src 8ebc054sys/dev/mwl if_mwl.c

mwl: migrate to new net80211 encryption key API

Migrate to the new encryption key API rather than poking at the
key struct directly.

Notably this driver was very clear about its expectation the net80211
key layout w/ key, TX MIC and RX MIC matches the firmware layout
and just memcpy()'ed it.  That has been refactored.

Differential Revision:  https://reviews.freebsd.org/D54484
DeltaFile
+18-8sys/dev/mwl/if_mwl.c
+18-81 files

FreeBSD/src 70786desys/dev/wpi if_wpi.c

wpi: migrate to new net80211 encryption key API

Migrate to the new encryption key API rather than poking at the
key struct directly.

Differential Revision:  https://reviews.freebsd.org/D54482
DeltaFile
+6-3sys/dev/wpi/if_wpi.c
+6-31 files

FreeBSD/src 76a2032sys/dev/iwi if_iwi.c

iwi: migrate to new net80211 encryption key API

Migrate to the new encryption key API rather than poking at the
key struct directly.

Differential Revision:  https://reviews.freebsd.org/D54481
DeltaFile
+3-2sys/dev/iwi/if_iwi.c
+3-21 files

FreeBSD/src fec9453sys/dev/ipw if_ipw.c

ipw: migrate to new net80211 encryption key API

Migrate to the new encryption key API rather than poking at the
key struct directly.

Differential Revision:  https://reviews.freebsd.org/D54480
DeltaFile
+3-2sys/dev/ipw/if_ipw.c
+3-21 files

FreeBSD/src a54a36csys/dev/ath if_ath_keycache.c

ath: migrate to new net80211 encryption key API

Migrate to the new encryption key API rather than poking at the
key struct directly.

Differential Revision:  https://reviews.freebsd.org/D54479
DeltaFile
+25-9sys/dev/ath/if_ath_keycache.c
+25-91 files

FreeBSD/src cfdd90ausr.sbin/bsdinstall/scripts bootconfig

bsdinstall: fix EFI boot entry creation

update_uefi_bootentry assumes that the caller sets FREEBSD_BOOTNAME and
mntpt, which isn't the case anymore. The result is that there is no
"FreeBSD" boot entry created/updated after install. Most machines manage
to boot from the removable media path (if the loader is installed there
too), but some don't.

Take the loader's path as an argument and rename the variable used in
the ZFS mirror loop so mntpt can be reused below.

Also mark nentries as a local variable so it doesn't leak out of the
function.

PR:             293385
Fixes:          494de51bc0074472d1b01604f085daea0844f240
MFC after:      2 days
Reviewed by:    imp
Differential Revision:  https://reviews.freebsd.org/D55469

    [2 lines not shown]
DeltaFile
+14-11usr.sbin/bsdinstall/scripts/bootconfig
+14-111 files

FreeBSD/src 0f5900busr.sbin/efibootmgr efibootmgr.8

efibootmgr.8: capitalize examples section header

MFC after:      3 days

(cherry picked from commit fac9ae3db4e6a28dfd467369e262f636e10a3b01)
DeltaFile
+1-1usr.sbin/efibootmgr/efibootmgr.8
+1-11 files

FreeBSD/src 49684d7sys/fs/nullfs null_vfsops.c

nullfs: Fix handling of doomed vnodes in nullfs_unlink_lowervp()

nullfs_unlink_lowervp() is called with the lower vnode locked, so the
nullfs vnode is locked too.  The following can occur:
1. the vunref() call decrements the usecount 2->1,
2. a different thread calls vrele() on the vnode, decrements the
   usecount 0->1, then blocks on the vnode lock,
3. the first thread tests vp->v_usecount == 0 and observes that it is
   true,
4. the first thread incorrectly unlocks the lower vnode.

Fix this by testing VN_IS_DOOMED directly.  Since
nullfs_unlink_lowervp() holds the vnode lock, the value of the
VIRF_DOOMED flag is stable.

Thanks to leres@ for patiently helping to track this down.

PR:             288345
MFC after:      1 week

    [5 lines not shown]
DeltaFile
+4-10sys/fs/nullfs/null_vfsops.c
+4-101 files