diff --git a/ares/CHANGES b/ares/CHANGES index 6d2a4f19d..cfcd2e7b3 100644 --- a/ares/CHANGES +++ b/ares/CHANGES @@ -4,6 +4,13 @@ - Jakub Hrozek fixed more function prototypes in man pages to sync them with the ones declared in ares.h +- Jakub Hrozek renamed addrttl and addr6ttl structs to ares_addrttl and + ares_addr6ttl in order to prevent name space pollution, along with + necessary changes to code base and man pages.This change does not break + ABI, there is no need to recompile existing applications. But existing + applications using these structs with the old name will need source code + adjustments when recompiled using c-ares 1.6.1. + * November 20, 2009 (Yang Tse) - Fixed several function prototypes in man pages that were out of sync with the ones declared in ares.h diff --git a/ares/RELEASE-NOTES b/ares/RELEASE-NOTES index 1ecc17622..0de52de0d 100644 --- a/ares/RELEASE-NOTES +++ b/ares/RELEASE-NOTES @@ -13,6 +13,7 @@ Changed: o added ares_parse_srv_reply() o added ares_parse_txt_reply() o new --enable-symbol-hiding configure option + o addrttl and addr6ttl structs renamed to ares_addrttl and ares_addr6ttl Fixed: diff --git a/ares/ares.h b/ares/ares.h index e79debddb..3e45a90f2 100644 --- a/ares/ares.h +++ b/ares/ares.h @@ -416,15 +416,12 @@ struct ares_in6_addr { } _S6_un; }; -/* - * TODO: the structs 'addrttl' and 'addr6ttl' really should get their names - * prefixed with ares_ to keep them in our own "name space". - */ -struct addrttl { +struct ares_addrttl { struct in_addr ipaddr; int ttl; }; -struct addr6ttl { + +struct ares_addr6ttl { struct ares_in6_addr ip6addr; int ttl; }; @@ -454,13 +451,13 @@ struct ares_txt_reply { CARES_EXTERN int ares_parse_a_reply(const unsigned char *abuf, int alen, struct hostent **host, - struct addrttl *addrttls, + struct ares_addrttl *addrttls, int *naddrttls); CARES_EXTERN int ares_parse_aaaa_reply(const unsigned char *abuf, int alen, struct hostent **host, - struct addr6ttl *addrttls, + struct ares_addr6ttl *addrttls, int *naddrttls); CARES_EXTERN int ares_parse_ptr_reply(const unsigned char *abuf, diff --git a/ares/ares_parse_a_reply.3 b/ares/ares_parse_a_reply.3 index 10c06501c..f7debb912 100644 --- a/ares/ares_parse_a_reply.3 +++ b/ares/ares_parse_a_reply.3 @@ -23,7 +23,7 @@ ares_parse_a_reply \- Parse a reply to a DNS query of type A .PP .B int ares_parse_a_reply(const unsigned char *\fIabuf\fP, int \fIalen\fP, .B struct hostent **\fIhost\fP, -.B struct addrttl *\fIaddrttls\fB, int *\fInaddrttls\fB); +.B struct ares_addrttl *\fIaddrttls\fB, int *\fInaddrttls\fB); .fi .SH DESCRIPTION The @@ -31,7 +31,7 @@ The function parses the response to a query of type A into a .BR "struct hostent" and/or an array of -.BR "struct addrttls" . +.BR "struct ares_addrttls" . The parameters .I abuf and @@ -51,7 +51,7 @@ and .IR naddrttls are both nonnull, then up to *naddrttls -.BR "struct addrttl" +.BR "struct ares_addrttl" records are stored in the array pointed to by addrttls, and then *naddrttls is set to the number of records so stored. Note that the memory for these records is supplied by the caller. diff --git a/ares/ares_parse_a_reply.c b/ares/ares_parse_a_reply.c index 3d59c8aa4..a6ed7dd2f 100644 --- a/ares/ares_parse_a_reply.c +++ b/ares/ares_parse_a_reply.c @@ -54,7 +54,7 @@ int ares_parse_a_reply(const unsigned char *abuf, int alen, struct hostent **host, - struct addrttl *addrttls, int *naddrttls) + struct ares_addrttl *addrttls, int *naddrttls) { unsigned int qdcount, ancount; int status, i, rr_type, rr_class, rr_len, rr_ttl, naddrs; @@ -157,7 +157,7 @@ int ares_parse_a_reply(const unsigned char *abuf, int alen, } if (naddrs < max_addr_ttls) { - struct addrttl * const at = &addrttls[naddrs]; + struct ares_addrttl * const at = &addrttls[naddrs]; if (aptr + sizeof(struct in_addr) > abuf + alen) { status = ARES_EBADRESP; diff --git a/ares/ares_parse_aaaa_reply.3 b/ares/ares_parse_aaaa_reply.3 index f25cb9372..0f77c0323 100644 --- a/ares/ares_parse_aaaa_reply.3 +++ b/ares/ares_parse_aaaa_reply.3 @@ -23,7 +23,7 @@ ares_parse_aaaa_reply \- Parse a reply to a DNS query of type AAAA .PP .B int ares_parse_aaaa_reply(const unsigned char *\fIabuf\fP, int \fIalen\fP, .B struct hostent **\fIhost\fP, -.B struct addr6ttl *\fIaddrttls\fB, int *\fInaddrttls\fB); +.B struct ares_addr6ttl *\fIaddrttls\fB, int *\fInaddrttls\fB); .fi .SH DESCRIPTION The @@ -31,7 +31,7 @@ The function parses the response to a query of type AAAA into a .BR "struct hostent" and/or an array of -.BR "struct addr6ttl" . +.BR "struct ares_addr6ttl" . The parameters .I abuf and @@ -51,7 +51,7 @@ and .IR naddrttls are both nonnull, then up to *naddrttls -.BR "struct addr6ttl" +.BR "struct ares_addr6ttl" records are stored in the array pointed to by addrttls, and then *naddrttls is set to the number of records so stored. Note that the memory for these records is supplied by the caller. diff --git a/ares/ares_parse_aaaa_reply.c b/ares/ares_parse_aaaa_reply.c index 58c6b8ab8..6d5466755 100644 --- a/ares/ares_parse_aaaa_reply.c +++ b/ares/ares_parse_aaaa_reply.c @@ -55,7 +55,7 @@ #include "ares_private.h" int ares_parse_aaaa_reply(const unsigned char *abuf, int alen, - struct hostent **host, struct addr6ttl *addrttls, + struct hostent **host, struct ares_addr6ttl *addrttls, int *naddrttls) { unsigned int qdcount, ancount; @@ -157,7 +157,7 @@ int ares_parse_aaaa_reply(const unsigned char *abuf, int alen, } if (naddrs < max_addr_ttls) { - struct addr6ttl * const at = &addrttls[naddrs]; + struct ares_addr6ttl * const at = &addrttls[naddrs]; if (aptr + sizeof(struct in6_addr) > abuf + alen) { status = ARES_EBADRESP;