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) {