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

Re: [PATCH v4 02/15] mingw: implement syslog

From
Erik Faye-Lund <kusmabite@gmail.com>
Date
Oct 13, 2010, 12:36 UTC
Message-ID
<AANLkTinBvZ_L-fq1u4tPX6rNW6X3jeoOO23-yLpdxSu0@mail.gmail.com>
In-Reply-To
<20101011223746.GA6637@burratino>
On Tue, Oct 12, 2010 at 12:37 AM, Jonathan Nieder <jrnieder@gmail.com> wrote:
Show 10 quoted lines
> Erik Faye-Lund wrote:
>
>> The string gets inlined into itself (with a limit of 100 expansions)
>> leading to string like "foo %1 bar" becoming "foo foo foo ... foo %1
>> bar bar bar ... bar". With our expansion, it becomes "foo % 1 bar"
>> instead.
>
> Ah, ok.  Sounds like there is no need to worry about requests for "%%1"
> etc.  Thanks for explaining.
>

Actually, %%1 is a bit of a tricky one. It seems that %%1 is used to escape %1 on Windows 7, but not on earlier Windows version. I did test this on Vista an XP earlier, but I'll re-test again later and report back, in case my earlier tests were flawed.

Can %%1 occur in an IPv6 address at all? If not, I'm tempted to not handle it (unless it turns out I was wrong about %%1-escaping on Vista and XP).

> Maybe the symptoms and cases not covered (%2, %%1) would be worth
> mentioning in the log message?
>
Sorry for the late reply.

I'm sure it could be added, I'm just a bit worried about making the whole commit message too intimidating.

Something like this, perhaps?

---8<--- Strings containing "%1" gets expanded into themselves by ReportEvent, so let's expand "%1" to "% 1" before reporting, because such string can occur in IPv6-addresses. "%2" and above does not appear to be a problem, probably because ReportEvent checks the number against the wNumStrings parameter first. "%%1" is still a problem, but we don't have a code-path producing such strings. ---8<---

This is (of course), assuming my current findings are correct.
The lack of documentation on the subject is really annoying.
Previous: Jonathan NiederNext: Eric Sunshine
Message 8 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.