2
0
mirror of https://github.com/vdukhovni/postfix synced 2025-09-01 14:45:32 +00:00

postfix-3.7-20211205

This commit is contained in:
Wietse Venema
2021-12-05 00:00:00 -05:00
committed by Viktor Dukhovni
parent 3b0ac407f3
commit f653a0d1fd
21 changed files with 174 additions and 104 deletions

View File

@@ -25936,3 +25936,23 @@ Apologies for any names omitted.
library is still supported). See RELEASE_NOTES for details. library is still supported). See RELEASE_NOTES for details.
Files: makedefs, util/dict_open.c, util.dict_pcre.c, Files: makedefs, util/dict_open.c, util.dict_pcre.c,
proto/pcre_table, proto/PCRE_README.html. proto/pcre_table, proto/PCRE_README.html.
20211129
Portability: defines for FreeBSD <= 14.x, OpenBSD 7.x, NetBSD <=
10.x. Brad Smith. Files: makedefs, util/sys_defs.h.
20211202
Cleanup: warning messages when a Diffie-Hellman parameter
file cannot be opened or parsed. Viktor Dukhovni. File:
tls/tls_dh.c.
20211204
Cleanup: parameter descriptions in manpages were frozen in the
past. Files: proto/aliases, src/local/local.c, src/pipe/pipe.c,
src/qmqpd/qmqpd.c, src/trivial-rewrite/trivial-rewrite.c.
Documentation: added a "howto tip" to the stock main.cf
file. File: conf/main.cf

View File

@@ -2,6 +2,10 @@
# of all parameters. For the syntax, and for a complete parameter # of all parameters. For the syntax, and for a complete parameter
# list, see the postconf(5) manual page (command: "man 5 postconf"). # list, see the postconf(5) manual page (command: "man 5 postconf").
# #
# TIP: use the command "postconf -n" to view main.cf parameter
# settings, "postconf parametername" to view a specific parameter,
# and "postconf 'parametername=value'" to set a specific parameter.
#
# For common configuration examples, see BASIC_CONFIGURATION_README # For common configuration examples, see BASIC_CONFIGURATION_README
# and STANDARD_CONFIGURATION_README. To find these documents, use # and STANDARD_CONFIGURATION_README. To find these documents, use
# the command "postconf html_directory readme_directory", or go to # the command "postconf html_directory readme_directory", or go to

View File

@@ -164,9 +164,8 @@ ALIASES(5) ALIASES(5)
set to "-". set to "-".
<b><a href="postconf.5.html#recipient_delimiter">recipient_delimiter</a> (empty)</b> <b><a href="postconf.5.html#recipient_delimiter">recipient_delimiter</a> (empty)</b>
The set of characters that can separate a user name from its The set of characters that can separate an email address local-
extension (example: user+foo), or a .forward file name from its part, user name, or a .forward file name from its extension.
extension (example: .forward+foo).
Available in Postfix version 2.3 and later: Available in Postfix version 2.3 and later:

View File

@@ -550,9 +550,8 @@ LOCAL(8) LOCAL(8)
The location of the Postfix top-level queue directory. The location of the Postfix top-level queue directory.
<b><a href="postconf.5.html#recipient_delimiter">recipient_delimiter</a> (empty)</b> <b><a href="postconf.5.html#recipient_delimiter">recipient_delimiter</a> (empty)</b>
The set of characters that can separate a user name from its The set of characters that can separate an email address local-
extension (example: user+foo), or a .forward file name from its part, user name, or a .forward file name from its extension.
extension (example: .forward+foo).
<b><a href="postconf.5.html#require_home_directory">require_home_directory</a> (no)</b> <b><a href="postconf.5.html#require_home_directory">require_home_directory</a> (no)</b>
Require that a <a href="local.8.html"><b>local</b>(8)</a> recipient's home directory exists before Require that a <a href="local.8.html"><b>local</b>(8)</a> recipient's home directory exists before

View File

