Daniel Pocock wrote:
>
>
> On 06/03/16 20:00, Howard Chu wrote:
>> daniel(a)pocock.pro wrote:
>>> Full_Name: Daniel Pocock
>>> Version:
>>> OS: Debian
>>> URL: ftp://ftp.openldap.org/incoming/
>>> Submission from: (NULL) (2001:1620:b22::2042)
>>>
>>>
>>> There are a few protocols that use a HA1[1] password hash, such as HTTP
>>> DIGEST[1], SIP DIGEST[2] and TURN[3] (which uses HMAC rather than DIGEST)
>>>
>>> Is there a standard LDAP attribute name for storing a HA1 value or
>>> should it be stored in a regular userPassword attribute as described in
>>> the manual[4]?
>>
>> The ITS is not for usage questions. You already asked this and were
>> answered on the discussion mailing list.
>>
>> http://www.openldap.org/lists/openldap-technical/201507/msg00073.html
>>
>> There is nothing here that requires any OpenLDAP development activity.
>> It's all already handled by the SASL Digest mechanism, as I already
>> noted in the above email.
>>
>> Closing this ITS.
>
>
> I didn't open this feature request to ask for somebody to implement it,
> I'm simply trying to track a number of items that I'm working on myself.
> Normally I open a bug/feature request in anything I work on in case
> somebody else wants to work on the same thing, it helps avoid duplication.
>
> The email thread doesn't fully resolve the issue, it does appear to
> require some plugin to be created for the server side, especially if the
> LDAP server doesn't keep plain text passwords. Given the fairly generic
> nature of the DIGEST algorithm, I also felt that when implemented, this
> code should be contributed to the OpenLDAP repository and not hosted
> elsewhere.
Take the hint: RTF SASL Digest code. All the code you're asking for has
already been implemented in Cyrus SASL and is of zero concern to OpenLDAP.
The most important skill of a programmer is being able to *read* - not being
able to write. Any fool can spew code.
Your mention of smbk5pwd is totally off base as well. The reason the smbk5pwd
module was needed was because Samba 3 and the Kerberos5 KDC both stored their
secrets in separate and incompatible formats but everyone wanted central
coordinated administration for these separate attributes. If you're writing
something from scratch there is no reason to use your own separate and
incompatible attribute, and thus there is no reason to require any special
synchronization or coordination.
--
-- Howard Chu
CTO, Symas Corp. http://www.symas.com
Director, Highland Sun http://highlandsun.com/hyc/
Chief Architect, OpenLDAP http://www.openldap.org/project/
On 06/03/16 20:00, Howard Chu wrote:
> daniel(a)pocock.pro wrote:
>> Full_Name: Daniel Pocock
>> Version:
>> OS: Debian
>> URL: ftp://ftp.openldap.org/incoming/
>> Submission from: (NULL) (2001:1620:b22::2042)
>>
>>
>> There are a few protocols that use a HA1[1] password hash, such as HTTP
>> DIGEST[1], SIP DIGEST[2] and TURN[3] (which uses HMAC rather than DIGEST)
>>
>> Is there a standard LDAP attribute name for storing a HA1 value or
>> should it be stored in a regular userPassword attribute as described in
>> the manual[4]?
>
> The ITS is not for usage questions. You already asked this and were
> answered on the discussion mailing list.
>
> http://www.openldap.org/lists/openldap-technical/201507/msg00073.html
>
> There is nothing here that requires any OpenLDAP development activity.
> It's all already handled by the SASL Digest mechanism, as I already
> noted in the above email.
>
> Closing this ITS.
I didn't open this feature request to ask for somebody to implement it,
I'm simply trying to track a number of items that I'm working on myself.
Normally I open a bug/feature request in anything I work on in case
somebody else wants to work on the same thing, it helps avoid duplication.
The email thread doesn't fully resolve the issue, it does appear to
require some plugin to be created for the server side, especially if the
LDAP server doesn't keep plain text passwords. Given the fairly generic
nature of the DIGEST algorithm, I also felt that when implemented, this
code should be contributed to the OpenLDAP repository and not hosted
elsewhere.
Regards,
Daniel
Oh, and one more observation, the result is intermittent.
The starttls connection actually fails as it is supposed to, something like 1/100 attempts.
Martin....
The patch I originally sent works only for MODRDN operations, but causes
a segfault on plain old ADD operations in some cases.
This is caused by the hdb_dn2id_children function trying to update dkids
inside a non-initialised structure. I figure that if we don't have the
structure we don't need to update it, since this function is mostly a
"search" function. Hope that makes sense.
A new patch is here:
ftp://www.openldap.org/incoming/openldap-dn2id-modrdn-idlcache-sub-delete-2…
Jonathan
This patch fixes a problem in the closing of timed-out connections to
targets in back-asyncmeta. If a a_metaconn is still in use for another
target, the connections to other targets might not be reset while the mc
is still active, even if these targets are no longer in use. This patch
introduces counters for pending operations per a_metasingleconn, and
resets a metasingleconn if it has timed out and has no pending operations.
ftp://ftp.openldap.org/incoming/nadezhda-ivanova-160229.patch
Full_Name: Jonathan Clarke
Version: 2.4.44
OS: GNU/Linux
URL: ftp://ftp.openldap.org/incoming/
Submission from: (NULL) (176.182.31.158)
Hi there,
I found a bug in the handling of idl_cache when doing a MODRDN operation on an
entry with children.
The existing code to add an entry in hdb_dn2id_add (dn2id.c) cleverly updates
any existing IDL caches on the new parent and any grand-parents, both for "one"
and "sub" level searches by adding the new entry in those cache lists.
However, if you MODRDN an entry that also has children, this same hdb_dn2id_add
function is called, and will erroneously update the "sub" level search caches on
the new parent and any grand-parents, adding only the new entry, and not it's
children. The result is that a search that hits that IDL cache will return
partial results, including the entry that was moved, but missing it's children.
You can observe this behaviour by compiling a standard OpenLDAP server,
configuring a simple hdb backend, including a non-zero idlcachesize and running
the following commands:
1) ldapadd < tesldldif
2) ldapsearch -b "ou=Accepted
Inventories,ou=Inventories,cn=rudder-configuration" -s sub
objectClass=organizationalUnit
3) ldapmodrdn -s "ou=Accepted
Inventories,ou=Inventories,cn=rudder-configuration" "ou=1234,ou=Pending
Inventories,ou=Inventorie2C2Ccn=rudder-configuration" "ou=1234"
4) ldapsearch -b "ou=Accepted
Inventories,ou=Inventories,cn=rudder-configuration" -s sub
objectClass=organizationalUnit
It is important to run the initial search in step 2, before the MODRDN operation
itself, to ensure an IDL cache entry is created for that search. The final
search in step 4 will not show the sub-entry ou=1234-sub,ou=1234.
The test.ldif file is here: ftp://ftp.openldap.org/incoming/test.ldif
I've created a quick'n'dirty patch to hide this issue, which detects the
situation (if adding an entry that already has children, this is when the bug
occurs) and simply removes the IDL cache to avoid future searches using it. It's
available here: ftp://ftp.openldap.org/incoming/openldap-dn2id-modrdn-idlcache-sub-delete.p….
A better solution would probably be to write the code to add each child of the
new entry to existing caches, but I couldn't immediately see how to do this.
Hopefully my patch above will easily show where this needs doing.
Regards,
Jonathan