Loading ares/CHANGES +5 −0 Original line number Diff line number Diff line Changelog for the c-ares project * November 26, 2009 (Yang Tse) - Larry Lansing fixed ares_parse_srv_reply to properly parse replies which might contain non-SRV answers, skipping over potential non-SRV ones such as CNAMEs. * November 23, 2009 (Yang Tse) - Changed naming convention for c-ares libraries built with MSVC, details and build instructions provided in README.msvc file. Loading ares/RELEASE-NOTES +1 −1 Original line number Diff line number Diff line Loading @@ -31,6 +31,6 @@ Fixed: Thanks go to these friendly people for their efforts and contributions: Phil Blundell, Japheth Cleaver, Yang Tse, Gregor Jasny, Joshua Kwan, Timo Teras, Jakub Hrozek, John Engelhart Timo Teras, Jakub Hrozek, John Engelhart, Larry Lansing Have fun! ares/ares_parse_srv_reply.c +12 −11 Original line number Diff line number Diff line Loading @@ -56,7 +56,7 @@ ares_parse_srv_reply (const unsigned char *abuf, int alen, struct ares_srv_reply **srv_out) { unsigned int qdcount, ancount, i; const unsigned char *aptr; const unsigned char *aptr, *vptr; int status, rr_type, rr_class, rr_len; long len; char *hostname = NULL, *rr_name = NULL; Loading Loading @@ -139,24 +139,25 @@ ares_parse_srv_reply (const unsigned char *abuf, int alen, } srv_last = srv_curr; srv_curr->priority = ntohs (*((unsigned short *)aptr)); aptr += sizeof(unsigned short); srv_curr->weight = ntohs (*((unsigned short *)aptr)); aptr += sizeof(unsigned short); srv_curr->port = ntohs (*((unsigned short *)aptr)); aptr += sizeof(unsigned short); vptr = aptr; srv_curr->priority = ntohs (*((unsigned short *)vptr)); vptr += sizeof(unsigned short); srv_curr->weight = ntohs (*((unsigned short *)vptr)); vptr += sizeof(unsigned short); srv_curr->port = ntohs (*((unsigned short *)vptr)); vptr += sizeof(unsigned short); status = ares_expand_name (aptr, abuf, alen, &srv_curr->host, &len); status = ares_expand_name (vptr, abuf, alen, &srv_curr->host, &len); if (status != ARES_SUCCESS) break; /* Move on to the next record */ aptr += len; } /* Don't lose memory in the next iteration */ free (rr_name); rr_name = NULL; /* Move on to the next record */ aptr += rr_len; } if (hostname) Loading ares/ares_parse_txt_reply.c +3 −3 Original line number Diff line number Diff line Loading @@ -172,14 +172,14 @@ ares_parse_txt_reply (const unsigned char *abuf, int alen, } /* Make sure we NULL-terminate */ *((char *) txt_curr->txt + txt_curr->length) = '\0'; /* Move on to the next record */ aptr += rr_len; } /* Don't lose memory in the next iteration */ free (rr_name); rr_name = NULL; /* Move on to the next record */ aptr += rr_len; } if (hostname) Loading Loading
ares/CHANGES +5 −0 Original line number Diff line number Diff line Changelog for the c-ares project * November 26, 2009 (Yang Tse) - Larry Lansing fixed ares_parse_srv_reply to properly parse replies which might contain non-SRV answers, skipping over potential non-SRV ones such as CNAMEs. * November 23, 2009 (Yang Tse) - Changed naming convention for c-ares libraries built with MSVC, details and build instructions provided in README.msvc file. Loading
ares/RELEASE-NOTES +1 −1 Original line number Diff line number Diff line Loading @@ -31,6 +31,6 @@ Fixed: Thanks go to these friendly people for their efforts and contributions: Phil Blundell, Japheth Cleaver, Yang Tse, Gregor Jasny, Joshua Kwan, Timo Teras, Jakub Hrozek, John Engelhart Timo Teras, Jakub Hrozek, John Engelhart, Larry Lansing Have fun!
ares/ares_parse_srv_reply.c +12 −11 Original line number Diff line number Diff line Loading @@ -56,7 +56,7 @@ ares_parse_srv_reply (const unsigned char *abuf, int alen, struct ares_srv_reply **srv_out) { unsigned int qdcount, ancount, i; const unsigned char *aptr; const unsigned char *aptr, *vptr; int status, rr_type, rr_class, rr_len; long len; char *hostname = NULL, *rr_name = NULL; Loading Loading @@ -139,24 +139,25 @@ ares_parse_srv_reply (const unsigned char *abuf, int alen, } srv_last = srv_curr; srv_curr->priority = ntohs (*((unsigned short *)aptr)); aptr += sizeof(unsigned short); srv_curr->weight = ntohs (*((unsigned short *)aptr)); aptr += sizeof(unsigned short); srv_curr->port = ntohs (*((unsigned short *)aptr)); aptr += sizeof(unsigned short); vptr = aptr; srv_curr->priority = ntohs (*((unsigned short *)vptr)); vptr += sizeof(unsigned short); srv_curr->weight = ntohs (*((unsigned short *)vptr)); vptr += sizeof(unsigned short); srv_curr->port = ntohs (*((unsigned short *)vptr)); vptr += sizeof(unsigned short); status = ares_expand_name (aptr, abuf, alen, &srv_curr->host, &len); status = ares_expand_name (vptr, abuf, alen, &srv_curr->host, &len); if (status != ARES_SUCCESS) break; /* Move on to the next record */ aptr += len; } /* Don't lose memory in the next iteration */ free (rr_name); rr_name = NULL; /* Move on to the next record */ aptr += rr_len; } if (hostname) Loading
ares/ares_parse_txt_reply.c +3 −3 Original line number Diff line number Diff line Loading @@ -172,14 +172,14 @@ ares_parse_txt_reply (const unsigned char *abuf, int alen, } /* Make sure we NULL-terminate */ *((char *) txt_curr->txt + txt_curr->length) = '\0'; /* Move on to the next record */ aptr += rr_len; } /* Don't lose memory in the next iteration */ free (rr_name); rr_name = NULL; /* Move on to the next record */ aptr += rr_len; } if (hostname) Loading