Bug 971523 - Version bump to mimedefang 2.74
Summary: Version bump to mimedefang 2.74
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Fedora
Classification: Fedora
Component: mimedefang
Version: 18
Hardware: All
OS: Linux
unspecified
medium
Target Milestone: ---
Assignee: Robert Scheck
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2013-06-06 17:34 UTC by Philip Prindeville
Modified: 2013-09-23 00:47 UTC (History)
2 users (show)

Fixed In Version: mimedefang-2.74-1.fc18
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2013-09-22 17:38:24 UTC
Type: Bug
Embargoed:


Attachments (Terms of Use)
Patch to bring up to 2.74... includes source patches (3.17 KB, patch)
2013-06-06 20:22 UTC, Philip Prindeville
no flags Details | Diff
Or just always pass -y via the init script (3.11 KB, patch)
2013-06-06 20:36 UTC, Philip Prindeville
no flags Details | Diff
Use SMFI_VERSION to know what libmilter we're built against (490 bytes, patch)
2013-06-21 22:59 UTC, Philip Prindeville
no flags Details | Diff

Description Philip Prindeville 2013-06-06 17:34:44 UTC
Description of problem:

Mimedefang 2.74 has been released. It includes some fixes for Perl 5.12 and later.

Version-Release number of selected component (if applicable):

mimedefang-2.73-4

How reproducible:

N/A

Steps to Reproduce:
1.
2.
3.

Actual results:


Expected results:


Additional info:

Comment 1 Philip Prindeville 2013-06-06 20:22:04 UTC
Created attachment 757884 [details]
Patch to bring up to 2.74... includes source patches

Other than the mechanical bump of the Version, there's a new flag introduced that we'd be required to use (-y), except that it's always true. So short-circuit it at compile time.

Otherwise, we could patch mimedefang-2.74/redhat/mimedefang-init.in to always invoke $prog with '-y', i.e.:

     daemon $PROGDIR/$prog -P @SPOOLDIR@/$prog.pid \
-        -m $MX_SOCKET \
+        -m $MX_SOCKET -y \
         $([ -n "$LOOPBACK_RESERVED_CONNECTIONS" ] && echo "-R $LOOPBACK_RESERVED_CONNECTIONS") \

instead... Either way, we avoid ALL users having to manually add MD_EXTRA="-y" to their /etc/sysconfig/mimedefang file.

We also add a trivial patch to mimedefang.pl to stop it from complaining at startup about a missing prototype on a recursive function.

Comment 2 Philip Prindeville 2013-06-06 20:36:27 UTC
Created attachment 757917 [details]
Or just always pass -y via the init script

Comment 3 Robert Scheck 2013-06-21 21:31:25 UTC
May you let me understand the details?

Comment 4 Robert Scheck 2013-06-21 22:00:58 UTC
Don't we have a possiblity to get the version from a libmilter include file?

