Skip to content
Snippets Groups Projects
Commit cfe8e5f5 authored by rswindell's avatar rswindell
Browse files

Verify that index subject CRC matches calculated header subject CRC.

parent 79902b38
No related branches found
No related tags found
No related merge requests found
...@@ -133,7 +133,7 @@ int main(int argc, char **argv) ...@@ -133,7 +133,7 @@ int main(int argc, char **argv)
,acthdrblocks,actdatblocks ,acthdrblocks,actdatblocks
,dfieldlength,dfieldoffset ,dfieldlength,dfieldoffset
,dupenum,dupenumhdr,dupeoff,attr,actalloc ,dupenum,dupenumhdr,dupeoff,attr,actalloc
,datactalloc,misnumbered,timeerr,idxofferr,idxerr ,datactalloc,misnumbered,timeerr,idxofferr,idxerr,subjcrc
,zeronum,idxzeronum,idxnumerr,packable=0L,totallzhsaved=0L ,zeronum,idxzeronum,idxnumerr,packable=0L,totallzhsaved=0L
,totalmsgs=0,totallzhmsgs=0,totaldelmsgs=0,totalmsgbytes=0L ,totalmsgs=0,totallzhmsgs=0,totaldelmsgs=0,totalmsgbytes=0L
,lzhblocks,lzhsaved; ,lzhblocks,lzhsaved;
...@@ -257,6 +257,7 @@ int main(int argc, char **argv) ...@@ -257,6 +257,7 @@ int main(int argc, char **argv)
} }
headers=deleted=orphan=dupenumhdr=attr=zeronum=timeerr=lockerr=hdrerr=0; headers=deleted=orphan=dupenumhdr=attr=zeronum=timeerr=lockerr=hdrerr=0;
subjcrc=0;
hdrnumerr=hdrlenerr=0; hdrnumerr=hdrlenerr=0;
actalloc=datactalloc=deldatblocks=delhdrblocks=xlaterr=0; actalloc=datactalloc=deldatblocks=delhdrblocks=xlaterr=0;
lzhblocks=lzhsaved=acthdrblocks=actdatblocks=0; lzhblocks=lzhsaved=acthdrblocks=actdatblocks=0;
...@@ -417,6 +418,15 @@ int main(int argc, char **argv) ...@@ -417,6 +418,15 @@ int main(int argc, char **argv)
"index import date/time\n"); "index import date/time\n");
timeerr++; timeerr++;
} }
else if(msg.idx.subj!=smb_subject_crc(msg.subj)) {
fprintf(stderr,"%sSubject CRC mismatch index\n",beep);
msgerr=TRUE;
if(extinfo)
printf("MSGERR: Subject (%04X) does not match index "
"CRC (%04X)\n"
,smb_subject_crc(msg.subj),msg.idx.subj);
subjcrc++;
}
if(msg.hdr.number==0) { if(msg.hdr.number==0) {
fprintf(stderr,"%sZero message number\n",beep); fprintf(stderr,"%sZero message number\n",beep);
msgerr=TRUE; msgerr=TRUE;
...@@ -767,6 +777,10 @@ int main(int argc, char **argv) ...@@ -767,6 +777,10 @@ int main(int argc, char **argv)
printf("%-35.35s (!): %lu\n" printf("%-35.35s (!): %lu\n"
,"Mismatched Header Import Time" ,"Mismatched Header Import Time"
,timeerr); ,timeerr);
if(subjcrc)
printf("%-35.35s (!): %lu\n"
,"Mismatched Subject CRCs"
,subjcrc);
if(getbodyerr) if(getbodyerr)
printf("%-35.35s (!): %lu\n" printf("%-35.35s (!): %lu\n"
,"Message Body Text Read Failures" ,"Message Body Text Read Failures"
...@@ -818,7 +832,7 @@ int main(int argc, char **argv) ...@@ -818,7 +832,7 @@ int main(int argc, char **argv)
|| getbodyerr || gettailerr || getbodyerr || gettailerr
|| orphan || dupenumhdr || dupenum || dupeoff || attr || orphan || dupenumhdr || dupenum || dupeoff || attr
|| lockerr || hdrerr || hdrnumerr || idxnumerr || idxofferr || lockerr || hdrerr || hdrnumerr || idxnumerr || idxofferr
|| actalloc || datactalloc || misnumbered || timeerr || actalloc || datactalloc || misnumbered || timeerr || subjcrc
|| dfieldoffset || dfieldlength || xlaterr || idxerr) { || dfieldoffset || dfieldlength || xlaterr || idxerr) {
printf("%shas Errors!\n",beep); printf("%shas Errors!\n",beep);
errors++; errors++;
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment