]> git.decadent.org.uk Git - dak.git/blobdiff - dak/process_accepted.py
Merge branch 'master' into security
[dak.git] / dak / process_accepted.py
index 5e09243ffa545b22f836f9e2fa57191e4cfd31d2..6013b18c9b5abec05b868a888c66f10771a8dbb9 100755 (executable)
@@ -274,9 +274,13 @@ def install ():
     # Begin a transaction; if we bomb out anywhere between here and the COMMIT WORK below, the DB will not be changed.
     projectB.query("BEGIN WORK")
 
-    # Check the hashes are all present: HACK: Can go away once all dak files
-    # are known to be newer than the shasum changes
-    utils.ensure_hashes(changes, dsc, files, dsc_files)
+    # Ensure that we have all the hashes we need below.
+    rejmsg = utils.ensure_hashes(changes, dsc, files, dsc_files)
+    if len(rejmsg) > 0:
+        # There were errors.  Print them and SKIP the changes.
+        for msg in rejmsg:
+            utils.warn(msg)
+        return
 
     # Add the .dsc file to the DB
     for file in files.keys():
@@ -314,7 +318,7 @@ def install ():
                     files_id = database.get_files_id(filename, dsc_files[dsc_file]["size"], dsc_files[dsc_file]["md5sum"], dsc_location_id)
                 # FIXME: needs to check for -1/-2 and or handle exception
                 if files_id == None:
-                    files_id = database.set_files_id (filename, dsc_files[dsc_file]["size"], dsc_files[dsc_file]["md5sum"], files[file]["sha1sum"], files[file]["sha256sum"], dsc_location_id)
+                    files_id = database.set_files_id (filename, dsc_files[dsc_file]["size"], dsc_files[dsc_file]["md5sum"], files[dsc_file]["sha1sum"], files[dsc_file]["sha256sum"], dsc_location_id)
                 projectB.query("INSERT INTO dsc_files (source, file) VALUES (currval('source_id_seq'), %d)" % (files_id))
 
             # Add the src_uploaders to the DB