• Mark Andrews's avatar
    The dsset returned by dns_keynode_dsset needs to be thread safe. · e5b2eca1
    Mark Andrews authored
    - clone keynode->dsset rather than return a pointer so that thread
      use is independent of each other.
    - hold a reference to the dsset (keynode) so it can't be deleted
      while in use.
    - create a new keynode when removing DS records so that dangling
      pointers to the deleted records will not occur.
    - use a rwlock when accessing the rdatalist to prevent instabilities
      when DS records are added.
    e5b2eca1
server.c 413 KB