]> git.ipfire.org Git - thirdparty/fcron.git/commitdiff
added fcrondyn support
authorThibault Godouet <yo8192@users.noreply.github.com>
Sat, 2 Mar 2002 17:26:30 +0000 (17:26 +0000)
committerThibault Godouet <yo8192@users.noreply.github.com>
Sat, 2 Mar 2002 17:26:30 +0000 (17:26 +0000)
13 files changed:
Makefile.in
conf.c
config.h.in
configure.in
doc/Makefile.in
doc/en/changes.sgml
doc/en/fcron-doc.sgml
doc/en/fcron.8.sgml
doc/en/fcron.conf.5.sgml
doc/en/fcrontab.1.sgml
doc/en/fcrontab.5.sgml
doc/fcron-doc.mod.in
fcron.h

index 2d9b9fb15ac9d22415e43add53dc4c6da083e1f9..eaadbac1d9c30243f89a77af6fe009e375130e76 100644 (file)
@@ -4,7 +4,7 @@
 
 # @configure_input@
 
-# $Id: Makefile.in,v 1.82 2002-02-25 18:43:05 thib Exp $
+# $Id: Makefile.in,v 1.83 2002-03-02 17:28:16 thib Exp $
 
 # The following should not be edited manually (use configure options)
 # If you must do it, BEWARE : some of the following is also defined
@@ -57,12 +57,15 @@ OPTION =
 
 VERSION = @VERSION@
 CFLAGS = $(OPTIM) $(OPTION) $(DEFS) $(CPPFLAGS)
+ifeq ($(FCRONDYN), 1)
+LIBOBJS := socket.o $(LIBOBJS)
+endif
 OBJSD = fcron.o subs.o save.o temp_file.o log.o database.o job.o conf.o $(LIBOBJS)
-OBJSTAB = fcrontab.o subs.o save.o temp_file.o  log.o fileconf.o allow.o
-OBJSDYN = fcrondyn.o subs.o log.o
+OBJSTAB = fcrontab.o subs.o save.o temp_file.o  log.o fileconf.o allow.o read_string.o
+OBJSDYN = fcrondyn.o subs.o log.o allow.o read_string.o
 OBJCONV = convert-fcrontab.o subs.o save.o log.o
 OBJSIG = fcronsighup.o subs.o log.o allow.o
-HEADERSALL = config.h $(SRCDIR)/global.h $(SRCDIR)/log.h $(SRCDIR)/subs.h $(SRCDIR)/save.h $(SRCDIR)/option.h 
+HEADERSALL = config.h $(SRCDIR)/global.h $(SRCDIR)/log.h $(SRCDIR)/subs.h $(SRCDIR)/save.h $(SRCDIR)/option.h $(SRCDIR)/dyncom.h
 
 # this is a regular expression :
 # do not ci automaticaly generated files and doc (done by doc's Makefile)
@@ -109,6 +112,7 @@ install: all
        $(INSTALL) -g $(ROOTGROUP) -o $(ROOTNAME) -m 110 -s fcron $(DESTSBIN)
        $(INSTALL) -g $(GROUPNAME) -o $(USERNAME) -m 6111 -s fcrontab $(DESTBIN)
        $(INSTALL) -g $(ROOTGROUP) -o $(ROOTNAME) -m 6111 -s fcronsighup $(DESTBIN)
+       $(INSTALL) -g $(GROUPNAME) -o $(USERNAME) -m 6111 -s fcrondyn $(DESTBIN)
        test -f $(ETC)/fcron.allow || test -f $(ETC)/fcron.deny || $(INSTALL) -m 640 -o $(ROOTNAME) -g $(GROUPNAME) $(SRCDIR)/files/fcron.allow $(SRCDIR)/files/fcron.deny $(ETC)
        test -f $(ETC)/fcron.conf || $(INSTALL) -m 640 -o $(ROOTNAME) -g $(GROUPNAME) $(SRCDIR)/files/fcron.conf $(ETC)
        test "${USEPAM}" = "0" || $(SRCDIR)/script/install-pam-conf $(SRCDIR) $(ETC) $(ROOTNAME) $(ROOTGROUP) "$(INSTALL)"
