Date: Tue, 10 Feb 2026 18:17:08 +0000 From: Gordon Tetlow <gordon@FreeBSD.org> To: doc-committers@FreeBSD.org, dev-commits-doc-all@FreeBSD.org Subject: git: 39ccac62fe - main - Add EN-26:04 and SA-26:03. Message-ID: <698b7624.278f6.3ad8234f@gitrepo.freebsd.org>
index | next in thread | raw e-mail
The branch main has been updated by gordon: URL: https://cgit.FreeBSD.org/doc/commit/?id=39ccac62fee45238b6eb6016c0c1e24b2eeed904 commit 39ccac62fee45238b6eb6016c0c1e24b2eeed904 Author: Gordon Tetlow <gordon@FreeBSD.org> AuthorDate: 2026-02-10 18:16:46 +0000 Commit: Gordon Tetlow <gordon@FreeBSD.org> CommitDate: 2026-02-10 18:16:46 +0000 Add EN-26:04 and SA-26:03. Approved by: so --- website/data/security/advisories.toml | 4 + website/data/security/errata.toml | 4 + .../security/advisories/FreeBSD-EN-26:04.arm64.asc | 137 ++++++++++++++++ .../advisories/FreeBSD-SA-26:03.blocklistd.asc | 164 +++++++++++++++++++ .../static/security/patches/EN-26:04/arm64.patch | 22 +++ .../security/patches/EN-26:04/arm64.patch.asc | 16 ++ .../security/patches/SA-26:03/blocklistd.patch | 173 +++++++++++++++++++++ .../security/patches/SA-26:03/blocklistd.patch.asc | 16 ++ 8 files changed, 536 insertions(+) diff --git a/website/data/security/advisories.toml b/website/data/security/advisories.toml index 6623b3623e..c1c95b201a 100644 --- a/website/data/security/advisories.toml +++ b/website/data/security/advisories.toml @@ -1,6 +1,10 @@ # Sort advisories by year, month and day # $FreeBSD$ +[[advisories]] +name = "FreeBSD-SA-26:03.blocklistd" +date = "2026-02-10" + [[advisories]] name = "FreeBSD-SA-26:02.jail" date = "2026-01-27" diff --git a/website/data/security/errata.toml b/website/data/security/errata.toml index 24f08a7faf..63b6c21292 100644 --- a/website/data/security/errata.toml +++ b/website/data/security/errata.toml @@ -1,6 +1,10 @@ # Sort errata notices by year, month and day # $FreeBSD$ +[[notices]] +name = "FreeBSD-EN-26:04.arm64" +date = "2026-02-10" + [[notices]] name = "FreeBSD-EN-26:03.vm" date = "2026-01-27" diff --git a/website/static/security/advisories/FreeBSD-EN-26:04.arm64.asc b/website/static/security/advisories/FreeBSD-EN-26:04.arm64.asc new file mode 100644 index 0000000000..a7f6e08e82 --- /dev/null +++ b/website/static/security/advisories/FreeBSD-EN-26:04.arm64.asc @@ -0,0 +1,137 @@ +-----BEGIN PGP SIGNED MESSAGE----- +Hash: SHA512 + +============================================================================= +FreeBSD-EN-26:04.arm64 Errata Notice + The FreeBSD Project + +Topic: Kernel panic when dumping process core on arm64 + +Category: core +Module: arm64 +Announced: 2026-02-10 +Affects: FreeBSD 15.0 +Corrected: 2026-02-09 16:28:38 UTC (stable/15, 15.0-STABLE) + 2026-02-10 17:56:09 UTC (releng/15.0, 15.0-RELEASE-p3) + +For general information regarding FreeBSD Errata Notices and Security +Advisories, including descriptions of the fields above, security +branches, and the following sections, please visit +<URL:https://security.FreeBSD.org/>. + +I. Background + +Scalable Vector Extension (SVE) is an extension of the arm64 instruction set +providing SIMD functionality. + +II. Problem Description + +When dumping a process core, if SVE is enabled, the kernel will include an ELF +note in the coredump containing the process' SVE register contents. The +implementation first checks to see if the process has SVE enabled, as part of +pre-calculcating the size of the core dump notes, then checks a second time +when actually populating the note. + +III. Impact + +The bug could cause a kernel panic. + +IV. Workaround + +No workaround is available. Non-arm64 systems are not affected, and arm64 +systems without SVE are not affected. + +V. Solution + +Upgrade your system to a supported FreeBSD stable or release / security +branch (releng) dated after the correction date. + +Perform one of the following: + +1) To update your system installed from base system packages: + +Systems running a 15.0-RELEASE version of FreeBSD on the amd64 or arm64 +platforms, which were installed using base system packages, can be updated +via the pkg(8) utility: + +# pkg upgrade -r FreeBSD-base +# shutdown -r +10min "Rebooting for an erratum fix" + +2) To update your system installed from binary distribution sets: + +Systems running a RELEASE version of FreeBSD on the amd64 or arm64 platforms, +or the i386 platform on FreeBSD 13, which were not installed using base +system packages, can be updated via the freebsd-update(8) utility: + +# freebsd-update fetch +# freebsd-update install +# shutdown -r +10min "Rebooting for an erratum fix" + +3) To update your system via a source code patch: + +The following patches have been verified to apply to the applicable +FreeBSD release branches. + +a) Download the relevant patch from the location below, and verify the +detached PGP signature using your PGP utility. + +# fetch https://security.FreeBSD.org/patches/EN-26:04/arm64.patch +# fetch https://security.FreeBSD.org/patches/EN-26:04/arm64.patch.asc +# gpg --verify arm64.patch.asc + +b) Apply the patch. Execute the following commands as root: + +# cd /usr/src +# patch < /path/to/patch + +c) Recompile your kernel as described in +<URL:https://www.FreeBSD.org/handbook/kernelconfig.html> and reboot the +system. + +VI. Correction details + +This issue is corrected as of the corresponding Git commit hash in the +following stable and release branches: + +Branch/path Hash Revision +- ------------------------------------------------------------------------- +stable/15/ c70a68bbdbf6 stable/15-n282182 +releng/15.0/ 539bbdbd3b0c releng/15.0-n281006 +- ------------------------------------------------------------------------- + +Run the following command to see which files were modified by a +particular commit: + +# git show --stat <commit hash> + +Or visit the following URL, replacing NNNNNN with the hash: + +<URL:https://cgit.freebsd.org/src/commit/?id=NNNNNN> + +To determine the commit count in a working tree (for comparison against +nNNNNNN in the table above), run: + +# git rev-list --count --first-parent HEAD + +VII. References + +<URL:https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=292195> + +The latest revision of this advisory is available at +<URL:https://security.FreeBSD.org/advisories/FreeBSD-EN-26:04.arm64.asc> +-----BEGIN PGP SIGNATURE----- + +iQIzBAEBCgAdFiEEthUnfoEIffdcgYM7bljekB8AGu8FAmmLdYkACgkQbljekB8A +Gu9GDxAAr/APqA0OICssli9j4S+QB6rIeuBjXMIvMqpbUHC2s8Sk3lT75QusaXet +yAeXatOXfUyfYgdggyAomUBIelpLB9u6UmSroaxt/qTOXBx3a8fyvA5h8PR9dIoc +4CjVNYFt4TyiGvowt+ZxxrnC90v/rWKbS/b3SRAMHoUKdImMIrBd1JAcYj0nvLdK +GduJ/GE85NhYjXExdSMtE56rFuHoMihFDgDSXgkxyXKjWlVaPyBzBzStucaw9KIl +b/BuyoKG/Q6vEB1Hv5cgWOnZC9wx6vqZ4OsrLKB9eTZFaBnWFMVLizUVx3PlAdv0 +a1wbrLTqKYmspUn4mIphLVorIuOGED1Rq3HjBGyvZ5sDzqluFqvHUhGfQMam0L8z +BUgcfBROAollz6VK2fUu1y6gVPPD7FkFeINIn6iyFrHc6TjF4pIqrSq5jra53nCA +0tdqu+wiqSyZBRwpqKkLyxDrGLywWeZxqQ3PweLaxhgAbgt72qvxq+NRrBvz1hgU +AioF6hRXwgGgKTadcTd6ffvXsES3EfN8sjJSwAjfyUf6KyAsm0caFkIBctcBsX+M +AadadpYTh9NnVzNz1DvPi1BR1RRnUmaiJLUKBlQsWjDJ+Hrk+jHFXSAlOfZqLUlj +sZmUOGDjW7nuu97aa7oeYaYQXQE/cN3IIlzqoZ+dg+jRv2v5dZ4= +=lHox +-----END PGP SIGNATURE----- diff --git a/website/static/security/advisories/FreeBSD-SA-26:03.blocklistd.asc b/website/static/security/advisories/FreeBSD-SA-26:03.blocklistd.asc new file mode 100644 index 0000000000..fbf716efcd --- /dev/null +++ b/website/static/security/advisories/FreeBSD-SA-26:03.blocklistd.asc @@ -0,0 +1,164 @@ +-----BEGIN PGP SIGNED MESSAGE----- +Hash: SHA512 + +============================================================================= +FreeBSD-SA-26:03.blocklistd Security Advisory + The FreeBSD Project + +Topic: blocklistd(8) socket leak + +Category: core +Module: blocklistd +Announced: 2026-02-10 +Affects: FreeBSD 15.0 +Corrected: 2026-02-10 01:39:29 UTC (stable/15, 15.0-STABLE) + 2026-02-10 17:56:11 UTC (releng/15.0, 15.0-RELEASE-p3) +CVE Name: CVE-2026-2261 + +For general information regarding FreeBSD Security Advisories, +including descriptions of the fields above, security branches, and the +following sections, please visit <URL:https://security.FreeBSD.org/>. + +I. Background + +The blocklistd(8) service keeps a database of IP addresses associated with +certain adverse events reported by other system services, such as failed ssh +logins or emails submitted to non-existent recipients. Once an IP address has +exceeded a configured number of adverse events, blocklistd runs a helper script +which performs a preprogrammed action, usually adding the IP address to a +packet filter blocklist. After a certain amount of time has elapsed, the same +helper script is run again to unblock the address. + +The blocklistd service was previously known as blacklistd and is present under +both names in FreeBSD 15.0-RELEASE. + +II. Problem Description + +Due to a programming error, blocklistd leaks a socket descriptor for each +adverse event report it receives. + +Once a certain number of leaked sockets is reached, blocklistd +becomes unable to run the helper script: a child process is forked, but +this child dereferences a null pointer and crashes before it is able to +exec the helper. At this point, blocklistd still records adverse events +but is unable to block new addresses or unblock addresses whose database +entries have expired. + +Once a second, much higher number of leaked sockets is reached, +blocklistd becomes unable to receive new adverse event reports. + +III. Impact + +An attacker may take advantage of this by triggering a large number of adverse +events from sacrificial IP addresses to effectively disable blocklistd before +launching an attack. + +Even in the absence of attacks or probes by would-be attackers, adverse events +will occur regularly in the course of normal operations, and blocklistd will +gradually run out file descriptors and become ineffective. + +The accumulation of open sockets may have knock-on effects on other parts of +the system, resulting in a general slowdown until blocklistd is restarted. + +IV. Workaround + +The issue can be mitigated to a certain extent by regularly restarting +the blocklistd service. + +However, a determined attacker with access to a sufficiently large pool +of sacrificial IP addresses will be able to disable blocklistd in a +matter of minutes, or hours at most. + +V. Solution + +Upgrade your vulnerable system to a supported FreeBSD stable or +release / security branch (releng) dated after the correction date. + +Perform one of the following: + +1) To update your vulnerable system installed from base system packages: + +Systems running a 15.0-RELEASE version of FreeBSD on the amd64 or arm64 +platforms, which were installed using base system packages, can be updated +via the pkg(8) utility: + +# pkg upgrade -r FreeBSD-base + +2) To update your vulnerable system installed from binary distribution sets: + +Systems running a RELEASE version of FreeBSD on the amd64 or arm64 platforms, +or the i386 platform on FreeBSD 13, which were not installed using base +system packages, can be updated via the freebsd-update(8) utility: + +# freebsd-update fetch +# freebsd-update install + +3) To update your vulnerable system via a source code patch: + +The following patches have been verified to apply to the applicable +FreeBSD release branches. + +a) Download the relevant patch from the location below, and verify the +detached PGP signature using your PGP utility. + +# fetch https://security.FreeBSD.org/patches/SA-26:03/blocklistd.patch +# fetch https://security.FreeBSD.org/patches/SA-26:03/blocklistd.patch.asc +# gpg --verify blocklistd.patch.asc + +b) Apply the patch. Execute the following commands as root: + +# cd /usr/src +# patch < /path/to/patch + +c) Recompile the operating system using buildworld and installworld as +described in <URL:https://www.FreeBSD.org/handbook/makeworld.html>. + +Restart the applicable daemons, or reboot the system. + +VI. Correction details + +This issue is corrected as of the corresponding Git commit hash in the +following stable and release branches: + +Branch/path Hash Revision +- ------------------------------------------------------------------------- +stable/15/ 1864a03eb2ac stable/15-n282210 +releng/15.0/ e4781e4e6d88 releng/15.0-n281007 +- ------------------------------------------------------------------------- + +Run the following command to see which files were modified by a +particular commit: + +# git show --stat <commit hash> + +Or visit the following URL, replacing NNNNNN with the hash: + +<URL:https://cgit.freebsd.org/src/commit/?id=NNNNNN> + +To determine the commit count in a working tree (for comparison against +nNNNNNN in the table above), run: + +# git rev-list --count --first-parent HEAD + +VII. References + +<URL:https://www.cve.org/CVERecord?id=CVE-2026-2261> + +The latest revision of this advisory is available at +<URL:https://security.FreeBSD.org/advisories/FreeBSD-SA-26:03.blocklistd.asc> +-----BEGIN PGP SIGNATURE----- + +iQIzBAEBCgAdFiEEthUnfoEIffdcgYM7bljekB8AGu8FAmmLdZIACgkQbljekB8A +Gu849BAAnzXfP+LqpZM2dIPVMma5fHyMKNYSCa3nCS5cBSXgnodaM8KW2W0tuPRA +2NlMU4LUtDng0+UCm3SDVOZRvHL37/2TfaIheCs0QCmLirG78NDweHntEMHQGqUP +vsdQ1kfdkRm1VJyqE8INsSOdlE8YwCywM+HXjEhjv5VNTzzVZOj3cnlNABgrrCq7 +DcKuCZ9uDZRva+X71YRs3n9ZWghSuONB9ycys2YdYG3fp2wEMUpwEsRFjR1oYWOM +JjmlvfXJSeNq4vXd425zX3trLunVEqRVEaLtkl3NDx7/fVAN05MrXx5eB7oTBa5X +9NzFDdQpJZw3Fk7B6cRUZa4v/mPFc2ZrfMKEIrMz+7brVl5InSjvi7ne3ERRujr0 +Db4Kbf9XrAx1NaFXrffU6jmVrhZOz7Z9Y+H+1V7yCYZiShkwz2rrghghcrH3QH0x +2jJXsT+M5lYDA2oFPc0eXPtlidrmCcWHMVM4b8xkZ/tBCaq31F4T7RWXj0QiO44Z +7AlV7ejZquknMA0gNmmOrOMW3kQcCUwJA0SBXcQ7WE5sgnQeXdZcl9wWtSkjYuhr +g1YHde8rNUNcHBC+FPZlru/PsuOrc1/XzdjO4uRpSEK++hOR4ZmLUBThd+u8H9b4 +bA9kCxgNwfuOq9c3hYhFjWme+kxHRLRAdn4un19zLwUvaqLqS0k= +=1MK1 +-----END PGP SIGNATURE----- diff --git a/website/static/security/patches/EN-26:04/arm64.patch b/website/static/security/patches/EN-26:04/arm64.patch new file mode 100644 index 0000000000..49eab05c0b --- /dev/null +++ b/website/static/security/patches/EN-26:04/arm64.patch @@ -0,0 +1,22 @@ +--- sys/arm64/arm64/vfp.c.orig ++++ sys/arm64/arm64/vfp.c +@@ -934,6 +934,9 @@ + + pcb = td->td_pcb; + ++ if (td == curthread && (pcb->pcb_fpflags & PCB_FP_STARTED) != 0) ++ vfp_save_state(td, pcb); ++ + /* If there is no SVE support in HW then we don't support NT_ARM_SVE */ + if (pcb->pcb_sve_len == 0) + return (false); +@@ -955,9 +958,6 @@ + KASSERT(*sizep == sizeof(struct svereg_header) + buf_size, + ("%s: invalid size", __func__)); + +- if (td == curthread && (pcb->pcb_fpflags & PCB_FP_STARTED) != 0) +- vfp_save_state(td, pcb); +- + header = buf; + memset(header, 0, sizeof(*header)); + diff --git a/website/static/security/patches/EN-26:04/arm64.patch.asc b/website/static/security/patches/EN-26:04/arm64.patch.asc new file mode 100644 index 0000000000..8c0aaee022 --- /dev/null +++ b/website/static/security/patches/EN-26:04/arm64.patch.asc @@ -0,0 +1,16 @@ +-----BEGIN PGP SIGNATURE----- + +iQIzBAABCgAdFiEEthUnfoEIffdcgYM7bljekB8AGu8FAmmLdZEACgkQbljekB8A +Gu8lYQ//XPC/xi9ll2qHWYjM4PTuwuRA5qepfQ0hUJUMXmA6XNYGhnC7npNuvuw3 +njSjg+BkJQoXSSGCRBEBF+eVdbm/QPIgBt9snxW3WF7BRe4YrSKGl8apblgfjkEw +/6eJHVFrTFFVwKskcwzyHGNuGr5I3Gg1wahKuicLm3FES5+niQ5HW0C/Jfb3VDtX +ZMxZL8PLUpDwuwK475fRsLHj5w8Cz/DzltGSSDGjmSKeho6WF8bs9z4nJT5BEr5s +1FmbCTuaUYpmHRcCpHNgCAOVrJdi59VQz/t+tMLtMGLI5G+val6RLqX/MjnZTdAC +LaelwffoxTSrMjUd3bsqlXEjk44TMT/Ze+aHUjw0CMlG0Eb+69tc1Ld67qXBaw2H +/bAMB6BMpSG0tpxEGjV+RqVaU3CE1F8udcDeqOEWwzTm5pipl7N4flELyt+v29/1 +kqnyOOT6DUl8Gfvz65791/4THMv6wVpoXzL9bXv6N/OmjoiVarVMIPugHllOrAhZ +OdOmRZj9Qqp/VJTYvuIbheP0uHwdcR6Nhest6TAoh30lg/B9bQTs70mCkv+fQ5sB +knw2cDADpS1n3RMKGLKfzNgkKSUExnV+zDDg7+VK7HXdbq6TH6L2bYVZeDSAs/VE +K06QlnExJzo7gJgUsBlKyBgGMfS6Db/i9Mtb4Kk+H2qb66cZjlk= +=8f4X +-----END PGP SIGNATURE----- diff --git a/website/static/security/patches/SA-26:03/blocklistd.patch b/website/static/security/patches/SA-26:03/blocklistd.patch new file mode 100644 index 0000000000..a411292473 --- /dev/null +++ b/website/static/security/patches/SA-26:03/blocklistd.patch @@ -0,0 +1,173 @@ +--- contrib/blocklist/bin/blacklistd.c.orig ++++ contrib/blocklist/bin/blacklistd.c +@@ -191,7 +191,7 @@ + } + + if (getremoteaddress(bi, &rss, &rsl) == -1) +- return; ++ goto out; + + if (debug || bi->bi_msg[0]) { + sockaddr_snprintf(rbuf, sizeof(rbuf), "%a:%p", (void *)&rss); +@@ -204,12 +204,12 @@ + + if (conf_find(bi->bi_fd, bi->bi_uid, &rss, &c) == NULL) { + (*lfun)(LOG_DEBUG, "no rule matched"); +- return; ++ goto out; + } + + + if (state_get(state, &c, &dbi) == -1) +- return; ++ goto out; + + if (debug) { + char b1[128], b2[128]; +@@ -269,6 +269,8 @@ + state_put(state, &c, &dbi); + + out: ++ close(bi->bi_fd); ++ + if (debug) { + char b1[128], b2[128]; + (*lfun)(LOG_DEBUG, "%s: final db state for %s: count=%d/%d " +--- contrib/blocklist/bin/blocklistd.c.orig ++++ contrib/blocklist/bin/blocklistd.c +@@ -191,7 +191,7 @@ + } + + if (getremoteaddress(bi, &rss, &rsl) == -1) +- return; ++ goto out; + + if (debug || bi->bi_msg[0]) { + sockaddr_snprintf(rbuf, sizeof(rbuf), "%a:%p", (void *)&rss); +@@ -204,12 +204,12 @@ + + if (conf_find(bi->bi_fd, bi->bi_uid, &rss, &c) == NULL) { + (*lfun)(LOG_DEBUG, "no rule matched"); +- return; ++ goto out; + } + + + if (state_get(state, &c, &dbi) == -1) +- return; ++ goto out; + + if (debug) { + char b1[128], b2[128]; +@@ -269,6 +269,8 @@ + state_put(state, &c, &dbi); + + out: ++ close(bi->bi_fd); ++ + if (debug) { + char b1[128], b2[128]; + (*lfun)(LOG_DEBUG, "%s: final db state for %s: count=%d/%d " +--- contrib/blocklist/port/popenve.c.orig ++++ contrib/blocklist/port/popenve.c +@@ -111,11 +111,25 @@ + #endif + } + +- if ((cur = malloc(sizeof(*cur))) != NULL) +- return cur; ++ if ((cur = malloc(sizeof(*cur))) != NULL) { ++ if (**type == 'r') { ++ cur->fp = fdopen(pdes[0], *type); ++#ifdef _REENTRANT ++ cur->fd = pdes[0]; ++#endif ++ } else { ++ cur->fp = fdopen(pdes[1], *type); ++#ifdef _REENTRANT ++ cur->fd = pdes[1]; ++#endif ++ } ++ if (cur->fp != NULL) ++ return cur; ++ } + serrno = errno; + (void)close(pdes[0]); + (void)close(pdes[1]); ++ free(cur); + errno = serrno; + return NULL; + } +@@ -125,16 +139,6 @@ + { + struct pid *old; + +- /* POSIX.2 B.3.2.2 "popen() shall ensure that any streams +- from previous popen() calls that remain open in the +- parent process are closed in the new child process. */ +- for (old = pidlist; old; old = old->next) +-#ifdef _REENTRANT +- (void)close(old->fd); /* don't allow a flush */ +-#else +- (void)close(fileno(old->fp)); /* don't allow a flush */ +-#endif +- + if (type[0] == 'r') { + (void)close(pdes[0]); + if (pdes[1] != STDOUT_FILENO) { +@@ -150,31 +154,30 @@ + (void)close(pdes[0]); + } + } ++ ++ /* POSIX.2 B.3.2.2 "popen() shall ensure that any streams ++ from previous popen() calls that remain open in the ++ parent process are closed in the new child process. */ ++ for (old = pidlist; old; old = old->next) { ++#ifdef _REENTRANT ++ (void)close(old->fd); /* don't allow a flush */ ++#else ++ (void)close(fileno(old->fp)); /* don't allow a flush */ ++#endif ++ } + } + + static void + pdes_parent(int *pdes, struct pid *cur, pid_t pid, const char *type) + { +- FILE *iop; +- +- /* Parent; assume fdopen can't fail. */ +- if (*type == 'r') { +- iop = fdopen(pdes[0], type); +-#ifdef _REENTRANT +- cur->fd = pdes[0]; +-#endif ++ /* Parent */ ++ if (*type == 'r') + (void)close(pdes[1]); +- } else { +- iop = fdopen(pdes[1], type); +-#ifdef _REENTRANT +- cur->fd = pdes[1]; +-#endif ++ else + (void)close(pdes[0]); +- } + + /* Link into list of file descriptors. */ +- cur->fp = iop; +- cur->pid = pid; ++ cur->pid = pid; + cur->next = pidlist; + pidlist = cur; + } +@@ -200,7 +203,7 @@ + #ifdef _REENTRANT + (void)rwlock_rdlock(&pidlist_lock); + #endif +- switch (pid = vfork()) { ++ switch (pid = fork()) { + case -1: /* Error. */ + serrno = errno; + #ifdef _REENTRANT diff --git a/website/static/security/patches/SA-26:03/blocklistd.patch.asc b/website/static/security/patches/SA-26:03/blocklistd.patch.asc new file mode 100644 index 0000000000..faf670e149 --- /dev/null +++ b/website/static/security/patches/SA-26:03/blocklistd.patch.asc @@ -0,0 +1,16 @@ +-----BEGIN PGP SIGNATURE----- + +iQIzBAABCgAdFiEEthUnfoEIffdcgYM7bljekB8AGu8FAmmLdZMACgkQbljekB8A +Gu8QYQ//aJxjOxEDunwQsv8aCspVlGm6up5wiUFnh6xF3aXytVbCJDBT4pALRAFD +ZSDD1GloBuZZnFQ9J1936gRYV646XKy0LX2BChWCggeKknT8hnzTa/V90IbXD6Vs +t2qgN2kjLceRXR95nDl4GLPh7eaob2Ha+skPwXoRA/gEM0zhO7F2m5aaNh1EXtjh +PvfuHAM2Q12nQXiM6dBmQaFhdK9JvVVYE8OUjn6ZiRPDaqSMR4rVusy50RpXMn0c +lEaI17FZZ7AQfS4c8SwrCiWcemkJJlGWHjhbIN8tH6PxehE5mMyaCT5lIzOg1cdg +SIbJzx1yRGmdFpY7xL56Jw36LrEjHiV6j3mok61qLq+KLa+02Eb7p24KjUsNX/qI +v6v6dYnKeZ98bJmSR6WzPx8oz7+TyR/MrsxCYyNGKyXBXQ59VJXQ9S9Rpl3MyR74 +KYwtKbokIEQbE6wVTh30AAcCgC/jNaE1MGsf3fwVMW1Gq8N+9z7QmNnhAPyzTyuZ +UVExbGU95dRe+hsdU2Gjtk0o9LzwLIXtynsKUapIeCuHd/QhshxuXx60xxyzG+J9 +KrpuFzbl0+tnhgp78aFkCJoCqSqJp16ZNmc6hpnKacnxnkMDvr1sGSRB27M6TZtZ +HFZij7LwR93nHKRdcyxc6A+hLTO2TLBALvZDGabI5/xHGGrrJKw= +=6vju +-----END PGP SIGNATURE-----home | help
Want to link to this message? Use this
URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?698b7624.278f6.3ad8234f>
