/*
- * $Id: main.c,v 1.17 2002-02-16 11:05:16 srittau Exp $
+ * $Id: main.c,v 1.20 2002-10-04 15:15:05 srittau Exp $
*
* Copyright (c) 1990,1993 Regents of The University of Michigan.
* All Rights Reserved. See COPYRIGHT.
static char **argv = NULL;
#endif /* TRU64 */
-#ifdef DID_MTAB
-#include "parse_mtab.h"
-#endif /* DID_MTAB */
-
unsigned char nologin = 0;
-#ifdef DID_MTAB
-/* global mount table; afpd_st_cnid uses this to lookup the right entry. */
-static struct afpd_mount_table *afpd_mount_table = NULL;
-#endif /* DID_MTAB */
-
struct afp_options default_options;
static AFPConfig *configs;
static server_child *server_children;
dsi_kill(sig);
switch( sig ) {
case SIGTERM :
- LOG(log_info, logtype_default, "shutting down on signal %d", sig );
+ LOG(log_info, logtype_afpd, "shutting down on signal %d", sig );
break;
case SIGHUP :
/* w/ a configuration file, we can force a re-read if we want */
if ((nologin + 1) & 1) {
AFPConfig *config;
- LOG(log_info, logtype_default, "re-reading configuration file");
+ LOG(log_info, logtype_afpd, "re-reading configuration file");
for (config = configs; config; config = config->next)
if (config->server_cleanup)
config->server_cleanup(config);
configfree(configs, NULL);
if (!(configs = configinit(&default_options))) {
- LOG(log_error, logtype_default, "config re-read: no servers configured");
+ LOG(log_error, logtype_afpd, "config re-read: no servers configured");
afp_exit(1);
}
FD_ZERO(&save_rfds);
FD_SET(config->fd, &save_rfds);
}
} else {
- LOG(log_info, logtype_default, "disallowing logins");
+ LOG(log_info, logtype_afpd, "disallowing logins");
auth_unload();
}
break;
default :
- LOG(log_error, logtype_default, "afp_goaway: bad signal" );
+ LOG(log_error, logtype_afpd, "afp_goaway: bad signal" );
}
if ( sig == SIGTERM ) {
AFPConfig *config;
if (!afp_options_parse(ac, av, &default_options))
exit(1);
- umask( default_options.umask );
+ /* Save the user's current umask for use with CNID (and maybe some
+ * other things, too). */
+ default_options.save_mask = umask( default_options.umask );
switch(server_lock("afpd", default_options.pidfile,
default_options.flags & OPTION_DEBUG)) {
exit(0);
}
-#ifdef DID_MTAB
- /* if we are going to use afpd.mtab, load the file */
- afpd_mount_table = afpd_mtab_parse ( AFPD_MTAB_FILE );
-#endif /* DID_MTAB */
-
/* install child handler for asp and dsi. we do this before afp_goaway
* as afp_goaway references stuff from here.
* XXX: this should really be setup after the initial connections. */
if (!(server_children = server_child_alloc(default_options.connections,
CHILD_NFORKS))) {
- LOG(log_error, logtype_default, "main: server_child alloc: %s", strerror(errno) );
+ LOG(log_error, logtype_afpd, "main: server_child alloc: %s", strerror(errno) );
afp_exit(1);
}
sigemptyset( &sv.sa_mask );
sv.sa_flags = SA_RESTART;
if ( sigaction( SIGCHLD, &sv, 0 ) < 0 ) {
- LOG(log_error, logtype_default, "main: sigaction: %s", strerror(errno) );
+ LOG(log_error, logtype_afpd, "main: sigaction: %s", strerror(errno) );
afp_exit(1);
}
sigaddset(&sv.sa_mask, SIGTERM);
sv.sa_flags = SA_RESTART;
if ( sigaction( SIGHUP, &sv, 0 ) < 0 ) {
- LOG(log_error, logtype_default, "main: sigaction: %s", strerror(errno) );
+ LOG(log_error, logtype_afpd, "main: sigaction: %s", strerror(errno) );
afp_exit(1);
}
if ( sigaction( SIGTERM, &sv, 0 ) < 0 ) {
- LOG(log_error, logtype_default, "main: sigaction: %s", strerror(errno) );
+ LOG(log_error, logtype_afpd, "main: sigaction: %s", strerror(errno) );
afp_exit(1);
}
sigaddset(&sigs, SIGTERM);
sigprocmask(SIG_BLOCK, &sigs, NULL);
if (!(configs = configinit(&default_options))) {
- LOG(log_error, logtype_default, "main: no servers configured: %s\n", strerror(errno));
+ LOG(log_error, logtype_afpd, "main: no servers configured: %s\n", strerror(errno));
afp_exit(1);
}
sigprocmask(SIG_UNBLOCK, &sigs, NULL);
if (select(FD_SETSIZE, &rfds, NULL, NULL, NULL) < 0) {
if (errno == EINTR)
continue;
- LOG(log_error, logtype_default, "main: can't wait for input: %s", strerror(errno));
+ LOG(log_error, logtype_afpd, "main: can't wait for input: %s", strerror(errno));
break;
}