Accepting request 49297 from home:elvigia:branches:Base:System

OBS-URL: https://build.opensuse.org/request/show/49297
OBS-URL: https://build.opensuse.org/package/show/Base:System/at?expand=0&rev=17
This commit is contained in:
Cristian Rodríguez 2010-09-28 05:19:31 +00:00 committed by Git OBS Bridge
parent fa2b1001e8
commit 951be6a7ac
19 changed files with 135 additions and 109 deletions

View File

@ -1,6 +1,6 @@
--- parsetime.y
--- parsetime.y.orig
+++ parsetime.y
@@ -63,6 +63,7 @@
@@ -63,6 +63,7 @@ now : NOW
time_or_not : time
|
@ -8,7 +8,7 @@
time : hr24clock_hr_min
| hr24clock_hr_min timezone_name
@@ -112,6 +113,7 @@
@@ -112,6 +113,7 @@ date : month_name day_number
inc_or_dec : increment
| decrement
@ -16,7 +16,7 @@
increment : '+' inc_number inc_period
{
@@ -288,6 +290,8 @@
@@ -287,6 +289,8 @@ month_number : INT
free($1);
}
}

View File

@ -1,6 +1,6 @@
--- panic.c
--- panic.c.orig
+++ panic.c
@@ -58,8 +58,11 @@
@@ -58,8 +58,11 @@ panic(char *a)
/* Something fatal has happened, print error message and exit.
*/
fprintf(stderr, "%s: %s\n", namep, a);

View File

