Skip to content

Commit e773e70

Browse files
Add files via upload
1 parent 6b79213 commit e773e70

1 file changed

Lines changed: 15 additions & 18 deletions

File tree

pycatfile.py

Lines changed: 15 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -9714,6 +9714,7 @@ def CatFileValidate(infile, fmttype="auto", filestart=0, formatspecs=__file_form
97149714
return False
97159715
if(formdel != formatspecs['format_delimiter']):
97169716
return False
9717+
headeroffset = fp.tell()
97179718
if(__use_new_style__):
97189719
inheader = ReadFileHeaderDataBySize(fp, formatspecs['format_delimiter'])
97199720
else:
@@ -9732,24 +9733,9 @@ def CatFileValidate(infile, fmttype="auto", filestart=0, formatspecs=__file_form
97329733
fjsonsize = int(inheader[10], 16)
97339734
fjsonchecksumtype = inheader[11]
97349735
fjsonchecksum = inheader[12]
9736+
headerjsonoffset = fp.tell()
97359737
fprejsoncontent = fp.read(fjsonsize)
97369738
jsonfcs = GetFileChecksum(fprejsoncontent, fjsonchecksumtype, True, formatspecs, saltkey)
9737-
if(fjsonsize > 0):
9738-
if(CheckChecksums(jsonfcs, fjsonchecksum)):
9739-
if(verbose):
9740-
VerbosePrintOut("File JSON Data Checksum Passed at offset " + str(outfjstart))
9741-
VerbosePrintOut("'" + outfjsonchecksum + "' == " + "'" + injsonfcs + "'")
9742-
else:
9743-
valid_archive = False
9744-
invalid_archive = True
9745-
if(verbose):
9746-
VerbosePrintOut("File JSON Data Checksum Error at offset " + str(outfjstart))
9747-
VerbosePrintOut("'" + outfjsonchecksum + "' != " + "'" + injsonfcs + "'")
9748-
if(not CheckChecksums(fjsonchecksum, jsonfcs) and not skipchecksum):
9749-
VerbosePrintOut("File JSON Data Checksum Error with file " +
9750-
fname + " at offset " + str(fheaderstart))
9751-
VerbosePrintOut("'" + fjsonchecksum + "' != " + "'" + jsonfcs + "'")
9752-
return False
97539739
# Next seek directive
97549740
if(re.findall(r"^\+([0-9]+)", outfseeknextfile)):
97559741
fseeknextasnum = int(outfseeknextfile.replace("+", ""))
@@ -9786,15 +9772,26 @@ def CatFileValidate(infile, fmttype="auto", filestart=0, formatspecs=__file_form
97869772
VerbosePrintOut("Number of Records " + str(fnumfiles))
97879773
if(headercheck):
97889774
if(verbose):
9789-
VerbosePrintOut("File Header Checksum Passed at offset " + str(0))
9775+
VerbosePrintOut("File Header Checksum Passed at offset " + str(headeroffset))
97909776
VerbosePrintOut("'" + fprechecksum + "' == " + "'" + newfcs + "'")
97919777
else:
97929778
# always flip flags, even when not verbose
97939779
valid_archive = False
97949780
invalid_archive = True
97959781
if(verbose):
9796-
VerbosePrintOut("File Header Checksum Failed at offset " + str(0))
9782+
VerbosePrintOut("File Header Checksum Failed at offset " + str(headeroffset))
97979783
VerbosePrintOut("'" + fprechecksum + "' != " + "'" + newfcs + "'")
9784+
if(fjsonsize > 0):
9785+
if(CheckChecksums(jsonfcs, fjsonchecksum)):
9786+
if(verbose):
9787+
VerbosePrintOut("File JSON Data Checksum Passed at offset " + str(headerjsonoffset))
9788+
VerbosePrintOut("'" + outfjsonchecksum + "' == " + "'" + injsonfcs + "'")
9789+
else:
9790+
valid_archive = False
9791+
invalid_archive = True
9792+
if(verbose):
9793+
VerbosePrintOut("File JSON Data Checksum Error at offset " + str(headerjsonoffset))
9794+
VerbosePrintOut("'" + outfjsonchecksum + "' != " + "'" + injsonfcs + "'")
97989795
if(verbose):
97999796
VerbosePrintOut("")
98009797
# Iterate either until EOF (seektoend) or fixed count

0 commit comments

Comments
 (0)