diff options
author | Florian Weimer <fweimer@redhat.com> | 2021-07-19 07:55:27 +0200 |
---|---|---|
committer | Florian Weimer <fweimer@redhat.com> | 2021-07-19 07:56:21 +0200 |
commit | 72a51ac647b2fc33a44434d3d125a844801609ae (patch) | |
tree | 7654bc554282d2f2e9c14a03a6639a241fa69b9e /resolv/res_send.c | |
parent | 762a2b2d341a9d6a4ea088479616907c5b4e9a7b (diff) | |
download | glibc-72a51ac647b2fc33a44434d3d125a844801609ae.tar.gz glibc-72a51ac647b2fc33a44434d3d125a844801609ae.tar.xz glibc-72a51ac647b2fc33a44434d3d125a844801609ae.zip |
resolv: Move res_nameinquery to its own file and into libc
And reformat to GNU style. This deprecated function is used in the implementation of the stub resolver (for now). Keep the public symbol in libresolv for now (so that no new symbol version is needed), and add a forwarder to libresolv. Reviewed-by: Carlos O'Donell <carlos@redhat.com> Tested-by: Carlos O'Donell <carlos@redhat.com>
Diffstat (limited to 'resolv/res_send.c')
-rw-r--r-- | resolv/res_send.c | 43 |
1 files changed, 1 insertions, 42 deletions
diff --git a/resolv/res_send.c b/resolv/res_send.c index dfea9fc7fa..a5a33e6f3b 100644 --- a/resolv/res_send.c +++ b/resolv/res_send.c @@ -191,47 +191,6 @@ static int send_dg(res_state, const u_char *, int, u_char **, int *, int *, int *); static int sock_eq(struct sockaddr_in6 *, struct sockaddr_in6 *); -/* Public. */ - -/* int - * res_nameinquery(name, type, class, buf, eom) - * look for (name,type,class) in the query section of packet (buf,eom) - * requires: - * buf + HFIXEDSZ <= eom - * returns: - * -1 : format error - * 0 : not found - * >0 : found - * author: - * paul vixie, 29may94 - */ -int -res_nameinquery(const char *name, int type, int class, - const u_char *buf, const u_char *eom) -{ - const u_char *cp = buf + HFIXEDSZ; - int qdcount = ntohs(((HEADER*)buf)->qdcount); - - while (qdcount-- > 0) { - char tname[MAXDNAME+1]; - int n, ttype, tclass; - - n = __libc_dn_expand (buf, eom, cp, tname, sizeof tname); - if (n < 0) - return (-1); - cp += n; - if (cp + 2 * INT16SZ > eom) - return (-1); - NS_GET16(ttype, cp); - NS_GET16(tclass, cp); - if (ttype == type && tclass == class - && __libc_ns_samename (tname, name) == 1) - return (1); - } - return (0); -} -libresolv_hidden_def (res_nameinquery) - /* Returns a shift value for the name server index. Used to implement RES_ROTATE. */ static unsigned int @@ -337,7 +296,7 @@ res_queriesmatch(const u_char *buf1, const u_char *eom1, return (-1); NS_GET16(ttype, cp); NS_GET16(tclass, cp); - if (!res_nameinquery(tname, ttype, tclass, buf2, eom2)) + if (!__libc_res_nameinquery (tname, ttype, tclass, buf2, eom2)) return (0); } return (1); |