From 374c3e1278e1e5e14e218c3149e5d633f7e044b6 Mon Sep 17 00:00:00 2001 From: Wayne Davison Date: Sat, 8 Apr 2006 16:03:16 +0000 Subject: [PATCH] Moved the calls to client_addr() and client_name() below the lp_load() call so that their potential to output log messages can't cause the log-file to initialize before we know what "log name" to use. --- clientserver.c | 17 ++++++++--------- 1 file changed, 8 insertions(+), 9 deletions(-) diff --git a/clientserver.c b/clientserver.c index 3e71cd90..a922a8f5 100644 --- a/clientserver.c +++ b/clientserver.c @@ -44,7 +44,6 @@ extern int protocol_version; extern int io_timeout; extern int no_detach; extern int default_af_hint; -extern int log_initialised; extern mode_t orig_umask; extern char *bind_address; extern char *sockopts; @@ -729,21 +728,21 @@ static void send_listing(int fd) int start_daemon(int f_in, int f_out) { char line[1024]; - char *motd; - char *addr = client_addr(f_in); - char *host = client_name(f_in); + char *motd, *addr, *host; int i; io_set_sock_fds(f_in, f_out); - if (log_initialised) - rprintf(FLOG, "connect from %s (%s)\n", host, addr); - + /* We must load the config file before calling any function that + * might cause log-file output to occur. This ensures that the + * "log file" param gets honored for the 2 non-forked use-cases + * (called by init and called by remote shell). */ if (!lp_load(config_file, 0)) exit_cleanup(RERR_SYNTAX); - if (!log_initialised) - log_init(); + addr = client_addr(f_in); + host = client_name(f_in); + rprintf(FLOG, "connect from %s (%s)\n", host, addr); if (!am_server) { set_socket_options(f_in, "SO_KEEPALIVE"); -- 2.34.1