[projects/pld-builder.new] Catch corrupted queue.gz errors.

arekm arekm at pld-linux.org
Sun Nov 23 18:35:24 CET 2014


commit 3b478581427dc16326e1434bcf25e76b1dca9424
Author: Arkadiusz Miśkiewicz <arekm at maven.pl>
Date:   Sun Nov 23 18:35:18 2014 +0100

    Catch corrupted queue.gz errors.

 PLD_Builder/request_fetcher.py | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)
---
diff --git a/PLD_Builder/request_fetcher.py b/PLD_Builder/request_fetcher.py
index a677a71..9877cde 100644
--- a/PLD_Builder/request_fetcher.py
+++ b/PLD_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)
================================================================

---- gitweb:

http://git.pld-linux.org/gitweb.cgi/projects/pld-builder.new.git/commitdiff/3b478581427dc16326e1434bcf25e76b1dca9424



More information about the pld-cvs-commit mailing list