From: Sergei V. <sv...@cr...> - 2005-07-26 17:04:10
|
Dear developers, Attached please find a patch, which enables full UTF8 support on data level in reqs and cert for OpenCA stable branch 0.9.2 as of July 26, 2005. In follows main guidelines made by Michael Bell for the HEAD branch with several changes and addendum. - By default, the patch preserves OpenCA behavior with strict check for LATIN1 in reqs and certs. - New option CERT_CHARS is proposed to be set in file config.xml with allowed values { UTF8 | LATIN1 }. If this option is absent or empty, old LATIN1 mode is implied. - Options related to utf8 are set or removed in OpenSSL config files by a simple addendum to the configure_etc.sh script which follows config.xml setting. - We add new charsets (UTF8_LETTERS and the likes) to file TRIStateCGI.pm that are used in subsequent consistency checks of filled forms. We add new collection of utf8-related template files which specify formats of user-filled-fields using charsets defined in TRIStateCGI.pm This collection of utf8-related templates will be used by OpenCA instead of default LATIN1-bound templates if config.xml says so. - We add flags to OpenSSL.pm and OpenSSL.xs, which ensure correct visualization of UTF8-speaking texts on the screen without redundant quoted-printable conversion. Those flags do not affect default LATIN1-filled texts, nor should it diminish security of the servers as info at this stage go from the server to the client. - All configuration changes UTF8 <---> LATIN1 are accumulated and centralized in a single script utf8_latin1_selector.sh which could be called from configure_etc.sh or from the console. This change is reversible (bi-directional), does not require re-installation of OpenCA, and ensures overall correctness and self-consistency of multiple configuration files. ============================================================== To prepare patched sources, - please put unzipped files next to openca-0.9 directory with sources of fresh branch 0.9.2. - run script: ./apply_utf8_patch This will add new files to the source tree and apply patch itself which is a file named patch_UTF8. - File README-UTF8.TXT explains the details of the patch and says how to switch between UTF8 and LATIN1 strings in reqs and certs as seen from the web interface of OpenCA. - File HOWTO-PostgreSQL-UTF8.TXT explains how to switch on UTF8 support of UTF8 strings in reqs and certs as seen from the database point of view. Any comments are very welcome. All the best, Sergei Vyshenski |