]> git.mxchange.org Git - fba.git/commitdiff
Continued:
authorRoland Häder <roland@mxchange.org>
Wed, 28 May 2025 00:07:45 +0000 (02:07 +0200)
committerRoland Häder <roland@mxchange.org>
Wed, 28 May 2025 00:07:45 +0000 (02:07 +0200)
- fixed error "blocked undefined variable"
- fixed no valid domain/hostname

daemon.py
fba/networks/pleroma.py
fba/utils.py

index 994f33d7b4b9fb27fdeccdf73140ae7e3c947a3a..6ee5717f800504c0da0ff37e80a88a81796b3be8 100755 (executable)
--- a/daemon.py
+++ b/daemon.py
@@ -18,6 +18,7 @@
 # along with this program.  If not, see <https://www.gnu.org/licenses/>.
 
 import re
+import validators
 
 from datetime import datetime
 from email.utils import format_datetime
@@ -343,11 +344,12 @@ def nodeinfo_1_0(request: Request) -> None:
 @router.get(_base_url + "/api/v1/instance/domain_blocks", response_class=JSONResponse)
 def api_domain_blocks(request: Request) -> None:
     blocking = []
+    blocked = blacklist.get_all()
 
-    for block in blacklist.get_all():
+    for block in blocked:
         blocking.append({
             "domain"  : block,
-            "digest"  : utils.hash_domain(block),
+            "digest"  : utils.hash_domain(block) if validators.domain(block, rfc_2782=True) else None,
             "severity": "suspend",
             "comment" : blocked[block],
         })
index b336d929ebbb00e206e2c45d03b8835e615e8365..1d24b27efde849a7e9400a1d97be24a1741e0721 100644 (file)
@@ -109,7 +109,7 @@ def fetch_blocks(domain: str) -> list:
             block_level = tidyup.domain(block_level) if block_level != "" else None
             logger.debug("block_level='%s' - AFTER!", block_level)
 
-            if block_level == "":
+            if block_level in [None, ""]:
                 logger.warning("block_level is now empty!")
                 continue
             elif block_level == "accept":
index 6ba7f4ab08fa16e3966545db4f0fb90a3aa29f7b..78c5ffa3b4e2e9d9f51e189b46d04956b8ed3907 100644 (file)
@@ -58,17 +58,17 @@ def find_domains(tags: bs4.element.ResultSet, search: str) -> list:
     for tag in tags:
         logger.debug("tag[]='%s'", type(tag))
         domain = tag.find(search).contents[0]
+
         logger.debug("domain='%s' - BEFORE! #1", domain)
-        if domain not in ["", None]:
-            domain = tidyup.domain(domain)
+        domain = tidyup.domain(domain) if domain not in ["", None] else None
         logger.debug("domain='%s' - AFTER! #2", domain)
 
-        if domain == "":
+        if domain in [None, ""]:
             logger.debug("tag='%s' has no domain, trying <em> ...", tag)
             domain = tag.find("em").contents[0]
+
             logger.debug("domain='%s' - BEFORE! #2", domain)
-            if domain not in ["", None]:
-                domain = tidyup.domain(domain)
+            domain = tidyup.domain(domain) if domain not in ["", None] else None
             logger.debug("domain='%s' - AFTER! #2", domain)
 
         logger.debug("domain='%s' - AFTER2!", domain)