]> git.ipfire.org Git - thirdparty/freeradius-server.git/commitdiff
dladdr() isn't posix. Fixes #1113
authorAlan T. DeKok <aland@freeradius.org>
Fri, 3 Jul 2015 14:26:43 +0000 (10:26 -0400)
committerAlan T. DeKok <aland@freeradius.org>
Fri, 3 Jul 2015 14:27:18 +0000 (10:27 -0400)
configure
configure.ac
src/main/modules.c

index b78826d95c2d5991590f6908fe1bc7941a3fe63a..5021b6522e65f597dacb883df51bd4a34a167d88 100755 (executable)
--- a/configure
+++ b/configure
@@ -9963,7 +9963,8 @@ for ac_func in \
   openat \
   mkdirat \
   unlinkat \
-  bindat
+  bindat \
+  dladdr
 
 do :
   as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
index 8723bf4d9ab038695d8e360757e9288edf94ecbf..5b05c56775bc71ecb3d7b9d21a41461308ef0abc 100644 (file)
@@ -1466,7 +1466,8 @@ AC_CHECK_FUNCS( \
   openat \
   mkdirat \
   unlinkat \
-  bindat
+  bindat \
+  dladdr
 )
 
 AC_TYPE_SIGNAL
index e0a845f90e3ec43914c9963819ac11ab918f7836..39f52ba31c8e7b6583b52a2c84fad7235b76d31e 100644 (file)
@@ -109,11 +109,15 @@ const section_type_value_t section_type_value[MOD_COUNT] = {
  */
 static int check_module_magic(CONF_SECTION *cs, module_t const *module)
 {
+#ifdef HAVE_DLADDR
        Dl_info dl_info;
        dladdr(module, &dl_info);
+#endif
 
        if (MAGIC_PREFIX(module->magic) != MAGIC_PREFIX(RADIUSD_MAGIC_NUMBER)) {
+#ifdef HAVE_DLADDR
                cf_log_err_cs(cs, "Failed loading module rlm_%s from file %s", module->name, dl_info.dli_fname);
+#endif
                cf_log_err_cs(cs, "Application and rlm_%s magic number (prefix) mismatch."
                              "  application: %x module: %x", module->name,
                              MAGIC_PREFIX(RADIUSD_MAGIC_NUMBER),
@@ -122,7 +126,9 @@ static int check_module_magic(CONF_SECTION *cs, module_t const *module)
        }
 
        if (MAGIC_VERSION(module->magic) != MAGIC_VERSION(RADIUSD_MAGIC_NUMBER)) {
+#ifdef HAVE_DLADDR
                cf_log_err_cs(cs, "Failed loading module rlm_%s from file %s", module->name, dl_info.dli_fname);
+#endif
                cf_log_err_cs(cs, "Application and rlm_%s magic number (version) mismatch."
                              "  application: %lx module: %lx", module->name,
                              (unsigned long) MAGIC_VERSION(RADIUSD_MAGIC_NUMBER),
@@ -131,7 +137,9 @@ static int check_module_magic(CONF_SECTION *cs, module_t const *module)
        }
 
        if (MAGIC_COMMIT(module->magic) != MAGIC_COMMIT(RADIUSD_MAGIC_NUMBER)) {
+#ifdef HAVE_DLADDR
                cf_log_err_cs(cs, "Failed loading module rlm_%s from file %s", module->name, dl_info.dli_fname);
+#endif
                cf_log_err_cs(cs, "Application and rlm_%s magic number (commit) mismatch."
                              "  application: %lx module: %lx", module->name,
                              (unsigned long) MAGIC_COMMIT(RADIUSD_MAGIC_NUMBER),