Another try at OpenBSD fixes.

nameser_compat.h is required on Darwin, but doesn't exist on
OpenBSD. Also, OpenBSD doesn't support the ns_c_in or ns_t_srv enums,
so the C_IN and T_SRV macros are required.
This commit is contained in:
Jack Moffitt
2012-02-10 22:10:32 -07:00
parent aadc58711b
commit 713cfa245a
2 changed files with 5 additions and 1 deletions

View File

@@ -36,6 +36,7 @@ fi
AC_MSG_NOTICE([libstrophe will use the $with_parser XML parser])
AC_SEARCH_LIBS([socket], [socket])
AC_SEARCH_LIBS([res_9_query], [resolv])
AC_CHECK_HEADERS([arpa/nameser_compat.h])
AM_CONDITIONAL([PARSER_EXPAT], [test x$with_parser != xlibxml2])
AC_SUBST(PARSER_NAME)

View File

@@ -35,6 +35,9 @@
#include <netdb.h>
#include <fcntl.h>
#include <arpa/nameser.h>
#ifdef HAVE_ARPA_NAMESER_COMPAT_H
#include <arpa/nameser_compat.h>
#endif
#include <resolv.h>
#endif
@@ -865,7 +868,7 @@ int sock_srv_lookup(const char *service, const char *proto, const char *domain,
unsigned char buf[65535];
int len;
if ((len = res_query(fulldomain, ns_c_in, ns_t_srv, buf, 65535)) > 0) {
if ((len = res_query(fulldomain, C_IN, T_SRV, buf, 65535)) > 0) {
int offset;
int i;
struct dnsquery_header header;