each smtpd(8) process. The workaround turns off session
tickets. In 2.11 we'll enable session tickets properly.
Viktor Dukhovni. File: tls/tls_server.c.
+
+20131026
+
+ Future proofing: API changes in the PCRE library. File:
+ util/dict_pcre.c.
+
+20131127
+
+ Bugfix (introduced: 20090106): the postconf '-#' option
+ erased prior options. File: postconf/postconf.c.
+
+20131129
+
+ Bugfix: Makefile example in MULTI_INSTANCE_README. Viktor
+ Dukhovni. File: proto/MULTI_INSTANCE_README.html.
+
+20131220
+
+ Documentation: typo in SASL_README. Patrick Ben Koetter.
+ File: proto/SASL_README.html.
+
+20140104
+
+ Bugfix: malformed error message. File: conf/post-install.
generic: Makefile
@echo Creating $@
@rm -f $@.tmp
- @printf '%s\t%s+root=%s\n' root $MTAADMIN `uname -n` > $@.tmp
+ @printf '%s\t%s+root=%s\n' root ${MTAADMIN} `uname -n` > $@.tmp
@mv $@.tmp generic
%.cdb: %
(MAIL_CONFIG=/etc/postfix-out) of the output instance.
* Lines 1-2: With "authorized_submit_users = root", the superuser can test
- the postix-out instance with "postmulti -i postfix-out -x sendmail -bv
+ the postfix-out instance with "postmulti -i postfix-out -x sendmail -bv
recipient...", but otherwise local submission remains disabled.
* Lines 1-2: With "master_service_disable =", the "inet" listeners are re-
$readme_directory.
* Entries in /etc/passwd and /etc/group for the $mail_owner user and
- $setgid_group group. The the $mail_owner user provides the mail system with
- a protected (non-root) execution context. The $setgid_group group is used
+ $setgid_group group. The $mail_owner user provides the mail system with a
+ protected (non-root) execution context. The $setgid_group group is used
exclusively to support the setgid postdrop(1) and postqueue(1) utilities
(it m\bmu\bus\bst\bt n\bno\bot\bt be the primary group or secondary group of any users,
including the $mail_owner user).
sql_user: username
sql_passwd: secret
sql_database: dbname
- sql_select: SELECT password FROM users WHERE user = '%u'@'%r'
+ sql_select: SELECT password FROM users WHERE user = '%u@%r'
N\bNo\bot\bte\be
case $type in
[hl]) continue;;
[df]) ;;
- *) echo unknown type $type for $path in $daemon_directory/postfix-files1>&2; exit 1;;
+ *) echo unknown type $type for $path in $daemon_directory/postfix-files 1>&2; exit 1;;
esac
# Expand $name, and canonicalize null fields.
for name in path owner group flags
generic: Makefile
@echo Creating $@
@rm -f $@.tmp
- @printf '%s\t%s+root=%s\n' root $MTAADMIN `uname -n` > $@.tmp
+ @printf '%s\t%s+root=%s\n' root ${MTAADMIN} `uname -n` > $@.tmp
@mv $@.tmp generic
%.<a href="CDB_README.html">cdb</a>: %
<ul>
<li> <p> Lines 1-2: With "<a href="postconf.5.html#authorized_submit_users">authorized_submit_users</a> = root", the
-superuser can test the postix-out instance with "postmulti -i
+superuser can test the postfix-out instance with "postmulti -i
postfix-out -x sendmail -bv recipient...", but otherwise local
submission remains disabled. </p>
$<a href="postconf.5.html#manpage_directory">manpage_directory</a> and $<a href="postconf.5.html#readme_directory">readme_directory</a>. </p>
<li><p> Entries in /etc/passwd and /etc/group for the $<a href="postconf.5.html#mail_owner">mail_owner</a> user and
-$<a href="postconf.5.html#setgid_group">setgid_group</a> group. The the $<a href="postconf.5.html#mail_owner">mail_owner</a> user provides the mail system
+$<a href="postconf.5.html#setgid_group">setgid_group</a> group. The $<a href="postconf.5.html#mail_owner">mail_owner</a> user provides the mail system
with a protected (non-root) execution context. The $<a href="postconf.5.html#setgid_group">setgid_group</a> group
is used exclusively to support the setgid <a href="postdrop.1.html">postdrop(1)</a> and <a href="postqueue.1.html">postqueue(1)</a>
utilities (it <b>must not</b> be the primary group or secondary group
sql_user: username
sql_passwd: secret
sql_database: dbname
- sql_select: SELECT password FROM users WHERE user = '%u'@'%r'
+ sql_select: SELECT password FROM users WHERE user = '%u@%r'
</pre>
</blockquote>
generic: Makefile
@echo Creating $@
@rm -f $@.tmp
- @printf '%s\t%s+root=%s\n' root $MTAADMIN `uname -n` > $@.tmp
+ @printf '%s\t%s+root=%s\n' root ${MTAADMIN} `uname -n` > $@.tmp
@mv $@.tmp generic
%.cdb: %
<ul>
<li> <p> Lines 1-2: With "authorized_submit_users = root", the
-superuser can test the postix-out instance with "postmulti -i
+superuser can test the postfix-out instance with "postmulti -i
postfix-out -x sendmail -bv recipient...", but otherwise local
submission remains disabled. </p>
$manpage_directory and $readme_directory. </p>
<li><p> Entries in /etc/passwd and /etc/group for the $mail_owner user and
-$setgid_group group. The the $mail_owner user provides the mail system
+$setgid_group group. The $mail_owner user provides the mail system
with a protected (non-root) execution context. The $setgid_group group
is used exclusively to support the setgid postdrop(1) and postqueue(1)
utilities (it <b>must not</b> be the primary group or secondary group
sql_user: username
sql_passwd: secret
sql_database: dbname
- sql_select: SELECT password FROM users WHERE user = '%u'@'%r'
+ sql_select: SELECT password FROM users WHERE user = '%u@%r'
</pre>
</blockquote>
* Patches change both the patchlevel and the release date. Snapshots have no
* patchlevel; they change the release date only.
*/
-#define MAIL_RELEASE_DATE "20130905"
-#define MAIL_VERSION_NUMBER "2.7.15"
+#define MAIL_RELEASE_DATE "20140116"
+#define MAIL_VERSION_NUMBER "2.7.16"
#ifdef SNAPSHOT
# define MAIL_VERSION_DATE "-" MAIL_RELEASE_DATE
break;
#endif
case '#':
- cmd_mode = COMMENT_OUT;
+ cmd_mode |= COMMENT_OUT;
break;
case 'h':
#include "mac_parse.h"
#include "pcre.h"
+ /*
+ * Backwards compatibility.
+ */
+#ifdef PCRE_STUDY_JIT_COMPILE
+#define DICT_PCRE_FREE_STUDY(x) pcre_free_study(x)
+#else
+#define DICT_PCRE_FREE_STUDY(x) pcre_free((char *) (x))
+#endif
+
/*
* Support for IF/ENDIF based on an idea by Bert Driehuis.
*/
if (match_rule->pattern)
myfree((char *) match_rule->pattern);
if (match_rule->hints)
- myfree((char *) match_rule->hints);
+ DICT_PCRE_FREE_STUDY(match_rule->hints);
if (match_rule->replacement)
myfree((char *) match_rule->replacement);
break;
if (if_rule->pattern)
myfree((char *) if_rule->pattern);
if (if_rule->hints)
- myfree((char *) if_rule->hints);
+ DICT_PCRE_FREE_STUDY(if_rule->hints);
break;
case DICT_PCRE_OP_ENDIF:
break;
if (engine.pattern)
myfree((char *) engine.pattern);
if (engine.hints)
- myfree((char *) engine.hints);
+ DICT_PCRE_FREE_STUDY(engine.hints);
CREATE_MATCHOP_ERROR_RETURN(0);
}
#endif