diff --git a/conf.c b/conf.c
index 7619a454ca454cc461e142c54610bee01f469491..b63b96de29566e88296bb2b4a80ceeb298ebf61c 100644 (file)
--- a/conf.c
+++ b/conf.c
@@ -22,7 +22,7 @@
  *  `LICENSE' that comes with the fcron source distribution.
  */
 
- /* $Id: conf.c,v 1.53 2002-02-25 18:42:41 thib Exp $ */
+ /* $Id: conf.c,v 1.54 2002-03-02 17:28:07 thib Exp $ */
 
 #include "fcron.h"
 
@@ -796,6 +796,8 @@ add_line_to_file(CL *cl, CF *cf, uid_t runas, char *runas_str, time_t t_save)
     } 
 
     /* add the current line to the list, and allocate a new line */
+    if ( (cl->cl_id = next_id++) >= ULONG_MAX - 1)
+       next_id = 0;
     cl->cl_next = cf->cf_line_base;
     cf->cf_line_base = cl;
     return 0;
index 77b81c152d632052f18dc62be793e11e0b549348..e8a090e6dd8e6e334528a7a0ed8861db6e051146 100644 (file)
@@ -21,7 +21,7 @@
  *  `LICENSE' that comes with the fcron source distribution.
  */
 
- /* $Id: config.h.in,v 1.39 2002-02-25 18:44:26 thib Exp $ */
+ /* $Id: config.h.in,v 1.40 2002-03-02 17:28:48 thib Exp $ */
 
 
 /* *********************************************************** */
 #define FNAME_LEN 512        /* max length of a file name */
 #define USER_NAME_LEN 128    /* max length of a user name */
 #define PATH_LEN 256         /* max length of a file path */
+#define SOCKET_MSG_LEN 20    /* max length of a socket msg (fcrondyn) */
 
 #define MAX_MSG 150           /* max length of a log message */
 
 
+/* *** socket *** */
+#define MAX_CONNECTION 25    /* max simultaneous connection allowed */
+#define MAX_USER_CON 3       /* max number of connection for a normal user */
+#define MAX_IDLE_TIME 300    /* time (in sec) a socket stay idle before being closed */
+
+
 /* *** system dependent *** */
 #define EXIT_ERR   1         /* code returned by fcron/fcrontab on error */
 #define EXIT_OK    0         /* code returned  on normal exit */
 #undef SHELL
 /* where is located pid file ? */
 #undef PIDFILE
+/* where is located fifo file ? */
+#undef FIFOFILE
 
 /* 1 if we want to compile and install fcrondyn */
 #undef FCRONDYN
 /* Define if we should use sete[ug]id() funcs */
 #undef USE_SETE_ID
 
-/* root uid and gid */
+/* root uid, gid, name and group */
 #undef ROOTUID
 #undef ROOTGID
+#undef ROOTNAME
+#undef ROOTGROUP
 
 /* user and group name to run under */
 #undef USERNAME
 /* Define on System V Release 4.  */
 #undef SVR4
 
+/* Define if you have the crypt function.  */
+#undef HAVE_CRYPT
+
 /* Define if you have the flock function.  */
 #undef HAVE_FLOCK
 
 /* Define if your <sys/time.h> declares struct tm.  */
 #undef TM_IN_SYS_TIME
 
+/* Define if you have the <crypt.h> header file.  */
+#undef HAVE_CRYPT_H
+
 /* Define if you have the <dirent.h> header file.  */
 #undef HAVE_DIRENT_H
 
 /* Define if you have the <ndir.h> header file.  */
 #undef HAVE_NDIR_H
 
+/* Define if you have <shadow.h>.  */
+#undef HAVE_SHADOW_H
+
 /* Define if you have <nlist.h>.  */
 #undef NLIST_STRUCT
 
 /* Define if you have the <sys/types.h> header file.  */
 #undef HAVE_SYS_TYPES_H
 
+/* Define if you have the <sys/un.h> header file.  */
+#undef HAVE_SYS_UN_H
+
 /* Define if you have <sys/wait.h> that is POSIX.1 compatible.  */
 #undef HAVE_SYS_WAIT_H
 
 
 /* Define if you have the pam library (-lpam).  */
 #undef HAVE_LIBPAM
+
+/* Define if you have the shadow library (-lshadow or included in c library).  */
+#undef HAVE_LIBSHADOW
index 52cc5ab39ee412759e4a0a335b6b0597beb2cba0..66c7c41904846d53ac5db15626ee2ab5c4526a77 100644 (file)
@@ -41,8 +41,8 @@ AC_CHECK_HEADERS(errno.h sys/fcntl.h getopt.h limits.h)
 AC_CHECK_HEADERS(stdarg.h)
 AC_CHECK_HEADERS(sys/termios.h)
 AC_CHECK_HEADERS(strings.h)
