about summary refs log tree commit diff
path: root/resolv/res_query.c
diff options
context:
space:
mode:
authorFlorian Weimer <fweimer@redhat.com>2021-07-19 07:55:27 +0200
committerFlorian Weimer <fweimer@redhat.com>2021-07-19 07:56:57 +0200
commitea9878ec271c791880fcbbe519d70c42f8113750 (patch)
treea26723d85e45c86be9ff7199f954418d34e7ef65 /resolv/res_query.c
parent21a497cc58df2b9b02dc687b97f105335e7a1c50 (diff)
downloadglibc-ea9878ec271c791880fcbbe519d70c42f8113750.tar.gz
glibc-ea9878ec271c791880fcbbe519d70c42f8113750.tar.xz
glibc-ea9878ec271c791880fcbbe519d70c42f8113750.zip
resolv: Move res_query functions into libc
This switches to public symbols without __ prefixes, due to improved
namespace management in glibc.

The script was used with --no-new-version to move the symbols
__res_nquery, __res_nquerydomain, __res_nsearch, __res_query,
__res_querydomain, __res_search, res_query, res_querydomain,
res_search.  The public symbols res_nquery, res_nquerydomain,
res_nsearch, res_ownok, res_query, res_querydomain, res_search
were added with make update-all-abi.

Reviewed-by: Carlos O'Donell <carlos@redhat.com>
Tested-by: Carlos O'Donell <carlos@redhat.com>
Diffstat (limited to 'resolv/res_query.c')
-rw-r--r--resolv/res_query.c88
1 files changed, 56 insertions, 32 deletions
diff --git a/resolv/res_query.c b/resolv/res_query.c
index 2457193d31..75b0e5f2f7 100644
--- a/resolv/res_query.c
+++ b/resolv/res_query.c
@@ -276,7 +276,7 @@ __res_context_query (struct resolv_context *ctx, const char *name,
  success:
 	return (n);
 }
-libresolv_hidden_def (__res_context_query)
+libc_hidden_def (__res_context_query)
 
 /* Common part of res_nquery and res_query.  */
 static int
@@ -296,23 +296,34 @@ context_query_common (struct resolv_context *ctx,
 }
 
 int
-res_nquery(res_state statp,
-	   const char *name,	/* domain name */
-	   int class, int type,	/* class and type of query */
-	   u_char *answer,	/* buffer to put answer */
-	   int anslen)		/* size of answer buffer */
+___res_nquery (res_state statp,
+	       const char *name,      /* Domain name.  */
+	       int class, int type,   /* Class and type of query.  */
+	       unsigned char *answer, /* Buffer to put answer.  */
+	       int anslen)	      /* Size of answer buffer.  */
 {
   return context_query_common
     (__resolv_context_get_override (statp), name, class, type, answer, anslen);
 }
+versioned_symbol (libc, ___res_nquery, res_nquery, GLIBC_2_34);
+#if OTHER_SHLIB_COMPAT (libresolv, GLIBC_2_2, GLIBC_2_34)
+compat_symbol (libresolv, ___res_nquery, __res_nquery, GLIBC_2_2);
+#endif
 
 int
-res_query (const char *name, int class, int type,
-	   unsigned char *answer, int anslen)
+___res_query (const char *name, int class, int type,
+	      unsigned char *answer, int anslen)
 {
   return context_query_common
     (__resolv_context_get (), name, class, type, answer, anslen);
 }
+versioned_symbol (libc, ___res_query, res_query, GLIBC_2_34);
+#if OTHER_SHLIB_COMPAT (libresolv, GLIBC_2_0, GLIBC_2_2)
+compat_symbol (libresolv, ___res_query, res_query, GLIBC_2_0);
+#endif
+#if OTHER_SHLIB_COMPAT (libresolv, GLIBC_2_2, GLIBC_2_34)
+compat_symbol (libresolv, ___res_query, __res_query, GLIBC_2_2);
+#endif
 
 /* Formulate a normal query, send, and retrieve answer in supplied
    buffer.  Return the size of the response on success, -1 on error.
@@ -515,7 +526,7 @@ __res_context_search (struct resolv_context *ctx,
 		RES_SET_H_ERRNO(statp, TRY_AGAIN);
 	return (-1);
 }
-libresolv_hidden_def (__res_context_search)
+libc_hidden_def (__res_context_search)
 
 /* Common part of res_nsearch and res_search.  */
 static int
@@ -535,23 +546,34 @@ context_search_common (struct resolv_context *ctx,
 }
 
 int
-res_nsearch(res_state statp,
-	    const char *name,	/* domain name */
-	    int class, int type,	/* class and type of query */
-	    u_char *answer,	/* buffer to put answer */
-	    int anslen)		/* size of answer */
+___res_nsearch (res_state statp,
+		const char *name,      /* Domain name.  */
+		int class, int type,   /* Class and type of query.  */
+		unsigned char *answer, /* Buffer to put answer.  */
+		int anslen)	       /* Size of answer.  */
 {
   return context_search_common
     (__resolv_context_get_override (statp), name, class, type, answer, anslen);
 }
+versioned_symbol (libc, ___res_nsearch, res_nsearch, GLIBC_2_34);
+#if OTHER_SHLIB_COMPAT (libresolv, GLIBC_2_2, GLIBC_2_34)
+compat_symbol (libresolv, ___res_nsearch, __res_nsearch, GLIBC_2_2);
+#endif
 
 int
-res_search (const char *name, int class, int type,
-	    unsigned char *answer, int anslen)
+___res_search (const char *name, int class, int type,
+	       unsigned char *answer, int anslen)
 {
   return context_search_common
     (__resolv_context_get (), name, class, type, answer, anslen);
 }
+versioned_symbol (libc, ___res_search, res_search, GLIBC_2_34);
+#if OTHER_SHLIB_COMPAT (libresolv, GLIBC_2_0, GLIBC_2_2)
+compat_symbol (libresolv, ___res_search, res_search, GLIBC_2_0);
+#endif
+#if OTHER_SHLIB_COMPAT (libresolv, GLIBC_2_2, GLIBC_2_34)
+compat_symbol (libresolv, ___res_search, __res_search, GLIBC_2_2);
+#endif
 
 /*  Perform a call on res_query on the concatenation of name and
     domain.  */
@@ -615,31 +637,33 @@ context_querydomain_common (struct resolv_context *ctx,
 }
 
 int
-res_nquerydomain(res_state statp,
-	    const char *name,
-	    const char *domain,
-	    int class, int type,	/* class and type of query */
-	    u_char *answer,		/* buffer to put answer */
-	    int anslen)		/* size of answer */
+___res_nquerydomain (res_state statp,
+		     const char *name,
+		     const char *domain,
+		     int class, int type, /* Class and type of query.  */
+		     unsigned char *answer, /* Buffer to put answer.  */
+		     int anslen)	    /* Size of answer.  */
 {
   return context_querydomain_common
     (__resolv_context_get_override (statp),
      name, domain, class, type, answer, anslen);
 }
+versioned_symbol (libc, ___res_nquerydomain, res_nquerydomain, GLIBC_2_34);
+#if OTHER_SHLIB_COMPAT (libresolv, GLIBC_2_2, GLIBC_2_34)
+compat_symbol (libresolv, ___res_nquerydomain, __res_nquerydomain, GLIBC_2_2);
+#endif
 
 int
-res_querydomain (const char *name, const char *domain, int class, int type,
-		 unsigned char *answer, int anslen)
+___res_querydomain (const char *name, const char *domain, int class, int type,
+		    unsigned char *answer, int anslen)
 {
   return context_querydomain_common
     (__resolv_context_get (), name, domain, class, type, answer, anslen);
 }
-
-#if SHLIB_COMPAT (libresolv, GLIBC_2_0, GLIBC_2_2)
-# undef res_query
-# undef res_querydomain
-# undef res_search
-weak_alias (__res_query, res_query);
-weak_alias (__res_querydomain, res_querydomain);
-weak_alias (__res_search, res_search);
+versioned_symbol (libc, ___res_querydomain, res_querydomain, GLIBC_2_34);
+#if OTHER_SHLIB_COMPAT (libresolv, GLIBC_2_0, GLIBC_2_2)
+compat_symbol (libresolv, ___res_querydomain, res_querydomain, GLIBC_2_0);
+#endif
+#if OTHER_SHLIB_COMPAT (libresolv, GLIBC_2_2, GLIBC_2_34)
+compat_symbol (libresolv, ___res_querydomain, __res_querydomain, GLIBC_2_2);
 #endif