]> git.ipfire.org Git - thirdparty/postfix.git/commitdiff
postfix-2.0.5 v2.0.5
authorWietse Venema <wietse@porcupine.org>
Sat, 1 Mar 2003 05:00:00 +0000 (00:00 -0500)
committerViktor Dukhovni <viktor@dukhovni.org>
Tue, 5 Feb 2013 15:51:44 +0000 (15:51 +0000)
17 files changed:
postfix/HISTORY
postfix/README_FILES/FILTER_README
postfix/RELEASE_NOTES
postfix/conf/transport
postfix/html/proxymap.8.html
postfix/html/transport.5.html
postfix/html/virtual.8.html
postfix/man/man5/transport.5
postfix/man/man8/proxymap.8
postfix/man/man8/virtual.8
postfix/proto/transport
postfix/src/global/mail_params.h
postfix/src/global/mail_version.h
postfix/src/proxymap/proxymap.c
postfix/src/smtpd/smtpd.c
postfix/src/smtpd/smtpd_chat.c
postfix/src/virtual/virtual.c

index e9e085302ef4c36c196b9527bf4d8bc04df44458..16067de9c6ff2be3b65f268e972b5a296c200563 100644 (file)
@@ -7656,6 +7656,25 @@ Apologies for any names omitted.
        did not eliminate virtual expansion duplicates with the
        same original recipient. File: cleanup/cleanup_out_recipient.c.
 
+20030223
+
+       Bugfix: smtpd_hard/soft_error_limit off-by-one error, so
+       that the real limit was one larger than the specified value.
+       File: smtpd/smtpd.c, smtpd/smtpd_chat.c.
+
+20030226
+
+       Safety: proxymap server defense against potential deadlock
+       when some library routine wants to open a proxied table.
+       Instead, proxymap opens the requested table directly. File:
+       proxymap/proxymap.c.
+
+20030227
+
+       Bugfix: added mynetworks to the list of proxy_read_maps
+       parameter settings that are pre-authorized to use proxied
+       table lookups.  File: global/mail_params.h.
+
 Open problems:
 
        Low: after successful delivery, per-queue window += 1/window,
index 63f99ee9af19f9fc8e66d26dd6b681780b8f40d7..e59ccfa510d41e82214acc752b2e53a242b2e52f 100644 (file)
@@ -343,9 +343,9 @@ new parameter:
 # cleanup service (defined further below).
 #
 smtp      inet  n       -       n       -       -       smtpd
-    -o cleanup_service=pre-cleanup
+    -o cleanup_service_name=pre-cleanup
 pickup    fifo  n       -       n       60      1       pickup
-    -o cleanup_service=pre-cleanup
+    -o cleanup_service_name=pre-cleanup
 #
 # ------------------------------------------------------------------
 #
index 3348a914144b75d753c0c8d980d6417beb18b80c..8229d641b1dfeb2f2ebc63be3abacd1846fc15ce 100644 (file)
@@ -24,6 +24,15 @@ snapshot release).  Patches change the patchlevel and the release
 date. Snapshots change only the release date, unless they include
 the same bugfixes as a patch release.
 
+Incompatible changes with Postfix version 2.0.5 (released 20030301)
+===================================================================
+
+The smtpd_hard_error_limit and smtpd_soft_error_limit values now
+behave as documented, that is, smtpd_hard_error_limit=1 causes
+Postfix to disconnect upon the first client error. Previously,
+there was an off-by-one error causing Postfix to change behavior
+after smtpd_hard/soft_error_limit+1 errors.
+
 Incompatible changes with Postfix version 2.0.4 (released 20030219)
 ===================================================================
 
index 73c15dbce62ed3a17505036b16dbe730dce2b9cd..3ae93a7f07ae89b113c464e5aa750d23a7d45412 100644 (file)
 #        dependent. In the case of SMTP, specify host:service for a
 #        non-default  server port, and use [host] or [host]:port in
 #        order to disable MX (mail exchanger) DNS lookups.  The  []
-#        form  can  also be used with IP addresses instead of host-
-#        names.
+#        form is required when you specify an IP address instead of
+#        a hostname.
 # 
 #        A null transport and null nexthop  result  means  "do  not
 #        change":  use  the delivery transport and nexthop informa-
index 12dad01ac99cea9415482781369812eb422fca16..4ea05c0960300511f3bdb7489fad7bf2513e03b3 100644 (file)
@@ -29,10 +29,10 @@ PROXYMAP(8)                                           PROXYMAP(8)
               tions" errors. The solution:
 
               virtual_alias_maps =
-                  proxy:mysql:/etc/postfix/virtual.cf
+                  proxy:mysql:/etc/postfix/virtual_alias.cf
 
               The total number of connections is limited  by  the
-              number of proxymap server server processes.
+              number of proxymap server processes.
 
        The proxymap server implements the following requests:
 
