f2de853269
- rewrite pam2 patch - check return value, use "better" macro, etc. - new version of at
87 lines
2.7 KiB
Diff
87 lines
2.7 KiB
Diff
diff -up at-3.1.11/at.1.in.typo at-3.1.11/at.1.in
|
|
--- at-3.1.11/at.1.in.typo 2009-08-14 12:49:05.000000000 -0400
|
|
+++ at-3.1.11/at.1.in 2009-09-29 13:11:37.869869479 -0400
|
|
@@ -89,7 +89,9 @@ or giving a date of the form
|
|
or
|
|
.B MM/DD/YY
|
|
or
|
|
-.B DD.MM.YY.
|
|
+.B DD.MM.YY
|
|
+or
|
|
+.B YYYY-MM-DD.
|
|
The specification of a date
|
|
.I must
|
|
follow the specification of the time of day.
|
|
@@ -119,7 +121,7 @@ and to run a job at 1am tomorrow, you wo
|
|
.B at 1am tomorrow.
|
|
.PP
|
|
The exact definition of the time specification can be found in
|
|
-.IR @prefix@/share/doc/at/timespec .
|
|
+.IR @prefix@/share/doc/at-@VERSION@/timespec .
|
|
.PP
|
|
For both
|
|
.BR at " and " batch ,
|
|
diff -up at-3.1.11/atd.c.typo at-3.1.11/atd.c
|
|
--- at-3.1.11/atd.c.typo 2009-09-29 13:02:17.068860987 -0400
|
|
+++ at-3.1.11/atd.c 2009-09-29 13:02:17.099881137 -0400
|
|
@@ -276,6 +276,8 @@ run_file(const char *filename, uid_t uid
|
|
free(newname);
|
|
return;
|
|
}
|
|
+ (void) setsid(); //own session for process
|
|
+
|
|
/* Let's see who we mail to. Hopefully, we can read it from
|
|
* the command file; if not, send it to the owner, or, failing that,
|
|
* to root.
|
|
@@ -497,7 +499,7 @@ run_file(const char *filename, uid_t uid
|
|
#if defined(SENDMAIL)
|
|
execl(SENDMAIL, "sendmail", mailname, (char *) NULL);
|
|
#else
|
|
-#error "No mail command specified."
|
|
+ perr("No mail command specified.");
|
|
#endif
|
|
perr("Exec failed for mail command");
|
|
|
|
@@ -606,6 +608,7 @@ run_loop()
|
|
* Let's remove the lockfile and reschedule.
|
|
*/
|
|
strncpy(lock_name, dirent->d_name, sizeof(lock_name));
|
|
+ lock_name[sizeof(lock_name)-1] = '\0';
|
|
lock_name[0] = '=';
|
|
unlink(lock_name);
|
|
next_job = now;
|
|
@@ -640,6 +643,7 @@ run_loop()
|
|
run_batch++;
|
|
if (strcmp(batch_name, dirent->d_name) > 0) {
|
|
strncpy(batch_name, dirent->d_name, sizeof(batch_name));
|
|
+ batch_name[sizeof(batch_name)-1] = '\0';
|
|
batch_uid = buf.st_uid;
|
|
batch_gid = buf.st_gid;
|
|
batch_queue = queue;
|
|
|
|
diff -up at-3.1.11/configure.ac.aaa at-3.1.11/configure.ac
|
|
--- at-3.1.11/configure.ac.aaa 2009-08-14 12:49:05.000000000 -0400
|
|
+++ at-3.1.11/configure.ac 2009-09-29 13:35:59.230866054 -0400
|
|
@@ -5,7 +5,7 @@ AC_CONFIG_SRCDIR(at.c)
|
|
|
|
AC_PREFIX_DEFAULT(/usr)
|
|
AC_CONFIG_HEADER(config.h)
|
|
-AC_PREREQ([2.64])
|
|
+AC_PREREQ([2.63])
|
|
|
|
VERSION=AC_PACKAGE_VERSION
|
|
if test "X$CFLAGS" = "X"; then
|
|
diff -up at-3.1.11/atd.c.seg at-3.1.11/atd.c
|
|
--- at-3.1.11/atd.c.seg 2009-08-14 12:49:05.000000000 -0400
|
|
+++ at-3.1.11/atd.c 2009-09-29 12:15:55.200864618 -0400
|
|
@@ -435,6 +435,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)
|