@@ -443,9 +443,8 @@ PIPE(8) PIPE(8)
The location of the Postfix top-level queue directory. The location of the Postfix top-level queue directory.
<b><a href="postconf.5.html#recipient_delimiter">recipient_delimiter</a> (empty)</b> <b><a href="postconf.5.html#recipient_delimiter">recipient_delimiter</a> (empty)</b>
The set of characters that can separate a user name from its The set of characters that can separate an email address local-
extension (example: user+foo), or a .forward file name from its part, user name, or a .forward file name from its extension.
extension (example: .forward+foo).
<b><a href="postconf.5.html#syslog_facility">syslog_facility</a> (mail)</b> <b><a href="postconf.5.html#syslog_facility">syslog_facility</a> (mail)</b>
The syslog facility of Postfix logging. The syslog facility of Postfix logging.

View File

@@ -92,13 +92,15 @@ QMQPD(8) QMQPD(8)
<b>TROUBLE SHOOTING CONTROLS</b> <b>TROUBLE SHOOTING CONTROLS</b>
<b><a href="postconf.5.html#debug_peer_level">debug_peer_level</a> (2)</b> <b><a href="postconf.5.html#debug_peer_level">debug_peer_level</a> (2)</b>
The increment in verbose logging level when a remote client or The increment in verbose logging level when a nexthop destina-
server matches a pattern in the <a href="postconf.5.html#debug_peer_list">debug_peer_list</a> parameter. tion, remote client or server name or network address matches a
pattern given with the <a href="postconf.5.html#debug_peer_list">debug_peer_list</a> parameter.
<b><a href="postconf.5.html#debug_peer_list">debug_peer_list</a> (empty)</b> <b><a href="postconf.5.html#debug_peer_list">debug_peer_list</a> (empty)</b>
Optional list of remote client or server hostname or network Optional list of nexthop destination, remote client or server
address patterns that cause the verbose logging level to name or network address patterns that, if matched, cause the
increase by the amount specified in $<a href="postconf.5.html#debug_peer_level">debug_peer_level</a>. verbose logging level to increase by the amount specified in
$<a href="postconf.5.html#debug_peer_level">debug_peer_level</a>.
<b><a href="postconf.5.html#soft_bounce">soft_bounce</a> (no)</b> <b><a href="postconf.5.html#soft_bounce">soft_bounce</a> (no)</b>
Safety net to keep mail queued that would otherwise be returned Safety net to keep mail queued that would otherwise be returned

View File

@@ -124,9 +124,8 @@ TRIVIAL-REWRITE(8) TRIVIAL-REWRITE(8)
addresses that have no ".domain" information. addresses that have no ".domain" information.
<b><a href="postconf.5.html#recipient_delimiter">recipient_delimiter</a> (empty)</b> <b><a href="postconf.5.html#recipient_delimiter">recipient_delimiter</a> (empty)</b>
The set of characters that can separate a user name from its The set of characters that can separate an email address local-
extension (example: user+foo), or a .forward file name from its part, user name, or a .forward file name from its extension.
extension (example: .forward+foo).
<b><a href="postconf.5.html#swap_bangpath">swap_bangpath</a> (yes)</b> <b><a href="postconf.5.html#swap_bangpath">swap_bangpath</a> (yes)</b>
Enable the rewriting of "site!user" into "user@site". Enable the rewriting of "site!user" into "user@site".

View File

