X-Git-Url: https://git.tld-linux.org/?p=tld-builder.git;a=blobdiff_plain;f=TLD_Builder%2Frequest_fetcher.py;fp=PLD_Builder%2Frequest_fetcher.py;h=9877cde771572ba4e7a23ca73fa2e2251a639ee2;hp=a677a71302fca94a2be12d85fa20a1464bff5534;hb=b999f53d4bf5d44586ecf028876e8bc20b5fd2ce;hpb=37463eaa22f48f5fecbb90e69ef67a69e0bf9788 diff --git a/PLD_Builder/request_fetcher.py b/TLD_Builder/request_fetcher.py similarity index 94% rename from PLD_Builder/request_fetcher.py rename to TLD_Builder/request_fetcher.py index a677a71..9877cde 100644 --- a/PLD_Builder/request_fetcher.py +++ b/TLD_Builder/request_fetcher.py @@ -18,6 +18,7 @@ import gpg import request import loop import socket +import struct from acl import acl from bqueue import B_Queue from config import config, init_conf @@ -74,7 +75,12 @@ def fetch_queue(control_url): f.close() sio.seek(0) f = gzip.GzipFile(fileobj = sio) - (signers, body) = gpg.verify_sig(f.read()) + try: + fdata = f.read() + except struct.error, e: + log.alert("corrupted fetched queue.gz file") + sys.exit(1) + (signers, body) = gpg.verify_sig(fdata) u = acl.user_by_email(signers) if u == None: log.alert("queue.gz not signed with signature of valid user: %s" % signers)