X-Git-Url: https://mattmccutchen.net/rsync/rsync.git/blobdiff_plain/91d324b4ea48786662110e89bce60d7b7e84b94b..de3438407c4f976c55172093795b87e49cb4a6e2:/clientserver.c diff --git a/clientserver.c b/clientserver.c index 4c8057ee..8a46f69e 100644 --- a/clientserver.c +++ b/clientserver.c @@ -728,18 +728,20 @@ 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); + /* 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 + * (when rsync is run by init and run by a remote shell). */ if (!lp_load(config_file, 0)) exit_cleanup(RERR_SYNTAX); - log_init(); - + addr = client_addr(f_in); + host = client_name(f_in); rprintf(FLOG, "connect from %s (%s)\n", host, addr); if (!am_server) {