summaryrefslogtreecommitdiff
path: root/source4/heimdal/lib/gssapi/mech/gss_mech_switch.c
diff options
context:
space:
mode:
authorAndrew Bartlett <abartlet@samba.org>2011-01-31 15:59:06 +1100
committerAndrew Bartlett <abartlet@samba.org>2011-02-02 15:19:03 +1100
commit2d9bcc861d6b2cd67d7c6439e90d9ac4a600f0f2 (patch)
treece681728eb91875b60b70d34247a0f07772ec411 /source4/heimdal/lib/gssapi/mech/gss_mech_switch.c
parent3d4a9ddc244bd4937af9ff1c6e898ab45a7d28b5 (diff)
downloadsamba-2d9bcc861d6b2cd67d7c6439e90d9ac4a600f0f2.tar.gz
samba-2d9bcc861d6b2cd67d7c6439e90d9ac4a600f0f2.tar.bz2
samba-2d9bcc861d6b2cd67d7c6439e90d9ac4a600f0f2.zip
s4:heimdal: import lorikeet-heimdal-201101310455 (commit aa88eb1a05c4985cc23fb65fc1bad75bdce01c1f)
Diffstat (limited to 'source4/heimdal/lib/gssapi/mech/gss_mech_switch.c')
-rw-r--r--source4/heimdal/lib/gssapi/mech/gss_mech_switch.c16
1 files changed, 10 insertions, 6 deletions
diff --git a/source4/heimdal/lib/gssapi/mech/gss_mech_switch.c b/source4/heimdal/lib/gssapi/mech/gss_mech_switch.c
index b1368db91c..a68d345e30 100644
--- a/source4/heimdal/lib/gssapi/mech/gss_mech_switch.c
+++ b/source4/heimdal/lib/gssapi/mech/gss_mech_switch.c
@@ -194,7 +194,7 @@ add_builtin(gssapi_mech_interface mech)
if (m->gm_name_types == NULL)
gss_create_empty_oid_set(&minor_status, &m->gm_name_types);
- SLIST_INSERT_HEAD(&_gss_mechs, m, gm_link);
+ HEIM_SLIST_INSERT_HEAD(&_gss_mechs, m, gm_link);
return 0;
}
@@ -217,7 +217,7 @@ _gss_load_mech(void)
HEIMDAL_MUTEX_lock(&_gss_mech_mutex);
- if (SLIST_FIRST(&_gss_mechs)) {
+ if (HEIM_SLIST_FIRST(&_gss_mechs)) {
HEIMDAL_MUTEX_unlock(&_gss_mech_mutex);
return;
}
@@ -262,7 +262,7 @@ _gss_load_mech(void)
* Check for duplicates, already loaded mechs.
*/
found = 0;
- SLIST_FOREACH(m, &_gss_mechs, gm_link) {
+ HEIM_SLIST_FOREACH(m, &_gss_mechs, gm_link) {
if (gss_oid_equal(&m->gm_mech.gm_mech_oid, &mech_oid)) {
found = 1;
free(mech_oid.elements);
@@ -276,7 +276,11 @@ _gss_load_mech(void)
#define RTLD_LOCAL 0
#endif
- so = dlopen(lib, RTLD_LAZY | RTLD_LOCAL);
+#ifndef RTLD_GROUP
+#define RTLD_GROUP 0
+#endif
+
+ so = dlopen(lib, RTLD_LAZY | RTLD_LOCAL | RTLD_GROUP);
if (!so) {
/* fprintf(stderr, "dlopen: %s\n", dlerror()); */
free(mech_oid.elements);
@@ -338,7 +342,7 @@ _gss_load_mech(void)
OPTSYM(unwrap_iov);
OPTSYM(wrap_iov_length);
- SLIST_INSERT_HEAD(&_gss_mechs, m, gm_link);
+ HEIM_SLIST_INSERT_HEAD(&_gss_mechs, m, gm_link);
continue;
bad:
@@ -358,7 +362,7 @@ __gss_get_mechanism(gss_const_OID mech)
struct _gss_mech_switch *m;
_gss_load_mech();
- SLIST_FOREACH(m, &_gss_mechs, gm_link) {
+ HEIM_SLIST_FOREACH(m, &_gss_mechs, gm_link) {
if (gss_oid_equal(&m->gm_mech.gm_mech_oid, mech))
return &m->gm_mech;
}