Author: baggins Date: Fri Oct 21 12:46:48 2011 GMT Module: packages Tag: HEAD ---- Log message: - added passdss and ldapdb plugins - don't waste time trying to open plugins via .la files (from debian)
---- Files affected: packages/cyrus-sasl: cyrus-sasl.spec (1.214 -> 1.215) , 0030-dont_use_la_files_for_opening_plugins.patch (NONE -> 1.1) (NEW) ---- Diffs: ================================================================ Index: packages/cyrus-sasl/cyrus-sasl.spec diff -u packages/cyrus-sasl/cyrus-sasl.spec:1.214 packages/cyrus-sasl/cyrus-sasl.spec:1.215 --- packages/cyrus-sasl/cyrus-sasl.spec:1.214 Fri Oct 21 14:13:08 2011 +++ packages/cyrus-sasl/cyrus-sasl.spec Fri Oct 21 14:46:43 2011 @@ -1,6 +1,4 @@ # $Revision$, $Date$ -# TODO: -# - add ldap plugin from openldap sources # # Conditional build: %bcond_without cryptedpw # if you keep crypted passwords in your *sql @@ -26,7 +24,7 @@ Summary(uk.UTF-8): Бібліотека Cyrus SASL Name: cyrus-sasl Version: 2.1.25 -Release: 4.9 +Release: 4.99 License: distributable Group: Libraries Source0: ftp://ftp.cyrusimap.org/cyrus-sasl/%{name}-%{version}.tar.gz @@ -58,6 +56,7 @@ Patch19: 0034-fix_dovecot_authentication.patch Patch20: %{name}-auxprop.patch Patch21: %{name}-get_fqhostname.patch +Patch22: 0030-dont_use_la_files_for_opening_plugins.patch URL: http://asg.web.cmu.edu/sasl/ BuildRequires: autoconf >= 2.54 BuildRequires: automake >= 1:1.7 @@ -362,6 +361,34 @@ %description sasldb -l pl.UTF-8 Wtyczka sasldb do Cyrus SASL. +%package ldapdb +Summary: Cyrus SASL LDAPDB plugin +Summary(pl.UTF-8): Wtyczka LDAPDB do Cyrus SASL +Group: Libraries +Requires: %{name} = %{version}-%{release} + +%description ldapdb +Cyrus SASL ldapdb plugin. + +%description ldapdb -l pl.UTF-8 +Wtyczka ldapdb do Cyrus SASL. + +%package passdss +Summary: PASSDSS Cyrus SASL plugin +Summary(pl.UTF-8): Wtyczka PASSDSS do Cyrus SASL +Summary(pt_BR.UTF-8): Mecanismo SASL PASSDSS +Group: Libraries +Requires: %{name} = %{version}-%{release} + +%description passdss +This plugin implements the PASSDSS 3DES mechanism. + +%description passdss -l pl.UTF-8 +Wtyczka dodająca obsługę mechanizmu PASSDSS 3DES do Cyrus SASL. + +%description passdss -l pt_BR.UTF-8 +Este plugin implementa o mecanismo SASL PASSDSS 3DES. + %package scram Summary: SCRAM Cyrus SASL plugin Summary(pl.UTF-8): Wtyczka SCRAM do Cyrus SASL @@ -493,6 +520,7 @@ %patch19 -p1 %patch20 -p1 %patch21 -p1 +%patch22 -p1 cd doc echo "cyrus-sasl complies with the following RFCs:" > rfc-compliance @@ -532,6 +560,7 @@ --enable-sample \ --enable-httpform \ --enable-sql \ + --enable-passdss \ %{?with_srp: --enable-srp} \ --enable-static \ --with-plugindir=%{_libdir}/sasl2 \ @@ -704,6 +733,16 @@ %defattr(644,root,root,755) %attr(755,root,root) %{_libdir}/sasl2/libsasldb.so* +%if %{with ldap} +%files ldapdb +%defattr(644,root,root,755) +%attr(755,root,root) %{_libdir}/sasl2/libldapdb.so* +%endif + +%files passdss +%defattr(644,root,root,755) +%attr(755,root,root) %{_libdir}/sasl2/libpassdss.so* + %files scram %defattr(644,root,root,755) %attr(755,root,root) %{_libdir}/sasl2/libscram.so* @@ -760,6 +799,10 @@ All persons listed below can be reached at <cvs_login>@pld-linux.org $Log$ +Revision 1.215 2011/10/21 12:46:43 baggins +- added passdss and ldapdb plugins +- don't waste time trying to open plugins via .la files (from debian) + Revision 1.214 2011/10/21 12:13:08 baggins - fix completely broken logic in get_fqhostname ================================================================ Index: packages/cyrus-sasl/0030-dont_use_la_files_for_opening_plugins.patch diff -u /dev/null packages/cyrus-sasl/0030-dont_use_la_files_for_opening_plugins.patch:1.1 --- /dev/null Fri Oct 21 14:46:48 2011 +++ packages/cyrus-sasl/0030-dont_use_la_files_for_opening_plugins.patch Fri Oct 21 14:46:43 2011 @@ -0,0 +1,134 @@ +--- 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); ================================================================ ---- CVS-web: http://cvs.pld-linux.org/cgi-bin/cvsweb.cgi/packages/cyrus-sasl/cyrus-sasl.spec?r1=1.214&r2=1.215&f=u _______________________________________________ pld-cvs-commit mailing list [email protected] http://lists.pld-linux.org/mailman/listinfo/pld-cvs-commit
