[Pdns-users] Manual notify problem with LDAP backend

Fabian Fagerholm fabbe at paniq.net
Fri Aug 19 15:59:14 UTC 2005


On Thu, 2005-08-18 at 17:40 +0200, Norbert Sendetzky wrote:
> Maybe a patch introduced this error in 2.9.17. Do you know if 2.9.16 worked?

Ok, I got 2.9.16 and tried it. Recompiled with -DVERBOSELOG and ran with
loglevel=9, query-logging=yes. I got this:

pdns_control said:

Failed to add to the queue - see log

And the log says:

pdns[28403]: Notification request for domain 'paniq.net' received from operator
pdns[28403]: [LdapBackend] LDAP servers = 127.0.0.1:389
pdns[28403]: [LdapBackend] Ldap connection succeeded
pdns[28403]: No such domain 'paniq.net' in our database
pdns[28403]: PacketHandler destructor called - 4 left
pdns[28403]: UeberBackend destructor called, removing ourselves from instances, and deleting our backends
pdns[28403]: [LdapBackend] Ldap connection closed

And the notify was not sent. So the bug was present in 2.6.16, too.

I looked at the code and as far as I can see, the part where pdns goes
through the backends, trying to get an answer, is in
pdns/ueberbackend.cc:95, the relevant part being

for(vector<DNSBackend *>::const_iterator i=backends.begin();i!=backends.end();++i)
    if((*i)->getDomainInfo(domain, di))
      return true;
  return false;

If I understand this correctly, it's obtaining an iterator, iterating
through all the available backends, then calling their getDomainInfo()
function. It succeeds when the first backend has a result, or fails if
the iterator stops and no result was found. So unless the iterator is
broken, the error is somehow further down that call. I couldn't figure
out how it works exactly, but I didn't find that function in any of the
LDAP backend code. Maybe there is some other magic and some other part
of the code is handling it.

Next steps?

-- 
Fabian Fagerholm <fabbe at paniq.net>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 189 bytes
Desc: This is a digitally signed message part
URL: <http://mailman.powerdns.com/pipermail/pdns-users/attachments/20050819/76b9e2d0/attachment-0001.sig>


More information about the Pdns-users mailing list