From: Wietse Z Venema
Date: Fri, 16 Feb 2024 05:00:00 +0000 (-0500)
Subject: postfix-3.9-20240216
X-Git-Tag: v3.9.0~6
X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=6b33b3553dbe9e1fd2e4cb67b501aa84f348f8dc;p=thirdparty%2Fpostfix.git
postfix-3.9-20240216
---
diff --git a/postfix/.indent.pro b/postfix/.indent.pro
index 4ba45d081..414c65204 100644
--- a/postfix/.indent.pro
+++ b/postfix/.indent.pro
@@ -88,6 +88,7 @@
-TDICT_LDAP
-TDICT_LMDB
-TDICT_MC
+-TDICT_MONGODB
-TDICT_MYSQL
-TDICT_NI
-TDICT_NIS
@@ -411,6 +412,7 @@
-TXSASL_SERVER_IMPL
-TXSASL_SERVER_IMPL_INFO
-Tbind_props
+-Tbson_iter_t
-Tcipher_probe_t
-Td2i_X509_t
-Tdane_digest
diff --git a/postfix/HISTORY b/postfix/HISTORY
index c900cf302..1de0492d3 100644
--- a/postfix/HISTORY
+++ b/postfix/HISTORY
@@ -27874,3 +27874,24 @@ Apologies for any names omitted.
Logging: indicate which (usually, substring) lookups are
skipped. File: global/maps.c.
+
+20240215
+
+ Portability: Clang versions that predate support for the
+ C23 standard do not allow a declaration immediately after
+ a (switch) label. The workaround is to add a null statement
+ between label and declaration. File: global/dict_mongodb.c.
+
+ Documentation: minor edits. Files: proto/mongodb_README.html,
+ proto/mongodb_table.html.
+
+20240216
+
+ Documentation: dropped text about partial matches from the
+ check_{client,helo,sender,recipient,etrn}_access summaries,
+ deferring to the access(5) manpage for details, for consistency
+ with the check_xx_yy_access features. File: proto/postconf.proto.
+
+ Cleanup: missing mongodb checks in the postconf command,
+ missing mongodb under "postconf -m" manpage entry. Files:
+ postconf/postconf.c, postconf/postconf_dbms.c.
diff --git a/postfix/README_FILES/MONGODB_README b/postfix/README_FILES/MONGODB_README
index aaeb71c07..c8b8fc64d 100644
--- a/postfix/README_FILES/MONGODB_README
+++ b/postfix/README_FILES/MONGODB_README
@@ -20,6 +20,7 @@ Topics covered in this document:
* Example: Mailing lists
* Example: MongoDB projections
* Feedback
+ * Credits
BBuuiillddiinngg PPoossttffiixx wwiitthh MMoonnggooDDBB ssuuppppoorrtt
@@ -27,10 +28,11 @@ These instructions assume that you build Postfix from source code as described
in the INSTALL document. Some modification may be required if you build Postfix
from a vendor-specific source package.
-The Postfix MongoDB client requires the mongo-c-driver library. This can be
-built from source code from the mongod-c project, or as a binary package from
-your OS distribution, typically named mmoonnggoo--cc--ddrriivveerr--ddeevveell or lliibbmmoonnggoocc--ddeevv.
-Installing the mongo-c-driver library may also install lliibbbbssoonn as a dependency.
+The Postfix MongoDB client requires the mmoonnggoo--cc--ddrriivveerr library. This can be
+built from source code from the mongod-c project, or this can be installed as a
+binary package from your OS distribution, typically named mmoonnggoo--cc--ddrriivveerr,
+mmoonnggoo--cc--ddrriivveerr--ddeevveell or lliibbmmoonnggoocc--ddeevv. Installing the mongo-c-driver library
+may also install lliibbbbssoonn as a dependency.
To build Postfix with mongodb map support, add to the CCARGS environment
variable the options -DHAS_MONGODB and -I for the directory containing the
@@ -95,6 +97,15 @@ provided credentials, and search for any entries whose username is, or alias
field has "admin@example.com". It will return the username attribute of those
found, and build a list of their email addresses.
+Notes:
+
+ * As with pprroojjeeccttiioonn (see below), the Postfix mongodb client automatically
+ removes the top-level '_id' field from a result_attribute result.
+
+ * The Postfix mongodb client will only parse result fields with data types
+ UTF8, INT32, INT64 and ARRAY. Other fields will be ignored, with a warning
+ in the logs.
+
EExxaammppllee:: MMaaiilliinngg lliissttss
When it comes to mailing lists, one way of implementing one would be as below:
@@ -110,8 +121,8 @@ addresses in this list.
Notes:
- * As with pprroojjeeccttiioonn, the Postfix mongodb client automatically removes the
- top-level '_id' field from a result.
+ * As with pprroojjeeccttiioonn (see below), the Postfix mongodb client automatically
+ removes the top-level '_id' field from a result_attribute result.
* The Postfix mongodb client will only parse result fields with data types
UTF8, INT32, INT64 and ARRAY. Other fields will be ignored, with a warning
@@ -167,3 +178,11 @@ postconf, which libraries you built with, and such. If your question involves
your database contents, please include the applicable bits of some database
entries.
+CCrreeddiittss
+
+ * Stephan Ferraro (Aionda GmbH) implemented an early version of the Postfix
+ MongoDB client.
+ * Hamid Maadani (Dextrous Technologies, LLC) added support for projections
+ and %letter interpolation, and added documentation.
+ * Wietse Venema adopted and restructured the code and documentation.
+
diff --git a/postfix/WISHLIST b/postfix/WISHLIST
index d9610bb91..88c66fb1e 100644
--- a/postfix/WISHLIST
+++ b/postfix/WISHLIST
@@ -1,5 +1,7 @@
Wish list:
+ The postconf command needs more mongodb tests.
+
Things to do before the stable release:
make pre-release-check, HTML validator check.
diff --git a/postfix/html/MONGODB_README.html b/postfix/html/MONGODB_README.html
index 7835bab78..a05d1f5bf 100644
--- a/postfix/html/MONGODB_README.html
+++ b/postfix/html/MONGODB_README.html
@@ -28,6 +28,7 @@ without the hassle and delay of having to copy it to each.
Example: Mailing lists
Example: MongoDB projections
Feedback
+Credits
@@ -37,11 +38,12 @@ code as described in the INSTALL document. Some modif
be required if you build Postfix from a vendor-specific source
package.
-The Postfix MongoDB client requires the mongo-c-driver library.
-This can be built from source code from The Postfix MongoDB client requires the mongo-c-driver
+library. This can be built from source code from the
-mongod-c project, or as a binary package from your OS distribution,
-typically named mongo-c-driver-devel or libmongoc-dev.
+mongod-c project, or this can be installed as a binary package
+from your OS distribution, typically named mongo-c-driver,
+mongo-c-driver-devel or libmongoc-dev.
Installing the mongo-c-driver library may also install libbson
as a dependency.
@@ -129,6 +131,20 @@ entries whose username is, or alias field has "admin@example.com".
It will return the username attribute of those found, and build a
list of their email addresses.
+ Notes:
+
+
+
+ As with projection (see below), the Postfix mongodb
+client automatically removes the top-level '_id' field from a
+result_attribute result.
+
+ The Postfix mongodb client will only parse result fields
+with data types UTF8, INT32, INT64 and ARRAY. Other fields will be
+ignored, with a warning in the logs.
+
+
+
When it comes to mailing lists, one way of implementing one would
@@ -155,9 +171,9 @@ result_attribute = address
- As with projection, the Postfix mongodb client
-automatically removes the top-level '_id' field from a result.
-
+ As with projection (see below), the Postfix mongodb
+client automatically removes the top-level '_id' field from a
+result_attribute result.
The Postfix mongodb client will only parse result fields
with data types UTF8, INT32, INT64 and ARRAY. Other fields will be
@@ -219,6 +235,7 @@ with a warning in the logs. It is suggested to exclude any unnecessary
fields when using a projection.
+
If you have questions, send them to postfix-users@postfix.org.
@@ -227,6 +244,20 @@ MongoDB-related output from postconf, which libraries you built
with, and such. If your question involves your database contents,
please include the applicable bits of some database entries.
+
+
+
+
+- Stephan Ferraro (Aionda GmbH) implemented an early version of the
+Postfix MongoDB client.
+
+
- Hamid Maadani (Dextrous Technologies, LLC) added support for
+projections and %letter interpolation, and added documentation.
+
+
- Wietse Venema adopted and restructured the code and documentation.
+
+
+