-AC_CHECK_HEADERS(sys/types.h sys/socket.h)
-AC_CHECK_HEADERS(security/pam_appl.h)
+AC_CHECK_HEADERS(sys/types.h sys/socket.h sys/un.h)
+AC_CHECK_HEADERS(security/pam_appl.h crypt.h shadow.h)
 
 dnl Checks for typedefs, structures, and compiler characteristics.
 AC_C_CONST
@@ -84,6 +84,29 @@ AC_CHECK_FUNCS(flock lockf)
 AC_CHECK_FUNCS(seteuid, [seteuid=1], [seteuid=0])
 AC_CHECK_FUNCS(setegid, [setegid=1], [setegid=0])
 
+AC_CHECK_FUNCS(getspnam, [getspnam=1], [getspnam=0])
+if test "$getspnam" -eq "0"; then
+  AC_CHECK_LIB(getspnam, shadow, [getspnam=1], [getspnam=0])
+  if test "$getspnam" -eq "1"; then
+    LIBS="$LIBS -lshadow"
+  fi
+fi
+if test "$getspnam" -eq "1"; then
+  AC_DEFINE_UNQUOTED(HAVE_LIBSHADOW, 1)
+fi
+
+AC_CHECK_FUNCS(crypt, [crypt=1], [crypt=0])
+if test "$crypt" -eq "0"; then
+  AC_CHECK_LIB(crypt, crypt, [crypt=1], [crypt=0])
+  if test "$crypt" -eq "1"; then
+    LIBS="$LIBS -lcrypt"
+  fi
+fi
+if test "$crypt" -eq "1"; then
+  AC_DEFINE_UNQUOTED(HAVE_CRYPT, 1)
+fi
+
+
 
 dnl ---------------------------------------------------------------------
 dnl Check for fcron more specific stuffs (paths, progs, ...)
@@ -287,6 +310,47 @@ Directory $withval does not exist])
     fi
 )
 
+AC_MSG_CHECKING(location of fifo files)
+AC_ARG_WITH(fifodir,
+[  --with-fifodir=PATH Directory containing fifo files.],
+[ case "$withval" in
+  no)
+    AC_MSG_ERROR(Need FIFODIR.)
+    ;;
+  yes)
+    if test -d /var/run ; then
+      AC_DEFINE(FIFOFILE, "/var/run/fcron.fifo")
+      AC_MSG_RESULT(/var/run)
+    elif test -d /usr/run ; then
+      AC_DEFINE(FIFOFILE, "/usr/run/fcron.fifo")
+      AC_MSG_RESULT(/usr/run)
+    else
+      AC_DEFINE_UNQUOTED(FIFOFILE, "$ETC/fcron.fifo")
+      AC_MSG_RESULT($ETC)
+    fi
+    ;;
+  *)
+    if test -d "$withval"; then
+      AC_DEFINE_UNQUOTED(FIFOFILE, "$withval/fcron.fifo")
+      AC_MSG_RESULT($withval)
+    else
+      AC_MSG_ERROR([
+Directory $withval does not exist])
+    fi
+    ;;
+  esac ],
+    if test -d /var/run ; then
+      AC_DEFINE(FIFOFILE, "/var/run/fcron.fifo")
+      AC_MSG_RESULT(/var/run)
+    elif test -d /usr/run ; then
+      AC_DEFINE(FIFOFILE, "/usr/run/fcron.fifo")
+      AC_MSG_RESULT(/usr/run)
+    else
+      AC_DEFINE_UNQUOTED(FIFOFILE, "$ETC/fcron.fifo")
+      AC_MSG_RESULT($ETC)
+    fi
+)
+
 AC_MSG_CHECKING(location of spool directory)
 AC_ARG_WITH(spooldir,
 [  --with-spooldir=PATH        Directory containing fcron spool (default /var/spool/fcron).],
@@ -537,17 +601,27 @@ AC_ARG_WITH(fcrondyn,
     AC_MSG_RESULT(no)
     ;;
   yes)
-    AC_MSG_RESULT(yes)
+    if test "$crypt" -eq 1; then
+      AC_MSG_RESULT(yes)
+    else
+      AC_MSG_ERROR(Need a crypt() function.)
+    fi
     ;;
   *)
     AC_MSG_ERROR(Must be set to either "yes" or "no".)
     ;;
   esac ],
