summaryrefslogtreecommitdiffstats
path: root/eBones/usr.sbin/kadmind/admin_server.c
diff options
context:
space:
mode:
authormarkm <markm@FreeBSD.org>1995-09-07 21:39:00 +0000
committermarkm <markm@FreeBSD.org>1995-09-07 21:39:00 +0000
commit2539acf77b018acd7416a9857a14c466e55cd7e8 (patch)
tree96ff3578d62372822240f11a1567e45b880f3910 /eBones/usr.sbin/kadmind/admin_server.c
parenteed9438eb23b62f78af7685dc226228e2bf5c524 (diff)
downloadFreeBSD-src-2539acf77b018acd7416a9857a14c466e55cd7e8.zip
FreeBSD-src-2539acf77b018acd7416a9857a14c466e55cd7e8.tar.gz
Major cleanup of eBones code:
- Get all functions prototyped or at least defined before use. - Make code compile (Mostly) clean with -Wall set - Start to reduce the degree to which DES aka libdes is built in. - get all functions to the same uniform standard of definition: int foo(a, b) int a; int *b; { : } - fix numerous bugs exposed by above processes. Note - this replaces the previous work which used an unpopular function definition style.
Diffstat (limited to 'eBones/usr.sbin/kadmind/admin_server.c')
-rw-r--r--eBones/usr.sbin/kadmind/admin_server.c31
1 files changed, 24 insertions, 7 deletions
diff --git a/eBones/usr.sbin/kadmind/admin_server.c b/eBones/usr.sbin/kadmind/admin_server.c
index ce36eb6..72980d4 100644
--- a/eBones/usr.sbin/kadmind/admin_server.c
+++ b/eBones/usr.sbin/kadmind/admin_server.c
@@ -7,14 +7,14 @@
* Top-level loop of the kerberos Administration server
*/
-#ifndef lint
#if 0
+#ifndef lint
static char rcsid_admin_server_c[] =
"Id: admin_server.c,v 4.8 90/01/02 13:50:38 jtkohl Exp ";
-#endif
static const char rcsid[] =
"$Id";
#endif lint
+#endif
/*
admin_server.c
@@ -22,6 +22,8 @@ static const char rcsid[] =
*/
#include <stdio.h>
+#include <string.h>
+#include <unistd.h>
#include <sys/types.h>
#include <signal.h>
#ifndef sigmask
@@ -31,6 +33,7 @@ static const char rcsid[] =
#include <errno.h>
#include <sys/socket.h>
#include <syslog.h>
+#include <com_err.h>
#include <kadm.h>
#include <kadm_err.h>
#include <krb_db.h>
@@ -45,10 +48,19 @@ char *acldir = DEFAULT_ACL_DIR;
char krbrlm[REALM_SZ];
extern Kadm_Server server_parm;
+void cleanexit(int val);
+void process_client(int fd, struct sockaddr_in *who);
+void kill_children(void);
+static void clear_secrets(void);
+void byebye(void);
+void close_syslog(void);
+int kadm_listen(void);
+
/*
** Main does the logical thing, it sets up the database and RPC interface,
** as well as handling the creation and maintenance of the syslog file...
*/
+void
main(argc, argv) /* admin_server main routine */
int argc;
char *argv[];
@@ -79,7 +91,7 @@ char *argv[];
break;
case 'd':
/* put code to deal with alt database place */
- if (errval = kerb_db_set_name(optarg)) {
+ if ((errval = kerb_db_set_name(optarg))) {
fprintf(stderr, "opening database %s: %s",
optarg, error_message(errval));
exit(1);
@@ -134,23 +146,25 @@ char *argv[];
/* close the system log file */
+void
close_syslog()
{
log("Shutting down admin server");
}
+void
byebye() /* say goodnight gracie */
{
printf("Admin Server (kadm server) has completed operation.\n");
}
-static clear_secrets()
+static void
+clear_secrets()
{
bzero((char *)server_parm.master_key, sizeof(server_parm.master_key));
bzero((char *)server_parm.master_key_schedule,
sizeof(server_parm.master_key_schedule));
server_parm.master_key_version = 0L;
- return;
}
static exit_now = 0;
@@ -173,6 +187,7 @@ int *pidarray = (int *)0;
kadm_listen
listen on the admin servers port for a request
*/
+int
kadm_listen()
{
extern int errno;
@@ -182,7 +197,6 @@ kadm_listen()
fd_set mask, readfds;
struct sockaddr_in peer;
int addrlen;
- void process_client(), kill_children();
int pid;
sigtype do_child();
@@ -238,7 +252,7 @@ kadm_listen()
#endif /* DEBUG */
#ifndef DEBUG
/* if you want a sep daemon for each server */
- if (pid = fork()) {
+ if ((pid = fork())) {
/* parent */
if (pid < 0) {
log("fork: %s",error_message(errno));
@@ -269,6 +283,7 @@ kadm_listen()
}
}
/*NOTREACHED*/
+ return(0); /* Shut -Wall up - markm */
}
#ifdef DEBUG
@@ -432,7 +447,9 @@ do_child()
}
#ifndef DEBUG
+void
cleanexit(val)
+ int val;
{
kerb_fini();
clear_secrets();
OpenPOWER on IntegriCloud