Monday, 17 September 2007

Bug: Cluster synchronisation of files containing ISO-8859 unescaped characters

Cluster synchronisation transaction files were written in UTF-8, but {\tt ClusterSync.pl} failed to open them in this mode. This caused file names which contained ISO-8859 characters above the 7 bit ASCII range which we do not escape to be misinterpreted when the transaction was read, resulting in a signature verification failure for the transaction. I added a ``{\tt :utf8}'' specification to the open of the transaction file so it will be read correctly. I also set {\tt STDOUT} to UTF-8 mode so that error messages are printed in that mode. The log file remains in ISO-8859 mode, as that will handle all characters which we do not escape.

No comments: