From a49a3701ac204645bccf00558faa7a267df277b7 Mon Sep 17 00:00:00 2001 From: sibaz Date: Sat, 24 Aug 2002 01:32:19 +0000 Subject: [PATCH] altered the format that setuplog works so one less parameter is needed. This untested, but I'm pretty sure it'll work as intended. Use at -setuplog option at your own risk --- etc/afpd/afp_options.c | 19 +++++++++++++++---- include/atalk/logger.h | 3 ++- libatalk/util/logger.c | 34 ++++++++++++++++++++++++---------- 3 files changed, 41 insertions(+), 15 deletions(-) diff --git a/etc/afpd/afp_options.c b/etc/afpd/afp_options.c index 0bc77f35..3196e8f7 100644 --- a/etc/afpd/afp_options.c +++ b/etc/afpd/afp_options.c @@ -1,5 +1,5 @@ /* - * $Id: afp_options.c,v 1.24 2002-05-03 22:51:34 jmarcus Exp $ + * $Id: afp_options.c,v 1.25 2002-08-24 01:32:19 sibaz Exp $ * * Copyright (c) 1997 Adrian Sun (asun@zoology.washington.edu) * Copyright (c) 1990,1993 Regents of The University of Michigan. @@ -247,12 +247,17 @@ int afp_options_parseline(char *buf, struct afp_options *options) if ((c = getoption(buf, "-server_quantum"))) options->server_quantum = strtoul(c, NULL, 0); +#ifndef DISABLE_LOGGER /* -setuplogtype */ + /* -setuplogtype []*/ if ((c = getoption(buf, "-setuplogtype"))) { char *ptr, *logsource, *logtype, *loglevel, *filename; LOG(log_extradebug, logtype_afpd, "setting up logtype, c is %s", c); + ptr = c; + + /* logsource = ptr = c; if (ptr) { @@ -264,8 +269,9 @@ int afp_options_parseline(char *buf, struct afp_options *options) ptr++; } } + */ - logtype = ptr; + logtype = ptr; if (ptr) { ptr = strpbrk(ptr, " \t"); @@ -301,12 +307,17 @@ int afp_options_parseline(char *buf, struct afp_options *options) } } + /* LOG(log_extradebug, logtype_afpd, "Doing setuplog %s %s %s %s", logsource, logtype, loglevel, filename); + */ + LOG(log_extradebug, logtype_afpd, "Doing setuplog %s %s %s", + logtype, loglevel, filename); - setuplog(logsource, logtype, loglevel, filename); + /* setuplog(logsource, logtype, loglevel, filename); */ + setuplog(logtype, loglevel, filename); } - +#endif /* DISABLE_LOGGER */ #ifdef ADMIN_GRP if ((c = getoption(buf, "-admingroup"))) { struct group *gr = getgrnam(c); diff --git a/include/atalk/logger.h b/include/atalk/logger.h index 55cd06a6..61f5125b 100644 --- a/include/atalk/logger.h +++ b/include/atalk/logger.h @@ -81,7 +81,8 @@ bool log_setup(char *filename, enum loglevels loglevel, enum logtypes logtype, void syslog_setup(enum loglevels loglevel, enum logtypes logtype, int display_options, int facility); -void setuplog(char *logsource, char *logtype, char *loglevel, char *filename); +/* void setuplog(char *logsource, char *logtype, char *loglevel, char *filename); */ +void setuplog(char *logtype, char *loglevel, char *filename); /* finish up and close the logs */ void log_close(); diff --git a/libatalk/util/logger.c b/libatalk/util/logger.c index 5c54d67f..1bf8b7de 100644 --- a/libatalk/util/logger.c +++ b/libatalk/util/logger.c @@ -871,21 +871,27 @@ int get_syslog_equivalent(enum loglevels loglevel) } } -void setuplog(char *logsource, char *logtype, char *loglevel, char *filename) +/* void setuplog(char *logsource, char *logtype, char *loglevel, char *filename) */ +void setuplog(char *logtype, char *loglevel, char *filename) { #ifndef DISABLE_LOGGER /* -setuplogtype */ + /* -setuplogtype []*/ /* This should be rewritten so that somehow logsource is assumed and everything can be taken from default if needs be. */ - const char* sources[] = {"syslog", "filelog"}; + /* const char* sources[] = {"syslog", "filelog"}; */ const char *null = ""; int sourcenum, typenum, levelnum; log_file_data_pair *logs = log_file_arr[logtype_default]; + /* LOG(log_extradebug, logtype_logger, "Attempting setuplog: %s %s %s %s", logsource, logtype, loglevel, filename); + */ + LOG(log_extradebug, logtype_logger, "Attempting setuplog: %s %s %s", + logtype, loglevel, filename); /* Do I need these? @@ -900,6 +906,9 @@ void setuplog(char *logsource, char *logtype, char *loglevel, char *filename) filename=null; */ + /* + * We'll just use filename, if its NULL we know its a syslog thing + * if (logsource==NULL) { LOG(log_note, logtype_logger, "no logsource given"); @@ -921,6 +930,7 @@ void setuplog(char *logsource, char *logtype, char *loglevel, char *filename) "when specifying a filelog, you must specify a valid filename"); } } + */ if (logtype==NULL) { @@ -941,7 +951,7 @@ void setuplog(char *logsource, char *logtype, char *loglevel, char *filename) if (loglevel==NULL) { - LOG(log_note, logtype_logger, "no logsource given"); + LOG(log_note, logtype_logger, "no loglevel given"); } else { @@ -956,20 +966,24 @@ void setuplog(char *logsource, char *logtype, char *loglevel, char *filename) } } - /* check validity */ - if ((sourcenum>=NUMOF(sources)) || (typenum>=num_logtype_strings) || - (levelnum>=num_loglevel_strings)) + /* sanity check */ + if ((typenum>=num_logtype_strings) || (levelnum>=num_loglevel_strings)) + { + LOG(log_warning, logtype_logger, "sanity check failed: (%s:%d), (%s:%d)", + logtype, typenum, loglevel, levelnum); return; + } - switch(sourcenum) + /* is this a syslog setup or a filelog setup */ + if (filename==NULL) /* must be syslog */ { - case 0: /* syslog */ LOG(log_note, logtype_logger, "Doing syslog_setup(%d, %d, ...)", levelnum, typenum); syslog_setup(levelnum, typenum, (*logs)[0].display_options, global_log_data.facility); - break; - default: /* filelog */ + } + else /* this must be a filelog */ + { LOG(log_note, logtype_logger, "Doing log_setup(%s, %d, %d, ...)", filename, levelnum, typenum); log_setup(filename, levelnum, typenum, (*logs)[0].display_options); -- 2.39.2