diff options
author | Florian Weimer <fweimer@redhat.com> | 2016-10-07 17:41:45 +0200 |
---|---|---|
committer | Florian Weimer <fweimer@redhat.com> | 2016-10-07 17:41:45 +0200 |
commit | bfbd1de1590ae3f1a098d0166631d027f33565e9 (patch) | |
tree | 5248e1b989e6f580f3e3b45a3ee9a408aa14337d | |
parent | 314ba75e4a26f7147c757a10b07a62ff113409aa (diff) | |
download | glibc-bfbd1de1590ae3f1a098d0166631d027f33565e9.tar.gz glibc-bfbd1de1590ae3f1a098d0166631d027f33565e9.tar.xz glibc-bfbd1de1590ae3f1a098d0166631d027f33565e9.zip |
resolv: Deprecate unimplemented flags
RES_AAONLY, RES_PRIMARY, RES_NOCHECKNAME, RES_KEEPTSIG result in compile-time warnings. Some of these flags are still used in applications.
-rw-r--r-- | ChangeLog | 11 | ||||
-rw-r--r-- | NEWS | 4 | ||||
-rw-r--r-- | misc/sys/cdefs.h | 10 | ||||
-rw-r--r-- | resolv/res_debug.c | 4 | ||||
-rw-r--r-- | resolv/res_init.c | 1 | ||||
-rw-r--r-- | resolv/resolv.h | 12 |
6 files changed, 33 insertions, 9 deletions
diff --git a/ChangeLog b/ChangeLog index 549acfdba4..942f9e02ec 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,14 @@ +2016-10-07 Florian Weimer <fweimer@redhat.com> + + resolv: Deprecate unimplemented flags. + * misc/sys/cdefs.h (__glibc_macro_warning1) + (__glibc_macro_warning): Define. + * resolv/resolv.h (RES_AAONLY, RES_PRIMARY, RES_NOCHECKNAME) + (RES_KEEPTSIG): Mark as deprecated. + * resolv/res_debug.c (p_option): Remove RES_AAONLY, RES_PRIMARY, + RES_NOCHECKNAME, RES_KEEPTSIG. + * resolv/res_init.c (res_setoptions): Remove RES_NOCHECKNAME handling. + 2016-10-07 Stefan Liebler <stli@linux.vnet.ibm.com> * nptl/pt-longjmp.c (DEFINE_LONGJMP): Use libc_ifunc macro. diff --git a/NEWS b/NEWS index b077d0a078..be66f2308c 100644 --- a/NEWS +++ b/NEWS @@ -59,6 +59,10 @@ Version 2.25 for the Linux quota interface which predates kernel version 2.4.22 has been removed. +* The flags RES_AAONLY, RES_PRIMARY, RES_NOCHECKNAME, RES_KEEPTSIG defined + in the <resolv.h> header file have been deprecated. They were already + unimplemented. + * DNSSEC-related declarations and definitions have been removed from the <arpa/nameser.h> header file, and libresolv will no longer attempt to decode the data part of DNSSEC record types. Previous versions of glibc diff --git a/misc/sys/cdefs.h b/misc/sys/cdefs.h index 935a94b466..50e00e6711 100644 --- a/misc/sys/cdefs.h +++ b/misc/sys/cdefs.h @@ -472,4 +472,14 @@ # endif #endif +/* __glibc_macro_warning (MESSAGE) issues warning MESSAGE. This is + intended for use in preprocessor macros. */ +#if __GNUC_PREREQ (4,8) +# define __glibc_macro_warning1(message) _Pragma (#message) +# define __glibc_macro_warning(message) \ + __glibc_macro_warning1 (GCC warning message) +#else +# define __glibc_macro_warning(msg) +#endif + #endif /* sys/cdefs.h */ diff --git a/resolv/res_debug.c b/resolv/res_debug.c index 9b33e19497..825e8a6598 100644 --- a/resolv/res_debug.c +++ b/resolv/res_debug.c @@ -546,9 +546,7 @@ p_option(u_long option) { switch (option) { case RES_INIT: return "init"; case RES_DEBUG: return "debug"; - case RES_AAONLY: return "aaonly(unimpl)"; case RES_USEVC: return "use-vc"; - case RES_PRIMARY: return "primry(unimpl)"; case RES_IGNTC: return "igntc"; case RES_RECURSE: return "recurs"; case RES_DEFNAMES: return "defnam"; @@ -559,8 +557,6 @@ p_option(u_long option) { case RES_NOALIASES: return "noaliases"; case RES_USE_INET6: return "inet6"; case RES_ROTATE: return "rotate"; - case RES_NOCHECKNAME: return "no-check-names(unimpl)"; - case RES_KEEPTSIG: return "keeptsig(unimpl)"; case RES_BLAST: return "blast"; case RES_USEBSTRING: return "ip6-bytestring"; case RES_NOIP6DOTINT: return "no-ip6-dotint"; diff --git a/resolv/res_init.c b/resolv/res_init.c index 0a01fd56db..1cfa4e6da9 100644 --- a/resolv/res_init.c +++ b/resolv/res_init.c @@ -442,7 +442,6 @@ res_setoptions(res_state statp, const char *options, const char *source) { { STRnLEN ("no-ip6-dotint"), 0, RES_NOIP6DOTINT }, { STRnLEN ("ip6-dotint"), 1, ~RES_NOIP6DOTINT }, { STRnLEN ("rotate"), 0, RES_ROTATE }, - { STRnLEN ("no-check-names"), 0, RES_NOCHECKNAME }, { STRnLEN ("edns0"), 0, RES_USE_EDNS0 }, { STRnLEN ("single-request-reopen"), 0, RES_SNGLKUPREOP }, { STRnLEN ("single-request"), 0, RES_SNGLKUP }, diff --git a/resolv/resolv.h b/resolv/resolv.h index 58c3c38743..9146258bd4 100644 --- a/resolv/resolv.h +++ b/resolv/resolv.h @@ -177,9 +177,11 @@ struct res_sym { */ #define RES_INIT 0x00000001 /* address initialized */ #define RES_DEBUG 0x00000002 /* print debug messages */ -#define RES_AAONLY 0x00000004 /* authoritative answers only (!IMPL)*/ +#define RES_AAONLY \ + __glibc_macro_warning ("RES_AAONLY is deprecated") 0x00000004 #define RES_USEVC 0x00000008 /* use virtual circuit */ -#define RES_PRIMARY 0x00000010 /* query primary server only (!IMPL) */ +#define RES_PRIMARY \ + __glibc_macro_warning ("RES_PRIMARY is deprecated") 0x00000010 #define RES_IGNTC 0x00000020 /* ignore trucation errors */ #define RES_RECURSE 0x00000040 /* recursion desired */ #define RES_DEFNAMES 0x00000080 /* use default domain name */ @@ -190,8 +192,10 @@ struct res_sym { #define RES_NOALIASES 0x00001000 /* shuts off HOSTALIASES feature */ #define RES_USE_INET6 0x00002000 /* use/map IPv6 in gethostbyname() */ #define RES_ROTATE 0x00004000 /* rotate ns list after each query */ -#define RES_NOCHECKNAME 0x00008000 /* do not check names for sanity (!IMPL) */ -#define RES_KEEPTSIG 0x00010000 /* do not strip TSIG records */ +#define RES_NOCHECKNAME \ + __glibc_macro_warning ("RES_NOCHECKNAME is deprecated") 0x00008000 +#define RES_KEEPTSIG \ + __glibc_macro_warning ("RES_KEEPTSIG is deprecated") 0x00010000 #define RES_BLAST 0x00020000 /* blast all recursive servers */ #define RES_USEBSTRING 0x00040000 /* IPv6 reverse lookup with byte strings */ |