@@ -309,6 +309,24 @@ case "$SYSTEM.$RELEASE" in
: ${SHLIB_ENV="LD_LIBRARY_PATH=`pwd`/lib"} : ${SHLIB_ENV="LD_LIBRARY_PATH=`pwd`/lib"}
: ${PLUGIN_LD="${CC} -shared"} : ${PLUGIN_LD="${CC} -shared"}
;; ;;
FreeBSD.13*) SYSTYPE=FREEBSD13
: ${CC=cc}
: ${SHLIB_SUFFIX=.so}
: ${SHLIB_CFLAGS=-fPIC}
: ${SHLIB_LD="${CC} -shared"' -Wl,-soname,${LIB}'}
: ${SHLIB_RPATH='-Wl,-rpath,${SHLIB_DIR}'}
: ${SHLIB_ENV="LD_LIBRARY_PATH=`pwd`/lib"}
: ${PLUGIN_LD="${CC} -shared"}
;;
FreeBSD.14*) SYSTYPE=FREEBSD14
: ${CC=cc}
: ${SHLIB_SUFFIX=.so}
: ${SHLIB_CFLAGS=-fPIC}
: ${SHLIB_LD="${CC} -shared"' -Wl,-soname,${LIB}'}
: ${SHLIB_RPATH='-Wl,-rpath,${SHLIB_DIR}'}
: ${SHLIB_ENV="LD_LIBRARY_PATH=`pwd`/lib"}
: ${PLUGIN_LD="${CC} -shared"}
;;
DragonFly.*) SYSTYPE=DRAGONFLY DragonFly.*) SYSTYPE=DRAGONFLY
;; ;;
OpenBSD.2*) SYSTYPE=OPENBSD2 OpenBSD.2*) SYSTYPE=OPENBSD2
@@ -335,6 +353,15 @@ case "$SYSTEM.$RELEASE" in
: ${SHLIB_ENV="LD_LIBRARY_PATH=`pwd`/lib"} : ${SHLIB_ENV="LD_LIBRARY_PATH=`pwd`/lib"}
: ${PLUGIN_LD="${CC} -shared"} : ${PLUGIN_LD="${CC} -shared"}
;; ;;
OpenBSD.7*) SYSTYPE=OPENBSD7
: ${CC=cc}
: ${SHLIB_SUFFIX=.so.1.0}
: ${SHLIB_CFLAGS=-fPIC}
: ${SHLIB_LD="${CC} -shared"' -Wl,-soname,${LIB}'}
: ${SHLIB_RPATH='-Wl,-rpath,${SHLIB_DIR}'}
: ${SHLIB_ENV="LD_LIBRARY_PATH=`pwd`/lib"}
: ${PLUGIN_LD="${CC} -shared"}
;;
ekkoBSD.1*) SYSTYPE=EKKOBSD1 ekkoBSD.1*) SYSTYPE=EKKOBSD1
;; ;;
NetBSD.1*) SYSTYPE=NETBSD1 NetBSD.1*) SYSTYPE=NETBSD1
@@ -363,6 +390,30 @@ case "$SYSTEM.$RELEASE" in
: ${SHLIB_ENV="LD_LIBRARY_PATH=`pwd`/lib"} : ${SHLIB_ENV="LD_LIBRARY_PATH=`pwd`/lib"}
: ${PLUGIN_LD="${CC-gcc} -shared"} : ${PLUGIN_LD="${CC-gcc} -shared"}
;; ;;
NetBSD.8*) SYSTYPE=NETBSD8
: ${SHLIB_SUFFIX=.so}
: ${SHLIB_CFLAGS=-fPIC}
: ${SHLIB_LD="${CC-gcc} -shared"' -Wl,-soname,${LIB}'}
: ${SHLIB_RPATH='-Wl,-rpath,${SHLIB_DIR}'}
: ${SHLIB_ENV="LD_LIBRARY_PATH=`pwd`/lib"}
: ${PLUGIN_LD="${CC-gcc} -shared"}
;;
NetBSD.9*) SYSTYPE=NETBSD9
: ${SHLIB_SUFFIX=.so}
: ${SHLIB_CFLAGS=-fPIC}
: ${SHLIB_LD="${CC-gcc} -shared"' -Wl,-soname,${LIB}'}
: ${SHLIB_RPATH='-Wl,-rpath,${SHLIB_DIR}'}
: ${SHLIB_ENV="LD_LIBRARY_PATH=`pwd`/lib"}
: ${PLUGIN_LD="${CC-gcc} -shared"}
;;
NetBSD.10*) SYSTYPE=NETBSD10
: ${SHLIB_SUFFIX=.so}
: ${SHLIB_CFLAGS=-fPIC}
: ${SHLIB_LD="${CC-gcc} -shared"' -Wl,-soname,${LIB}'}
: ${SHLIB_RPATH='-Wl,-rpath,${SHLIB_DIR}'}
: ${SHLIB_ENV="LD_LIBRARY_PATH=`pwd`/lib"}
: ${PLUGIN_LD="${CC-gcc} -shared"}
;;
BSD/OS.2*) SYSTYPE=BSDI2 BSD/OS.2*) SYSTYPE=BSDI2
;; ;;
BSD/OS.3*) SYSTYPE=BSDI3 BSD/OS.3*) SYSTYPE=BSDI3

View File

