mailing list of musl libc
 help / color / mirror / code / Atom feed
* [musl] getaddrinfo() fails for domains with no AAAA records (regression?)
@ 2021-07-19 12:58 Yuri Kanivetsky
  2021-07-19 13:22 ` Florian Weimer
  2021-07-19 21:07 ` Olivier A.
  0 siblings, 2 replies; 13+ messages in thread
From: Yuri Kanivetsky @ 2021-07-19 12:58 UTC (permalink / raw)
  To: musl

[-- Attachment #1: Type: text/plain, Size: 1878 bytes --]

Hi,

a.c:

    #include <netdb.h>
    #include <stdio.h>
    #include <stdlib.h>
    #include <string.h>
    #include <arpa/inet.h>

    int
    main(int argc, char *argv[])
    {
        struct addrinfo hints;
        struct addrinfo *result, *rp;
        int r;
        char s[INET6_ADDRSTRLEN];

        memset(&hints, 0, sizeof(hints));
        if (argc > 2)
            hints.ai_family = AF_INET;
        hints.ai_socktype = SOCK_DGRAM;

        r = getaddrinfo(argv[1], NULL, &hints, &result);
        if (r != 0) {
            fprintf(stderr, "getaddrinfo: %s\n", gai_strerror(r));
            exit(EXIT_FAILURE);
        }

        for (rp = result; rp != NULL; rp = rp->ai_next) {
            switch (rp->ai_family) {
            case AF_INET:
                inet_ntop(AF_INET, &((struct sockaddr_in
*)rp->ai_addr)->sin_addr, s, INET6_ADDRSTRLEN);
                printf("AF_INET: %s\n", s);
                break;
            case AF_INET6:
                inet_ntop(AF_INET6, &((struct sockaddr_in6
*)rp->ai_addr)->sin6_addr, s, INET6_ADDRSTRLEN);
                printf("AF_INET6: %s\n", s);
                break;
            }
        }

        freeaddrinfo(result);
    }

a.sh:

    #!/bin/sh -eux
    apk add build-base
    cd app
    gcc a.c
    ./a.out p2.x-yuri.site set_ai_family
    ./a.out p2.x-yuri.site

$ docker run --rm -itv $PWD:/app alpine:3.12 ./app/a.sh
...
+ ./a.out p2.x-yuri.site set_ai_family
AF_INET: 3.67.126.242
+ ./a.out p2.x-yuri.site
AF_INET: 3.67.126.242

$ docker run --rm -itv $PWD:/app alpine:3.13 ./app/a.sh
...
+ ./a.out p2.x-yuri.site set_ai_family
AF_INET: 3.67.126.242
+ ./a.out p2.x-yuri.site
getaddrinfo: Name does not resolve

$ docker run --rm -itv $PWD:/app alpine:3.14 ./app/a.sh
...
+ ./a.out p2.x-yuri.site set_ai_family
AF_INET: 3.67.126.242
+ ./a.out p2.x-yuri.site
getaddrinfo: Name does not resolve

Regards,
Yuri

[-- Attachment #2: p1.png --]
[-- Type: image/png, Size: 79835 bytes --]

^ permalink raw reply	[flat|nested] 13+ messages in thread

end of thread, other threads:[~2021-07-27 14:41 UTC | newest]

Thread overview: 13+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-07-19 12:58 [musl] getaddrinfo() fails for domains with no AAAA records (regression?) Yuri Kanivetsky
2021-07-19 13:22 ` Florian Weimer
2021-07-19 18:51   ` Yuri Kanivetsky
2021-07-19 19:29     ` Shiz
2021-07-19 19:47     ` Érico Nogueira
2021-07-19 21:08   ` Rich Felker
2021-07-19 21:07 ` Olivier A.
2021-07-19 21:12   ` Rich Felker
2021-07-23 20:25     ` Yuri Kanivetsky
2021-07-23 20:33       ` Yuri Kanivetsky
2021-07-23 20:45       ` Laurent Bercot
2021-07-27 14:21         ` Yuri Kanivetsky
2021-07-27 14:41           ` Rich Felker

Code repositories for project(s) associated with this public inbox

	https://git.vuxu.org/mirror/musl/

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).