]> TLD Linux GIT Repositories - packages/postfix.git/commitdiff
- drop header_if_reject patch, never used in TLD
authorMarcin Krol <hawk@tld-linux.org>
Sat, 25 Jul 2015 17:20:16 +0000 (17:20 +0000)
committerMarcin Krol <hawk@tld-linux.org>
Sat, 25 Jul 2015 17:20:16 +0000 (17:20 +0000)
postfix-header_if_reject.patch [deleted file]
postfix.spec

diff --git a/postfix-header_if_reject.patch b/postfix-header_if_reject.patch
deleted file mode 100644 (file)
index 49caee2..0000000
+++ /dev/null
@@ -1,189 +0,0 @@
---- src/smtpd/smtpd.h.org      Wed Feb  9 03:00:14 2005
-+++ src/smtpd/smtpd.h  Mon Feb  7 20:06:58 2005
-@@ -111,6 +111,7 @@
-     int     sender_rcptmap_checked;   /* sender validated against maps */
-     int     recipient_rcptmap_checked;        /* recipient validated against maps */
-     int     warn_if_reject;           /* force reject into warning */
-+    int     header_if_reject;         /* add header instead of rejecting */
-     SMTPD_DEFER defer_if_reject;      /* force reject into deferral */
-     SMTPD_DEFER defer_if_permit;      /* force permit into deferral */
-     int     defer_if_permit_client;   /* force permit into warning */
---- src/global/mail_params.h.org       Wed Feb  9 03:01:31 2005
-+++ src/global/mail_params.h   Wed Feb  9 02:01:01 2005
-@@ -1578,6 +1578,7 @@
- #define CHECK_RECIP_NS_ACL    "check_recipient_ns_access"
- #define WARN_IF_REJECT                "warn_if_reject"
-+#define HEADER_IF_REJECT      "header_if_reject"
- #define REJECT_RBL            "reject_rbl"    /* LaMont compatibility */
- #define REJECT_RBL_CLIENT     "reject_rbl_client"
---- src/smtpd/smtpd_check.c.org        Sat Dec 27 03:54:03 2003
-+++ src/smtpd/smtpd_check.c    Wed Feb  9 06:04:25 2005
-@@ -351,29 +351,29 @@
-   * permit-style restriction fails. Otherwise, we could reject legitimate
-   * mail.
-   */
--static void PRINTFLIKE(3, 4) defer_if(SMTPD_DEFER *, int, const char *,...);
-+static void PRINTFLIKE(4, 5) defer_if(SMTPD_STATE *, SMTPD_DEFER *, int, const char *,...);
- #define DEFER_IF_REJECT2(state, class, fmt, a1, a2) \
--    defer_if(&(state)->defer_if_reject, (class), (fmt), (a1), (a2))
-+    defer_if((state), &(state)->defer_if_reject, (class), (fmt), (a1), (a2))
- #define DEFER_IF_REJECT3(state, class, fmt, a1, a2, a3) \
--    defer_if(&(state)->defer_if_reject, (class), (fmt), (a1), (a2), (a3))
-+    defer_if((state), &(state)->defer_if_reject, (class), (fmt), (a1), (a2), (a3))
- #define DEFER_IF_REJECT4(state, class, fmt, a1, a2, a3, a4) \
-     defer_if(&(state)->defer_if_reject, (class), (fmt), (a1), (a2), (a3), (a4))
- #define DEFER_IF_PERMIT2(state, class, fmt, a1, a2) do { \
-     if ((state)->warn_if_reject == 0) \
--      defer_if(&(state)->defer_if_permit, (class), (fmt), (a1), (a2)); \
-+      defer_if((state), &(state)->defer_if_permit, (class), (fmt), (a1), (a2)); \
-     else \
-       (void) smtpd_check_reject((state), (class), (fmt), (a1), (a2)); \
-     } while (0)
- #define DEFER_IF_PERMIT3(state, class, fmt, a1, a2, a3) do { \
-     if ((state)->warn_if_reject == 0) \
--      defer_if(&(state)->defer_if_permit, (class), (fmt), (a1), (a2), (a3)); \
-+      defer_if((state), &(state)->defer_if_permit, (class), (fmt), (a1), (a2), (a3)); \
-     else \
-       (void) smtpd_check_reject((state), (class), (fmt), (a1), (a2), (a3)); \
-     } while (0)
- #define DEFER_IF_PERMIT4(state, class, fmt, a1, a2, a3, a4) do { \
-     if ((state)->warn_if_reject == 0) \
--      defer_if(&(state)->defer_if_permit, (class), (fmt), (a1), (a2), (a3), (a4)); \
-+      defer_if((state), &(state)->defer_if_permit, (class), (fmt), (a1), (a2), (a3), (a4)); \
-     else \
-       (void) smtpd_check_reject((state), (class), (fmt), (a1), (a2), (a3), (a4)); \
-     } while (0)
-@@ -712,7 +712,18 @@
-                                     char *format,...)
- {
-     va_list ap;
-+
-+    va_start(ap, format);
-+    vstring_vsprintf(error_text, format, ap);
-+    va_end(ap);
-+    
-+    return(xsmtpd_check_reject(state, error_class, error_text));
-+}
-+static int xsmtpd_check_reject(SMTPD_STATE *state, int error_class,
-+              VSTRING *error_text)
-+{
-     int     warn_if_reject;
-+    int     header_if_reject;
-     const char *whatsup;
-     /*
-@@ -726,15 +737,18 @@
-       warn_if_reject = 0;
-       whatsup = "reject";
-     }
-+    if (state->header_if_reject && error_class != MAIL_ERROR_SOFTWARE) {
-+          header_if_reject = 1;
-+          whatsup = "header_warning";
-+    } else {
-+          header_if_reject = 0;
-+    }
-     /*
-      * Update the error class mask, and format the response. XXX What about
-      * multi-line responses? For now we cheat and send whitespace.
-      */
-     state->error_mask |= error_class;
--    va_start(ap, format);
--    vstring_vsprintf(error_text, format, ap);
--    va_end(ap);
-     /*
-      * Ensure RFC compliance. We could do this inside smtpd_chat_reply() and
-@@ -796,15 +810,58 @@
-      */
-     log_whatsup(state, whatsup, STR(error_text));
--    return (warn_if_reject ? 0 : SMTPD_CHECK_REJECT);
-+    if (state->header_if_reject) {
-+        VSTRING *hbuf = vstring_alloc(100);
-+      int elen = strlen(STR(error_text));
-+
-+        if (state->prepend == 0)
-+            state->prepend = argv_alloc(1);
-+        printable(STR(error_text), '?');
-+
-+#define PRETTY_HEADER
-+#ifdef PRETTY_HEADER
-+        if (elen > 65) {
-+          int len = 0, n;
-+            char *p;
-+
-+            vstring_sprintf(hbuf, "%s", "X-Reject: ");
-+            while (len < elen-65 && (p = strchr(STR(error_text)+len+64, ' '))) {
-+              *p = '\t';
-+                n = p-(STR(error_text)+len);
-+              vstring_sprintf_append(hbuf, "%.*s\n", n, STR(error_text)+len);
-+              len+=n;
-+            }
-+          vstring_sprintf_append(hbuf, "%s", STR(error_text)+len);
-+        }
-+        else {
-+            vstring_sprintf(hbuf, "X-Reject: %s", STR(error_text));
-+        }
-+#else
-+        vstring_sprintf(hbuf, "X-Reject: %.*s", 999, STR(error_text));
-+#endif
-+        argv_add(state->prepend, STR(hbuf), ARGV_END);
-+        vstring_free(hbuf);
-+    }
-+
-+    return (warn_if_reject || header_if_reject ? 0 : SMTPD_CHECK_REJECT);    
- }
- /* defer_if - prepare to change our mind */
--static void defer_if(SMTPD_DEFER *defer, int error_class, const char *fmt,...)
-+static void defer_if(SMTPD_STATE *state, SMTPD_DEFER *defer, int error_class, const char *fmt,...)
- {
-     va_list ap;
-+    if (state->header_if_reject) {
-+        va_start(ap, fmt);
-+        vstring_vsprintf(error_text, fmt, ap);
-+        va_end(ap);
-+        if (STR(error_text)[0] == '5') {
-+            xsmtpd_check_reject(state, error_class, error_text);
-+            return;
-+        }
-+    }
-+
-     /*
-      * Keep the first reason for this type of deferral, to minimize
-      * confusion.
-@@ -3147,6 +3204,11 @@
-               state->warn_if_reject = state->recursion;
-           continue;
-       }
-+      if (strcasecmp(name, HEADER_IF_REJECT) == 0) {
-+          if (state->header_if_reject == 0)
-+              state->header_if_reject = state->recursion;
-+          continue;
-+      }
-       /*
-        * Spoof the is_map_command() routine, so that we do not have to make
-@@ -3500,6 +3562,8 @@
-       if (state->warn_if_reject >= state->recursion)
-           state->warn_if_reject = 0;
-+      if (state->header_if_reject >= state->recursion)
-+              state->header_if_reject = 0;
-       if (status != 0)
-           break;
-@@ -3554,6 +3618,7 @@
- #define SMTPD_CHECK_RESET() { \
-       state->recursion = 0; \
-       state->warn_if_reject = 0; \
-+      state->header_if_reject = 0; \
-       state->defer_if_reject.active = 0; \
-     }
index ad556eb4573785fa8582619c534433ba160e0239..dc40c57a20e314cc8d5f63757d6fe2187bfe1619 100644 (file)
@@ -7,7 +7,6 @@
 %bcond_without sasl    # without SMTP AUTH support
 %bcond_without ssl     # without SSL/TLS support
 %bcond_without cdb     # without cdb map support
-%bcond_with    hir     # with Beeth's header_if_reject patch
 %bcond_with    tcp     # with unofficial tcp: lookup table
 %bcond_without epoll   # disable epoll for 2.4 kernels
 
@@ -258,7 +257,6 @@ find -type f | xargs sed -i -e 's|/etc/postfix|/etc/mail|g'
 %patch1 -p0
 %patch2 -p1
 %patch3 -p1
-%{?with_hir:%patch4 -p0}
 %patch5 -p1
 sed -i '/scache_clnt_create/s/server/var_scache_service/' src/global/scache_clnt.c
 %if "%{_lib}" == "lib64"