ando(a)sys-net.it wrote:
> hyc(a)symas.com wrote:
>> Another possibility would be to always enable LDAP_DEBUG_CONFIG for the
>> tools. The only reason I suggest this is because I would prefer that
>> runtime configuration errors are only logged when specifically
>> requested, not at DEBUG_ANY. Since the error messages are already
>> returnes to the client in the protocol, it's not always necessary to log
>> them separately.
>>
> The point is that I'd like to separate informative messages about
> configuration (LDAP_DEBUG_CONFIG) from __the__ message that described
> why slaptest failed (or slapd refuses to start). Right now, either you
> get all (which is annoying) or none (which is frustrating). Apparently,
> unless we hijack LDAP_DEBUG_NONE for the duration of config parsing, and
> OR it to all messages followed by "return ARG_BAD_CONF;", we need
> another LDAP_DEBUG_*.
OK. And we have usually used DEBUG_ANY for fatal messages of this type.
The point I'm making now is that config errors are no longer always
fatal; it depends on whether we're starting up or already running.
--
-- Howard Chu
Chief Architect, Symas Corp. http://www.symas.com
Director, Highland Sun http://highlandsun.com/hyc
OpenLDAP Core Team http://www.openldap.org/project/
hyc(a)symas.com wrote:
> Another possibility would be to always enable LDAP_DEBUG_CONFIG for the
> tools. The only reason I suggest this is because I would prefer that
> runtime configuration errors are only logged when specifically
> requested, not at DEBUG_ANY. Since the error messages are already
> returnes to the client in the protocol, it's not always necessary to log
> them separately.
>
The point is that I'd like to separate informative messages about
configuration (LDAP_DEBUG_CONFIG) from __the__ message that described
why slaptest failed (or slapd refuses to start). Right now, either you
get all (which is annoying) or none (which is frustrating). Apparently,
unless we hijack LDAP_DEBUG_NONE for the duration of config parsing, and
OR it to all messages followed by "return ARG_BAD_CONF;", we need
another LDAP_DEBUG_*.
p.
Ing. Pierangelo Masarati
OpenLDAP Core Team
SysNet s.n.c.
Via Dossi, 8 - 27100 Pavia - ITALIA
http://www.sys-net.it
------------------------------------------
Office: +39.02.23998309
Mobile: +39.333.4963172
Email: pierangelo.masarati(a)sys-net.it
------------------------------------------
ando(a)sys-net.it wrote:
> michael(a)stroeder.com wrote:
>> It seems that slapd stops without configuration error message if unknown
>> attribute types are set for parameter unique_attributes (slapo-unique). It would
>> be nice if a descriptive message is displayed (like in other cases).
>>
> I think this occurs if debug is set to "config" or "-1". However, it
> would be more appropriate to log configuration errors that result in
> failures at "any", so that whatever logging is set they show up. For
> this purpose, many of the current occurrences of LDAP_DEBUG_CONFIG
> should be turned into (LDAP_DEBUG_CONFIG | LDAP_DEBUG_NONE), so that
> they show up when caught by tools with default logging (e.g.
> slaptest(8)), or into LDAP_DEBUG_ANY, so that they show up all times.
> I'd vote for the latter.
Another possibility would be to always enable LDAP_DEBUG_CONFIG for the
tools. The only reason I suggest this is because I would prefer that
runtime configuration errors are only logged when specifically
requested, not at DEBUG_ANY. Since the error messages are already
returnes to the client in the protocol, it's not always necessary to log
them separately.
--
-- Howard Chu
Chief Architect, Symas Corp. http://www.symas.com
Director, Highland Sun http://highlandsun.com/hyc
OpenLDAP Core Team http://www.openldap.org/project/
--On Saturday, November 11, 2006 9:10 PM +0000 hyc(a)symas.com wrote:
> quanah(a)stanford.edu wrote:
>> Full_Name: Quanah Gibson-Mount
>> Version: 2.3.28
>> OS: Linux 2.6 64-bit
>> URL: ftp://ftp.openldap.org/incoming/
>> Submission from: (NULL) (171.66.155.86)
>>
>>
>> When building OpenLDAP 2.3.28, I found that libslapi is full of undefined
>> symbols. Is it not being linked correctly?
>>
> Do you actually have a slapi plugin that isn't working? There's no
> evidence of a bug here. Most dynamic libraries that depend on other
> objects are full of undefined symbols.
Nope, I don't use slapi at all, other than to enable it to disable the
broken acl cacheing in 2.3.
Thanks.
--Quanah
--
Quanah Gibson-Mount
Principal Software Developer
ITS/Shared Application Services
Stanford University
GnuPG Public Key: http://www.stanford.edu/~quanah/pgp.html
quanah(a)stanford.edu wrote:
> Full_Name: Quanah Gibson-Mount
> Version: 2.3.28
> OS: Linux 2.6 64-bit
> URL: ftp://ftp.openldap.org/incoming/
> Submission from: (NULL) (171.66.155.86)
>
>
> When building OpenLDAP 2.3.28, I found that libslapi is full of undefined
> symbols. Is it not being linked correctly?
>
Do you actually have a slapi plugin that isn't working? There's no
evidence of a bug here. Most dynamic libraries that depend on other
objects are full of undefined symbols.
--
-- Howard Chu
Chief Architect, Symas Corp. http://www.symas.com
Director, Highland Sun http://highlandsun.com/hyc
OpenLDAP Core Team http://www.openldap.org/project/
hyc(a)symas.com wrote:
> ando(a)sys-net.it wrote:
>> As far as I remember, that test is intended to prevent mapping when the
>> search returns more than one entry. This makes perfectly sense,
>> otherwise a SASL identity (or an authorization identity) would be
>> arbitrarily mapped to one of the matching entries. So mapping is
>> intended to succeed if and only if exactly one identity can be resolved.
>
> That test is only supposed to prevent mapping when doing an authzRegexp
> mapping of a single SASL userID to a DN. When looking up
> authzFrom/authzTo it is supposed to allow multiple results.
> Interestingly, it looks like slap_sasl_match isn't even used for
> authzRegexp mapping any more. Something is definitely broken here.
>
This behavior was changed in rev 1.126 of saslauthz.c. I believe the
relevant portions of that patch need to be reverted. e.g. patch -R:
diff -u -r1.125 -r1.126
--- saslauthz.c 26 Apr 2004 19:47:02 -0000 1.125
+++ saslauthz.c 26 Apr 2004 20:47:08 -0000 1.126
@@ -772,14 +802,26 @@
{
smatch_info *sm = o->o_callback->sc_private;
- if (rs->sr_type != REP_SEARCH) return 0;
+ if ( rs->sr_type != REP_SEARCH ) {
+ if ( rs->sr_err != LDAP_SUCCESS ) {
+ sm->match = -1;
+ }
+ return 0;
+ }
+
+ if ( sm->match == 1 ) {
+ sm->match = -1;
+ return 0;
+ }
if (dn_match(sm->dn, &rs->sr_entry->e_nname)) {
sm->match = 1;
- return -1; /* short-circuit the search */
+
+ } else {
+ sm->match = -1;
}
- return 1;
+ return 0;
}
/*
@@ -984,7 +1026,7 @@
op.o_bd->be_search( &op, &rs );
- if (sm.match) {
+ if (sm.match == 1) {
rc = LDAP_SUCCESS;
} else {
rc = LDAP_INAPPROPRIATE_AUTH;
--
-- Howard Chu
Chief Architect, Symas Corp. http://www.symas.com
Director, Highland Sun http://highlandsun.com/hyc
OpenLDAP Core Team http://www.openldap.org/project/
ando(a)sys-net.it wrote:
> sylvain(a)pilotsystems.net wrote:
>> Full_Name: Sylvain Viollon
>> Version: 2.3
>> OS: FreeBSD 5
>> URL: ftp://ftp.openldap.org/incoming/
>> Submission from: (NULL) (83.204.228.114)
>>
>>
>>
>> I have an directory with some users in ou=people,dc=pilotsystems,dc=net branch,
>> having a custom class krbUser ; and a user (cn=auth,dc=pilotsystems,dc=net)
>> having the following attribute :
>>
>> authzTo: ldap:///ou=people,dc=pilotsystems,dc=net??sub?(objectClass=krbUser)
>>
>> He can successfully authenticate, but not become an user listed by the search
>> (with PROXYAUTHZ). Running slapd in debug-mode I saw that he can only become the
>> last user returned by the search.
>>
>> In source, I read the file 'servers/slapd/saslauthz.c'. The filter
>> 'sasl_sc_smatch' said if the wanted user is in the search result. In this
>> function, there is a test :
>>
>> if ( sm->match == 1 ) {
>> sm->match = -1;
>> return 0;
>> }
>>
>> I have removed the line :
>>
>> sm->match = -1;
>>
>> Which make the match to fail if there is an entry in the search return after the
>> good one. Like every DN have to be unique, there is no multiple solution, and
>> validation would not be discarded for that. I didn't know if it's a good
>> solution, but it's work.
>>
>>
> As far as I remember, that test is intended to prevent mapping when the
> search returns more than one entry. This makes perfectly sense,
> otherwise a SASL identity (or an authorization identity) would be
> arbitrarily mapped to one of the matching entries. So mapping is
> intended to succeed if and only if exactly one identity can be resolved.
That test is only supposed to prevent mapping when doing an authzRegexp
mapping of a single SASL userID to a DN. When looking up
authzFrom/authzTo it is supposed to allow multiple results.
Interestingly, it looks like slap_sasl_match isn't even used for
authzRegexp mapping any more. Something is definitely broken here.
--
-- Howard Chu
Chief Architect, Symas Corp. http://www.symas.com
Director, Highland Sun http://highlandsun.com/hyc
OpenLDAP Core Team http://www.openldap.org/project/
sylvain(a)pilotsystems.net wrote:
> Full_Name: Sylvain Viollon
> Version: 2.3
> OS: FreeBSD 5
> URL: ftp://ftp.openldap.org/incoming/
> Submission from: (NULL) (83.204.228.114)
>
>
>
> I have an directory with some users in ou=people,dc=pilotsystems,dc=net branch,
> having a custom class krbUser ; and a user (cn=auth,dc=pilotsystems,dc=net)
> having the following attribute :
>
> authzTo: ldap:///ou=people,dc=pilotsystems,dc=net??sub?(objectClass=krbUser)
>
> He can successfully authenticate, but not become an user listed by the search
> (with PROXYAUTHZ). Running slapd in debug-mode I saw that he can only become the
> last user returned by the search.
>
> In source, I read the file 'servers/slapd/saslauthz.c'. The filter
> 'sasl_sc_smatch' said if the wanted user is in the search result. In this
> function, there is a test :
>
> if ( sm->match == 1 ) {
> sm->match = -1;
> return 0;
> }
>
> I have removed the line :
>
> sm->match = -1;
>
> Which make the match to fail if there is an entry in the search return after the
> good one. Like every DN have to be unique, there is no multiple solution, and
> validation would not be discarded for that. I didn't know if it's a good
> solution, but it's work.
>
>
As far as I remember, that test is intended to prevent mapping when the
search returns more than one entry. This makes perfectly sense,
otherwise a SASL identity (or an authorization identity) would be
arbitrarily mapped to one of the matching entries. So mapping is
intended to succeed if and only if exactly one identity can be resolved.
If the behavior you're experiencing is consistent with the above, there
is no evidence of a bug in OpenLDAP software. If it's not, please
detail. Otherwise, this ITS will be closed.
p.
Unless
Ing. Pierangelo Masarati
OpenLDAP Core Team
SysNet s.n.c.
Via Dossi, 8 - 27100 Pavia - ITALIA
http://www.sys-net.it
------------------------------------------
Office: +39.02.23998309
Mobile: +39.333.4963172
Email: pierangelo.masarati(a)sys-net.it
------------------------------------------
Full_Name: Sylvain Viollon
Version: 2.3
OS: FreeBSD 5
URL: ftp://ftp.openldap.org/incoming/
Submission from: (NULL) (83.204.228.114)
I have an directory with some users in ou=people,dc=pilotsystems,dc=net branch,
having a custom class krbUser ; and a user (cn=auth,dc=pilotsystems,dc=net)
having the following attribute :
authzTo: ldap:///ou=people,dc=pilotsystems,dc=net??sub?(objectClass=krbUser)
He can successfully authenticate, but not become an user listed by the search
(with PROXYAUTHZ). Running slapd in debug-mode I saw that he can only become the
last user returned by the search.
In source, I read the file 'servers/slapd/saslauthz.c'. The filter
'sasl_sc_smatch' said if the wanted user is in the search result. In this
function, there is a test :
if ( sm->match == 1 ) {
sm->match = -1;
return 0;
}
I have removed the line :
sm->match = -1;
Which make the match to fail if there is an entry in the search return after the
good one. Like every DN have to be unique, there is no multiple solution, and
validation would not be discarded for that. I didn't know if it's a good
solution, but it's work.
Openldap 2.2 and 2.4 seems to have the same problem.