[sudo-users] Yet another sudo/pam issue with 1.8.1p2

Todd C. Miller Todd.Miller at courtesan.com
Mon Jul 11 15:39:59 EDT 2011


This will be fixed in sudo 1.8.2, which is in release candidate
stage.  Below is the fix, though you can also work around the problem
by adding "-lpam" to LIBS in src/Makefile.

 - todd

diff -r 19a73c6d017c -r 0d016983ec84 plugins/sudoers/group_plugin.c
--- a/plugins/sudoers/group_plugin.c	Mon Jun 06 08:46:50 2011 -0400
+++ b/plugins/sudoers/group_plugin.c	Mon Jun 06 10:53:58 2011 -0400
@@ -54,8 +54,8 @@
 
 #include "sudoers.h"
 
-#ifndef RTLD_LOCAL
-# define RTLD_LOCAL	0
+#ifndef RTLD_GLOBAL
+# define RTLD_GLOBAL	0
 #endif
 
 static void *group_handle;
@@ -109,7 +109,7 @@
     }
 
     /* Open plugin and map in symbol. */
-    group_handle = dlopen(path, RTLD_LAZY|RTLD_LOCAL);
+    group_handle = dlopen(path, RTLD_LAZY|RTLD_GLOBAL);
     if (!group_handle) {
 	warningx(_("unable to dlopen %s: %s"), path, dlerror());
 	goto done;
diff -r 19a73c6d017c -r 0d016983ec84 src/load_plugins.c
--- a/src/load_plugins.c	Mon Jun 06 08:46:50 2011 -0400
+++ b/src/load_plugins.c	Mon Jun 06 10:53:58 2011 -0400
@@ -48,8 +48,8 @@
 #include "sudo_plugin.h"
 #include "sudo_plugin_int.h"
 
-#ifndef RTLD_LOCAL
-# define RTLD_LOCAL	0
+#ifndef RTLD_GLOBAL
+# define RTLD_GLOBAL	0
 #endif
 
 const char *noexec_path = _PATH_SUDO_NOEXEC;
@@ -176,7 +176,7 @@
 	}
 
 	/* Open plugin and map in symbol */
-	handle = dlopen(path, RTLD_LAZY|RTLD_LOCAL);
+	handle = dlopen(path, RTLD_LAZY|RTLD_GLOBAL);
 	if (!handle) {
 	    warningx(_("unable to dlopen %s: %s"), path, dlerror());
 	    goto done;



More information about the sudo-users mailing list