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

Attachment: openca_patch_utf8.tgz
Description: application/compressed

Reply via email to