Commit Graph

90 Commits

Author SHA1 Message Date
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
yamt 69ecbbeb80 Fix a bug that prevented %'s and \'s from being passed to the program
invoked.
from FreeBSD.
2001-08-03 04:10:51 +00:00
wiz 6b37581cf5 Restore default handler for SIG_CHLD before starting grand-children.
Idea by Christos Zoulas. Fixes bin/11778.
2001-03-13 17:51:50 +00:00
sommerfeld 057fcccd0c Default crontab size limit is 256k, not 32k; correct documentation to
match code.
2000-11-28 14:06:13 +00:00
enami f1fec63273 When @hourly is specified, set not just 23 but bit 0 through 22 also in
the bitstring e->hour.  Fixes PR#10961.
2000-09-13 04:07:34 +00:00
christos 250a1a772c PR/7662: TheMan: crontab does not think the file changed if the editing session
took < 1sec.
1999-05-29 18:43:40 +00:00
cjs d49fc436a6 Reduce default crontab size limit to 32K. Use the limit in
/var/cron/maxtabsize, if that file exists.
1999-04-09 02:47:03 +00:00
cjs a1d7b99e1e Make sure that the crontab is not an unreasonable size.
(Currently MAXCRONTABSIZE is 256 KB.)
1999-04-08 21:30:02 +00:00
thorpej bc5e782935 Don't rely on an `rcsid' being present. 1999-03-23 22:53:30 +00:00
aidan 3d3560d6aa Apply soda's patch to make environment sets act like the man-page
documentation.  i.e., strip the spaces around the '=' sign.
1999-03-22 22:18:45 +00:00
fair 47d8058ff9 Patch from PR#6570 to correct for some drift in the calculation of how
many seconds to sleep before next queue run.
1999-03-17 20:57:05 +00:00
aidan e04cec137b Allow quote-escaping of environment variable names so that they may contain
spaces again.
1998-10-12 22:15:47 +00:00
scw cae1a093d5 Quell a compiler warning introduced by the last change. 1998-10-11 10:27:46 +00:00
aidan 2169ed2a6f An environment variable name can no longer have spaces in it. This is to
let commands of the form
* * * * * command flag=value
be interpreted as commands instead of environment settings.
1998-10-07 23:18:29 +00:00
mycroft af3e07f7d1 __AUDIT__ cleanup. 1998-07-28 19:27:39 +00:00
mycroft 907740b591 Nuke redundant extern. 1998-07-26 13:27:34 +00:00
msaitoh 4944940fcf Declare ints, too, don't default them. 1998-07-09 18:32:52 +00:00
mrg 32f519716b - use an array MAXHOSTNAMELEN+1 size to hold hostnames
- ensure hostname from gethostname() is nul-terminated in all cases
- minor KNF
- use MAXHOSTNAMELEN over various other values/defines
- be safe will buffers that hold hostnames
1998-07-06 06:56:06 +00:00