From ff48e6a4ee08de6df538f6aa52bb9048396e32db Mon Sep 17 00:00:00 2001 From: Julian Rother <julian@cccv.de> Date: Tue, 19 Apr 2022 23:47:27 +0200 Subject: [PATCH] Removed remailer domain option (for now) --- test_server.py | 42 ------------------------------------------ uffd-socketmapd | 12 +++--------- 2 files changed, 3 insertions(+), 51 deletions(-) diff --git a/test_server.py b/test_server.py index 2444e72..c43e59d 100644 --- a/test_server.py +++ b/test_server.py @@ -145,8 +145,6 @@ class TestSocketmapsRequestHandler(unittest.TestCase): api = UffdAPIMock(remailer_map={ 'v1-23-testuser@remailer.example.com': 'testuser@example.com', 'v1-23-testadmin@remailer.example.com': 'testadmin@example.com', - # Artifical entry to test if map is queried (see _with_remailer_domain case) - 'foobar@test.example.com': 'DOESNOTEXIT', }) RequestHandler = make_requesthandler(api) @@ -167,43 +165,3 @@ class TestSocketmapsRequestHandler(unittest.TestCase): conn = MockConnection(request, 4096) RequestHandler(conn, '', None).handle() self.assertEqual(conn.sent, response) - - # See _with_remailer_domain case - request = b'42:remailer_canonical foobar@test.example.com,' - response = b'14:OK DOESNOTEXIT,' - conn = MockConnection(request, 4096) - RequestHandler(conn, '', None).handle() - self.assertEqual(conn.sent, response) - - def test_handle_remailer_with_remailer_domain(self): - api = UffdAPIMock(remailer_map={ - 'v1-23-testuser@remailer.example.com': 'testuser@example.com', - 'v1-23-testadmin@remailer.example.com': 'testadmin@example.com', - # Artifical entry to test if map is queried - 'foobar@test.example.com': 'DOESNOTEXIT', - }) - RequestHandler = make_requesthandler(api, remailer_domain='remailer.example.com') - - request = b'54:remailer_canonical v1-23-testuser@remailer.example.com,' - response = b'23:OK testuser@example.com,' - conn = MockConnection(request, 4096) - RequestHandler(conn, '', None).handle() - self.assertEqual(conn.sent, response) - - request = b'56:remailer_canonical v1-42-not-a-user@remailer.example.com,' - response = b'9:NOTFOUND ,' - conn = MockConnection(request, 4096) - RequestHandler(conn, '', None).handle() - self.assertEqual(conn.sent, response) - - request = b'35:remailer_canonical test@example.com,' - response = b'9:NOTFOUND ,' - conn = MockConnection(request, 4096) - RequestHandler(conn, '', None).handle() - self.assertEqual(conn.sent, response) - - request = b'42:remailer_canonical foobar@test.example.com,' - response = b'9:NOTFOUND ,' - conn = MockConnection(request, 4096) - RequestHandler(conn, '', None).handle() - self.assertEqual(conn.sent, response) diff --git a/uffd-socketmapd b/uffd-socketmapd index 0615d37..63672a8 100755 --- a/uffd-socketmapd +++ b/uffd-socketmapd @@ -123,7 +123,6 @@ def decode_netstring(netstring): class SocketmapsRequestHandler(socketserver.BaseRequestHandler): api = None # Overwritten - remailer_domain = None # Overwritten def handle(self): buf = b'' @@ -196,20 +195,16 @@ class SocketmapsRequestHandler(socketserver.BaseRequestHandler): return 'OK ' + ','.join(results) if name == 'remailer_canonical': domain = key.rsplit('@', 1)[-1] - # If self.remailer_domain is unset, uffd will do the filtering - if self.remailer_domain is not None and domain != self.remailer_domain: - return 'NOTFOUND ' result = self.api.resolve_remailer(key) if result is None: return 'NOTFOUND ' return 'OK ' + result return 'PERM Unknown request name', logging.WARNING -def make_requesthandler(api, remailer_domain=None): +def make_requesthandler(api): class RequestHandler(SocketmapsRequestHandler): pass RequestHandler.api = api - RequestHandler.remailer_domain = remailer_domain return RequestHandler class FilenoUnixStreamServer(socketserver.UnixStreamServer): @@ -245,8 +240,7 @@ class StdoutFilter(logging.Filter): @click.option('--api-url', required=True, help='Uffd base URL without API prefix or trailing slash (e.g. https://example.com)') @click.option('--api-user', required=True, help='API user/client id') @click.option('--api-secret', required=True, help='API secret, do not set this on the command-line, use environment variable SERVER_API_SECRET instead') -@click.option('--remailer-domain', help='Domain to filter remailer lookups locally') -def main(socket_path, socket_fd, api_url, api_user, api_secret, remailer_domain): +def main(socket_path, socket_fd, api_url, api_user, api_secret): if (socket_path is None and socket_fd is None) or \ (socket_path is not None and socket_fd is not None): raise click.ClickException('Either --socket-path or --socket-fd must be specified') @@ -261,7 +255,7 @@ def main(socket_path, socket_fd, api_url, api_user, api_secret, remailer_domain) logger.addHandler(stderr_handler) api = UffdAPI(api_url, api_user, api_secret) - RequestHandler = make_requesthandler(api, remailer_domain) + RequestHandler = make_requesthandler(api) if socket_path is not None: cleanup_unix_socket(socket_path) socketserver.ThreadingUnixStreamServer(socket_path, RequestHandler).serve_forever() -- GitLab