Skip to content
Snippets Groups Projects
Commit 4686d955 authored by Rob Swindell's avatar Rob Swindell :speech_balloon:
Browse files

Replace many references to "Message" with "File" when scanning a file base

This could use more cleanup (e.g. instances of "MSGERR:") and in the summary
report there are still mentions of "message" after scanning a file base.
parent 4d06643f
Branches
Tags
1 merge request!455Update branch with changes from master
/* Synchronet message base (SMB) validity checker */ /* Synchronet message/file base (SMB) validity checker */
/**************************************************************************** /****************************************************************************
* @format.tab-size 4 (Plain Text/Source Code File Header) * * @format.tab-size 4 (Plain Text/Source Code File Header) *
...@@ -126,8 +126,8 @@ char *usage="\nusage: chksmb [-opts] <filespec.SHD>\n" ...@@ -126,8 +126,8 @@ char *usage="\nusage: chksmb [-opts] <filespec.SHD>\n"
"\n" "\n"
" opts:\n" " opts:\n"
" b - beep on error\n" " b - beep on error\n"
" s - stop after errored message base\n" " s - stop after errored message/file base\n"
" p - pause after errored messsage base\n" " p - pause after errored messsage/file base\n"
" h - don't check hash file\n" " h - don't check hash file\n"
" a - don't check allocation files\n" " a - don't check allocation files\n"
" t - don't check translation strings\n" " t - don't check translation strings\n"
...@@ -180,7 +180,7 @@ int main(int argc, char **argv) ...@@ -180,7 +180,7 @@ int main(int argc, char **argv)
hash_t** hashes; hash_t** hashes;
time_t now=time(NULL); time_t now=time(NULL);
fprintf(stderr,"\nCHKSMB v3.20-%s %s/%s SMBLIB %s - Check Synchronet Message Base\n" fprintf(stderr,"\nCHKSMB v3.20-%s %s/%s SMBLIB %s - Check Synchronet Message/File Base\n"
,PLATFORM_DESC, GIT_BRANCH, GIT_HASH, smb_lib_ver()); ,PLATFORM_DESC, GIT_BRANCH, GIT_HASH, smb_lib_ver());
if(argc<2) { if(argc<2) {
...@@ -263,6 +263,8 @@ int main(int argc, char **argv) ...@@ -263,6 +263,8 @@ int main(int argc, char **argv)
continue; continue;
} }
const char* base_type = (smb.status.attr & SMB_FILE_DIRECTORY) ? "File" : "Message";
/* File size sanity checks here: */ /* File size sanity checks here: */
shd_length=filelength(fileno(smb.shd_fp)); shd_length=filelength(fileno(smb.shd_fp));
...@@ -422,11 +424,11 @@ int main(int argc, char **argv) ...@@ -422,11 +424,11 @@ int main(int argc, char **argv)
if(idx->number == msg.hdr.number) if(idx->number == msg.hdr.number)
continue; continue;
if(idx->offset > l && idx->offset < l + (smb_hdrblocks(msg.hdr.length) * SHD_BLOCK_LEN)) { if(idx->offset > l && idx->offset < l + (smb_hdrblocks(msg.hdr.length) * SHD_BLOCK_LEN)) {
fprintf(stderr,"%sMessage header overlap\n", beep); fprintf(stderr,"%s%s header overlap\n", base_type, beep);
msgerr=TRUE; msgerr=TRUE;
if(extinfo) if(extinfo)
printf("MSGERR: Header for message #%lu overlaps with message #%lu\n" printf("ERR: Header for %s #%lu overlaps with #%lu\n"
,(ulong)idxrec[n].number, (ulong)msg.hdr.number); ,base_type, (ulong)idxrec[n].number, (ulong)msg.hdr.number);
hdr_overlap++; hdr_overlap++;
break; break;
} }
...@@ -484,8 +486,8 @@ int main(int argc, char **argv) ...@@ -484,8 +486,8 @@ int main(int argc, char **argv)
} }
if(msg.hdr.type != smb_msg_type(msg.hdr.attr)) { if(msg.hdr.type != smb_msg_type(msg.hdr.attr)) {
fprintf(stderr,"%sMessage type mismatch (%d, expected %d)\n" fprintf(stderr,"%s%s type mismatch (%d, expected %d)\n"
,beep, msg.hdr.type, smb_msg_type(msg.hdr.attr)); ,beep, base_type, msg.hdr.type, smb_msg_type(msg.hdr.attr));
msgerr=TRUE; msgerr=TRUE;
types++; types++;
} }
...@@ -551,7 +553,7 @@ int main(int argc, char **argv) ...@@ -551,7 +553,7 @@ int main(int argc, char **argv)
else { else {
actdatblocks+=smb_datblocks(data_length); actdatblocks+=smb_datblocks(data_length);
if(msg.hdr.number>smb.status.last_msg) { if(msg.hdr.number>smb.status.last_msg) {
fprintf(stderr,"%sOut-Of-Range message number\n",beep); fprintf(stderr,"%sOut-Of-Range %s number\n",beep, base_type);
msgerr=TRUE; msgerr=TRUE;
if(extinfo) if(extinfo)
printf("MSGERR: Header number (%"PRIu32") greater than last (%"PRIu32")\n" printf("MSGERR: Header number (%"PRIu32") greater than last (%"PRIu32")\n"
...@@ -654,7 +656,7 @@ int main(int argc, char **argv) ...@@ -654,7 +656,7 @@ int main(int argc, char **argv)
} }
} }
if(msg.hdr.number==0) { if(msg.hdr.number==0) {
fprintf(stderr,"%sZero message number\n",beep); fprintf(stderr,"%sZero %s number\n",beep, base_type);
msgerr=TRUE; msgerr=TRUE;
if(extinfo) if(extinfo)
printf("MSGERR: Header number is zero (invalid)\n"); printf("MSGERR: Header number is zero (invalid)\n");
...@@ -663,7 +665,7 @@ int main(int argc, char **argv) ...@@ -663,7 +665,7 @@ int main(int argc, char **argv)
if(number) { if(number) {
for(m=0;m<headers;m++) for(m=0;m<headers;m++)
if(number[m] && msg.hdr.number==number[m]) { if(number[m] && msg.hdr.number==number[m]) {
fprintf(stderr,"%sDuplicate message number\n",beep); fprintf(stderr,"%sDuplicate %s number\n",beep, base_type);
msgerr=TRUE; msgerr=TRUE;
if(extinfo) if(extinfo)
printf("MSGERR: Header number (%"PRIu32") duplicated\n" printf("MSGERR: Header number (%"PRIu32") duplicated\n"
...@@ -784,7 +786,7 @@ int main(int argc, char **argv) ...@@ -784,7 +786,7 @@ int main(int argc, char **argv)
headers++; headers++;
if(msgerr && extinfo) { if(msgerr && extinfo) {
printf("\n"); printf("\n");
printf("%-16s %s\n","message base",smb.file); printf("%-16s %s\n",(smb.status.attr & SMB_FILE_DIRECTORY) ? "file base":"message base",smb.file);
smb_dump_msghdr(stdout,&msg); smb_dump_msghdr(stdout,&msg);
printf("\n"); printf("\n");
} }
...@@ -850,7 +852,7 @@ int main(int argc, char **argv) ...@@ -850,7 +852,7 @@ int main(int argc, char **argv)
} }
for(m=0;m<l;m++) for(m=0;m<l;m++)
if(number[m]==idx.number) { if(number[m]==idx.number) {
fprintf(stderr,"%sDuplicate message number\n",beep); fprintf(stderr,"%sDuplicate %s number\n",beep, base_type);
dupenum++; dupenum++;
break; break;
} }
...@@ -866,12 +868,12 @@ int main(int argc, char **argv) ...@@ -866,12 +868,12 @@ int main(int argc, char **argv)
break; break;
} }
if(idx.number==0) { if(idx.number==0) {
fprintf(stderr,"%sZero message number\n",beep); fprintf(stderr,"%sZero %s number\n",beep, base_type);
idxzeronum++; idxzeronum++;
break; break;
} }
if(idx.number>smb.status.last_msg) { if(idx.number>smb.status.last_msg) {
fprintf(stderr,"%sOut-Of-Range message number\n",beep); fprintf(stderr,"%sOut-Of-Range %s number\n",beep, base_type);
idxnumerr++; idxnumerr++;
break; break;
} }
...@@ -890,7 +892,7 @@ int main(int argc, char **argv) ...@@ -890,7 +892,7 @@ int main(int argc, char **argv)
fprintf(stderr,"#%-5lu (%06lX) 2nd Pass ",number[m],offset[m]); fprintf(stderr,"#%-5lu (%06lX) 2nd Pass ",number[m],offset[m]);
for(n=0;n<m;n++) for(n=0;n<m;n++)
if(number[m] && number[n] && number[m]<number[n]) { if(number[m] && number[n] && number[m]<number[n]) {
fprintf(stderr,"%sMisordered message number\n",beep); fprintf(stderr,"%sMisordered %s number\n",beep, base_type);
misnumbered++; misnumbered++;
number[n]=0; number[n]=0;
break; break;
...@@ -917,7 +919,7 @@ int main(int argc, char **argv) ...@@ -917,7 +919,7 @@ int main(int argc, char **argv)
if(!fread(&hash,sizeof(hash),1,smb.hash_fp)) if(!fread(&hash,sizeof(hash),1,smb.hash_fp))
break; break;
if(hash.number==0 || hash.number > smb.status.last_msg) if(hash.number==0 || hash.number > smb.status.last_msg)
fprintf(stderr,"\r%sInvalid message number (%u > %u)\n", beep, hash.number, smb.status.last_msg), badhash++, print_hash(&hash); fprintf(stderr,"\r%sInvalid %s number (%u > %u)\n", beep, base_type, hash.number, smb.status.last_msg), badhash++, print_hash(&hash);
else if(hash.time < 0x40000000 || hash.time > (ulong)now + (60 * 60)) else if(hash.time < 0x40000000 || hash.time > (ulong)now + (60 * 60))
fprintf(stderr,"\r%sInvalid time (0x%08"PRIX32")\n", beep, hash.time), badhash++, print_hash(&hash); fprintf(stderr,"\r%sInvalid time (0x%08"PRIX32")\n", beep, hash.time), badhash++, print_hash(&hash);
else if(hash.length < 1 || hash.length > 1024*1024*1024) else if(hash.length < 1 || hash.length > 1024*1024*1024)
...@@ -1129,7 +1131,7 @@ int main(int argc, char **argv) ...@@ -1129,7 +1131,7 @@ int main(int argc, char **argv)
,"Overlapping Headers" ,"Overlapping Headers"
,hdr_overlap); ,hdr_overlap);
printf("\n%s Message Base ",smb.file); printf("\n%s %s Base ",smb.file, base_type);
if(/* (headers-deleted)!=smb.status.total_msgs || */ if(/* (headers-deleted)!=smb.status.total_msgs || */
total!=smb.status.total_msgs total!=smb.status.total_msgs
|| (headers-deleted)!=total-delidx || (headers-deleted)!=total-delidx
...@@ -1176,7 +1178,7 @@ int main(int argc, char **argv) ...@@ -1176,7 +1178,7 @@ int main(int argc, char **argv)
} }
if(errors) if(errors)
printf("\n'fixsmb' can be used to repair many message base problems.\n"); printf("\n'fixsmb' can be used to repair many message/file base problems.\n");
return(errors); return(errors);
} }
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment