Звонок getaddrinfo имеет много интересных флагов. Мне интересно, какова цель флага AI_V4MAPPED. Ни в одной системе я, кажется, не могу получить getaddrinfo для создания :: ffff: n.n.n.n адресов форм, как я ожидал бы при установке этого флага. Я ожидаю, что не так? Я вижу ошибки?Какова цель флага AI_V4MAPPED в getaddrinfo?
В частности, если я запрашиваю адреса семейства AF_INET6 и задаю AI_V4MAPPED, я бы ожидал увидеть :: ffff: n.n.n.n адреса для хостов, которые имеют только записи DNS A (IPv4). И я бы также ожидал, что если я укажу AI_ALL, я бы получил как записи DNS AAAA (IPv6-адрес) хоста, так и записи DNS A в форме :: ffff: n.n.n.n.
Снова, я ожидаю здесь все неправильные вещи?
Я тестировал это на Fedora 11 - glibc 2.10.1 и OS X 10.4.
Я делал гораздо больше исследований по этому вопросу. Кажется, что getaddrinfo страдает от какого-либо количества ошибок, отчасти потому, что у него много странных случаев, чтобы обойти отмененную обработку запросов AAAA. – Omnifarious
Вы отвечаете, ближайший к реальному ответу, так что вы получаете ответ на кредит. – Omnifarious
AI_V4MAPPED без AI_ALL - ошибка glibc, см. Http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=503912 – unixman83