Do modulus using unsigned arith, and then convert the result to
int, rather than converting the arc4random() result to int (which
might be negative) and performing a modulus on that (with a
potentially negative answer).
that are not very useful (and trully if any they belong to a separate section
instead of being interspersed in the document), and organizes and formats
the information better.
When we create a pipe to read data, restore the sigchld signal handler since
pclose expects to wait for the child (to avoid spurious error reporting later).
http://cvsweb.openwall.com/cgi/cvsweb.cgi/Owl/packages/vixie-cron/
1. Add PAM support.
2. Sanitize children process reaping
3. futimens when we have an fd
4. close_all for crontab(8)
5. use a table for spool dirs instead of duplicating code.
6. handle errors from process_exit()
7. Add ENABLE_FIX_DIRECTORIES ifdef and enable it by default for compat
8. Avoid using fd's < STDERR
Not applied:
1. no xfork (no setresuid)
2. did not do the lstat before open.
3. did not enable cron group
- Allow signals while reading the user crontab file; doing "crontab -"
does not let you abort otherwise, and doing ^Z, kill %1 leaves turds
in /var/cron/tabs
1.) Correct set-uid check to allow "root" to run "crontab -l" again.
2.) Don't the the last error reported in "errno" in case "crontab" is not
installed set-uid "root". As no system-call failed "errno" is set
to zero.
- don't use warnx() for things that set errno
- check result of setlogin()
- don't call setlogin() without calling setsid()
should fix kernel warnings like:
cron (pid NNNNN) changing logname from root to USER
cron (pid MMMMM) changing logname from USER to root
of keeping UTC, and handle timezones the way we handled them before (CRON_TZ).
The old behavior can be selected with defining CRON_LOCALTIME.
- Provide functions to pretty-print crontab entries.