- I removed these patches: cronie-1.4.8-bug_756197.diff bug-786096_cronie-fdleak.diff, since those issuas appear to have been addressed upstream. OBS-URL: https://build.opensuse.org/package/show/Base:System/cronie?expand=0&rev=121
54 lines
2.0 KiB
Diff
54 lines
2.0 KiB
Diff
Index: cronie-1.4.11/man/crontab.5
|
|
===================================================================
|
|
--- cronie-1.4.11.orig/man/crontab.5
|
|
+++ cronie-1.4.11/man/crontab.5
|
|
@@ -213,6 +213,9 @@ Names can also be used for the 'month' a
|
|
first three letters of the particular day or month (case does not
|
|
matter). Ranges or lists of names are not allowed.
|
|
.PP
|
|
+If the uid of the owner is 0 (root), he can put a "-" as first character of a crontab entry.
|
|
+This will prevent cron from writing a syslog message about this command getting executed.
|
|
+.PP
|
|
The "sixth" field (the rest of the line) specifies the command to be run.
|
|
The entire command portion of the line, up to a newline or a "%"
|
|
character, will be executed by /bin/sh or by the shell specified in the
|
|
Index: cronie-1.4.11/src/entry.c
|
|
===================================================================
|
|
--- cronie-1.4.11.orig/src/entry.c
|
|
+++ cronie-1.4.11/src/entry.c
|
|
@@ -121,13 +121,18 @@ entry *load_entry(FILE * file, void (*er
|
|
if (ch == '-') {
|
|
/* if we are editing system crontab or user uid is 0 (root)
|
|
* we are allowed to disable logging
|
|
+ * Otherwise log the attempt, but still execute the command.
|
|
*/
|
|
if (pw == NULL || pw->pw_uid == 0)
|
|
e->flags |= DONT_LOG;
|
|
else {
|
|
- log_it("CRON", getpid(), "ERROR", "Only privileged user can disable logging", 0);
|
|
- ecode = e_option;
|
|
- goto eof;
|
|
+ log_it("CRON", getpid(), "ERROR",
|
|
+ "Only privileged user can disable logging. "
|
|
+ "In future versions, user lines starting with a dash "
|
|
+ "will be treated as invalid and won't get executed.", 0);
|
|
+ /* throw an error when editing a crontab */
|
|
+ if (error_func)
|
|
+ (*error_func) (ecodes[(int) e_minute]);
|
|
}
|
|
ch = get_char(file);
|
|
if (ch == EOF)
|
|
@@ -401,9 +406,9 @@ entry *load_entry(FILE * file, void (*er
|
|
|
|
Debug(DPARS, ("load_entry()...returning successfully\n"));
|
|
|
|
- /* success, fini, return pointer to the entry we just created...
|
|
- */
|
|
- return (e);
|
|
+ /* success, fini, return pointer to the entry we just created...
|
|
+ */
|
|
+ return (e);
|
|
|
|
eof:
|
|
if (e->envp)
|