mirror of
https://github.com/vdukhovni/postfix
synced 2025-08-22 18:07:41 +00:00
postfix-2.11-20131104
This commit is contained in:
parent
78fe66320c
commit
1fa35743a5
@ -19035,19 +19035,36 @@ Apologies for any names omitted.
|
|||||||
Documentation: added SASL_README example for check_sasl_access.
|
Documentation: added SASL_README example for check_sasl_access.
|
||||||
File: proto/SASL_README.html.
|
File: proto/SASL_README.html.
|
||||||
|
|
||||||
20131102
|
20131102-3
|
||||||
|
|
||||||
Security violation: by default, LMDB 0.9.9 writes fragments
|
Security violation: by default, LMDB 0.9.9 writes uninitialized
|
||||||
of uninitialized heap memory to a world-readable database
|
heap memory to a world-readable database file, as chunks
|
||||||
file. This is a basic memory disclosure vulnerability:
|
of up to 4096 bytes. This is a gross memory disclosure
|
||||||
memory content that a program does not intend to share ends
|
vulnerability: memory content that a program does not intend
|
||||||
up in a world-readable file. The content of uninitialized
|
to share ends up in a world-readable file. The content of
|
||||||
heap memory depends on program execution history. That
|
uninitialized heap memory depends on program execution
|
||||||
history includes code execution in other libraries that are
|
history. That history includes code execution in other
|
||||||
linked into the program. To work around this problem we
|
libraries that are linked into the program.
|
||||||
disable the use of malloc() in LMDB. However, that does not
|
|
||||||
address several disclosures of stack memory. File:
|
|
||||||
util/dict_lmdb.c.
|
|
||||||
|
|
||||||
Cleanup: expand TAB characters when generating HTML and
|
This is a problem whenever the user who writes the database
|
||||||
README files. Files: proto/Makefile.in.
|
file differs from the user who reads the database file. For
|
||||||
|
example, a privileged writer and an unprivileged reader.
|
||||||
|
In the case of Postfix, the postmap(1) and postalias(1)
|
||||||
|
commands would leak uninitialized heap memory, as chunks
|
||||||
|
of up to 4096 bytes, from a root-privileged process that
|
||||||
|
writes to a database file, to unprivileged processes that
|
||||||
|
read from that database file.
|
||||||
|
|
||||||
|
To work around this problem the postmap(1) and postalias(1)
|
||||||
|
commands disable the use of malloc() in LMDB. However, that
|
||||||
|
does not address several disclosures of stack memory. Other
|
||||||
|
Postfix databases do not need this workaround: those databases
|
||||||
|
are maintained by Postfix daemon processes, and are accessible
|
||||||
|
only by the postfix user. File: util/dict_lmdb.c.
|
||||||
|
|
||||||
|
20131102-3
|
||||||
|
|
||||||
|
Cleanup: expand TAB characters when generating documentation.
|
||||||
|
This was primarily an issue with non-HTML output, but it does
|
||||||
|
not hurt to do this also for HTML. Files: proto/Makefile.in,
|
||||||
|
proto/MULTI_INSTANCE_README.html.
|
||||||
|
@ -139,328 +139,328 @@ clobber:
|
|||||||
$(SRCTOMAN) - $? | $(AWK) | nroff -man | col -bx | uniq | sed 's/^/# /' >$@
|
$(SRCTOMAN) - $? | $(AWK) | nroff -man | col -bx | uniq | sed 's/^/# /' >$@
|
||||||
|
|
||||||
../html/ADDRESS_CLASS_README.html: ADDRESS_CLASS_README.html
|
../html/ADDRESS_CLASS_README.html: ADDRESS_CLASS_README.html
|
||||||
$(POSTLINK) $? | $(DETAB) >$@
|
$(DETAB) $? | $(POSTLINK) >$@
|
||||||
|
|
||||||
../html/ADDRESS_REWRITING_README.html: ADDRESS_REWRITING_README.html
|
../html/ADDRESS_REWRITING_README.html: ADDRESS_REWRITING_README.html
|
||||||
$(POSTLINK) $? | $(DETAB) >$@
|
$(DETAB) $? | $(POSTLINK) >$@
|
||||||
|
|
||||||
../html/ADDRESS_VERIFICATION_README.html: ADDRESS_VERIFICATION_README.html
|
../html/ADDRESS_VERIFICATION_README.html: ADDRESS_VERIFICATION_README.html
|
||||||
$(POSTLINK) $? | $(DETAB) >$@
|
$(DETAB) $? | $(POSTLINK) >$@
|
||||||
|
|
||||||
../html/BACKSCATTER_README.html: BACKSCATTER_README.html
|
../html/BACKSCATTER_README.html: BACKSCATTER_README.html
|
||||||
$(POSTLINK) $? | $(DETAB) >$@
|
$(DETAB) $? | $(POSTLINK) >$@
|
||||||
|
|
||||||
../html/CDB_README.html: CDB_README.html
|
../html/CDB_README.html: CDB_README.html
|
||||||
$(POSTLINK) $? | $(DETAB) >$@
|
$(DETAB) $? | $(POSTLINK) >$@
|
||||||
|
|
||||||
../html/CONNECTION_CACHE_README.html: CONNECTION_CACHE_README.html
|
../html/CONNECTION_CACHE_README.html: CONNECTION_CACHE_README.html
|
||||||
$(POSTLINK) $? | $(DETAB) >$@
|
$(DETAB) $? | $(POSTLINK) >$@
|
||||||
|
|
||||||
../html/CONTENT_INSPECTION_README.html: CONTENT_INSPECTION_README.html
|
../html/CONTENT_INSPECTION_README.html: CONTENT_INSPECTION_README.html
|
||||||
$(POSTLINK) $? | $(DETAB) >$@
|
$(DETAB) $? | $(POSTLINK) >$@
|
||||||
|
|
||||||
../html/CYRUS_README.html: CYRUS_README.html
|
../html/CYRUS_README.html: CYRUS_README.html
|
||||||
$(POSTLINK) $? | $(DETAB) >$@
|
$(DETAB) $? | $(POSTLINK) >$@
|
||||||
|
|
||||||
../html/BASIC_CONFIGURATION_README.html: BASIC_CONFIGURATION_README.html
|
../html/BASIC_CONFIGURATION_README.html: BASIC_CONFIGURATION_README.html
|
||||||
$(POSTLINK) $? | $(DETAB) >$@
|
$(DETAB) $? | $(POSTLINK) >$@
|
||||||
|
|
||||||
../html/BUILTIN_FILTER_README.html: BUILTIN_FILTER_README.html
|
../html/BUILTIN_FILTER_README.html: BUILTIN_FILTER_README.html
|
||||||
$(POSTLINK) $? | $(DETAB) >$@
|
$(DETAB) $? | $(POSTLINK) >$@
|
||||||
|
|
||||||
../html/DATABASE_README.html: DATABASE_README.html
|
../html/DATABASE_README.html: DATABASE_README.html
|
||||||
$(POSTLINK) $? | $(DETAB) >$@
|
$(DETAB) $? | $(POSTLINK) >$@
|
||||||
|
|
||||||
../html/DB_README.html: DB_README.html
|
../html/DB_README.html: DB_README.html
|
||||||
$(POSTLINK) $? | $(DETAB) >$@
|
$(DETAB) $? | $(POSTLINK) >$@
|
||||||
|
|
||||||
../html/DEBUG_README.html: DEBUG_README.html
|
../html/DEBUG_README.html: DEBUG_README.html
|
||||||
$(POSTLINK) $? | $(DETAB) >$@
|
$(DETAB) $? | $(POSTLINK) >$@
|
||||||
|
|
||||||
../html/DSN_README.html: DSN_README.html
|
../html/DSN_README.html: DSN_README.html
|
||||||
$(POSTLINK) $? | $(DETAB) >$@
|
$(DETAB) $? | $(POSTLINK) >$@
|
||||||
|
|
||||||
../html/ETRN_README.html: ETRN_README.html
|
../html/ETRN_README.html: ETRN_README.html
|
||||||
$(POSTLINK) $? | $(DETAB) >$@
|
$(DETAB) $? | $(POSTLINK) >$@
|
||||||
|
|
||||||
../html/FILTER_README.html: FILTER_README.html
|
../html/FILTER_README.html: FILTER_README.html
|
||||||
$(POSTLINK) $? | $(DETAB) >$@
|
$(DETAB) $? | $(POSTLINK) >$@
|
||||||
|
|
||||||
../html/INSTALL.html: INSTALL.html
|
../html/INSTALL.html: INSTALL.html
|
||||||
$(POSTLINK) $? | $(DETAB) >$@
|
$(DETAB) $? | $(POSTLINK) >$@
|
||||||
|
|
||||||
../html/IPV6_README.html: IPV6_README.html
|
../html/IPV6_README.html: IPV6_README.html
|
||||||
$(POSTLINK) $? | $(DETAB) >$@
|
$(DETAB) $? | $(POSTLINK) >$@
|
||||||
|
|
||||||
../html/LDAP_README.html: LDAP_README.html
|
../html/LDAP_README.html: LDAP_README.html
|
||||||
$(POSTLINK) $? | $(DETAB) >$@
|
$(DETAB) $? | $(POSTLINK) >$@
|
||||||
|
|
||||||
../html/LINUX_README.html: LINUX_README.html
|
../html/LINUX_README.html: LINUX_README.html
|
||||||
$(POSTLINK) $? | $(DETAB) >$@
|
$(DETAB) $? | $(POSTLINK) >$@
|
||||||
|
|
||||||
../html/LOCAL_RECIPIENT_README.html: LOCAL_RECIPIENT_README.html
|
../html/LOCAL_RECIPIENT_README.html: LOCAL_RECIPIENT_README.html
|
||||||
$(POSTLINK) $? | $(DETAB) >$@
|
$(DETAB) $? | $(POSTLINK) >$@
|
||||||
|
|
||||||
../html/MAILDROP_README.html: MAILDROP_README.html
|
../html/MAILDROP_README.html: MAILDROP_README.html
|
||||||
$(POSTLINK) $? | $(DETAB) >$@
|
$(DETAB) $? | $(POSTLINK) >$@
|
||||||
|
|
||||||
../html/LMDB_README.html: LMDB_README.html
|
../html/LMDB_README.html: LMDB_README.html
|
||||||
$(POSTLINK) $? | $(DETAB) >$@
|
$(DETAB) $? | $(POSTLINK) >$@
|
||||||
|
|
||||||
../html/MEMCACHE_README.html: MEMCACHE_README.html
|
../html/MEMCACHE_README.html: MEMCACHE_README.html
|
||||||
$(POSTLINK) $? | $(DETAB) >$@
|
$(DETAB) $? | $(POSTLINK) >$@
|
||||||
|
|
||||||
../html/MILTER_README.html: MILTER_README.html
|
../html/MILTER_README.html: MILTER_README.html
|
||||||
$(POSTLINK) $? | $(DETAB) >$@
|
$(DETAB) $? | $(POSTLINK) >$@
|
||||||
|
|
||||||
../html/MULTI_INSTANCE_README.html: MULTI_INSTANCE_README.html
|
../html/MULTI_INSTANCE_README.html: MULTI_INSTANCE_README.html
|
||||||
$(POSTLINK) $? | $(DETAB) >$@
|
$(DETAB) $? | $(POSTLINK) >$@
|
||||||
|
|
||||||
../html/MYSQL_README.html: MYSQL_README.html
|
../html/MYSQL_README.html: MYSQL_README.html
|
||||||
$(POSTLINK) $? | $(DETAB) >$@
|
$(DETAB) $? | $(POSTLINK) >$@
|
||||||
|
|
||||||
../html/NFS_README.html: NFS_README.html
|
../html/NFS_README.html: NFS_README.html
|
||||||
$(POSTLINK) $? | $(DETAB) >$@
|
$(DETAB) $? | $(POSTLINK) >$@
|
||||||
|
|
||||||
../html/OVERVIEW.html: OVERVIEW.html
|
../html/OVERVIEW.html: OVERVIEW.html
|
||||||
$(POSTLINK) $? | $(DETAB) >$@
|
$(DETAB) $? | $(POSTLINK) >$@
|
||||||
|
|
||||||
../html/PACKAGE_README.html: PACKAGE_README.html
|
../html/PACKAGE_README.html: PACKAGE_README.html
|
||||||
$(POSTLINK) $? | $(DETAB) >$@
|
$(DETAB) $? | $(POSTLINK) >$@
|
||||||
|
|
||||||
../html/PCRE_README.html: PCRE_README.html
|
../html/PCRE_README.html: PCRE_README.html
|
||||||
$(POSTLINK) $? | $(DETAB) >$@
|
$(DETAB) $? | $(POSTLINK) >$@
|
||||||
|
|
||||||
../html/PGSQL_README.html: PGSQL_README.html
|
../html/PGSQL_README.html: PGSQL_README.html
|
||||||
$(POSTLINK) $? | $(DETAB) >$@
|
$(DETAB) $? | $(POSTLINK) >$@
|
||||||
|
|
||||||
../html/POSTSCREEN_README.html: POSTSCREEN_README.html
|
../html/POSTSCREEN_README.html: POSTSCREEN_README.html
|
||||||
$(POSTLINK) $? | $(DETAB) >$@
|
$(DETAB) $? | $(POSTLINK) >$@
|
||||||
|
|
||||||
../html/QMQP_README.html: QMQP_README.html
|
../html/QMQP_README.html: QMQP_README.html
|
||||||
$(POSTLINK) $? | $(DETAB) >$@
|
$(DETAB) $? | $(POSTLINK) >$@
|
||||||
|
|
||||||
../html/QSHAPE_README.html: QSHAPE_README.html
|
../html/QSHAPE_README.html: QSHAPE_README.html
|
||||||
$(POSTLINK) $? | $(DETAB) >$@
|
$(DETAB) $? | $(POSTLINK) >$@
|
||||||
|
|
||||||
../html/RESTRICTION_CLASS_README.html: RESTRICTION_CLASS_README.html
|
../html/RESTRICTION_CLASS_README.html: RESTRICTION_CLASS_README.html
|
||||||
$(POSTLINK) $? | $(DETAB) >$@
|
$(DETAB) $? | $(POSTLINK) >$@
|
||||||
|
|
||||||
../html/SASL_README.html: SASL_README.html
|
../html/SASL_README.html: SASL_README.html
|
||||||
$(POSTLINK) $? | $(DETAB) >$@
|
$(DETAB) $? | $(POSTLINK) >$@
|
||||||
|
|
||||||
../html/SCHEDULER_README.html: SCHEDULER_README.html
|
../html/SCHEDULER_README.html: SCHEDULER_README.html
|
||||||
$(POSTLINK) $? | $(DETAB) >$@
|
$(DETAB) $? | $(POSTLINK) >$@
|
||||||
|
|
||||||
../html/SMTPD_ACCESS_README.html: SMTPD_ACCESS_README.html
|
../html/SMTPD_ACCESS_README.html: SMTPD_ACCESS_README.html
|
||||||
$(POSTLINK) $? | $(DETAB) >$@
|
$(DETAB) $? | $(POSTLINK) >$@
|
||||||
|
|
||||||
../html/SMTPD_POLICY_README.html: SMTPD_POLICY_README.html
|
../html/SMTPD_POLICY_README.html: SMTPD_POLICY_README.html
|
||||||
$(POSTLINK) $? | $(DETAB) >$@
|
$(DETAB) $? | $(POSTLINK) >$@
|
||||||
|
|
||||||
../html/SMTPD_PROXY_README.html: SMTPD_PROXY_README.html
|
../html/SMTPD_PROXY_README.html: SMTPD_PROXY_README.html
|
||||||
$(POSTLINK) $? | $(DETAB) >$@
|
$(DETAB) $? | $(POSTLINK) >$@
|
||||||
|
|
||||||
../html/SOHO_README.html: $(MAKESOHO) $(DEPSOHO)
|
../html/SOHO_README.html: $(MAKESOHO) $(DEPSOHO)
|
||||||
$(MAKESOHO) | $(POSTLINK) | $(DETAB) >$@
|
$(MAKESOHO) | $(POSTLINK) | $(DETAB) >$@
|
||||||
|
|
||||||
../html/SQLITE_README.html: SQLITE_README.html
|
../html/SQLITE_README.html: SQLITE_README.html
|
||||||
$(POSTLINK) $? | $(DETAB) >$@
|
$(DETAB) $? | $(POSTLINK) >$@
|
||||||
|
|
||||||
../html/STANDARD_CONFIGURATION_README.html: STANDARD_CONFIGURATION_README.html
|
../html/STANDARD_CONFIGURATION_README.html: STANDARD_CONFIGURATION_README.html
|
||||||
$(POSTLINK) $? | $(DETAB) >$@
|
$(DETAB) $? | $(POSTLINK) >$@
|
||||||
|
|
||||||
../html/STRESS_README.html: STRESS_README.html
|
../html/STRESS_README.html: STRESS_README.html
|
||||||
$(POSTLINK) $? | $(DETAB) >$@
|
$(DETAB) $? | $(POSTLINK) >$@
|
||||||
|
|
||||||
../html/TUNING_README.html: TUNING_README.html
|
../html/TUNING_README.html: TUNING_README.html
|
||||||
$(POSTLINK) $? | $(DETAB) >$@
|
$(DETAB) $? | $(POSTLINK) >$@
|
||||||
|
|
||||||
../html/UUCP_README.html: UUCP_README.html
|
../html/UUCP_README.html: UUCP_README.html
|
||||||
$(POSTLINK) $? | $(DETAB) >$@
|
$(DETAB) $? | $(POSTLINK) >$@
|
||||||
|
|
||||||
../html/ULTRIX_README.html: ULTRIX_README.html
|
../html/ULTRIX_README.html: ULTRIX_README.html
|
||||||
$(POSTLINK) $? | $(DETAB) >$@
|
$(DETAB) $? | $(POSTLINK) >$@
|
||||||
|
|
||||||
../html/VERP_README.html: VERP_README.html
|
../html/VERP_README.html: VERP_README.html
|
||||||
$(POSTLINK) $? | $(DETAB) >$@
|
$(DETAB) $? | $(POSTLINK) >$@
|
||||||
|
|
||||||
../html/VIRTUAL_README.html: VIRTUAL_README.html
|
../html/VIRTUAL_README.html: VIRTUAL_README.html
|
||||||
$(POSTLINK) $? | $(DETAB) >$@
|
$(DETAB) $? | $(POSTLINK) >$@
|
||||||
|
|
||||||
../html/XCLIENT_README.html: XCLIENT_README.html
|
../html/XCLIENT_README.html: XCLIENT_README.html
|
||||||
$(POSTLINK) $? | $(DETAB) >$@
|
$(DETAB) $? | $(POSTLINK) >$@
|
||||||
|
|
||||||
../html/XFORWARD_README.html: XFORWARD_README.html
|
../html/XFORWARD_README.html: XFORWARD_README.html
|
||||||
$(POSTLINK) $? | $(DETAB) >$@
|
$(DETAB) $? | $(POSTLINK) >$@
|
||||||
|
|
||||||
../html/TLS_README.html: TLS_README.html
|
../html/TLS_README.html: TLS_README.html
|
||||||
$(POSTLINK) $? | $(DETAB) >$@
|
$(DETAB) $? | $(POSTLINK) >$@
|
||||||
|
|
||||||
../html/TLS_LEGACY_README.html: TLS_LEGACY_README.html
|
../html/TLS_LEGACY_README.html: TLS_LEGACY_README.html
|
||||||
$(POSTLINK) $? | $(DETAB) >$@
|
$(DETAB) $? | $(POSTLINK) >$@
|
||||||
|
|
||||||
../README_FILES/ADDRESS_CLASS_README: ADDRESS_CLASS_README.html
|
../README_FILES/ADDRESS_CLASS_README: ADDRESS_CLASS_README.html
|
||||||
$(HT2READ) $? | $(DETAB) >$@
|
$(DETAB) $? | $(HT2READ) >$@
|
||||||
|
|
||||||
../README_FILES/ADDRESS_REWRITING_README: ADDRESS_REWRITING_README.html
|
../README_FILES/ADDRESS_REWRITING_README: ADDRESS_REWRITING_README.html
|
||||||
$(HT2READ) $? | $(DETAB) >$@
|
$(DETAB) $? | $(HT2READ) >$@
|
||||||
|
|
||||||
../README_FILES/ADDRESS_VERIFICATION_README: ADDRESS_VERIFICATION_README.html
|
../README_FILES/ADDRESS_VERIFICATION_README: ADDRESS_VERIFICATION_README.html
|
||||||
$(HT2READ) $? | $(DETAB) >$@
|
$(DETAB) $? | $(HT2READ) >$@
|
||||||
|
|
||||||
../README_FILES/BACKSCATTER_README: BACKSCATTER_README.html
|
../README_FILES/BACKSCATTER_README: BACKSCATTER_README.html
|
||||||
$(HT2READ) $? | $(DETAB) >$@
|
$(DETAB) $? | $(HT2READ) >$@
|
||||||
|
|
||||||
../README_FILES/BASIC_CONFIGURATION_README: BASIC_CONFIGURATION_README.html
|
../README_FILES/BASIC_CONFIGURATION_README: BASIC_CONFIGURATION_README.html
|
||||||
$(HT2READ) $? | $(DETAB) >$@
|
$(DETAB) $? | $(HT2READ) >$@
|
||||||
|
|
||||||
../README_FILES/BUILTIN_FILTER_README: BUILTIN_FILTER_README.html
|
../README_FILES/BUILTIN_FILTER_README: BUILTIN_FILTER_README.html
|
||||||
$(HT2READ) $? | $(DETAB) >$@
|
$(DETAB) $? | $(HT2READ) >$@
|
||||||
|
|
||||||
../README_FILES/CDB_README: CDB_README.html
|
../README_FILES/CDB_README: CDB_README.html
|
||||||
$(HT2READ) $? | $(DETAB) >$@
|
$(DETAB) $? | $(HT2READ) >$@
|
||||||
|
|
||||||
../README_FILES/CONNECTION_CACHE_README: CONNECTION_CACHE_README.html
|
../README_FILES/CONNECTION_CACHE_README: CONNECTION_CACHE_README.html
|
||||||
$(HT2READ) $? | $(DETAB) >$@
|
$(DETAB) $? | $(HT2READ) >$@
|
||||||
|
|
||||||
../README_FILES/CONTENT_INSPECTION_README: CONTENT_INSPECTION_README.html
|
../README_FILES/CONTENT_INSPECTION_README: CONTENT_INSPECTION_README.html
|
||||||
$(HT2READ) $? | $(DETAB) >$@
|
$(DETAB) $? | $(HT2READ) >$@
|
||||||
|
|
||||||
../README_FILES/CYRUS_README: CYRUS_README.html
|
../README_FILES/CYRUS_README: CYRUS_README.html
|
||||||
$(HT2READ) $? | $(DETAB) >$@
|
$(DETAB) $? | $(HT2READ) >$@
|
||||||
|
|
||||||
../README_FILES/DATABASE_README: DATABASE_README.html
|
../README_FILES/DATABASE_README: DATABASE_README.html
|
||||||
$(HT2READ) $? | $(DETAB) >$@
|
$(DETAB) $? | $(HT2READ) >$@
|
||||||
|
|
||||||
../README_FILES/DB_README: DB_README.html
|
../README_FILES/DB_README: DB_README.html
|
||||||
$(HT2READ) $? | $(DETAB) >$@
|
$(DETAB) $? | $(HT2READ) >$@
|
||||||
|
|
||||||
../README_FILES/DEBUG_README: DEBUG_README.html
|
../README_FILES/DEBUG_README: DEBUG_README.html
|
||||||
$(HT2READ) $? | $(DETAB) >$@
|
$(DETAB) $? | $(HT2READ) >$@
|
||||||
|
|
||||||
../README_FILES/DSN_README: DSN_README.html
|
../README_FILES/DSN_README: DSN_README.html
|
||||||
$(HT2READ) $? | $(DETAB) >$@
|
$(DETAB) $? | $(HT2READ) >$@
|
||||||
|
|
||||||
../README_FILES/ETRN_README: ETRN_README.html
|
../README_FILES/ETRN_README: ETRN_README.html
|
||||||
$(HT2READ) $? | $(DETAB) >$@
|
$(DETAB) $? | $(HT2READ) >$@
|
||||||
|
|
||||||
../README_FILES/FILTER_README: FILTER_README.html
|
../README_FILES/FILTER_README: FILTER_README.html
|
||||||
$(HT2READ) $? | $(DETAB) >$@
|
$(DETAB) $? | $(HT2READ) >$@
|
||||||
|
|
||||||
../README_FILES/INSTALL: INSTALL.html
|
../README_FILES/INSTALL: INSTALL.html
|
||||||
$(HT2READ) $? | $(DETAB) >$@
|
$(DETAB) $? | $(HT2READ) >$@
|
||||||
|
|
||||||
../README_FILES/IPV6_README: IPV6_README.html
|
../README_FILES/IPV6_README: IPV6_README.html
|
||||||
$(HT2READ) $? | $(DETAB) >$@
|
$(DETAB) $? | $(HT2READ) >$@
|
||||||
|
|
||||||
../README_FILES/LDAP_README: LDAP_README.html
|
../README_FILES/LDAP_README: LDAP_README.html
|
||||||
$(HT2READ) $? | $(DETAB) >$@
|
$(DETAB) $? | $(HT2READ) >$@
|
||||||
|
|
||||||
../README_FILES/LINUX_README: LINUX_README.html
|
../README_FILES/LINUX_README: LINUX_README.html
|
||||||
$(HT2READ) $? | $(DETAB) >$@
|
$(DETAB) $? | $(HT2READ) >$@
|
||||||
|
|
||||||
../README_FILES/LOCAL_RECIPIENT_README: LOCAL_RECIPIENT_README.html
|
../README_FILES/LOCAL_RECIPIENT_README: LOCAL_RECIPIENT_README.html
|
||||||
$(HT2READ) $? | $(DETAB) >$@
|
$(DETAB) $? | $(HT2READ) >$@
|
||||||
|
|
||||||
../README_FILES/MAILDROP_README: MAILDROP_README.html
|
../README_FILES/MAILDROP_README: MAILDROP_README.html
|
||||||
$(HT2READ) $? | $(DETAB) >$@
|
$(DETAB) $? | $(HT2READ) >$@
|
||||||
|
|
||||||
../README_FILES/LMDB_README: LMDB_README.html
|
../README_FILES/LMDB_README: LMDB_README.html
|
||||||
$(HT2READ) $? | $(DETAB) >$@
|
$(DETAB) $? | $(HT2READ) >$@
|
||||||
|
|
||||||
../README_FILES/MEMCACHE_README: MEMCACHE_README.html
|
../README_FILES/MEMCACHE_README: MEMCACHE_README.html
|
||||||
$(HT2READ) $? | $(DETAB) >$@
|
$(DETAB) $? | $(HT2READ) >$@
|
||||||
|
|
||||||
../README_FILES/MILTER_README: MILTER_README.html
|
../README_FILES/MILTER_README: MILTER_README.html
|
||||||
$(HT2READ) $? | $(DETAB) >$@
|
$(DETAB) $? | $(HT2READ) >$@
|
||||||
|
|
||||||
../README_FILES/MULTI_INSTANCE_README: MULTI_INSTANCE_README.html
|
../README_FILES/MULTI_INSTANCE_README: MULTI_INSTANCE_README.html
|
||||||
$(HT2READ) $? | $(DETAB) >$@
|
$(DETAB) $? | $(HT2READ) >$@
|
||||||
|
|
||||||
../README_FILES/MYSQL_README: MYSQL_README.html
|
../README_FILES/MYSQL_README: MYSQL_README.html
|
||||||
$(HT2READ) $? | $(DETAB) >$@
|
$(DETAB) $? | $(HT2READ) >$@
|
||||||
|
|
||||||
../README_FILES/NFS_README: NFS_README.html
|
../README_FILES/NFS_README: NFS_README.html
|
||||||
$(HT2READ) $? | $(DETAB) >$@
|
$(DETAB) $? | $(HT2READ) >$@
|
||||||
|
|
||||||
../README_FILES/OVERVIEW: OVERVIEW.html
|
../README_FILES/OVERVIEW: OVERVIEW.html
|
||||||
$(HT2READ) $? | $(DETAB) >$@
|
$(DETAB) $? | $(HT2READ) >$@
|
||||||
|
|
||||||
../README_FILES/PACKAGE_README: PACKAGE_README.html
|
../README_FILES/PACKAGE_README: PACKAGE_README.html
|
||||||
$(HT2READ) $? | $(DETAB) >$@
|
$(DETAB) $? | $(HT2READ) >$@
|
||||||
|
|
||||||
../README_FILES/PCRE_README: PCRE_README.html
|
../README_FILES/PCRE_README: PCRE_README.html
|
||||||
$(HT2READ) $? | $(DETAB) >$@
|
$(DETAB) $? | $(HT2READ) >$@
|
||||||
|
|
||||||
../README_FILES/PGSQL_README: PGSQL_README.html
|
../README_FILES/PGSQL_README: PGSQL_README.html
|
||||||
$(HT2READ) $? | $(DETAB) >$@
|
$(DETAB) $? | $(HT2READ) >$@
|
||||||
|
|
||||||
../README_FILES/POSTSCREEN_README: POSTSCREEN_README.html
|
../README_FILES/POSTSCREEN_README: POSTSCREEN_README.html
|
||||||
$(HT2READ) $? | $(DETAB) >$@
|
$(DETAB) $? | $(HT2READ) >$@
|
||||||
|
|
||||||
../README_FILES/QMQP_README: QMQP_README.html
|
../README_FILES/QMQP_README: QMQP_README.html
|
||||||
$(HT2READ) $? | $(DETAB) >$@
|
$(DETAB) $? | $(HT2READ) >$@
|
||||||
|
|
||||||
../README_FILES/QSHAPE_README: QSHAPE_README.html
|
../README_FILES/QSHAPE_README: QSHAPE_README.html
|
||||||
$(HT2READ) $? | $(DETAB) >$@
|
$(DETAB) $? | $(HT2READ) >$@
|
||||||
|
|
||||||
../README_FILES/RESTRICTION_CLASS_README: RESTRICTION_CLASS_README.html
|
../README_FILES/RESTRICTION_CLASS_README: RESTRICTION_CLASS_README.html
|
||||||
$(HT2READ) $? | $(DETAB) >$@
|
$(DETAB) $? | $(HT2READ) >$@
|
||||||
|
|
||||||
../README_FILES/SASL_README: SASL_README.html
|
../README_FILES/SASL_README: SASL_README.html
|
||||||
$(HT2READ) $? | $(DETAB) >$@
|
$(DETAB) $? | $(HT2READ) >$@
|
||||||
|
|
||||||
../README_FILES/SCHEDULER_README: SCHEDULER_README.html
|
../README_FILES/SCHEDULER_README: SCHEDULER_README.html
|
||||||
$(HT2READ) $? | $(DETAB) >$@
|
$(DETAB) $? | $(HT2READ) >$@
|
||||||
|
|
||||||
../README_FILES/SMTPD_ACCESS_README: SMTPD_ACCESS_README.html
|
../README_FILES/SMTPD_ACCESS_README: SMTPD_ACCESS_README.html
|
||||||
$(HT2READ) $? | $(DETAB) >$@
|
$(DETAB) $? | $(HT2READ) >$@
|
||||||
|
|
||||||
../README_FILES/SMTPD_POLICY_README: SMTPD_POLICY_README.html
|
../README_FILES/SMTPD_POLICY_README: SMTPD_POLICY_README.html
|
||||||
$(HT2READ) $? | $(DETAB) >$@
|
$(DETAB) $? | $(HT2READ) >$@
|
||||||
|
|
||||||
../README_FILES/SMTPD_PROXY_README: SMTPD_PROXY_README.html
|
../README_FILES/SMTPD_PROXY_README: SMTPD_PROXY_README.html
|
||||||
$(HT2READ) $? | $(DETAB) >$@
|
$(DETAB) $? | $(HT2READ) >$@
|
||||||
|
|
||||||
../README_FILES/SOHO_README: $(MAKESOHO) $(DEPSOHO)
|
../README_FILES/SOHO_README: $(MAKESOHO) $(DEPSOHO)
|
||||||
$(MAKESOHO) | $(HT2READ) | $(DETAB) >$@
|
$(MAKESOHO) | $(HT2READ) | $(DETAB) >$@
|
||||||
|
|
||||||
../README_FILES/SQLITE_README: SQLITE_README.html
|
../README_FILES/SQLITE_README: SQLITE_README.html
|
||||||
$(HT2READ) $? | $(DETAB) >$@
|
$(DETAB) $? | $(HT2READ) >$@
|
||||||
|
|
||||||
../README_FILES/STANDARD_CONFIGURATION_README: STANDARD_CONFIGURATION_README.html
|
../README_FILES/STANDARD_CONFIGURATION_README: STANDARD_CONFIGURATION_README.html
|
||||||
$(HT2READ) $? | $(DETAB) >$@
|
$(DETAB) $? | $(HT2READ) >$@
|
||||||
|
|
||||||
../README_FILES/STRESS_README: STRESS_README.html
|
../README_FILES/STRESS_README: STRESS_README.html
|
||||||
$(HT2READ) $? | $(DETAB) >$@
|
$(DETAB) $? | $(HT2READ) >$@
|
||||||
|
|
||||||
../README_FILES/TUNING_README: TUNING_README.html
|
../README_FILES/TUNING_README: TUNING_README.html
|
||||||
$(HT2READ) $? | $(DETAB) >$@
|
$(DETAB) $? | $(HT2READ) >$@
|
||||||
|
|
||||||
../README_FILES/UUCP_README: UUCP_README.html
|
../README_FILES/UUCP_README: UUCP_README.html
|
||||||
$(HT2READ) $? | $(DETAB) >$@
|
$(DETAB) $? | $(HT2READ) >$@
|
||||||
|
|
||||||
../README_FILES/ULTRIX_README: ULTRIX_README.html
|
../README_FILES/ULTRIX_README: ULTRIX_README.html
|
||||||
$(HT2READ) $? | $(DETAB) >$@
|
$(DETAB) $? | $(HT2READ) >$@
|
||||||
|
|
||||||
../README_FILES/VERP_README: VERP_README.html
|
../README_FILES/VERP_README: VERP_README.html
|
||||||
$(HT2READ) $? | $(DETAB) >$@
|
$(DETAB) $? | $(HT2READ) >$@
|
||||||
|
|
||||||
../README_FILES/VIRTUAL_README: VIRTUAL_README.html
|
../README_FILES/VIRTUAL_README: VIRTUAL_README.html
|
||||||
$(HT2READ) $? | $(DETAB) >$@
|
$(DETAB) $? | $(HT2READ) >$@
|
||||||
|
|
||||||
../README_FILES/XCLIENT_README: XCLIENT_README.html
|
../README_FILES/XCLIENT_README: XCLIENT_README.html
|
||||||
$(HT2READ) $? | $(DETAB) >$@
|
$(DETAB) $? | $(HT2READ) >$@
|
||||||
|
|
||||||
../README_FILES/XFORWARD_README: XFORWARD_README.html
|
../README_FILES/XFORWARD_README: XFORWARD_README.html
|
||||||
$(HT2READ) $? | $(DETAB) >$@
|
$(DETAB) $? | $(HT2READ) >$@
|
||||||
|
|
||||||
../README_FILES/TLS_README: TLS_README.html
|
../README_FILES/TLS_README: TLS_README.html
|
||||||
$(HT2READ) $? | $(DETAB) >$@
|
$(DETAB) $? | $(HT2READ) >$@
|
||||||
|
|
||||||
../README_FILES/TLS_LEGACY_README: TLS_LEGACY_README.html
|
../README_FILES/TLS_LEGACY_README: TLS_LEGACY_README.html
|
||||||
$(HT2READ) $? | $(DETAB) >$@
|
$(DETAB) $? | $(HT2READ) >$@
|
||||||
|
|
||||||
../README_FILES/AAAREADME: ../html/index.html $(MAKEAAA)
|
../README_FILES/AAAREADME: ../html/index.html $(MAKEAAA)
|
||||||
$(MAKEAAA) ../html/index.html | $(HT2READ) | $(DETAB) >$@
|
$(MAKEAAA) ../html/index.html | $(HT2READ) | $(DETAB) >$@
|
||||||
@ -468,8 +468,8 @@ clobber:
|
|||||||
../man/man5/postconf.5: postconf.man.prolog postconf.proto postconf.man.epilog \
|
../man/man5/postconf.5: postconf.man.prolog postconf.proto postconf.man.epilog \
|
||||||
../mantools/xpostconf ../mantools/postconf2html ../mantools/postconf2man
|
../mantools/xpostconf ../mantools/postconf2html ../mantools/postconf2man
|
||||||
(cat postconf.man.prolog; ../mantools/xpostconf postconf.proto | \
|
(cat postconf.man.prolog; ../mantools/xpostconf postconf.proto | \
|
||||||
../mantools/postconf2html | ../mantools/postconf2man | \
|
$(DETAB) | ../mantools/postconf2html | ../mantools/postconf2man | \
|
||||||
sed 's/\\e&/\\\&/'; cat postconf.man.epilog ) | $(DETAB) > $@
|
sed 's/\\e&/\\\&/'; cat postconf.man.epilog ) > $@
|
||||||
|
|
||||||
../html/postconf.5.html: postconf.html.prolog postconf.proto \
|
../html/postconf.5.html: postconf.html.prolog postconf.proto \
|
||||||
postconf.html.epilog ../mantools/xpostconf ../mantools/postconf2html \
|
postconf.html.epilog ../mantools/xpostconf ../mantools/postconf2html \
|
||||||
|
@ -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 "20131103"
|
#define MAIL_RELEASE_DATE "20131104"
|
||||||
#define MAIL_VERSION_NUMBER "2.11"
|
#define MAIL_VERSION_NUMBER "2.11"
|
||||||
|
|
||||||
#ifdef SNAPSHOT
|
#ifdef SNAPSHOT
|
||||||
|
@ -290,6 +290,7 @@ static void postalias(char *map_type, char *path_name, int postalias_flags,
|
|||||||
if ((source_fp = vstream_fopen(path_name, O_RDONLY, 0)) == 0)
|
if ((source_fp = vstream_fopen(path_name, O_RDONLY, 0)) == 0)
|
||||||
msg_fatal("open %s: %m", path_name);
|
msg_fatal("open %s: %m", path_name);
|
||||||
}
|
}
|
||||||
|
dict_flags |= DICT_FLAG_WORLD_READ;
|
||||||
if (fstat(vstream_fileno(source_fp), &st) < 0)
|
if (fstat(vstream_fileno(source_fp), &st) < 0)
|
||||||
msg_fatal("fstat %s: %m", path_name);
|
msg_fatal("fstat %s: %m", path_name);
|
||||||
|
|
||||||
|
@ -353,6 +353,7 @@ static void postmap(char *map_type, char *path_name, int postmap_flags,
|
|||||||
if ((source_fp = vstream_fopen(path_name, O_RDONLY, 0)) == 0)
|
if ((source_fp = vstream_fopen(path_name, O_RDONLY, 0)) == 0)
|
||||||
msg_fatal("open %s: %m", path_name);
|
msg_fatal("open %s: %m", path_name);
|
||||||
}
|
}
|
||||||
|
dict_flags |= DICT_FLAG_WORLD_READ;
|
||||||
if (fstat(vstream_fileno(source_fp), &st) < 0)
|
if (fstat(vstream_fileno(source_fp), &st) < 0)
|
||||||
msg_fatal("fstat %s: %m", path_name);
|
msg_fatal("fstat %s: %m", path_name);
|
||||||
|
|
||||||
|
@ -590,6 +590,7 @@ static const NAME_MASK dict_mask[] = {
|
|||||||
"fold_mul", DICT_FLAG_FOLD_MUL, /* case-fold with multi-case key map */
|
"fold_mul", DICT_FLAG_FOLD_MUL, /* case-fold with multi-case key map */
|
||||||
"open_lock", DICT_FLAG_OPEN_LOCK, /* permanent lock upon open */
|
"open_lock", DICT_FLAG_OPEN_LOCK, /* permanent lock upon open */
|
||||||
"bulk_update", DICT_FLAG_BULK_UPDATE, /* bulk update if supported */
|
"bulk_update", DICT_FLAG_BULK_UPDATE, /* bulk update if supported */
|
||||||
|
"world_read", DICT_FLAG_WORLD_READ, /* assume writer != reader */
|
||||||
0,
|
0,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -96,6 +96,7 @@ extern DICT *dict_debug(DICT *);
|
|||||||
#define DICT_FLAG_FOLD_ANY (DICT_FLAG_FOLD_FIX | DICT_FLAG_FOLD_MUL)
|
#define DICT_FLAG_FOLD_ANY (DICT_FLAG_FOLD_FIX | DICT_FLAG_FOLD_MUL)
|
||||||
#define DICT_FLAG_OPEN_LOCK (1<<16) /* perm lock if not multi-writer safe */
|
#define DICT_FLAG_OPEN_LOCK (1<<16) /* perm lock if not multi-writer safe */
|
||||||
#define DICT_FLAG_BULK_UPDATE (1<<17) /* optimize for bulk updates */
|
#define DICT_FLAG_BULK_UPDATE (1<<17) /* optimize for bulk updates */
|
||||||
|
#define DICT_FLAG_WORLD_READ (1<<18) /* assume writer != reader */
|
||||||
|
|
||||||
/* IMPORTANT: Update the dict_mask[] table when the above changes */
|
/* IMPORTANT: Update the dict_mask[] table when the above changes */
|
||||||
|
|
||||||
|
@ -551,35 +551,45 @@ DICT *dict_lmdb_open(const char *path, int open_flags, int dict_flags)
|
|||||||
mdb_path = concatenate(path, "." DICT_TYPE_LMDB, (char *) 0);
|
mdb_path = concatenate(path, "." DICT_TYPE_LMDB, (char *) 0);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Security violation.
|
* Impedance adapters.
|
||||||
*
|
|
||||||
* By default, LMDB 0.9.9 writes uninitialized heap memory to a
|
|
||||||
* world-readable database file. This is a basic memory disclosure
|
|
||||||
* vulnerability: memory content that a program does not intend to share
|
|
||||||
* ends up in a world-readable file. The content of uninitialized heap
|
|
||||||
* memory depends on program execution history. That history includes
|
|
||||||
* code execution in other libraries that are linked into the program.
|
|
||||||
*
|
|
||||||
* As a workaround we turn on MDB_WRITEMAP which disables the use of
|
|
||||||
* malloc() in LMDB. However, that does not address several disclosures
|
|
||||||
* of stack memory.
|
|
||||||
*/
|
*/
|
||||||
mdb_flags = MDB_NOSUBDIR | MDB_NOLOCK;
|
mdb_flags = MDB_NOSUBDIR | MDB_NOLOCK;
|
||||||
if (open_flags == O_RDONLY)
|
if (open_flags == O_RDONLY)
|
||||||
mdb_flags |= MDB_RDONLY;
|
mdb_flags |= MDB_RDONLY;
|
||||||
|
|
||||||
/*
|
|
||||||
* Replace with MDB_VERSION_FULL < MDB_VERINT(X, Y, Z) after this is
|
|
||||||
* fixed up-stream.
|
|
||||||
*/
|
|
||||||
#if 1
|
|
||||||
mdb_flags |= MDB_WRITEMAP;
|
|
||||||
#endif
|
|
||||||
|
|
||||||
slmdb_flags = 0;
|
slmdb_flags = 0;
|
||||||
if (dict_flags & DICT_FLAG_BULK_UPDATE)
|
if (dict_flags & DICT_FLAG_BULK_UPDATE)
|
||||||
slmdb_flags |= SLMDB_FLAG_BULK;
|
slmdb_flags |= SLMDB_FLAG_BULK;
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Security violation.
|
||||||
|
*
|
||||||
|
* By default, LMDB 0.9.9 writes uninitialized heap memory to a
|
||||||
|
* world-readable database file, as chunks of up to 4096 bytes. This is a
|
||||||
|
* gross memory disclosure vulnerability: memory content that a program
|
||||||
|
* does not intend to share ends up in a world-readable file. The content
|
||||||
|
* of uninitialized heap memory depends on program execution history.
|
||||||
|
* That history includes code execution in other libraries that are
|
||||||
|
* linked into the program.
|
||||||
|
*
|
||||||
|
* This is a problem whenever the user who writes the database file differs
|
||||||
|
* from the user who reads the database file. For example, a privileged
|
||||||
|
* writer and an unprivileged reader. In the case of Postfix, the
|
||||||
|
* postmap(1) and postalias(1) commands would leak uninitialized heap
|
||||||
|
* memory, as chunks of up to 4096 bytes, from a root-privileged process
|
||||||
|
* that writes to a database file, to unprivileged processes that read
|
||||||
|
* from that database file.
|
||||||
|
*
|
||||||
|
* As a workaround the postmap(1) and postalias(1) commands turn on
|
||||||
|
* MDB_WRITEMAP which disables the use of malloc() in LMDB. However, that
|
||||||
|
* does not address several disclosures of stack memory. Other Postfix
|
||||||
|
* databases do not need this workaround: those databases are maintained
|
||||||
|
* by Postfix daemon processes, and are accessible only by the postfix
|
||||||
|
* user.
|
||||||
|
*/
|
||||||
|
if (dict_flags & DICT_FLAG_WORLD_READ)
|
||||||
|
mdb_flags |= MDB_WRITEMAP;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Gracefully handle most database open errors.
|
* Gracefully handle most database open errors.
|
||||||
*/
|
*/
|
||||||
|
@ -126,6 +126,9 @@
|
|||||||
/* Enable preliminary code for bulk-mode database updates.
|
/* Enable preliminary code for bulk-mode database updates.
|
||||||
/* The caller must create an exception handler with dict_jmp_alloc()
|
/* The caller must create an exception handler with dict_jmp_alloc()
|
||||||
/* and must trap exceptions from the database client with dict_setjmp().
|
/* and must trap exceptions from the database client with dict_setjmp().
|
||||||
|
/* .IP DICT_FLAG_WORLD_READ
|
||||||
|
/* Assume that the database file will be read by users other
|
||||||
|
/* than the writer.
|
||||||
/* .IP DICT_FLAG_DEBUG
|
/* .IP DICT_FLAG_DEBUG
|
||||||
/* Enable additional logging.
|
/* Enable additional logging.
|
||||||
/* .PP
|
/* .PP
|
||||||
|
@ -295,9 +295,11 @@ static int slmdb_recover(SLMDB *slmdb, int status)
|
|||||||
MDB_envinfo info;
|
MDB_envinfo info;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Limit the number of recovery attempts per slmdb(3) API request.
|
* Recover bulk transactions only if they can be restarted. Limit
|
||||||
|
* the number of recovery attempts per slmdb(3) API request.
|
||||||
*/
|
*/
|
||||||
if ((slmdb->api_retry_count += 1) >= slmdb->api_retry_limit)
|
if ((slmdb->txn != 0 && slmdb->longjmp_fn == 0)
|
||||||
|
|| ((slmdb->api_retry_count += 1) >= slmdb->api_retry_limit))
|
||||||
return (status);
|
return (status);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
Loading…
x
Reference in New Issue
Block a user