index 774c557f5d1c8e07ef621829beed77724b8e0b88..3d63496b84119a315a13aee61a746e913d45acaa 100644 (file)
@@ -102,8 +102,8 @@ TRANSPORT(5)                                         TRANSPORT(5)
        dependent. In the case of SMTP, specify <i>host</i>:<i>service</i> for a
        non-default  server port, and use [<i>host</i>] or [<i>host</i>]:<i>port</i> in
        order to disable MX (mail exchanger) DNS lookups.  The  []
-       form  can  also be used with IP addresses instead of host-
-       names.
+       form is required when you specify an IP address instead of
+       a hostname.
 
        A null <i>transport</i> and null <i>nexthop</i>  result  means  "do  not
        change":  use  the delivery transport and nexthop informa-
index e350dcb3f45653eaeb6c059849c3a0e8aaa23666..c36f4e3137dabe104ad7a530e1dc4757ab8a8c99 100644 (file)
@@ -17,8 +17,8 @@ VIRTUAL(8)                                             VIRTUAL(8)
 
        This delivery agent only delivers  mail.   Other  features
        such  as  mail  forwarding,  out-of-office  notifications,
-       etc., must be configured via virtual maps or  via  similar
-       lookup mechanisms.
+       etc., must be configured via  virtual_alias  maps  or  via
+       similar lookup mechanisms.
 
 <b>MAILBOX</b> <b>LOCATION</b>
        The  mailbox  location  is controlled by the <b>virtual</b><i>_</i><b>mail-</b>
index f244a96c1e7c4fc1dafe5b9c64dea2bd01cf18c7..e4c69f3728ecc600af8517122dc02c418dc2db29 100644 (file)
@@ -102,7 +102,7 @@ The interpretation of the nexthop field is transport
 dependent. In the case of SMTP, specify \fIhost\fR:\fIservice\fR for a
 non-default server port, and use [\fIhost\fR] or [\fIhost\fR]:\fIport\fR
 in order to disable MX (mail exchanger) DNS lookups. The [] form
-can also be used with IP addresses instead of hostnames.
+is required when you specify an IP address instead of a hostname.
 
 A null \fItransport\fR and null \fInexthop\fR result means "do
 not change": use the delivery transport and nexthop information
index b36119748a419a03abd4204ee5b2f0187910cfe8..a801de872740a253ec51bddcfda5b0526aed3add 100644 (file)
@@ -33,10 +33,10 @@ in "too many connections" errors. The solution:
 .sp
 virtual_alias_maps =
 .ti +4
-proxy:mysql:/etc/postfix/virtual.cf
+proxy:mysql:/etc/postfix/virtual_alias.cf
 .sp
 The total number of connections is limited by the number of
-proxymap server server processes.
+proxymap server processes.
 .PP
 The proxymap server implements the following requests:
 .IP "\fBPROXY_REQ_OPEN\fI maptype:mapname flags\fR"
index c7517bc24aec9c4f7b2c820afc9ef75740b39e42..ea13355170c9480825b67e348d88c522f7a23efd 100644 (file)
@@ -20,7 +20,7 @@ file lookups of the address local part only.
 
 This delivery agent only delivers mail.  Other features such as
 mail forwarding, out-of-office notifications, etc., must be
-configured via virtual maps or via similar lookup mechanisms.
+configured via virtual_alias maps or via similar lookup mechanisms.
 .SH MAILBOX LOCATION
 .na
 .nf
index 243a4dcecfb535176eea0bdc15c2c512e4ad9e10..e9ca553a0c1658a1cb24385ec22db3a5aff25129 100644 (file)
@@ -90,7 +90,7 @@
 #      dependent. In the case of SMTP, specify \fIhost\fR:\fIservice\fR for a
 #      non-default server port, and use [\fIhost\fR] or [\fIhost\fR]:\fIport\fR
 #      in order to disable MX (mail exchanger) DNS lookups. The [] form
-#      can also be used with IP addresses instead of hostnames.
+#      is required when you specify an IP address instead of a hostname.
 #
 #      A null \fItransport\fR and null \fInexthop\fR result means "do
 #      not change": use the delivery transport and nexthop information
index 82261de224185bbe7ae1d36d1470421b10586fef..baf358eb57b773e6e7e05b32a95deb391a473b26 100644 (file)
@@ -1317,7 +1317,8 @@ extern int var_local_rcpt_code;
                                 " $" VAR_SEND_CANON_MAPS \
                                 " $" VAR_RCPT_CANON_MAPS \
                                 " $" VAR_RELOCATED_MAPS \
-                                " $" VAR_TRANSPORT_MAPS
+                                " $" VAR_TRANSPORT_MAPS \
+                               " $" VAR_MYNETWORKS
 extern char *var_proxy_read_maps;
 
  /*
index 186e9a3b5cb06bc9c2595516fefc52d9b85fb83c..404f1e875b1d3f10c1c4594265e23fee4c7ea40e 100644 (file)
   * Patches change the patchlevel and the release date. Snapshots change the
   * release date only, unless they include the same bugfix as a patch release.
   */
-#define MAIL_RELEASE_DATE      "20030219"
+#define MAIL_RELEASE_DATE      "20030301"
 
 #define VAR_MAIL_VERSION       "mail_version"
