git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: [PATCH v4 11/15] daemon: report connection from root-process

From
Erik Faye-Lund <kusmabite@gmail.com>
Date
Oct 14, 2010, 10:50 UTC
Message-ID
<AANLkTinXNPWaGj2BUaSOJypzv-Sqts-zEdG886oT2YJB@mail.gmail.com>
In-Reply-To
<7vlj61hfe7.fsf@alter.siamese.dyndns.org>
On Thu, Oct 14, 2010 at 12:55 AM, Junio C Hamano <gitster@pobox.com> wrote:
Show 40 quoted lines
> Erik Faye-Lund <kusmabite@gmail.com> 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@gmail.com>
>> ---
>>  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

Previous: Junio C HamanoNext: Junio C Hamano
Message 25 of 47 in “daemon-win32”
  1. 00/15 daemon-win32Erik Faye-Lund, Oct 11, 2010
  2. 01/15 mingw: add network-wrappers for daemonErik Faye-Lund, Oct 11, 2010
  3. Jonathan NiederOct 11, 2010
  4. 02/15 mingw: implement syslogErik Faye-Lund, Oct 11, 2010
  5. Jonathan NiederOct 11, 2010
  6. Erik Faye-LundOct 11, 2010
  7. Jonathan NiederOct 11, 2010
  8. Erik Faye-LundOct 13, 2010
  9. Eric SunshineOct 13, 2010
  10. Pat ThoytsOct 13, 2010
  11. Erik Faye-LundOct 14, 2010
  12. 03/15 compat: add inet_pton and inet_ntop prototypesErik Faye-Lund, Oct 11, 2010
  13. 04/15 inet_ntop: fix a couple of old-style declsErik Faye-Lund, Oct 11, 2010
  14. 05/15 mingw: use real pidErik Faye-Lund, Oct 11, 2010
  15. 06/15 mingw: support waitpid with pid > 0 and WNOHANGErik Faye-Lund, Oct 11, 2010
  16. 07/15 mingw: add kill emulationErik Faye-Lund, Oct 11, 2010
  17. 08/15 daemon: use run-command api for async servingErik Faye-Lund, Oct 11, 2010
  18. Junio C HamanoOct 13, 2010
  19. Erik Faye-LundOct 14, 2010
  20. Junio C HamanoOct 17, 2010
  21. 09/15 daemon: use full buffered mode for stderrErik Faye-Lund, Oct 11, 2010
  22. 10/15 Improve the mingw getaddrinfo stub to handle more use casesErik Faye-Lund, Oct 11, 2010
  23. 11/15 daemon: report connection from root-processErik Faye-Lund, Oct 11, 2010
  24. Junio C HamanoOct 13, 2010
  25. Erik Faye-LundOct 14, 2010
  26. Junio C HamanoOct 17, 2010
  27. Erik Faye-LundOct 17, 2010
  28. 12/15 mingw: import poll-emulation from gnulibErik Faye-Lund, Oct 11, 2010
  29. 13/15 mingw: use poll-emulation from gnulibErik Faye-Lund, Oct 11, 2010
  30. 14/15 daemon: use socklen_tErik Faye-Lund, Oct 11, 2010
  31. 15/15 daemon: opt-out on features that require posixErik Faye-Lund, Oct 11, 2010
  32. Junio C HamanoOct 13, 2010
  33. Erik Faye-LundOct 14, 2010
  34. Junio C HamanoOct 15, 2010
  35. Erik Faye-LundOct 18, 2010
  36. Jonathan NiederOct 18, 2010
  37. Andreas SchwabOct 18, 2010
  38. empty structsJonathan Nieder, Oct 18, 2010
  39. Erik Faye-LundOct 21, 2010
  40. Erik Faye-LundOct 21, 2010
  41. Jonathan NiederOct 21, 2010
  42. Erik Faye-LundOct 21, 2010
  43. Junio C HamanoOct 21, 2010
  44. Junio C HamanoOct 18, 2010
  45. Erik Faye-LundOct 21, 2010
  46. Jonathan NiederOct 21, 2010
  47. Erik Faye-LundOct 21, 2010

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.