@ -1,6 +1,6 @@
--- at.1.in
--- at.1.in.orig
+++ at.1.in
@@ -9,7 +9,7 @@
@@ -9,7 +9,7 @@ at, batch, atq, atrm \- queue, examine o
.IR queue ]
.RB [ -f
.IR file ]
@ -9,7 +9,7 @@
.B TIME
.br
.B "at -c"
@@ -219,8 +219,8 @@
@@ -219,8 +219,8 @@ rather than standard input.
Is an alias for
.B atq.
.TP
@ -20,9 +20,9 @@
.B atrm.
.TP
.TP
--- at.c
--- at.c.orig
+++ at.c
@@ -692,7 +692,7 @@
@@ -692,7 +692,7 @@ main(int argc, char **argv)
char *pgm;
int program = AT; /* our default program */
@ -31,7 +31,7 @@
int disp_version = 0;
time_t timer;
struct passwd *pwe;
@@ -765,6 +765,7 @@
@@ -765,6 +765,7 @@ main(int argc, char **argv)
break;
case 'd':
@ -39,9 +39,9 @@
if (program != AT)
usage();
--- panic.c
--- panic.c.orig
+++ panic.c
@@ -92,6 +92,7 @@
@@ -92,6 +92,7 @@ usage(void)
/* Print usage and exit.
*/
fprintf(stderr, "Usage: at [-V] [-q x] [-f file] [-m] time\n"

33
at-3.1.8-denylist.patch Normal file
View File

@ -0,0 +1,33 @@
--- at.deny.orig
+++ at.deny
@@ -1,24 +1,12 @@
-alias
-backup
+root
bin
daemon
-ftp
-games
-gnats
-guest
-irc
lp
mail
+news
+uucp
+games
man
+wwwrun
+ftp
nobody
-operator
-proxy
-qmaild
-qmaill
-qmailp
-qmailq
-qmailr
-qmails
-sync
-sys
-www-data

View File

@ -1,6 +1,6 @@
--- at.1.in
--- at.1.in.orig
+++ at.1.in
@@ -117,7 +117,7 @@
@@ -117,7 +117,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

View File

@ -1,4 +1,4 @@
--- at.allow.5
--- /dev/null
+++ at.allow.5
@@ -0,0 +1,36 @@
+.Id $Id: at.allow.5,v 1.1 1997/09/28 20:00:28 ig25 Exp $
@ -37,7 +37,7 @@
+.BR cron (8),
+.BR crontab (1),
+.BR atd (8).
--- at.deny.5
--- /dev/null
+++ at.deny.5
@@ -0,0 +1,36 @@
+.Id $Id: at.allow.5,v 1.1 1997/09/28 20:00:28 ig25 Exp $

View File

@ -1,6 +1,6 @@
--- atd.c
--- atd.c.orig
+++ atd.c
@@ -293,7 +293,7 @@
@@ -293,7 +293,7 @@ run_file(const char *filename, uid_t uid
if (buf.st_nlink > 2) {
perr("Someboy is trying to run a linked script for job %8lu (%.500s)",
@ -9,9 +9,9 @@
}
if ((fflags = fcntl(fd_in, F_GETFD)) < 0)
perr("Error in fcntl");
--- daemon.h
--- daemon.h.orig
+++ daemon.h
@@ -5,12 +5,12 @@
@@ -5,12 +5,12 @@ void
#ifdef HAVE_ATTRIBUTE_NORETURN
__attribute__((noreturn))
#endif
@ -26,9 +26,9 @@
+perr (const char *fmt, ...) __attribute__((__format__(printf,1,2)));
extern int daemon_debug;
--- panic.h
--- panic.h.orig
+++ panic.h
@@ -26,7 +26,9 @@
@@ -26,7 +26,9 @@ void
#ifdef HAVE_ATTRIBUTE_NORETURN
__attribute__((noreturn))
#endif

View File

@ -1,6 +1,6 @@
--- at.c
--- at.c.orig
+++ at.c
@@ -132,8 +132,10 @@
@@ -133,8 +133,10 @@ static void sigc(int signo);
static void alarmc(int signo);
static char *cwdname(void);
static void writefile(time_t runtimer, char queue);
@ -12,7 +12,7 @@
/* Signal catching functions */
@@ -525,8 +527,20 @@
@@ -526,8 +528,20 @@ writefile(time_t runtimer, char queue)
return;
}
@ -34,7 +34,7 @@
{
/* List all a user's jobs in the queue, by looping through ATJOB_DIR,
* or everybody's if we are root
@@ -565,6 +579,10 @@
@@ -566,6 +580,10 @@ list_jobs()
if (sscanf(dirent->d_name, "%c%5lx%8lx", &queue, &jobno, &ctm) != 3)
continue;
@ -45,7 +45,7 @@
if (atqueue && (queue != atqueue))
continue;
@@ -742,6 +760,28 @@
@@ -743,6 +761,28 @@ terr:
"out of range or illegal time specification: [[CC]YY]MMDDhhmm[.SS]");
}
@ -74,7 +74,7 @@
/* Global functions */
@@ -768,9 +808,13 @@
@@ -769,9 +809,13 @@ main(int argc, char **argv)
char *options = "q:f:t:MmvldrhVc"; /* default options for at */
int disp_version = 0;
time_t timer;
@ -88,7 +88,7 @@
timer = -1;
RELINQUISH_PRIVS
@@ -900,7 +944,9 @@
@@ -901,7 +945,9 @@ main(int argc, char **argv)
case ATQ:
REDUCE_PRIV(daemon_uid, daemon_gid)
@ -99,9 +99,9 @@
break;
case ATRM:
--- panic.c
--- panic.c.orig
+++ panic.c
@@ -95,6 +95,8 @@
@@ -95,6 +95,8 @@ usage(void)
" at [-V] -c job [job ...]\n"
" at [-V] -r job [job ...]\n"
" at [-V] [-f file] -t [[CC]YY]MMDDhhmm[.SS]\n"

View File

@ -1,6 +1,6 @@
--- at.c.orig 2009-08-27 11:22:49.000000000 +0200
+++ at.c 2009-08-27 12:12:58.000000000 +0200
@@ -600,6 +600,9 @@
--- at.c.orig
+++ at.c
@@ -600,6 +600,9 @@ list_jobs(long *joblist, int len)
else
printf("%ld\t%s %c\n", jobno, timestr, queue);
}
@ -10,7 +10,7 @@
PRIV_END
}
@@ -676,6 +679,11 @@
@@ -676,6 +679,11 @@ process_jobs(int argc, char **argv, int
while ((ch = getc(fp)) != EOF) {
putchar(ch);
}
@ -22,7 +22,7 @@
}
break;
@@ -687,7 +695,13 @@
@@ -687,7 +695,13 @@ process_jobs(int argc, char **argv, int
}
}
}

