]> git.ipfire.org Git - thirdparty/pdns.git/commitdiff
auth-4.6.x: fix deleteDomain() in lmdb backend 11765/head
authorKees Monshouwer <mind04@monshouwer.org>
Wed, 6 Jul 2022 17:53:41 +0000 (19:53 +0200)
committermind04 <mind04@monshouwer.org>
Wed, 6 Jul 2022 17:58:54 +0000 (19:58 +0200)
modules/lmdbbackend/lmdbbackend.cc

index e287a0b892390c00068faaf319e76645b6fa7f07..62d4e29e29bf8c54b55cd16b25e1e70fa81b8013 100644 (file)
@@ -673,6 +673,28 @@ bool LMDBBackend::deleteDomain(const DNSName& domain)
 
   doms.commit();
 
+  {
+    auto md_txn = d_tmeta->getRWTransaction();
+    auto range = md_txn.equal_range<0>(domain);
+
+    for (auto& iter = range.first; iter != range.second; ++iter) {
+      iter.del();
+    }
+
+    md_txn.commit();
+  }
+
+  {
+    auto ck_txn = d_tkdb->getRWTransaction();
+    auto range = ck_txn.equal_range<0>(domain);
+
+    for (auto& iter = range.first; iter != range.second; ++iter) {
+      iter.del();
+    }
+
+    ck_txn.commit();
+  }
+
   return true;
 }