Commit Graph

107 Commits

Author SHA1 Message Date
christos
b01ee2f8e2 Add Auto-Submitted header per RFC 3834 from OpenBSD 2006-08-15 16:18:52 +00:00
elad
51d6ae51f1 mark strcpy as safe 2006-06-17 00:16:13 +00:00
reed
4cfce7b21f Check return value for setgid(), initgroups(), and setuid().
Log error and exit if failure.
2006-06-05 16:41:34 +00:00
christos
842c42957f check the return value of setsid. 2006-06-03 16:02:30 +00:00
christos
2a741c25dc Coverity CID 3777: Free envp in the success case too. 2006-05-24 21:43:43 +00:00
christos
bcab7c84bf Coverity CID 3778: set tmp to NULL to shutup coverity. 2006-05-24 21:42:25 +00:00
christos
1ab2316281 use warn/warnx instead of perror/fprintf
use get/set progname.
2006-05-21 19:26:43 +00:00
mrg
aadd7d4847 sprinkle some -fno-strict-aliasing and -Wno-pointer-sign with GCC4. 2006-05-11 23:16:28 +00:00
mrg
084c052803 quell GCC 4.1 uninitialised variable warnings.
XXX: we should audit the tree for which old ones are no longer needed
after getting the older compilers out of the tree..
2006-05-10 21:53:14 +00:00
christos
313c1811bf Coverity CID 1774, 1773: Don't leak open file descriptors or leave temp
file turds on error.
2006-04-25 18:02:02 +00:00
wiz
5d1e8b2745 Fix some typos. 2006-02-25 02:28:55 +00:00
heas
be21025dae Set SIGCHLD to SIG_DFL in cron's child; instead of SIG_IGN, which alters the
behavior of wait() causing cron_pclose() to return bogus status and the logging
of bogus status in debug mode.
2005-08-17 22:35:20 +00:00
christos
102bb7e88c - eliminate a goto.
- cast more returns to void.
- use waitpid instead of wait() to wait for our process, not accidentally
  wait for other children.
- return exitstatus only if exited, and return the termination signal otherwise.
2005-07-31 17:52:01 +00:00
he
63104d4c13 Initialize s, name and name_end in load_env() to appease -Wuninitialized.
Marked with XXXGCC for sparc64 (found while compiling for it).

Reviewed by lukem.
2005-06-07 13:43:52 +00:00
chs
7bbdd188e1 appease gcc -Wuninitialized on hp700. 2005-06-05 19:08:28 +00:00
xtraeme
7e70b71d91 Kill __P(), use ANSI function declarations, constify; WARNS=3 2005-03-16 02:53:55 +00:00
christos
cf31b04130 PR/10957: Ed Ravin: Cron does not execute the last line in crontab if
the trailing newline is missing. Fix by changing crontab(1) to not
allow installation of crontab files with missing trailing newlines.
2005-03-04 16:46:28 +00:00
christos
36e8d2b792 PR/28744: Ed Ravin: crontab with fewer than 3 comment lines dumps core
in crontab -l.
The problem is that the skip_header code has a side effect of trying to
write to the new temporary cron tab if we run out of comments. Since we
don't have an output file in -l, we core-dump trying to fputc to NULL.
Simplify the logic so that we don't write in the skip_header function,
and we always return the first character after the comment lines to the
caller, skipping the '\n'.
2004-12-22 00:49:14 +00:00
dsl
78f35b774e Add (unsigned char) cast to ctype functions
Add fpurge(stdin) before prompt - unexpected question.
for usr.bin/crontab
2004-10-30 17:14:36 +00:00
dsl
cfe7f80ff0 Add (unsigned char) cast to ctype functions 2004-10-29 20:51:11 +00:00
jmmv
25298658a7 Fix indentation of a line in the sample file. 2004-09-02 11:41:27 +00:00
wiz
08abac00be New sentence, new line; use Ev for environment variable;
use "its" where correct; use standard section headers; add missing .Os.
2004-03-20 18:54:33 +00:00
jdolecek
ac4f86b471 log also the time when the job finishes (with CMD FINISH tag), and change
the tag for job start log to ``CMD START''