-  AC_MSG_RESULT(yes)
+  if test "$crypt" -eq 1; then
+    AC_MSG_RESULT(yes)
+  else
+    AC_MSG_RESULT(no)
+  fi
 )
 FCRONDYN="$fcrondyn"
-AC_DEFINE_UNQUOTED(FCRONDYN, "$fcrondyn")
-AC_SUBST(FCRONDYN)
+if test "$fcrondyn" = 1; then
+  AC_DEFINE_UNQUOTED(FCRONDYN, "$fcrondyn")
+  AC_SUBST(FCRONDYN)
+fi
 
 
 dnl ---------------------------------------------------------------------
index 4d612dd088c8a11623730e0820c651a93d38f132..7bae004842c2b5f5ad6b6ba2ae87a7e723921fb7 100644 (file)
@@ -4,7 +4,7 @@
 
 # @configure_input@
 
-# $Id: Makefile.in,v 1.7 2002-01-27 16:36:46 thib Exp $
+# $Id: Makefile.in,v 1.8 2002-03-02 17:31:20 thib Exp $
 
 # The following should not be edited manually (use configure options)
 # If you must do it, BEWARE : some of the following is also defined
@@ -34,9 +34,9 @@ ANSWERALL     = @ANSWERALL@
 STYLESHEET = stylesheets/fcron-doc.dsl
 MODFILE = fcron-doc.mod
 VERSION = @VERSION@
-SGMLFILES = faq.sgml fcron-doc.sgml fdl.sgml thanks.sgml gpl.sgml todo.sgml fcron.8.sgml fcrontab.1.sgml install.sgml fcron.conf.5.sgml fcrontab.5.sgml readme.sgml
+SGMLFILES = faq.sgml fcron-doc.sgml fdl.sgml thanks.sgml gpl.sgml todo.sgml fcron.8.sgml fcrontab.1.sgml install.sgml fcron.conf.5.sgml fcrontab.5.sgml fcrondyn.1.sgml readme.sgml
 TXTFILES = readme install thanks faq gpl todo
-MANPAGES = fcron.8 fcron.conf.5 fcrontab.1 fcrontab.5
+MANPAGES = fcron.8 fcron.conf.5 fcrontab.1 fcrontab.5 fcrondyn.1
 
 # this is a regular expression :
 # do not ci these files
@@ -104,6 +104,7 @@ install: clean
        @(echo "Installing man pages in $(DESTMAN)/man{1,3,5,8} ...")
        @(cd .. ; $(INSTALL) -m 644 -o $(ROOTNAME) $(SRCDIR)/doc/man/fcron.8 $(DESTMAN)/man8)
        @(cd .. ; $(INSTALL) -m 644 -o $(ROOTNAME) $(SRCDIR)/doc/man/fcrontab.1 $(DESTMAN)/man1)
+       @(cd .. ; $(INSTALL) -m 644 -o $(ROOTNAME) $(SRCDIR)/doc/man/fcrondyn.1 $(DESTMAN)/man1)
        @(cd .. ; $(INSTALL) -m 644 -o $(ROOTNAME) $(SRCDIR)/doc/man/fcrontab.5 $(DESTMAN)/man5)
        @(cd .. ; $(INSTALL) -m 644 -o $(ROOTNAME) $(SRCDIR)/doc/man/fcron.conf.5 $(DESTMAN)/man5)
        @(cd .. ; $(INSTALL) -m 644 -o $(ROOTNAME) $(SRCDIR)/doc/man/bitstring.3 $(DESTMAN)/man3)
@@ -122,6 +123,7 @@ install: clean
 uninstall:
        rm -fR $(DESTDOC)/fcron-$(VERSION)
        rm -f $(DESTMAN)/man1/fcrontab.1
+       rm -f $(DESTMAN)/man1/fcrondyn.1
        rm -f $(DESTMAN)/man3/bitstring.3
        rm -f $(DESTMAN)/man5/fcrontab.5
        rm -f $(DESTMAN)/man5/fcron.conf.5
index eb687ca51c458dc1627eec2e748c5effdb85bb64..a2b01a0a720b3a2c49c168fb4941e4b8aaef59fc 100644 (file)
@@ -8,7 +8,7 @@ Foundation.
 A copy of the license is included in gfdl.sgml.
 -->
 
-<!-- $Id: changes.sgml,v 1.7 2002-02-25 18:47:19 thib Exp $ -->
+<!-- $Id: changes.sgml,v 1.8 2002-03-02 17:33:20 thib Exp $ -->
 
 <sect1 id="changes">
     <title>Changes</title>
