Pierangelo Masarati wrote:
> hyc(a)symas.com wrote:
>
>> I saw that, but it seems that multiple -i options work.
>> -i !xx -i yy
>
> Yes, it works. The test becomes waaaaaay too verbose, though. It'd be
> nicer to have the possibility to limit the error message to the first
> occurrence, when it is intended.
Yes, I also patched slapd-bind.c in my tree, forgot to mention that:
@@ -344,7 +348,7 @@
/* if ignore.. */
if ( first ) {
/* only log if first occurrence */
- if ( force < 2 || first == 1 ) {
+ if ( first == 1 ) {
tester_ldap_error( ld, "ldap_sasl_bind_s", NULL );
}
rc = LDAP_SUCCESS;
--
-- Howard Chu
CTO, Symas Corp. http://www.symas.com
Director, Highland Sun http://highlandsun.com/hyc/
Chief Architect, OpenLDAP http://www.openldap.org/project/
hyc(a)symas.com wrote:
> I saw that, but it seems that multiple -i options work.
> -i !xx -i yy
Yes, it works. The test becomes waaaaaay too verbose, though. It'd be
nicer to have the possibility to limit the error message to the first
occurrence, when it is intended.
p.
Ing. Pierangelo Masarati
OpenLDAP Core Team
SysNet s.r.l.
via Dossi, 8 - 27100 Pavia - ITALIA
http://www.sys-net.it
-----------------------------------
Office: +39 02 23998309
Mobile: +39 333 4963172
Fax: +39 0382 476497
Email: ando(a)sys-net.it
-----------------------------------
ando(a)sys-net.it wrote:
> This won't probably be as easy as I expected: back-meta does not check,
> parse or return entry controls. This needs to be fixed as well.
My fault: back-meta does. However, something strange is happening:
- in some cases, while looping for attribute values, back-meta
incorrectly treates entry controls (right after the SearchResultEntry
message) as yet another attribute name/values set
- in other cases things just go fine
I'm trying to modify the code in order to compute the size of the
SearchResultEntry portion of the message, but again, in some cases, the
size is computed incorrectly: the computed length is 4 octets shorter
than what's actually in the packet.
One issue seems to be related to the fact that when ber_skip_tag()
checks if the length it's computed fits in the ber by calling
ber_pvt_ber_remaining(), it doesn't count that earlier calls to
ber_read() moved the ber_ptr forward. The original ber_ptr should be saved.
I don't believe messages are encoded incorrectly, so I must be doing
something wrong in decoding them...
p.
Ing. Pierangelo Masarati
OpenLDAP Core Team
SysNet s.r.l.
via Dossi, 8 - 27100 Pavia - ITALIA
http://www.sys-net.it
-----------------------------------
Office: +39 02 23998309
Mobile: +39 333 4963172
Fax: +39 0382 476497
Email: ando(a)sys-net.it
-----------------------------------
joe(a)julianfamily.org wrote:
> Full_Name: Joe Julian
> Version: 2.4.10
> OS: Linux (Fedora 7 distribution)
> URL:
> Submission from: (NULL) (68.178.24.202)
>
>
> Description of problem:
> slapd is called with "-h ldap://ldap1.domain.dom" where ldap1 is a CNAME for
> the
> actual server name "moe.domain.dom" and "-h ldap://ldap2.domain.dom" for
> "curly.domain.dom".
>
> The cn=config entries for olcServerID are "1 ldap://ldap1.domain.dom" and "2
> ldap://ldap2.domain.dom"
>
> In config_generic (bconfig.c) case CFG_SERVERID lud->lud_host is compared with
> global_host. As the PTR record for moe is moe.domain.dom and not
> ldap1.domain.dom, moe does not get assigned a serverID. The same is true for
> curly.
> Expected results:
> the serverID should be selected (in part) based on the "-h" url configuration
> matching an olcServerID entry
The listener URLs specified with -h are now being compared. The fix is in
HEAD, please test. Thanks.
--
-- Howard Chu
CTO, Symas Corp. http://www.symas.com
Director, Highland Sun http://highlandsun.com/hyc/
Chief Architect, OpenLDAP http://www.openldap.org/project/
hyc(a)symas.com wrote:
> And yet another approach is simply to bump up each lconn's refcnt, the same
> way request.c:ldap_new_connection() does, to prevent them from getting freed
> prematurely. This latter approach would be simplest, except it requires
> calling ldap_free_connection() to actually decrement the refcnt, and that
> requires more mutex manipulation for the libldap_r version. (I haven't looked
> too deeply into the lock dependencies yet, it may actually be simpler.)
I opted for this approach, now checked into HEAD. Please test.
--
-- Howard Chu
CTO, Symas Corp. http://www.symas.com
Director, Highland Sun http://highlandsun.com/hyc/
Chief Architect, OpenLDAP http://www.openldap.org/project/
Pierangelo Masarati wrote:
> hyc(a)symas.com wrote:
>> michael(a)stroeder.com wrote:
>>> Full_Name: karlsruhe
>>> Version: HEAD
>>> OS: Linux
>>> URL: ftp://ftp.openldap.org/incoming/
>>> Submission from: (NULL) (84.163.100.169)
>>>
>>>
>>> Currently test039-glue-ldap-concurrency fails with a lot of these messages (see
>>> below). Maybe the test scripts could be modified to detect this situation and
>>> stop immediately.
>> Normally the tester programs will stop immediately on any error. test036 and
>> test039 invoke slapd-tester with -FF which causes slapd-bind to ignore errors.
>> (Note that test008 doesn't use -FF.)
>>
>> Seems to me that test036/039 would both work fine if they just added -i
>> INVALID_CREDENTIALS to the TESTER invocation, instead of using -FF.
>>
>> Ando, what do you think?
>
> Not right now: -i is already used with negation ("!"). Negation needs
> to move on a per-value basis, or something like that (if I0m reading
> that code fine). I'll look at it, maybe later.
I saw that, but it seems that multiple -i options work.
-i !xx -i yy
--
-- Howard Chu
CTO, Symas Corp. http://www.symas.com
Director, Highland Sun http://highlandsun.com/hyc/
Chief Architect, OpenLDAP http://www.openldap.org/project/
hyc(a)symas.com wrote:
> michael(a)stroeder.com wrote:
>> Full_Name: karlsruhe
>> Version: HEAD
>> OS: Linux
>> URL: ftp://ftp.openldap.org/incoming/
>> Submission from: (NULL) (84.163.100.169)
>>
>>
>> Currently test039-glue-ldap-concurrency fails with a lot of these messages (see
>> below). Maybe the test scripts could be modified to detect this situation and
>> stop immediately.
>
> Normally the tester programs will stop immediately on any error. test036 and
> test039 invoke slapd-tester with -FF which causes slapd-bind to ignore errors.
> (Note that test008 doesn't use -FF.)
>
> Seems to me that test036/039 would both work fine if they just added -i
> INVALID_CREDENTIALS to the TESTER invocation, instead of using -FF.
>
> Ando, what do you think?
Not right now: -i is already used with negation ("!"). Negation needs
to move on a per-value basis, or something like that (if I0m reading
that code fine). I'll look at it, maybe later.
p.
Ing. Pierangelo Masarati
OpenLDAP Core Team
SysNet s.r.l.
via Dossi, 8 - 27100 Pavia - ITALIA
http://www.sys-net.it
-----------------------------------
Office: +39 02 23998309
Mobile: +39 333 4963172
Fax: +39 0382 476497
Email: ando(a)sys-net.it
-----------------------------------
This is some extremely ugly code. My first instinct is to rewrite it to
eliminate the recursion but I have a feeling that may be too drastic a change.
Another thought is to alter wait4msg/try_read1msg's parameter list to specify
which lconn to start from, and order the list such that the recursive calls
can only iterate over the newest lconn structures. That would prevent them
from freeing lconns that are currently being referenced by a prior caller.
(That would also prevent them from parsing any received data that's ready on
other connections, until the Bind on the new referral connection completes. So
this may needlessly serialize some work and decrease overall throughput when
references are interleaved in a larger result set.)
And yet another approach is simply to bump up each lconn's refcnt, the same
way request.c:ldap_new_connection() does, to prevent them from getting freed
prematurely. This latter approach would be simplest, except it requires
calling ldap_free_connection() to actually decrement the refcnt, and that
requires more mutex manipulation for the libldap_r version. (I haven't looked
too deeply into the lock dependencies yet, it may actually be simpler.)
--
-- Howard Chu
CTO, Symas Corp. http://www.symas.com
Director, Highland Sun http://highlandsun.com/hyc/
Chief Architect, OpenLDAP http://www.openldap.org/project/
tchemineau(a)linagora.com wrote:
> I confirm that we can not create subordinate configs dynamically in
> cn=config now. I used a previously build version to realize it, just
> for testing it.
>
> There is still errors with slaptest, even on slapd.d. Same errors when
> I want to start OpenLDAP.
Thanks, now fixed.
--
-- Howard Chu
CTO, Symas Corp. http://www.symas.com
Director, Highland Sun http://highlandsun.com/hyc/
Chief Architect, OpenLDAP http://www.openldap.org/project/