> It may be sort of a limitation (IIRC, in Cygwin's minires) but:
 
> > Should I be doing something differently? Or is it a bug?

> > the host and dig commands no longer work

Reading your question again, I don't think Cygwin's minires limitation (if any) 
can be at play here because IIRC neither dig nor host (as actually a 
specialization of dig) use the resolver API but work directly at the DNS 
protocol level...

OTOH, they probably are looking at the nsaddr section of the resolver context 
structure to see what INET6 nameservers are available -- and they don't see any 
in there, that's why they fail?..

These are just my assumptions, though.

Are your [other] applications (that use the resolver API, with the osquery 
option, as suggested previously) able to resolve IPv6 addresses?

Anton Lavrentiev
Contractor NIH/NLM/NCBI

Cygwin's /usr/include/resolv.h has only IPv4 entries for nameservers:

struct __res_state {
        int     retrans;                /* retransmition time interval */
        int     retry;                  /* number of times to retransmit */
        u_long  options;                /* option flags - see below. */
        int     nscount;                /* number of name servers */
        struct sockaddr_in
                nsaddr_list[MAXNS];     /* address of name server */          
// <<<=== IPv4 only
#define nsaddr  nsaddr_list[0]          /* for backward compatibility */
        u_short id;                     /* current message id */
        char    *dnsrch[MAXDNSRCH+1];   /* components of domain to search */
        char    defdname[256];          /* default domain (deprecated) */
        u_long  pfcode;                 /* RES_PRF_ flags - see below. */
        unsigned ndots:4;               /* threshold for initial abs. query */
        unsigned nsort:4;               /* number of elements in sort_list[] */
        char    unused[3];
        struct {
                struct in_addr  addr;
                u_int32_t       mask;
        } sort_list[MAXRESOLVSORT];
        res_send_qhook qhook;           /* query hook */
        res_send_rhook rhook;           /* response hook */
        int     res_h_errno;            /* last one set for this context */
        int     _vcsock;                /* PRIVATE: for res_send VC i/o */
        u_int   _flags;                 /* PRIVATE: see below */
        union {
                /* On an 32-bit arch this means 512b total. */
                char    pad[72 - 3*sizeof (int) - 2*sizeof (void *)];
                struct {
                        u_int16_t               nscount;
                        u_int16_t               nstimes[MAXNS]; /* ms. */
                        int                     nssocks[MAXNS];
                        struct __res_state_ext *ext;    /* extention for IPv6 */
                } _ext;
        } _u;
};


-- 
Problem reports:      https://cygwin.com/problems.html
FAQ:                  https://cygwin.com/faq/
Documentation:        https://cygwin.com/docs.html
Unsubscribe info:     https://cygwin.com/ml/#unsubscribe-simple

Reply via email to