-/* -*- c-file-style: "linux"; -*-
+/*
+ * The socket based protocol for setting up a connection with rsyncd.
*
- * Copyright (C) 1998-2001 by Andrew Tridgell <tridge@samba.org>
- * Copyright (C) 2001-2002 by Martin Pool <mbp@samba.org>
+ * Copyright (C) 1998-2001 Andrew Tridgell <tridge@samba.org>
+ * Copyright (C) 2001-2002 Martin Pool <mbp@samba.org>
+ * Copyright (C) 2002, 2003, 2004, 2005, 2006 Wayne Davison
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
- * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/
-/**
- * @file
- *
- * The socket based protocol for setting up a connection with
- * rsyncd.
- **/
-
#include "rsync.h"
extern int verbose;
return ret ? ret : client_run(fd, fd, -1, argc, argv);
}
-int start_inband_exchange(char *user, char *path, int f_in, int f_out,
+int start_inband_exchange(char *user, char *path, int f_in, int f_out,
int argc)
{
int i;
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) {