Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 23 Jun 2014 07:08:21 +0200
From:      olli hauer <ohauer@gmx.de>
To:        =?UTF-8?B?VG9tZWsgV2HFgmFzemVr?= <tmwalaszek@gmail.com>
Cc:        freebsd-arch@freebsd.org
Subject:   Re: Improve cron(8)
Message-ID:  <53A7B645.3000801@gmx.de>
In-Reply-To: <CAF6rxgmSL3kfh0Tt2Nw3Kh1hAe3HCdspvkKCTifLnU5QxP-f7A@mail.gmail.com>
References:  <CAN3T69vCQTb1hU%2BAUKg%2BKLgsuCttLxYS6u2r9k3w5LM2D4zZoA@mail.gmail.com> <CAF6rxgmSL3kfh0Tt2Nw3Kh1hAe3HCdspvkKCTifLnU5QxP-f7A@mail.gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help
On 2014-06-13 09:04, Eitan Adler wrote:
> +arch since hackers@ seems to be silent.
> 
> On 11 June 2014 23:56, Tomek WaƂaszek <tmwalaszek@gmail.com> wrote:
>> Hello,
>> I saw on the FreeBSD Ideas page topic about cron :).
>> I've started updating the 'original' FreeBSD cron from sources to vixi cron
>> 4.1. I think (well I hope :P) most of the features that were done in
>> FreeBSD cron are now ported into vixi cron 4.1, there are unfortunately
>> some missing features at the moment:
>> - @every_second - this need to be done
>> - -s and -o, in vixi cron 4.1 daylight time switches are enabled by
>> default, at the moment there is no -s and -o options. So you need to remove
>> '-s' from the cron rc script
>>
>> I've also added one feature from OpenBSD, crontab is poking cron using
>> unix-domain socket so we don't need to have suid on crontab.
>>
>> Path is in the attachment. I'm testing it on my FreeBSD box and it looks
>> good but anyway don't try it on production machines :).
>>
>> After the installation we have to do a few things:
>> - Add crontab group
>> - Change group to crontab on /var/cron/tabs
>> - Add sticky bit on /var/cron/tabs
>> - Add group write permissions on /var/cron/tabs
>>
>> This is still work in progress but if someone could have a look on this and
>> give me some feedback it would be great.
>>
>> Regards,
>> Tomasz Walaszek
>>

Hi Thomaz,

having only a quick look into the diff but see there are also changes
from snprintf to sprintf :( see the following snippet ).
Anyway it seems no one is looking into PR's against cron so I like the
idea to start with updating and looking into the PR's for cron.

-  if (mailto) {
-          register char   **env;
-          auto char       mailcmd[MAX_COMMAND];
-          auto char       hostname[MAXHOSTNAMELEN];
-
-          (void) gethostname(hostname, MAXHOSTNAMELEN);
-          (void) snprintf(mailcmd, sizeof(mailcmd),
-                         MAILARGS, MAILCMD);
+  if (mailto && safe_p(usernm, mailto)) {
+          char    **env;
+          char    mailcmd[MAX_COMMAND];
+          char    hostname[MAXHOSTNAMELEN];
+
+          gethostname(hostname, MAXHOSTNAMELEN);
+          if (strlens(MAILFMT, MAILARG, NULL) + 1
+              >= sizeof mailcmd) {
+                  fprintf(stderr, "mailcmd too long\n");
+                  (void) _exit(ERROR_EXIT);
+          }
+          (void)sprintf(mailcmd, MAILFMT, MAILARG);

-- 
olli



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?53A7B645.3000801>