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.
106 lines
2.8 KiB
106 lines
2.8 KiB
diff -ru3 dcron-2.3.3.orig/database.c dcron-2.3.3/database.c |
|
--- dcron-2.3.3.orig/database.c Mon May 2 17:28:08 1994 |
|
+++ dcron-2.3.3/database.c Wed Jun 13 09:49:57 2001 |
|
@@ -179,7 +179,7 @@ |
|
if (--maxEntries == 0) |
|
break; |
|
|
|
- bzero(&line, sizeof(line)); |
|
+ memset(&line, 0, sizeof(line)); |
|
|
|
if (DebugOpt) |
|
log9("User %s Entry %s\n", fileName, buf); |
|
diff -ru3 dcron-2.3.3.orig/defs.h dcron-2.3.3/defs.h |
|
--- dcron-2.3.3.orig/defs.h Fri Sep 5 21:44:32 1997 |
|
+++ dcron-2.3.3/defs.h Wed Jun 13 09:51:08 2001 |
|
@@ -21,12 +21,16 @@ |
|
#include <sys/wait.h> |
|
#include <sys/stat.h> |
|
#include <sys/resource.h> |
|
+#include <sys/termios.h> |
|
|
|
#define Prototype extern |
|
#define arysize(ary) (sizeof(ary)/sizeof((ary)[0])) |
|
|
|
#ifndef CRONTABS |
|
#define CRONTABS "/var/spool/cron/crontabs" |
|
+#endif |
|
+#ifndef PIDFILE |
|
+#define PIDFILE "/var/run/dcron.pid" |
|
#endif |
|
#ifndef TMPDIR |
|
#define TMPDIR "/tmp" |
|
diff -ru3 dcron-2.3.3.orig/main.c dcron-2.3.3/main.c |
|
--- dcron-2.3.3.orig/main.c Mon May 2 17:28:24 1994 |
|
+++ dcron-2.3.3/main.c Wed Jun 13 09:53:09 2001 |
|
@@ -122,8 +122,14 @@ |
|
perror("fork"); |
|
exit(1); |
|
} |
|
- if (pid > 0) |
|
+ if (pid > 0) { |
|
+ FILE *fp; |
|
+ if ((fp = fopen(PIDFILE, "w")) != NULL) { |
|
+ fprintf(fp, "%d\n", pid); |
|
+ fclose(fp); |
|
+ } |
|
exit(0); |
|
+ } |
|
} |
|
|
|
/* |
|
diff -ru3 dcron-2.3.3.orig/subs.c dcron-2.3.3/subs.c |
|
--- dcron-2.3.3.orig/subs.c Mon Feb 16 20:35:10 1998 |
|
+++ dcron-2.3.3/subs.c Wed Jun 13 09:49:57 2001 |
|
@@ -15,7 +15,6 @@ |
|
Prototype int ChangeUser(const char *user, short dochdir); |
|
Prototype void vlog(int level, int fd, const char *ctl, va_list va); |
|
Prototype int slog(char *buf, size_t sz, const char *ctl, va_list va, short useDate); |
|
-Prototype char *strdup(const char *); |
|
|
|
void |
|
log9(const char *ctl, ...) |
|
@@ -80,7 +79,7 @@ |
|
|
|
buf[0] = 0; |
|
if (useDate) |
|
- strftime(buf, 128, "%d-%b-%y %H:%M ", tp); |
|
+ strftime(buf, 128, "%d-%b-%Y %H:%M ", tp); |
|
vsnprintf(buf + strlen(buf), sz - strlen(buf), ctl, va); |
|
return(strlen(buf)); |
|
} |
|
@@ -98,9 +97,15 @@ |
|
log(9, "failed to get uid for %s", user); |
|
return(-1); |
|
} |
|
- setenv("USER", pas->pw_name, 1); |
|
- setenv("HOME", pas->pw_dir, 1); |
|
- setenv("SHELL", "/bin/sh", 1); |
|
+ { |
|
+ char buf[256]; |
|
+ snprintf(buf, sizeof(buf), "USER=%s", pas->pw_name); |
|
+ putenv(buf); |
|
+ snprintf(buf, sizeof(buf), "HOME=%s", pas->pw_dir); |
|
+ putenv(buf); |
|
+ snprintf(buf, sizeof(buf), "SHELL=%s", "/bin/sh"); |
|
+ putenv(buf); |
|
+ } |
|
|
|
/* |
|
* Change running state to the user in question |
|
@@ -129,15 +134,5 @@ |
|
} |
|
} |
|
return(pas->pw_uid); |
|
-} |
|
- |
|
-char * |
|
-strdup(const char *str) |
|
-{ |
|
- char *ptr = malloc(strlen(str) + 1); |
|
- |
|
- if (ptr) |
|
- strcpy(ptr, str); |
|
- return(ptr); |
|
} |
|
|
|
|