char *host = client_name(fd);
char *name = lp_name(i);
int start_glob=0;
+ char *request=NULL;
+ extern int am_sender;
if (!allow_access(addr, host, lp_hosts_allow(i), lp_hosts_deny(i))) {
rprintf(FERROR,"rsync denied on module %s from %s (%s)\n",
if (start_glob) {
if (start_glob == 1) {
- rprintf(FINFO,"rsync on %s from %s (%s)\n",
- p, host, addr);
+ request = strdup(p);
start_glob++;
}
glob_expand(name, argv, &argc, MAX_ARGS);
parse_arguments(argc, argv);
+ if (request) {
+ rprintf(FINFO,"rsync %s %s from %s (%s)\n",
+ am_sender?"on":"to",
+ request, host, addr);
+ free(request);
+ }
+
/* don't allow the logs to be flooded too fast */
if (verbose > 1) verbose = 1;
extern char *config_file;
extern int remote_version;
- if (!lp_load(config_file)) {
+ if (!lp_load(config_file, 0)) {
exit_cleanup(1);
}
set_socket_options(fd,"SO_KEEPALIVE");
+ set_socket_options(fd,lp_socket_options());
+
io_printf(fd,"@RSYNCD: %d\n", PROTOCOL_VERSION);
int daemon_main(void)
{
- log_open();
+ extern char *config_file;
if (is_a_socket(STDIN_FILENO)) {
/* we are running via inetd */
become_daemon();
+ if (!lp_load(config_file, 1)) {
+ fprintf(stderr,"failed to load config file %s\n", config_file);
+ exit_cleanup(1);
+ }
+
+ log_open();
+
rprintf(FINFO,"rsyncd version %s starting\n",VERSION);
start_accept_loop(rsync_port, start_daemon);