The first c-ares release so far in 2009 took place today when we shipped c-ares 1.7.0 and uploaded it to the web site.
News this time include:
- Added ares_library_init() and ares_library_cleanup()
- Added ares_parse_srv_reply(), ares_parse_txt_reply() and ares_free_data()
- in6_addr is not used in ares.h anymore, but a private ares_in6_addr is
instead declared and used - ares_gethostbyname() now supports ‘AF_UNSPEC’ as a family for resolving
either AF_INET6 or AF_INET - a build-time configured ares_socklen_t is now used instead of socklen_t
- new –enable-curldebug configure option
- ARES_ECANCELLED is now sent as reason for ares_cancel()
- new –enable-symbol-hiding configure option
- new Makefile.msvc for any MSVC compiler or MS Visual Studio version
- addrttl and addr6ttl structs renamed to ares_addrttl and ares_addr6ttl
- naming convention for libraries built with MSVC, see README.msvc
The set of bugfixes done include these:
- ares_parse_*_reply() functions now return ARES_EBADRESP instead of
ARES_EBADNAME if the name in the response failed to decode - only expose/export symbols starting with ‘ares_’
- fix \Device\TCP handle leaks triggered by buggy iphlpapi.dll
- init without internet gone no longer fails
- out of bounds memory overwrite triggered with malformed /etc/hosts file
- function prototypes in man pages out of sync with ares.h
As usual, c-ares would be nothing without the fierce and skillful help provided by a team of volunteer hackers. We always need more help and assitance, join the c-ares mailing list and join in the fun!