@@ -180,9 +180,8 @@ Enable special treatment for owner\-\fIlistname\fR entries in the
\fIlistname\fR\-request address localparts when the recipient_delimiter \fIlistname\fR\-request address localparts when the recipient_delimiter
is set to "\-". is set to "\-".
.IP "\fBrecipient_delimiter (empty)\fR" .IP "\fBrecipient_delimiter (empty)\fR"
The set of characters that can separate a user name from its The set of characters that can separate an email address
extension (example: user+foo), or a .forward file name from its localpart, user name, or a .forward file name from its extension.
extension (example: .forward+foo).
.PP .PP
Available in Postfix version 2.3 and later: Available in Postfix version 2.3 and later:
.IP "\fBfrozen_delivered_to (yes)\fR" .IP "\fBfrozen_delivered_to (yes)\fR"

View File

@@ -585,9 +585,8 @@ key to the lookup result.
.IP "\fBqueue_directory (see 'postconf -d' output)\fR" .IP "\fBqueue_directory (see 'postconf -d' output)\fR"
The location of the Postfix top\-level queue directory. The location of the Postfix top\-level queue directory.
.IP "\fBrecipient_delimiter (empty)\fR" .IP "\fBrecipient_delimiter (empty)\fR"
The set of characters that can separate a user name from its The set of characters that can separate an email address
extension (example: user+foo), or a .forward file name from its localpart, user name, or a .forward file name from its extension.
extension (example: .forward+foo).
.IP "\fBrequire_home_directory (no)\fR" .IP "\fBrequire_home_directory (no)\fR"
Require that a \fBlocal\fR(8) recipient's home directory exists Require that a \fBlocal\fR(8) recipient's home directory exists
before mail delivery is attempted. before mail delivery is attempted.

View File

@@ -427,9 +427,8 @@ The process name of a Postfix command or daemon process.
.IP "\fBqueue_directory (see 'postconf -d' output)\fR" .IP "\fBqueue_directory (see 'postconf -d' output)\fR"
The location of the Postfix top\-level queue directory. The location of the Postfix top\-level queue directory.
.IP "\fBrecipient_delimiter (empty)\fR" .IP "\fBrecipient_delimiter (empty)\fR"
The set of characters that can separate a user name from its The set of characters that can separate an email address
extension (example: user+foo), or a .forward file name from its localpart, user name, or a .forward file name from its extension.
extension (example: .forward+foo).
.IP "\fBsyslog_facility (mail)\fR" .IP "\fBsyslog_facility (mail)\fR"
The syslog facility of Postfix logging. The syslog facility of Postfix logging.
.IP "\fBsyslog_name (see 'postconf -d' output)\fR" .IP "\fBsyslog_name (see 'postconf -d' output)\fR"

View File

@@ -106,12 +106,13 @@ The time limit for sending or receiving information over the network.
.ad .ad
.fi .fi
.IP "\fBdebug_peer_level (2)\fR" .IP "\fBdebug_peer_level (2)\fR"
The increment in verbose logging level when a remote client or The increment in verbose logging level when a nexthop destination,
server matches a pattern in the debug_peer_list parameter. remote client or server name or network address matches a pattern
given with the debug_peer_list parameter.
.IP "\fBdebug_peer_list (empty)\fR" .IP "\fBdebug_peer_list (empty)\fR"
Optional list of remote client or server hostname or network Optional list of nexthop destination, remote client or server
address patterns that cause the verbose logging level to increase name or network address patterns that, if matched, cause the verbose
by the amount specified in $debug_peer_level. logging level to increase by the amount specified in $debug_peer_level.
.IP "\fBsoft_bounce (no)\fR" .IP "\fBsoft_bounce (no)\fR"
Safety net to keep mail queued that would otherwise be returned to Safety net to keep mail queued that would otherwise be returned to
the sender. the sender.

View File

@@ -135,9 +135,8 @@ addresses without domain information.
With locally submitted mail, append the string ".$mydomain" to With locally submitted mail, append the string ".$mydomain" to
addresses that have no ".domain" information. addresses that have no ".domain" information.
.IP "\fBrecipient_delimiter (empty)\fR" .IP "\fBrecipient_delimiter (empty)\fR"
The set of characters that can separate a user name from its The set of characters that can separate an email address
extension (example: user+foo), or a .forward file name from its localpart, user name, or a .forward file name from its extension.
extension (example: .forward+foo).
.IP "\fBswap_bangpath (yes)\fR" .IP "\fBswap_bangpath (yes)\fR"
Enable the rewriting of "site!user" into "user@site". Enable the rewriting of "site!user" into "user@site".
.PP .PP

View File

