From 9970114f558927564d9c19be969c3c35db3b0edf Mon Sep 17 00:00:00 2001 From: Pavel Zhukov Date: Tue, 22 Jun 2021 06:58:40 +0200 Subject: [PATCH 28/28] Use system getaddrinfo for dhcp --- .../lib/irs/include/irs/netdb.h.in | 94 +++++++++++++++++++ 1 file changed, 94 insertions(+) diff --git a/bind/bind-9.11.36/lib/irs/include/irs/netdb.h.in b/bind/bind-9.11.36/lib/irs/include/irs/netdb.h.in index 427fef8..74069b5 100644 --- a/bind/bind-9.11.36/lib/irs/include/irs/netdb.h.in +++ b/bind/bind-9.11.36/lib/irs/include/irs/netdb.h.in @@ -150,6 +150,100 @@ struct addrinfo { #define NI_NUMERICSERV 0x00000008 #define NI_DGRAM 0x00000010 +/* + * Define to map into irs_ namespace. + */ + +#define IRS_NAMESPACE + +#ifdef IRS_NAMESPACE + +/* + * Use our versions not the ones from the C library. + */ + +#ifdef getnameinfo +#undef getnameinfo +#endif +#define getnameinfo irs_getnameinfo + +#ifdef getaddrinfo +#undef getaddrinfo +#endif +#define getaddrinfo irs_getaddrinfo + +#ifdef freeaddrinfo +#undef freeaddrinfo +#endif +#define freeaddrinfo irs_freeaddrinfo + +#ifdef gai_strerror +#undef gai_strerror +#endif +#define gai_strerror irs_gai_strerror + +#endif + +extern int getaddrinfo (const char *name, + const char *service, + const struct addrinfo *req, + struct addrinfo **pai); +extern int getnameinfo (const struct sockaddr *sa, + socklen_t salen, char *host, + socklen_t hostlen, char *serv, + socklen_t servlen, int flags); +extern void freeaddrinfo (struct addrinfo *ai); +extern const char *gai_strerror (int ecode); + +/* + * Define to map into irs_ namespace. + */ + +#define IRS_NAMESPACE + +#ifdef IRS_NAMESPACE + +/* + * Use our versions not the ones from the C library. + */ + +#ifdef getnameinfo +#undef getnameinfo +#endif +#define getnameinfo irs_getnameinfo + +#ifdef getaddrinfo +#undef getaddrinfo +#endif +#define getaddrinfo irs_getaddrinfo + +#ifdef freeaddrinfo +#undef freeaddrinfo +#endif +#define freeaddrinfo irs_freeaddrinfo + +#ifdef gai_strerror +#undef gai_strerror +#endif +#define gai_strerror irs_gai_strerror + +int +getaddrinfo(const char *hostname, const char *servname, + const struct addrinfo *hints, struct addrinfo **res); + +int +getnameinfo(const struct sockaddr *sa, IRS_GETNAMEINFO_SOCKLEN_T salen, + char *host, IRS_GETNAMEINFO_BUFLEN_T hostlen, + char *serv, IRS_GETNAMEINFO_BUFLEN_T servlen, + IRS_GETNAMEINFO_FLAGS_T flags); + +void freeaddrinfo (struct addrinfo *ai); + +IRS_GAISTRERROR_RETURN_T +gai_strerror(int ecode); + +#endif + /* * Tell Emacs to use C mode on this file. * Local variables: -- 2.35.1