postfix + libinet6

Arkadiusz Miskiewicz misiek w pld.ORG.PL
Śro, 22 Sie 2001, 23:49:01 CEST


Jakub Bogusz <qboosh w prioris.mini.pw.edu.pl> writes:

> Aha.
> A co z getnameinfo()?
> Wygląda, że też działa dla adresów v6 bez wsparcia w kernelu.
getnameinfo() służy do resolvowania, a przecież można komunikować się
z DNSem po ipv4 i odpytywać go o rekordy AAAA/A6... IPv6 w kernelu nie
jest tu potrzebne.

> I wtedy taki fragment:
> 
> +    memset(&hints, 0, sizeof(hints));
> +    hints.ai_family = PF_UNSPEC;
> +    hints.ai_socktype = SOCK_STREAM;
> +    hints.ai_flags = AI_PASSIVE;
> +    error = getaddrinfo(NULL, "0", &hints, &res0);
> +    if (error)
> +       msg_fatal("could not get list of wildcard addresses");
> +    for (res = res0; res; res = res->ai_next) {
> +       if (getnameinfo(res->ai_addr, res->ai_addrlen, hbuf, sizeof(hbuf),
> +           NULL, 0, niflags) != 0)
> +           continue;
> +       if (inet_addr_host(addr_list, hbuf) == 0)
> +           msg_fatal("config variable %s: host not found: %s",
> +                     VAR_INET_INTERFACES, hbuf);
> +    }
> +    freeaddrinfo(res0);
> 
> ...powoduje fatal error "config variable inet_interfaces: host not found: ::".
> 
> Prób tworzenia socketa tutaj nie ma.
> Może w przypadku powodzenia getnameinfo() a niepowodzenia
> inet_addr_host() też robić continue? Tylko czy to nie popsuje wykrywania
> niektórych błędów konfiguracji?
Nie. Nic nie rób. Jeśli ktoś wpisze sobie adres IPv6 do
inet_interfaces, a nie ma supportu w kernelu to jest tylko i wyłącznie
jego problem.

> Jakub Bogusz

-- 
 Arkadiusz Miśkiewicz, AM2-6BONE, 1024/3DB19BBD
 IPv6 ready PLD Linux at http://www.pld.org.pl/
My jsme Borg. Odpor je marný, budete asimilováni



Więcej informacji o liście dyskusyjnej pld-devel-pl