Summary: | cron: Fix options parsing in system crontabs. | ||
---|---|---|---|
Product: | Base System | Reporter: | eborisch+FreeBSD |
Component: | bin | Assignee: | Oleksandr Tymoshenko <gonzo> |
Status: | Closed FIXED | ||
Severity: | Affects Only Me | CC: | gonzo |
Priority: | --- | ||
Version: | CURRENT | ||
Hardware: | Any | ||
OS: | Any |
Description
eborisch+FreeBSD
2021-02-19 18:23:20 UTC
A commit in branch main references this bug: URL: https://cgit.FreeBSD.org/src/commit/?id=37cd6c20dbcf251e38d6dfb9d3e02022941f6fc7 commit 37cd6c20dbcf251e38d6dfb9d3e02022941f6fc7 Author: Oleksandr Tymoshenko <gonzo@FreeBSD.org> AuthorDate: 2021-03-04 07:23:31 +0000 Commit: Oleksandr Tymoshenko <gonzo@FreeBSD.org> CommitDate: 2021-03-04 07:23:31 +0000 cron: consume blanks in system crontabs before options On system crontabs, multiple blanks are not being consumed after reading the username. This change adds blank consumption before parsing any -[qn] options. Without this change, an entry like: * * * * * username -n true # Two spaces between username and option. will fail, as the shell will try to execute (' -n true'), while an entry like: * * * * * username -n true # One space between username and option. works as expected (executes 'true'). For user crontabs, this is not an issue as the preceding (day of week or @shortcut) processing consumes any leading whitespace. PR: 253699 Submitted by: Eric A. Borisch <eborisch@gmail.com> MFC after: 1 week usr.sbin/cron/lib/entry.c | 3 +++ 1 file changed, 3 insertions(+) Thanks for the patch. I committed the change and will close the PR once it's MFCed. With 13 out the door, can we get this MFC'ed? Thanks! A commit in branch stable/13 references this bug: URL: https://cgit.FreeBSD.org/src/commit/?id=c69de0206511636ebe28ac226dce74f7b204735b commit c69de0206511636ebe28ac226dce74f7b204735b Author: Oleksandr Tymoshenko <gonzo@FreeBSD.org> AuthorDate: 2021-03-04 07:23:31 +0000 Commit: Oleksandr Tymoshenko <gonzo@FreeBSD.org> CommitDate: 2021-06-05 22:49:45 +0000 cron: consume blanks in system crontabs before options On system crontabs, multiple blanks are not being consumed after reading the username. This change adds blank consumption before parsing any -[qn] options. Without this change, an entry like: * * * * * username -n true # Two spaces between username and option. will fail, as the shell will try to execute (' -n true'), while an entry like: * * * * * username -n true # One space between username and option. works as expected (executes 'true'). For user crontabs, this is not an issue as the preceding (day of week or @shortcut) processing consumes any leading whitespace. PR: 253699 Submitted by: Eric A. Borisch <eborisch@gmail.com> MFC after: 1 week (cherry picked from commit 37cd6c20dbcf251e38d6dfb9d3e02022941f6fc7) usr.sbin/cron/lib/entry.c | 3 +++ 1 file changed, 3 insertions(+) Merged. Sorry for the delay. |