2015/09/16

ActiveLDAP で DN が被ってないのに Distinguishedname is duplicated と言われる時

タイトルの通りに ActiveLDAP で DN が被ってないのに Distinguishedname is duplicated と言われる時にチェックするポイントとか。

DN を構成する時に使ってる attribute の末尾にスペースとかが入ってないかチェック。

どうやらスペースが入ってると validation で引っかかってしまう様子。
推測ですが、attributeが違うと DN が違う判定になって update ではなく create 扱いになって、create 時のDN重複チェックはスペースを無視しちゃうので重複扱いになる、といった感じ?(参考)。

見つけた方法としては、 ldapserarch で各種 attributes を確認。
DN自体はOKっぽかったのですが DN を構成する attiribute の value が英字 only のはずなのに :: が付いてたので怪しいなー、と思って確認してみると投入するデータの attribute の末尾にスペースが入ってました、というオチでした。
ちなみにスペースを消すと直りました。めでたしめでたし。