@@ -16,7 +16,10 @@ A copy of the license is included in gfdl.sgml.
     <itemizedlist>
        <title>From version 2.1.0 to 2.1.1</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 returns. May be used, for instance, in a ppp-up script with a dialup connection to update a software regularly.</para>
+           <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>
+           <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>
            <para>All the documentation has been ported to SGML DocBook.</para>
index 1b2ccc429239bac99fb86c94aef4b6bd1b556b07..1e46ca9c83e650c372bc0593fefa91ee45b097ca 100644 (file)
@@ -15,7 +15,7 @@ Foundation.
 A copy of the license is included in gfdl.sgml.
 -->
 
-<!-- $Id: fcron-doc.sgml,v 1.1 2002-01-03 14:26:11 thib Exp $ -->
+<!-- $Id: fcron-doc.sgml,v 1.2 2002-03-02 17:30:44 thib Exp $ -->
 
 <book lang="en" id="fcron-doc">
     <bookinfo id="bookinfo">
@@ -89,6 +89,7 @@ and how to install it.</para>
            &fcron.conf.5;
            &fcrontab.1;
            &fcrontab.5;
+           &fcrondyn.1;
        </sect1>
        &faq;
     </chapter>
index 2a88ec171d11cdd0c5dfffcc4b15a7ecd3dcc75d..afdc3d32d40331521ab1cbb7e891a6c9fa84e457 100644 (file)
@@ -8,7 +8,7 @@ Foundation.
 A copy of the license is included in gfdl.sgml.
 -->
 
-<!-- $Id: fcron.8.sgml,v 1.2 2002-01-04 19:11:55 thib Exp $ -->
+<!-- $Id: fcron.8.sgml,v 1.3 2002-03-02 17:31:39 thib Exp $ -->
 
 <refentry id="fcron.8">
     <refmeta>
@@ -203,19 +203,19 @@ other processes).</para>
            <varlistentry>
                <term><filename>&etc;/&fcron.conf.location;</filename></term>
                <listitem>
-                   <para>Configuration file for &fcron; and &fcrontab; : contains paths (spool dir, pid file) and default programs to use (editor, shell, etc). See <link linkend="fcron.conf.5">&fcron.conf;(5)</link> for more details.</para>
+                   <para>Configuration file for &fcron;, &fcrontab; and &fcrondyn; : contains paths (spool dir, pid file) and default programs to use (editor, shell, etc). See <link linkend="fcron.conf.5">&fcron.conf;(5)</link> for more details.</para>
                </listitem>
            </varlistentry>
            <varlistentry>
                <term><filename>&etc;/&fcron.allow;</filename></term>
                <listitem>
-                   <para>Users allowed to use &fcrontab; (one name per line, special name "all" acts for everyone)</para>
+                   <para>Users allowed to use &fcrontab; and &fcrondyn; (one name per line, special name "all" acts for everyone)</para>
                </listitem>
            </varlistentry>
            <varlistentry>
                <term><filename>&etc;/&fcron.deny;</filename></term>
                <listitem>
-                   <para>Users who are not allowed to use &fcrontab; (same format as allow file)</para>
+                   <para>Users who are not allowed to use &fcrontab; and &fcrondyn; (same format as allow file)</para>
                </listitem>
            </varlistentry>
            <varlistentry>
@@ -233,6 +233,7 @@ other processes).</para>
            <member><link linkend="fcron.conf.5">&fcron.conf;(5)</link></member>
            <member><link linkend="fcrontab.1">&fcrontab;(1)</link></member>
            <member><link linkend="fcrontab.5">&fcrontab;(5)</link></member>
+           <member><link linkend="fcrondyn.1">&fcrondyn;(1)</link></member>
            <member>The HTML version of the documentation, if you are not reading it right now, which is far better than these man pages :)).</member>
        </simplelist>
     </refsect1>
index 04b8ac6f6b706512d00637a99603809f362d5001..f7ba9b22a7a6c7885da42922b6dbf8fda15bca6a 100644 (file)
@@ -8,7 +8,7 @@ Foundation.
 A copy of the license is included in gfdl.sgml.
 -->
 
-<!-- $Id: fcron.conf.5.sgml,v 1.2 2002-01-04 19:11:47 thib Exp $ -->
+<!-- $Id: fcron.conf.5.sgml,v 1.3 2002-03-02 17:31:16 thib Exp $ -->
 
 <refentry id="fcron.conf.5">
     <refmeta>
@@ -25,7 +25,7 @@ A copy of the license is included in gfdl.sgml.
     <refsect1>
        <title>Description</title>
        <abstract>
-           <para>This page describes the syntax used for the configuration file of <link linkend="fcrontab.1">&fcrontab;</link>(1). and <link linkend="fcron.8">&fcron;</link>(8).</para>
+           <para>This page describes the syntax used for the configuration file of <link linkend="fcrontab.1">&fcrontab;</link>(1), <link linkend="fcrondyn.1">&fcrondyn;</link>(1) and <link linkend="fcron.8">&fcron;</link>(8).</para>
        </abstract>
        <para>Blank lines, line beginning by a pound-sign (#) (which are considered comments), leading blanks and tabs are ignored. Each line in a &fcron.conf file is of the form
  <blockquote>
@@ -48,6 +48,12 @@ where the blanks around equal-sign (=) are ignored and optional. Trailing blanks
                        <para>Location of &fcron; pid file (needed by &fcrontab; to work properly).</para>
                    </listitem>
                </varlistentry>
+               <varlistentry>
+                   <term><varname>fifofile</varname>=<replaceable>file-path</replaceable> (<filename>&fcron.pid;</filename>)</term>
+                   <listitem>
+                       <para>Location of &fcron; fifo file (needed by &fcrondyn; to communicate with fcron).</para>
+                   </listitem>
+               </varlistentry>
                <varlistentry>
                    <term><varname>fcronallow</varname>=<replaceable>file-path</replaceable> (<filename>&etc;/&fcron.allow;</filename>)</term>
                    <listitem>
@@ -80,7 +86,7 @@ where the blanks around equal-sign (=) are ignored and optional. Trailing blanks
                </varlistentry>
            </variablelist>
 File-paths and directories are complete and absolute (i.e. beginning by a "/").</para>
-       <para>To run several instances of &fcron; simultaneously on the same system, you must use a different configuration file for each instance. Each instance must have a different <varname>fcrontabs</varname> and <varname>pidfile</varname>. Then, use <link linkend="fcron.8">fcron</link>(8)'s command line option <parameter>-c</parameter> to select which config file (so which instance) you refer to.</para>
+       <para>To run several instances of &fcron; simultaneously on the same system, you must use a different configuration file for each instance. Each instance must have a different <varname>fcrontabs</varname>, <varname>pidfile</varname> and <varname>fifofile</varname>. Then, use <link linkend="fcron.8">fcron</link>(8)'s command line option <parameter>-c</parameter> to select which config file (so which instance) you refer to.</para>
     </refsect1>
 
     <refsect1>
@@ -89,19 +95,19 @@ File-paths and directories are complete and absolute (i.e. beginning by a "/").<
            <varlistentry>
                <term><filename>&etc;/&fcron.conf.location;</filename></term>
                <listitem>
-                   <para>Configuration file for &fcron; and &fcrontab; : contains paths (spool dir, pid file) and default programs to use (editor, shell, etc). See <link linkend="fcron.conf.5">&fcron.conf(5)</link> for more details.</para>
+                   <para>Configuration file for &fcron;, &fcrontab and &fcrondyn; : contains paths (spool dir, pid file) and default programs to use (editor, shell, etc). See <link linkend="fcron.conf.5">&fcron.conf(5)</link> for more details.</para>
                </listitem>
            </varlistentry>
            <varlistentry>
                <term><filename>&etc;/&fcron.allow;</filename></term>
                <listitem>
-                   <para>Users allowed to use &fcrontab; (one name per line, special name "all" acts for everyone)</para>
+                   <para>Users allowed to use &fcrontab; and &fcrondyn; (one name per line, special name "all" acts for everyone)</para>
                </listitem>
            </varlistentry>
            <varlistentry>
                <term><filename>&etc;/&fcron.deny;</filename></term>
                <listitem>
-                   <para>Users who are not allowed to use &fcrontab; (same format as allow file)</para>
+                   <para>Users who are not allowed to use &fcrontab; and &fcrondyn; (same format as allow file)</para>
                </listitem>
            </varlistentry>
            <varlistentry>
@@ -119,6 +125,7 @@ File-paths and directories are complete and absolute (i.e. beginning by a "/").<
            <member><link linkend="fcron.8">&fcron;(8)</link></member>
            <member><link linkend="fcrontab.1">&fcrontab;(1)</link></member>
            <member><link linkend="fcrontab.5">&fcrontab;(5)</link></member>
+           <member><link linkend="fcrondyn.1">&fcrondyn;(1)</link></member>
            <member>The HTML version of the documentation, if you are not reading it right now, which is far better than these man pages :)).</member>
        </simplelist>
     </refsect1>
