This changes cron from including all headers in every file to only
including what each .c file needs. I have not removed cron.h since
it will be used in a future clean up of the internal .h files.
- todd
Index: usr.sbin/cron/atrun.c
===================================================================
RCS file: /cvs/src/usr.sbin/cron/atrun.c,v
retrieving revision 1.33
diff -u -p -u -r1.33 atrun.c
--- usr.sbin/cron/atrun.c 25 Oct 2015 21:30:11 -0000 1.33
+++ usr.sbin/cron/atrun.c 4 Nov 2015 15:48:07 -0000
@@ -20,9 +20,33 @@
* Materiel Command, USAF, under agreement number F39502-99-1-0512.
*/
-#include "cron.h"
-#include <limits.h>
+#include <sys/types.h>
#include <sys/resource.h>
+#include <sys/stat.h>
+#include <sys/wait.h>
+
+#include <bitstring.h> /* for structs.h */
+#include <bsd_auth.h>
+#include <ctype.h>
+#include <dirent.h>
+#include <errno.h>
+#include <fcntl.h>
+#include <limits.h>
+#include <login_cap.h>
+#include <pwd.h>
+#include <signal.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <time.h>
+#include <unistd.h>
+
+#include "config.h"
+#include "pathnames.h"
+#include "macros.h"
+#include "structs.h"
+#include "funcs.h"
+#include "globals.h"
static void unlink_job(at_db *, atjob *);
static void run_job(atjob *, char *);
Index: usr.sbin/cron/client.c
===================================================================
RCS file: /cvs/src/usr.sbin/cron/client.c,v
retrieving revision 1.2
diff -u -p -u -r1.2 client.c
--- usr.sbin/cron/client.c 3 Nov 2015 04:16:36 -0000 1.2
+++ usr.sbin/cron/client.c 4 Nov 2015 15:48:07 -0000
@@ -17,7 +17,23 @@
* OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-#include "cron.h"
+#include <sys/types.h>
+#include <sys/socket.h>
+#include <sys/un.h>
+
+#include <bitstring.h> /* for structs.h */
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <time.h> /* for structs.h */
+#include <unistd.h>
+#include <utime.h>
+
+#include "pathnames.h"
+#include "macros.h"
+#include "structs.h"
+#include "funcs.h"
+#include "globals.h"
/* int in_file(const char *string, FILE *file, int error)
* return TRUE if one of the lines in file matches string exactly,
Index: usr.sbin/cron/common.c
===================================================================
RCS file: /cvs/src/usr.sbin/cron/common.c,v
retrieving revision 1.1
diff -u -p -u -r1.1 common.c
--- usr.sbin/cron/common.c 31 Oct 2015 12:19:41 -0000 1.1
+++ usr.sbin/cron/common.c 4 Nov 2015 15:48:07 -0000
@@ -17,7 +17,25 @@
* OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-#include "cron.h"
+#include <sys/types.h>
+#include <sys/stat.h>
+
+#include <bitstring.h> /* for structs.h */
+#include <errno.h>
+#include <grp.h>
+#include <limits.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <time.h>
+#include <unistd.h>
+
+#include "config.h"
+#include "pathnames.h"
+#include "macros.h"
+#include "structs.h"
+#include "funcs.h"
+#include "globals.h"
void
set_cron_cwd(void)
Index: usr.sbin/cron/cron.c
===================================================================
RCS file: /cvs/src/usr.sbin/cron/cron.c,v
retrieving revision 1.61
diff -u -p -u -r1.61 cron.c
--- usr.sbin/cron/cron.c 4 Nov 2015 12:53:05 -0000 1.61
+++ usr.sbin/cron/cron.c 4 Nov 2015 15:48:07 -0000
@@ -19,7 +19,29 @@
#define MAIN_PROGRAM
-#include "cron.h"
+#include <sys/types.h>
+#include <sys/socket.h>
+#include <sys/stat.h>
+#include <sys/un.h>
+#include <sys/wait.h>
+
+#include <bitstring.h>
+#include <errno.h>
+#include <locale.h>
+#include <poll.h>
+#include <signal.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <time.h>
+#include <unistd.h>
+
+#include "config.h"
+#include "pathnames.h"
+#include "macros.h"
+#include "structs.h"
+#include "funcs.h"
+#include "globals.h"
enum timejump { negative, small, medium, large };
Index: usr.sbin/cron/cron.h
===================================================================
RCS file: /cvs/src/usr.sbin/cron/cron.h,v
retrieving revision 1.11
diff -u -p -u -r1.11 cron.h
--- usr.sbin/cron/cron.h 6 Oct 2015 14:58:37 -0000 1.11
+++ usr.sbin/cron/cron.h 4 Nov 2015 15:48:07 -0000
@@ -17,9 +17,7 @@
* OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-#define CRON_VERSION "V5.0"
#include "config.h"
-#include "externs.h"
#include "pathnames.h"
#include "macros.h"
#include "structs.h"
Index: usr.sbin/cron/crontab.c
===================================================================
RCS file: /cvs/src/usr.sbin/cron/crontab.c,v
retrieving revision 1.81
diff -u -p -u -r1.81 crontab.c
--- usr.sbin/cron/crontab.c 3 Nov 2015 21:10:08 -0000 1.81
+++ usr.sbin/cron/crontab.c 4 Nov 2015 15:48:07 -0000
@@ -17,18 +17,34 @@
* OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-#include <err.h>
-
#define MAIN_PROGRAM
-#include "cron.h"
+#include <sys/types.h>
+#include <sys/stat.h>
+#include <sys/wait.h>
+
+#include <bitstring.h> /* for structs.h */
+#include <err.h>
+#include <errno.h>
+#include <locale.h>
+#include <pwd.h>
+#include <signal.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <time.h>
+#include <unistd.h>
+
+#include "pathnames.h"
+#include "macros.h"
+#include "structs.h"
+#include "funcs.h"
+#include "globals.h"
#define NHEADER_LINES 3
enum opt_t { opt_unknown, opt_list, opt_delete, opt_edit, opt_replace };
-static char *getoptargs = "u:ler";
-
static pid_t Pid;
static gid_t crontab_gid;
static gid_t user_gid;
@@ -133,7 +149,7 @@ parse_args(int argc, char *argv[])
strlcpy(RealUser, User, sizeof(RealUser));
Filename[0] = '\0';
Option = opt_unknown;
- while (-1 != (argch = getopt(argc, argv, getoptargs))) {
+ while ((argch = getopt(argc, argv, "u:ler")) != -1) {
switch (argch) {
case 'u':
if (getuid() != 0) {
Index: usr.sbin/cron/database.c
===================================================================
RCS file: /cvs/src/usr.sbin/cron/database.c,v
retrieving revision 1.27
diff -u -p -u -r1.27 database.c
--- usr.sbin/cron/database.c 26 Oct 2015 14:27:41 -0000 1.27
+++ usr.sbin/cron/database.c 4 Nov 2015 15:48:07 -0000
@@ -17,7 +17,24 @@
* OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-#include "cron.h"
+#include <sys/types.h>
+#include <sys/stat.h>
+
+#include <bitstring.h> /* for structs.h */
+#include <dirent.h>
+#include <fcntl.h>
+#include <limits.h>
+#include <pwd.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <time.h> /* for structs.h */
+#include <unistd.h>
+
+#include "pathnames.h"
+#include "macros.h"
+#include "structs.h"
+#include "funcs.h"
#define HASH(a,b) ((a)+(b))
Index: usr.sbin/cron/do_command.c
===================================================================
RCS file: /cvs/src/usr.sbin/cron/do_command.c,v
retrieving revision 1.51
diff -u -p -u -r1.51 do_command.c
--- usr.sbin/cron/do_command.c 29 Oct 2015 22:41:27 -0000 1.51
+++ usr.sbin/cron/do_command.c 4 Nov 2015 15:48:07 -0000
@@ -17,8 +17,30 @@
* OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-#include "cron.h"
+#include <sys/types.h>
+#include <sys/wait.h>
+
+#include <bitstring.h> /* for structs.h */
+#include <bsd_auth.h>
+#include <ctype.h>
+#include <errno.h>
+#include <fcntl.h>
+#include <limits.h>
+#include <login_cap.h>
+#include <pwd.h>
+#include <signal.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <time.h> /* for structs.h */
+#include <unistd.h>
#include <vis.h>
+
+#include "config.h"
+#include "pathnames.h"
+#include "macros.h"
+#include "structs.h"
+#include "funcs.h"
static void child_process(entry *, user *);
Index: usr.sbin/cron/entry.c
===================================================================
RCS file: /cvs/src/usr.sbin/cron/entry.c,v
retrieving revision 1.44
diff -u -p -u -r1.44 entry.c
--- usr.sbin/cron/entry.c 4 Nov 2015 12:53:05 -0000 1.44
+++ usr.sbin/cron/entry.c 4 Nov 2015 15:48:07 -0000
@@ -18,7 +18,21 @@
* OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-#include "cron.h"
+#include <sys/types.h>
+
+#include <bitstring.h> /* for structs.h */
+#include <ctype.h>
+#include <pwd.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <time.h> /* for structs.h */
+#include <unistd.h>
+
+#include "pathnames.h"
+#include "macros.h"
+#include "structs.h"
+#include "funcs.h"
typedef enum ecode {
e_none, e_minute, e_hour, e_dom, e_month, e_dow,
Index: usr.sbin/cron/env.c
===================================================================
RCS file: /cvs/src/usr.sbin/cron/env.c,v
retrieving revision 1.31
diff -u -p -u -r1.31 env.c
--- usr.sbin/cron/env.c 29 Oct 2015 21:24:09 -0000 1.31
+++ usr.sbin/cron/env.c 4 Nov 2015 15:48:07 -0000
@@ -17,7 +17,20 @@
* OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-#include "cron.h"
+#include <sys/types.h>
+
+#include <bitstring.h> /* for structs.h */
+#include <ctype.h>
+#include <errno.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <time.h> /* for structs.h */
+
+#include "macros.h"
+#include "structs.h"
+#include "funcs.h"
+#include "globals.h"
char **
env_init(void)
Index: usr.sbin/cron/externs.h
===================================================================
RCS file: usr.sbin/cron/externs.h
diff -N usr.sbin/cron/externs.h
--- usr.sbin/cron/externs.h 4 Nov 2015 12:53:05 -0000 1.18
+++ /dev/null 1 Jan 1970 00:00:00 -0000
@@ -1,50 +0,0 @@
-/* $OpenBSD: externs.h,v 1.18 2015/11/04 12:53:05 millert Exp $ */
-
-/* Copyright 1993,1994 by Paul Vixie
- * Copyright (c) 2004 by Internet Systems Consortium, Inc. ("ISC")
- * Copyright (c) 1997,2000 by Internet Software Consortium, Inc.
- *
- * Permission to use, copy, modify, and distribute this software for any
- * purpose with or without fee is hereby granted, provided that the above
- * copyright notice and this permission notice appear in all copies.
- *
- * THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES
- * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
- * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR
- * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
- * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
- * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT
- * OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- */
-
-/* reorder these #include's at your peril */
-
-#include <sys/types.h>
-#include <sys/time.h>
-#include <sys/wait.h>
-#include <sys/file.h>
-#include <sys/stat.h>
-#include <sys/socket.h>
-#include <sys/un.h>
-
-#include <bitstring.h>
-#include <ctype.h>
-#include <dirent.h>
-#include <errno.h>
-#include <fcntl.h>
-#include <grp.h>
-#include <limits.h>
-#include <locale.h>
-#include <pwd.h>
-#include <signal.h>
-#include <stdarg.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#include <time.h>
-#include <poll.h>
-#include <unistd.h>
-#include <utime.h>
-#include <syslog.h>
-#include <login_cap.h>
-#include <bsd_auth.h>
Index: usr.sbin/cron/job.c
===================================================================
RCS file: /cvs/src/usr.sbin/cron/job.c,v
retrieving revision 1.11
diff -u -p -u -r1.11 job.c
--- usr.sbin/cron/job.c 9 Feb 2015 22:35:08 -0000 1.11
+++ usr.sbin/cron/job.c 4 Nov 2015 15:48:07 -0000
@@ -17,7 +17,16 @@
* OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-#include "cron.h"
+#include <sys/types.h>
+
+#include <bitstring.h> /* for structs.h */
+#include <stdio.h>
+#include <stdlib.h>
+#include <time.h> /* for structs.h */
+
+#include "macros.h"
+#include "structs.h"
+#include "funcs.h"
typedef struct _job {
struct _job *next;
Index: usr.sbin/cron/macros.h
===================================================================
RCS file: /cvs/src/usr.sbin/cron/macros.h,v
retrieving revision 1.13
diff -u -p -u -r1.13 macros.h
--- usr.sbin/cron/macros.h 26 Oct 2015 14:27:41 -0000 1.13
+++ usr.sbin/cron/macros.h 4 Nov 2015 15:48:07 -0000
@@ -17,6 +17,8 @@
* OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
+#define CRON_VERSION "V5.0"
+
#define TRUE 1
#define FALSE 0
Index: usr.sbin/cron/misc.c
===================================================================
RCS file: /cvs/src/usr.sbin/cron/misc.c,v
retrieving revision 1.67
diff -u -p -u -r1.67 misc.c
--- usr.sbin/cron/misc.c 4 Nov 2015 14:47:02 -0000 1.67
+++ usr.sbin/cron/misc.c 4 Nov 2015 15:48:07 -0000
@@ -17,7 +17,20 @@
* OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-#include "cron.h"
+#include <sys/types.h>
+#include <sys/wait.h>
+
+#include <bitstring.h> /* for structs.h */
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <syslog.h>
+#include <time.h> /* for structs.h */
+
+#include "macros.h"
+#include "structs.h"
+#include "funcs.h"
+#include "globals.h"
static int syslog_open = FALSE;
@@ -122,8 +135,6 @@ log_it(const char *username, pid_t xpid,
break;
syslog(*info ? LOG_INFO : LOG_WARNING, "(%s) %s (%s)", username, event,
detail);
-
-
}
void
Index: usr.sbin/cron/popen.c
===================================================================
RCS file: /cvs/src/usr.sbin/cron/popen.c,v
retrieving revision 1.28
diff -u -p -u -r1.28 popen.c
--- usr.sbin/cron/popen.c 4 Oct 2015 09:08:46 -0000 1.28
+++ usr.sbin/cron/popen.c 4 Nov 2015 15:48:07 -0000
@@ -37,7 +37,23 @@
* globbing stuff since we don't need it. also execvp instead of execv.
*/
-#include "cron.h"
+#include <sys/types.h>
+#include <sys/wait.h>
+
+#include <bitstring.h> /* for structs.h */
+#include <errno.h>
+#include <login_cap.h>
+#include <pwd.h>
+#include <signal.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <unistd.h>
+#include <time.h> /* for structs.h */
+
+#include "macros.h"
+#include "structs.h"
+#include "funcs.h"
#define MAX_ARGV 100
#define MAX_GARGV 1000
Index: usr.sbin/cron/structs.h
===================================================================
RCS file: /cvs/src/usr.sbin/cron/structs.h,v
retrieving revision 1.5
diff -u -p -u -r1.5 structs.h
--- usr.sbin/cron/structs.h 17 Jun 2004 22:11:55 -0000 1.5
+++ usr.sbin/cron/structs.h 4 Nov 2015 15:48:07 -0000
@@ -17,6 +17,8 @@
* OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
+struct passwd;
+
typedef struct _entry {
struct _entry *next;
struct passwd *pwd;
Index: usr.sbin/cron/user.c
===================================================================
RCS file: /cvs/src/usr.sbin/cron/user.c,v
retrieving revision 1.15
diff -u -p -u -r1.15 user.c
--- usr.sbin/cron/user.c 6 Oct 2015 14:58:37 -0000 1.15
+++ usr.sbin/cron/user.c 4 Nov 2015 15:48:07 -0000
@@ -17,7 +17,19 @@
* OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-#include "cron.h"
+#include <sys/types.h>
+
+#include <bitstring.h> /* for structs.h */
+#include <ctype.h>
+#include <errno.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <time.h> /* for structs.h */
+
+#include "macros.h"
+#include "structs.h"
+#include "funcs.h"
void
free_user(user *u)
Index: usr.bin/at/at.c
===================================================================
RCS file: /cvs/src/usr.bin/at/at.c,v
retrieving revision 1.67
diff -u -p -u -r1.67 at.c
--- usr.bin/at/at.c 3 Nov 2015 16:28:43 -0000 1.67
+++ usr.bin/at/at.c 4 Nov 2015 15:48:07 -0000
@@ -33,9 +33,31 @@
#define MAIN_PROGRAM
-#include "cron.h"
-#include "at.h"
+#include <sys/types.h>
+#include <sys/stat.h>
+
+#include <bitstring.h> /* for structs.h */
+#include <ctype.h>
+#include <dirent.h>
+#include <errno.h>
+#include <fcntl.h>
#include <limits.h>
+#include <locale.h>
+#include <pwd.h>
+#include <signal.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <time.h>
+#include <unistd.h>
+
+#include "pathnames.h"
+#include "macros.h"
+#include "structs.h"
+#include "funcs.h"
+#include "globals.h"
+
+#include "at.h"
#define ALARMC 10 /* Number of seconds to wait for timeout */
#define TIMESIZE 50 /* Size of buffer passed to strftime() */