A copy of the license is included in gfdl.sgml.
-->
-<!-- $Id: changes.sgml,v 1.23 2003-07-14 10:58:36 thib Exp $ -->
+<!-- $Id: changes.sgml,v 1.24 2003-09-12 20:56:04 thib Exp $ -->
-<sect1 id="changes">
- <title>Changes</title>
+ <sect1 id="changes">
+ <title>Changes</title>
- <itemizedlist>
- <title>From version 2.9.3 to 2.9.4</title>
- <listitem>
- <para>Merged support for SE Linux (patch from Russell Coker : thanks !)</para>
- </listitem>
- <listitem>
- <para>Work on the documentation (fixed spelling mistakes, tried to make things clearer in fcrontab.5) (thanks Bill Wohler for your help !)</para>
- </listitem>
- <listitem>
- <para>Changed the subject line of mail reports : it now contains the subject line, and is very similar to vixie cron's one.</para>
- </listitem>
- <listitem>
- <para>bug fix : possible crash of fcron when trying to save a file if there was no space left on device.</para>
- </listitem>
- <listitem>
- <para>bug fix : we don't consider '-' and '_' as word delimiters for a username before the command anymore, since many programs have one of these characters in their name.</para>
- </listitem>
- <listitem>
- <para>fixed a little typo in an error message (could->couldn't)</para>
- </listitem>
- </itemizedlist>
+ <itemizedlist>
+ <title>From version 2.9.3 to 2.9.4</title>
+ <listitem>
+ <para>Merged support for SE Linux (patch from Russell Coker : thanks
+ !)</para>
+ </listitem>
+ <listitem>
+ <para>Work on the documentation (fixed spelling mistakes, tried to
+ make things clearer in fcrontab.5) (thanks Bill Wohler for your help
+ !)</para>
+ </listitem>
+ <listitem>
+ <para>Changed the subject line of mail reports : it now contains the
+ subject line, and is very similar to vixie cron's one.</para>
+ </listitem>
+ <listitem>
+ <para>bug fix : possible crash of fcron when trying to save a file
+ if there was no space left on device.</para>
+ </listitem>
+ <listitem>
+ <para>bug fix : we don't consider '-' and '_' as word delimiters for
+ a username before the command anymore, since many programs have one
+ of these characters in their name.</para>
+ </listitem>
+ <listitem>
+ <para>fixed a little typo in an error message
+ (could->couldn't)</para>
+ </listitem>
+ <listitem>
+ <para>added a fcronsighup.h and a convert-fcrontab.h (required to compile with the generic rule to make .o files on some systems).</para>
+ </listitem>
+ <listitem>
+ <para>added some $srcdir to be able (again ;) ) to run configure from another directory.</para>
+ </listitem>
+ </itemizedlist>
- <itemizedlist>
- <title>From version 2.9.2 to 2.9.3</title>
- <listitem>
- <para>security issue : fcron used not to check the fcrontabs installed by
-root for a standard user. This could make an inattentive superuser install a user job
-runas(root) involontary.</para>
- </listitem>
- <listitem>
- <para>Perf improvement : we now use buffers to write something to disk
- (became necessary due to the use of O_SYNC).</para>
- </listitem>
- <listitem>
- <para>To avoid loss of data in case of an hardware failure or a system
-crash, fcron now saves files to a temporary name, and then renames them to their
-definitive filename if everything's ok.</para>
- </listitem>
- <listitem>
+ <itemizedlist>
+ <title>From version 2.9.2 to 2.9.3</title>
+ <listitem>
+ <para>security issue : fcron used not to check the fcrontabs
+ installed by root for a standard user. This could make an
+ inattentive superuser install a user job runas(root)
+ involontary.</para>
+ </listitem>
+ <listitem>
+ <para>Perf improvement : we now use buffers to write something to
+ disk (became necessary due to the use of O_SYNC).</para>
+ </listitem>
+ <listitem>
+ <para>To avoid loss of data in case of an hardware failure or a
+ system crash, fcron now saves files to a temporary name, and then
+ renames them to their definitive filename if everything's
+ ok.</para>
+ </listitem>
+ <listitem>
<para>The PID indicated by fcrondyn is now the pid of the job itself
-(up to now, it was the one of the fcron process controlling the job).</para>
- </listitem>
- <listitem>
- <para>Implemented functions kill (send a signal to a running job)
-and renice (change the priority of a running job) in fcrondyn.</para>
- </listitem>
- <listitem>
- <para>Added fcron's option -q to control the lavg and serial queue sizes.
-</para>
- </listitem>
- <listitem>
+ (up to now, it was the one of the fcron process controlling the
+ job).</para>
+ </listitem>
+ <listitem>
+ <para>Implemented functions kill (send a signal to a running job)
+ and renice (change the priority of a running job) in
+ fcrondyn.</para>
+ </listitem>
+ <listitem>
+ <para>Added fcron's option -q to control the lavg and serial queue
+ sizes.
+ </para>
+ </listitem>
+ <listitem>
<para>Added some timeouts in fcron for fcrondyn clients.</para>
- </listitem>
- <listitem>
- <para>Fcron is less restrictive concerning mailto addresses. In particular,
-you can now use address like user@host.</para>
- </listitem>
- <listitem>
- <para>bug fix : in 2.9.2, fcrontab and fcron did not set correctly some
-file modes.</para>
- </listitem>
- <listitem>
- <para>bug (introduced in 2.9.1) : when a job stops with an non-zero exit
-status or because it has been signaled, send a mail to its owner to inform him
-(in 2.9.1 and 2.9.2, the mail was sent, but contained nothing).</para>
- </listitem>
- <listitem>
+ </listitem>
+ <listitem>
+ <para>Fcron is less restrictive concerning mailto addresses. In
+ particular, you can now use address like user@host.</para>
+ </listitem>
+ <listitem>
+ <para>bug fix : in 2.9.2, fcrontab and fcron did not set correctly
+ some file modes.</para>
+ </listitem>
+ <listitem>
+ <para>bug (introduced in 2.9.1) : when a job stops with an non-zero
+ exit status or because it has been signaled, send a mail to its
+ owner to inform him (in 2.9.1 and 2.9.2, the mail was sent, but
+ contained nothing).</para>
+ </listitem>
+ <listitem>
<para>code clean : use the same scheme for all struct types, removed
-some code redundancy (save to disk management).</para>
- </listitem>
- </itemizedlist>
+ some code redundancy (save to disk management).</para>
+ </listitem>
+ </itemizedlist>
- <itemizedlist>
- <title>From version 2.9.1 to 2.9.2</title>
- <listitem>
- <para>Added a system fcrontab. Root can access it with fcrontab by using
-"-u systab".</para>
- </listitem>
- <listitem>
- <para>fcrondyn's ls_lavgq, ls_serialq and ls_exeq are now functional.</para>
- </listitem>
- <listitem>
- <para>mailto can now be set to a non-real user (for ex., an alias).</para>
- </listitem>
- <listitem>
- <para>fcron now calls shutdown() when a connection from fcrondyn is closed.
-Another change in the code should prevent fcrondyn from not returning to the prompt after
-a command has been run.</para>
- </listitem>
- <listitem>
- <para>use open() instead of fopen() to write files, for more security.</para>
- </listitem>
- <listitem>
- <para>fcrontab sets euid=uid before running the editor. This is required by
-some programs (for instance, perl).</para>
- </listitem>
- <listitem>
- <para>bug fix : using DESTDIR with make did not work with the doc.</para>
- </listitem>
- <listitem>
- <para>Code clean : changed macros to make parameters clearly different
-from vars.</para>
- </listitem>
- </itemizedlist>
+ <itemizedlist>
+ <title>From version 2.9.1 to 2.9.2</title>
+ <listitem>
+ <para>Added a system fcrontab. Root can access it with fcrontab by
+ using "-u systab".</para>
+ </listitem>
+ <listitem>
+ <para>fcrondyn's ls_lavgq, ls_serialq and ls_exeq are now
+ functional.</para>
+ </listitem>
+ <listitem>
+ <para>mailto can now be set to a non-real user (for ex., an
+ alias).</para>
+ </listitem>
+ <listitem>
+ <para>fcron now calls shutdown() when a connection from fcrondyn is
+ closed. Another change in the code should prevent fcrondyn from
+ not returning to the prompt after a command has been run.</para>
+ </listitem>
+ <listitem>
+ <para>use open() instead of fopen() to write files, for more
+ security.</para>
+ </listitem>
+ <listitem>
+ <para>fcrontab sets euid=uid before running the editor. This is
+ required by some programs (for instance, perl).</para>
+ </listitem>
+ <listitem>
+ <para>bug fix : using DESTDIR with make did not work with the
+ doc.</para>
+ </listitem>
+ <listitem>
+ <para>Code clean : changed macros to make parameters clearly
+ different from vars.</para>
+ </listitem>
+ </itemizedlist>
- <itemizedlist>
- <title>From version 2.9.0 to 2.9.1</title>
- <listitem>
+ <itemizedlist>
+ <title>From version 2.9.0 to 2.9.1</title>
+ <listitem>
<para>fcron can now be run without root's privileges (<link
- linkend="faq">see FAQ</link>)</para>
- </listitem>
- <listitem>
+ linkend="faq">see FAQ</link>)</para>
+ </listitem>
+ <listitem>
<para>added configure's option --with-boot-install .</para>
- </listitem>
- <listitem>
+ </listitem>
+ <listitem>
<para>Minor change in the PAM code of fcron : may work better on
-some systems.</para>
- </listitem>
- <listitem>
+ some systems.</para>
+ </listitem>
+ <listitem>
<para>configure script now uses getpwnam() and getgrnam() instead of
- reading directly /etc/passwd and /etc/group : this makes easier the use of NIS, LDAP,
- etc.</para>
- </listitem>
- <listitem>
- <para>Bug fix : using some "cmd > /dev/stderr" (or stdout) in a script
-used to make fcron send a bogus output mail. (rewrite of the code managing the
-output of jobs)</para>
- </listitem>
- <listitem>
+ reading directly /etc/passwd and /etc/group : this makes easier
+ the use of NIS, LDAP, etc.</para>
+ </listitem>
+ <listitem>
+ <para>Bug fix : using some "cmd > /dev/stderr" (or stdout) in a
+ script used to make fcron send a bogus output mail. (rewrite of
+ the code managing the output of jobs)</para>
+ </listitem>
+ <listitem>
<para>Bug fix : typo error prevented fcrontab to be compiled on some
-systems.</para>
- </listitem>
- <listitem>
+ systems.</para>
+ </listitem>
+ <listitem>
<para>Minor bug fix about stdout option.</para>
- </listitem>
- <listitem>
+ </listitem>
+ <listitem>
<para>Minor bug fix : giving fcrontab's option -c a relative path
-now works correctly.</para>
- </listitem>
- </itemizedlist>
+ now works correctly.</para>
+ </listitem>
+ </itemizedlist>
- <itemizedlist>
- <title>From version 2.1.0 to 2.9.0</title>
- <listitem>
+ <itemizedlist>
+ <title>From version 2.1.0 to 2.9.0</title>
+ <listitem>
<para>Added some new options to fcron : -y, -o, -l ; and some
-fcrontab options : stdout and volatile. All these permit to make fcron run in
-foreground, execute all the pending jobs (mainly %-jobs), and return. May be
-used, for instance, in a ppp-up script with a dialup connection to update a
-software regularly.</para>
- </listitem>
- <listitem>
+ fcrontab options : stdout and volatile. All these permit to make
+ fcron run in foreground, execute all the pending jobs (mainly
+ %-jobs), and return. May be used, for instance, in a ppp-up
+ script with a dialup connection to update a software
+ regularly.</para>
+ </listitem>
+ <listitem>
<para>Added fcrondyn : this software allows users to dialog
-dyn-amically with a running fcron daemon. Currently, it can list jobs of the
-user running it (or all jobs for root). In the near future, it should be able to
-run a job, change its next time and date of execution, renice a running job,
-send a signal to a running job, etc.</para>
- </listitem>
- <listitem>
+ dyn-amically with a running fcron daemon. Currently, it can list
+ jobs of the user running it (or all jobs for root). In the near
+ future, it should be able to run a job, change its next time and
+ date of execution, renice a running job, send a signal to a
+ running job, etc.</para>
+ </listitem>
+ <listitem>
<para>All the documentation has been ported to SGML DocBook.</para>
<para>It results on a much better HTML version, which I recommand
-you use. It is installed by default in fcron documentation directory (for
-instance, on my system :
-<filename>/usr/share/doc/fcron-X.X.X/</filename>).</para>
- </listitem>
- <listitem>
+ you use. It is installed by default in fcron documentation directory
+ (for instance, on my system :
+ <filename>/usr/share/doc/fcron-X.X.X/</filename>).</para>
+ </listitem>
+ <listitem>
<para>Fcrontab.5 has been updated and improved. Some examples have
-been added and some possible use of the different lines and options are
-mentioned.</para>
- </listitem>
- <listitem>
+ been added and some possible use of the different lines and
+ options are mentioned.</para>
+ </listitem>
+ <listitem>
<para>Added option random, which allows an entry run periodically to
-be run at a random time in its intervals of execution, instead of being run as
-soon as possible.</para>
- </listitem>
- <listitem>
+ be run at a random time in its intervals of execution, instead of
+ being run as soon as possible.</para>
+ </listitem>
+ <listitem>
<para>added some more checks in fileconf.c : allow user to use
-hours, days, hourly, daily, etc options only with %-lines : it is ignored if set
-for a &-line, which is quite confusing for users who may type, for instance
-"&hourly" instead of "%hourly".</para>
- </listitem>
- <listitem>
+ hours, days, hourly, daily, etc options only with %-lines : it is
+ ignored if set for a &-line, which is quite confusing for users
+ who may type, for instance "&hourly" instead of
+ "%hourly".</para>
+ </listitem>
+ <listitem>
<para>bug fixed : you can now use arguments in the var EDITOR and
-VISUAL.</para>
- </listitem>
- <listitem>
+ VISUAL.</para>
+ </listitem>
+ <listitem>
<para>bug fixed : fcron used to call sometimes a sleep(-1), which
-causes a freeze (no crash, but a very very long sleep :) ) under system using
-LIBC5, and maybe on some non-linux systems. It was not causing any problem under
-GLIBC2. Thanks go to Nick Pasich.</para>
- </listitem>
- </itemizedlist>
-
- <itemizedlist>
- <title>From version 2.0.0 to 2.1.0</title>
- <listitem>
+ causes a freeze (no crash, but a very very long sleep :) ) under
+ system using LIBC5, and maybe on some non-linux systems. It was
+ not causing any problem under GLIBC2. Thanks go to Nick
+ Pasich.</para>
+ </listitem>
+ </itemizedlist>
+
+ <itemizedlist>
+ <title>From version 2.0.0 to 2.1.0</title>
+ <listitem>
<para>PAM support for fcron and fcrontab (need testing ! - help
-would be appreciated).</para>
- </listitem>
- <listitem>
+ would be appreciated).</para>
+ </listitem>
+ <listitem>
<para>Fcron now send a mail if a job has noticenotrun set and could
-not be run because of a queue full.</para>
- </listitem>
- <listitem>
+ not be run because of a queue full.</para>
+ </listitem>
+ <listitem>
<para>Fcron now compiles on AIX (thank you, John A. Parker !), and a
-few AIX-only bugs have been fixed, but it may remain some problems to correct.
-Please try, and tell me !</para>
- </listitem>
- <listitem>
+ few AIX-only bugs have been fixed, but it may remain some
+ problems to correct. Please try, and tell me !</para>
+ </listitem>
+ <listitem>
<para>We now use constants ROOTUID and ROOTGID instead of some
-hard-coded "0", and those constants are defined by the configure script (we use
-the uid/gid of the name given with the option "--with-root{name|group}"). It
-allows fcron to be run on system on which root is not uid/gid 0/0.</para>
- </listitem>
- <listitem>
+ hard-coded "0", and those constants are defined by the configure
+ script (we use the uid/gid of the name given with the option
+ "--with-root{name|group}"). It allows fcron to be run on system
+ on which root is not uid/gid 0/0.</para>
+ </listitem>
+ <listitem>
<para>code cleaning.</para>
- </listitem>
- <listitem>
+ </listitem>
+ <listitem>
<para>bug fixed : setting lavg to (0,0,0) used to make the line be
-added in the lavg queue instead of the serial queue (but the lavgs were ignored
-anyway).</para>
- </listitem>
- <listitem>
+ added in the lavg queue instead of the serial queue (but the
+ lavgs were ignored anyway).</para>
+ </listitem>
+ <listitem>
<para>bug fixed : fcrontab's "-z" option was not ignoring previous
-user's fcrontab version.</para>
- </listitem>
- <listitem>
+ user's fcrontab version.</para> </listitem>
+ <listitem>
<para>bug fixed : on systems using putenv(), the var HOME, USER and
-SHELL wasn't correctly assigned. On system supporting setenv() (which is the
-default), the problem did not occur. (thanks go to Evan A. Zacks).</para>
- </listitem>
- </itemizedlist>
+ SHELL wasn't correctly assigned. On system supporting setenv()
+ (which is the default), the problem did not occur. (thanks go to
+ Evan A. Zacks).</para>
+ </listitem>
+ </itemizedlist>
- <itemizedlist>
- <title>From version 1.1.1 to 2.0.0</title>
- <listitem>
+ <itemizedlist>
+ <title>From version 1.1.1 to 2.0.0</title>
+ <listitem>
<para>using SIGUSR2 on fcron makes it print its current schedule on
-syslog and toggles on/off the printing of debug info on syslog.</para>
- </listitem>
- <listitem>
+ syslog and toggles on/off the printing of debug info on
+ syslog.</para>
+ </listitem>
+ <listitem>
<para>fcron behavior on serial and lavg queues overflow has changed
-: in previous versions, it used to run a job to make room to put a new one. As
-it may conduct to a overwhelming of system resources, the new job is now refused
-(and not run). An error message is also logged through syslog.</para>
- </listitem>
- <listitem>
+ : in previous versions, it used to run a job to make room to put
+ a new one. As it may conduct to a overwhelming of system
+ resources, the new job is now refused (and not run). An error
+ message is also logged through syslog.</para>
+ </listitem>
+ <listitem>
<para>a mail is now sent if the job exited due to a signal, or if
-exit status is non-zero. Read FAQ if you experience problems about that.</para>
- </listitem>
- <listitem>
+ exit status is non-zero. Read FAQ if you experience problems
+ about that.</para>
+ </listitem>
+ <listitem>
<para>added a FAQ.</para>
- </listitem>
- <listitem>
+ </listitem>
+ <listitem>
<para>bug fixed : a midmonthly job executed after the 15th of the
-month used to cause an endless loop. Thanks go to Guy Geens (thanks a lot
-!).</para>
- </listitem>
- <listitem>
+ month used to cause an endless loop. Thanks go to Guy Geens
+ (thanks a lot !).</para>
+ </listitem>
+ <listitem>
<para>bug fixed : inserting a job in serial queue or running a job
-not finished at startup was broken, unless the job was strict(no).</para>
- </listitem>
- <listitem>
+ not finished at startup was broken, unless the job was
+ strict(no).</para>
+ </listitem>
+ <listitem>
<para>bug fixed : some 1.1.1 changes used to make fcron impossible
-to compile without sendmail (./configure's option "--with-sendmail=no").</para>
- </listitem>
- <listitem>
+ to compile without sendmail (./configure's option
+ "--with-sendmail=no").</para>
+ </listitem>
+ <listitem>
<para>bug fixed in sysV boot script : we know specify explicitly the
-path to fcron.</para>
- </listitem>
- <listitem>
+ path to fcron.</para>
+ </listitem>
+ <listitem>
<para>bug fixed : unresolved error used to occur on some system not
-defining getopt_long().</para>
- </listitem>
- </itemizedlist>
+ defining getopt_long().</para>
+ </listitem>
+ </itemizedlist>
- <itemizedlist>
- <title>From version 1.1.0 to 1.1.1</title>
- <listitem>
+ <itemizedlist>
+ <title>From version 1.1.0 to 1.1.1</title>
+ <listitem>
<para>security fix : sym link attack against fcrontab. Any user
-allowed to use fcrontab used to be able to remove any fcrontab, and potentially
-to truncate any file to zero-length (under certain conditions, anyway).</para>
- </listitem>
- <listitem>
+ allowed to use fcrontab used to be able to remove any fcrontab,
+ and potentially to truncate any file to zero-length (under
+ certain conditions, anyway).</para>
+ </listitem>
+ <listitem>
<para>fcron and fcrontab now have a configuration file : fcron.conf.
-It contains the default paths (spool dir, etc) and programs to use (editor,
-shell, etc). Thanks to that file, several fcron processes can run simultaneously
-if they have a different config (different spool dir and pid file).</para>
- </listitem>
- <listitem>
+ It contains the default paths (spool dir, etc) and programs to
+ use (editor, shell, etc). Thanks to that file, several fcron
+ processes can run simultaneously if they have a different config
+ (different spool dir and pid file).</para>
+ </listitem>
+ <listitem>
<para>added fcron's option "-m" to control the number of serial jobs
-which can be executed simultaneously.</para>
- </listitem>
- <listitem>
+ which can be executed simultaneously.</para>
+ </listitem>
+ <listitem>
<para>added fcron's option "-n" to create a new spool dir.</para>
- </listitem>
- <listitem>
+ </listitem>
+ <listitem>
<para>command line syntax of fcrontab has changed : you can know use
-"user" (after the file name if any) instead of "-u user". It should make
-fcrontab a little more intuitive.</para>
- </listitem>
- <listitem>
+ "user" (after the file name if any) instead of "-u user". It
+ should make fcrontab a little more intuitive.</para>
+ </listitem>
+ <listitem>
<para>It is now possible to put a user name between the time/date
-fields and the shell command of a fcrontab line (for Vixie cron format
-compatibility) : it is equivalent to runas(user).</para>
- </listitem>
- <listitem>
+ fields and the shell command of a fcrontab line (for Vixie cron
+ format compatibility) : it is equivalent to runas(user).</para>
+ </listitem>
+ <listitem>
<para>support of Solaris (and SysV).</para>
- </listitem>
- <listitem>
+ </listitem>
+ <listitem>
<para>early support of OpenBSD.</para>
- </listitem>
- <listitem>
+ </listitem>
+ <listitem>
<para>the installation scripts now use nsswitch.conf to detect if a
-user or a group exists on the system. That way, naming services (NYS, ldap, etc)
-are supported.</para>
- </listitem>
- <listitem>
+ user or a group exists on the system. That way, naming services
+ (NYS, ldap, etc) are supported.</para>
+ </listitem>
+ <listitem>
<para>the man page and doc is now installed by default in
-$prefix/share/{man|doc} (instead of the previous $prefix/{man|doc}) ($prefix is
-generally "/usr").</para>
- </listitem>
- <listitem>
+ $prefix/share/{man|doc} (instead of the previous
+ $prefix/{man|doc}) ($prefix is generally "/usr").</para>
+ </listitem>
+ <listitem>
<para>bug corrected : fcron used not to add a serial_sev line to
-serial/lavg queue if this line was running, saying "already in serial
-queue".</para>
- </listitem>
+ serial/lavg queue if this line was running, saying "already in
+ serial queue".</para>
+ </listitem>
- <listitem>
+ <listitem>
<para>bug corrected : a "all" in fcron.allow with no fcron.deny file
-was not considered as an allow rule.</para>
- </listitem>
- </itemizedlist>
+ was not considered as an allow rule.</para>
+ </listitem>
+ </itemizedlist>
- <itemizedlist>
- <title>From version 1.0.3 to 1.1.0</title>
- <listitem>
+ <itemizedlist>
+ <title>From version 1.0.3 to 1.1.0</title>
+ <listitem>
<para>The binary format of the binary fcrontabs has changed : there
-is now no more need to reinstall the fcrontabs when upgrading fcron (but you
-need to convert your fcrontabs to the new format once), and this format should
-allow extensions without losing any information.</para>
- </listitem>
- <listitem>
+ is now no more need to reinstall the fcrontabs when upgrading
+ fcron (but you need to convert your fcrontabs to the new format
+ once), and this format should allow extensions without losing any
+ information.</para>
+ </listitem>
+ <listitem>
<para>better management of the errors in load/save fcrontabs
-functions.</para>
- </listitem>
- <listitem>
+ functions.</para>
+ </listitem>
+ <listitem>
<para>the doc is a clearer about @-lines.</para>
- </listitem>
- <listitem>
+ </listitem>
+ <listitem>
<para>more security tests by fcrontab in the case it is suid root
-(but, if possible, it should be suid fcron as it is far more secure).</para>
- </listitem>
- <listitem>
+ (but, if possible, it should be suid fcron as it is far more
+ secure).</para>
+ </listitem>
+ <listitem>
<para>we now remove unwanted fcrontabs before loading them in memory
-: well, it seems to be more logical like that :)) .</para>
- </listitem>
- <listitem>
+ : well, it seems to be more logical like that :)) .</para>
+ </listitem>
+ <listitem>
<para>bug fix : using options first with a &-line may have led to
-some problems during the first read by fcron (mail send erroneously if
-noticenotrun was used, bad set of the first execution's time and date or
-immediate execution if bootrun was set : in fact, the line was not recognized as
-a new line).</para>
- </listitem>
- <listitem>
+ some problems during the first read by fcron (mail send
+ erroneously if noticenotrun was used, bad set of the first
+ execution's time and date or immediate execution if bootrun was
+ set : in fact, the line was not recognized as a new line).</para>
+ </listitem>
+ <listitem>
<para>bug fix : fcron used not to be able to be compiled from any
-directory because of an absent -I. line option for the compiler (the config.h
-file was not found).</para>
- </listitem>
- </itemizedlist>
+ directory because of an absent -I. line option for the compiler
+ (the config.h file was not found).</para>
+ </listitem>
+ </itemizedlist>
- <itemizedlist>
- <title>From version 1.0.2 to 1.0.3</title>
- <listitem>
+ <itemizedlist>
+ <title>From version 1.0.2 to 1.0.3</title>
+ <listitem>
<para>fcron can now be configured and compiled from any directory
-(not only from the source dir).</para>
- </listitem>
- <listitem>
+ (not only from the source dir).</para>
+ </listitem>
+ <listitem>
<para>bug fix : fcron now sets umask to the value it got at start
-before running a job.</para>
- </listitem>
- <listitem>
+ before running a job.</para>
+ </listitem>
+ <listitem>
<para>bug corrected : a bug used to make the "truncated" system not
-to work correctly, so a too long log message used to make fcron crash.</para>
- </listitem>
- </itemizedlist>
+ to work correctly, so a too long log message used to make fcron
+ crash.</para>
+ </listitem>
+ </itemizedlist>
- <itemizedlist>
- <title>From version 1.0.1 to 1.0.2</title>
- <listitem>
+ <itemizedlist>
+ <title>From version 1.0.1 to 1.0.2</title>
+ <listitem>
<para>the user for whom a job is run is now logged.</para>
- </listitem>
- <listitem>
+ </listitem>
+ <listitem>
<para>installation script is now more explicit about what it is
-going to do.</para>
- </listitem>
- <listitem>
+ going to do.</para>
+ </listitem>
+ <listitem>
<para>a boolean value can now also be set by "yes" and "no".</para>
- </listitem>
- <listitem>
+ </listitem>
+ <listitem>
<para>bug corrected : bootrun option works again.</para>
- </listitem>
- <listitem>
+ </listitem>
+ <listitem>
<para>bug corrected : shell variable containing underscore (_) used
-to be rejected.</para>
- </listitem>
- <listitem>
+ to be rejected.</para>
+ </listitem>
+ <listitem>
<para>bug corrected : installation script used not to check if user
-fcron was in group fcron, in which case fcrontab doesn't work correctly (it
-cannot, in that case, read the fcrontabs for non-privileged users).</para>
- </listitem>
- </itemizedlist>
+ fcron was in group fcron, in which case fcrontab doesn't work
+ correctly (it cannot, in that case, read the fcrontabs for
+ non-privileged users).</para>
+ </listitem>
+ </itemizedlist>
- <itemizedlist>
- <title>From version 1.0.0 to 1.0.1</title>
- <listitem>
+ <itemizedlist>
+ <title>From version 1.0.0 to 1.0.1</title>
+ <listitem>
<para>security fix : a user used to be able to read a file owned by
-root if root runs a "fcrontab -u user -e".</para>
- </listitem>
- </itemizedlist>
+ root if root runs a "fcrontab -u user -e".</para>
+ </listitem>
+ </itemizedlist>
- <itemizedlist>
- <title>From version 0.9.5 to 1.0.0</title>
- <listitem>
+ <itemizedlist>
+ <title>From version 0.9.5 to 1.0.0</title>
+ <listitem>
<para>added fcron's option "-s" to control the time between two
-saves of the fcrontabs on disk.</para>
- </listitem>
- <listitem>
+ saves of the fcrontabs on disk.</para>
+ </listitem>
+ <listitem>
<para>installation scripts now support better FreeBSD and sh.</para>
- </listitem>
- <listitem>
+ </listitem>
+ <listitem>
<para>bug corrected : configure's options prefix and
-without-sendmail used not to work.</para>
- </listitem>
- <listitem>
+ without-sendmail used not to work.</para>
+ </listitem>
+ <listitem>
<para>bug corrected : installing an fcrontab by "fcrontab file"
-wasn't working correctly with a relative path (a path not beginning by a
-"/").</para>
- </listitem>
- </itemizedlist>
+ wasn't working correctly with a relative path (a path not
+ beginning by a "/").</para>
+ </listitem>
+ </itemizedlist>
- <itemizedlist>
- <title>From version 0.9.4 to 0.9.5</title>
- <listitem>
+ <itemizedlist>
+ <title>From version 0.9.4 to 0.9.5</title>
+ <listitem>
<para>security fix : the jobs of a fcrontab reinstalled by root used
-to be run as root (until the next action of the owner on the fcrontab).</para>
- </listitem>
- <listitem>
+ to be run as root (until the next action of the owner on the
+ fcrontab).</para>
+ </listitem>
+ <listitem>
<para>added options strict and noticenotrun to tell fcron
-respectively if a job should be removed from lavg queue if its execution
-interval is exceeded, and if fcron should mail user to report the non-execution
-of a job.</para>
- </listitem>
- <listitem>
+ respectively if a job should be removed from lavg queue if its
+ execution interval is exceeded, and if fcron should mail user to
+ report the non-execution of a job.</para>
+ </listitem>
+ <listitem>
<para>added option nolog in order to log only errors (i.e. no
-message like "job x started"). This can help to reduce the disk access and save
-energy on a laptop, and make the log more readable if some jobs are run very
-often.</para>
- </listitem>
- <listitem>
+ message like "job x started"). This can help to reduce the disk
+ access and save energy on a laptop, and make the log more
+ readable if some jobs are run very often.</para>
+ </listitem>
+ <listitem>
<para>better handle of changes of the uids of users in /etc/passwd
-(no more need to reinstall the fcrontabs).</para>
- </listitem>
- <listitem>
+ (no more need to reinstall the fcrontabs).</para>
+ </listitem>
+ <listitem>
<para>fcron.deny and fcron.allow files are now owned by root (they
-used to be owned by user fcron).</para>
- </listitem>
- <listitem>
+ used to be owned by user fcron).</para>
+ </listitem>
+ <listitem>
<para>added ./configure's option --with-answer-all to be able to use
-"make install" in a non-interactive way (can be useful for automatic
-installers).</para>
- </listitem>
- <listitem>
+ "make install" in a non-interactive way (can be useful for
+ automatic installers).</para>
+ </listitem>
+ <listitem>
<para>added option --with-rootname and --with-rootgroup to
-./configure script for a better support of exotic systems.</para>
- </listitem>
- <listitem>
+ ./configure script for a better support of exotic systems.</para>
+ </listitem>
+ <listitem>
<para>bug corrected in make install (script user-group) : the script
-used not to handle correctly the absence of both useradd and adduser commands.
-This script now checks and tries to add a group fcron if necessary.</para>
- </listitem>
- </itemizedlist>
+ used not to handle correctly the absence of both useradd and
+ adduser commands. This script now checks and tries to add a
+ group fcron if necessary.</para>
+ </listitem>
+ </itemizedlist>
- <itemizedlist>
- <title>From version 0.9.3 to 0.9.4</title>
- <listitem>
+ <itemizedlist>
+ <title>From version 0.9.3 to 0.9.4</title>
+ <listitem>
<para>security improvement : after the (horrible) root exploit found
-in version 0.9.3, I decided to improve fcron/fcrontab's security. I've included
-some strong (I hope :)) ) tests in fcron to ensure that only root can run
-commands as superuser and use option runas. Even an corrupted fcrontab should
-not be able to get root's privileges. Pretty reassuring, isn't it ?</para>
- </listitem>
- <listitem>
+ in version 0.9.3, I decided to improve fcron/fcrontab's
+ security. I've included some strong (I hope :)) ) tests in fcron
+ to ensure that only root can run commands as superuser and use
+ option runas. Even an corrupted fcrontab should not be able to
+ get root's privileges. Pretty reassuring, isn't it ?</para>
+ </listitem>
+ <listitem>
<para>runfreq(1) lines have been replaced and extended by a new kind
-of line : the lines beginning by a "%". It's now possible to tell fcron to run a
-command once an hour, a week, etc, but only at some specified moments. For
-instance : '%weekly * 4-7 echo "foo"' will run the command 'echo "foo"' once a
-week between 4 and 7 in the morning. (see "man 5 fcrontab" for more
-details).</para>
- </listitem>
- <listitem>
+ of line : the lines beginning by a "%". It's now possible to tell
+ fcron to run a command once an hour, a week, etc, but only at
+ some specified moments. For instance : '%weekly * 4-7 echo "foo"'
+ will run the command 'echo "foo"' once a week between 4 and 7 in
+ the morning. (see "man 5 fcrontab" for more details).</para>
+ </listitem>
+ <listitem>
<para>installation process improved : user is now consulted before
-anything is done about installation in boot scripts, etc. The default username
-of fcron is now ... fcron ! (this is more secure than daemon, which can be used
-by other programs). </para>
- </listitem>
- <listitem>
+ anything is done about installation in boot scripts, etc. The
+ default username of fcron is now ... fcron ! (this is more secure
+ than daemon, which can be used by other programs). </para>
+ </listitem>
+ <listitem>
<para>fcron now adds the host name to the addresses of the mails it
-sends.</para>
- </listitem>
- <listitem>
+ sends.</para>
+ </listitem>
+ <listitem>
<para>fcrontab determines the identity of the running user by his
-uid (it used to use the var USER). That way, fcrontab should act as crontab
-under a "su".</para>
- </listitem>
- <listitem>
+ uid (it used to use the var USER). That way, fcrontab should act
+ as crontab under a "su".</para>
+ </listitem>
+ <listitem>
<para>bug fixed : a tmp file was not removed after a "fcron
-z"</para>
- </listitem>
- <listitem>
+ </listitem>
+ <listitem>
<para>bug fixed in fcrontab : an expression of the form "start-stop"
-with start > stop used to be incorrectly managed by fcron.</para>
- </listitem>
- <listitem>
+ with start > stop used to be incorrectly managed by fcron.</para>
+ </listitem>
+ <listitem>
<para>bug fixed : when fcron and fcrontab were installed under a
-non-privileged user rights, a normal user used to be not able to use
-fcrontab.</para>
- </listitem>
- <listitem>
+ non-privileged user rights, a normal user used to be not able to
+ use fcrontab.</para>
+ </listitem>
+ <listitem>
<para>bug fixed : while fcrontab was asking user if he would like to
-correct an erroneous line, the answer was not correctly handled.</para>
- </listitem>
- </itemizedlist>
+ correct an erroneous line, the answer was not correctly
+ handled.</para>
+ </listitem>
+ </itemizedlist>
- <itemizedlist>
- <title>From version 0.9.2.1 to 0.9.3</title>
- <listitem>
+ <itemizedlist>
+ <title>From version 0.9.2.1 to 0.9.3</title>
+ <listitem>
<para>installation scripts improved.</para>
- </listitem>
- <listitem>
+ </listitem>
+ <listitem>
<para>added code to avoid infinite loops.</para>
- </listitem>
- <listitem>
+ </listitem>
+ <listitem>
<para>bugs corrected in the functions to set the time and date of
-next execution.</para>
- </listitem>
- <listitem>
+ next execution.</para>
+ </listitem>
+ <listitem>
<para>bug corrected in the check for invalid lines.</para>
- </listitem>
- </itemizedlist>
+ </listitem>
+ </itemizedlist>
- <itemizedlist>
- <title>From version 0.9.2 to 0.9.2.1</title>
- <listitem>
+ <itemizedlist>
+ <title>From version 0.9.2 to 0.9.2.1</title>
+ <listitem>
<para>minor bug corrected in Makefile</para>
- </listitem>
- </itemizedlist>
+ </listitem>
+ </itemizedlist>
- <itemizedlist>
- <title>From version 0.9.1 to 0.9.2</title>
- <listitem>
+ <itemizedlist>
+ <title>From version 0.9.1 to 0.9.2</title>
+ <listitem>
<para>fcron now uses autoconf (the configure script), so it should
-be easier to compile and install it and various systems.</para>
- </listitem>
- <listitem>
+ be easier to compile and install it and various systems.</para>
+ </listitem>
+ <listitem>
<para>support of lavg options for all systems where getloadavg() is
-defined (BSD unix, etc) and on Linux systems with a proc filesystem (fcron can
-use /proc/loadavg).</para>
- </listitem>
- <listitem>
+ defined (BSD unix, etc) and on Linux systems with a proc
+ filesystem (fcron can use /proc/loadavg).</para>
+ </listitem>
+ <listitem>
<para>a job can now be executed several times simultaneously if
-option exesev is set to 1.</para>
- </listitem>
- <listitem>
+ option exesev is set to 1.</para>
+ </listitem>
+ <listitem>
<para>user can determine if a job can be put several times in the
-serial queue simultaneously thanks to option serialonce.</para>
- </listitem>
- <listitem>
+ serial queue simultaneously thanks to option serialonce.</para>
+ </listitem>
+ <listitem>
<para>fcron does not wait anymore for the completion of all jobs of
-a file before deleting it from memory.</para>
- </listitem>
- <listitem>
+ a file before deleting it from memory.</para>
+ </listitem>
+ <listitem>
<para>fcron handles correctly the jobs which are both serial and
-lavg.</para>
- </listitem>
- <listitem>
+ lavg.</para>
+ </listitem>
+ <listitem>
<para>fcron now runs under a specific user and group (other than
-root) for basic security reasons.</para>
- </listitem>
- <listitem>
+ root) for basic security reasons.</para>
+ </listitem>
+ <listitem>
<para>bug corrected : fcron used to crash after a file was deleted
-from memory in some conditions.</para>
- </listitem>
- <listitem>
+ from memory in some conditions.</para>
+ </listitem>
+ <listitem>
<para>corrected the bug which used to appear when a line was put
-several times in the serial queue : in this case, fcron used not to count
-correctly the number of running serial jobs.</para>
- </listitem>
- <listitem>
+ several times in the serial queue : in this case, fcron used not
+ to count correctly the number of running serial jobs.</para>
+ </listitem>
+ <listitem>
<para>bug corrected : fcrontab used not to remove the temporary file
-it creates if no modification where done to a file after an edition using the -e
-option and on errors.</para>
- </listitem>
- <listitem>
+ it creates if no modification where done to a file after an
+ edition using the -e option and on errors.</para>
+ </listitem>
+ <listitem>
<para>bug corrected : fcrontab now defines correctly the remain
-value of a line based on time and date beginning with a "&" but without runfreq
-definition.</para>
- </listitem>
- <listitem>
+ value of a line based on time and date beginning with a "&" but
+ without runfreq definition.</para>
+ </listitem>
+ <listitem>
<para>bug corrected : fcron used to not install correctly a file
-edited if a correction was made.</para>
- </listitem>
- <listitem>
+ edited if a correction was made.</para>
+ </listitem>
+ <listitem>
<para>bug corrected : reset option was not working correctly when
-set to a single line.</para>
- </listitem>
- </itemizedlist>
+ set to a single line.</para>
+ </listitem>
+ </itemizedlist>
- <itemizedlist>
- <title>From version 0.9.0 to 0.9.1</title>
- <listitem>
+ <itemizedlist>
+ <title>From version 0.9.0 to 0.9.1</title>
+ <listitem>
<para>support of the option mailto for each line (it used to be set
-for the whole file).</para>
- </listitem>
- <listitem>
+ for the whole file).</para>
+ </listitem>
+ <listitem>
<para>the value of the runas and mailto options are now stored
-internally as a uid number : you must reinstall all the system's fcrontabs if
-you change the uid of a user.</para>
- </listitem>
- <listitem>
+ internally as a uid number : you must reinstall all the system's
+ fcrontabs if you change the uid of a user.</para>
+ </listitem>
+ <listitem>
<para>Support of options "lavg*", in order to run a job under a
-specific 1, 5 and/or 15 minutes system load average value(s). When the job
-should be run, it is placed in a specific queue and the load average is checked
-regularly until the right value(s) is/are got. The options "lavgor" and
-"lavgand" permits users to tell fcron if they prefer to perform a logic OR or
-AND between the 1, 5 and 15 load average values. The option "until" can be use
-to force the execution of a job after a determined timeout if the right
-conditions to run the job are not filled.</para>
- </listitem>
- <listitem>
+ specific 1, 5 and/or 15 minutes system load average
+ value(s). When the job should be run, it is placed in a specific
+ queue and the load average is checked regularly until the right
+ value(s) is/are got. The options "lavgor" and "lavgand" permits
+ users to tell fcron if they prefer to perform a logic OR or AND
+ between the 1, 5 and 15 load average values. The option "until"
+ can be use to force the execution of a job after a determined
+ timeout if the right conditions to run the job are not
+ filled.</para>
+ </listitem>
+ <listitem>
<para>fcron now uses putenv() in place of setenv() (setenv() is not
-POSIX compliant).</para>
- </listitem>
- <listitem>
+ POSIX compliant).</para>
+ </listitem>
+ <listitem>
<para>a mailto option set to "" is now equivalent to
-"mail(false)".</para>
- </listitem>
- <listitem>
+ "mail(false)".</para>
+ </listitem>
+ <listitem>
<para>corrected the bug which used to make a bootrun and runfreq(1)
-job executed twice when fcron's start occurs in an interval of execution of the
-job.</para>
- </listitem>
- <listitem>
+ job executed twice when fcron's start occurs in an interval of
+ execution of the job.</para>
+ </listitem>
+ <listitem>
<para>corrected the bug which used to make fcron crash after
-serial_array is resized.</para>
- </listitem>
- </itemizedlist>
+ serial_array is resized.</para>
+ </listitem>
+ </itemizedlist>
- <itemizedlist>
- <title>From version 0.8.3 to 0.9.0</title>
- <listitem>
+ <itemizedlist>
+ <title>From version 0.8.3 to 0.9.0</title>
+ <listitem>
<para>support of options in fcrontabs. Options can be specific to a
-line or defined once for every line located after their definition (a special
-option "reset" set all options to their default). Some options also have too
-names: a long name and an abbreviation.</para>
- </listitem>
- <listitem>
+ line or defined once for every line located after their
+ definition (a special option "reset" set all options to their
+ default). Some options also have too names: a long name and an
+ abbreviation.</para>
+ </listitem>
+ <listitem>
<para>jobs can now be run be run one after the other (option
-"serial") : when the job should normally be run, it is added to a queue, which
-entries are executed one by one. It permits to avoid the use of a lot of system
-resources for a brief moment by the simultaneous execution of several
-tasks.</para>
- </listitem>
- <listitem>
+ "serial") : when the job should normally be run, it is added to a
+ queue, which entries are executed one by one. It permits to avoid
+ the use of a lot of system resources for a brief moment by the
+ simultaneous execution of several tasks.</para>
+ </listitem>
+ <listitem>
<para>jobs can be run at system start up if they should have been
-run during system down time (option "bootrun").</para>
- </listitem>
- <listitem>
+ run during system down time (option "bootrun").</para>
+ </listitem>
+ <listitem>
<para>root can run jobs as an another user (option "runas")</para>
- </listitem>
- <listitem>
+ </listitem>
+ <listitem>
<para>user can set a nice value to a job, but only root can use a
-negative value (a negative value will increase priority)</para>
- </listitem>
- <listitem>
+ negative value (a negative value will increase priority)</para>
+ </listitem>
+ <listitem>
<para>user can choose to perform a logic AND or a logic OR between
-day of month and day of week (option "dayor" and "dayand")</para>
- </listitem>
- <listitem>
+ day of month and day of week (option "dayor" and "dayand")</para>
+ </listitem>
+ <listitem>
<para>user can choose to mail the output of jobs (option "mail") if
-any, and can force fcron to send a mail even if output is zero-length (option
-"forcemail").</para>
- </listitem>
- <listitem>
+ any, and can force fcron to send a mail even if output is
+ zero-length (option "forcemail").</para>
+ </listitem>
+ <listitem>
<para>fixed the bug which used to make fcron run a job with a
-runfreq set to 1 at a wrong time.</para>
- </listitem>
- <listitem>
+ runfreq set to 1 at a wrong time.</para>
+ </listitem>
+ <listitem>
<para>fixed a bug which used to make fcrontab crash after several
-corrections in edit mode.</para>
- </listitem>
- </itemizedlist>
+ corrections in edit mode.</para>
+ </listitem>
+ </itemizedlist>
- <itemizedlist>
- <title>From version 0.8.2 to 0.8.3</title>
- <listitem>
+ <itemizedlist>
+ <title>From version 0.8.2 to 0.8.3</title>
+ <listitem>
<para>(all this bugs appeared in version 0.8.2 :)</para>
- </listitem>
- <listitem>
+ </listitem>
+ <listitem>
<para>fixed the bug which used to make fcron crash after a
-SIGHUP</para>
- </listitem>
- <listitem>
+ SIGHUP</para>
+ </listitem>
+ <listitem>
<para>fixed the bug which used to prevent fcron from running some
-job based on time and date</para>
- </listitem>
- <listitem>
+ job based on time and date</para>
+ </listitem>
+ <listitem>
<para>fixed the bug which used to makes fcron run the jobs one
-second too late</para>
- </listitem>
- </itemizedlist>
+ second too late</para>
+ </listitem>
+ </itemizedlist>
- <itemizedlist>
- <title>From version 0.8.1 to 0.8.2</title>
- <listitem>
+ <itemizedlist>
+ <title>From version 0.8.1 to 0.8.2</title>
+ <listitem>
<para>code has been optimized : The jobs are now queued in order of
-execution. It permits avoid useless tests of all jobs every time fcron wakes up,
-speeds up the determination of the time fcron should sleep, speeds up the
-processing after the end of a job, etc. I don't know why I haven't made it
-before :-) ...</para>
- </listitem>
- <listitem>
+ execution. It permits avoid useless tests of all jobs every time
+ fcron wakes up, speeds up the determination of the time fcron
+ should sleep, speeds up the processing after the end of a job,
+ etc. I don't know why I haven't made it before :-) ...</para>
+ </listitem>
+ <listitem>
<para>fcrontab has been improved : it is now more stable (many bugs
-which used to make fcrontab crash in case of errors in the fcrontab has been
-fixed). Plus, it now asks if you want to make corrections if needed when
-editing.</para>
- </listitem>
- </itemizedlist>
+ which used to make fcrontab crash in case of errors in the
+ fcrontab has been fixed). Plus, it now asks if you want to make
+ corrections if needed when editing.</para>
+ </listitem>
+ </itemizedlist>
- <itemizedlist>
- <title>From version 0.8.0 to 0.8.1</title>
- <listitem>
+ <itemizedlist>
+ <title>From version 0.8.0 to 0.8.1</title>
+ <listitem>
<para>ported to FreeBSD 4.0</para>
- </listitem>
- </itemizedlist>
+ </listitem>
+ </itemizedlist>
- <itemizedlist>
- <title>From version 0.7.0 to 0.8.0</title>
- <listitem>
+ <itemizedlist>
+ <title>From version 0.7.0 to 0.8.0</title>
+ <listitem>
<para>corrected the bug which keep normal users from listing and
-editing their current configuration file with fcrontab -l or -e.</para>
- </listitem>
- <listitem>
+ editing their current configuration file with fcrontab -l or
+ -e.</para>
+ </listitem>
+ <listitem>
<para>corrected the bugs which used to block fcron when a task was
-marked for execution but fcron stopped before it has been launched, and when
-fcron stopped after the end of a job but before the output has been
-mailed.</para>
- </listitem>
- <listitem>
+ marked for execution but fcron stopped before it has been
+ launched, and when fcron stopped after the end of a job but
+ before the output has been mailed.</para>
+ </listitem>
+ <listitem>
<para>day of week 0 and 7 now both mean Sunday.</para>
- </listitem>
- <listitem>
+ </listitem>
+ <listitem>
<para>the abbreviations of months and day of week are not any more
-case dependent.</para>
- </listitem>
- <listitem>
+ case dependent.</para>
+ </listitem>
+ <listitem>
<para>months are now defined from 1 to 12 (and not from 0 to 11) (it
-was a little bit illogical :-).</para>
- </listitem>
- <listitem>
+ was a little bit illogical :-).</para>
+ </listitem>
+ <listitem>
<para>you can now force spaces in strings if you place them in
-quotes.</para>
- </listitem>
- <listitem>
+ quotes.</para>
+ </listitem>
+ <listitem>
<para>I discovered ispell :-) ...</para>
- </listitem>
- <listitem>
+ </listitem>
+ <listitem>
<para>I've added a kind of signature in the formated configuration
-files in order to keep the daemon from attempting to read an old configuration
-file which doesn't use the same syntax.</para>
- </listitem>
- <listitem>
+ files in order to keep the daemon from attempting to read an old
+ configuration file which doesn't use the same syntax.</para>
+ </listitem>
+ <listitem>
<para>You can now install a file with fcrontab from standard
-input.</para>
- </listitem>
- <listitem>
+ input.</para>
+ </listitem>
+ <listitem>
<para>others minor adds and bug corrections.</para>
- </listitem>
- </itemizedlist>
-</sect1>
+ </listitem>
+ </itemizedlist>
+ </sect1>
<!-- Keep this comment at the end of the file
Local variables: