Commit graph

1346 commits

Author SHA1 Message Date
Bjoern A. Zeeb a7e1fc7f62 net80211: deal with lost state transitions
Since 5efea30f03 we can possibly lose a state transition which can
cause trouble further down the road.
The reproducer from 643d6dce6c can trigger these for example.
Drivers for firmware based wireless cards have worked around some of
this (and other) problems in the past.

Add an array of tasks rather than a single one as we would simply
get npending > 1 and lose order with other tasks.  Try to keep state
changes updated as queued in case we end up with more than one at a
time.  While this is not ideal either (call it a hack) it will sort
the problem for now.
We will queue in ieee80211_new_state_locked() and do checks there
and dequeue in ieee80211_newstate_cb().
If we still overrun the (currently) 8 slots we will drop the state
change rather than overwrite the last one.
When dequeing we will update iv_nstate and keep it around for historic
reasons for the moment.

The longer term we should make the callers of
ieee80211_new_state[_locked]() actually use the returned errors
and act appropriately but that will touch a lot more places and
drivers (possibly incl. changed behaviour for ioctls).

rtwn(4) and rum(4) should probably be revisted and net80211 internals
removed (for rum(4) at least the current logic still seems prone to
races).

PR:		271979, 271988, 275255, 263613, 274003
Sponsored by:	The FreeBSD Foundation (in 2023)
Reviewed by:	cc
Differential Revision: https://reviews.freebsd.org/D43389

(cherry picked from commit 713db49d06)

Given this changes the internal structure of 'struct ieee80211vap',
which gets allocated by the drivers, and we do not have enough
spares, all wireless drivers need to be recompiled.
Given we are forced to do the update, we leave fields in the middle
of the struct and add more spares at the same time.
__FreeBSD_version gets updated to 1303501 to be able to detect
this change.

(cherry picked from commit a890a3a5dd)
2024-02-19 08:02:01 +00:00
Gregory Neil Shapiro a64caf2cb2 Merge commit '850ef5ae11d69ea3381bd310f564f025fc8caea3'
Merge vendor sendmail 8.18.1 into HEAD

(cherry picked from commit d39bd2c138)

Add new source file for sendmail 8.18.1

(cherry picked from commit 19d4fb85bf)

New sendmail 8.18.1 cf file

(cherry picked from commit 1b6a5580c1)

Minor change to update these files so new freebsd*.cf files are
generated

(cherry picked from commit 2c191ba6b0)

Belatedly update version and date for sendmail 8.18.1 upgrade

(cherry picked from commit 31fbc98c94)

Add a note about sendmail 8.18.1's stricter SMTP protocol enforcement
(akin to commit 21c1f1deb6 in main)

Update import date for stable/14

Relnotes:	Yes
Security:	CVE-2023-51765
2024-02-07 02:47:40 +00:00
Dag-Erling Smørgrav 5761f8a7de libtacplus: Allow additional AV pairs to be configured.
* Replace hand-rolled input tokenizer with openpam_readlinev() which supports line continuations and has better quoting and escaping.
* Simplify string handling by merging struct clnt_str and struct srvr_str into just struct tac_str.
* Each server entry in the configuration file can now have up to 255 AV pairs which will be appended to the ones returned by the server in response to a successful authorization request.

This allows nss_tacplus(8) to be used with servers which do not provide identity information beyond confirming the existence of the user.

This adds a dependency on libpam, however libtacplus is currently only used by pam_tacplus(8) (which is already always used with libpam) and the very recently added nss_tacplus(8) (which is extremely niche).  In the longer term it might be a good idea to split this out into a separate library.

MFC after:	1 week
Sponsored by:	Klara, Inc.
Reviewed by:	pauamma_gundo.com, markj
Differential Revision:	https://reviews.freebsd.org/D40285
Relnotes:	yes

(cherry picked from commit 21850106fd)
2023-12-13 17:08:13 +01:00
Warner Losh 350f9ac5b3 Remove $FreeBSD$: one-line bare tag
Remove /^\s*\$FreeBSD\$$\n/

Similar commit in main:
(cherry picked from commit 05248206f7)
2023-08-23 11:43:33 -06:00
Doug Rabson 6dfb2c2dce pf: Add code to enable filtering for locally delivered packets
This is disabled by default since it potentially changes the behavior of
existing filter rule sets. To enable this extra filter for packets being
delivered locally, use:

	sysctl net.pf.filter_local=1
	service pf restart

