You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
62 lines
1.7 KiB
62 lines
1.7 KiB
diff -up at-3.1.13/atd.c.hostname at-3.1.13/atd.c |
|
--- at-3.1.13/atd.c.hostname 2012-01-12 18:19:36.000000000 +0100 |
|
+++ at-3.1.13/atd.c 2012-01-12 18:52:34.000000000 +0100 |
|
@@ -99,6 +99,10 @@ int selinux_enabled=0; |
|
#define BATCH_INTERVAL_DEFAULT 60 |
|
#define CHECK_INTERVAL 3600 |
|
|
|
+#ifndef MAXHOSTNAMELEN |
|
+#define MAXHOSTNAMELEN 64 |
|
+#endif |
|
+ |
|
/* Global variables */ |
|
|
|
uid_t real_uid, effective_uid; |
|
@@ -116,6 +120,7 @@ static time_t last_chg; |
|
static int nothing_to_do; |
|
unsigned int batch_interval; |
|
static int run_as_daemon = 0; |
|
+static int mail_with_hostname = 0; |
|
|
|
static volatile sig_atomic_t term_signal = 0; |
|
|
|
@@ -297,6 +302,7 @@ run_file(const char *filename, uid_t uid |
|
char fmt[64]; |
|
unsigned long jobno; |
|
int rc; |
|
+ char hostbuf[MAXHOSTNAMELEN]; |
|
#ifdef WITH_PAM |
|
int retcode; |
|
#endif |
|
@@ -451,6 +457,11 @@ run_file(const char *filename, uid_t uid |
|
|
|
write_string(fd_out, "Subject: Output from your job "); |
|
write_string(fd_out, jobbuf); |
|
+ if (mail_with_hostname > 0) { |
|
+ gethostname(hostbuf, MAXHOSTNAMELEN-1); |
|
+ write_string(fd_out, " "); |
|
+ write_string(fd_out, hostbuf); |
|
+ } |
|
write_string(fd_out, "\nTo: "); |
|
write_string(fd_out, mailname); |
|
write_string(fd_out, "\n\n"); |
|
@@ -910,7 +921,7 @@ main(int argc, char *argv[]) |
|
run_as_daemon = 1; |
|
batch_interval = BATCH_INTERVAL_DEFAULT; |
|
|
|
- while ((c = getopt(argc, argv, "sdl:b:f")) != EOF) { |
|
+ while ((c = getopt(argc, argv, "sdnl:b:f")) != EOF) { |
|
switch (c) { |
|
case 'l': |
|
if (sscanf(optarg, "%lf", &load_avg) != 1) |
|
@@ -932,6 +943,10 @@ main(int argc, char *argv[]) |
|
daemon_foreground++; |
|
break; |
|
|
|
+ case 'n': |
|
+ mail_with_hostname=1; |
|
+ break; |
|
+ |
|
case 's': |
|
run_as_daemon = 0; |
|
break;
|
|
|