which has the following comment preceding it: /** * Run a program on a local tcp socket, so that we can talk to it's * stdin and stdout. This is used to fake a connection to a daemon * for testing -- not for the normal case of running SSH. * * @return a socket which is attached to a subprocess running * "prog". stdin and stdout are attached. stderr is left attached to * the original stderr **/ int sock_exec(const char *prog) It gets called essentially as: sock_exec(getenv("RSYNC_CONNECT_PROG")) When running the daemon standalone, I see the appropriate behavior. And with various versions of your command, I'm unable to get any reasonable output. (Something with permissions on '.', even though I chmod'ed 777 on the temp dir.) And, I see that bind() occurring before I see the execve() of the RSYNC_CONNECT_PROG (strace -fe trace=bind,process). So, that bind() is unrelated to the daemon itself (I think). Best, Ben