PR:             268717
Reviewed-by:	kp
MFC-after:	2 weeks
Differential Revision: https://reviews.freebsd.org/D40373

(cherry picked from commit 3a1f834b52)
2023-07-14 11:07:58 +01:00
Graham Perrin 668c406ce5 UPDATING: Update release name and handbook link
Pull-Request: https://github.com/freebsd/freebsd-src/pull/714
Reviewed-by: imp
2023-05-18 08:18:43 -06:00
Ed Maste 982e61aacc Always install llvm-objdump as objdump
Instead of providing no /usr/bin/objdump when LLVM_BINUTILS is false.

PR:		267854 [exp-run]
Reviewed by:	dim
Sponsored by:	The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D37445

(cherry picked from commit 86edb11e74)
2023-04-04 21:33:57 -04:00
Bjoern A. Zeeb 5ca371f4f5 Bump __FreeBSD_version to 1302502 after LinuxKPI changes.
Help out-of-tree consumers detect changes to LinuxKPI pci and 802.11.
2023-02-17 23:42:17 +00:00
Bjoern A. Zeeb a478f4afd8 LinuxKPI: move pm_message_t from kernel.h to pm.h
Move pm_message_t from kernel.h to pm.h and remove a private define
in usb.h as well as adjust the implementation in linux_usb.c.
This cleans up what I believe to be a historic shortcut and is
needed for future wireless driver updates.

Leave a note in UPDATING that drm-kmod users need to update to the
latest version before re-compiling a new kernel to avoid errors
(see PR).

Sponsored by:	The FreeBSD Foundation
PR:		264449 (drm-kmod port update, thanks wulf)
Obtained from:	bz_git_iwlwifi (Dec 2020) (partly)
Reviewed by:	hselasky, imp
Differential Revision: https://reviews.freebsd.org/D35276

(cherry picked from commit 0e981d79b1)
2022-07-01 13:48:24 +00:00
Gordon Bergling f5c529fa5c UPDATING: Remove a double word in an entry
- s/for for/for/

(cherry picked from commit 75fccd670c)
2022-04-14 08:05:15 +02:00
Bjoern A. Zeeb 6663718bb4 Bump __FreeBSD_version to 1301501 after LinuxKPI and net80211
merges in order to help out-of-tree consumers to deal accordingly.

Sponsored by:	The FreeBSD Foundation
2022-03-27 20:12:03 +00:00
Ed Maste f50c1c5b7c Add UPDATING entry for PIE default
As of commit 9a227a2fd6 PIE is on by default for 64-bit architectures.

Relnotes:	yes
(cherry picked from commit ba7ede0b9b)
2022-01-23 11:12:28 +01:00
Stefan Eßer dc4114875e Make CPU_SET macros compliant with other implementations
(cherry picked from commit e2650af157)
2022-01-14 18:17:30 +02:00
Rick Macklem 1eaa8a2083 UPDATING: Add an entry for commit 18f5b477ee
This is a direct commit.
2021-12-18 14:48:20 -08:00
Rick Macklem f4e3699069 UPDATING: Add an entry for commit 6e8e261f0d
This is a direct commit.
2021-11-24 16:47:03 -08:00
Bjoern A. Zeeb 29745cf91c Bump __FreeBSD_version to 1300521.
Bump __FreeBSD_version to 1300521 after merging LinuxKPI and net80211
changes.
2021-11-19 00:09:37 +00:00
Rick Macklem 501cf43202 UPDATING: Add entry for commit a599f9f762 2021-10-03 15:54:33 -07:00
John Baldwin c8d58f20ac UPDATING: Add a note about OpenSSL defaulting KTLS to off.
Sponsored by:	Netflix
Differential Revision:	https://reviews.freebsd.org/D31444

(cherry picked from commit 671a35b176)
2021-08-23 18:00:17 -07:00
Kristof Provost 10ea921d32 UPDATING: Document the removal of DIOCGETSTATESNV
MFC after:	1 week
Sponsored by:	Rubicon Communications, LLC ("Netgate")

(cherry picked from commit 3412900333)
2021-08-06 23:49:48 +02:00
Rick Macklem 123fc95d47 UPDATING: Add an entry for commits 9fb6e61337 and 9ec7dbf46b
This is a direct commit.
2021-08-03 17:12:22 -07:00
Bjoern A. Zeeb f72db34d22 Bump __FreeBSD_version to 1300512 for LinuxKPI changes and OFED cleanup
from linux netdevice.h.  drm-kmod needs rebuilding after this.
2021-07-18 00:35:04 +00:00
Warner Losh d5c098328b UPDATING: Not unusual side effect of the awk bug fixed in 3e80446352
You might not be able to build the kernel if you have an awk between Jul
10th and today. It does not affect all platforms due to the nature of
the bug (so amd64 is unaffected in stable/13 or current, but is affected
in stable/12. i386 seems to be affected everywhere).

