Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 4 Jul 2023 16:48:10 +0000
From:      Gary Jennejohn <garyj@gmx.de>
To:        current@freebsd.org
Subject:   buildworld broken due to INET6 not being set
Message-ID:  <20230704184810.3978dbe5@ernst.home>

index | next in thread | raw e-mail

buildworld breaks because I do not have INET6 defined:

/usr/src/sbin/ping/main.c:76:7: error: variable 'ipv4' set but not used [-Werror,-Wunused-but-set-variable]
        bool ipv4 = false;
             ^
1 error generated.

ipv4 is set in various places but it's _used_ only bracketed in
#if defined(INET) && defined(INET6)...#endif!

Note that ipv6 will have the same error if INET6 is defined but INET is not
defined due to this chunk of code:

#if defined(INET) && defined(INET6)
    if (inet_pton(AF_INET, argv[argc - 1], &a) == 1) {
        if (ipv6)
            errx(1, "IPv6 requested but IPv4 target address "
                "provided");
        hints.ai_family = AF_INET;
    }
    else if (inet_pton(AF_INET6, argv[argc - 1], &a6) == 1) {
        if (ipv4)
            errx(1, "IPv4 requested but IPv6 target address "
                "provided");
        hints.ai_family = AF_INET6;
    } else if (ipv6)
        hints.ai_family = AF_INET6;
    else if (ipv4)
        hints.ai_family = AF_INET;
    else {
        if (!feature_present("inet6"))
            hints.ai_family = AF_INET;
        else if (!feature_present("inet"))
            hints.ai_family = AF_INET6;
        else {
            struct addrinfo *res;

            memset(&hints, 0, sizeof(hints));
            hints.ai_socktype = SOCK_RAW;
            hints.ai_family = AF_UNSPEC;
            getaddrinfo(argv[argc - 1], NULL, &hints, &res);
            if (res != NULL) {
                hints.ai_family = res[0].ai_family;
                freeaddrinfo(res);
            }
        }
    }
#elif defined(INET)
    hints.ai_family = AF_INET; <== ipv4 set but not used
#elif defined(INET6)
    hints.ai_family = AF_INET6; <== ipv6 set but not used
#endif

--
Gary Jennejohn


help

Want to link to this message? Use this
URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20230704184810.3978dbe5>