]> git.ipfire.org Git - dbl.git/commitdiff
lists: Remove any domains that could not be resolved
authorMichael Tremer <michael.tremer@ipfire.org>
Sun, 28 Dec 2025 13:11:47 +0000 (13:11 +0000)
committerMichael Tremer <michael.tremer@ipfire.org>
Sun, 28 Dec 2025 13:11:47 +0000 (13:11 +0000)
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
src/dnsbl/lists.py

index 595aa67817a954971edfcaa2397a9e2812ec81bf..6035d80e7cd37a09e516d71fd0e42c4cbe5b053a 100644 (file)
@@ -25,6 +25,7 @@ import logging
 import sqlmodel
 import typing
 
+from . import checker
 from . import database
 from . import exporters
 from . import sources
@@ -230,6 +231,11 @@ class List(sqlmodel.SQLModel, database.BackendMixin, table=True):
                                sources.SourceDomain,
                                sources.SourceDomain.source_id == sources.Source.id,
                        )
+                       .join(
+                               checker.CheckerDomain,
+                               checker.CheckerDomain.name == sources.SourceDomain.name,
+                               isouter=True,
+                       )
                        .where(
                                # Only select sources that belong to this list
                                sources.Source.list_id == self.id,
@@ -239,6 +245,13 @@ class List(sqlmodel.SQLModel, database.BackendMixin, table=True):
 
                                # Ignore domains that have been removed
                                sources.SourceDomain.removed_at == None,
+
+                               # Only select domains that have been checked positive
+                               # or have not been checked, yet.
+                               sqlmodel.or_(
+                                       checker.CheckerDomain.status == None,
+                                       checker.CheckerDomain.status == True,
+                               ),
                        )
                        .order_by(
                                sources.SourceDomain.name,