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

Re: [PATCH 7/5] transport: optionally honor DNS SRV records

From
Jonathan Nieder <jrnieder@gmail.com>
Date
Mar 8, 2012, 21:35 UTC
Message-ID
<20120308213545.GB9497@burratino>
In-Reply-To
<CABPQNSYpRGfu7Ew+KstCFsG4YDSx+i-jzHS1Bw0BA4S2hoz4SA@mail.gmail.com>
Erik Faye-Lund wrote:
Show 6 quoted lines
> It's an interesting feature, but I'm a little bit worried if this
> promotes non-portable setups; won't these repos be unreachable (at
> least without manually redirecting or also keeping a copy on the
> advertised URL) on machines where libresolv is unavailable? I'm mainly
> thinking about the "a single domain can use different hosts for
> different services"-benefit you mentioned.

Yes. I think of redirecting with SRV records without a fallback as a misconfiguration ("don't do that, then"). Note that it would not only affect people without drand48 but people with broken DNS servers.

In the case of Alioth, what they do is let inetd listen on git.debian.org = vasks.debian.org, using netcat to forward connections to wagner.debian.org. So clients with and without SRV support end up finding their bits shuttled to the same place, with the only difference being a little wasted load on vasks in the no-SRV case.

This means the Alioth admins don't get the benefit of not having to set up a proxy, but they do get the benefit of clients taking on more of the work and the service continuing to be available for some clients if vasks goes down.

Maybe adding an envvar to disable the SRV handling would make it easier for server admins to check the fallback. Can we do more?

(By the way, what platforms don't support BIND and a random number generator?)

Thanks, Jonathan

Previous: Erik Faye-LundNext: Johannes Sixt
Message 13 of 20 in “transport: unify ipv4 and ipv6 code paths”
  1. 0/5 transport: unify ipv4 and ipv6 code pathsJonathan Nieder, Mar 8, 2012
  2. 1/5 transport: expose git_tcp_connect() and friends in new tcp.hJonathan Nieder, Mar 8, 2012
  3. Erik Faye-LundMar 8, 2012
  4. 2/5 daemon: make host resolution a separate functionJonathan Nieder, Mar 8, 2012
  5. 3/5 daemon: move locate_host() to tcp libJonathan Nieder, Mar 8, 2012
  6. 4/5 tcp: unify ipv4 and ipv6 code pathsJonathan Nieder, Mar 8, 2012
  7. Erik Faye-LundMar 8, 2012
  8. Jonathan NiederMar 8, 2012
  9. 5/5 daemon: check for errors retrieving IP addressJonathan Nieder, Mar 8, 2012
  10. 6/5 tcp: make dns_resolve() return an error codeJonathan Nieder, Mar 8, 2012
  11. 7/5 transport: optionally honor DNS SRV recordsJonathan Nieder, Mar 8, 2012
  12. Erik Faye-LundMar 8, 2012
  13. Jonathan NiederMar 8, 2012
  14. Johannes SixtMar 9, 2012
  15. Jonathan NiederMar 9, 2012
  16. 8/5 srv: tolerate broken DNS repliesJonathan Nieder, Mar 8, 2012
  17. Richard HartmannMar 8, 2012
  18. Erik Faye-LundJun 11, 2012
  19. Junio C HamanoJun 11, 2012
  20. Jonathan NiederJun 14, 2012

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.