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
openca_patch_utf8.tgz
Description: application/compressed