index 5a1ef593b4470fcf736b40f31c65abb67d16c36a..a1b58ce942b09be41a338c1be22b58d50b729e99 100644 (file)
@@ -8,7 +8,7 @@ Foundation.
 A copy of the license is included in gfdl.sgml.
 -->
 
-<!-- $Id: fcrontab.1.sgml,v 1.2 2002-01-04 19:12:00 thib Exp $ -->
+<!-- $Id: fcrontab.1.sgml,v 1.3 2002-03-02 17:33:23 thib Exp $ -->
 
 <refentry id="fcrontab.1">
     <refmeta>
@@ -147,19 +147,19 @@ We will call "<emphasis>fcrontab</emphasis>" the source file of the &fcrontabf;
            <varlistentry>
                <term><filename>&etc;/&fcron.conf.location;</filename></term>
                <listitem>
-                   <para>Configuration file for &fcron; and &fcrontab; : contains paths (spool dir, pid file) and default programs to use (editor, shell, etc). See <link linkend="fcron.conf.5">&fcron.conf;(5)</link> for more details.</para>
+                   <para>Configuration file for &fcron;, &fcrontab; and &fcrondyn; : contains paths (spool dir, pid file) and default programs to use (editor, shell, etc). See <link linkend="fcron.conf.5">&fcron.conf;(5)</link> for more details.</para>
                </listitem>
            </varlistentry>
            <varlistentry>
                <term><filename>&etc;/&fcron.allow;</filename></term>
                <listitem>
-                   <para>Users allowed to use &fcrontab; (one name per line, special name "all" acts for everyone)</para>
+                   <para>Users allowed to use &fcrontab; and &fcrondyn; (one name per line, special name "all" acts for everyone)</para>
                </listitem>
            </varlistentry>
            <varlistentry>
                <term><filename>&etc;/&fcron.deny;</filename></term>
                <listitem>
-                   <para>Users who are not allowed to use &fcrontab; (same format as allow file)</para>
+                   <para>Users who are not allowed to use &fcrontab; and &fcrondyn; (same format as allow file)</para>
                </listitem>
            </varlistentry>
            <varlistentry>
@@ -177,6 +177,7 @@ We will call "<emphasis>fcrontab</emphasis>" the source file of the &fcrontabf;
            <member><link linkend="fcrontab.5">&fcrontab;(5)</link></member>
            <member><link linkend="fcron.8">&fcron;(8)</link></member>
            <member><link linkend="fcron.conf.5">&fcron.conf;(5)</link></member>
+           <member><link linkend="fcrondyn.1">&fcrondyn;(1)</link></member>
            <member>The HTML version of the documentation, if you are not reading it right now, which is far better than these man pages :)).</member>
        </simplelist>
     </refsect1>
index c17366c65420206db1ebcc7ee5d70f28bc7e9727..5fd2b96f6a53334b85d7871c1754fae0fbd0b49c 100644 (file)
@@ -8,7 +8,7 @@ Foundation.
 A copy of the license is included in gfdl.sgml.
 -->
 
-<!-- $Id: fcrontab.5.sgml,v 1.5 2002-02-16 10:09:50 thib Exp $ -->
+<!-- $Id: fcrontab.5.sgml,v 1.6 2002-03-02 17:33:25 thib Exp $ -->
 
 <refentry id="fcrontab.5">
     <refmeta>
@@ -555,19 +555,19 @@ the last release of Mozilla !"</programlisting>
            <varlistentry>
                <term><filename>&etc;/&fcron.conf.location;</filename></term>
                <listitem>
-                   <para>Configuration file for &fcron; and &fcrontab; : contains paths (spool dir, pid file) and default programs to use (editor, shell, etc). See <link linkend="fcron.conf.5">&fcron.conf(5)</link> for more details.</para>
+                   <para>Configuration file for &fcron;, &fcrontab; and &fcrondyn; : contains paths (spool dir, pid file) and default programs to use (editor, shell, etc). See <link linkend="fcron.conf.5">&fcron.conf(5)</link> for more details.</para>
                </listitem>
            </varlistentry>
            <varlistentry>
                <term><filename>&etc;/&fcron.allow;</filename></term>
                <listitem>
