| Summary: | поддержка ipv6 | ||
|---|---|---|---|
| Product: | Sisyphus | Reporter: | barabashka <barabashka> |
| Component: | libvhttpd | Assignee: | Mikhail Efremov <sem> |
| Status: | CLOSED FIXED | QA Contact: | qa-sisyphus |
| Severity: | normal | ||
| Priority: | P3 | CC: | manowar, sem |
| Version: | unstable | ||
| Hardware: | all | ||
| OS: | Linux | ||
С версии 0.7.3-alt1 IPv6 используется корректно. |
На системах с enable ipv6, в /var/log/ahttpd/access.log вместо ip-адреса клиента обнаруживается нечто вида "::c00:0:0:0". Связано с неверным получением значения remote_addr в libvhttpd. Для себя оставил только ipv4 в lib/socket.c --- a/vhttpd/lib/socket.c +++ b/vhttpd/lib/socket.c @@ -105,7 +105,7 @@ create_inet_socket (const char *addr, const char *service, int flags) RUNTIME_ERROR ("service is not specified"); memset (&hints, 0, sizeof (struct addrinfo)); - hints.ai_family = AF_UNSPEC; + hints.ai_family = AF_INET; hints.ai_socktype = SOCK_STREAM; hints.ai_flags = AI_PASSIVE; hints.ai_protocol = 0;