summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorAndreas Schneider <asn@samba.org>2015-01-12 17:32:45 +0100
committerAndreas Schneider <asn@cryptomilk.org>2015-01-13 16:57:10 +0100
commit931dbb3202248547bad484667247793d190f7ab0 (patch)
treeea2afbc0507a76a4e0848f1e653a924b702727f9 /lib
parenta2c1b8e07652d925771bad11e7f7dd962283439b (diff)
downloadsamba-931dbb3202248547bad484667247793d190f7ab0.tar.gz
rwrap: If we do not have ns_name_compress() use dn_comp().
This should fix older Linux versions which do not export ns_name_compress(). In newer glibc versions dn_comp() calls ns_name_compress(). BUG: https://bugzilla.samba.org/show_bug.cgi?id=11019 Reviewed-by: Jakub Hrozek <jakub.hrozek@gmail.com> Reviewed-by: Michael Adam <obnox@samba.org>
Diffstat (limited to 'lib')
-rw-r--r--lib/resolv_wrapper/resolv_wrapper.c4
-rw-r--r--lib/resolv_wrapper/wscript2
2 files changed, 6 insertions, 0 deletions
diff --git a/lib/resolv_wrapper/resolv_wrapper.c b/lib/resolv_wrapper/resolv_wrapper.c
index 7211ad087a4..c70ca64e92b 100644
--- a/lib/resolv_wrapper/resolv_wrapper.c
+++ b/lib/resolv_wrapper/resolv_wrapper.c
@@ -65,6 +65,10 @@
#define RWRAP_DEFAULT_FAKE_TTL 600
#endif /* RWRAP_DEFAULT_FAKE_TTL */
+#ifndef HAVE_NS_NAME_COMPRESS
+#define ns_name_compress dn_comp
+#endif
+
enum rwrap_dbglvl_e {
RWRAP_LOG_ERROR = 0,
RWRAP_LOG_WARN,
diff --git a/lib/resolv_wrapper/wscript b/lib/resolv_wrapper/wscript
index 3aff4d1e597..a84b1e97d7c 100644
--- a/lib/resolv_wrapper/wscript
+++ b/lib/resolv_wrapper/wscript
@@ -74,6 +74,8 @@ def configure(conf):
conf.CHECK_FUNCS_IN('res_search __res_search', 'resolv', checklibc=True)
conf.CHECK_FUNCS_IN('res_nsearch __res_nsearch', 'resolv', checklibc=True)
+ conf.CHECK_FUNCS_IN('ns_name_compress', 'resolv', checklibc=True)
+
# Create full path to resolv_wrapper
srcdir = os.path.realpath(conf.srcdir)
libresolv_wrapper_so_path = srcdir + '/bin/default/lib/resolv_wrapper/libresolv-wrapper.so'