@@ -164,9 +164,8 @@
# \fIlistname\fR-request address localparts when the recipient_delimiter # \fIlistname\fR-request address localparts when the recipient_delimiter
# is set to "-". # is set to "-".
# .IP "\fBrecipient_delimiter (empty)\fR" # .IP "\fBrecipient_delimiter (empty)\fR"
# The set of characters that can separate a user name from its # The set of characters that can separate an email address
# extension (example: user+foo), or a .forward file name from its # localpart, user name, or a .forward file name from its extension.
# extension (example: .forward+foo).
# .PP # .PP
# Available in Postfix version 2.3 and later: # Available in Postfix version 2.3 and later:
# .IP "\fBfrozen_delivered_to (yes)\fR" # .IP "\fBfrozen_delivered_to (yes)\fR"

View File

@@ -20,7 +20,7 @@
* Patches change both the patchlevel and the release date. Snapshots have no * Patches change both the patchlevel and the release date. Snapshots have no
* patchlevel; they change the release date only. * patchlevel; they change the release date only.
*/ */
#define MAIL_RELEASE_DATE "20211127" #define MAIL_RELEASE_DATE "20211205"
#define MAIL_VERSION_NUMBER "3.7" #define MAIL_VERSION_NUMBER "3.7"
#ifdef SNAPSHOT #ifdef SNAPSHOT

View File