Comment 5 Robert Scheck 2013-06-21 22:38:45 UTC
(In reply to Robert Scheck from comment #4)
> Don't we have a possiblity to get the version from a libmilter include file?

Obviously not as it seems.

Which impact does it have, if we don't use -y with a non-leaking libmilter?

Comment 6 Philip Prindeville 2013-06-21 22:39:37 UTC
(In reply to Robert Scheck from comment #4)
> Don't we have a possiblity to get the version from a libmilter include file?

Umm....  I guess so?

Diffing 8.14.3 (bug present) and 8.14.4 (bug fixed) I see that SMFI_VERSION was bumped:


--- sendmail-8.14.3/include/libmilter/mfapi.h	2008-02-27 15:30:34.000000000 -0700
+++ sendmail-8.14.4/include/libmilter/mfapi.h	2009-11-05 17:57:08.000000000 -0700
@@ -7,7 +7,7 @@
  * the sendmail distribution.
  *
  *
- *	$Id: mfapi.h,v 8.78 2008/02/27 22:30:34 ca Exp $
+ *	$Id: mfapi.h,v 8.80 2009/11/06 00:57:08 ca Exp $
  */
 
 /*
@@ -18,7 +18,14 @@
 # define _LIBMILTER_MFAPI_H	1
 
 #ifndef SMFI_VERSION
-# define SMFI_VERSION	0x01000001	/* libmilter version number */
+# if _FFR_MDS_NEGOTIATE
+#  define SMFI_VERSION	0x01000002	/* libmilter version number */
+
+   /* first libmilter version that has MDS support */
+#  define SMFI_VERSION_MDS	0x01000002
+# else /* _FFR_MDS_NEGOTIATE */
+#  define SMFI_VERSION	0x01000001	/* libmilter version number */
+# endif /* _FFR_MDS_NEGOTIATE */
 #endif /* ! SMFI_VERSION */
 
 #define SM_LM_VRS_MAJOR(v)	(((v) & 0x7f000000) >> 24)
@@ -163,9 +170,7 @@
 LIBMILTER_API int smfi_settimeout __P((int));
 LIBMILTER_API int smfi_setconn __P((char *));
 LIBMILTER_API int smfi_stop __P((void));
-#if _FFR_MAXDATASIZE
 LIBMILTER_API size_t smfi_setmaxdatasize __P((size_t));
-#endif /* _FFR_MAXDATASIZE */
 LIBMILTER_API int smfi_version __P((unsigned int *, unsigned int *, unsigned int *));
 
 /*

Comment 7 Philip Prindeville 2013-06-21 22:49:31 UTC
(In reply to Robert Scheck from comment #5)
> (In reply to Robert Scheck from comment #4)
> > Don't we have a possiblity to get the version from a libmilter include file?
> 
> Obviously not as it seems.

Wait... what?

> Which impact does it have, if we don't use -y with a non-leaking libmilter?

If we don't run it with -y, then only the variables that are EXPORTED by sendmail "O Milter.macros.*" lines will be exported, I believe.

No additional variables may be requested explicitly via the StandardSendmailMacros[] in mimedefang.c nor via the -a flag at run-time.

Comment 8 Robert Scheck 2013-06-21 22:55:51 UTC
In comment #6, I do not see different versions, that could be checked via some
preprocessor directive.

Comment 9 Philip Prindeville 2013-06-21 22:57:38 UTC
(In reply to Robert Scheck from comment #8)
> In comment #6, I do not see different versions, that could be checked via
> some preprocessor directive.

-# define SMFI_VERSION	0x01000001	/* libmilter version number */
+#  define SMFI_VERSION	0x01000002	/* libmilter version number */

Attaching a new fix.

Comment 10 Philip Prindeville 2013-06-21 22:59:06 UTC
Created attachment 763996 [details]
Use SMFI_VERSION to know what libmilter we're built against

Comment 11 Robert Scheck 2013-06-21 23:00:18 UTC
You noticed that the changed SMFI_VERSION depends on _FFR_MDS_NEGOTIATE only?

Comment 12 Philip Prindeville 2013-06-21 23:07:37 UTC
(In reply to Robert Scheck from comment #11)
> You noticed that the changed SMFI_VERSION depends on _FFR_MDS_NEGOTIATE only?

Yeah, but I thought that was also being defined in the same header file: turns out it's not. It's set during the sendmail build.  Oh, well.

We can still go with Attachment 757884 [details].

Comment 13 Robert Scheck 2013-06-21 23:13:17 UTC
Okay. We will simply go with the initscript change. Nevertheless thanks for
pointing the issue out, I wouldn't have noticed that.

Is the prototype patch already upstream? And since when does Perl care about 
prototyping? I thought Perl would have invented the implicity :)

Comment 14 Philip Prindeville 2013-06-21 23:57:47 UTC
(In reply to Robert Scheck from comment #13)
> Okay. We will simply go with the initscript change. Nevertheless thanks for
> pointing the issue out, I wouldn't have noticed that.
> 
> Is the prototype patch already upstream? And since when does Perl care about 
> prototyping? I thought Perl would have invented the implicity :)

I've sent it upstream but it's not been accepted (nor rejected).

Perl is only fussy about prototypes when it sees a function being defined with a prototype after that function has been referenced...

Comment 15 Fedora Update System 2013-08-31 18:20:36 UTC
mimedefang-2.74-1.fc19 has been submitted as an update for Fedora 19.
https://admin.fedoraproject.org/updates/mimedefang-2.74-1.fc19

Comment 16 Fedora Update System 2013-08-31 18:21:01 UTC
mimedefang-2.74-1.fc18 has been submitted as an update for Fedora 18.
https://admin.fedoraproject.org/updates/mimedefang-2.74-1.fc18

Comment 17 Fedora Update System 2013-08-31 18:23:53 UTC
mimedefang-2.74-1.el6 has been submitted as an update for Fedora EPEL 6.
https://admin.fedoraproject.org/updates/mimedefang-2.74-1.el6

Comment 18 Fedora Update System 2013-08-31 18:24:23 UTC
mimedefang-2.74-1.el5 has been submitted as an update for Fedora EPEL 5.
https://admin.fedoraproject.org/updates/mimedefang-2.74-1.el5

Comment 19 Fedora Update System 2013-09-01 18:46:56 UTC
Package mimedefang-2.74-1.el5:
* should fix your issue,
* was pushed to the Fedora EPEL 5 testing repository,
* should be available at your local mirror within two days.
Update it with:
# su -c 'yum update --enablerepo=epel-testing mimedefang-2.74-1.el5'
as soon as you are able to.
Please go to the following url:
https://admin.fedoraproject.org/updates/FEDORA-EPEL-2013-11399/mimedefang-2.74-1.el5
then log in and leave karma (feedback).

Comment 20 Fedora Update System 2013-09-22 17:38:24 UTC
mimedefang-2.74-1.el5 has been pushed to the Fedora EPEL 5 stable repository.  If problems still persist, please make note of it in this bug report.

Comment 21 Fedora Update System 2013-09-22 17:39:21 UTC
mimedefang-2.74-1.el6 has been pushed to the Fedora EPEL 6 stable repository.  If problems still persist, please make note of it in this bug report.

Comment 22 Fedora Update System 2013-09-23 00:20:27 UTC
mimedefang-2.74-1.fc19 has been pushed to the Fedora 19 stable repository.  If problems still persist, please make note of it in this bug report.

Comment 23 Fedora Update System 2013-09-23 00:47:34 UTC
mimedefang-2.74-1.fc18 has been pushed to the Fedora 18 stable repository.  If problems still persist, please make note of it in this bug report.


Note You need to log in before you can comment on or make changes to this bug.