Update the shipped c-ares to 1.31.0 and silence deprecation warnings for c-ares API.

Ignore these for entire src/dns.c.
Quoting https://github.com/c-ares/c-ares/pull/732#issuecomment-2028454381:
"Those deprecated functions will remain available until there is an ABI
 break, which honestly will likely never happen. It's more to encourage
 integrators to move to the more modern functions."
Also, keep in mind that several of these 'deprecations' happened in early 2024
while the new function was introduced in March 2020, like for ares_getaddrinfo().
That isn't all that long ago, only 4 years. So we would need compatibility code
for both the old and new function for a while.
So: we can look into that in some major new UnrealIRCd version, nothing urgent,
and perhaps by then it is long enough that we don't need the fallback to older
functions.
This commit is contained in:
Bram Matthys 2024-07-01 15:05:01 +02:00
parent c12864f81b
commit 25bed9ac1f
No known key found for this signature in database
GPG key ID: BF8116B163EAAE98
5 changed files with 22 additions and 5 deletions

2
configure vendored
View file

@ -8480,7 +8480,7 @@ fi
if test "$has_system_cares" = "no"
then :
cares_version="1.19.1"
cares_version="1.31.0"
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: extracting c-ares resolver library" >&5
printf "%s\n" "extracting c-ares resolver library" >&6; }
cur_dir=`pwd`

View file

@ -757,9 +757,7 @@ AS_IF([test "x$PRIVATELIBDIR" != "x"], [rm -f "$PRIVATELIBDIR/"libcares*])],[has
AS_IF([test "$has_system_cares" = "no"], [
dnl REMEMBER TO CHANGE WITH A NEW C-ARES RELEASE!
dnl NOTE: when changing this here, ALSO change it in extras/curlinstall
dnl and in the comment in this file around line 400!
cares_version="1.19.1"
cares_version="1.31.0"
AC_MSG_RESULT(extracting c-ares resolver library)
cur_dir=`pwd`
cd extras

View file

@ -19,9 +19,11 @@ in progress and may not always be a stable version.
* IRCOps with the operclass `locop` can now only `REHASH` the local server
and not remote servers.
* Comment out some more in example.conf by default
* Update shipped libraries: c-ares to 1.31.0
### Fixes:
* TODO
* Silence some compiler warnings regarding deprecation of c-ares API in
src/dns.c.
### Developers and protocol:
* TODO

Binary file not shown.

View file

@ -33,6 +33,23 @@
#error "You have an old c-ares version on your system and/or Unreals c-ares failed to compile!"
#endif
#if defined(__GNUC__)
/* Ignore these for this entire file.
* Quoting https://github.com/c-ares/c-ares/pull/732#issuecomment-2028454381:
* "Those deprecated functions will remain available until there is an ABI
* break, which honestly will likely never happen. It's more to encourage
* integrators to move to the more modern functions."
* Also, keep in mind that several of these 'deprecations' happened in early 2024
* while the new function was introduced in March 2020, like for ares_getaddrinfo().
* That isn't all that long ago, only 4 years. So we would need compatibility code
* for both the old and new function for a while.
* So: we can look into that in some major new UnrealIRCd version, nothing urgent,
* and perhaps by then it is long enough that we don't need the fallback to older
* functions.
*/
#pragma GCC diagnostic ignored "-Wdeprecated-declarations"
#endif
/* Forward declerations */
void unrealdns_cb_iptoname(void *arg, int status, int timeouts, struct hostent *he);
void unrealdns_cb_nametoip_verify(void *arg, int status, int timeouts, struct hostent *he);