diff -p -up ./libxmlsec/xmlsec1-1.2.6.patch.orig_ ./libxmlsec/xmlsec1-1.2.6.patch --- ./libxmlsec/xmlsec1-1.2.6.patch.orig_ 2009-12-16 15:18:47.000000000 -0500 +++ ./libxmlsec/xmlsec1-1.2.6.patch 2009-12-16 15:22:24.000000000 -0500 @@ -15361,3 +15361,183 @@ XMLSEC_NSS_ALIBS = smime3.lib ssl3.lib nss3.lib libnspr4_s.lib libplds4_s.lib libplc4_s.lib kernel32.lib user32.lib gdi32.lib XMLSEC_MSCRYPTO_SOLIBS = kernel32.lib user32.lib gdi32.lib Crypt32.lib Advapi32.lib +diff -p -up xmlsec1-1.2.10/src/ltdl.c.ltdl xmlsec1-1.2.10/src/ltdl.c +--- misc/xmlsec1-1.2.6/src/ltdl.c.ltdl 2003-09-11 19:40:14.000000000 -0400 ++++ misc/build/xmlsec1-1.2.6/src/ltdl.c 2009-11-26 15:23:46.000000000 -0500 +@@ -1426,9 +1426,10 @@ lt_dlexit () + } + + static int +-tryall_dlopen (handle, filename) ++tryall_dlopen (handle, filename, useloader) + lt_dlhandle *handle; + const char *filename; ++ const char *useloader; + { + lt_dlhandle cur; + lt_dlloader *loader; +@@ -1484,6 +1485,11 @@ tryall_dlopen (handle, filename) + + while (loader) + { ++ if (useloader && strcmp(loader->loader_name, useloader)) ++ { ++ loader = loader->next; ++ continue; ++ } + lt_user_data data = loader->dlloader_data; + + cur->module = loader->module_open (data, filename); +@@ -1526,7 +1532,7 @@ find_module (handle, dir, libdir, dlname + /* try to open the old library first; if it was dlpreopened, + we want the preopened version of it, even if a dlopenable + module is available */ +- if (old_name && tryall_dlopen(handle, old_name) == 0) ++ if (old_name && tryall_dlopen(handle, old_name, "dlpreload") == 0) + { + return 0; + } +@@ -1549,7 +1555,7 @@ find_module (handle, dir, libdir, dlname + } + + sprintf (filename, "%s/%s", libdir, dlname); +- error = (tryall_dlopen (handle, filename) != 0); ++ error = (tryall_dlopen (handle, filename, NULL) != 0); + LT_DLFREE (filename); + + if (!error) +@@ -1581,7 +1587,7 @@ find_module (handle, dir, libdir, dlname + strcat(filename, objdir); + strcat(filename, dlname); + +- error = tryall_dlopen (handle, filename) != 0; ++ error = tryall_dlopen (handle, filename, NULL) != 0; + LT_DLFREE (filename); + if (!error) + { +@@ -1604,7 +1610,7 @@ find_module (handle, dir, libdir, dlname + } + strcat(filename, dlname); + +- error = (tryall_dlopen (handle, filename) != 0); ++ error = (tryall_dlopen (handle, filename, NULL) != 0); + LT_DLFREE (filename); + if (!error) + { +@@ -1719,7 +1725,7 @@ find_file (basename, search_path, pdir, + strcpy(filename+lendir, basename); + if (handle) + { +- if (tryall_dlopen (handle, filename) == 0) ++ if (tryall_dlopen (handle, filename, NULL) == 0) + { + result = (lt_ptr) handle; + goto cleanup; +@@ -2032,7 +2038,7 @@ lt_dlopen (filename) + /* lt_dlclose()ing yourself is very bad! Disallow it. */ + LT_DLSET_FLAG (handle, LT_DLRESIDENT_FLAG); + +- if (tryall_dlopen (&newhandle, 0) != 0) ++ if (tryall_dlopen (&newhandle, 0, NULL) != 0) + { + LT_DLFREE (handle); + return 0; +@@ -2324,7 +2330,7 @@ lt_dlopen (filename) + #ifdef LTDL_SYSSEARCHPATH + && !find_file (basename, sys_search_path, 0, &newhandle) + #endif +- )) && tryall_dlopen (&newhandle, filename)) ++ )) && tryall_dlopen (&newhandle, filename, NULL)) + { + LT_DLFREE (handle); + goto cleanup; +diff -p -up xmlsec1-1.2.10/src/xmlsec-ltdl.c.ltdl xmlsec1-1.2.10/src/xmlsec-ltdl.c +--- misc/xmlsec1-1.2.6/src/xmlsec-ltdl.c.ltdl 2006-06-12 16:15:08.000000000 -0400 ++++ misc/build/xmlsec1-1.2.6/src/xmlsec-ltdl.c 2009-11-26 15:25:33.000000000 -0500 +@@ -1426,9 +1426,10 @@ xmlsec_lt_dlexit () + } + + static int +-tryall_dlopen (handle, filename) ++tryall_dlopen (handle, filename, useloader) + xmlsec_lt_dlhandle *handle; + const char *filename; ++ const char *useloader; + { + xmlsec_lt_dlhandle cur; + xmlsec_lt_dlloader *loader; +@@ -1484,6 +1485,11 @@ tryall_dlopen (handle, filename) + + while (loader) + { ++ if (useloader && strcmp(loader->loader_name, useloader)) ++ { ++ loader = loader->next; ++ continue; ++ } + xmlsec_lt_user_data data = loader->dlloader_data; + + cur->module = loader->module_open (data, filename); +@@ -1526,7 +1532,7 @@ find_module (handle, dir, libdir, dlname + /* try to open the old library first; if it was dlpreopened, + we want the preopened version of it, even if a dlopenable + module is available */ +- if (old_name && tryall_dlopen(handle, old_name) == 0) ++ if (old_name && tryall_dlopen(handle, old_name, "dlpreload") == 0) + { + return 0; + } +@@ -1549,7 +1555,7 @@ find_module (handle, dir, libdir, dlname + } + + sprintf (filename, "%s/%s", libdir, dlname); +- error = (tryall_dlopen (handle, filename) != 0); ++ error = (tryall_dlopen (handle, filename, NULL) != 0); + LT_DLFREE (filename); + + if (!error) +@@ -1581,7 +1587,7 @@ find_module (handle, dir, libdir, dlname + strcat(filename, objdir); + strcat(filename, dlname); + +- error = tryall_dlopen (handle, filename) != 0; ++ error = tryall_dlopen (handle, filename, NULL) != 0; + LT_DLFREE (filename); + if (!error) + { +@@ -1604,7 +1610,7 @@ find_module (handle, dir, libdir, dlname + } + strcat(filename, dlname); + +- error = (tryall_dlopen (handle, filename) != 0); ++ error = (tryall_dlopen (handle, filename, NULL) != 0); + LT_DLFREE (filename); + if (!error) + { +@@ -1719,7 +1725,7 @@ find_file (basename, search_path, pdir, + strcpy(filename+lendir, basename); + if (handle) + { +- if (tryall_dlopen (handle, filename) == 0) ++ if (tryall_dlopen (handle, filename, NULL) == 0) + { + result = (xmlsec_lt_ptr) handle; + goto cleanup; +@@ -2032,7 +2038,7 @@ xmlsec_lt_dlopen (filename) + /* xmlsec_lt_dlclose()ing yourself is very bad! Disallow it. */ + LT_DLSET_FLAG (handle, LT_DLRESIDENT_FLAG); + +- if (tryall_dlopen (&newhandle, 0) != 0) ++ if (tryall_dlopen (&newhandle, 0, NULL) != 0) + { + LT_DLFREE (handle); + return 0; +@@ -2324,7 +2330,7 @@ xmlsec_lt_dlopen (filename) + #ifdef LTDL_SYSSEARCHPATH + && !find_file (basename, sys_search_path, 0, &newhandle) + #endif +- )) && tryall_dlopen (&newhandle, filename)) ++ )) && tryall_dlopen (&newhandle, filename, NULL)) + { + LT_DLFREE (handle); + goto cleanup;