]> jfr.im git - solanum.git/blobdiff - authd/res.c
Update news
[solanum.git] / authd / res.c
index 8781747317924e623887a232545664f3ab86ad31..0336b46242734adb126e2ceadcdfaeb9bd32de05 100644 (file)
@@ -56,9 +56,7 @@ static PF res_readreply;
 #define RDLENGTH_SIZE     (size_t)2
 #define ANSWER_FIXED_SIZE (TYPE_SIZE + CLASS_SIZE + TTL_SIZE + RDLENGTH_SIZE)
 
-#ifdef RB_IPV6
 struct in6_addr ipv6_addr;
-#endif
 struct in_addr ipv4_addr;
 
 struct reslist
@@ -112,10 +110,8 @@ static uint16_t generate_random_id(void);
 static int
 res_ourserver(const struct rb_sockaddr_storage *inp)
 {
-#ifdef RB_IPV6
        const struct sockaddr_in6 *v6;
        const struct sockaddr_in6 *v6in = (const struct sockaddr_in6 *)inp;
-#endif
        const struct sockaddr_in *v4;
        const struct sockaddr_in *v4in = (const struct sockaddr_in *)inp;
        int ns;
@@ -123,9 +119,7 @@ res_ourserver(const struct rb_sockaddr_storage *inp)
        for(ns = 0; ns < irc_nscount; ns++)
        {
                const struct rb_sockaddr_storage *srv = &irc_nsaddr_list[ns];
-#ifdef RB_IPV6
                v6 = (const struct sockaddr_in6 *)srv;
-#endif
                v4 = (const struct sockaddr_in *)srv;
 
                /* could probably just memcmp(srv, inp, srv.ss_len) here
@@ -133,7 +127,6 @@ res_ourserver(const struct rb_sockaddr_storage *inp)
                 */
                switch (GET_SS_FAMILY(srv))
                {
-#ifdef RB_IPV6
                case AF_INET6:
                        if(GET_SS_FAMILY(srv) == GET_SS_FAMILY(inp))
                                if(v6->sin6_port == v6in->sin6_port)
@@ -143,7 +136,6 @@ res_ourserver(const struct rb_sockaddr_storage *inp)
                                                   sizeof(struct in6_addr)) == 0))
                                                return 1;
                        break;
-#endif
                case AF_INET:
                        if(GET_SS_FAMILY(srv) == GET_SS_FAMILY(inp))
                                if(v4->sin_port == v4in->sin_port)
@@ -476,7 +468,6 @@ void build_rdns(char *buf, size_t size, const struct rb_sockaddr_storage *addr,
                        (unsigned int)(cp[0]),
                        suffix == NULL ? "in-addr.arpa" : suffix);
        }
-#ifdef RB_IPV6
        else if (GET_SS_FAMILY(addr) == AF_INET6)
        {
                const struct sockaddr_in6 *v6 = (const struct sockaddr_in6 *)addr;
@@ -508,8 +499,6 @@ void build_rdns(char *buf, size_t size, const struct rb_sockaddr_storage *addr,
 
 #undef HI_NIBBLE
 #undef LO_NIBBLE
-
-#endif
 }
 
 /*
@@ -570,9 +559,7 @@ static void resend_query(struct reslist *request)
                do_query_number(NULL, &request->addr, request);
                break;
        case T_A:
-#ifdef RB_IPV6
        case T_AAAA:
-#endif
                do_query_name(NULL, request->name, request, request->type);
                break;
        default:
@@ -614,9 +601,7 @@ static int proc_answer(struct reslist *request, HEADER * header, char *buf, char
        int n;                  /* temp count */
        int rd_length;
        struct sockaddr_in *v4; /* conversion */
-#ifdef RB_IPV6
        struct sockaddr_in6 *v6;
-#endif
        current = (unsigned char *)buf + sizeof(HEADER);
 
        for (; header->qdcount > 0; --header->qdcount)
@@ -694,7 +679,6 @@ static int proc_answer(struct reslist *request, HEADER * header, char *buf, char
                        v4->sin_family = AF_INET;
                        memcpy(&v4->sin_addr, current, sizeof(struct in_addr));
                        return (1);
-#ifdef RB_IPV6
                case T_AAAA:
                        if (request->type != T_AAAA)
                                return (0);
@@ -705,7 +689,6 @@ static int proc_answer(struct reslist *request, HEADER * header, char *buf, char
                        v6->sin6_family = AF_INET6;
                        memcpy(&v6->sin6_addr, current, sizeof(struct in6_addr));
                        return (1);
-#endif
                case T_PTR:
                        if (request->type != T_PTR)
                                return (0);
@@ -719,13 +702,9 @@ static int proc_answer(struct reslist *request, HEADER * header, char *buf, char
                        rb_strlcpy(request->name, hostbuf, IRCD_RES_HOSTLEN + 1);
 
                        return (1);
-               case T_CNAME:
-                       /* real answer will follow */
-                       current += rd_length;
-                       break;
-               default:
-                       break;
                }
+               /* skip any other record type e.g. CNAME, DNAME; real answer should follow */
+               current += rd_length;
        }
 
        return (1);
@@ -856,11 +835,9 @@ static int res_read_single_reply(rb_fde_t *F, void *data)
                         * Lookup the 'authoritative' name that we were given for the
                         * ip#.
                         */
-#ifdef RB_IPV6
                        if (GET_SS_FAMILY(&request->addr) == AF_INET6)
                                gethost_byname_type_fqdn(request->name, request->query, T_AAAA);
                        else
-#endif
                                gethost_byname_type_fqdn(request->name, request->query, T_A);
                        rem_request(request);
                }