On Thu, Oct 14, 2010 at 12:55 AM, Junio C Hamano <gitster@xxxxxxxxx> wrote: > Erik Faye-Lund <kusmabite@xxxxxxxxx> writes: > >> Report incoming connections from the process that >> accept() the connection instead of the handling >> process. >> >> This enables "Connection from"-reporting on >> Windows, where getpeername(0, ...) consistently >> fails. >> >> Signed-off-by: Erik Faye-Lund <kusmabite@xxxxxxxxx> >> --- >> daemon.c | 72 ++++++++++++++++++++++++++++++------------------------------- >> 1 files changed, 35 insertions(+), 37 deletions(-) >> >> diff --git a/daemon.c b/daemon.c >> index 8a44fb9..1574f75 100644 >> --- a/daemon.c >> +++ b/daemon.c >> @@ -516,38 +516,11 @@ static void parse_host_arg(char *extra_args, int buflen) >> } >> >> >> -static int execute(struct sockaddr *addr) >> +static int execute(void) >> { >> -... >> - } >> - loginfo("Connection from %s:%d", addrbuf, port); >> - setenv("REMOTE_ADDR", addrbuf, 1); >> ... >> + else { >> + loginfo("[%"PRIuMAX"] Connection from %s:%d", >> + (uintmax_t)cld.pid, addrstr, port); >> add_child(&cld, addr, addrlen); > > Hmm, loginfo() calls logreport() and adds the process information as > necessary to the output. Wouldn't this patch give the pid information > twice? > Close, but not quite. logreport() reports the current PID, while this call to loginfo reports the PID of the child process. So two non-identical PIDs are reported. The output becomes something like this: [6408] [3868] Connection from [::1]:55801 [3868] Extended attributes (16 bytes) exist <host=localhost> [3868] Request upload-pack for '/some-repo.git' [3868] '/some-repo.git' does not appear to be a git repository [6408] [1876] Connection from [::1]:57311 [1876] Extended attributes (16 bytes) exist <host=localhost> [1876] Request upload-pack for '/some-repo.git' [1876] '/some-repo.git' does not appear to be a git repository -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html