View File

@ -1,6 +1,6 @@
--- atd.c
--- atd.c.orig
+++ atd.c
@@ -140,9 +140,10 @@
@@ -137,9 +137,10 @@ static char rcsid[] = "$Id: atd.c,v 1.28
static double load_avg = LOADAVG_MX;
static time_t now;
static time_t last_chg;
@ -12,7 +12,7 @@
static volatile sig_atomic_t term_signal = 0;
@@ -155,9 +156,10 @@
@@ -152,9 +153,10 @@ set_term(int dummy)
}
RETSIGTYPE
@ -25,7 +25,7 @@
return;
}
@@ -765,6 +767,7 @@
@@ -790,6 +792,7 @@ run_loop()
return next_job;
last_chg = buf.st_mtime;
@ -33,7 +33,7 @@
if ((spool = opendir(".")) == NULL)
perr("Cannot read " ATJOB_DIR);
@@ -989,7 +992,7 @@
@@ -1014,7 +1017,7 @@ main(int argc, char *argv[])
*/
sigaction(SIGHUP, NULL, &act);
@ -42,7 +42,7 @@
sigaction(SIGHUP, &act, NULL);
sigaction(SIGTERM, NULL, &act);
@@ -1005,9 +1008,10 @@
@@ -1030,9 +1033,10 @@ main(int argc, char *argv[])
do {
now = time(NULL);
next_invocation = run_loop();

View File

@ -1,8 +1,6 @@
Index: at-3.1.8/atd.c
===================================================================
--- at-3.1.8.orig/atd.c 2009-05-14 15:47:05.000000000 +0200
+++ at-3.1.8/atd.c 2009-05-14 15:47:42.000000000 +0200
@@ -587,11 +587,13 @@ run_file(const char *filename, uid_t uid
--- atd.c.orig
+++ atd.c
@@ -612,11 +612,13 @@ run_file(const char *filename, uid_t uid
unlink(filename);
#ifdef WITH_PAM
@ -16,7 +14,7 @@ Index: at-3.1.8/atd.c
#endif
/* The job is now finished. We can delete its input file.
@@ -712,11 +714,13 @@ run_file(const char *filename, uid_t uid
@@ -737,11 +739,13 @@ run_file(const char *filename, uid_t uid
waitpid(mail_pid, (int *) NULL, 0);
}
#ifdef WITH_PAM

View File

@ -1,5 +1,3 @@
Index: Makefile.in
===================================================================
--- Makefile.in.orig
+++ Makefile.in
@@ -28,6 +28,7 @@ YACC = @YACC@
@ -19,8 +17,6 @@ Index: Makefile.in
y.tab.c y.tab.h: parsetime.y
$(YACC) -d parsetime.y
Index: atd.c
===================================================================
--- atd.c.orig
+++ atd.c
@@ -93,6 +93,17 @@ int selinux_enabled=0;
@ -352,8 +348,6 @@ Index: atd.c
opterr = 0;
errno = 0;
run_as_daemon = 1;
Index: config.h.in
===================================================================
--- config.h.in.orig
+++ config.h.in
@@ -187,3 +187,7 @@
@ -364,8 +358,6 @@ Index: config.h.in
+/* Define if you are building with_pam */
+#undef WITH_PAM
+
Index: configure.in
===================================================================
--- configure.in.orig
+++ configure.in
@@ -323,4 +323,11 @@ AC_CHECK_LIB(selinux, is_selinux_enabled
@ -380,8 +372,6 @@ Index: configure.in
+AC_SUBST(PAMLIB)
+
AC_OUTPUT(Makefile atrun atd.8 atrun.8 at.1 batch)
Index: perm.c
===================================================================
--- perm.c.orig
+++ perm.c
@@ -109,14 +109,15 @@ user_in_file(const char *path, const cha

View File

@ -1,6 +1,6 @@
--- Makefile.in
--- Makefile.in.orig
+++ Makefile.in
@@ -67,13 +67,13 @@
@@ -67,13 +67,13 @@ LIST = Filelist Filelist.asc
all: at atd atrun
at: $(ATOBJECTS)
@ -16,7 +16,7 @@
y.tab.c y.tab.h: parsetime.y
$(YACC) -d parsetime.y
@@ -85,7 +85,7 @@
@@ -85,7 +85,7 @@ atrun: atrun.in
configure
.c.o:

View File

@ -1,8 +1,6 @@
Index: atd.c
===================================================================
--- atd.c.orig
+++ atd.c
@@ -457,7 +457,7 @@ run_file(const char *filename, uid_t uid
@@ -482,7 +482,7 @@ run_file(const char *filename, uid_t uid
if (chdir(ATJOB_DIR) < 0)
perr("Cannot chdir to " ATJOB_DIR);

View File

@ -1,6 +1,6 @@
--- Makefile.in
--- Makefile.in.orig
+++ Makefile.in
@@ -27,6 +27,7 @@
@@ -27,6 +27,7 @@ LN_S = @LN_S@
YACC = @YACC@
LEX = @LEX@
LEXLIB = @LEXLIB@
@ -8,7 +8,7 @@
CC = @CC@
CFLAGS = @CFLAGS@
@@ -72,7 +73,7 @@
@@ -72,7 +73,7 @@ at: $(ATOBJECTS)
$(LN_S) -f at atrm
atd: $(RUNOBJECTS)
@ -17,7 +17,7 @@
y.tab.c y.tab.h: parsetime.y
$(YACC) -d parsetime.y
--- atd.c
--- atd.c.orig
+++ atd.c
@@ -85,6 +85,14 @@
#include <syslog.h>
@ -34,7 +34,7 @@
/* Local headers */
#include "privs.h"
@@ -404,6 +412,76 @@
@@ -404,6 +412,76 @@ run_file(const char *filename, uid_t uid
chdir("/");
@ -111,7 +111,7 @@
if (execle("/bin/sh", "sh", (char *) NULL, nenvp) != 0)
perr("Exec failed for /bin/sh");
@@ -420,6 +498,13 @@
@@ -420,6 +498,13 @@ run_file(const char *filename, uid_t uid
*/
waitpid(pid, (int *) NULL, 0);
@ -125,7 +125,7 @@
/* Send mail. Unlink the output file after opening it, so it
* doesn't hang around after the run.
*/
@@ -654,6 +739,9 @@
@@ -654,6 +739,9 @@ main(int argc, char *argv[])
struct passwd *pwe;
struct group *ge;
@ -135,7 +135,7 @@
/* We don't need root privileges all the time; running under uid and gid
* daemon is fine.
*/
--- config.h.in
--- config.h.in.orig
+++ config.h.in
@@ -184,3 +184,6 @@
#undef DEFAULT_BATCH_QUEUE
@ -144,9 +144,9 @@
+
+/* Define if you are building with_selinux */
+#undef WITH_SELINUX
--- configure.in
--- configure.in.orig
+++ configure.in
@@ -315,4 +315,12 @@
@@ -315,4 +315,12 @@ AC_ARG_WITH(daemon_groupname,
)
AC_SUBST(DAEMON_GROUPNAME)

View File

@ -1,6 +1,6 @@
--- at.1.in
--- at.1.in.orig
+++ at.1.in
@@ -9,7 +9,7 @@
@@ -9,7 +9,7 @@ at, batch, atq, atrm \- queue, examine o
.IR queue ]
.RB [ -f
.IR file ]
@ -9,7 +9,7 @@
.B TIME
.br
.B "at -c"
@@ -235,6 +235,9 @@
@@ -235,6 +235,9 @@ is set; then, it will be "Thu Feb 20 14:
.B
\-c
cats the jobs listed on the command line to standard output.
@ -19,7 +19,7 @@
.SH FILES
.I @ATJBD@
.br
--- at.c
--- at.c.orig
+++ at.c
@@ -28,6 +28,7 @@
@ -29,7 +29,7 @@
#ifdef HAVE_SYS_WAIT_H
#include <sys/wait.h>
@@ -133,6 +134,7 @@
@@ -133,6 +134,7 @@ static void alarmc(int signo);
static char *cwdname(void);
static void writefile(time_t runtimer, char queue);
static void list_jobs(void);
@ -37,7 +37,7 @@
/* Signal catching functions */
@@ -670,6 +672,78 @@
@@ -670,6 +672,78 @@ process_jobs(int argc, char **argv, int
}
} /* delete_jobs */
@ -116,7 +116,7 @@
/* Global functions */
void *
@@ -692,12 +766,13 @@
@@ -692,12 +766,13 @@ main(int argc, char **argv)
char *pgm;
int program = AT; /* our default program */
@ -131,7 +131,7 @@
RELINQUISH_PRIVS
if ((pwe = getpwnam(DAEMON_USERNAME)) == NULL)
@@ -781,6 +856,13 @@
@@ -781,6 +856,13 @@ main(int argc, char **argv)
options = "q:V";
break;
@ -145,7 +145,7 @@
case 'b':
if (program != AT)
usage();
@@ -834,10 +916,16 @@
@@ -834,10 +916,16 @@ main(int argc, char **argv)
break;
case AT:
@ -166,9 +166,9 @@
}
if (timer == 0) {
--- panic.c
--- panic.c.orig
+++ panic.c
@@ -92,7 +92,9 @@
@@ -92,7 +92,9 @@ usage(void)
/* Print usage and exit.
*/
fprintf(stderr, "Usage: at [-V] [-q x] [-f file] [-m] time\n"

View File

@ -1,6 +1,6 @@
--- Makefile.in
--- Makefile.in.orig
+++ Makefile.in
@@ -87,37 +87,35 @@
@@ -87,37 +87,35 @@ atrun: atrun.in
$(CC) -c $(CFLAGS) $(DEFS) $*.c
install: all
@ -58,9 +58,9 @@
rm -f $(IROOT)$(mandir)/cat1/at.1* $(IROOT)$(mandir)/cat1/batch.1* \
$(IROOT)$(mandir)/cat1/atq.1*
rm -f $(IROOT)$(mandir)/cat1/atd.8*
--- Problems
--- Problems.orig
+++ Problems
@@ -5,7 +5,7 @@
@@ -5,7 +5,7 @@ Possible reasons why at may not run for
make -f Makefile.old install
@ -69,9 +69,9 @@
- If you find numerous 'try again' error messages in your syslog files,
you have too many processes running; recompile your kernel for a
--- README
--- README.orig
+++ README
@@ -23,7 +23,7 @@
@@ -23,7 +23,7 @@ The new one is to start up an atd daemon
The old one is to put
@ -80,7 +80,7 @@
into root's crontab file (or wherever you put the atrun binary;
don't forget to start up cron.)
--- atd.c
--- atd.c.orig
+++ atd.c
@@ -1,4 +1,4 @@
-/*
@ -97,7 +97,7 @@
* /usr/bin/mail aka /usr/bin/mailx require the subject to be
* specified on the command line instead of reading it from stdin like
* /usr/sbin/sendmail does. For now simply disable MAILC and MAILX,
@@ -121,14 +121,14 @@
@@ -121,14 +121,14 @@ static int run_as_daemon = 0;
static volatile sig_atomic_t term_signal = 0;
/* Signal handlers */
@ -114,7 +114,7 @@
sdummy(int dummy)
{
/* Empty signal handler */
@@ -156,7 +156,7 @@
@@ -156,7 +156,7 @@ release_zombie(int dummy)
}
return;
}
@ -123,7 +123,7 @@
/* Local functions */
@@ -196,7 +196,7 @@
@@ -196,7 +196,7 @@ run_file(const char *filename, uid_t uid
*/
pid_t pid;
int fd_out, fd_in;
@ -132,7 +132,7 @@
char *mailname = NULL;
char *newname;
FILE *stream;
@@ -290,7 +290,12 @@
@@ -290,7 +290,12 @@ run_file(const char *filename, uid_t uid
if ((fflags = fcntl(fd_in, F_GETFD)) < 0)
perr("Error in fcntl");
@ -146,7 +146,7 @@
/*
* If the spool directory is mounted via NFS `atd' isn't able to
@@ -299,7 +304,7 @@
@@ -299,7 +304,7 @@ run_file(const char *filename, uid_t uid
* NFS and works with local file systems. It's not clear where
* the bug is located. -Joey
*/
@ -155,7 +155,7 @@
&nuid, &ngid, mailbuf, &send_mail) != 4)
pabort("File %.500s is in wrong format - aborting",
filename);
@@ -328,7 +333,7 @@
@@ -328,7 +333,7 @@ run_file(const char *filename, uid_t uid
perr("Cannot chdir to " ATSPOOL_DIR);
/* Create a file to hold the output of the job we are about to run.
@ -164,7 +164,7 @@
*/
if (unlink(filename) != -1) {
@@ -343,7 +348,7 @@
@@ -343,7 +348,7 @@ run_file(const char *filename, uid_t uid
write_string(fd_out, "Subject: Output from your job ");
write_string(fd_out, jobbuf);
write_string(fd_out, "\nTo: ");
@ -173,7 +173,7 @@
write_string(fd_out, "\n\n");
fstat(fd_out, &buf);
size = buf.st_size;
@@ -394,6 +399,9 @@
@@ -394,6 +399,9 @@ run_file(const char *filename, uid_t uid
if (setuid(uid) < 0)
perr("Cannot set user id");
@ -183,7 +183,7 @@
chdir("/");
if (execle("/bin/sh", "sh", (char *) NULL, nenvp) != 0)
@@ -408,7 +416,7 @@
@@ -408,7 +416,7 @@ run_file(const char *filename, uid_t uid
/* We inherited the master's SIGCHLD handler, which does a
non-blocking waitpid. So this blocking one will eventually
@ -192,7 +192,7 @@
*/
waitpid(pid, (int *) NULL, 0);
@@ -557,7 +565,8 @@
@@ -557,7 +565,8 @@ run_loop()
/* Something went wrong the last time this was executed.
* Let's remove the lockfile and reschedule.
*/
@ -202,7 +202,7 @@
lock_name[0] = '=';
unlink(lock_name);
next_job = now;
@@ -591,7 +600,8 @@
@@ -591,7 +600,8 @@ run_loop()
*/
run_batch++;
if (strcmp(batch_name, dirent->d_name) > 0) {
@ -212,9 +212,9 @@
batch_uid = buf.st_uid;
batch_gid = buf.st_gid;
batch_queue = queue;
--- configure.in
--- configure.in.orig
+++ configure.in
@@ -126,7 +126,7 @@
@@ -126,7 +126,7 @@ else
fi
AC_MSG_CHECKING(location of spool directory)

View File

@ -1,3 +1,8 @@
-------------------------------------------------------------------
Tue Sep 28 04:53:33 UTC 2010 - cristian.rodriguez@opensuse.org
- /etc/at.deny has wrong account name [bnc#632250]
-------------------------------------------------------------------
Tue Jul 20 20:29:11 UTC 2010 - cristian.rodriguez@opensuse.org

View File

@ -52,6 +52,8 @@ Patch13: %{name}-%{version}-cleanup_perm.patch
Patch14: %{name}-%{version}-pam-session-as-root.patch
# PATCH-FIX-UPSTRAM clean-up opened descriptors (bnc#533454, bnc#523346)
Patch15: %{name}-%{version}-leak-fix.patch
#PATCH_FIX-OPENSUSE add proper system users to the deny list
Patch16: at-3.1.8-denylist.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-build
PreReq: %{_sbindir}/useradd %{_sbindir}/groupadd %fillup_prereq %insserv_prereq
Recommends: smtp_daemon
@ -84,9 +86,9 @@ Authors:
%patch11
%patch12
%patch13
%patch14 -p1
%patch14
%patch15
%patch16
%build
%{?suse_update_config:%{suse_update_config -f}}
rm -fv y.tab.c y.tab.h lex.yy.c lex.yy.o y.tab.o