X-Git-Url: https://mattmccutchen.net/rsync/rsync.git/blobdiff_plain/c0422cea9faa173bcd5ac4d86a456ae71bdda6c4..3add5835db9692bd6e527e625f7114ac8ed0bdef:/clientserver.c?ds=sidebyside diff --git a/clientserver.c b/clientserver.c index ac99ae4e..c8ba5d8e 100644 --- a/clientserver.c +++ b/clientserver.c @@ -50,6 +50,7 @@ extern char *bind_address; extern struct exclude_list_struct server_exclude_list; extern char *exclude_path_prefix; extern char *config_file; +extern char *files_from; char *auth_user; @@ -87,6 +88,9 @@ int start_socket_client(char *host, char *path, int argc, char *argv[]) *p = '\0'; } + if (rsync_port == 0) + rsync_port = RSYNC_PORT; + fd = open_socket_out_wrapped(host, rsync_port, bind_address, default_af_hint); if (fd == -1) @@ -461,6 +465,8 @@ static int rsync_module(int f_in, int f_out, int i) * get the error back to the client. This means getting * the protocol setup finished first in later versions. */ setup_protocol(f_out, f_in); + if (files_from && !am_sender && strcmp(files_from, "-") != 0) + write_byte(f_out, 0); io_start_multiplex_out(); } @@ -595,6 +601,11 @@ int daemon_main(void) if (!lp_load(config_file, 1)) exit_cleanup(RERR_SYNTAX); + if (rsync_port == 0 && (rsync_port = lp_rsync_port()) == 0) + rsync_port = RSYNC_PORT; + if (bind_address == NULL) + bind_address = lp_bind_address(); + log_init(); rprintf(FLOG, "rsyncd version %s starting, listening on port %d\n",