adresses PR bin/22201 by John Hawkinson
2004-03-20 10:42:00 +00:00
jdolecek
098027866f when encoding the command for printing in logs, use strvisx() instead
of homegrown code, and skip leading white space
2004-03-20 10:38:34 +00:00
jdolecek
580f716bfc document -x - adresses PR bin/22201 by John Hawkinson
reference rc.d framework instead of rc/rc.local
sprinkle couple more .Pa's
2004-03-20 10:04:13 +00:00
jdolecek
251e6a062a convert to mandoc, bump date 2004-03-20 09:18:03 +00:00
enami
0790d0f46f Set DO[WM]_STAR if we mean `*' so that @yearly/@monthly/@weekly are
interpreted as documented/expected rather than "0 0 1 1 0-7" /
"0 0 1 * 0-7" / "0 0 1-31 * 0" respectively.  Fixes PR#24547.
2004-02-27 23:22:09 +00:00
jdolecek
c98a00090a minor constification 2004-02-07 12:31:15 +00:00
jdolecek
0d3df21f35 use system() to spawn editor, so that it's possible to use EDITOR
setting which includes options; this reinstates functionality lost in rev 1.18
2004-01-04 09:09:56 +00:00
is
0534dcc9c5 Report read errors, too. 2003-12-07 16:50:43 +00:00
is
2ee5b37e8f rewind() does an implicit clearerr(), as demanded by e.g. 1003.1. Thus,
we have to check for writing errors before rewind()ing.
2003-12-03 13:12:53 +00:00
atatat
4e34961a55 Jobs specified for @reboot are only popped into the job queue at cron
startup time ("reboot" of cron, not the system), so okay_to_go() must
always say they are good to go.  Otherwise they never will.  All other
meta-timetags pertain to regular times, so they are (or were)
unaffected.

Problem noted by tron and successfully assigned to me by perry.
2003-08-13 03:51:15 +00:00
agc
326b2259b7 Move UCB-licensed code from 4-clause to 3-clause licence.
Patches provided by Joel Baker in PR 22366, verified by myself.
2003-08-07 11:25:11 +00:00
hubertf
e7469f38ad In "crontab -l", suppress the header lines, just as "crontab -e" does.
OK'd by Christos Zoulas and Paul Vixie.
Fixes PR 21705.
2003-06-23 22:36:02 +00:00
christos
c7e6b87cad PR/3713: Aaron Brown: crontab fails with signals.
While I am here eliminate forking a shell for the editor.
2003-04-20 01:24:05 +00:00
jdolecek
d70973544d use setproctitle() instead of uppercasing ProgramName
this makes the ps display nicer, and also avoids uppercasing the cron program
name in logs
idea from FreeBSD
2003-04-10 14:14:15 +00:00
perry
eca50de83f set close on exec on a couple of FDs. from Charles Blundell PR security/16663 2003-04-04 01:24:09 +00:00
christos
c2b5bf99ef PR/15142: Kevin P. Neal: cron does not pay attention to login_cap(3)
I simplified the patch addressed certain security concerns. I only
allowed setusercontext() to set resource limits/priority and umask,
because these are the values that are relevant from login.conf. The
rest of the settings (uid/gid/initgroups) should be done using e->uid
and e->gid like they were before, not from:

	struct passwd *pwd = getpwnam(getenv("LOGNAME"));

Finally login_cap's (path/env) are irrelevant in this context since
we want to use our e->envp anyway to execute the command.
2003-03-14 21:56:07 +00:00
dsl
c17244d768 Create session before setting logname - we don't want to change the
parents logname (or any other children pre-empted in that window).
2003-02-19 09:21:15 +00:00
itojun
9593086444 use strlcpy 2002-11-16 04:34:13 +00:00
itojun
dd84b30b3c license clarification, from openbsd 2002-10-02 06:47:48 +00:00
itojun
4fd217fda9 o Instead of passing "*system*" as the fname to process_crontab()
for the system crontab file, pass a NULL pointer instead.  This
  prevents someone from creating a "*system*" file in the tabs directory
  that acts as an alternate root crontab.

from openbsd
2002-08-03 02:03:00 +00:00
wiz
fed48e80ae Unifdef __STDC__. 2002-07-14 09:59:23 +00:00
atatat
29bf0c2821 Implement CRON_TZ and CRON_WITHIN to provide finer control over job
execution.  CRON_TZ sets the time zone within which a job is
considered for execution (but not in which it runs), and CRON_WITHIN
allows jobs to be skipped whose execution is delayed for any reason
(eg, the system was sleeping or the load average is too high for
timely execution).
2002-04-25 14:45:05 +00:00
jdolecek
d437ea659d child_process(): if the input_data didn't contain any '%', the pointer
ended up _after_ the final '\0', so the code past though there are some
data to be passed to the spawned command, causing child process
crash under some circumstances; adjust input_data in this case to avoid this

XXX this is already fixed in cron 4.0-b1 (though slighly differently)
2002-03-23 09:38:02 +00:00
ross
2a76afae02 Generate <>& symbolically. I'm avoiding .../dist/... directories for now. 2002-02-08 01:36:18 +00:00
wiz
5db87f557b Whitespace nits. 2002-01-19 03:09:21 +00:00
wiz
578af6b124 Fix xref. 2002-01-19 03:09:06 +00:00
wiz
3abdd84a78 Whitespace nits, and standardize an xref. 2002-01-19 03:08:50 +00:00
yamt
cb1ee3b752 make consistent escape sequence handling
between commandline and command input.

pointed by Christoph Badura <bad@netbsd.org>
2001-08-13 06:54:58 +00:00