rpms/vixie-cron/F-8 mailfail.patch, NONE, 1.1 vixie-cron.spec, 1.106, 1.107

Marcela Mašláňová (mmaslano) fedora-extras-commits at redhat.com
Mon Oct 29 15:24:51 UTC 2007


Author: mmaslano

Update of /cvs/pkgs/rpms/vixie-cron/F-8
In directory cvs-int.fedora.redhat.com:/tmp/cvs-serv12585

Modified Files:
	vixie-cron.spec 
Added Files:
	mailfail.patch 
Log Message:
Some cron jobs failed without error message. If the job had
too "big" output and no mail client set, then only a part from
job was done. The reason was pipe, which has restricted size.
rh bugzilla #247228


mailfail.patch:

--- NEW FILE mailfail.patch ---
diff -up vixie-cron-4.2/src/popen.c.old vixie-cron-4.2/src/popen.c
--- vixie-cron-4.2/src/popen.c.old	2007-08-28 09:29:05.000000000 +0200
+++ vixie-cron-4.2/src/popen.c	2007-10-29 14:28:28.000000000 +0100
@@ -61,7 +61,9 @@ cron_popen(char *program, const char *ty
 	int argc, pdes[2];
 	PID_T pid;
 	char *argv[MAX_ARGS];
-
+	ssize_t out;
+	char buf[PIPE_BUF];
+	
 #ifdef __GNUC__
 	(void) &iop;	/* Avoid fork clobbering */
 #endif
@@ -106,8 +108,16 @@ cron_popen(char *program, const char *ty
 			}
 			(void)close(pdes[1]);
 		}
-		if (execvp(argv[0], argv) < 0)
-		    log_it("CRON", getpid(), "Mail wan't set up, some jobs could failed", strerror(errno));
+
+		if (execvp(argv[0], argv) < 0) {
+		    syslog(LOG_ERR, "CRON: Exec of (%s) failed: (%s)", program, strerror(errno));
+			if (*type != 'r') {
+			    while (0 != (out = read(STDIN, buf, PIPE_BUF))) {
+					if ((out == -1) && (errno != EINTR))
+						break;
+		    	}
+			}
+		}
 		_exit(1);
 	}
 	/* parent; assume fdopen can't fail...  */


Index: vixie-cron.spec
===================================================================
RCS file: /cvs/pkgs/rpms/vixie-cron/F-8/vixie-cron.spec,v
retrieving revision 1.106
retrieving revision 1.107
diff -u -r1.106 -r1.107
--- vixie-cron.spec	24 Sep 2007 13:38:58 -0000	1.106
+++ vixie-cron.spec	29 Oct 2007 15:24:17 -0000	1.107
@@ -10,11 +10,12 @@
 Summary: The Vixie cron daemon for executing specified programs at set times
 Name: vixie-cron
 Version: 4.2
-Release: 3%{?dist}
+Release: 4%{?dist}
 Epoch: 4
 License: BSD
 Group: System Environment/Base
 Source0: https://hosted.fedoraproject.org/projects/vixie-cron/wiki/%{name}-%{version}.tar.gz
+Patch0: mailfail.patch
 Buildroot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
 Requires: syslog, bash >= 2.0
 Buildrequires: automake, autoconf
@@ -48,6 +49,7 @@
 
 %prep
 %setup -q
+%patch0 -p1 -b .mailfail
 
 aclocal
 autoheader
@@ -132,6 +134,9 @@
 %doc %{_datadir}/doc/cron/*
 
 %changelog
+* Mon Oct 27 2007 Marcela Maslanova <mmaslano at redhat.com> - 4:4.2-4
+- 247228: cron jobs fail semi-randomly if sendmail incapacitated
+
 * Mon Sep 24 2007 Marcela Maslanova <mmaslano at redhat.com> - 4:4.2-3
 - cron own cron.deny
 - correct license tag




More information about the fedora-extras-commits mailing list