renderd's TCP listener only ever created an IPv6 socket, so with `ipport` set 
it could not listen at all on hosts or containers with IPv6 disabled (`failed 
to create IP socket`).

It now prefers a dual-stack IPv6 socket, with `IPV6_V6ONLY` cleared explicitly 
instead of relying on `net.ipv6.bindv6only`, and falls back to an IPv4 socket 
when IPv6 is unsupported or the IPv6 wildcard address can't be bound. Other 
bind errors, such as the port being in use, are still fatal. Bind errors now 
include `strerror(errno)`.

This also lets the TCP integration tests run on IPv6-less machines. Independent 
of the other PRs in this series; it applies to `master` on its own and merges 
cleanly with each of them in any order.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

https://claude.ai/code/session_01YForD7qSL9LT6FhMuAoKPV

You can view, comment on, or merge this pull request online at:

  https://github.com/openstreetmap/mod_tile/pull/506

-- Commit Summary --

  * renderd: fall back to IPv4 when IPv6 is unavailable

-- File Changes --

    M src/renderd.c (107)

-- Patch Links --

https://github.com/openstreetmap/mod_tile/pull/506.patch
https://github.com/openstreetmap/mod_tile/pull/506.diff

-- 
Reply to this email directly or view it on GitHub:
https://github.com/openstreetmap/mod_tile/pull/506
You are receiving this because you are subscribed to this thread.

Message ID: <openstreetmap/mod_tile/pull/[email protected]>
_______________________________________________
Tile-serving mailing list
[email protected]
https://lists.openstreetmap.org/listinfo/tile-serving

Reply via email to