@@ -541,9 +541,8 @@
/* .IP "\fBqueue_directory (see 'postconf -d' output)\fR" /* .IP "\fBqueue_directory (see 'postconf -d' output)\fR"
/* The location of the Postfix top-level queue directory. /* The location of the Postfix top-level queue directory.
/* .IP "\fBrecipient_delimiter (empty)\fR" /* .IP "\fBrecipient_delimiter (empty)\fR"
/* The set of characters that can separate a user name from its /* The set of characters that can separate an email address
/* extension (example: user+foo), or a .forward file name from its /* localpart, user name, or a .forward file name from its extension.
/* extension (example: .forward+foo).
/* .IP "\fBrequire_home_directory (no)\fR" /* .IP "\fBrequire_home_directory (no)\fR"
/* Require that a \fBlocal\fR(8) recipient's home directory exists /* Require that a \fBlocal\fR(8) recipient's home directory exists
/* before mail delivery is attempted. /* before mail delivery is attempted.

View File

@@ -405,9 +405,8 @@
/* .IP "\fBqueue_directory (see 'postconf -d' output)\fR" /* .IP "\fBqueue_directory (see 'postconf -d' output)\fR"
/* The location of the Postfix top-level queue directory. /* The location of the Postfix top-level queue directory.
/* .IP "\fBrecipient_delimiter (empty)\fR" /* .IP "\fBrecipient_delimiter (empty)\fR"
/* The set of characters that can separate a user name from its /* The set of characters that can separate an email address
/* extension (example: user+foo), or a .forward file name from its /* localpart, user name, or a .forward file name from its extension.
/* extension (example: .forward+foo).
/* .IP "\fBsyslog_facility (mail)\fR" /* .IP "\fBsyslog_facility (mail)\fR"
/* The syslog facility of Postfix logging. /* The syslog facility of Postfix logging.
/* .IP "\fBsyslog_name (see 'postconf -d' output)\fR" /* .IP "\fBsyslog_name (see 'postconf -d' output)\fR"

View File

@@ -84,12 +84,13 @@
/* .ad /* .ad
/* .fi /* .fi
/* .IP "\fBdebug_peer_level (2)\fR" /* .IP "\fBdebug_peer_level (2)\fR"
/* The increment in verbose logging level when a remote client or /* The increment in verbose logging level when a nexthop destination,
/* server matches a pattern in the debug_peer_list parameter. /* remote client or server name or network address matches a pattern
/* given with the debug_peer_list parameter.
/* .IP "\fBdebug_peer_list (empty)\fR" /* .IP "\fBdebug_peer_list (empty)\fR"
/* Optional list of remote client or server hostname or network /* Optional list of nexthop destination, remote client or server
/* address patterns that cause the verbose logging level to increase /* name or network address patterns that, if matched, cause the verbose
/* by the amount specified in $debug_peer_level. /* logging level to increase by the amount specified in $debug_peer_level.
/* .IP "\fBsoft_bounce (no)\fR" /* .IP "\fBsoft_bounce (no)\fR"
/* Safety net to keep mail queued that would otherwise be returned to /* Safety net to keep mail queued that would otherwise be returned to
/* the sender. /* the sender.

View File

@@ -186,7 +186,7 @@ void tls_set_dh_from_file(const char *path)
return; return;
if ((fp = fopen(path, "r")) == 0) { if ((fp = fopen(path, "r")) == 0) {
msg_warn("cannot load DH parameters from file %s: %m" msg_warn("error opening DH parameter file \"%s\": %m"
" -- using compiled-in defaults", path); " -- using compiled-in defaults", path);
return; return;
} }
@@ -194,7 +194,8 @@ void tls_set_dh_from_file(const char *path)
OSSL_KEYMGMT_SELECT_DOMAIN_PARAMETERS, OSSL_KEYMGMT_SELECT_DOMAIN_PARAMETERS,
NULL, NULL); NULL, NULL);
if (!d || !OSSL_DECODER_from_fp(d, fp) || !tmp) { if (!d || !OSSL_DECODER_from_fp(d, fp) || !tmp) {
msg_warn("error loading compiled-in DH parameters"); msg_warn("error decoding DH parameters from file \"%s\""
" -- using compiled-in defaults", path);
tls_print_errors(); tls_print_errors();
} else { } else {
dhp = tmp; dhp = tmp;

View File

@@ -115,9 +115,8 @@
/* With locally submitted mail, append the string ".$mydomain" to /* With locally submitted mail, append the string ".$mydomain" to
/* addresses that have no ".domain" information. /* addresses that have no ".domain" information.
/* .IP "\fBrecipient_delimiter (empty)\fR" /* .IP "\fBrecipient_delimiter (empty)\fR"
/* The set of characters that can separate a user name from its /* The set of characters that can separate an email address
/* extension (example: user+foo), or a .forward file name from its /* localpart, user name, or a .forward file name from its extension.
/* extension (example: .forward+foo).
/* .IP "\fBswap_bangpath (yes)\fR" /* .IP "\fBswap_bangpath (yes)\fR"
/* Enable the rewriting of "site!user" into "user@site". /* Enable the rewriting of "site!user" into "user@site".
/* .PP /* .PP

View File

@@ -30,13 +30,15 @@
#if defined(FREEBSD2) || defined(FREEBSD3) || defined(FREEBSD4) \ #if defined(FREEBSD2) || defined(FREEBSD3) || defined(FREEBSD4) \
|| defined(FREEBSD5) || defined(FREEBSD6) || defined(FREEBSD7) \ || defined(FREEBSD5) || defined(FREEBSD6) || defined(FREEBSD7) \
|| defined(FREEBSD8) || defined(FREEBSD9) || defined(FREEBSD10) \ || defined(FREEBSD8) || defined(FREEBSD9) || defined(FREEBSD10) \
|| defined(FREEBSD11) || defined(FREEBSD12) \ || defined(FREEBSD11) || defined(FREEBSD12) || defined(FREEBSD13) \
|| defined(FREEBSD14) \
|| defined(BSDI2) || defined(BSDI3) || defined(BSDI4) \ || defined(BSDI2) || defined(BSDI3) || defined(BSDI4) \
|| defined(OPENBSD2) || defined(OPENBSD3) || defined(OPENBSD4) \ || defined(OPENBSD2) || defined(OPENBSD3) || defined(OPENBSD4) \
|| defined(OPENBSD5) || defined(OPENBSD6) \ || defined(OPENBSD5) || defined(OPENBSD6) || defined(OPENBSD7) \
|| defined(NETBSD1) || defined(NETBSD2) || defined(NETBSD3) \ || defined(NETBSD1) || defined(NETBSD2) || defined(NETBSD3) \
|| defined(NETBSD4) || defined(NETBSD5) || defined(NETBSD6) \ || defined(NETBSD4) || defined(NETBSD5) || defined(NETBSD6) \
|| defined(NETBSD7) \ || defined(NETBSD7) | defined(NETBSD8) || defined(NETBSD9) \
|| defined(NETBSD10) \
|| defined(EKKOBSD1) || defined(DRAGONFLY) || defined(EKKOBSD1) || defined(DRAGONFLY)
#define SUPPORTED #define SUPPORTED
#include <sys/param.h> #include <sys/param.h>