exim 4.20.x patch to handle sendmail -O switch

Jason Pyeron jason@pyeron.com
Tue Jun 10 16:15:00 GMT 2003


Dear Sirs/Madams,

Please find enclosed patches for your respective distributions. These 
patches allow exim to not fail on sendmail like switch -O.

In send mail the -O switch allows configuration options to be set via the 
command line to override the .conf settings.

Its general syntax is:

 -O option=value
 or the popular undocumented:
 -Ooption=value


I believe this addresses Wish-List Item 181 for exim 3.

This patch is needed to allow Bugzilla 2.17.4 to install and run properly 
on cygwin. They use:

 -ODeliveryMode=deferred
 -ODeliveryMode=background

We look forward to seeing this patch included in your next release or 
fix.

Sincerely,

Jason Pyeron

-- 
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
-                                                               -
- Jason Pyeron                   http://www.pyerotechnics.com   -
- Owner & Lead                  Pyerotechnics Development, Inc. -
- +1 410 808 6646 (c)           500 West University Parkway #1S -
- +1 410 467 2266 (f)           Baltimore, Maryland  21210-3253 -
-                                                               -
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

This message is for the designated recipient only and may contain 
privileged, proprietary, or otherwise private information. If you 
have received it in error, purge the message from your system and 
notify the sender immediately.  Any other use of the email by you 
is prohibited.


-------------- next part --------------
diff -burN virgin/exim-4.20-1/doc/exim.8 exim-4.20-1/doc/exim.8
--- virgin/exim-4.20-1/doc/exim.8	2003-05-12 09:39:24.000000000 -0400
+++ exim-4.20-1/doc/exim.8	2003-06-10 11:18:26.000000000 -0400
@@ -697,6 +697,10 @@
 This option is interpreted by Sendmail to mean `no aliasing'. It is ignored by
 Exim.
 .TP
+\fB-O\fR
+This option is interpreted by Sendmail to mean `set option'. It is ignored by
+Exim.
+.TP
 \fB-oA <file name>\fR
 This option is used by Sendmail in conjunction with -bi to specify an
 alternative alias file name. Exim handles -bi differently; see the
diff -burN virgin/exim-4.20-1/src/exim.c exim-4.20-1/src/exim.c
--- virgin/exim-4.20-1/src/exim.c	2003-05-12 09:39:18.000000000 -0400
+++ exim-4.20-1/src/exim.c	2003-06-10 11:27:47.000000000 -0400
@@ -1840,6 +1840,23 @@
     case 'n':
     break;
 
+    /* -O: Just ignore it. In sendmail, apparently -O option=value means
+    Set option option to the specified value. This form uses long names. 
+    support@pyerotechnics.com */
+
+    case 'O':
+    /* need to handle -O option=value & -Ooption=value */
+    if (0 < *argrest && *argrest <=' ')
+    {
+     /* -O option=value */
+     if (i+1 < argc) ++i; else
+     {
+      fprintf(stderr, "exim: string expected after -O\n");
+      exit(EXIT_FAILURE);
+     }
+    }
+    break;
+
 
     case 'o':
 
-------------- next part --------------
diff -burN virgin/exim-4.20-1/doc/exim.8 exim-4.20/doc/exim.8
--- virgin/exim-4.20-1/doc/exim.8	2003-05-12 09:39:24.000000000 -0400
+++ exim-4.20/doc/exim.8	2003-06-10 11:18:26.000000000 -0400
@@ -697,6 +697,10 @@
 This option is interpreted by Sendmail to mean `no aliasing'. It is ignored by
 Exim.
 .TP
+\fB-O\fR
+This option is interpreted by Sendmail to mean `set option'. It is ignored by
+Exim.
+.TP
 \fB-oA <file name>\fR
 This option is used by Sendmail in conjunction with -bi to specify an
 alternative alias file name. Exim handles -bi differently; see the
diff -burN virgin/exim-4.20-1/src/exim.c exim-4.20/src/exim.c
--- virgin/exim-4.20-1/src/exim.c	2003-05-12 09:39:18.000000000 -0400
+++ exim-4.20/src/exim.c	2003-06-10 11:27:47.000000000 -0400
@@ -1840,6 +1840,23 @@
     case 'n':
     break;
 
+    /* -O: Just ignore it. In sendmail, apparently -O option=value means
+    Set option option to the specified value. This form uses long names. 
+    support@pyerotechnics.com */
+
+    case 'O':
+    /* need to handle -O option=value & -Ooption=value */
+    if (0 < *argrest && *argrest <=' ')
+    {
+     /* -O option=value */
+     if (i+1 < argc) ++i; else
+     {
+      fprintf(stderr, "exim: string expected after -O\n");
+      exit(EXIT_FAILURE);
+     }
+    }
+    break;
+
 
     case 'o':
 
-------------- next part --------------
--
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Problem reports:       http://cygwin.com/problems.html
Documentation:         http://cygwin.com/docs.html
FAQ:                   http://cygwin.com/faq/


More information about the Cygwin mailing list