davidrg / ckwin

Kermit 95 (C-Kermit for Windows) - scriptable internet and serial communications with terminal emulation
Other
60 stars 15 forks source link

Dialer Database Corruption #280

Open davidrg opened 1 month ago

davidrg commented 1 month ago

From the K95 bugs list:

The Dialer database can be damaged in various ways, mostly by bugs in the C++ Class libraries that were used to build the Dialer. Many of these bugs have been worked around in version 2.1.3, so if you are running an earlier version, you should upgrade to 2.1.3:

http://www.columbia.edu/kermit/k95upgrade.html

A significant re-write of the Class Libraries took place after 2.1.3 was released to make them compatible with the latest Microsoft development tools. These changes are incorporated into the next K95 release. Meanwhile, in 2.1.3 a corrupted entry in a .DAT file (if it cannot be corrected automatically) will cause the user to notified of the problem, specifying the entry that was damaged and indicating that the entry will be deleted. Meanwhile, Kermit 95 creates an automatic backup each time the .DAT file is edited. The backups are located in the same directory as the .DAT file, which varies according to your OS version and installation choices; see the K95 README file for details:

http://www.columbia.edu/kermit/k95readme.html

and have filenames ending in .BK1, .BK2, .BK3, etc. To restore from a backup, move or rename your corrupted DIALUSR.DAT for possible future analysis, and copy the latest backup to DIALUSR.DAT. If that one is corrupt too, repeat the process going back through the previous backup copies.

Our version of the dialer appears to be based on v2.1.2 so we likely don't have any of the workarounds, and we're building the dialer with OpenZinc so don't have any of the post-2.1.3 enhancements made by Jeff.

This is probably going to end up being a "wont fix" due to the unmaintained nature of Zinc. The long-term solution will be complete replacement of the dialer. The issue is only logged here so we can track it properly and it doesn't get lost in the K95 bugs list.