Sponsored by:		Netflix
2021-07-15 22:03:24 -06:00
Rick Macklem e5c2f39823 UPDATING: Add an entry for commit 8a04edfdcb
This is a direct commit.
2021-07-11 15:39:23 -07:00
Emmanuel Vadot 5ff72ce711 UPDATING: Add a note for pkgbase user for commit 632e3f2f3a 2021-06-30 09:27:03 +02:00
Rick Macklem d6805ab0df UPDATING: Add entry for commit 8410066787
This is a direct commit.
2021-06-26 16:20:19 -07:00
Rick Macklem 4e1c728f19 UPDATING: Add an entry for commit 272f399422 2021-05-10 08:20:48 -07:00
Glen Barber e4419043d1 UPDATING: dereference portupgrade(8)
Make the UPDATING file less tool-specific regarding upgrading
third-party software.

Sponsored by:	Rubicon Communications, LLC ("Netgate")

(cherry picked from commit 6dadf78f11)
2021-04-30 12:47:41 -04:00
Rick Macklem 00a7499bcb Add an UPDATING entry for commit 5a45802b3c 2021-04-29 18:40:04 -07:00
Bjoern A. Zeeb 91a07ed50f Bump __FreeBSD_version for multiple LinuxKPI updates conflicting
with DRM.  Be sure to update your drm-kmod port to after the update.

Sponsored-by:	The FreeBSD Foundation
2021-02-02 11:52:50 +00:00
Glen Barber bfd1570515 Create the stable/13 branch
Prune *-NODEBUG kernels.
Turn off debug options.
Bump to ALPHA2.

Approved by:	re (implicit)
Sponsored by:	Rubicon Communications, LLC ("Netgate")
2021-01-21 19:08:57 -05:00
Warner Losh 429c7d1ab4 pccard: Update UPDATING
Update the UPDATING file for PC Card device removal. Also note that
1300134 is used for the FreeBSD_version since wulf@ just bumped that
in the last few hours.
2021-01-07 20:41:08 -07:00
Vladimir Kondratyev 81098ca81d Set current date in to placeholders. 2021-01-08 03:15:07 +03:00
Vladimir Kondratyev a84b0e94cd hid: Add UPDATING entry and bump __FreeBSD_version
Reviewed by:	hselasky
Differential revision:	https://reviews.freebsd.org/D28019
2021-01-08 02:18:44 +03:00
Baptiste Daroussin 009c1100e5 UPDATING: we are now in 2021, bye 2020
Reported by:	N.J. Mann <njm@njm.me.uk>
2021-01-05 17:17:51 +01:00
Baptiste Daroussin bed70f83ac ncurses: document the change requires a clean build
Reporter by:	cy
2021-01-05 16:38:58 +01:00
Warner Losh 878d53410f UPDATING: Announce git transition
Add an entry for the transition to git.
2020-12-23 09:40:45 -07:00
Pedro F. Giffuni 228e2087a3 /etc/services: attempt to bring the database to this century 2/2.
This is the final half of splitting r358153 in two, in order to avoid a build
system bugs and being able to merge an earlier change to previous releases.

Add a note to UPDATING to avoid people building from very old systems from
having issues with mergemaster

MFC after:	3 days (only 12-stable)

Differential Revision:	https://reviews.freebsd.org/D23621
2020-12-17 02:54:32 +00:00
Ed Maste 1c0ea326aa Retire obsolete GDB 6.1.1
GDB 6.1.1 was released in June 2004 and is long obsolete. It does not
support all of the architectures that FreeBSD does, and imposes
limitations on the FreeBSD kernel build, such as the continued use of
DWARF2 debugging information.

It was kept (in /usr/libexec/) only for use by crashinfo(8), which
extracts some basic information from a kernel core dump after a crash.
Crashinfo already prefers gdb from port/package if installed.

Future work may add kernel debug support to LLDB or find another path
for crashinfo's needs, but in any case we do not want to ship the
excessively outdated GDB in FreeBSD 13.

