summaryrefslogtreecommitdiff
path: root/testing/cyrus-sasl/0030-dont_use_la_files_for_opening_plugins.patch
diff options
context:
space:
mode:
Diffstat (limited to 'testing/cyrus-sasl/0030-dont_use_la_files_for_opening_plugins.patch')
-rw-r--r--testing/cyrus-sasl/0030-dont_use_la_files_for_opening_plugins.patch134
1 files changed, 0 insertions, 134 deletions
diff --git a/testing/cyrus-sasl/0030-dont_use_la_files_for_opening_plugins.patch b/testing/cyrus-sasl/0030-dont_use_la_files_for_opening_plugins.patch
deleted file mode 100644
index 14a322496..000000000
--- a/testing/cyrus-sasl/0030-dont_use_la_files_for_opening_plugins.patch
+++ /dev/null
@@ -1,134 +0,0 @@
---- a/lib/dlopen.c
-+++ b/lib/dlopen.c
-@@ -247,105 +247,6 @@ static int _sasl_plugin_load(char *plugi
- return result;
- }
-
--/* this returns the file to actually open.
-- * out should be a buffer of size PATH_MAX
-- * and may be the same as in. */
--
--/* We'll use a static buffer for speed unless someone complains */
--#define MAX_LINE 2048
--
--static int _parse_la(const char *prefix, const char *in, char *out)
--{
-- FILE *file;
-- size_t length;
-- char line[MAX_LINE];
-- char *ntmp = NULL;
--
-- if(!in || !out || !prefix || out == in) return SASL_BADPARAM;
--
-- /* Set this so we can detect failure */
-- *out = '\0';
--
-- length = strlen(in);
--
-- if (strcmp(in + (length - strlen(LA_SUFFIX)), LA_SUFFIX)) {
-- if(!strcmp(in + (length - strlen(SO_SUFFIX)),SO_SUFFIX)) {
-- /* check for a .la file */
-- strcpy(line, prefix);
-- strcat(line, in);
-- length = strlen(line);
-- *(line + (length - strlen(SO_SUFFIX))) = '\0';
-- strcat(line, LA_SUFFIX);
-- file = fopen(line, "r");
-- if(file) {
-- /* We'll get it on the .la open */
-- fclose(file);
-- return SASL_FAIL;
-- }
-- }
-- strcpy(out, prefix);
-- strcat(out, in);
-- return SASL_OK;
-- }
--
-- strcpy(line, prefix);
-- strcat(line, in);
--
-- file = fopen(line, "r");
-- if(!file) {
-- _sasl_log(NULL, SASL_LOG_WARN,
-- "unable to open LA file: %s", line);
-- return SASL_FAIL;
-- }
--
-- while(!feof(file)) {
-- if(!fgets(line, MAX_LINE, file)) break;
-- if(line[strlen(line) - 1] != '\n') {
-- _sasl_log(NULL, SASL_LOG_WARN,
-- "LA file has too long of a line: %s", in);
-- return SASL_BUFOVER;
-- }
-- if(line[0] == '\n' || line[0] == '#') continue;
-- if(!strncmp(line, "dlname=", sizeof("dlname=") - 1)) {
-- /* We found the line with the name in it */
-- char *end;
-- char *start;
-- size_t len;
-- end = strrchr(line, '\'');
-- if(!end) continue;
-- start = &line[sizeof("dlname=")-1];
-- len = strlen(start);
-- if(len > 3 && start[0] == '\'') {
-- ntmp=&start[1];
-- *end='\0';
-- /* Do we have dlname="" ? */
-- if(ntmp == end) {
-- _sasl_log(NULL, SASL_LOG_DEBUG,
-- "dlname is empty in .la file: %s", in);
-- return SASL_FAIL;
-- }
-- strcpy(out, prefix);
-- strcat(out, ntmp);
-- }
-- break;
-- }
-- }
-- if(ferror(file) || feof(file)) {
-- _sasl_log(NULL, SASL_LOG_WARN,
-- "Error reading .la: %s\n", in);
-- fclose(file);
-- return SASL_FAIL;
-- }
-- fclose(file);
--
-- if(!(*out)) {
-- _sasl_log(NULL, SASL_LOG_WARN,
-- "Could not find a dlname line in .la file: %s", in);
-- return SASL_FAIL;
-- }
--
-- return SASL_OK;
--}
- #endif /* DO_DLOPEN */
-
- /* loads a plugin library */
-@@ -499,18 +400,18 @@ int _sasl_load_plugins(const add_plugin_
- if (length + pos>=PATH_MAX) continue; /* too big */
-
- if (strcmp(dir->d_name + (length - strlen(SO_SUFFIX)),
-- SO_SUFFIX)
-- && strcmp(dir->d_name + (length - strlen(LA_SUFFIX)),
-- LA_SUFFIX))
-+ SO_SUFFIX))
- continue;
-
-+ /* We only use .so files for loading plugins */
-+
- memcpy(name,dir->d_name,length);
- name[length]='\0';
-
-- result = _parse_la(prefix, name, tmp);
-- if(result != SASL_OK)
-- continue;
--
-+ /* Create full name with path */
-+ strncpy(tmp, prefix, PATH_MAX);
-+ strncat(tmp, name, PATH_MAX);
-+
- /* skip "lib" and cut off suffix --
- this only need be approximate */
- strcpy(plugname, name + 3);