148 lines
6.4 KiB
Diff
148 lines
6.4 KiB
Diff
|
Index: at-3.2.2/Makefile.in
|
||
|
===================================================================
|
||
|
--- at-3.2.2.orig/Makefile.in
|
||
|
+++ at-3.2.2/Makefile.in
|
||
|
@@ -95,43 +95,43 @@ atrun: atrun.in
|
||
|
$(CC) -c $(CFLAGS) $(DEFS) $*.c
|
||
|
|
||
|
install: all
|
||
|
- $(INSTALL) -g root -o root -m 755 -d $(DESTDIR)$(etcdir)
|
||
|
- $(INSTALL) -g root -o root -m 755 -d $(DESTDIR)$(bindir)
|
||
|
- $(INSTALL) -g root -o root -m 755 -d $(DESTDIR)$(sbindir)
|
||
|
- $(INSTALL) -g root -o root -m 755 -d $(DESTDIR)$(atdatadir)
|
||
|
- $(INSTALL) -g root -o root -m 755 -d $(DESTDIR)$(docdir)
|
||
|
- $(INSTALL) -g root -o root -m 755 -d $(DESTDIR)$(atdocdir)
|
||
|
- $(INSTALL) -g $(DAEMON_GROUPNAME) -o $(DAEMON_USERNAME) -m 755 -d $(DESTDIR)$(ATSPOOL_DIR) $(DESTDIR)$(ATJOB_DIR)
|
||
|
- chmod 1770 $(DESTDIR)$(ATSPOOL_DIR) $(DESTDIR)$(ATJOB_DIR)
|
||
|
+ $(INSTALL) -m 755 -d $(DESTDIR)$(etcdir)
|
||
|
+ $(INSTALL) -m 755 -d $(DESTDIR)$(bindir)
|
||
|
+ $(INSTALL) -m 755 -d $(DESTDIR)$(sbindir)
|
||
|
+ $(INSTALL) -m 755 -d $(DESTDIR)$(atdatadir)
|
||
|
+ $(INSTALL) -m 755 -d $(DESTDIR)$(docdir)
|
||
|
+ $(INSTALL) -m 755 -d $(DESTDIR)$(atdocdir)
|
||
|
+ $(INSTALL) -m 755 -d $(DESTDIR)$(ATJOB_DIR)
|
||
|
+ $(INSTALL) -m 755 -d $(DESTDIR)$(ATSPOOL_DIR)
|
||
|
+ chmod 1770 $(DESTDIR)$(ATJOB_DIR) $(DESTDIR)$(ATSPOOL_DIR)
|
||
|
touch $(DESTDIR)$(LFILE)
|
||
|
chmod 600 $(DESTDIR)$(LFILE)
|
||
|
- chown $(DAEMON_USERNAME):$(DAEMON_GROUPNAME) $(DESTDIR)$(LFILE)
|
||
|
- test -f $(DESTDIR)$(etcdir)/at.allow || test -f $(DESTDIR)$(etcdir)/at.deny || $(INSTALL) -o root -g $(DAEMON_GROUPNAME) -m 640 at.deny $(DESTDIR)$(etcdir)/
|
||
|
- $(INSTALL) -g $(DAEMON_GROUPNAME) -o $(DAEMON_USERNAME) -m 6755 at $(DESTDIR)$(bindir)
|
||
|
+ test -f $(DESTDIR)$(etcdir)/at.allow || test -f $(DESTDIR)$(etcdir)/at.deny || $(INSTALL) -m 640 at.deny $(DESTDIR)$(etcdir)/
|
||
|
+ $(INSTALL) -m 6755 at $(DESTDIR)$(bindir)
|
||
|
$(LN_S) -f at $(DESTDIR)$(bindir)/atq
|
||
|
$(LN_S) -f at $(DESTDIR)$(bindir)/atrm
|
||
|
- $(INSTALL) -g root -o root -m 755 batch $(DESTDIR)$(bindir)
|
||
|
- $(INSTALL) -g root -o root -m 755 batch-job $(DESTDIR)$(atdatadir)
|
||
|
- $(INSTALL) -d -o root -g root -m 755 $(DESTDIR)$(man1dir)
|
||
|
- $(INSTALL) -d -o root -g root -m 755 $(DESTDIR)$(man5dir)
|
||
|
- $(INSTALL) -d -o root -g root -m 755 $(DESTDIR)$(man8dir)
|
||
|
- $(INSTALL) -g root -o root -m 755 atd $(DESTDIR)$(sbindir)
|
||
|
- $(INSTALL) -g root -o root -m 755 atrun $(DESTDIR)$(sbindir)
|
||
|
- $(INSTALL) -g root -o root -m 644 at.1 $(DESTDIR)$(man1dir)/
|
||
|
+ $(INSTALL) -m 755 batch $(DESTDIR)$(bindir)
|
||
|
+ $(INSTALL) -m 755 batch-job $(DESTDIR)$(atdatadir)
|
||
|
+ $(INSTALL) -d -m 755 $(DESTDIR)$(man1dir)
|
||
|
+ $(INSTALL) -d -m 755 $(DESTDIR)$(man5dir)
|
||
|
+ $(INSTALL) -d -m 755 $(DESTDIR)$(man8dir)
|
||
|
+ $(INSTALL) -m 755 atd $(DESTDIR)$(sbindir)
|
||
|
+ $(INSTALL) -m 755 atrun $(DESTDIR)$(sbindir)
|
||
|
+ $(INSTALL) -m 644 at.1 $(DESTDIR)$(man1dir)/
|
||
|
cd $(DESTDIR)$(man1dir) && $(LN_S) -f at.1 atq.1 && $(LN_S) -f at.1 batch.1 && $(LN_S) -f at.1 atrm.1
|
||
|
- $(INSTALL) -g root -o root -m 644 atd.8 $(DESTDIR)$(man8dir)/
|
||
|
+ $(INSTALL) -m 644 atd.8 $(DESTDIR)$(man8dir)/
|
||
|
sed "s,\$${exec_prefix},$(exec_prefix),g" <atrun.8>tmpman
|
||
|
- $(INSTALL) -g root -o root -m 644 tmpman $(DESTDIR)$(man8dir)/atrun.8
|
||
|
+ $(INSTALL) -m 644 tmpman $(DESTDIR)$(man8dir)/atrun.8
|
||
|
rm -f tmpman
|
||
|
- $(INSTALL) -g root -o root -m 644 at.allow.5 $(DESTDIR)$(man5dir)/
|
||
|
+ $(INSTALL) -m 644 at.allow.5 $(DESTDIR)$(man5dir)/
|
||
|
cd $(DESTDIR)$(man5dir) && $(LN_S) -f at.allow.5 at.deny.5
|
||
|
- $(INSTALL) -g root -o root -m 644 $(DOCS) $(DESTDIR)$(atdocdir)
|
||
|
+ $(INSTALL) -m 644 $(DOCS) $(DESTDIR)$(atdocdir)
|
||
|
rm -f $(DESTDIR)$(mandir)/cat1/at.1* $(DESTDIR)$(mandir)/cat1/batch.1* \
|
||
|
$(DESTDIR)$(mandir)/cat1/atq.1*
|
||
|
rm -f $(DESTDIR)$(mandir)/cat1/atd.8*
|
||
|
if test x"$(systemdsystemunitdir)" != xno; then \
|
||
|
- $(INSTALL) -o root -g root -m 755 -d $(DESTDIR)$(systemdsystemunitdir); \
|
||
|
- $(INSTALL) -o root -g root -m 644 atd.service $(DESTDIR)$(systemdsystemunitdir); \
|
||
|
+ $(INSTALL) -m 755 -d $(DESTDIR)$(systemdsystemunitdir); \
|
||
|
+ $(INSTALL) -m 644 atd.service $(DESTDIR)$(systemdsystemunitdir); \
|
||
|
fi
|
||
|
|
||
|
dist: checkin $(DIST) $(LIST) Filelist.asc
|
||
|
Index: at-3.2.2/Problems
|
||
|
===================================================================
|
||
|
--- at-3.2.2.orig/Problems
|
||
|
+++ at-3.2.2/Problems
|
||
|
@@ -5,7 +5,7 @@ Possible reasons why at may not run for
|
||
|
|
||
|
make -f Makefile.old install
|
||
|
|
||
|
-- You may not have a user or group 'daemon' on your system.
|
||
|
+- You may not have a user or group 'at' on your system.
|
||
|
|
||
|
- If you find numerous 'try again' error messages in your syslog files,
|
||
|
you have too many processes running; recompile your kernel for a
|
||
|
Index: at-3.2.2/atd.c
|
||
|
===================================================================
|
||
|
--- at-3.2.2.orig/atd.c
|
||
|
+++ at-3.2.2/atd.c
|
||
|
@@ -388,7 +388,12 @@ run_file(const char *filename, uid_t uid
|
||
|
if ((fflags = fcntl(fd_in, F_GETFD)) < 0)
|
||
|
perr("Error in fcntl");
|
||
|
|
||
|
- fcntl(fd_in, F_SETFD, fflags & ~FD_CLOEXEC);
|
||
|
+ /*
|
||
|
+ ** fcntl(fd_in, F_SETFD, fflags & ~FD_CLOEXEC);
|
||
|
+ ** What's that? This fcntl() removes the CLOSE_ON_EXEC flag.
|
||
|
+ */
|
||
|
+ if(fcntl(fd_in, F_SETFD, fflags | FD_CLOEXEC) < 0)
|
||
|
+ perr("Error in fcntl");
|
||
|
|
||
|
/*
|
||
|
* If the spool directory is mounted via NFS `atd' isn't able to
|
||
|
@@ -512,6 +517,9 @@ run_file(const char *filename, uid_t uid
|
||
|
if (setuid(uid) < 0)
|
||
|
perr("Cannot set user id");
|
||
|
|
||
|
+ if (SIG_ERR == signal(SIGCHLD, SIG_DFL))
|
||
|
+ perr("Cannot reset signal handler to default");
|
||
|
+
|
||
|
chdir("/");
|
||
|
|
||
|
if (execle("/bin/sh", "sh", (char *) NULL, nenvp) != 0)
|
||
|
@@ -699,7 +707,8 @@ run_loop()
|
||
|
/* Something went wrong the last time this was executed.
|
||
|
* Let's remove the lockfile and reschedule.
|
||
|
*/
|
||
|
- strncpy(lock_name, dirent->d_name, sizeof(lock_name));
|
||
|
+ strncpy(lock_name, dirent->d_name, sizeof(lock_name)-1);
|
||
|
+ lock_name[sizeof(lock_name)-1] = 0;
|
||
|
lock_name[0] = '=';
|
||
|
unlink(lock_name);
|
||
|
next_job = now;
|
||
|
@@ -733,7 +742,8 @@ run_loop()
|
||
|
*/
|
||
|
run_batch++;
|
||
|
if (strcmp(batch_name, dirent->d_name) > 0) {
|
||
|
- strncpy(batch_name, dirent->d_name, sizeof(batch_name));
|
||
|
+ strncpy(batch_name, dirent->d_name, sizeof(batch_name)-1);
|
||
|
+ batch_name[sizeof(batch_name)-1] = 0;
|
||
|
batch_uid = buf.st_uid;
|
||
|
batch_gid = buf.st_gid;
|
||
|
batch_queue = queue;
|
||
|
Index: at-3.2.2/configure.ac
|
||
|
===================================================================
|
||
|
--- at-3.2.2.orig/configure.ac
|
||
|
+++ at-3.2.2/configure.ac
|
||
|
@@ -150,7 +150,7 @@ AC_DEFINE_UNQUOTED(PIDFILE, "$PIDDIR/atd
|
||
|
AC_MSG_RESULT($PIDDIR)
|
||
|
|
||
|
AC_MSG_CHECKING(location of spool directory)
|
||
|
-if test -d /var/spool/atjobs ; then
|
||
|
+if test -d /var/spool ; then
|
||
|
sp=/var/spool
|
||
|
AC_MSG_RESULT(Using existing /var/spool/at{jobs|run})
|
||
|
elif test -d /var/spool/cron ; then
|