Sponsored by:	The FreeBSD Foundation
Differential Revision:	https://reviews.freebsd.org/D27610
2020-12-15 17:44:19 +00:00
Alan Somers 3cde9171d2 Merge ping6 to ping
There is now a single ping binary, which chooses to use ICMP or ICMPv4
based on the -4 and -6 options, and the format of the address.

Submitted by:	Ján Sučan <sucanjan@gmail.com>
Sponsored by:	Google LLC (Google Summer of Code 2019)
MFC after:	Never
Differential Revision:	https://reviews.freebsd.org/D21377
2020-11-26 04:29:30 +00:00
Alexander V. Chernikov 2d39824195 Switch net.add_addr_allfibs default to 0.
The goal of the fib support is to provide multiple independent
 routing tables, isolated from each other.
net.add_addr_allfibs default tries to shift gears in the opposite
 direction, unconditionally inserting all addresses to all of the fibs.

There are use cases when this is necessary, however this is not a
 default expected behaviour, especially compared to other implementations.

Provide WARNING message for the setups with multiple fibs to notify
 potential users of the feature.

Differential Revision:	https://reviews.freebsd.org/D26076
2020-11-08 18:27:49 +00:00
Warner Losh d2799054f0 Also mention PORTS_MODULES
PORTS_MODULES is also an effective way to update the tree. Also
a minor rejustify on this an an adjacent paragraph.

Suggested by: David Wolfskill
2020-11-08 02:46:04 +00:00
Warner Losh cc408e29d0 Be explicit about recompiling all the modules...
Add a note about always recompiling all modules on every new kernel
change / update. In addition, suggest using /usr/local/sys/modules
so this happens automatically.
2020-11-08 02:20:21 +00:00
Stefan Eßer a97cfe08a7 Fix year in 2 most recent entries (2010 -> 2020)
Reported by:	mack@macktronics.com (Dan Mack)
2020-11-01 19:13:55 +00:00
Stefan Eßer 7afa1a753e Mention the more strict consistency checks performed by calendar(), which
can make the program abort with an error message on previously accepted
but malformed input files.
2020-10-31 16:39:27 +00:00
Colin Percival d8e59012e2 Attempt to defuse a land mine before anyone else steps on it: The
freebsd-boot partition is not always the first one.

Following the instructions in UPDATING resulted in my overwriting
the efiboot0 partition on my laptop with ZFS boot blocks, which
had negative effects on the system's bootability.

Reviewed by:	allanjude
Differential Revision:	https://reviews.freebsd.org/D27002
2020-10-31 03:36:31 +00:00
Warner Losh d20d655018 calendar: remove all datafiles except freebsd one
Move all the data files for the calendar(1) program, except
calendar.freebsd to the calendar-data package. When a file
can't be found, and /usr/local/share/calendar doesn't exist
provide a helpful hint to install this package.

Reviewed by: se@
Differential Revision:  https://reviews.freebsd.org/D26926
2020-10-26 03:26:18 +00:00
Li-Wen Hsu 0d948bff71 Correct the primary to find(1)
Sponsored by:	The FreeBSD Foundation
2020-10-09 04:03:57 +00:00
Warner Losh 7e46dafa58 Create in-tree LINT files
Now that config(8) has supported include for 19 years, transition to
including the NOTES files. include support didn't exist at the time,
nor did the envvar stuff recently added. Now that it does, eliminate
the building of LINT files by just including everything you need.

Note: This may cause conflicts with updating in some cases.
	find sys -name LINT\* -rm
is suggested across this commit to remove the generated LINT
files.

Reviewed by: kevans
Differential Revision: https://reviews.freebsd.org/D26540
2020-10-09 01:48:14 +00:00
Warner Losh dee0d87cc9 fix typo imorted -> imported.
Noticed by: Maigurs Stalidzans
2020-09-26 04:06:16 +00:00
Dimitry Andric 7d4374f65f Turn MALLOC_PRODUCTION into a regular src.conf(5) option
For historical reasons, defining MALLOC_PRODUCTION in /etc/make.conf has
been used to turn off potentially expensive debug checks and statistics
gathering in the implementation of malloc(3).

It seems more consistent to turn this into a regular src.conf(5) option,
e.g. WITH_MALLOC_PRODUCTION / WITHOUT_MALLOC_PRODUCTION. This can then
be toggled similar to any other source build option, and turned on or
off by default for e.g. stable branches.

Reviewed by:	imp, #manpages
MFC after:	1 week
Differential Revision: https://reviews.freebsd.org/D26337
2020-09-05 23:30:17 +00:00