-#define DEF_MAIL_VERSION       "2.0.4"
+#define DEF_MAIL_VERSION       "2.0.5"
 extern char *var_mail_version;
 
  /*
index 0caed2983eb6554c55dbe3ad0f6e313f9ae2d68d..362079da2038dbda3ab6b91a875f0ab28e1900a1 100644 (file)
 /* .sp
 /*     virtual_alias_maps =
 /* .ti +4
-/*     proxy:mysql:/etc/postfix/virtual.cf
+/*     proxy:mysql:/etc/postfix/virtual_alias.cf
 /* .sp
 /*     The total number of connections is limited by the number of
-/*     proxymap server server processes.
+/*     proxymap server processes.
 /* .PP
 /*     The proxymap server implements the following requests:
 /* .IP "\fBPROXY_REQ_OPEN\fI maptype:mapname flags\fR"
@@ -332,6 +332,18 @@ static void proxymap_service(VSTREAM *client_stream, char *unused_service,
     vstream_fflush(client_stream);
 }
 
+/* dict_proxy_open - intercept remote map request from inside library */
+
+DICT   *dict_proxy_open(const char *map, int open_flags, int dict_flags)
+{
+    if (msg_verbose)
+       msg_info("dict_proxy_open(%s, 0%o, 0%o) called from internal routine",
+                map, open_flags, dict_flags);
+    while (strncmp(map, PROXY_COLON, PROXY_COLON_LEN) == 0)
+       map += PROXY_COLON_LEN;
+    return (dict_open(map, open_flags, dict_flags));
+}
+
 /* post_jail_init - initialization after privilege drop */
 
 static void post_jail_init(char *unused_name, char **unused_argv)
index 67d70a766a9cb5728b1691ab208c20730acf96ee..185ddd22777395a731eb00f2d63b605c5445ed34 100644 (file)
@@ -990,6 +990,7 @@ static int data_cmd(SMTPD_STATE *state, int argc, SMTPD_TOKEN *unused_argv)
     int     prev_rec_type;
     int     first = 1;
     VSTRING *why = 0;
+    int     saved_err;
 
     /*
      * Sanity checks. With ESMTP command pipelining the client can send DATA
@@ -1150,12 +1151,13 @@ static int data_cmd(SMTPD_STATE *state, int argc, SMTPD_TOKEN *unused_argv)
     /*
      * Cleanup. The client may send another MAIL command.
      */
+    saved_err = state->err;
     chat_reset(state, var_smtpd_hist_thrsh);
     mail_reset(state);
     rcpt_reset(state);
     if (why)
        vstring_free(why);
-    return (state->err);
+    return (saved_err);
 }
 
 /* rset_cmd - process RSET */
@@ -1469,7 +1471,7 @@ static void smtpd_proto(SMTPD_STATE *state)
        }
 
        for (;;) {
-           if (state->error_count > var_smtpd_hard_erlim) {
+           if (state->error_count >= var_smtpd_hard_erlim) {
                state->reason = "too many errors";
                state->error_mask |= MAIL_ERROR_PROTOCOL;
                smtpd_chat_reply(state, "421 Error: too many errors");
@@ -1529,7 +1531,9 @@ static void smtpd_proto(SMTPD_STATE *state)
      * things went wrong. Don't complain about clients that go away without
      * sending QUIT.
      */
-    if (state->reason && state->where && strcmp(state->where, SMTPD_AFTER_DOT))
+    if (state->reason && state->where
+       && (strcmp(state->where, SMTPD_AFTER_DOT)
+           || strcmp(state->reason, "lost connection")))
        msg_info("%s after %s from %s[%s]",
                 state->reason, state->where, state->name, state->addr);
 
index 692a52c6ebee7db9b1666ac5392fded8d967b24e..9d68dd34f3e721bd57c4e1215b742480a5c90173 100644 (file)
@@ -157,7 +157,7 @@ void    smtpd_chat_reply(SMTPD_STATE *state, char *format,...)
      * sleep-on-anything slows down clients that make an excessive number of
      * errors within a session.
      */
-    if (state->error_count > var_smtpd_soft_erlim)
+    if (state->error_count >= var_smtpd_soft_erlim)
        sleep(delay = (state->error_count > var_smtpd_err_sleep ?
                       state->error_count : var_smtpd_err_sleep));
     else if (STR(state->buffer)[0] == '4' || STR(state->buffer)[0] == '5')
index e0896f0b0418086f0c06b013b156d45c30714605..f25f52f4acd9e793416cc8a79ba0a42a407e4962 100644 (file)
@@ -14,7 +14,7 @@
 /*
 /*     This delivery agent only delivers mail.  Other features such as
 /*     mail forwarding, out-of-office notifications, etc., must be
-/*     configured via virtual maps or via similar lookup mechanisms.
+/*     configured via virtual_alias maps or via similar lookup mechanisms.
 /* MAILBOX LOCATION
 /* .ad
 /* .fi