diff options
Diffstat (limited to 'hosts/surtr/email/ccert-policy-server')
-rw-r--r-- | hosts/surtr/email/ccert-policy-server/ccert_policy_server/__main__.py | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/hosts/surtr/email/ccert-policy-server/ccert_policy_server/__main__.py b/hosts/surtr/email/ccert-policy-server/ccert_policy_server/__main__.py index 00182523..7117eb63 100644 --- a/hosts/surtr/email/ccert-policy-server/ccert_policy_server/__main__.py +++ b/hosts/surtr/email/ccert-policy-server/ccert_policy_server/__main__.py | |||
@@ -44,10 +44,9 @@ class PolicyHandler(StreamRequestHandler): | |||
44 | 44 | ||
45 | with conn.cursor() as cur: | 45 | with conn.cursor() as cur: |
46 | cur.row_factory = namedtuple_row | 46 | cur.row_factory = namedtuple_row |
47 | cur.execute('SELECT "mailbox"."mailbox" as "user", "local", "extension", "domain" FROM "mailbox" INNER JOIN "mailbox_mapping" ON "mailbox".id = "mailbox_mapping"."mailbox" WHERE "mailbox"."mailbox" = %(user)s AND ("local" = %(local)s OR "local" IS NULL) AND ("extension" = %(extension)s OR "extension" IS NULL) AND "domain" = %(domain)s', params = {'user': user, 'local': local, 'extension': extension if extension is not None else '', 'domain': domain}, prepare=True) | 47 | cur.execute('SELECT EXISTS(SELECT true FROM "mailbox" INNER JOIN "mailbox_mapping" ON "mailbox".id = "mailbox_mapping"."mailbox" WHERE "mailbox"."mailbox" = %(user)s AND ("local" = %(local)s OR "local" IS NULL) AND ("extension" = %(extension)s OR "extension" IS NULL) AND "domain" = %(domain)s) as "exists"', params = {'user': user, 'local': local, 'extension': extension if extension is not None else '', 'domain': domain}, prepare=True) |
48 | for record in cur: | 48 | if (row := cur.fetchone()) is not None: |
49 | logger.debug('Received result: %s', record) | 49 | allowed = row.exists |
50 | allowed = True | ||
51 | 50 | ||
52 | action = '550 5.7.0 Sender address not authorized for current user' | 51 | action = '550 5.7.0 Sender address not authorized for current user' |
53 | if allowed: | 52 | if allowed: |