cronie/cronie-1.4.7-disable_logging.patch
Cristian Rodríguez d982b51ddc Accepting request 73444 from home:vitezslav_cizek:branches:Base:System
- to keep compatibility with 11.3, execute the command despite 
  an unprivileged user tries to disable logging (bnc#698549)

OBS-URL: https://build.opensuse.org/request/show/73444
OBS-URL: https://build.opensuse.org/package/show/Base:System/cronie?expand=0&rev=82
2011-06-14 17:46:20 +00:00

54 lines
1.9 KiB
Diff

Index: cronie-1.4.7/man/crontab.5
===================================================================
--- cronie-1.4.7.orig/man/crontab.5
+++ cronie-1.4.7/man/crontab.5
@@ -203,6 +203,9 @@ fields. Use the first three letters of
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 "%"
Index: cronie-1.4.7/src/entry.c
===================================================================
--- cronie-1.4.7.orig/src/entry.c
+++ cronie-1.4.7/src/entry.c
@@ -105,13 +105,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)
@@ -371,9 +376,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)