@@ -4318,25 +4318,24 @@ def ReadFileHeaderDataWithContentToArray(fp, listonly=False, contentasfile=True,
43184318 finode = int(HeaderOut[24], 16)
43194319 flinkcount = int(HeaderOut[25], 16)
43204320 fdev = int(HeaderOut[26], 16)
4321- fdev_minor = int(HeaderOut[27], 16)
4322- fdev_major = int(HeaderOut[28], 16)
4323- fseeknextfile = HeaderOut[29]
4324- fjsontype = HeaderOut[30]
4325- fjsonlen = int(HeaderOut[31], 16)
4326- fjsonsize = int(HeaderOut[32], 16)
4327- fjsonchecksumtype = HeaderOut[33]
4328- fjsonchecksum = HeaderOut[34]
4329- fextrasize = int(HeaderOut[35], 16)
4330- fextrafields = int(HeaderOut[36], 16)
4321+ frdev = int(HeaderOut[27], 16)
4322+ fseeknextfile = HeaderOut[28]
4323+ fjsontype = HeaderOut[29]
4324+ fjsonlen = int(HeaderOut[30], 16)
4325+ fjsonsize = int(HeaderOut[31], 16)
4326+ fjsonchecksumtype = HeaderOut[32]
4327+ fjsonchecksum = HeaderOut[33]
4328+ fextrasize = int(HeaderOut[34], 16)
4329+ fextrafields = int(HeaderOut[35], 16)
43314330 fextrafieldslist = []
4332- extrastart = 37
4331+ extrastart = 36
43334332 extraend = extrastart + fextrafields
43344333 while(extrastart < extraend):
43354334 fextrafieldslist.append(HeaderOut[extrastart])
43364335 extrastart = extrastart + 1
43374336 fvendorfieldslist = []
43384337 fvendorfields = 0;
4339- if(len(HeaderOut)>41 ):
4338+ if(len(HeaderOut)>40 ):
43404339 extrastart = extraend
43414340 extraend = len(HeaderOut) - 4
43424341 while(extrastart < extraend):
@@ -4496,7 +4495,7 @@ def ReadFileHeaderDataWithContentToArray(fp, listonly=False, contentasfile=True,
44964495 if(not contentasfile):
44974496 fcontents = fcontents.read()
44984497 outlist = {'fheadersize': fheadsize, 'fhstart': fheaderstart, 'fhend': fhend, 'ftype': ftype, 'fencoding': fencoding, 'fcencoding': fcencoding, 'fname': fname, 'fbasedir': fbasedir, 'flinkname': flinkname, 'fsize': fsize, 'fblksize': fblksize, 'fblocks': fblocks, 'fflags': fflags, 'fatime': fatime, 'fmtime': fmtime, 'fctime': fctime, 'fbtime': fbtime, 'fmode': fmode, 'fchmode': fchmode, 'ftypemod': ftypemod, 'fwinattributes': fwinattributes, 'fcompression': fcompression, 'fcsize': fcsize, 'fuid': fuid, 'funame': funame, 'fgid': fgid, 'fgname': fgname, 'finode': finode, 'flinkcount': flinkcount,
4499- 'fdev': fdev, 'fminor ': fdev_minor, 'fmajor': fdev_major , 'fseeknextfile': fseeknextfile, 'fheaderchecksumtype': HeaderOut[-4], 'fjsonchecksumtype': fjsonchecksumtype, 'fcontentchecksumtype': HeaderOut[-3], 'fnumfields': fnumfields + 2, 'frawheader': HeaderOut, 'fvendorfields': fvendorfields, 'fvendordata': fvendorfieldslist, 'fextrafields': fextrafields, 'fextrafieldsize': fextrasize, 'fextradata': fextrafieldslist, 'fjsontype': fjsontype, 'fjsonlen': fjsonlen, 'fjsonsize': fjsonsize, 'fjsonrawdata': fjsonrawcontent, 'fjsondata': fjsoncontent, 'fjstart': fjstart, 'fjend': fjend, 'fheaderchecksum': fcs, 'fjsonchecksum': fjsonchecksum, 'fcontentchecksum': fccs, 'fhascontents': pyhascontents, 'fcontentstart': fcontentstart, 'fcontentend': fcontentend, 'fcontentasfile': contentasfile, 'fcontents': fcontents}
4498+ 'fdev': fdev, 'frdev ': frdev , 'fseeknextfile': fseeknextfile, 'fheaderchecksumtype': HeaderOut[-4], 'fjsonchecksumtype': fjsonchecksumtype, 'fcontentchecksumtype': HeaderOut[-3], 'fnumfields': fnumfields + 2, 'frawheader': HeaderOut, 'fvendorfields': fvendorfields, 'fvendordata': fvendorfieldslist, 'fextrafields': fextrafields, 'fextrafieldsize': fextrasize, 'fextradata': fextrafieldslist, 'fjsontype': fjsontype, 'fjsonlen': fjsonlen, 'fjsonsize': fjsonsize, 'fjsonrawdata': fjsonrawcontent, 'fjsondata': fjsoncontent, 'fjstart': fjstart, 'fjend': fjend, 'fheaderchecksum': fcs, 'fjsonchecksum': fjsonchecksum, 'fcontentchecksum': fccs, 'fhascontents': pyhascontents, 'fcontentstart': fcontentstart, 'fcontentend': fcontentend, 'fcontentasfile': contentasfile, 'fcontents': fcontents}
45004499 return outlist
45014500
45024501
@@ -4544,18 +4543,17 @@ def ReadFileHeaderDataWithContentToList(fp, listonly=False, contentasfile=False,
45444543 finode = int(HeaderOut[24], 16)
45454544 flinkcount = int(HeaderOut[25], 16)
45464545 fdev = int(HeaderOut[26], 16)
4547- fdev_minor = int(HeaderOut[27], 16)
4548- fdev_major = int(HeaderOut[28], 16)
4549- fseeknextfile = HeaderOut[29]
4550- fjsontype = HeaderOut[30]
4551- fjsonlen = int(HeaderOut[31], 16)
4552- fjsonsize = int(HeaderOut[32], 16)
4553- fjsonchecksumtype = HeaderOut[33]
4554- fjsonchecksum = HeaderOut[34]
4555- fextrasize = int(HeaderOut[35], 16)
4556- fextrafields = int(HeaderOut[36], 16)
4546+ frdev = int(HeaderOut[27], 16)
4547+ fseeknextfile = HeaderOut[28]
4548+ fjsontype = HeaderOut[29]
4549+ fjsonlen = int(HeaderOut[30], 16)
4550+ fjsonsize = int(HeaderOut[31], 16)
4551+ fjsonchecksumtype = HeaderOut[32]
4552+ fjsonchecksum = HeaderOut[33]
4553+ fextrasize = int(HeaderOut[34], 16)
4554+ fextrafields = int(HeaderOut[35], 16)
45574555 fextrafieldslist = []
4558- extrastart = 37
4556+ extrastart = 36
45594557 extraend = extrastart + fextrafields
45604558 while(extrastart < extraend):
45614559 fextrafieldslist.append(HeaderOut[extrastart])
@@ -4710,7 +4708,7 @@ def ReadFileHeaderDataWithContentToList(fp, listonly=False, contentasfile=False,
47104708 if(not contentasfile):
47114709 fcontents = fcontents.read()
47124710 outlist = [ftype, fencoding, fcencoding, fname, flinkname, fsize, fblksize, fblocks, fflags, fatime, fmtime, fctime, fbtime, fmode, fwinattributes, fcompression, fcsize, fuid, funame, fgid, fgname, fid,
4713- finode, flinkcount, fdev, fdev_minor, fdev_major , fseeknextfile, fjsoncontent, fextrafieldslist, HeaderOut[-4], HeaderOut[-3], fcontents]
4711+ finode, flinkcount, fdev, frdev , fseeknextfile, fjsoncontent, fextrafieldslist, HeaderOut[-4], HeaderOut[-3], fcontents]
47144712 return outlist
47154713
47164714
@@ -6009,9 +6007,10 @@ def AppendFilesWithContent(infiles, fp, dirlistfromtxt=False, extradata=[], json
60096007 fdev = fstatinfo.st_rdev
60106008 except AttributeError:
60116009 fdev = 0
6012- getfdev = GetDevMajorMinor(fdev)
6013- fdev_minor = getfdev[0]
6014- fdev_major = getfdev[1]
6010+ try:
6011+ frdev = fstatinfo.st_rdev
6012+ except AttributeError:
6013+ frdev = 0
60156014 # Types that should be considered zero-length in the archive context:
60166015 zero_length_types = {1, 2, 3, 4, 5, 6, 8, 9, 10, 11, 13}
60176016 # Types that have actual data to read:
@@ -6055,8 +6054,7 @@ def AppendFilesWithContent(infiles, fp, dirlistfromtxt=False, extradata=[], json
60556054 except ImportError:
60566055 fgname = ""
60576056 fdev = format(int(fdev), 'x').lower()
6058- fdev_minor = format(int(fdev_minor), 'x').lower()
6059- fdev_major = format(int(fdev_major), 'x').lower()
6057+ frdev = format(int(frdev), 'x').lower()
60606058 finode = format(int(finode), 'x').lower()
60616059 flinkcount = format(int(flinkcount), 'x').lower()
60626060 if(hasattr(fstatinfo, "st_file_attributes")):
@@ -6171,7 +6169,7 @@ def AppendFilesWithContent(infiles, fp, dirlistfromtxt=False, extradata=[], json
61716169 fcontents.seek(0, 0)
61726170 ftypehex = format(ftype, 'x').lower()
61736171 tmpoutlist = [ftypehex, fencoding, fcencoding, fname, flinkname, fsize, fblksize, fblocks, fflags, fatime, fmtime, fctime, fbtime, fmode, fwinattributes, fcompression,
6174- fcsize, fuid, funame, fgid, fgname, fcurfid, fcurinode, flinkcount, fdev, fdev_minor, fdev_major , "+"+str(len(formatspecs['format_delimiter']))]
6172+ fcsize, fuid, funame, fgid, fgname, fcurfid, fcurinode, flinkcount, fdev, frdev , "+"+str(len(formatspecs['format_delimiter']))]
61756173 AppendFileHeaderWithContent(
61766174 fp, tmpoutlist, extradata, jsondata, fcontents.read(), [checksumtype[2], checksumtype[3], checksumtype[4]], formatspecs)
61776175 try:
@@ -6315,12 +6313,11 @@ def AppendFilesWithContentFromTarFile(infile, fp, extradata=[], jsondata={}, com
63156313 curfid = curfid + 1
63166314 if(ftype == 2):
63176315 flinkname = member.linkname
6316+ fdev = format(int("0"), 'x').lower()
63186317 try:
6319- fdev = format(int(os.makedev(member.devmajor, member.devminor)), 'x').lower()
6318+ frdev = format(int(os.makedev(member.devmajor, member.devminor)), 'x').lower()
63206319 except AttributeError:
6321- fdev = format(int(MakeDevAlt(member.devmajor, member.devminor)), 'x').lower()
6322- fdev_minor = format(int(member.devminor), 'x').lower()
6323- fdev_major = format(int(member.devmajor), 'x').lower()
6320+ frdev = format(int(MakeDevAlt(member.devmajor, member.devminor)), 'x').lower()
63246321 # Types that should be considered zero-length in the archive context:
63256322 zero_length_types = {1, 2, 3, 4, 5, 6, 8, 9, 10, 11, 13}
63266323 # Types that have actual data to read:
@@ -6402,7 +6399,7 @@ def AppendFilesWithContentFromTarFile(infile, fp, extradata=[], jsondata={}, com
64026399 fcontents.seek(0, 0)
64036400 ftypehex = format(ftype, 'x').lower()
64046401 tmpoutlist = [ftypehex, fencoding, fcencoding, fname, flinkname, fsize, fblksize, fblocks, fflags, fatime, fmtime, fctime, fbtime, fmode, fwinattributes, fcompression,
6405- fcsize, fuid, funame, fgid, fgname, fcurfid, fcurinode, flinkcount, fdev, fdev_minor, fdev_major , "+"+str(len(formatspecs['format_delimiter']))]
6402+ fcsize, fuid, funame, fgid, fgname, fcurfid, fcurinode, flinkcount, fdev, frdev , "+"+str(len(formatspecs['format_delimiter']))]
64066403 AppendFileHeaderWithContent(
64076404 fp, tmpoutlist, extradata, jsondata, fcontents.read(), [checksumtype[2], checksumtype[3], checksumtype[4]], formatspecs)
64086405 try:
@@ -6493,8 +6490,7 @@ def AppendFilesWithContentFromZipFile(infile, fp, extradata=[], jsondata={}, com
64936490 fcurinode = format(int(curfid), 'x').lower()
64946491 curfid = curfid + 1
64956492 fdev = format(int(0), 'x').lower()
6496- fdev_minor = format(int(0), 'x').lower()
6497- fdev_major = format(int(0), 'x').lower()
6493+ frdev = format(int(0), 'x').lower()
64986494 if(ftype == 5):
64996495 fsize = format(int("0"), 'x').lower()
65006496 elif(ftype == 0):
@@ -6625,7 +6621,7 @@ def AppendFilesWithContentFromZipFile(infile, fp, extradata=[], jsondata={}, com
66256621 fcontents.seek(0, 0)
66266622 ftypehex = format(ftype, 'x').lower()
66276623 tmpoutlist = [ftypehex, fencoding, fcencoding, fname, flinkname, fsize, fblksize, fblocks, fflags, fatime, fmtime, fctime, fbtime, fmode, fwinattributes, fcompression,
6628- fcsize, fuid, funame, fgid, fgname, fcurfid, fcurinode, flinkcount, fdev, fdev_minor, fdev_major , "+"+str(len(formatspecs['format_delimiter']))]
6624+ fcsize, fuid, funame, fgid, fgname, fcurfid, fcurinode, flinkcount, fdev, frdev , "+"+str(len(formatspecs['format_delimiter']))]
66296625 AppendFileHeaderWithContent(
66306626 fp, tmpoutlist, extradata, jsondata, fcontents.read(), [checksumtype[2], checksumtype[3], checksumtype[4]], formatspecs)
66316627 try:
@@ -6741,8 +6737,7 @@ def AppendFilesWithContentFromRarFile(infile, fp, extradata=[], jsondata={}, com
67416737 fcurinode = format(int(curfid), 'x').lower()
67426738 curfid = curfid + 1
67436739 fdev = format(int(0), 'x').lower()
6744- fdev_minor = format(int(0), 'x').lower()
6745- fdev_major = format(int(0), 'x').lower()
6740+ frdev = format(int(0), 'x').lower()
67466741 if(ftype == 5):
67476742 fsize = format(int("0"), 'x').lower()
67486743 elif(ftype == 0):
@@ -6867,7 +6862,7 @@ def AppendFilesWithContentFromRarFile(infile, fp, extradata=[], jsondata={}, com
68676862 fcontents.seek(0, 0)
68686863 ftypehex = format(ftype, 'x').lower()
68696864 tmpoutlist = [ftypehex, fencoding, fcencoding, fname, flinkname, fsize, fblksize, fblocks, fflags, fatime, fmtime, fctime, fbtime, fmode, fwinattributes, fcompression,
6870- fcsize, fuid, funame, fgid, fgname, fcurfid, fcurinode, flinkcount, fdev, fdev_minor, fdev_major , "+"+str(len(formatspecs['format_delimiter']))]
6865+ fcsize, fuid, funame, fgid, fgname, fcurfid, fcurinode, flinkcount, fdev, frdev , "+"+str(len(formatspecs['format_delimiter']))]
68716866 AppendFileHeaderWithContent(
68726867 fp, tmpoutlist, extradata, jsondata, fcontents.read(), [checksumtype[2], checksumtype[3], checksumtype[4]], formatspecs)
68736868 try:
@@ -6948,8 +6943,7 @@ def AppendFilesWithContentFromSevenZipFile(infile, fp, extradata=[], jsondata={}
69486943 fcurinode = format(int(curfid), 'x').lower()
69496944 curfid = curfid + 1
69506945 fdev = format(int(0), 'x').lower()
6951- fdev_minor = format(int(0), 'x').lower()
6952- fdev_major = format(int(0), 'x').lower()
6946+ frdev = format(int(0), 'x').lower()
69536947 if(ftype == 5):
69546948 fsize = format(int("0"), 'x').lower()
69556949 fatime = format(int(member.creationtime.timestamp()), 'x').lower()
@@ -7049,7 +7043,7 @@ def AppendFilesWithContentFromSevenZipFile(infile, fp, extradata=[], jsondata={}
70497043 fcontents.seek(0, 0)
70507044 ftypehex = format(ftype, 'x').lower()
70517045 tmpoutlist = [ftypehex, fencoding, fcencoding, fname, flinkname, fsize, fblksize, fblocks, fflags, fatime, fmtime, fctime, fbtime, fmode, fwinattributes, fcompression,
7052- fcsize, fuid, funame, fgid, fgname, fcurfid, fcurinode, flinkcount, fdev, fdev_minor, fdev_major , "+"+str(len(formatspecs['format_delimiter']))]
7046+ fcsize, fuid, funame, fgid, fgname, fcurfid, fcurinode, flinkcount, fdev, frdev , "+"+str(len(formatspecs['format_delimiter']))]
70537047 AppendFileHeaderWithContent(
70547048 fp, tmpoutlist, extradata, jsondata, fcontents.read(), [checksumtype[2], checksumtype[3], checksumtype[4]], formatspecs)
70557049 try:
@@ -7110,16 +7104,15 @@ def AppendListsWithContent(inlist, fp, dirlistfromtxt=False, extradata=[], jsond
71107104 finode = format(curfname[22], 'x').lower()
71117105 flinkcount = format(curfname[23], 'x').lower()
71127106 fdev = format(curfname[24], 'x').lower()
7113- fdev_minor = format(curfname[25], 'x').lower()
7114- fdev_major = format(curfname[26], 'x').lower()
7115- fseeknextfile = curfname[27]
7116- extradata = curfname[28]
7117- fheaderchecksumtype = curfname[29]
7118- fcontentchecksumtype = curfname[30]
7119- fcontents = curfname[31]
7107+ frdev = format(curfname[25], 'x').lower()
7108+ fseeknextfile = curfname[26]
7109+ extradata = curfname[27]
7110+ fheaderchecksumtype = curfname[28]
7111+ fcontentchecksumtype = curfname[29]
7112+ fcontents = curfname[30]
71207113 fencoding = GetFileEncoding(fcontents, 0, False)[0]
71217114 tmpoutlist = [ftype, fencoding, fcencoding, fname, flinkname, fsize, fblksize, fblocks, fflags, fatime, fmtime, fctime, fbtime, fmode, fwinattributes, fcompression, fcsize,
7122- fuid, funame, fgid, fgname, fid, finode, flinkcount, fdev, fdev_minor, fdev_major , fseeknextfile]
7115+ fuid, funame, fgid, fgname, fid, finode, flinkcount, fdev, frdev , fseeknextfile]
71237116 fcontents.seek(0, 0)
71247117 AppendFileHeaderWithContent(
71257118 fp, tmpoutlist, extradata, jsondata, fcontents.read(), [checksumtype[2], checksumtype[3], checksumtype[4]], formatspecs)
@@ -9737,10 +9730,10 @@ def ArchiveFileValidate(infile, fmttype="auto", filestart=0,
97379730 outfcsize = int(inheaderdata[18], 16)
97389731 fid = int(inheaderdata[23], 16)
97399732 finode = int(inheaderdata[24], 16)
9740- outfseeknextfile = inheaderdata[29 ]
9741- outfjsonsize = int(inheaderdata[32 ], 16)
9742- outfjsonchecksumtype = inheaderdata[33 ]
9743- outfjsonchecksum = inheaderdata[34 ]
9733+ outfseeknextfile = inheaderdata[28 ]
9734+ outfjsonsize = int(inheaderdata[31 ], 16)
9735+ outfjsonchecksumtype = inheaderdata[32 ]
9736+ outfjsonchecksum = inheaderdata[33 ]
97449737 outfhend = fp.tell() - 1 # (kept for parity; not used)
97459738 outfjstart = fp.tell()
97469739 # Read JSON bytes; compute checksum on bytes for robustness
@@ -9753,9 +9746,9 @@ def ArchiveFileValidate(infile, fmttype="auto", filestart=0,
97539746 outfjend = fp.tell()
97549747 fp.seek(len(formatspecs['format_delimiter']), 1)
97559748 injsonfcs = GetFileChecksum(outfprejsoncontent_bytes, outfjsonchecksumtype, True, formatspecs)
9756- outfextrafields = int(inheaderdata[36 ], 16)
9749+ outfextrafields = int(inheaderdata[35 ], 16)
97579750 extrafieldslist = []
9758- extrastart = 37
9751+ extrastart = 36
97599752 extraend = extrastart + outfextrafields
97609753 outfcs = inheaderdata[-2].lower()
97619754 outfccs = inheaderdata[-1].lower()
0 commit comments