prevent CNAME/PTR parsing from reading data past the response end
[musl] / src / network / lookup.h
index 329aaa7..54b2f8b 100644 (file)
@@ -3,6 +3,19 @@
 
 #include <stdint.h>
 #include <stddef.h>
+#include <features.h>
+#include <netinet/in.h>
+#include <netdb.h>
+
+struct aibuf {
+       struct addrinfo ai;
+       union sa {
+               struct sockaddr_in sin;
+               struct sockaddr_in6 sin6;
+       } sa;
+       volatile int lock[1];
+       short slot, ref;
+};
 
 struct address {
        int family;
@@ -30,12 +43,13 @@ struct resolvconf {
 #define MAXADDRS 48
 #define MAXSERVS 2
 
-int __lookup_serv(struct service buf[static MAXSERVS], const char *name, int proto, int socktype, int flags);
-int __lookup_name(struct address buf[static MAXADDRS], char canon[static 256], const char *name, int family, int flags);
-int __lookup_ipliteral(struct address buf[static 1], const char *name, int family);
+hidden int __lookup_serv(struct service buf[static MAXSERVS], const char *name, int proto, int socktype, int flags);
+hidden int __lookup_name(struct address buf[static MAXADDRS], char canon[static 256], const char *name, int family, int flags);
+hidden int __lookup_ipliteral(struct address buf[static 1], const char *name, int family);
 
-int __get_resolv_conf(struct resolvconf *, char *, size_t);
+hidden int __get_resolv_conf(struct resolvconf *, char *, size_t);
+hidden int __res_msend_rc(int, const unsigned char *const *, const int *, unsigned char *const *, int *, int, const struct resolvconf *);
 
-int __dns_parse(const unsigned char *, int, int (*)(void *, int, const void *, int, const void *), void *);
+hidden int __dns_parse(const unsigned char *, int, int (*)(void *, int, const void *, int, const void *, int), void *);
 
 #endif