-                   <para>Users allowed to use &fcrontab; (one name per line, special name "all" acts for everyone)</para>
+                   <para>Users allowed to use &fcrontab; and &fcrondyn; (one name per line, special name "all" acts for everyone)</para>
                </listitem>
            </varlistentry>
            <varlistentry>
                <term><filename>&etc;/&fcron.deny;</filename></term>
                <listitem>
-                   <para>Users who are not allowed to use &fcrontab; (same format as allow file)</para>
+                   <para>Users who are not allowed to use &fcrontab; and &fcrondyn; (same format as allow file)</para>
                </listitem>
            </varlistentry>
            <varlistentry>
@@ -584,6 +584,7 @@ the last release of Mozilla !"</programlisting>
        <simplelist>
            <member><link linkend="fcron.8">&fcron;(8)</link></member>
            <member><link linkend="fcrontab.1">&fcrontab;(1)</link></member>
+           <member><link linkend="fcrondyn.1">&fcrondyn;(1)</link></member>
            <member><link linkend="fcrontab.5">&fcron.conf;(5)</link></member>
            <member>The HTML version of the documentation, if you are not reading it right now, which is far better than these man pages :)).</member>
        </simplelist>
index cf70245b449b6d42d1832d29d422f4139b63c5e2..5b6d0a124dd73d6015789f1f81e3daf6a41f9f2d 100644 (file)
@@ -17,6 +17,7 @@
 <!ENTITY fcron.conf.location "@@FCRON_CONF@">
 <!ENTITY fcron.deny "@@FCRON_DENY@">
 <!ENTITY fcron.pid "@@PIDFILE@">
+<!ENTITY fcron.pid "@@FIFOFILE@">
 <!ENTITY fcrontabsdir "@@FCRONTABS@">
 <!ENTITY firstsleep "@@FIRST_SLEEP@">
 <!ENTITY lavgoncedef "@@LAVG_ONCE@">
@@ -34,6 +35,8 @@
 <!ENTITY Fcron "<application>Fcron</application>">
 <!ENTITY fcrontab "<application>fcrontab</application>">
 <!ENTITY Fcrontab "<application>Fcrontab</application>">
+<!ENTITY fcrondyn "<application>fcrondyn</application>">
+<!ENTITY Fcrondyn "<application>Fcrondyn</application>">
 <!ENTITY fcrontabf "<systemitem>fcrontab</systemitem>">
 <!ENTITY fcron.conf "<systemitem>fcron.conf</systemitem>">
 
@@ -47,6 +50,7 @@
 <!ENTITY fcron.conf.5 SYSTEM "fcron.conf.5.sgml">
 <!ENTITY fcrontab.1 SYSTEM "fcrontab.1.sgml">
 <!ENTITY fcrontab.5 SYSTEM "fcrontab.5.sgml">
+<!ENTITY fcrondyn.1 SYSTEM "fcrondyn.1.sgml">
 <!ENTITY faq SYSTEM "faq.sgml">
 <!ENTITY fdl SYSTEM "fdl.sgml">
 <!ENTITY gpl SYSTEM "gpl.sgml">
diff --git a/fcron.h b/fcron.h
index c0303c672d32d3cea899f59085814e6654e39608..dba8a5cc0bf6a239a3fc1ee86e9b83ab9afede54 100644 (file)
--- a/fcron.h
+++ b/fcron.h
  *  `LICENSE' that comes with the fcron source distribution.
  */
 
- /* $Id: fcron.h,v 1.26 2002-02-25 18:41:47 thib Exp $ */
+ /* $Id: fcron.h,v 1.27 2002-03-02 17:27:34 thib Exp $ */
 
 #ifndef __FCRON_H__
 #define __FCRON_H__
 
 #include "global.h"
 
+#ifdef HAVE_CRYPT_H
+#include <crypt.h>
+#endif
+
 #ifdef HAVE_DIRENT_H
 #include <dirent.h>
 #elif HAVE_SYS_DIRENT_H
 
 #include <grp.h>
 
+#ifdef HAVE_SHADOW_H
+#include <shadow.h>
+#endif
+
 #ifdef HAVE_SYS_IOCTL_H
 #include <sys/ioctl.h>
 #endif
@@ -67,6 +75,7 @@ extern char *prog_name;
 extern char sig_hup;
 extern struct CF *file_base;
 extern struct job *queue_base;
+extern unsigned long int next_id;
 extern struct CL **serial_array;
 extern short int serial_array_size;
 extern short int serial_array_index;