extern int remote_protocol;
extern int protocol_version;
extern int io_timeout;
-extern int orig_umask;
extern int no_detach;
extern int default_af_hint;
+extern mode_t orig_umask;
extern char *bind_address;
extern char *sockopts;
extern char *config_file;
return bp - buf;
}
-static int rsync_module(int f_in, int f_out, int i)
+static int rsync_module(int f_in, int f_out, int i, char *addr, char *host)
{
int argc = 0;
int maxargs;
uid_t uid = (uid_t)-2; /* canonically "nobody" */
gid_t gid = (gid_t)-2;
char *p, *err_msg = NULL;
- char *addr = client_addr(f_in);
- char *host = client_name(f_in);
char *name = lp_name(i);
int use_chroot = lp_use_chroot(i);
int start_glob = 0;
{
char line[1024];
char *motd;
+ char *addr = client_addr(f_in);
+ char *host = client_name(f_in);
int i;
+ rprintf(FLOG, "connect from %s (%s)\n", host, addr);
+
io_set_sock_fds(f_in, f_out);
if (!lp_load(config_file, 0))
return -1;
if (!*line || strcmp(line, "#list") == 0) {
- char *addr = client_addr(f_in);
- char *host = client_name(f_in);
rprintf(FLOG, "module-list request from %s (%s)\n",
host, addr);
send_listing(f_out);
}
if ((i = lp_number(line)) < 0) {
- char *addr = client_addr(f_in);
- char *host = client_name(f_in);
rprintf(FLOG, "unknown module '%s' tried from %s (%s)\n",
line, host, addr);
io_printf(f_out, "@ERROR: Unknown module '%s'\n", line);
#endif
SIGACTION(SIGCHLD, remember_children);
- return rsync_module(f_in, f_out, i);
+ return rsync_module(f_in, f_out, i, addr, host);
}
int daemon_main(void)