There appears to be an issue with QWKnet messages being crossed-up where
a message is posted to a different conference than the original sub-board with completely different header information. I suspect this has something to do HEADERS.DAT creation or import - not sure. So I added a "Conference" headers.dat field for *messages* (it already existed for votes) and use that value to confirm that the message header at the associated offset value in the QWK packet has the same conference number as the section in the headers.dat file. This is really just a sanity check and will only catch messages that were mistakening cross-posted (to a different conference) - *but* it log errors and save the bad QWK or REP file for me to examine more closely and see what's going on - and the message won't be imported (just "lost", which is also bad). So added more QWK import success/error checking and logging (especially for QWK packets since REP importing already had a lot of stats covered). Another check would be to store the original message number in the headers.dat file as well and use that to confirm that the headers.dat section is the correct match for the QWK message at that offset. I did not implement this check, yet. The conference number check seems like it'll catch most of the bad msgs and lead me to the root-cause.
Showing with 87 additions and 31 deletions