HDR_CAND_FISHY = 1 # inconclusive (tag mismatch, obj overlap etc.)
HDR_CAND_JUNK = 2 # not a header / object unreadable
+HDR_VERDICT_NAME = \
+ { HDR_CAND_GOOD : "valid"
+ , HDR_CAND_FISHY : "fishy"
+ , HDR_CAND_JUNK : "junk"
+ }
+
+
+def verdict_fmt (vdt):
+ return HDR_VERDICT_NAME [vdt]
+
def inspect_hdr (fd, off):
"""
nobj += 1
vdt, hdr = inspect_hdr (ifd, cand)
+ vdts = verdict_fmt (vdt)
+
if vdt == HDR_CAND_JUNK:
+ noise ("PDT: obj %d: %s object: bad header, skipping" % vdts)
junk.append (cand)
else:
off0 = cand + PDTCRYPT_HDR_SIZE
if ofd != -1:
os.close (ofd)
if vdt == HDR_CAND_GOOD and ok is True:
- noise ("PDT: %d → ✓ valid object %d–%d"
- % (cand, off0, off0 + ctsize))
+ noise ("PDT: %d → ✓ %s object %d–%d"
+ % (cand, vdts, off0, off0 + ctsize))
elif vdt == HDR_CAND_FISHY and ok is True:
- noise ("PDT: %d → × object %d–%d, corrupt header"
- % (cand, off0, off0 + ctsize))
+ noise ("PDT: %d → × %s object %d–%d, corrupt header"
+ % (cand, vdts, off0, off0 + ctsize))
elif vdt == HDR_CAND_GOOD and ok is False:
- noise ("PDT: %d → × object %d–%d, problematic payload"
- % (cand, off0, off0 + ctsize))
+ noise ("PDT: %d → × %s object %d–%d, problematic payload"
+ % (cand, vdts, off0, off0 + ctsize))
elif vdt == HDR_CAND_FISHY and ok is False:
- noise ("PDT: %d → × object %d–%d, corrupt header, problematic "
- "ciphertext" % (cand, off0, off0 + ctsize))
+ noise ("PDT: %d → × %s object %d–%d, corrupt header, problematic "
+ "ciphertext" % (cand, vdts, off0, off0 + ctsize))
else:
raise Unreachable
finally: