This Space for Rent

New Code! (somewhat fewer security violations than before! edition)

After writing my cron replacement last week, I've been tweaking it to be a little more paranoid about how it works. I've gone through and tweaked it so that it builds a brand new environment and doesn't accidentally carry the daemon environment around with it (the existance of the daemon environment isn't that much of a bother on pell, but if I run it on a machine infested with gnuware, there are an amazing number of environment variables that can fuck you up just by existing); I've tweaked the sleeping code so that it tries to always run jobs at 30 seconds past the hour; and I've spent a lot of time doing and redoing and redoing the runjob code so I can start postoffice from cron without leaving a cron zombie staggering around.

0.8 has been running for a couple of days now without intervention, and it hasn't either starred in a remake of Dawn of the Dead or done a firefox and grown massively without bound (that's not the worst thing about firefox, of course; now that Chateau Chaos has become a Mac house we've discovered that macos firefox has the annoying featurette of going catatonic if you make the mistake of leaving it running for more than about 72 hours. About all that firefox has going for it now is adblock, and as soon as a good adblock replacement is written for safari I'm going to hurl, with great force, firefox out the window. But I digress.) It still doesn't support the traditional /etc/cron.allow and /etc/cron.deny files, but I'm still trying to decide if I want to restrict cron access and, if so, whether it's better to do it with Yet Another control file, group access, or some as-yet-undefined control mechanism.

But, anyway, cron still works for me (not a guarantee it will work for you; at work I've got a couple of raging fires where new code that I tested and verified that it worked doesn't work for other people. Grrrr) and that makes it good enough to be New Code!