source code taken from cacert-20100204.tar.bz2 part 2
authorMarkus Warg <mw@it-sls.de>
Thu, 11 Mar 2010 14:20:31 +0000 (15:20 +0100)
committerMarkus Warg <mw@it-sls.de>
Thu, 11 Mar 2010 14:20:31 +0000 (15:20 +0100)
229 files changed:
cacert/CommModule/commdaemon [new file with mode: 0755]
cacert/CommModule/commmodule [new file with mode: 0755]
cacert/pages/account/56.php [new file with mode: 0644]
cacert/scripts/ate-de11-email.txt [new file with mode: 0644]
cacert/scripts/ate-de11-mail.php.txt [new file with mode: 0644]
cacert/scripts/ate-goteborg-s16-email.txt [new file with mode: 0644]
cacert/scripts/ate-goteborg-s16-mail.php.txt [new file with mode: 0644]
cacert/scripts/blit-de15-email.txt [new file with mode: 0644]
cacert/scripts/blit-de15-mail.php.txt [new file with mode: 0644]
cacert/scripts/cleanthem.pl [new file with mode: 0644]
cacert/scripts/consistence.php [new file with mode: 0755]
cacert/scripts/findnull.pl [new file with mode: 0644]
cacert/scripts/lisa-us13-email.txt [new file with mode: 0644]
cacert/scripts/lisa-us13-mail.php.txt [new file with mode: 0644]
cacert/scripts/mission-hills-ca-us17-email.txt [new file with mode: 0644]
cacert/scripts/mission-hills-ca-us17-mail.php.txt [new file with mode: 0644]
cacert/scripts/osd-copenhagen-dk18-email.txt [new file with mode: 0644]
cacert/scripts/osd-copenhagen-dk18-mail.php.txt [new file with mode: 0644]
cacert/scripts/ost-de14-email.txt [new file with mode: 0644]
cacert/scripts/ost-de14-mail.php.txt [new file with mode: 0644]
cacert/scripts/scale8x-los-angeles-ca-us19-email.txt [new file with mode: 0644]
cacert/scripts/scale8x-los-angeles-ca-us19-mail.php.txt [new file with mode: 0644]
cacert/scripts/sfd-de12-email.txt [new file with mode: 0644]
cacert/scripts/sfd-de12-mail.php.txt [new file with mode: 0644]
cacert/tmp/CVS/Entries [new file with mode: 0644]
cacert/tmp/CVS/Repository [new file with mode: 0644]
cacert/tmp/CVS/Root [new file with mode: 0644]
cacert/tmp/Makefile [new file with mode: 0644]
cacert/www/favicon.ico [new file with mode: 0644]
cacert/www/images/CAcert-logo-colour-1000.png [new file with mode: 0644]
cacert/www/images/bit.png [new file with mode: 0644]
cacert/www/images/btn_paynowCC_LG.gif [new file with mode: 0644]
cacert/www/images/cacert-policy.png [new file with mode: 0644]
cacert/www/images/cacert3.png [new file with mode: 0644]
cacert/www/images/cacert4.png [new file with mode: 0644]
cacert/www/images/nlnet.png [new file with mode: 0644]
cacert/www/images/oan.png [new file with mode: 0644]
cacert/www/images/payment2.png [new file with mode: 0644]
cacert/www/images/payment2a.png [new file with mode: 0644]
cacert/www/images/secured.png [new file with mode: 0644]
cacert/www/images/sonance.png [new file with mode: 0644]
cacert/www/images/tunix.png [new file with mode: 0644]
cacert/www/images/valid-xhtml11-blue [new file with mode: 0644]
cacert/www/policy/CertificationPracticeStatement.php [new file with mode: 0644]
cacert/www/policy/cacert-draft.png [new file with mode: 0644]
cacert/www/utf8_to_ascii/ChangeLog [new file with mode: 0644]
cacert/www/utf8_to_ascii/LICENSE [new file with mode: 0644]
cacert/www/utf8_to_ascii/README [new file with mode: 0644]
cacert/www/utf8_to_ascii/db/x00.php [new file with mode: 0644]
cacert/www/utf8_to_ascii/db/x01.php [new file with mode: 0644]
cacert/www/utf8_to_ascii/db/x02.php [new file with mode: 0644]
cacert/www/utf8_to_ascii/db/x03.php [new file with mode: 0644]
cacert/www/utf8_to_ascii/db/x04.php [new file with mode: 0644]
cacert/www/utf8_to_ascii/db/x05.php [new file with mode: 0644]
cacert/www/utf8_to_ascii/db/x06.php [new file with mode: 0644]
cacert/www/utf8_to_ascii/db/x07.php [new file with mode: 0644]
cacert/www/utf8_to_ascii/db/x09.php [new file with mode: 0644]
cacert/www/utf8_to_ascii/db/x0a.php [new file with mode: 0644]
cacert/www/utf8_to_ascii/db/x0b.php [new file with mode: 0644]
cacert/www/utf8_to_ascii/db/x0c.php [new file with mode: 0644]
cacert/www/utf8_to_ascii/db/x0d.php [new file with mode: 0644]
cacert/www/utf8_to_ascii/db/x0e.php [new file with mode: 0644]
cacert/www/utf8_to_ascii/db/x0f.php [new file with mode: 0644]
cacert/www/utf8_to_ascii/db/x10.php [new file with mode: 0644]
cacert/www/utf8_to_ascii/db/x11.php [new file with mode: 0644]
cacert/www/utf8_to_ascii/db/x12.php [new file with mode: 0644]
cacert/www/utf8_to_ascii/db/x13.php [new file with mode: 0644]
cacert/www/utf8_to_ascii/db/x14.php [new file with mode: 0644]
cacert/www/utf8_to_ascii/db/x15.php [new file with mode: 0644]
cacert/www/utf8_to_ascii/db/x16.php [new file with mode: 0644]
cacert/www/utf8_to_ascii/db/x17.php [new file with mode: 0644]
cacert/www/utf8_to_ascii/db/x18.php [new file with mode: 0644]
cacert/www/utf8_to_ascii/db/x1e.php [new file with mode: 0644]
cacert/www/utf8_to_ascii/db/x1f.php [new file with mode: 0644]
cacert/www/utf8_to_ascii/db/x20.php [new file with mode: 0644]
cacert/www/utf8_to_ascii/db/x21.php [new file with mode: 0644]
cacert/www/utf8_to_ascii/db/x22.php [new file with mode: 0644]
cacert/www/utf8_to_ascii/db/x23.php [new file with mode: 0644]
cacert/www/utf8_to_ascii/db/x24.php [new file with mode: 0644]
cacert/www/utf8_to_ascii/db/x25.php [new file with mode: 0644]
cacert/www/utf8_to_ascii/db/x26.php [new file with mode: 0644]
cacert/www/utf8_to_ascii/db/x27.php [new file with mode: 0644]
cacert/www/utf8_to_ascii/db/x28.php [new file with mode: 0644]
cacert/www/utf8_to_ascii/db/x2e.php [new file with mode: 0644]
cacert/www/utf8_to_ascii/db/x2f.php [new file with mode: 0644]
cacert/www/utf8_to_ascii/db/x30.php [new file with mode: 0644]
cacert/www/utf8_to_ascii/db/x31.php [new file with mode: 0644]
cacert/www/utf8_to_ascii/db/x32.php [new file with mode: 0644]
cacert/www/utf8_to_ascii/db/x33.php [new file with mode: 0644]
cacert/www/utf8_to_ascii/db/x4d.php [new file with mode: 0644]
cacert/www/utf8_to_ascii/db/x4e.php [new file with mode: 0644]
cacert/www/utf8_to_ascii/db/x4f.php [new file with mode: 0644]
cacert/www/utf8_to_ascii/db/x50.php [new file with mode: 0644]
cacert/www/utf8_to_ascii/db/x51.php [new file with mode: 0644]
cacert/www/utf8_to_ascii/db/x52.php [new file with mode: 0644]
cacert/www/utf8_to_ascii/db/x53.php [new file with mode: 0644]
cacert/www/utf8_to_ascii/db/x54.php [new file with mode: 0644]
cacert/www/utf8_to_ascii/db/x55.php [new file with mode: 0644]
cacert/www/utf8_to_ascii/db/x56.php [new file with mode: 0644]
cacert/www/utf8_to_ascii/db/x57.php [new file with mode: 0644]
cacert/www/utf8_to_ascii/db/x58.php [new file with mode: 0644]
cacert/www/utf8_to_ascii/db/x59.php [new file with mode: 0644]
cacert/www/utf8_to_ascii/db/x5a.php [new file with mode: 0644]
cacert/www/utf8_to_ascii/db/x5b.php [new file with mode: 0644]
cacert/www/utf8_to_ascii/db/x5c.php [new file with mode: 0644]
cacert/www/utf8_to_ascii/db/x5d.php [new file with mode: 0644]
cacert/www/utf8_to_ascii/db/x5e.php [new file with mode: 0644]
cacert/www/utf8_to_ascii/db/x5f.php [new file with mode: 0644]
cacert/www/utf8_to_ascii/db/x60.php [new file with mode: 0644]
cacert/www/utf8_to_ascii/db/x61.php [new file with mode: 0644]
cacert/www/utf8_to_ascii/db/x62.php [new file with mode: 0644]
cacert/www/utf8_to_ascii/db/x63.php [new file with mode: 0644]
cacert/www/utf8_to_ascii/db/x64.php [new file with mode: 0644]
cacert/www/utf8_to_ascii/db/x65.php [new file with mode: 0644]
cacert/www/utf8_to_ascii/db/x66.php [new file with mode: 0644]
cacert/www/utf8_to_ascii/db/x67.php [new file with mode: 0644]
cacert/www/utf8_to_ascii/db/x68.php [new file with mode: 0644]
cacert/www/utf8_to_ascii/db/x69.php [new file with mode: 0644]
cacert/www/utf8_to_ascii/db/x6a.php [new file with mode: 0644]
cacert/www/utf8_to_ascii/db/x6b.php [new file with mode: 0644]
cacert/www/utf8_to_ascii/db/x6c.php [new file with mode: 0644]
cacert/www/utf8_to_ascii/db/x6d.php [new file with mode: 0644]
cacert/www/utf8_to_ascii/db/x6e.php [new file with mode: 0644]
cacert/www/utf8_to_ascii/db/x6f.php [new file with mode: 0644]
cacert/www/utf8_to_ascii/db/x70.php [new file with mode: 0644]
cacert/www/utf8_to_ascii/db/x71.php [new file with mode: 0644]
cacert/www/utf8_to_ascii/db/x72.php [new file with mode: 0644]
cacert/www/utf8_to_ascii/db/x73.php [new file with mode: 0644]
cacert/www/utf8_to_ascii/db/x74.php [new file with mode: 0644]
cacert/www/utf8_to_ascii/db/x75.php [new file with mode: 0644]
cacert/www/utf8_to_ascii/db/x76.php [new file with mode: 0644]
cacert/www/utf8_to_ascii/db/x77.php [new file with mode: 0644]
cacert/www/utf8_to_ascii/db/x78.php [new file with mode: 0644]
cacert/www/utf8_to_ascii/db/x79.php [new file with mode: 0644]
cacert/www/utf8_to_ascii/db/x7a.php [new file with mode: 0644]
cacert/www/utf8_to_ascii/db/x7b.php [new file with mode: 0644]
cacert/www/utf8_to_ascii/db/x7c.php [new file with mode: 0644]
cacert/www/utf8_to_ascii/db/x7d.php [new file with mode: 0644]
cacert/www/utf8_to_ascii/db/x7e.php [new file with mode: 0644]
cacert/www/utf8_to_ascii/db/x7f.php [new file with mode: 0644]
cacert/www/utf8_to_ascii/db/x80.php [new file with mode: 0644]
cacert/www/utf8_to_ascii/db/x81.php [new file with mode: 0644]
cacert/www/utf8_to_ascii/db/x82.php [new file with mode: 0644]
cacert/www/utf8_to_ascii/db/x83.php [new file with mode: 0644]
cacert/www/utf8_to_ascii/db/x84.php [new file with mode: 0644]
cacert/www/utf8_to_ascii/db/x85.php [new file with mode: 0644]
cacert/www/utf8_to_ascii/db/x86.php [new file with mode: 0644]
cacert/www/utf8_to_ascii/db/x87.php [new file with mode: 0644]
cacert/www/utf8_to_ascii/db/x88.php [new file with mode: 0644]
cacert/www/utf8_to_ascii/db/x89.php [new file with mode: 0644]
cacert/www/utf8_to_ascii/db/x8a.php [new file with mode: 0644]
cacert/www/utf8_to_ascii/db/x8b.php [new file with mode: 0644]
cacert/www/utf8_to_ascii/db/x8c.php [new file with mode: 0644]
cacert/www/utf8_to_ascii/db/x8d.php [new file with mode: 0644]
cacert/www/utf8_to_ascii/db/x8e.php [new file with mode: 0644]
cacert/www/utf8_to_ascii/db/x8f.php [new file with mode: 0644]
cacert/www/utf8_to_ascii/db/x90.php [new file with mode: 0644]
cacert/www/utf8_to_ascii/db/x91.php [new file with mode: 0644]
cacert/www/utf8_to_ascii/db/x92.php [new file with mode: 0644]
cacert/www/utf8_to_ascii/db/x93.php [new file with mode: 0644]
cacert/www/utf8_to_ascii/db/x94.php [new file with mode: 0644]
cacert/www/utf8_to_ascii/db/x95.php [new file with mode: 0644]
cacert/www/utf8_to_ascii/db/x96.php [new file with mode: 0644]
cacert/www/utf8_to_ascii/db/x97.php [new file with mode: 0644]
cacert/www/utf8_to_ascii/db/x98.php [new file with mode: 0644]
cacert/www/utf8_to_ascii/db/x99.php [new file with mode: 0644]
cacert/www/utf8_to_ascii/db/x9a.php [new file with mode: 0644]
cacert/www/utf8_to_ascii/db/x9b.php [new file with mode: 0644]
cacert/www/utf8_to_ascii/db/x9c.php [new file with mode: 0644]
cacert/www/utf8_to_ascii/db/x9d.php [new file with mode: 0644]
cacert/www/utf8_to_ascii/db/x9e.php [new file with mode: 0644]
cacert/www/utf8_to_ascii/db/x9f.php [new file with mode: 0644]
cacert/www/utf8_to_ascii/db/xa0.php [new file with mode: 0644]
cacert/www/utf8_to_ascii/db/xa1.php [new file with mode: 0644]
cacert/www/utf8_to_ascii/db/xa2.php [new file with mode: 0644]
cacert/www/utf8_to_ascii/db/xa3.php [new file with mode: 0644]
cacert/www/utf8_to_ascii/db/xa4.php [new file with mode: 0644]
cacert/www/utf8_to_ascii/db/xac.php [new file with mode: 0644]
cacert/www/utf8_to_ascii/db/xad.php [new file with mode: 0644]
cacert/www/utf8_to_ascii/db/xae.php [new file with mode: 0644]
cacert/www/utf8_to_ascii/db/xaf.php [new file with mode: 0644]
cacert/www/utf8_to_ascii/db/xb0.php [new file with mode: 0644]
cacert/www/utf8_to_ascii/db/xb1.php [new file with mode: 0644]
cacert/www/utf8_to_ascii/db/xb2.php [new file with mode: 0644]
cacert/www/utf8_to_ascii/db/xb3.php [new file with mode: 0644]
cacert/www/utf8_to_ascii/db/xb4.php [new file with mode: 0644]
cacert/www/utf8_to_ascii/db/xb5.php [new file with mode: 0644]
cacert/www/utf8_to_ascii/db/xb6.php [new file with mode: 0644]
cacert/www/utf8_to_ascii/db/xb7.php [new file with mode: 0644]
cacert/www/utf8_to_ascii/db/xb8.php [new file with mode: 0644]
cacert/www/utf8_to_ascii/db/xb9.php [new file with mode: 0644]
cacert/www/utf8_to_ascii/db/xba.php [new file with mode: 0644]
cacert/www/utf8_to_ascii/db/xbb.php [new file with mode: 0644]
cacert/www/utf8_to_ascii/db/xbc.php [new file with mode: 0644]
cacert/www/utf8_to_ascii/db/xbd.php [new file with mode: 0644]
cacert/www/utf8_to_ascii/db/xbe.php [new file with mode: 0644]
cacert/www/utf8_to_ascii/db/xbf.php [new file with mode: 0644]
cacert/www/utf8_to_ascii/db/xc0.php [new file with mode: 0644]
cacert/www/utf8_to_ascii/db/xc1.php [new file with mode: 0644]
cacert/www/utf8_to_ascii/db/xc2.php [new file with mode: 0644]
cacert/www/utf8_to_ascii/db/xc3.php [new file with mode: 0644]
cacert/www/utf8_to_ascii/db/xc4.php [new file with mode: 0644]
cacert/www/utf8_to_ascii/db/xc5.php [new file with mode: 0644]
cacert/www/utf8_to_ascii/db/xc6.php [new file with mode: 0644]
cacert/www/utf8_to_ascii/db/xc7.php [new file with mode: 0644]
cacert/www/utf8_to_ascii/db/xc8.php [new file with mode: 0644]
cacert/www/utf8_to_ascii/db/xc9.php [new file with mode: 0644]
cacert/www/utf8_to_ascii/db/xca.php [new file with mode: 0644]
cacert/www/utf8_to_ascii/db/xcb.php [new file with mode: 0644]
cacert/www/utf8_to_ascii/db/xcc.php [new file with mode: 0644]
cacert/www/utf8_to_ascii/db/xcd.php [new file with mode: 0644]
cacert/www/utf8_to_ascii/db/xce.php [new file with mode: 0644]
cacert/www/utf8_to_ascii/db/xcf.php [new file with mode: 0644]
cacert/www/utf8_to_ascii/db/xd0.php [new file with mode: 0644]
cacert/www/utf8_to_ascii/db/xd1.php [new file with mode: 0644]
cacert/www/utf8_to_ascii/db/xd2.php [new file with mode: 0644]
cacert/www/utf8_to_ascii/db/xd3.php [new file with mode: 0644]
cacert/www/utf8_to_ascii/db/xd4.php [new file with mode: 0644]
cacert/www/utf8_to_ascii/db/xd5.php [new file with mode: 0644]
cacert/www/utf8_to_ascii/db/xd6.php [new file with mode: 0644]
cacert/www/utf8_to_ascii/db/xd7.php [new file with mode: 0644]
cacert/www/utf8_to_ascii/db/xf9.php [new file with mode: 0644]
cacert/www/utf8_to_ascii/db/xfa.php [new file with mode: 0644]
cacert/www/utf8_to_ascii/db/xfb.php [new file with mode: 0644]
cacert/www/utf8_to_ascii/db/xfc.php [new file with mode: 0644]
cacert/www/utf8_to_ascii/db/xfd.php [new file with mode: 0644]
cacert/www/utf8_to_ascii/db/xfe.php [new file with mode: 0644]
cacert/www/utf8_to_ascii/db/xff.php [new file with mode: 0644]
cacert/www/utf8_to_ascii/utf8_to_ascii.php [new file with mode: 0644]

diff --git a/cacert/CommModule/commdaemon b/cacert/CommModule/commdaemon
new file mode 100755 (executable)
index 0000000..d07495a
--- /dev/null
@@ -0,0 +1,45 @@
+#! /bin/bash
+# @(#)(CAcert) $Id: commdaemon,v 1.2 2009-12-28 15:14:40 wytze Exp $
+# commdaemon - script to run CommModule script in a loop,
+#              while checking for removal of activation by external script
+
+NAME=CommModule/commdaemon
+PID=$$
+TAG=${NAME}\[${PID}]
+
+case $# in
+    1) SCRIPT=$1
+       ACTIVE=${SCRIPT}-active
+       ;;
+    *) echo "Usage: $0 <script>" 1>&2
+       exit 1
+       ;;
+esac
+
+syslog_error()
+{
+       logger -t ${TAG} -p user.err $1
+}
+
+syslog_notice()
+{
+       logger -t ${TAG} -p user.notice $1
+}
+
+if [ ! -x ${SCRIPT} ]
+then
+       syslog_error "${SCRIPT} not found or not executable"
+       exit 1
+fi
+
+(echo -n "${TAG}: "; date) >${ACTIVE}
+
+syslog_notice "main loop started"
+while [ -f ${ACTIVE} ]
+do
+       syslog_notice "${SCRIPT} started"
+       ${SCRIPT} >>nohup.out 2>&1
+       syslog_notice "${SCRIPT} ended"
+       sleep 1
+done
+syslog_notice "main loop stopped"
diff --git a/cacert/CommModule/commmodule b/cacert/CommModule/commmodule
new file mode 100755 (executable)
index 0000000..f003f30
--- /dev/null
@@ -0,0 +1,166 @@
+#! /bin/sh
+# @(#)(CAcert) $Id: commmodule,v 1.1 2009-12-28 15:09:24 wytze Exp $
+### BEGIN INIT INFO
+# Provides:          commmodule
+# Required-Start:    $local_fs $remote_fs $syslog mysql
+# Required-Stop:     $local_fs $remote_fs $syslog
+# Default-Start:     2 3 4 5
+# Default-Stop:      0 1 6
+# Short-Description: Start and stop the CAcert CommModule processes
+# Description:       This file should be used to start and stop the CAcert
+#                    CommModule processes from /etc/init.d.
+### END INIT INFO
+
+# Author: Wytze van der Raay <wytze@cacert.org>
+#
+# Please remove the "Author" lines above and replace them
+# with your own name if you copy and modify this script.
+
+# Do NOT "set -e"
+
+# PATH should only include /usr/* if it runs after the mountnfs.sh script
+PATH=/sbin:/usr/sbin:/bin:/usr/bin
+DESC="CAcert CommModule processes start/stop"
+NAME=commmodule
+PIDFILE=/var/run/$NAME.pid
+SCRIPTNAME=/etc/init.d/$NAME
+
+# Read configuration variable file if it is present
+[ -r /etc/default/$NAME ] && . /etc/default/$NAME
+
+# Load the VERBOSE setting and other rcS variables
+. /lib/init/vars.sh
+
+# Define LSB log_* functions.
+# Depend on lsb-base (>= 3.0-6) to ensure that this file is present.
+. /lib/lsb/init-functions
+
+if [ "$1" != "setup" ]
+then
+       if [ "${COMMROOT}" = "" ]
+       then
+               echo "$0: COMMROOT not set"
+               exit 1
+       fi
+       if [ "${COMMROLE}" = "" ]
+       then
+               echo "$0: COMMROLE not set"
+               exit 1
+       fi
+       if [ ! -d ${COMMROOT} ]
+       then
+               echo "$0: ${COMMROOT} is not a directory"
+               exit 1
+       fi
+       if [ ! -x ${COMMROOT}/commdaemon ]
+       then
+               echo "$0: ${COMMROOT}/commdaemon not present or non-executable"
+               exit 1
+       fi
+       if [ ! -x ${COMMROOT}/${COMMROLE}.pl ]
+       then
+               echo "$0: ${COMMROOT}/${COMMROLE}.pl not present or non executable"
+               exit 1
+       fi
+
+       DAEMON=${COMMROOT}/commdaemon
+       DAEMON_ARGS="${COMMROOT}/${COMMROLE}.pl"
+       ACTIVE=${COMMROOT}/${COMMROLE}.pl-active
+fi
+
+# Load usbserial module with proper parameters
+/sbin/modprobe usbserial vendor=0x067b product=0x2501
+
+#
+# Function that starts the daemon/service
+#
+do_start()
+{
+       # Return
+       #   0 if daemon has been started
+       #   1 if daemon was already running
+       #   2 if daemon could not be started
+       start-stop-daemon --start --quiet --pidfile $PIDFILE \
+               --chdir ${COMMROOT} --background --exec $DAEMON --test \
+               > /dev/null \
+               || return 1
+       start-stop-daemon --start --quiet --pidfile $PIDFILE \
+               --chdir ${COMMROOT} --background --exec $DAEMON -- \
+               $DAEMON_ARGS \
+               || return 2
+       # Add code here, if necessary, that waits for the process to be ready
+       # to handle requests from services started subsequently which depend
+       # on this one.  As a last resort, sleep for some time.
+}
+
+#
+# Function that stops the daemon/service
+#
+do_stop()
+{
+       # Return
+       #   0 if daemon has been stopped
+       #   1 if daemon was already stopped
+       #   2 if daemon could not be stopped
+       #   other if a failure occurred
+       rm -f ${ACTIVE}
+       sleep 5
+       start-stop-daemon --stop --quiet --retry=TERM/30/KILL/5 --pidfile $PIDFILE --name $NAME
+       RETVAL="$?"
+       [ "$RETVAL" = 2 ] && return 2
+       # Many daemons don't delete their pidfiles when they exit.
+       rm -f $PIDFILE
+       return "$RETVAL"
+}
+
+case "$1" in
+  start)
+       [ "$VERBOSE" != no ] && log_daemon_msg "Starting $DESC" "$NAME"
+       do_start
+       case "$?" in
+               0|1) [ "$VERBOSE" != no ] && log_end_msg 0 ;;
+               2) [ "$VERBOSE" != no ] && log_end_msg 1 ;;
+       esac
+       ;;
+  stop)
+       [ "$VERBOSE" != no ] && log_daemon_msg "Stopping $DESC" "$NAME"
+       do_stop
+       case "$?" in
+               0|1) [ "$VERBOSE" != no ] && log_end_msg 0 ;;
+               2) [ "$VERBOSE" != no ] && log_end_msg 1 ;;
+       esac
+       ;;
+  restart|force-reload)
+       log_daemon_msg "Restarting $DESC" "$NAME"
+       do_stop
+       case "$?" in
+         0|1)
+               do_start
+               case "$?" in
+                       0) log_end_msg 0 ;;
+                       1) log_end_msg 1 ;; # Old process is still running
+                       *) log_end_msg 1 ;; # Failed to start
+               esac
+               ;;
+         *)
+               # Failed to stop
+               log_end_msg 1
+               ;;
+       esac
+       ;;
+  setup)
+       # setup default installation of commmodule scripts
+       cp ${NAME} /etc/init.d
+       chown root.root /etc/init.d/${NAME}
+       update-rc.d -f ${NAME} remove
+       update-rc.d ${NAME} defaults 90 20
+       (echo "COMMROOT=/home/cacert/www/CommModule";
+        echo "COMMROLE=client") >/etc/default/${NAME}
+       ;;
+  *)
+       echo "Usage: $SCRIPTNAME {start|stop|restart|force-reload|setup}" >&2
+       exit 3
+       ;;
+esac
+
+:
diff --git a/cacert/pages/account/56.php b/cacert/pages/account/56.php
new file mode 100644 (file)
index 0000000..348cc49
--- /dev/null
@@ -0,0 +1,41 @@
+<? /*\r
+LibreSSL - CAcert web application\r
+Copyright (C) 2004-2008  CAcert Inc.\r
+\r
+This program is free software; you can redistribute it and/or modify\r
+it under the terms of the GNU General Public License as published by\r
+the Free Software Foundation; version 2 of the License.\r
+\r
+This program is distributed in the hope that it will be useful,\r
+but WITHOUT ANY WARRANTY; without even the implied warranty of\r
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\r
+GNU General Public License for more details.\r
+\r
+You should have received a copy of the GNU General Public License\r
+along with this program; if not, write to the Free Software\r
+Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA\r
+*/ ?>\r
+<?=_("List of Organisation Assurers:")?>\r
+\r
+<table align="center" valign="middle" border="0" cellspacing="0" cellpadding="0" class="wrapper">\r
+  <tr>\r
+    <td colspan="1" class="title"><?=_("Name")?></td>\r
+    <td colspan="1" class="title"><?=_("Email")?></td>\r
+    <td colspan="1" class="title"><?=_("Country")?></td>\r
+  </tr>\r
+  <?\r
+    $query = "select users.fname,users.lname,users.email, countries.name from users left join countries on users.ccid=countries.id where orgadmin=1;";\r
+    $res = mysql_query($query);\r
+    while($row = mysql_fetch_assoc($res))\r
+    {\r
+  ?>\r
+    <tr>\r
+      <td><?=sanitizeHTML($row['fname'])." ".sanitizeHTML($row['lname'])?></td>\r
+      <td><a href="mailto:<?=sanitizeHTML($row['email'])?>"><?=sanitizeHTML($row['email'])?></a></td>\r
+      <td><?=sanitizeHTML($row['name'])?></td>\r
+    </tr>\r
+    <?\r
+    }\r
+?>\r
+</table>\r
+\r
diff --git a/cacert/scripts/ate-de11-email.txt b/cacert/scripts/ate-de11-email.txt
new file mode 100644 (file)
index 0000000..21ac13a
--- /dev/null
@@ -0,0 +1,37 @@
+CAcert Assurer Training Event Berlin-Brandenburg\r
+::::::::::::::::::::::::::::::::::::::::::::::::\r
+\r
+Es hat sich viel getan im letzten Jahr. Eine ganze Reihe von bisher eher\r
+"muendlich ueberlieferten" Regeln wurden in Policies gegossen. Neue\r
+Prozeduren (z.B. die Assurer Challenge) und Verpflichtungen (z.B. in dem\r
+CAcert Community Agreement) wurden beschlossen. Die Assurer Training Events\r
+wollen nun versuchen, die ganzen Informationen "unter's Volk" zu bringen:\r
+\r
+- Wovor schuetzt die CCA jedes CAcert-Community-Mitglied und somit auch\r
+  dich?\r
+- Kannst du die 5 Statements der "Purpose of Assurance" aufzaehlen?\r
+- Kannst du auf Anhieb 10 Sicherheitsmerkmale des deutschen  Personal-\r
+  ausweises aufzaehlen?\r
+  \r
+Antworten auf diese und weitere Fragen erhaelst du bei den Assurer\r
+Training Events (ATEs).\r
+\r
+Der Termin fuer Berlin steht nun fest.\r
+\r
+Berlin-Wilmerdorf,\r
+Donnerstag 09. Juli 2009 in der Zeit von 19:00 bis 21:00 Uhr\r
+Restaurant Prometheus\r
+Schlangenbader Strasse\r
+12345 Berlin-Wilmerdorf\r
+[http://wiki.cacert.org/wiki/Events/20090709ATE-Berlin]\r
+  \r
+Anmeldungen erfolgen bitte ausschliesslich ueber folgende Seite:\r
+[http://cacert-berlin.mixxt.de/networks/events/show_event.7105]\r
+\r
+Die Teilnahme an der Veranstaltung ist kostenlos, Spenden werden aber\r
+gerne gesehen.\r
+\r
+Details zum Veranstaltungsort und Anfahrthinweise findet Ihr im Wiki und\r
+bei mixxt.de, siehe die Links oben.\r
+\r
+Kontakt: events@cacert.org\r
diff --git a/cacert/scripts/ate-de11-mail.php.txt b/cacert/scripts/ate-de11-mail.php.txt
new file mode 100644 (file)
index 0000000..7021e5f
--- /dev/null
@@ -0,0 +1,92 @@
+#!/usr/bin/php -q
+<? /*
+    LibreSSL - CAcert web application
+    Copyright (C) 2004-2008  CAcert Inc.
+
+    This program is free software; you can redistribute it and/or modify
+    it under the terms of the GNU General Public License as published by
+    the Free Software Foundation; version 2 of the License.
+
+    This program is distributed in the hope that it will be useful,
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+    GNU General Public License for more details.
+
+    You should have received a copy of the GNU General Public License
+    along with this program; if not, write to the Free Software
+    Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+*/
+       include_once("../includes/mysql.php");
+
+       $lines = "";
+       $fp = fopen("ate-de11-email.txt", "r");
+       while(!feof($fp))
+       {
+               $line = trim(fgets($fp, 4096));
+               $lines .= wordwrap($line, 75, "\n")."\n";
+       }
+       fclose($fp);
+
+
+//     $locid = intval($_REQUEST['location']);
+//     $maxdist = intval($_REQUEST['maxdist']);
+  $maxdist = 200;
+
+
+// location      location.ID
+//   verified: 29.4.09 u.schroeter
+//   $locid = 7902857;       // Paris
+//   $locid = 238568;        // Bielefeld  
+//   $locid = 715191;        // Hamburg    
+//   $locid = 1102495;       // London     
+//   $locid = 520340;        // Duesseldorf
+//   $locid = 1260319;       // Muenchen   
+//   $locid = 606058;        // Frankfurt  
+//   $locid = 1775784;       // Stuttgart  
+//   $locid = 228950;        // Berlin  
+//   $locid = 606058;        // Frankfurt
+//   $locid = 599389;        // Flensburg
+//   $locid = 61065;        // Amsterdam, Eemnes
+
+   $locid = 228950;        // Berlin  
+
+  
+  $city = "Berlin 9. Juli 2009";
+
+       $query = "select * from `locations` where `id`='$locid'";
+        $loc = mysql_fetch_assoc(mysql_query($query));
+
+       $query = "SELECT ROUND(6378.137 * ACOS(0.9999999*((SIN(PI() * $loc[lat] / 180) * SIN(PI() * `locations`.`lat` / 180)) + 
+                       (COS(PI() * $loc[lat] / 180 ) * COS(PI() * `locations`.`lat` / 180) * 
+                        COS(PI() * `locations`.`long` / 180 - PI() * $loc[long] / 180)))), -1) AS `distance`, sum(`points`) as pts, `users`.* 
+                       FROM `locations`
+                               inner join `users`  on `users`.`locid` = `locations`.`id` 
+                               inner join `alerts` on `users`.`id`=`alerts`.`memid`
+                               inner join `notary` on `users`.`id`=`notary`.`to`
+                       WHERE   (`alerts`.`general`=1 OR `alerts`.`country`=1 OR `alerts`.`regional`=1 OR `alerts`.`radius`=1)
+                       GROUP BY `users`.`id`
+                       HAVING `distance` <= '$maxdist' 
+                       ORDER BY `distance` ";
+       echo $query;
+
+    // comment next line when starting to send mail not only to me 
+    // $query = "select * from `users` where `email` like 'cacerttest%'";
+
+       $res = mysql_query($query);
+       $xrows = mysql_num_rows($res);
+
+       while($row = mysql_fetch_assoc($res))
+       {
+    //    uncomment next line to send mails ...
+               sendmail($row['email'], "[CAcert.org] ATE-$city", $lines, "events@cacert.org", "", "", "CAcert Events Organisation", "returns@cacert.org", 1);
+       }
+  // 1x cc to events.cacert.org
+       sendmail("events@cacert.org", "[CAcert.org] ATE-$city", $lines, "events@cacert.org", "", "", "CAcert Events Organisation", "returns@cacert.org", 1);
+       // 1x mailing report to events.cacert.org
+  sendmail("events@cacert.org", "[CAcert.org] ATE-$city Report", "invitation sent to $xrows recipients.", "support@cacert.org", "", "", "CAcert Events Organisation", "returns@cacert.org", 1);        
+
+       // 1x mailing report to Arbitrator of case http://wiki.cacert.org/wiki/Arbitrations/a20090525.1
+  sendmail("p.dunkel@cacert.org", "[CAcert.org] ATE-$city Report", "invitation sent to $xrows recipients.", "support@cacert.org", "", "", "CAcert Events Organisation", "returns@cacert.org", 1);      
+
+       echo "invitation sent to $xrows recipients.";
+?>
diff --git a/cacert/scripts/ate-goteborg-s16-email.txt b/cacert/scripts/ate-goteborg-s16-email.txt
new file mode 100644 (file)
index 0000000..e1153f7
--- /dev/null
@@ -0,0 +1,58 @@
+CAcert Assurer Training Event Goteborg\r
+::::::::::::::::::::::::::::::::::::::::::::::::::\r
+\r
+Much has happened during the past year. A list of up till now mostly\r
+"orally transmitted" rules have been cast in policies. New procedures\r
+(e.g. the Assurer Challenge) and obligations (e.g. in the CAcert\r
+Community Agreement) have been decided. The Assurer Training Events\r
+try to bring all this informations to "the people":\r
+\r
+- To what, does the CCA protect every CAcert-Community-Member and as\r
+  such also you?\r
+- Can you recount the 5 statements of the "Purpose of Assurance"?\r
+- Can you at least recount 10 security marks of the Swedish passport\r
+  /Identity card?\r
+\r
+Answers to these and following questions are given at the Assurer\r
+Training Events (ATE\92s).\r
+Participation in the events is free, Contributions are however\r
+appreciated.\r
+\r
+\r
+The ATE-Goteborg takes place on:\r
+- Wednesday, Dec 16th from 20:00 till 22:00\r
+- at \r
+- [http://www.gothiatowers.com/]\r
+- Massans gata 24\r
+- 402 26 Goteborg, Sweden \r
+\r
+The Event-Team is already excited about your participation.\r
+\r
+Registration ATE-Goteborg\r
+[http://wiki.cacert.org/Events/20091216ATE-Goteborg]\r
+\r
+Remark from Leif-Joran:\r
+I have a backup room at my department just a couple of \r
+hundred meters from Gothia Towers. L307, Lennart Torstenssons-gatan 8\r
+\r
+Remarks from Ted:\r
+As I understand it, it will probably be harder to find a room inside the \r
+hotel than to find the hotel itself, it boasts to be the biggest hotel \r
+in Skandinavia...\r
+\r
+My mobile phone number is +49 151 52634367. I'm there on a probably \r
+quite busy business trip, so it may be that I have to cancel the whole \r
+thing on short notice.\r
+I propose that you try to contact me by phone before leaving home, so I \r
+can confirm that I will be there.\r
+\r
+Also I don't have much time to prepare, so please don't expect something \r
+like a professional presentation from me. I hope it will be a nice \r
+little meeting, we will assure each others, you'll ask questions you \r
+always wanted to ask about CACert and I'll tell you about all the things \r
+that have recently changed at CAcert, at least the important ones. And \r
+maybe I'll try to trick you into making a false assurance, just to show \r
+you where problems are expected. :-)\r
+\r
+\r
+contact: events@cacert.org \r
diff --git a/cacert/scripts/ate-goteborg-s16-mail.php.txt b/cacert/scripts/ate-goteborg-s16-mail.php.txt
new file mode 100644 (file)
index 0000000..6e4a7c0
--- /dev/null
@@ -0,0 +1,110 @@
+#!/usr/bin/php -q
+<? /*
+    LibreSSL - CAcert web application
+    Copyright (C) 2004-2009  CAcert Inc.
+
+    This program is free software; you can redistribute it and/or modify
+    it under the terms of the GNU General Public License as published by
+    the Free Software Foundation; version 2 of the License.
+
+    This program is distributed in the hope that it will be useful,
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+    GNU General Public License for more details.
+
+    You should have received a copy of the GNU General Public License
+    along with this program; if not, write to the Free Software
+    Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+*/
+       include_once("../includes/mysql.php");
+
+       $lines = "";
+       $fp = fopen("ate-goteborg-s16-email.txt", "r");
+       while(!feof($fp))
+       {
+               $line = trim(fgets($fp, 4096));
+               $lines .= wordwrap($line, 75, "\n")."\n";
+       }
+       fclose($fp);
+
+
+//     $locid = intval($_REQUEST['location']);
+//     $maxdist = intval($_REQUEST['maxdist']);
+  $maxdist = 50;
+
+
+// location      location.ID
+//   verified: 29.4.09 u.schroeter
+//   $locid = 7902857;       // Paris
+//   $locid = 238568;        // Bielefeld  
+//   $locid = 715191;        // Hamburg    
+//   $locid = 1102495;       // London     
+//   $locid = 520340;        // Duesseldorf
+//   $locid = 1260319;       // Muenchen   
+//   $locid = 606058;        // Frankfurt  
+//   $locid = 1775784;       // Stuttgart  
+//   $locid = 228950;        // Berlin  
+//   $locid = 606058;        // Frankfurt
+//   $locid = 599389;        // Flensburg
+//   $locid = 61065;        // Amsterdam, Eemnes
+//   $locid = 228950;        // Berlin  
+
+//  Software Freedom Day 19. Sept 2009
+//   $locid = 715191;        // Hamburg
+
+//  LISA2009 Baltimore, 1.11.2009
+//     $locid = 2138880;      // Baltimore (Baltimore (city)), Maryland, United States   
+//     $city = "Baltimore, MD - Nov. 3rd 2009";
+
+//  OpenSourceTreffen-Muenchen, 20.11.2009
+//       $locid = 1260319;       // Muenchen   
+//       $city = "Muenchen - 20. Nov 2009";
+
+//  BLIT2009, Brandenburger Linux-Infotag, 21.11.2009
+//       $locid = 1486658;       // Potsdam
+//       $eventname = "Brandenburger Linux-Infotag (BLIT2009)";
+//       $city = "Potsdam - 21. Nov 2009";
+
+//  ATE-Goteborg, 16.12.2009
+       $locid = 664715;       // Goteborg, Vastra Gotaland, Sweden
+       $eventname = "ATE-Goteborg";
+       $city = "Goteborg - Dec 16th 2009";
+
+
+       $query = "select * from `locations` where `id`='$locid'";
+        $loc = mysql_fetch_assoc(mysql_query($query));
+
+       $query = "SELECT ROUND(6378.137 * ACOS(0.9999999*((SIN(PI() * $loc[lat] / 180) * SIN(PI() * `locations`.`lat` / 180)) + 
+                       (COS(PI() * $loc[lat] / 180 ) * COS(PI() * `locations`.`lat` / 180) * 
+                        COS(PI() * `locations`.`long` / 180 - PI() * $loc[long] / 180)))), -1) AS `distance`, sum(`points`) as pts, `users`.* 
+                       FROM `locations`
+                               inner join `users`  on `users`.`locid` = `locations`.`id` 
+                               inner join `alerts` on `users`.`id`=`alerts`.`memid`
+                               inner join `notary` on `users`.`id`=`notary`.`to`
+                       WHERE   (`alerts`.`general`=1 OR `alerts`.`country`=1 OR `alerts`.`regional`=1 OR `alerts`.`radius`=1)
+                       GROUP BY `users`.`id`
+                       HAVING `distance` <= '$maxdist' 
+                       ORDER BY `distance` ";
+        echo $query;
+
+    // comment next line when starting to send mail not only to me 
+    // $query = "select * from `users` where `email` like 'cacerttest%'";
+
+       $res = mysql_query($query);
+       $xrows = mysql_num_rows($res);
+
+       while($row = mysql_fetch_assoc($res))
+       {
+    //    uncomment next line to send mails ...
+               sendmail($row['email'], "[CAcert.org] $eventname - $city", $lines, "events@cacert.org", "", "", "CAcert Events Organisation", "returns@cacert.org", 1);
+       }
+  // 1x cc to events.cacert.org
+       sendmail("events@cacert.org", "[CAcert.org] $eventname - $city", $lines, "events@cacert.org", "", "", "CAcert Events Organisation", "returns@cacert.org", 1);
+       // 1x mailing report to events.cacert.org
+  sendmail("events@cacert.org", "[CAcert.org] $eventname - $city Report", "invitation sent to $xrows recipients.", "support@cacert.org", "", "", "CAcert Events Organisation", "returns@cacert.org", 1);       
+
+       // 1x mailing report to Arbitrator of case http://wiki.cacert.org/wiki/Arbitrations/a20090525.1
+  sendmail("p.dunkel@cacert.org", "[CAcert.org] $eventname - $city Report", "invitation sent to $xrows recipients.", "support@cacert.org", "", "", "CAcert Events Organisation", "returns@cacert.org", 1);     
+
+       echo "invitation sent to $xrows recipients.";
+?>
diff --git a/cacert/scripts/blit-de15-email.txt b/cacert/scripts/blit-de15-email.txt
new file mode 100644 (file)
index 0000000..28044ee
--- /dev/null
@@ -0,0 +1,23 @@
+Hallo CAcerties,
+
+kommenden Samstag, 21. November sind wir mit einem Stand und einem Vortrag auf
+dem Brandenburger Linux-Infotag vertreten.
+Bisher haben sich nur zwei CAcert-Repraesentanten auf unserer Wiki Seite
+als Helfer eingetragen.
+Sollte jemand aus Potsdam, Berlin oder sonstwo (also du) Lust und Zeit haben,
+dabei zu sein, tragt euch bitte ein!
+
+Warum wir das nicht alleine schaffen?
+Warum wir gerade dich brauchen?
+Deine Hilfe?
+Wenn wir dort Lehrer, Professoren, wissenschaftliche Mitarbeiter,
+Klassensprecher, Fachschaftler, irgend jemand von CAcert ueberzeugen
+koennen, dann wollen wir 100 Punkte vergeben koennen, dass neue
+Keimzellen entstehen. Und dazu muessen wir mindestens zu dritt sein.
+
+Du bist Assurer?
+Prima! Dann freuen wir uns darauf, dich am Samstag zu sehen!
+
+Wiki Organisationsseite: [http://wiki.cacert.org/events/blit2009]
+
+Kontakt: events@cacert.org
diff --git a/cacert/scripts/blit-de15-mail.php.txt b/cacert/scripts/blit-de15-mail.php.txt
new file mode 100644 (file)
index 0000000..87666ea
--- /dev/null
@@ -0,0 +1,105 @@
+#!/usr/bin/php -q
+<? /*
+    LibreSSL - CAcert web application
+    Copyright (C) 2004-2009  CAcert Inc.
+
+    This program is free software; you can redistribute it and/or modify
+    it under the terms of the GNU General Public License as published by
+    the Free Software Foundation; version 2 of the License.
+
+    This program is distributed in the hope that it will be useful,
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+    GNU General Public License for more details.
+
+    You should have received a copy of the GNU General Public License
+    along with this program; if not, write to the Free Software
+    Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+*/
+       include_once("../includes/mysql.php");
+
+       $lines = "";
+       $fp = fopen("blit-de15-email.txt", "r");
+       while(!feof($fp))
+       {
+               $line = trim(fgets($fp, 4096));
+               $lines .= wordwrap($line, 75, "\n")."\n";
+       }
+       fclose($fp);
+
+
+//     $locid = intval($_REQUEST['location']);
+//     $maxdist = intval($_REQUEST['maxdist']);
+  $maxdist = 50;
+
+
+// location      location.ID
+//   verified: 29.4.09 u.schroeter
+//   $locid = 7902857;       // Paris
+//   $locid = 238568;        // Bielefeld  
+//   $locid = 715191;        // Hamburg    
+//   $locid = 1102495;       // London     
+//   $locid = 520340;        // Duesseldorf
+//   $locid = 1260319;       // Muenchen   
+//   $locid = 606058;        // Frankfurt  
+//   $locid = 1775784;       // Stuttgart  
+//   $locid = 228950;        // Berlin  
+//   $locid = 606058;        // Frankfurt
+//   $locid = 599389;        // Flensburg
+//   $locid = 61065;        // Amsterdam, Eemnes
+//   $locid = 228950;        // Berlin  
+
+//  Software Freedom Day 19. Sept 2009
+//   $locid = 715191;        // Hamburg
+
+//  LISA2009 Baltimore, 1.11.2009
+//     $locid = 2138880;      // Baltimore (Baltimore (city)), Maryland, United States   
+//     $city = "Baltimore, MD - Nov. 3rd 2009";
+
+//  OpenSourceTreffen-Muenchen, 20.11.2009
+//       $locid = 1260319;       // Muenchen   
+//       $city = "Muenchen - 20. Nov 2009";
+
+//  BLIT2009, Brandenburger Linux-Infotag, 21.11.2009
+       $locid = 1486658;       // Potsdam
+       $eventname = "Brandenburger Linux-Infotag (BLIT2009)";
+       $city = "Potsdam - 21. Nov 2009";
+
+
+       $query = "select * from `locations` where `id`='$locid'";
+        $loc = mysql_fetch_assoc(mysql_query($query));
+
+       $query = "SELECT ROUND(6378.137 * ACOS(0.9999999*((SIN(PI() * $loc[lat] / 180) * SIN(PI() * `locations`.`lat` / 180)) + 
+                       (COS(PI() * $loc[lat] / 180 ) * COS(PI() * `locations`.`lat` / 180) * 
+                        COS(PI() * `locations`.`long` / 180 - PI() * $loc[long] / 180)))), -1) AS `distance`, sum(`points`) as pts, `users`.* 
+                       FROM `locations`
+                               inner join `users`  on `users`.`locid` = `locations`.`id` 
+                               inner join `alerts` on `users`.`id`=`alerts`.`memid`
+                               inner join `notary` on `users`.`id`=`notary`.`to`
+                       WHERE   (`alerts`.`general`=1 OR `alerts`.`country`=1 OR `alerts`.`regional`=1 OR `alerts`.`radius`=1)
+                       GROUP BY `users`.`id`
+                       HAVING `distance` <= '$maxdist' 
+                       ORDER BY `distance` ";
+        echo $query;
+
+    // comment next line when starting to send mail not only to me 
+    // $query = "select * from `users` where `email` like 'cacerttest%'";
+
+       $res = mysql_query($query);
+       $xrows = mysql_num_rows($res);
+
+       while($row = mysql_fetch_assoc($res))
+       {
+    //    uncomment next line to send mails ...
+               sendmail($row['email'], "[CAcert.org] $eventname - $city", $lines, "events@cacert.org", "", "", "CAcert Events Organisation", "returns@cacert.org", 1);
+       }
+  // 1x cc to events.cacert.org
+       sendmail("events@cacert.org", "[CAcert.org] $eventname - $city", $lines, "events@cacert.org", "", "", "CAcert Events Organisation", "returns@cacert.org", 1);
+       // 1x mailing report to events.cacert.org
+  sendmail("events@cacert.org", "[CAcert.org] $eventname - $city Report", "invitation sent to $xrows recipients.", "support@cacert.org", "", "", "CAcert Events Organisation", "returns@cacert.org", 1);       
+
+       // 1x mailing report to Arbitrator of case http://wiki.cacert.org/wiki/Arbitrations/a20090525.1
+  sendmail("p.dunkel@cacert.org", "[CAcert.org] $eventname - $city Report", "invitation sent to $xrows recipients.", "support@cacert.org", "", "", "CAcert Events Organisation", "returns@cacert.org", 1);     
+
+       echo "invitation sent to $xrows recipients.";
+?>
diff --git a/cacert/scripts/cleanthem.pl b/cacert/scripts/cleanthem.pl
new file mode 100644 (file)
index 0000000..18d68b0
--- /dev/null
@@ -0,0 +1,24 @@
+#!/usr/bin/perl -w
+
+my %mysqltables=("gpg"=>"gpg","client"=>"emailcerts","server"=>"domaincerts","orgclient"=>"orgemailcerts","orgserver"=>"orgdomaincerts");
+
+sub mysql_query($)
+{
+  $dbh->do($_[0]);
+}
+
+my $aktiv=1;
+
+foreach my $dir (("../csr","../crt"))
+{
+  my $dirhandle;
+  opendir($dirhandle,"../csr");
+  while($_=readdir($dirhandle))
+  {
+    if(! -s "$dir/$_" and -f "$dir/$_" and !-d "$dir/$_")
+    {
+      print "Loesche $dir/$_\n";
+      unlink "$dir/$_";
+    }
+  }
+}
diff --git a/cacert/scripts/consistence.php b/cacert/scripts/consistence.php
new file mode 100755 (executable)
index 0000000..8d6b39b
--- /dev/null
@@ -0,0 +1,105 @@
+#!/usr/bin/php -q
+<? /*
+    LibreSSL - CAcert web application
+    Copyright (C) 2004-2008  CAcert Inc.
+
+    This program is free software; you can redistribute it and/or modify
+    it under the terms of the GNU General Public License as published by
+    the Free Software Foundation; version 2 of the License.
+
+    This program is distributed in the hope that it will be useful,
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+    GNU General Public License for more details.
+
+    You should have received a copy of the GNU General Public License
+    along with this program; if not, write to the Free Software
+    Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+*/
+       include_once("../includes/mysql.php");
+
+
+if(0)
+{
+       $query = "select locations.id from locations, regions where locations.regid=regions.id and locations.ccid!=regions.ccid;";
+       $res = mysql_query($query);
+       while($row = mysql_fetch_assoc($res))
+       {
+               $query = "update users set `assurer`='1' where `id`='${row['uid']}'";
+               echo "inconsistence in location ".$row['locations.id']."\n";
+               //mysql_query($query);
+       }
+}
+
+if(0)
+{
+       $query = "select id from locations where regid<1 or ccid<1;";
+       $res = mysql_query($query);
+       while($row = mysql_fetch_assoc($res))
+       {
+               //$query = "update users set `assurer`='1' where `id`='${row['uid']}'";
+               echo "inconsistence in location ".$row['id']."\n";
+               //mysql_query($query);
+       }
+}
+if(1)
+{
+       $query = "select users.id, locations.regid from users inner join locations on users.locid=locations.id where users.regid!=locations.regid or users.ccid!=locations.ccid;";
+       $res = mysql_query($query);
+       echo mysql_error();
+       while($row = mysql_fetch_assoc($res))
+       {
+               echo "inconsistence in user #".$row['id']."\n";
+               $query = "update users set regid=".$row['regid']." where `id`=".$row['id'].";";
+
+                echo "query: $query\n";
+               if($row['regid']=="1182") mysql_query($query);
+       }
+}
+
+exit();
+
+       mysql_query("update `locations` set `acount`=0");
+       $query = "SELECT `users`.`locid` AS `locid`, count(*) AS `total` FROM `users`
+                       WHERE users.assurer='1' AND `users`.`locid` != 0 and users.listme=1
+                       GROUP BY `users`.`locid`";
+       $res = mysql_query($query);
+       while($row = mysql_fetch_assoc($res))
+       {
+               $query = "update `locations` set `acount`='${row['total']}' where `id`='${row['locid']}'";
+               echo $query."\n";
+               mysql_query($query);
+       }
+
+
+       mysql_query("update `regions` set `acount`=0");
+       $query = "SELECT `users`.`regid` AS `regid`, count(*) AS `total` FROM `users`
+                       WHERE users.assurer='1' AND `users`.`regid` != 0 and users.listme=1
+                       GROUP BY `users`.`regid`";
+       $res = mysql_query($query);
+       while($row = mysql_fetch_assoc($res))
+       {
+               $query = "update `regions` set `acount`='${row['total']}' where `id`='${row['regid']}'";
+               echo $query."\n";
+               mysql_query($query);
+       }
+
+
+
+
+       mysql_query("update `countries` set `acount`=0");
+       $query = "SELECT `users`.`ccid` AS `ccid`, count(*) AS `total` FROM `users`
+                       WHERE users.assurer='1' AND `users`.`ccid` != 0 and users.listme=1
+                       GROUP BY `users`.`ccid`";
+       $res = mysql_query($query);
+       while($row = mysql_fetch_assoc($res))
+       {
+               $query = "update `countries` set `acount`='${row['total']}' where `id`='${row['ccid']}'";
+               echo $query."\n";
+               mysql_query($query);
+       }
+
+
+
+
+?>
diff --git a/cacert/scripts/findnull.pl b/cacert/scripts/findnull.pl
new file mode 100644 (file)
index 0000000..02df02f
--- /dev/null
@@ -0,0 +1,14 @@
+#!/usr/bin/perl -w
+
+foreach (<../crt/*>)
+{
+  my $res=`openssl x509 -in $_ -text -noout -inform der`;
+  if($res=~m/\\x00/)
+  {
+    print "Alert: $_ is affected!\n";
+  }
+  else
+  {
+    #print "$_ not affected\n";
+  }
+}
diff --git a/cacert/scripts/lisa-us13-email.txt b/cacert/scripts/lisa-us13-email.txt
new file mode 100644 (file)
index 0000000..9222af3
--- /dev/null
@@ -0,0 +1,12 @@
+LISA'09: CACert BoF session, Tues, Need a few assurers to help
+get things rolling.
+
+Greeting,
+
+I will be leading GPG Key signing and CACert.org BoF sessions next Tuesday evening at the LISA 2009 conference in Baltimore, MD.  At LISA'04 in Atlanta, I led a GPG key signing BoF and I attended a CACert BoF.  I became an assurer at that conference.  I helped 35 people gain assurance points at the 2004 conference.  I hope we can add a good number of new assurers at this years conference.
+
+In order to do that, I need some help from a few qualified assurers. With as few as three already qualified assurers, we can bring several new people into the community.  More assurers means we can split the work and move through everything quicker and easier.  So far, I have just myself, so I really NEED some help.  If you will be available, please contact me.
+
+Ken Schumacher
+
+Event Listing: http://wiki.cacert.org/events/LISA2009
diff --git a/cacert/scripts/lisa-us13-mail.php.txt b/cacert/scripts/lisa-us13-mail.php.txt
new file mode 100644 (file)
index 0000000..cddde83
--- /dev/null
@@ -0,0 +1,96 @@
+#!/usr/bin/php -q
+<? /*
+    LibreSSL - CAcert web application
+    Copyright (C) 2004-2009  CAcert Inc.
+
+    This program is free software; you can redistribute it and/or modify
+    it under the terms of the GNU General Public License as published by
+    the Free Software Foundation; version 2 of the License.
+
+    This program is distributed in the hope that it will be useful,
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+    GNU General Public License for more details.
+
+    You should have received a copy of the GNU General Public License
+    along with this program; if not, write to the Free Software
+    Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+*/
+       include_once("../includes/mysql.php");
+
+       $lines = "";
+       $fp = fopen("lisa-us13-email.txt", "r");
+       while(!feof($fp))
+       {
+               $line = trim(fgets($fp, 4096));
+               $lines .= wordwrap($line, 75, "\n")."\n";
+       }
+       fclose($fp);
+
+
+//     $locid = intval($_REQUEST['location']);
+//     $maxdist = intval($_REQUEST['maxdist']);
+  $maxdist = 250;
+
+
+// location      location.ID
+//   verified: 29.4.09 u.schroeter
+//   $locid = 7902857;       // Paris
+//   $locid = 238568;        // Bielefeld  
+//   $locid = 715191;        // Hamburg    
+//   $locid = 1102495;       // London     
+//   $locid = 520340;        // Duesseldorf
+//   $locid = 1260319;       // Muenchen   
+//   $locid = 606058;        // Frankfurt  
+//   $locid = 1775784;       // Stuttgart  
+//   $locid = 228950;        // Berlin  
+//   $locid = 606058;        // Frankfurt
+//   $locid = 599389;        // Flensburg
+//   $locid = 61065;        // Amsterdam, Eemnes
+//   $locid = 228950;        // Berlin  
+
+//  Software Freedom Day 19. Sept 2009
+//   $locid = 715191;        // Hamburg
+
+//  LISA2009 Baltimore, 1.11.2009
+     $locid = 2138880;      // Baltimore (Baltimore (city)), Maryland, United States   
+     $city = "Baltimore, MD - Nov. 3rd 2009";
+
+
+       $query = "select * from `locations` where `id`='$locid'";
+        $loc = mysql_fetch_assoc(mysql_query($query));
+
+       $query = "SELECT ROUND(6378.137 * ACOS(0.9999999*((SIN(PI() * $loc[lat] / 180) * SIN(PI() * `locations`.`lat` / 180)) + 
+                       (COS(PI() * $loc[lat] / 180 ) * COS(PI() * `locations`.`lat` / 180) * 
+                        COS(PI() * `locations`.`long` / 180 - PI() * $loc[long] / 180)))), -1) AS `distance`, sum(`points`) as pts, `users`.* 
+                       FROM `locations`
+                               inner join `users`  on `users`.`locid` = `locations`.`id` 
+                               inner join `alerts` on `users`.`id`=`alerts`.`memid`
+                               inner join `notary` on `users`.`id`=`notary`.`to`
+                       WHERE   (`alerts`.`general`=1 OR `alerts`.`country`=1 OR `alerts`.`regional`=1 OR `alerts`.`radius`=1)
+                       GROUP BY `users`.`id`
+                       HAVING `distance` <= '$maxdist' 
+                       ORDER BY `distance` ";
+        echo $query;
+
+    // comment next line when starting to send mail not only to me 
+    // $query = "select * from `users` where `email` like 'cacerttest%'";
+
+       $res = mysql_query($query);
+       $xrows = mysql_num_rows($res);
+
+       while($row = mysql_fetch_assoc($res))
+       {
+    //    uncomment next line to send mails ...
+               sendmail($row['email'], "[CAcert.org] LISA2009 - $city", $lines, "events@cacert.org", "", "", "CAcert Events Organisation", "returns@cacert.org", 1);
+       }
+  // 1x cc to events.cacert.org
+       sendmail("events@cacert.org", "[CAcert.org] LISA2009 - $city", $lines, "events@cacert.org", "", "", "CAcert Events Organisation", "returns@cacert.org", 1);
+       // 1x mailing report to events.cacert.org
+  sendmail("events@cacert.org", "[CAcert.org] LISA2009 - $city Report", "invitation sent to $xrows recipients.", "support@cacert.org", "", "", "CAcert Events Organisation", "returns@cacert.org", 1); 
+
+       // 1x mailing report to Arbitrator of case http://wiki.cacert.org/wiki/Arbitrations/a20090525.1
+  sendmail("p.dunkel@cacert.org", "[CAcert.org] LISA2009 - $city Report", "invitation sent to $xrows recipients.", "support@cacert.org", "", "", "CAcert Events Organisation", "returns@cacert.org", 1);       
+
+       echo "invitation sent to $xrows recipients.";
+?>
diff --git a/cacert/scripts/mission-hills-ca-us17-email.txt b/cacert/scripts/mission-hills-ca-us17-email.txt
new file mode 100644 (file)
index 0000000..9389c07
--- /dev/null
@@ -0,0 +1,17 @@
+Hello,\r
+This email is to let you know there will be a number of assurers gathering in\r
+your area.  Please bring several (4-6) printed CAP forms and your photo ID's.  \r
+\r
+Friday Jan 15th, 6:30PM, \r
+Presidente Mexican Restaurant\r
+11451 Sepulveda Boulevard\r
+Mission Hills, CA 91345-1117\r
+\r
+If you can make it, remember it will be your opertunity to gain assurances\r
+for yourself and boost the number of points you can assure to.\r
+\r
+Please RVSP thank you.\r
+\r
+Regards,\r
+Greg Stark\r
+gstark@electrorent.com\r
diff --git a/cacert/scripts/mission-hills-ca-us17-mail.php.txt b/cacert/scripts/mission-hills-ca-us17-mail.php.txt
new file mode 100644 (file)
index 0000000..c52d87c
--- /dev/null
@@ -0,0 +1,115 @@
+#!/usr/bin/php -q
+<? /*
+    LibreSSL - CAcert web application
+    Copyright (C) 2004-2009  CAcert Inc.
+
+    This program is free software; you can redistribute it and/or modify
+    it under the terms of the GNU General Public License as published by
+    the Free Software Foundation; version 2 of the License.
+
+    This program is distributed in the hope that it will be useful,
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+    GNU General Public License for more details.
+
+    You should have received a copy of the GNU General Public License
+    along with this program; if not, write to the Free Software
+    Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+*/
+       include_once("../includes/mysql.php");
+
+       $lines = "";
+       $fp = fopen("mission-hills-ca-us17-email.txt", "r");
+       while(!feof($fp))
+       {
+               $line = trim(fgets($fp, 4096));
+               $lines .= wordwrap($line, 75, "\n")."\n";
+       }
+       fclose($fp);
+
+
+//     $locid = intval($_REQUEST['location']);
+//     $maxdist = intval($_REQUEST['maxdist']);
+  $maxdist = 50;
+
+
+// location      location.ID
+//   verified: 29.4.09 u.schroeter
+//   $locid = 7902857;       // Paris
+//   $locid = 238568;        // Bielefeld  
+//   $locid = 715191;        // Hamburg    
+//   $locid = 1102495;       // London     
+//   $locid = 520340;        // Duesseldorf
+//   $locid = 1260319;       // Muenchen   
+//   $locid = 606058;        // Frankfurt  
+//   $locid = 1775784;       // Stuttgart  
+//   $locid = 228950;        // Berlin  
+//   $locid = 606058;        // Frankfurt
+//   $locid = 599389;        // Flensburg
+//   $locid = 61065;        // Amsterdam, Eemnes
+//   $locid = 228950;        // Berlin  
+
+//  Software Freedom Day 19. Sept 2009
+//   $locid = 715191;        // Hamburg
+
+//  LISA2009 Baltimore, 1.11.2009
+//     $locid = 2138880;      // Baltimore (Baltimore (city)), Maryland, United States   
+//     $city = "Baltimore, MD - Nov. 3rd 2009";
+
+//  OpenSourceTreffen-Muenchen, 20.11.2009
+//       $locid = 1260319;       // Muenchen   
+//       $city = "Muenchen - 20. Nov 2009";
+
+//  BLIT2009, Brandenburger Linux-Infotag, 21.11.2009
+//       $locid = 1486658;       // Potsdam
+//       $eventname = "Brandenburger Linux-Infotag (BLIT2009)";
+//       $city = "Potsdam - 21. Nov 2009";
+
+//  ATE-Goteborg, 16.12.2009
+//       $locid = 664715;       // Goteborg, Vastra Gotaland, Sweden
+//       $eventname = "ATE-Goteborg";
+//       $city = "Goteborg - Dec 16th 2009";
+
+//  Assurance Event Mission Hills CA, 15.01.2010
+       $locid = 2094781;       // Mission Hills (Los Angeles), California, United States 
+       $eventname = "Assurance Event";
+       $city = "Mission Hills CA - Jan 15th 2010";
+
+
+       $query = "select * from `locations` where `id`='$locid'";
+        $loc = mysql_fetch_assoc(mysql_query($query));
+
+       $query = "SELECT ROUND(6378.137 * ACOS(0.9999999*((SIN(PI() * $loc[lat] / 180) * SIN(PI() * `locations`.`lat` / 180)) + 
+                       (COS(PI() * $loc[lat] / 180 ) * COS(PI() * `locations`.`lat` / 180) * 
+                        COS(PI() * `locations`.`long` / 180 - PI() * $loc[long] / 180)))), -1) AS `distance`, sum(`points`) as pts, `users`.* 
+                       FROM `locations`
+                               inner join `users`  on `users`.`locid` = `locations`.`id` 
+                               inner join `alerts` on `users`.`id`=`alerts`.`memid`
+                               inner join `notary` on `users`.`id`=`notary`.`to`
+                       WHERE   (`alerts`.`general`=1 OR `alerts`.`country`=1 OR `alerts`.`regional`=1 OR `alerts`.`radius`=1)
+                       GROUP BY `users`.`id`
+                       HAVING `distance` <= '$maxdist' 
+                       ORDER BY `distance` ";
+        echo $query;
+
+    // comment next line when starting to send mail not only to me 
+    // $query = "select * from `users` where `email` like 'cacerttest%'";
+
+       $res = mysql_query($query);
+       $xrows = mysql_num_rows($res);
+
+       while($row = mysql_fetch_assoc($res))
+       {
+    //    uncomment next line to send mails ...
+               sendmail($row['email'], "[CAcert.org] $eventname - $city", $lines, "events@cacert.org", "", "", "CAcert Events Organisation", "returns@cacert.org", 1);
+       }
+  // 1x cc to events.cacert.org
+       sendmail("events@cacert.org", "[CAcert.org] $eventname - $city", $lines, "events@cacert.org", "", "", "CAcert Events Organisation", "returns@cacert.org", 1);
+       // 1x mailing report to events.cacert.org
+  sendmail("events@cacert.org", "[CAcert.org] $eventname - $city Report", "invitation sent to $xrows recipients.", "support@cacert.org", "", "", "CAcert Events Organisation", "returns@cacert.org", 1);       
+
+       // 1x mailing report to Arbitrator of case http://wiki.cacert.org/wiki/Arbitrations/a20090525.1
+  sendmail("p.dunkel@cacert.org", "[CAcert.org] $eventname - $city Report", "invitation sent to $xrows recipients.", "support@cacert.org", "", "", "CAcert Events Organisation", "returns@cacert.org", 1);     
+
+       echo "invitation sent to $xrows recipients.\n";
+?>
diff --git a/cacert/scripts/osd-copenhagen-dk18-email.txt b/cacert/scripts/osd-copenhagen-dk18-email.txt
new file mode 100644 (file)
index 0000000..5301472
--- /dev/null
@@ -0,0 +1,35 @@
+Open Source Days 2010 - Copenhagen, DK - March 5th and 6th 2010\r
+:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\r
+\r
+Dear Assurers,\r
+\r
+CAcert is trying to get a booth at the\r
+Open Source Days 2010 conference at Copenhagen DK\r
+March 5th and 6th 2010\r
+http://www.opensourcedays.org/2010\r
+\r
+The call for participation deadline is Jan 20th 2010\r
+\r
+As we have another event at the same time (Cebit 2010), we are in need\r
+of assistance from additional local assurers who can make this thing happen.\r
+\r
+We are looking for assurers who are available to organize\r
+CAcert's participation at Open Source Days 2010.\r
+\r
+As organizer for this event you get all assistance you'll need\r
+from the events team leader.\r
+\r
+If you are interested in helping please respond\r
+to this email so we can trigger the the call for participation\r
+before the deadline.\r
+\r
+Thanks for your assistance in advance.\r
+\r
+\r
+-- \r
+mit freundlichen Gruessen / best regards\r
+Ulrich Schroeter - CAcert Event Organisation Officer, CAcert Case Manager, CAcert Arbitrator\r
\r
+CAcert.org - Free Certificates\r
+E-Mail: Events@CAcert.org & Ulrich@CAcert.org\r
+\r
diff --git a/cacert/scripts/osd-copenhagen-dk18-mail.php.txt b/cacert/scripts/osd-copenhagen-dk18-mail.php.txt
new file mode 100644 (file)
index 0000000..e99d96c
--- /dev/null
@@ -0,0 +1,120 @@
+#!/usr/bin/php -q
+<? /*
+    LibreSSL - CAcert web application
+    Copyright (C) 2004-2009  CAcert Inc.
+
+    This program is free software; you can redistribute it and/or modify
+    it under the terms of the GNU General Public License as published by
+    the Free Software Foundation; version 2 of the License.
+
+    This program is distributed in the hope that it will be useful,
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+    GNU General Public License for more details.
+
+    You should have received a copy of the GNU General Public License
+    along with this program; if not, write to the Free Software
+    Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+*/
+       include_once("../includes/mysql.php");
+
+       $lines = "";
+       $fp = fopen("osd-copenhagen-dk18-email.txt", "r");
+       while(!feof($fp))
+       {
+               $line = trim(fgets($fp, 4096));
+               $lines .= wordwrap($line, 75, "\n")."\n";
+       }
+       fclose($fp);
+
+
+//     $locid = intval($_REQUEST['location']);
+//     $maxdist = intval($_REQUEST['maxdist']);
+  $maxdist = 50;
+
+
+// location      location.ID
+//   verified: 29.4.09 u.schroeter
+//   $locid = 7902857;       // Paris
+//   $locid = 238568;        // Bielefeld  
+//   $locid = 715191;        // Hamburg    
+//   $locid = 1102495;       // London     
+//   $locid = 520340;        // Duesseldorf
+//   $locid = 1260319;       // Muenchen   
+//   $locid = 606058;        // Frankfurt  
+//   $locid = 1775784;       // Stuttgart  
+//   $locid = 228950;        // Berlin  
+//   $locid = 606058;        // Frankfurt
+//   $locid = 599389;        // Flensburg
+//   $locid = 61065;        // Amsterdam, Eemnes
+//   $locid = 228950;        // Berlin  
+
+//  Software Freedom Day 19. Sept 2009
+//   $locid = 715191;        // Hamburg
+
+//  LISA2009 Baltimore, 1.11.2009
+//     $locid = 2138880;      // Baltimore (Baltimore (city)), Maryland, United States   
+//     $city = "Baltimore, MD - Nov. 3rd 2009";
+
+//  OpenSourceTreffen-Muenchen, 20.11.2009
+//       $locid = 1260319;       // Muenchen   
+//       $city = "Muenchen - 20. Nov 2009";
+
+//  BLIT2009, Brandenburger Linux-Infotag, 21.11.2009
+//       $locid = 1486658;       // Potsdam
+//       $eventname = "Brandenburger Linux-Infotag (BLIT2009)";
+//       $city = "Potsdam - 21. Nov 2009";
+
+//  ATE-Goteborg, 16.12.2009
+//       $locid = 664715;       // Goteborg, Vastra Gotaland, Sweden
+//       $eventname = "ATE-Goteborg";
+//       $city = "Goteborg - Dec 16th 2009";
+
+//  Assurance Event Mission Hills CA, 15.01.2010
+//       $locid = 2094781;       // Mission Hills (Los Angeles), California, United States 
+//       $eventname = "Assurance Event";
+//       $city = "Mission Hills CA - Jan 15th 2010";
+
+//  Assurance Event OSD Copenhagen DK, 5.03.2010
+       $locid = 423655;       // Copenhagen, Kobenhavn*, Denmark 
+       $eventname = "Assurance Event OpenSource-Days 2010";
+       $city = "Copenhagen DK - March 5th/6th 2010";
+
+
+       $query = "select * from `locations` where `id`='$locid'";
+        $loc = mysql_fetch_assoc(mysql_query($query));
+
+       $query = "SELECT ROUND(6378.137 * ACOS(0.9999999*((SIN(PI() * $loc[lat] / 180) * SIN(PI() * `locations`.`lat` / 180)) + 
+                       (COS(PI() * $loc[lat] / 180 ) * COS(PI() * `locations`.`lat` / 180) * 
+                        COS(PI() * `locations`.`long` / 180 - PI() * $loc[long] / 180)))), -1) AS `distance`, sum(`points`) as pts, `users`.* 
+                       FROM `locations`
+                               inner join `users`  on `users`.`locid` = `locations`.`id` 
+                               inner join `alerts` on `users`.`id`=`alerts`.`memid`
+                               inner join `notary` on `users`.`id`=`notary`.`to`
+                       WHERE   (`alerts`.`general`=1 OR `alerts`.`country`=1 OR `alerts`.`regional`=1 OR `alerts`.`radius`=1)
+                       GROUP BY `users`.`id`
+                       HAVING `distance` <= '$maxdist' 
+                       ORDER BY `distance` ";
+        echo $query;
+
+    // comment next line when starting to send mail not only to me 
+    // $query = "select * from `users` where `email` like 'cacerttest%'";
+
+       $res = mysql_query($query);
+       $xrows = mysql_num_rows($res);
+
+       while($row = mysql_fetch_assoc($res))
+       {
+    //    uncomment next line to send mails ...
+               sendmail($row['email'], "[CAcert.org] $eventname - $city", $lines, "events@cacert.org", "", "", "CAcert Events Organisation", "returns@cacert.org", 1);
+       }
+  // 1x cc to events.cacert.org
+       sendmail("events@cacert.org", "[CAcert.org] $eventname - $city", $lines, "events@cacert.org", "", "", "CAcert Events Organisation", "returns@cacert.org", 1);
+       // 1x mailing report to events.cacert.org
+  sendmail("events@cacert.org", "[CAcert.org] $eventname - $city Report", "invitation sent to $xrows recipients.", "support@cacert.org", "", "", "CAcert Events Organisation", "returns@cacert.org", 1);       
+
+       // 1x mailing report to Arbitrator of case http://wiki.cacert.org/wiki/Arbitrations/a20090525.1
+  sendmail("p.dunkel@cacert.org", "[CAcert.org] $eventname - $city Report", "invitation sent to $xrows recipients.", "support@cacert.org", "", "", "CAcert Events Organisation", "returns@cacert.org", 1);     
+
+       echo "invitation sent to $xrows recipients.\n";
+?>
diff --git a/cacert/scripts/ost-de14-email.txt b/cacert/scripts/ost-de14-email.txt
new file mode 100644 (file)
index 0000000..30862ff
--- /dev/null
@@ -0,0 +1,22 @@
+Sicherheit im Zeitalter der IT und des Internets - aufwendig und teuer?\r
+Das muss nicht sein!\r
+CAcert zeigt Dir, wie Du einfach und preiswert E-Mails signierst und\r
+Internet-Verbindungen verschluesselst.\r
+\r
+Die so genannten Zertifikate von CAcert lassen sich in Programmen\r
+wie Thunderbird und vielen anderen E-Mail-Programmen oder in\r
+ausgewachsenen Office-Programmen wie z.B. OpenOffice.org benutzen.\r
+Zur Verschluesselung von Internet-Verbindungen koennen die Zertifikate\r
+in Webservern und als Login-Moeglichkeit bei entsprechenden Gegenstellen\r
+in Webbrowsern eingesetzt werden.\r
+\r
+Auch Du kannst mitmachen, dazu brauchst Du nur Deinen Personalausweis\r
+und idealerweise einen Fuehrerschein oder Reisepass mitzubringen.\r
+\r
+Freitag, den 20. November, ab 17 Uhr im Café Netzwerk\r
+http://www.cafe-netzwerk.de/ in Muenchen\r
+\r
+CAcert Vorstellung im Rahmen der Open-Source Treffen\r
+http://www.opensourcetreffen.de/\r
+\r
+Kontakt: events@cacert.org\r
diff --git a/cacert/scripts/ost-de14-mail.php.txt b/cacert/scripts/ost-de14-mail.php.txt
new file mode 100644 (file)
index 0000000..af98ed8
--- /dev/null
@@ -0,0 +1,100 @@
+#!/usr/bin/php -q
+<? /*
+    LibreSSL - CAcert web application
+    Copyright (C) 2004-2009  CAcert Inc.
+
+    This program is free software; you can redistribute it and/or modify
+    it under the terms of the GNU General Public License as published by
+    the Free Software Foundation; version 2 of the License.
+
+    This program is distributed in the hope that it will be useful,
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+    GNU General Public License for more details.
+
+    You should have received a copy of the GNU General Public License
+    along with this program; if not, write to the Free Software
+    Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+*/
+       include_once("../includes/mysql.php");
+
+       $lines = "";
+       $fp = fopen("ost-de14-email.txt", "r");
+       while(!feof($fp))
+       {
+               $line = trim(fgets($fp, 4096));
+               $lines .= wordwrap($line, 75, "\n")."\n";
+       }
+       fclose($fp);
+
+
+//     $locid = intval($_REQUEST['location']);
+//     $maxdist = intval($_REQUEST['maxdist']);
+  $maxdist = 50;
+
+
+// location      location.ID
+//   verified: 29.4.09 u.schroeter
+//   $locid = 7902857;       // Paris
+//   $locid = 238568;        // Bielefeld  
+//   $locid = 715191;        // Hamburg    
+//   $locid = 1102495;       // London     
+//   $locid = 520340;        // Duesseldorf
+//   $locid = 1260319;       // Muenchen   
+//   $locid = 606058;        // Frankfurt  
+//   $locid = 1775784;       // Stuttgart  
+//   $locid = 228950;        // Berlin  
+//   $locid = 606058;        // Frankfurt
+//   $locid = 599389;        // Flensburg
+//   $locid = 61065;        // Amsterdam, Eemnes
+//   $locid = 228950;        // Berlin  
+
+//  Software Freedom Day 19. Sept 2009
+//   $locid = 715191;        // Hamburg
+
+//  LISA2009 Baltimore, 1.11.2009
+//     $locid = 2138880;      // Baltimore (Baltimore (city)), Maryland, United States   
+//     $city = "Baltimore, MD - Nov. 3rd 2009";
+
+//  OpenSourceTreffen-Muenchen, 20.11.2009
+       $locid = 1260319;       // Muenchen   
+       $city = "Muenchen - 20. Nov 2009";
+
+
+       $query = "select * from `locations` where `id`='$locid'";
+        $loc = mysql_fetch_assoc(mysql_query($query));
+
+       $query = "SELECT ROUND(6378.137 * ACOS(0.9999999*((SIN(PI() * $loc[lat] / 180) * SIN(PI() * `locations`.`lat` / 180)) + 
+                       (COS(PI() * $loc[lat] / 180 ) * COS(PI() * `locations`.`lat` / 180) * 
+                        COS(PI() * `locations`.`long` / 180 - PI() * $loc[long] / 180)))), -1) AS `distance`, sum(`points`) as pts, `users`.* 
+                       FROM `locations`
+                               inner join `users`  on `users`.`locid` = `locations`.`id` 
+                               inner join `alerts` on `users`.`id`=`alerts`.`memid`
+                               inner join `notary` on `users`.`id`=`notary`.`to`
+                       WHERE   (`alerts`.`general`=1 OR `alerts`.`country`=1 OR `alerts`.`regional`=1 OR `alerts`.`radius`=1)
+                       GROUP BY `users`.`id`
+                       HAVING `distance` <= '$maxdist' 
+                       ORDER BY `distance` ";
+        echo $query;
+
+    // comment next line when starting to send mail not only to me 
+    // $query = "select * from `users` where `email` like 'cacerttest%'";
+
+       $res = mysql_query($query);
+       $xrows = mysql_num_rows($res);
+
+       while($row = mysql_fetch_assoc($res))
+       {
+    //    uncomment next line to send mails ...
+               sendmail($row['email'], "[CAcert.org] Open-Source Treffen - $city", $lines, "events@cacert.org", "", "", "CAcert Events Organisation", "returns@cacert.org", 1);
+       }
+  // 1x cc to events.cacert.org
+       sendmail("events@cacert.org", "[CAcert.org] Open-Source Treffen - $city", $lines, "events@cacert.org", "", "", "CAcert Events Organisation", "returns@cacert.org", 1);
+       // 1x mailing report to events.cacert.org
+  sendmail("events@cacert.org", "[CAcert.org] Open-Source Treffen - $city Report", "invitation sent to $xrows recipients.", "support@cacert.org", "", "", "CAcert Events Organisation", "returns@cacert.org", 1);      
+
+       // 1x mailing report to Arbitrator of case http://wiki.cacert.org/wiki/Arbitrations/a20090525.1
+  sendmail("p.dunkel@cacert.org", "[CAcert.org] Open-Source Treffen - $city Report", "invitation sent to $xrows recipients.", "support@cacert.org", "", "", "CAcert Events Organisation", "returns@cacert.org", 1);    
+
+       echo "invitation sent to $xrows recipients.";
+?>
diff --git a/cacert/scripts/scale8x-los-angeles-ca-us19-email.txt b/cacert/scripts/scale8x-los-angeles-ca-us19-email.txt
new file mode 100644 (file)
index 0000000..dcc1d89
--- /dev/null
@@ -0,0 +1,36 @@
+SCALE, the premier open source conference in Los Angeles is open
+for the 8th year.
+It will be held at
+
+5400 West Century Blvd,
+Los Angeles, 90045.
+
+It will be held this coming
+* February 19-21
+at the Los Angeles Airport Westin Hotel.
+
+More details can be found at the website,
+https://www.socallinuxexpo.org/scale8x/
+
+
+Any assurers that are available are welcome to cover any of the slots below.
+If you signup for a slot, please ensure you can stay for the entire time.
+
+
+Sat 09:30 - 14:00      
+Sat 14:00 - 18:00
+
+
+Sun 09:30 - 13:00      
+Sun 13:00 - 16:00
+
+
+https://wiki.cacert.org/events/SCaLE8x
+has the details on our organization.
+
+
+Thanks,
+Steve
+Event Organiser
+
+contact: events@cacert.org
diff --git a/cacert/scripts/scale8x-los-angeles-ca-us19-mail.php.txt b/cacert/scripts/scale8x-los-angeles-ca-us19-mail.php.txt
new file mode 100644 (file)
index 0000000..a6fb524
--- /dev/null
@@ -0,0 +1,125 @@
+#!/usr/bin/php -q
+<? /*
+    LibreSSL - CAcert web application
+    Copyright (C) 2004-2009  CAcert Inc.
+
+    This program is free software; you can redistribute it and/or modify
+    it under the terms of the GNU General Public License as published by
+    the Free Software Foundation; version 2 of the License.
+
+    This program is distributed in the hope that it will be useful,
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+    GNU General Public License for more details.
+
+    You should have received a copy of the GNU General Public License
+    along with this program; if not, write to the Free Software
+    Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+*/
+       include_once("../includes/mysql.php");
+
+       $lines = "";
+       $fp = fopen("scale8x-los-angeles-ca-us19-email.txt", "r");
+       while(!feof($fp))
+       {
+               $line = trim(fgets($fp, 4096));
+               $lines .= wordwrap($line, 75, "\n")."\n";
+       }
+       fclose($fp);
+
+
+//     $locid = intval($_REQUEST['location']);
+//     $maxdist = intval($_REQUEST['maxdist']);
+  $maxdist = 100;
+
+
+// location      location.ID
+//   verified: 29.4.09 u.schroeter
+//   $locid = 7902857;       // Paris
+//   $locid = 238568;        // Bielefeld  
+//   $locid = 715191;        // Hamburg    
+//   $locid = 1102495;       // London     
+//   $locid = 520340;        // Duesseldorf
+//   $locid = 1260319;       // Muenchen   
+//   $locid = 606058;        // Frankfurt  
+//   $locid = 1775784;       // Stuttgart  
+//   $locid = 228950;        // Berlin  
+//   $locid = 606058;        // Frankfurt
+//   $locid = 599389;        // Flensburg
+//   $locid = 61065;        // Amsterdam, Eemnes
+//   $locid = 228950;        // Berlin  
+
+//  Software Freedom Day 19. Sept 2009
+//   $locid = 715191;        // Hamburg
+
+//  LISA2009 Baltimore, 1.11.2009
+//     $locid = 2138880;      // Baltimore (Baltimore (city)), Maryland, United States   
+//     $city = "Baltimore, MD - Nov. 3rd 2009";
+
+//  OpenSourceTreffen-Muenchen, 20.11.2009
+//       $locid = 1260319;       // Muenchen   
+//       $city = "Muenchen - 20. Nov 2009";
+
+//  BLIT2009, Brandenburger Linux-Infotag, 21.11.2009
+//       $locid = 1486658;       // Potsdam
+//       $eventname = "Brandenburger Linux-Infotag (BLIT2009)";
+//       $city = "Potsdam - 21. Nov 2009";
+
+//  ATE-Goteborg, 16.12.2009
+//       $locid = 664715;       // Goteborg, Vastra Gotaland, Sweden
+//       $eventname = "ATE-Goteborg";
+//       $city = "Goteborg - Dec 16th 2009";
+
+//  Assurance Event Mission Hills CA, 15.01.2010
+//       $locid = 2094781;       // Mission Hills (Los Angeles), California, United States 
+//       $eventname = "Assurance Event";
+//       $city = "Mission Hills CA - Jan 15th 2010";
+
+//  Assurance Event OSD Copenhagen DK, 5.03.2010
+       $locid = 423655;       // Copenhagen, Kobenhavn*, Denmark 
+       $eventname = "Assurance Event OpenSource-Days 2010";
+       $city = "Copenhagen DK - March 5th/6th 2010";
+
+// SCALE 8x Los Angeles, CA, Feb 19-21 2010 
+       $locid = 2093625;       // Los Angeles, California, United States
+       $eventname = "SCALE 8x 2010";
+       $city = "Los Angeles, CA - February 19-21 2010";
+
+
+       $query = "select * from `locations` where `id`='$locid'";
+        $loc = mysql_fetch_assoc(mysql_query($query));
+
+       $query = "SELECT ROUND(6378.137 * ACOS(0.9999999*((SIN(PI() * $loc[lat] / 180) * SIN(PI() * `locations`.`lat` / 180)) + 
+                       (COS(PI() * $loc[lat] / 180 ) * COS(PI() * `locations`.`lat` / 180) * 
+                        COS(PI() * `locations`.`long` / 180 - PI() * $loc[long] / 180)))), -1) AS `distance`, sum(`points`) as pts, `users`.* 
+                       FROM `locations`
+                               inner join `users`  on `users`.`locid` = `locations`.`id` 
+                               inner join `alerts` on `users`.`id`=`alerts`.`memid`
+                               inner join `notary` on `users`.`id`=`notary`.`to`
+                       WHERE   (`alerts`.`general`=1 OR `alerts`.`country`=1 OR `alerts`.`regional`=1 OR `alerts`.`radius`=1)
+                       GROUP BY `users`.`id`
+                       HAVING `distance` <= '$maxdist' 
+                       ORDER BY `distance` ";
+        echo $query;
+
+    // comment next line when starting to send mail not only to me 
+    // $query = "select * from `users` where `email` like 'cacerttest%'";
+
+       $res = mysql_query($query);
+       $xrows = mysql_num_rows($res);
+
+       while($row = mysql_fetch_assoc($res))
+       {
+    //    uncomment next line to send mails ...
+               sendmail($row['email'], "[CAcert.org] $eventname - $city", $lines, "events@cacert.org", "", "", "CAcert Events Organisation", "returns@cacert.org", 1);
+       }
+  // 1x cc to events.cacert.org
+       sendmail("events@cacert.org", "[CAcert.org] $eventname - $city", $lines, "events@cacert.org", "", "", "CAcert Events Organisation", "returns@cacert.org", 1);
+       // 1x mailing report to events.cacert.org
+  sendmail("events@cacert.org", "[CAcert.org] $eventname - $city Report", "invitation sent to $xrows recipients.", "support@cacert.org", "", "", "CAcert Events Organisation", "returns@cacert.org", 1);       
+
+       // 1x mailing report to Arbitrator of case http://wiki.cacert.org/wiki/Arbitrations/a20090525.1
+  sendmail("p.dunkel@cacert.org", "[CAcert.org] $eventname - $city Report", "invitation sent to $xrows recipients.", "support@cacert.org", "", "", "CAcert Events Organisation", "returns@cacert.org", 1);     
+
+       echo "invitation sent to $xrows recipients.\n";
+?>
diff --git a/cacert/scripts/sfd-de12-email.txt b/cacert/scripts/sfd-de12-email.txt
new file mode 100644 (file)
index 0000000..7211e63
--- /dev/null
@@ -0,0 +1,24 @@
+Software Freedom Day am 19. September in Hamburg\r
+::::::::::::::::::::::::::::::::::::::::::::::::\r
+\r
+Hallo CAcert'ler aus dem Raum Hamburg,\r
\r
+sicherlich habt Ihr vom "Software Freedom Day (SFD)" am 19. September im\r
+Buergerhaus in Hamburg-Barmbeck gehoert!?\r
+Der SFD ist einer der groessten Veranstaltungen zu diesem Thema ueberhaupt.\r
+Auch wir, CAcert ist dabei. Wir wuerden uns freuen wenn wir Dich an\r
+unserem Stand begruessen duerfen um uns ueber die eine oder andere\r
+CAcert-Sache zu unterhalten.\r
+Aber auch die anderen Dinge sind für Dich auf dem SFD bestimmt\r
+interessant! Komme doch einfach am Samstag, den 19. September mal vorbei!\r
+Wir freuen uns auf Deinen Besuch!\r
+\r
+Der Link zur Veranstaltung: [http://www.lug-balista.de/sfd.html]\r
+\r
+Wir koennten auch noch einige Hilfe am Stand gebrauchen.\r
+Die Koordination findet ueber unsere Wiki Seite\r
+[http://wiki.cacert.org/wiki/events/SoftwareFreedomDayHamburg090919]\r
+statt. Wenn du mithelfen moechtest trage dich dort bitte als Assurer ein.\r
+Vielen Dank.\r
+\r
+Kontakt: events@cacert.org\r
diff --git a/cacert/scripts/sfd-de12-mail.php.txt b/cacert/scripts/sfd-de12-mail.php.txt
new file mode 100644 (file)
index 0000000..791d111
--- /dev/null
@@ -0,0 +1,94 @@
+#!/usr/bin/php -q
+<? /*
+    LibreSSL - CAcert web application
+    Copyright (C) 2004-2008  CAcert Inc.
+
+    This program is free software; you can redistribute it and/or modify
+    it under the terms of the GNU General Public License as published by
+    the Free Software Foundation; version 2 of the License.
+
+    This program is distributed in the hope that it will be useful,
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+    GNU General Public License for more details.
+
+    You should have received a copy of the GNU General Public License
+    along with this program; if not, write to the Free Software
+    Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+*/
+       include_once("../includes/mysql.php");
+
+       $lines = "";
+       $fp = fopen("sfd-de12-email.txt", "r");
+       while(!feof($fp))
+       {
+               $line = trim(fgets($fp, 4096));
+               $lines .= wordwrap($line, 75, "\n")."\n";
+       }
+       fclose($fp);
+
+
+//     $locid = intval($_REQUEST['location']);
+//     $maxdist = intval($_REQUEST['maxdist']);
+  $maxdist = 70;
+
+
+// location      location.ID
+//   verified: 29.4.09 u.schroeter
+//   $locid = 7902857;       // Paris
+//   $locid = 238568;        // Bielefeld  
+//   $locid = 715191;        // Hamburg    
+//   $locid = 1102495;       // London     
+//   $locid = 520340;        // Duesseldorf
+//   $locid = 1260319;       // Muenchen   
+//   $locid = 606058;        // Frankfurt  
+//   $locid = 1775784;       // Stuttgart  
+//   $locid = 228950;        // Berlin  
+//   $locid = 606058;        // Frankfurt
+//   $locid = 599389;        // Flensburg
+//   $locid = 61065;        // Amsterdam, Eemnes
+//   $locid = 228950;        // Berlin  
+
+//  Software Freedom Day 19. Sept 2009
+   $locid = 715191;        // Hamburg    
+
+  
+  $city = "Hamburg 19. Sep 2009";
+
+       $query = "select * from `locations` where `id`='$locid'";
+        $loc = mysql_fetch_assoc(mysql_query($query));
+
+       $query = "SELECT ROUND(6378.137 * ACOS(0.9999999*((SIN(PI() * $loc[lat] / 180) * SIN(PI() * `locations`.`lat` / 180)) + 
+                       (COS(PI() * $loc[lat] / 180 ) * COS(PI() * `locations`.`lat` / 180) * 
+                        COS(PI() * `locations`.`long` / 180 - PI() * $loc[long] / 180)))), -1) AS `distance`, sum(`points`) as pts, `users`.* 
+                       FROM `locations`
+                               inner join `users`  on `users`.`locid` = `locations`.`id` 
+                               inner join `alerts` on `users`.`id`=`alerts`.`memid`
+                               inner join `notary` on `users`.`id`=`notary`.`to`
+                       WHERE   (`alerts`.`general`=1 OR `alerts`.`country`=1 OR `alerts`.`regional`=1 OR `alerts`.`radius`=1)
+                       GROUP BY `users`.`id`
+                       HAVING `distance` <= '$maxdist' 
+                       ORDER BY `distance` ";
+       echo $query;
+
+    // comment next line when starting to send mail not only to me 
+    // $query = "select * from `users` where `email` like 'cacerttest%'";
+
+       $res = mysql_query($query);
+       $xrows = mysql_num_rows($res);
+
+       while($row = mysql_fetch_assoc($res))
+       {
+    //    uncomment next line to send mails ...
+               sendmail($row['email'], "[CAcert.org] Software Freedom Day - $city", $lines, "events@cacert.org", "", "", "CAcert Events Organisation", "returns@cacert.org", 1);
+       }
+  // 1x cc to events.cacert.org
+       sendmail("events@cacert.org", "[CAcert.org] Software Freedom Day - $city", $lines, "events@cacert.org", "", "", "CAcert Events Organisation", "returns@cacert.org", 1);
+       // 1x mailing report to events.cacert.org
+  sendmail("events@cacert.org", "[CAcert.org] Software Freedom Day - $city Report", "invitation sent to $xrows recipients.", "support@cacert.org", "", "", "CAcert Events Organisation", "returns@cacert.org", 1);     
+
+       // 1x mailing report to Arbitrator of case http://wiki.cacert.org/wiki/Arbitrations/a20090525.1
+  sendmail("p.dunkel@cacert.org", "[CAcert.org] Software Freedom Day - $city Report", "invitation sent to $xrows recipients.", "support@cacert.org", "", "", "CAcert Events Organisation", "returns@cacert.org", 1);   
+
+       echo "invitation sent to $xrows recipients.";
+?>
diff --git a/cacert/tmp/CVS/Entries b/cacert/tmp/CVS/Entries
new file mode 100644 (file)
index 0000000..b7e988c
--- /dev/null
@@ -0,0 +1,2 @@
+/Makefile/1.1/Sun Sep 20 15:39:18 2009//
+D
diff --git a/cacert/tmp/CVS/Repository b/cacert/tmp/CVS/Repository
new file mode 100644 (file)
index 0000000..737bf69
--- /dev/null
@@ -0,0 +1 @@
+cacert/tmp
diff --git a/cacert/tmp/CVS/Root b/cacert/tmp/CVS/Root
new file mode 100644 (file)
index 0000000..a363882
--- /dev/null
@@ -0,0 +1 @@
+/var/lib/cvs
diff --git a/cacert/tmp/Makefile b/cacert/tmp/Makefile
new file mode 100644 (file)
index 0000000..294a5b8
--- /dev/null
@@ -0,0 +1,10 @@
+DATE=`date "+%Y%m%d"`
+
+all:
+       cvs -d /var/lib/cvs checkout cacert
+       tar cjvf ../tarballs/cacert-${DATE}.tar.bz2 --exclude CVS cacert
+       rm ../tarballs/current.tar.bz2
+       ln -s cacert-${DATE}.tar.bz2 ../tarballs/current.tar.bz2
+       tar cvjf ../tarballs/cacert-cvs.tar.bz2 /var/lib/cvs/cacert
+       mv ../tarballs/cacert-cvs.tar.bz2 ../www/cacert-cvs.tar.bz2
+
diff --git a/cacert/www/favicon.ico b/cacert/www/favicon.ico
new file mode 100644 (file)
index 0000000..3c9c9c2
Binary files /dev/null and b/cacert/www/favicon.ico differ
diff --git a/cacert/www/images/CAcert-logo-colour-1000.png b/cacert/www/images/CAcert-logo-colour-1000.png
new file mode 100644 (file)
index 0000000..a6dd6ac
Binary files /dev/null and b/cacert/www/images/CAcert-logo-colour-1000.png differ
diff --git a/cacert/www/images/bit.png b/cacert/www/images/bit.png
new file mode 100644 (file)
index 0000000..5597e3b
Binary files /dev/null and b/cacert/www/images/bit.png differ
diff --git a/cacert/www/images/btn_paynowCC_LG.gif b/cacert/www/images/btn_paynowCC_LG.gif
new file mode 100644 (file)
index 0000000..f2edb8f
Binary files /dev/null and b/cacert/www/images/btn_paynowCC_LG.gif differ
diff --git a/cacert/www/images/cacert-policy.png b/cacert/www/images/cacert-policy.png
new file mode 100644 (file)
index 0000000..1b69c7a
Binary files /dev/null and b/cacert/www/images/cacert-policy.png differ
diff --git a/cacert/www/images/cacert3.png b/cacert/www/images/cacert3.png
new file mode 100644 (file)
index 0000000..90ba745
Binary files /dev/null and b/cacert/www/images/cacert3.png differ
diff --git a/cacert/www/images/cacert4.png b/cacert/www/images/cacert4.png
new file mode 100644 (file)
index 0000000..e4650a0
Binary files /dev/null and b/cacert/www/images/cacert4.png differ
diff --git a/cacert/www/images/nlnet.png b/cacert/www/images/nlnet.png
new file mode 100644 (file)
index 0000000..c7e5c46
Binary files /dev/null and b/cacert/www/images/nlnet.png differ
diff --git a/cacert/www/images/oan.png b/cacert/www/images/oan.png
new file mode 100644 (file)
index 0000000..548bb12
Binary files /dev/null and b/cacert/www/images/oan.png differ
diff --git a/cacert/www/images/payment2.png b/cacert/www/images/payment2.png
new file mode 100644 (file)
index 0000000..c85447b
Binary files /dev/null and b/cacert/www/images/payment2.png differ
diff --git a/cacert/www/images/payment2a.png b/cacert/www/images/payment2a.png
new file mode 100644 (file)
index 0000000..763eaa1
Binary files /dev/null and b/cacert/www/images/payment2a.png differ
diff --git a/cacert/www/images/secured.png b/cacert/www/images/secured.png
new file mode 100644 (file)
index 0000000..333d049
Binary files /dev/null and b/cacert/www/images/secured.png differ
diff --git a/cacert/www/images/sonance.png b/cacert/www/images/sonance.png
new file mode 100644 (file)
index 0000000..ae854c6
Binary files /dev/null and b/cacert/www/images/sonance.png differ
diff --git a/cacert/www/images/tunix.png b/cacert/www/images/tunix.png
new file mode 100644 (file)
index 0000000..29adb60
Binary files /dev/null and b/cacert/www/images/tunix.png differ
diff --git a/cacert/www/images/valid-xhtml11-blue b/cacert/www/images/valid-xhtml11-blue
new file mode 100644 (file)
index 0000000..88fefcb
Binary files /dev/null and b/cacert/www/images/valid-xhtml11-blue differ
diff --git a/cacert/www/policy/CertificationPracticeStatement.php b/cacert/www/policy/CertificationPracticeStatement.php
new file mode 100644 (file)
index 0000000..9d16805
--- /dev/null
@@ -0,0 +1,4091 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+    <meta name="copyright" content="CAcert Inc http://www.cacert.org/">
+    <title>Certification Practice Statement (CPS)</title>
+
+<style type="text/css">
+<!--
+body {
+       font-family : verdana, helvetica, arial, sans-serif;
+}
+
+pre, code, kbd, tt, samp {
+       font-family : courier, monospace;
+}
+
+th {
+       text-align : left;
+}
+
+.blockpar {
+       text-indent : 2em;
+       margin-top : 0em;
+       margin-bottom : 0.5em;
+       text-align : justify;
+}
+
+.figure {
+       text-align : center;
+       color : gray;
+       margin-top : 0.5em;
+}
+
+.center {
+       text-align : center;
+}
+
+.q {
+       color : green;
+       font-weight: bold;
+       text-align: center;
+       font-style:italic;
+}
+
+.error {
+       color : red;
+       font-weight: bold;
+       text-align: center;
+       font-style:italic;
+}
+
+.change {
+       color : blue;
+       font-weight: bold;
+}
+
+a:hover {
+       color : gray;
+}
+-->
+</style>
+
+
+</head>
+<body>
+
+<h1>CAcert CPS and CP</h1>
+
+<a href="PolicyOnPolicy.html"><img src="cacert-draft.png" alt="CAcert Policy Status" height="31" width="88" style="border-style: none;" /></a><br />
+Creation date: 20060726<br />
+Status: DRAFT p20091108<br />
+<!-- $Id: CertificationPracticeStatement.php,v 1.1 2009-11-21 22:34:00 philipp Exp $ -->
+
+
+<font size="-1">
+
+<ol>
+  <li> <a href="#p1">INTRODUCTION</a>
+   <ul>
+    <li><a href="#p1.1">1.1. Overview</a></li>
+    <li><a href="#p1.2">1.2. Document name and identification</a></li>
+    <li><a href="#p1.3">1.3. PKI participants</a> </li>
+    <li><a href="#p1.4">1.4. Certificate usage</a> </li>
+    <li><a href="#p1.5">1.5. Policy administration</a> </li>
+    <li><a href="#p1.6">1.6. Definitions and acronyms</a></li>
+   </ul>
+  </li>
+  <li> <a href="#p2">PUBLICATION AND REPOSITORY RESPONSIBILITIES</a>
+   <ul>
+    <li><a href="#p2.1">2.1. Repositories</a></li>
+    <li><a href="#p2.2">2.2. Publication of certification information</a></li>
+    <li><a href="#p2.3">2.3. Time or frequency of publication</a></li>
+    <li><a href="#p2.4">2.4. Access controls on repositories</a></li>
+   </ul>
+  </li>
+  <li> <a href="#p3">IDENTIFICATION AND AUTHENTICATION (I&amp;A)</a>
+   <ul>
+    <li><a href="#p3.1">3.1. Naming</a> </li>
+    <li><a href="#p3.2">3.2. Initial Identity Verification</a> </li>
+    <li><a href="#p3.3">3.3. I&amp;A for Re-key Requests</a> </li>
+    <li><a href="#p3.4">3.4. I&amp;A for Revocation Request</a></li>
+   </ul>
+  </li>
+  <li><a href="#p4">CERTIFICATE LIFE-CYCLE OPERATIONAL REQUIREMENTS</a>
+   <ul>
+    <li><a href="#p4.1">4.1. Certificate Application</a> </li>
+    <li><a href="#p4.2">4.2. Certificate application processing</a> </li>
+    <li><a href="#p4.3">4.3. Certificate issuance</a> </li>
+    <li><a href="#p4.4">4.4. Certificate acceptance</a> </li>
+    <li><a href="#p4.5">4.5. Key pair and certificate usage</a> </li>
+    <li><a href="#p4.6">4.6. Certificate renewal</a> </li>
+    <li><a href="#p4.7">4.7. Certificate re-key</a> </li>
+    <li><a href="#p4.8">4.8. Certificate modification</a> </li>
+    <li><a href="#p4.9">4.9. Certificate revocation and suspension</a> </li>
+    <li><a href="#p4.10">4.10. Certificate status services</a> </li>
+    <li><a href="#p4.11">4.11. End of subscription</a></li>
+    <li><a href="#p4.12">4.12. Key escrow and recovery</a> </li>
+   </ul>
+  </li>
+  <li><a href="#p5">FACILITY, MANAGEMENT, AND OPERATIONAL CONTROLS</a>
+   <ul>
+    <li><a href="#p5.1">5.1. Physical controls</a> </li>
+    <li><a href="#p5.2">5.2. Procedural controls</a> </li>
+    <li><a href="#p5.3">5.3. Personnel controls</a> </li>
+    <li><a href="#p5.4">5.4. Audit logging procedures</a> </li>
+    <li><a href="#p5.5">5.5. Records archival</a> </li>
+    <li><a href="#p5.6">5.6. Key changeover</a></li>
+    <li><a href="#p5.7">5.7. Compromise and disaster recovery</a> </li>
+    <li><a href="#p5.8">5.8. CA or RA termination</a></li>
+   </ul>
+  </li>
+  <li><a href="#p6">TECHNICAL SECURITY CONTROLS</a>
+   <ul>
+    <li><a href="#p6.1">6.1. Key pair generation and installation</a> </li>
+    <li><a href="#p6.2">6.2. Private Key Protection and Cryptographic Module Engineering Controls</a> </li>
+    <li><a href="#p6.3">6.3. Other aspects of key pair management</a> </li>
+    <li><a href="#p6.4">6.4. Activation data</a> </li>
+    <li><a href="#p6.5">6.5. Computer security controls</a> </li>
+    <li><a href="#p6.6">6.6. Life cycle technical controls</a> </li>
+    <li><a href="#p6.7">6.7. Network security controls</a></li>
+    <li><a href="#p6.8">6.8. Time-stamping</a></li>
+   </ul>
+  </li>
+  <li><a href="#p7">CERTIFICATE, CRL, AND OCSP PROFILES</a>
+   <ul>
+    <li><a href="#p7.1">7.1. Certificate profile</a> </li>
+    <li><a href="#p7.2">7.2. CRL profile</a> </li>
+    <li><a href="#p7.3">7.3. OCSP profile</a> </li>
+   </ul>
+  </li>
+  <li><a href="#p8">COMPLIANCE AUDIT AND OTHER ASSESSMENTS</a>
+   <ul>
+    <li><a href="#p8.1">8.1. Frequency or circumstances of assessment</a></li>
+    <li><a href="#p8.2">8.2. Identity/qualifications of assessor</a></li>
+    <li><a href="#p8.3">8.3. Assessor's relationship to assessed entity</a></li>
+    <li><a href="#p8.4">8.4. Topics covered by assessment</a></li>
+    <li><a href="#p8.5">8.5. Actions taken as a result of deficiency</a></li>
+    <li><a href="#p8.6">8.6. Communication of results</a></li>
+   </ul>
+  </li>
+  <li><a href="#p9">OTHER BUSINESS AND LEGAL MATTERS</a>
+   <ul>
+    <li><a href="#p9.1">9.1. Fees</a> </li>
+    <li><a href="#p9.2">9.2. Financial responsibility</a> </li>
+    <li><a href="#p9.3">9.3. Confidentiality of business information</a> </li>
+    <li><a href="#p9.4">9.4. Privacy of personal information</a> </li>
+    <li><a href="#p9.5">9.5. Intellectual property rights</a></li>
+    <li><a href="#p9.6">9.6. Representations and warranties</a> </li>
+    <li><a href="#p9.7">9.7. Disclaimers of warranties</a></li>
+    <li><a href="#p9.8">9.8. Limitations of liability</a></li>
+    <li><a href="#p9.9">9.9. Indemnities</a></li>
+    <li><a href="#p9.10">9.10. Term and termination</a> </li>
+    <li><a href="#p9.11">9.11. Individual notices and communications with participants</a></li>
+    <li><a href="#p9.12">9.12. Amendments</a> </li>
+    <li><a href="#p9.13">9.13. Dispute resolution provisions</a></li>
+    <li><a href="#p9.14">9.14. Governing law</a></li>
+    <li><a href="#p9.15">9.15. Compliance with applicable law</a></li>
+    <li><a href="#p9.16">9.16. Miscellaneous provisions</a> </li>
+   </ul>
+  </li>
+</ol>
+
+</font>
+
+
+
+<!-- *************************************************************** -->
+<h2><a name="p1" id="p1">1. INTRODUCTION</a></h2>
+
+<h3><a name="p1.1" id="p1.1">1.1. Overview</a></h3>
+
+<p>
+This document is the Certification Practice Statement (CPS) of
+CAcert, the Community Certification Authority (CA).
+It describes rules and procedures used by CAcert for
+operating its CA,
+and applies to all CAcert PKI Participants,
+including Assurers, Members, and CAcert itself.
+</p>
+
+<p>
+</p>
+
+<h3><a name="p1.2" id="p1.2">1.2. Document name and identification</a></h3>
+
+<p>
+This document is the Certification Practice Statement (CPS) of CAcert.
+The CPS also fulfills the role of the Certificate Policy (CP)
+for each class of certificate.
+</p>
+
+<ul>
+  <li>
+    This document is COD6 under CAcert Official Documents numbering scheme.
+  </li>
+  <li>
+    The document is structured according to
+    Chokhani, et al,
+    <a href="http://www.ietf.org/rfc/rfc3647.txt">RFC3647</a>,
+    <a href="http://tools.ietf.org/html/rfc3647#section-4">chapter 4</a>.
+    All headings derive from that Chapter.
+  </li>
+  <li>
+    It has been improved and reviewed (or will be reviewed)
+    to meet or exceed the criteria of the
+    <cite>Certificate Authority Review Checklist</cite>
+    from <i>David E. Ross</i> ("DRC")
+    and Mozilla Foundation's CA policy.
+  </li>
+  <li>
+    OID assigned to this document: 1.3.6.1.4.1.18506.4.4.x (x=approved Version)
+    (<a href="http://www.iana.org/assignments/enterprise-numbers">iana.org</a>)
+    <p class="q"> .x will change to .1 in the first approved instance.</p>
+  </li>
+  <li>
+    &copy; CAcert Inc. 2006-2009.
+    <!-- note that CCS policies must be controlled by CAcert Inc. -->
+  </li>
+  <li>
+    Issued under the CAcert document licence policy,
+    as and when made policy.
+    See <a href="http://wiki.cacert.org/wiki/PolicyDrafts/DocumentLicence">
+    PolicyDrafts/DocumentLicence</a>.
+     <ul class="q">
+       <li> The cited page discusses 2 options:  CCau Attribute-Share-alike and GNU Free Document License.  Refer to that.  </li>
+       <li> Note that the noun Licence in Australian English has two Cs.  The verb License is spelt the same way as American English. </li>
+     </ul>
+  </li>
+  <li>
+    Earlier notes were written by Christian Barmala
+    in a document placed under GNU Free Document License
+    and under FSF copyright.
+    However this clashed with the control provisions of
+    Configuration-Control Specification
+    (COD2) within Audit criteria.
+  </li>
+  <li>
+    <span class="q">In this document:</span>
+    <ul>
+      <li>
+        <span class="q">green text</span>
+        refers to questions that seek answers,
+      </li><li>
+         <span class="error">red text</span>
+         refers to probably audit fails or serious errors.
+      </li><li>
+         <span class="change">blue text</span>
+         refers to changes written after the document got seriously reviewed.
+    </ul>
+    <span class="q">
+    None is to be considered part of the policy,
+    and they should disappear in the DRAFT
+    and must disappear in the POLICY.
+    </span>
+  </li>
+<!--
+  <li>
+    Some content is incorporated under
+<!--     <a href="http://xkcd.com/license.html">Creative Commons license</a> -->
+<!--     from <a href="http://xkcd.com/">xkcd.com</a>. -->
+    198 177 515
+  </li>
+-->
+</ul>
+
+<p>
+The CPS is an authoritive document,
+and rules other documents
+except where explicitly deferred to.
+See also <a href="#p1.5.1">1.5.1 Organisation Administering the Document</a>.
+</p>
+
+<h3><a name="p1.3" id="p1.3">1.3. PKI participants</a></h3>
+<p>
+The CA is legally operated by CAcert Incorporated,
+an Association registered in 2002 in
+New South Wales, Australia,
+on behalf of the wider Community of Members of CAcert.
+The Association details are at the
+<a href="http://wiki.cacert.org/wiki/CAcertIncorporated">CAcert wiki</a>.
+</p>
+
+<p>
+CAcert is a Community formed of Members who agree to the
+<a href="http://www.cacert.org/policy/CAcertCommunityAgreement.php">
+CAcert Community Agreement</a>.
+The CA is technically operated by the Community,
+under the direction of the Board of CAcert Incorporated.
+(The Members of the Community are not to be confused
+with the <i>Association Members</i>, which latter are
+not referred to anywhere in this CPS.)
+</p>
+
+<h4><a name="p1.3.1" id="p1.3.1">1.3.1. Certification authorities</a></h4>
+<p>
+CAcert does not issue certificates to external
+intermediate CAs under the present CPS.
+</p>
+
+<h4><a name="p1.3.2" id="p1.3.2">1.3.2. Registration authorities</a></h4>
+<p>
+Registration Authorities (RAs) are controlled under Assurance Policy
+(<a href="http://www.cacert.org/policy/AssurancePolicy.php">COD13</a>).
+</p>
+
+<h4><a name="p1.3.3" id="p1.3.3">1.3.3. Subscribers</a></h4>
+
+<p>
+CAcert issues certificates to Members only.
+Such Members then become Subscribers.
+</p>
+
+
+<h4><a name="p1.3.4" id="p1.3.4">1.3.4. Relying parties</a></h4>
+
+<p>
+A relying party is a Member,
+having agreed to the
+CAcert Community Agreement
+(<a href="http://www.cacert.org/policy/CAcertCommunityAgreement.php">COD9</a>),
+who, in the act of using a CAcert certificate,
+makes a decision on the basis of that certificate.
+</p>
+
+<h4><a name="p1.3.5" id="p1.3.5">1.3.5. Other participants</a></h4>
+
+<p>
+<b>Member.</b>
+Membership of the Community is as defined in the
+<a href="http://www.cacert.org/policy/CAcertCommunityAgreement.php">COD9</a>.
+Only Members may RELY or may become Subscribers.
+Membership is free.
+</p>
+
+<p>
+<b>Arbitrator.</b>
+A senior and experienced Member of the CAcert Community
+who resolves disputes between Members, including ones
+of certificate reliance, under
+Dispute Resolution Policy
+(<a href="http://www.cacert.org/policy/DisputeResolutionPolicy.php">COD7</a>).
+</p>
+
+<p>
+<b>Vendor.</b>
+Software suppliers who integrate the root certificates of CAcert
+into their software also assume a proxy role of Relying Parties,
+and are subject to another licence.
+<span class="q">
+At the time of writing, the
+"3rd Party Vendor - Disclaimer and Licence"
+is being worked upon, but is neither approved nor offered.
+</span>
+</p>
+
+<p>
+<b>Non-Related Persons</b> (NRPs).
+These are users of browsers and similar software who are
+unaware of the CAcert certificates they may use, and
+are unaware of the ramifications of usage.
+Their relationship with CAcert
+is described by the
+Non-related Persons - Disclaimer and Licence
+(<a href="http://www.cacert.org/policy/NRPDisclaimerAndLicence.php">COD4</a>).
+No other rights nor relationship is implied or offered.
+</p>
+
+
+<h3><a name="p1.4" id="p1.4">1.4. Certificate usage</a></h3>
+
+<p>CAcert serves as issuer of certificates for
+individuals, businesses, governments, charities,
+associations, churches, schools,
+non-governmental organisations or other groups.
+CAcert certificates are intended for low-cost
+community applications especially where volunteers can
+become Assurers and help CAcert to help the Community.
+</p>
+
+<p>
+Types of certificates and their appropriate and
+corresponding applications are defined in
+<a href="#p1.4.1">&sect;1.4.1</a>.
+Prohibited applications are defined in <a href="#p1.4.2">&sect;1.4.2</a>.
+Specialist uses may be agreed by contract or within
+a specific environment, as described in
+<a href="#p1.4.4">&sect;1.4.4</a>.
+Note also the
+unreliable applications in
+<a href="#p1.4.3">&sect;1.4.3</a>
+and risks, liabilities and obligations in
+<a href="#p9">&sect;9</a>.
+</p>
+
+
+<center>
+<table border="1" cellpadding="5">
+ <tr>
+  <td colspan="2"><center><i>Type</center></i></td>
+  <td colspan="2"><center><i>Appropriate Certificate uses</center></i></th>
+ </tr>
+ <tr>
+  <th>General</th>
+  <th>Protocol</th>
+  <th><center>Description</center></th>
+  <th><center>Comments</center></th>
+ </tr>
+ <tr>
+  <td rowspan="2"><center>Server</center></td>
+  <td> TLS </td>
+  <td> web server encryption </td>
+  <td> enables encryption </td>
+ </tr>
+ <tr>
+  <td> embedded </td>
+  <td> embedded server authentication </td>
+  <td> mail servers, IM-servers </td>
+ </tr>
+ <tr>
+  <td rowspan="4"><center>Client</center></td>
+  <td> S/MIME </td>
+  <td> email encryption </td>
+  <td> "digital signatures" employed in S/MIME
+       are not legal / human signatures,
+       but instead enable the encryption mode of S/MIME </td>
+ </tr>
+ <tr>
+  <td> TLS </td>
+  <td> client authentication </td>
+  <td> the nodes must be secure </td>
+ </tr>
+ <tr>
+  <td> TLS </td>
+  <td> web based signature applications </td>
+  <td> the certificate authenticates only.  See <a href="#p1.4.3">&sect;1.4.3</a>. </td>
+ </tr>
+ <tr>
+  <td> &quot;Digital Signing&quot; </td>
+  <td> for human signing over documents </td>
+  <td> Only within a wider application and rules
+       such as by separate policy,
+       as agreed by contract, etc.
+       See <a href="#p1.4.4">&sect;1.4.4</a>. 
+       </td>
+ </tr>
+ <tr>
+  <td><center>Code</center></td>
+  <td> Authenticode, ElfSign, Java </td>
+  <td> Code Signing </td>
+  <td> Signatures on packages are evidence of their Membership and indicative of Identity </td>
+ </tr>
+ <tr>
+  <td><center>PGP</center></td>
+  <td> OpenPGP </td>
+  <td> Key Signing </td>
+  <td> Signatures on Member Keys are evidence of their Membership and indicative of Identity </td>
+ </tr>
+ <tr>
+  <td><center>Special</center></td>
+  <td> X.509 </td>
+  <td> OCSP, Timestamping </td>
+  <td> Only available to CAcert Systems Administrators, as controlled by Security Policy </td>
+ </tr>
+</table>
+
+<span class="figure">Table 1.4.  Types of Certificate</span>
+</center>
+
+<h4><a name="p1.4.1" id="p1.4.1">1.4.1. Appropriate certificate uses</a></h4>
+
+<p>
+General uses.
+</p>
+
+<ul><li>
+    CAcert server certificates can be used to enable encryption
+    protection in web servers.
+    Suitable applications include webmail and chat forums.
+  </li><li>
+    CAcert server certificates can be used to enable encryption
+    in SSL/TLS links in embedded protocols such as mail servers
+    and IM-servers.
+  </li><li>
+    CAcert client certificates can be used to enable encryption
+    protection in email clients.
+    (See <a href="#p1.4.3">&sect;1.4.3</a> for caveat on signatures.)
+  </li><li>
+    CAcert client certificates can be used to replace password-based
+    authentication to web servers.
+  </li><li>
+    OpenPGP keys with CAcert signatures can be used
+    to encrypt and sign files and emails,
+    using software compatible with OpenPGP.
+  </li><li>
+    CAcert client certificates can be used in web-based
+    authentication applications.
+  </li><li>
+    CAcert code signing certificates can be used to sign code
+    for distribution to other people.
+  </li><li>
+    Time stamping can be used to attach a time record
+    to a digital document.
+</li></ul>
+
+
+<h4><a name="p1.4.2" id="p1.4.2">1.4.2. Prohibited certificate uses</a></h4>
+<p>
+CAcert certificates are not designed, intended, or authorised for
+the following applications:
+</p>
+<ul><li>
+    Use or resale as control equipment in hazardous circumstances
+    or for uses requiring fail-safe performance such as the operation
+    of nuclear facilities, aircraft navigation or communication systems,
+    air traffic control systems, or weapons control systems,
+    where failure could lead directly to death, personal injury,
+    or severe environmental damage.
+</li></ul>
+
+<h4><a name="p1.4.3" id="p1.4.3">1.4.3. Unreliable Applications</a></h4>
+
+<p>
+CAcert certificates are not designed nor intended for use in
+the following applications, and may not be reliable enough
+for these applications:
+</p>
+
+<ul><li>
+    <b>Signing within Protocols.</b>
+    Digital signatures made by CAcert certificates carry
+    <u>NO default legal or human meaning</u>.
+    See <a href="#p9.15.1">&sect;9.15.1</a>.
+    Especially, protocols such as S/MIME commonly will automatically
+    apply digital signatures as part of their protocol needs.
+    The purpose of the cryptographic signature in S/MIME
+    and similar protocols is limited by default to strictly
+    protocol security purposes: 
+    to provide some confirmation that a familiar certificate
+    is in use, to enable encryption, and to ensure the integrity
+    of the email in transit.
+</li><li>
+    <b>Non-repudiation applications.</b>
+    Non-repudiation is not to be implied from use of
+    CAcert certificates.  Rather, certificates may
+    provide support or evidence of actions, but that
+    evidence is testable in any dispute.
+</li><li>
+    <b>Ecommerce applications.</b>
+    Financial transactions or payments or valuable e-commerce.
+</li><li>
+    Use of anonymous (Class 1 or Member SubRoot) certificates
+    in any application that requires or expects identity.
+</li></ul>
+
+<!-- <center><a href="http://xkcd.com/341/"> <img src="http://imgs.xkcd.com/comics/1337_part_1.png"> </a> </center> -->
+
+<h4><a name="p1.4.4" id="p1.4.4">1.4.4. Limited certificate uses</a></h4>
+
+<p>
+By contract or within a specific environment
+(e.g. internal to a company),
+CAcert Members are permitted to use Certificates
+for higher security, customised or experimental applications.
+Any such usage, however, is limited to such entities
+and these entities take on the whole responsible for
+any harm or liability caused by such usage.
+</p>
+
+<p>
+    <b>Digital signing applications.</b>
+    CAcert client certificates
+    may be used by Assured Members in
+    applications that provide or support the human signing of documents
+    (known here as "digital signing").
+    This must be part of a wider framework and set of rules.
+    Usage and reliance
+    must be documented either under a separate CAcert digital signing 
+    policy or other external regime agreed by the parties.
+</p>
+
+<h4><a name="p1.4.5" id="p1.4.5">1.4.5. Roots and Names</a></h4>
+
+<p>
+<b>Named Certificates.</b>
+Assured Members may be issued certificates
+with their verified names in the certificate.  In this role, CAcert
+operates and supports a network of Assurers who verify the
+identity of the Members.
+All Names are verified, either by Assurance or another defined
+method under policy (c.f. Organisations).
+</p>
+
+<p>
+<b>Anonymous Certificates.</b>
+Members can be issued certificates that are anonymous,
+which is defined as the certificate with no Name included,
+or a shared name such as "Community Member".
+These may be considered to be somewhere between Named certificates
+and self-signed certificates.  They have serial numbers in them
+which is ultimately traceable via dispute to a Member, but
+reliance is undefined.
+In this role, CAcert provides the
+infrastructure, saving the Members from managing a difficult
+and messy process in order to get manufactured certificates.
+</p>
+
+<p>
+<b>Psuedonymous Certificates.</b>
+Note that CAcert does not currently issue pseudonymous certificates,
+being those with a name chosen by the Member and not verifiable
+according to documents.
+</p>
+
+<p>
+<b>Advanced Certificates.</b>
+Members who are as yet unassured are not permitted to create
+advanced forms such as wildcard or subjectAltName
+certificates.
+</p>
+
+
+<p>
+<b> Roots.</b>
+The <span class="q"> (new) </span> CAcert root layout is as below.
+These roots are pending Audit,
+and will be submitted to vendors via the (Top-level) Root.
+</p>
+<ul><li>
+    <b>(Top-level) Root.</b>
+    Used to sign on-line CAcert SubRoots only.
+    This Root is kept offline.
+  </li><li>
+    <b>Member SubRoot.</b>
+    For Community Members who are new and unassured (some restrictions exist).
+    Reliance is undefined.
+    (Replacement for the Class 1 root, matches "Domain Validation" type.)
+  </li><li>
+    <b>Assured SubRoot.</b>
+    Only available for Assured individual Members,
+    intended to sign certificates with Names.
+    Suitable for Reliance under this and other policies.
+    Approximates the type known as Individual Validation.
+  </li><li>
+    <b>Organisation SubRoot.</b>
+    Only available for Assured Organisation Members.
+    Suitable for Reliance under this and other policies.
+    Approximates the type known as Organisational Validation.
+
+</li></ul>
+
+
+
+<center>
+<table border="1" cellpadding="5">
+ <tr>
+  <td></td>
+  <td colspan="5"><center><i>Level of Assurance</center></i></td>
+  <th> </th>
+ </tr>
+ <tr>
+  <th></th>
+  <th colspan="2"><center> Members &dagger; </center></th>
+  <th colspan="2"><center> Assured Members</center></th>
+  <th colspan="1"><center> Assurers </center></th>
+  <th colspan="1"><center> </center></th>
+ </tr>
+ <tr>
+  <td><i>Class of Root</i></td>
+  <th>Anon</th>
+  <td>Name</td>
+  <td>Anon</td>
+  <th>Name</th>
+  <td>Name+Anon</td>
+  <td colspan="1"><center><i>Remarks</center></i></td>
+ </tr>
+ <tr>
+  <td><center>Top level<br><big><b>Root</b></big></center></td>
+  <td> <center> <font title="pass." color="green" size="+3"> &bull; </font> </center> </th>
+  <td> <center> <font title="pass." color="green" size="+3"> &bull; </font> </center> </th>
+  <td> <center> <font title="pass." color="green" size="+3"> &bull; </font> </center> </td>
+  <td> <center> <font title="pass." color="green" size="+3"> &bull; </font> </center> </td>
+  <td> <center> <font title="pass." color="green" size="+3"> &bull; </font> </center> </td>
+  <td> Signs other CAcert SubRoots only. </td>
+ </tr>
+ <tr>
+  <td><center><big><b>Member</b></big><br>SubRoot</center></td>
+  <td> <center> <font title="pass." color="green" size="+3"> &#10004; </font> </center> </td>
+  <td> <center> <font title="pass." color="red" size="+3"> &#10008; </font> </center> </th>
+  <td> <center> <font title="pass." color="green" size="+3"> &#10004; </font> </center> </td>
+  <td> <center> <font title="pass." color="green" size="+3"> &#10004; </font> </center> </td>
+  <td> <center> <font title="pass." color="green" size="+3"> &#10004; </font> </center> </td>
+  <td> &dagger; For Members meeting basic checks in <a href="#p4.2.2">&sect;4.2.2</a><br>(Reliance is undefined.) </td>
+ </tr>
+ <tr>
+  <td><center><big><b>Assured</b></big><br>SubRoot</center></td>
+  <td> <center> <font title="pass." color="red" size="+3"> &#10008; </font> </center> </th>
+  <td> <center> <font title="pass." color="red" size="+3"> &#10008; </font> </center> </th>
+  <td> <center> <font title="pass." color="green" size="+3"> &#10004; </font> </center> </td>
+  <td> <center> <font title="pass." color="green" size="+3"> &#10004; </font> </center> </td>
+  <td> <center> <font title="pass." color="green" size="+3"> &#10004; </font> </center> </td>
+  <td> Assured Members only.<br>Fully intended for reliance. </td>
+ </tr>
+ <tr>
+  <td><center><big><b>Organisation</b></big><br>SubRoot</center></td>
+  <td> <center> <font title="pass." color="red" size="+3"> &#10008; </font> </center> </th>
+  <td> <center> <font title="pass." color="red" size="+3"> &#10008; </font> </center> </th>
+  <td> <center> <font title="pass." color="green" size="+3"> &#10004; </font> </center> </td>
+  <td> <center> <font title="pass." color="green" size="+3"> &#10004; </font> </center> </td>
+  <td> <center> <font title="pass." color="green" size="+3"> &#10004; </font> </center> </td>
+  <td> Assured Organisation Members only.<br>Fully intended for reliance. </td>
+ </tr>
+ <tr>
+  <th>Expiry of Certificates</th>
+  <td colspan="2"><center>6 months</center></th>
+  <td colspan="3"><center>24 months</center></th>
+ </tr>
+ <tr>
+  <th>Types</th>
+  <td colspan="2"><center>client, server</center></th>
+  <td colspan="2"><center>wildcard, subjectAltName</center></th>
+  <td colspan="1"><center>code-signing</center></th>
+  <td> (Inclusive to the left.) </td>
+ </tr>
+</table>
+
+<span class="figure">Table 1.4.5.b  Certificate under Audit Roots</span>
+</center>
+
+
+<p class="q">
+Following information on OLD roots here for
+descriptive and historical purposes only.
+When CPS goes to DRAFT, this needs to be
+converted into a short summary of the way
+OLD roots are used and its relationship to
+this CPS.  E.g., "OLD roots are used for
+testing and other purposes outside this CPS."
+Because ... they still exist, and people will
+look at the CPS to figure it out.
+</p>
+
+<center>
+<table border="1" cellpadding="5">
+ <tr>
+  <td></td>
+  <td colspan="4"><center><i>Level of Assurance</center></i></td>
+  <th> </th>
+ </tr>
+ <tr>
+  <th></th>
+  <th colspan="2"><center>Members</center></th>
+  <th colspan="2"><center>Assured Members</center></th>
+  <th colspan="1"><center> </center></th>
+ </tr>
+ <tr>
+  <td><i>Class of Root</i></td>
+  <th>Anonymous</th>
+  <td>Named</td>
+  <td>Anonymous</td>
+  <th>Named</th>
+  <td colspan="1"><center><i>Remarks</center></i></td>
+ </tr>
+ <tr>
+  <td><center>Class<br><big><b>1</b></big></center></td>
+  <td> <center> <font title="pass." color="green" size="+3"> &#10004; </font> </center> </td>
+  <td> <center> <font title="pass." color="red" size="+3"> &#10008; </font> </center> </td>
+  <td> <center> <font title="pass." color="green" size="+3"> &#10004; </font> </center> </td>
+  <td> <center> <font title="pass." color="green" size="+3"> &#10004; </font> </center> </td>
+  <td> Available for all Members,<br>reliance is undefined.</td>
+ </tr>
+ <tr>
+  <td><center>Class<br><big><b>3</b></big></center></td>
+  <td> <center> <font title="pass." color="red" size="+3"> &#10008; </font> </center> </th>
+  <td> <center> <font title="pass." color="red" size="+3"> &#10008; </font> </center> </th>
+  <td> <center> <font title="pass." color="green" size="+3"> &#10004; </font> </center> </td>
+  <td> <center> <font title="pass." color="green" size="+3"> &#10004; </font> </center> </td>
+  <td> Assured Members only.<br> Intended for Reliance. </center> </td>
+ </tr>
+ <tr>
+  <th>Expiry of Certificates</th>
+  <td colspan="2"><center>6 months</center></th>
+  <td colspan="2"><center>24 months</center></th>
+ </tr>
+ <tr>
+  <th>Types available</th>
+  <td colspan="2"><center>simple only</center></th>
+  <td colspan="2"><center>wildcard, subjectAltName</center></th>
+ </tr>
+</table>
+
+<span class="figure">Table 1.4.5.  Certificates under Old Roots - <b>Audit Fail</b>  </span>
+</center>
+
+<p>
+<b> Old Roots.</b>
+The old CAcert root layout is as below.  These roots are <b>Audit Fail</b>
+and will only be used where new roots do not serve:
+</p>
+<ul><li>
+    (old) <b>Class 1 root.</b>
+    Used primarily for certificates with no names and by
+    unassured Members.
+    For compatibility only,
+    Assured Members may also use this root.
+  </li><li>
+    (old) <b>Class 3 root.</b>
+    Used primarily for certificates including the names
+    of Assured Members.
+    Signed by Class 1 root.
+    Members can decide to rely on these
+    certificates for Assured Members
+    by selecting the Class 3 root for
+    Assured Members as trust anchor.
+</li></ul>
+
+  <ul class="q">
+    <li> Current Mozilla position has drifted from Class 1,2,3s to DV, IV+OV and EV posture.  Except, the actual posture is either unstated or difficult to fathom.</li>
+    <li> scheme for future roots is at <a href="http://wiki.cacert.org/wiki/Roots/NewRootsTaskForce">NewRootsTaskForce</a>.</li>
+    <li>END OLD ROOTS </li>
+  </ul>
+
+<h3><a name="p1.5" id="p1.5">1.5. Policy administration</a></h3>
+
+<p>See <a href="#p1.2">1.2 Document Name and Identification</a>
+  for general scope of this document.</p>
+
+<h4><a name="p1.5.1" id="p1.5.1">1.5.1. Organization administering the document</a></h4>
+
+<p>
+This document is administered by the policy group of
+the CAcert Community under Policy on Policy (<a href="http://www.cacert.org/policy/PolicyOnPolicy.php">COD1</a>).
+</p>
+
+<h4><a name="p1.5.2" id="p1.5.2">1.5.2. Contact person</a></h4>
+<p>
+For questions including about this document:
+</p>
+
+<ul>
+  <li>Join the policy group, by means of the discussion forum at
+  <a href="http://lists.cacert.org/mailman/listinfo">
+  lists.cacert.org</a> . </li>
+  <li>Send email to &lt; support AT cacert DOT org &gt; </li>
+  <li>IRC: irc.cacert.org #CAcert (ssl port 7000, non-ssl port 6667)</li>
+</ul>
+
+<h4><a name="p1.5.3" id="p1.5.3">1.5.3. Person determining CPS suitability for the policy</a></h4>
+<p>
+This CPS and all other policy documents are managed by
+the policy group, which is a group of Members of the
+Community found at policy forum.  See discussion forums above.
+</p>
+
+<h4><a name="p1.5.4" id="p1.5.4">1.5.4. CPS approval procedures</a></h4>
+<p>
+CPS is controlled and updated according to the
+Policy on Policy
+(<a href="http://www.cacert.org/policy/PolicyOnPolicy.php">COD1</a>)
+which is part of
+Configuration-Control Specification (COD2).
+</p>
+
+<p>
+In brief, the policy forum prepares and discusses.
+After a last call, the document moves to DRAFT status
+for a defined period.
+If no challenges have been received in the defined period,
+it moves to POLICY status.
+The process is modelled after some elements of
+the RFC process by the IETF.
+</p>
+
+<h4><a name="p1.5.5" id="p1.5.5">1.5.5 CPS updates</a></h4>
+
+<p>
+As per above.
+</p>
+
+
+<h3><a name="p1.6" id="p1.6">1.6. Definitions and acronyms</a></h3>
+<p>
+<b><a name="d_cert" id="d_cert">Certificate</a></b>.
+  A certificate is a piece of cryptographic data used
+  to validate certain statements, especially those of
+  identity and membership.
+</p>
+<p>
+<b><a name="d_cacert" id="d_cacert">CAcert</a></b>.
+  CAcert is a Community certificate authority as defined under
+  <a href="#p1.2">&sect;1.2 Identification</a>.
+</p>
+<p>
+<b><a name="d_member" id="d_member">Member</a></b>.
+  Everyone who agrees to the
+  CAcert Community Agreement
+  (<a href="http://www.cacert.org/policy/CAcertCommunityAgreement.php">COD9</a>).
+  This generally implies having an account registered
+  at CAcert and making use of CAcert's data, programs or services.
+  A Member may be an individual ("natural person")
+  or an organisation (sometimes, "legal person").
+</p>
+<p>
+<b><a name="d_community" id="d_community">Community</a></b>.
+  The group of Members who agree to the
+  CAcert Community Agreement
+  (<a href="http://www.cacert.org/policy/CAcertCommunityAgreement.php">COD9</a>)
+  or equivalent agreements.
+</p>
+<p>
+<b><a name="d_unassured" id="d_unassured">Unassured Member</a></b>.
+  A Member who has not yet been Assured.
+</p>
+<p>
+<b><a name="d_subscriber" id="d_subscriber">Subscriber</a></b>.
+  A Member who requests and receives a certificate.
+</p>
+<p>
+<b><a name="d_assured" id="d_assured">Assured Member</a></b>.
+  A Member whose identity has been sufficiently
+  verified by Assurers or other
+  approved methods under Assurance Policy.</p>
+</p>
+<p>
+<b><a name="d_assurer" id="d_assurer">Assurer</a></b>.
+  An Assured Member who is authorised under Assurance Policy
+  to verify the identity of other Members.
+</p>
+<p>
+<b><a name="d_name" id="d_name">Name</a></b>.
+    As defined in the
+    Assurance Policy
+    (<a href="http://www.cacert.org/policy/AssurancePolicy.php">COD13</a>),
+    to describe a name of a Member
+    that is verified by the Assurance process.
+<p>
+<b><a name="d_oadmin" id="d_oadmin">Organisation Administrator</a></b>.
+  ("O-Admin")
+  An Assurer who is authorised to act for an Organisation.
+  The O-Admin is authorised by an organisation
+  to vouch for the identity of other users of the organisation.
+</p>
+<p>
+<b><a name="d_org_ass" id="d_org_ass">Organisation Assurer</a></b>.
+  An Assurer who is authorised to conduct assurances on
+  organisations.
+</p>
+<p>
+<b><a name="d_user" id="d_user">Non-Related Persons</a></b>.
+  ("NRPs")
+  are general users of browsers and similar software.
+  The NRPs are generally unaware of
+  CAcert or the certificates that they may use, and
+  are unaware of the ramifications of usage.
+  They are not permitted to RELY, but may USE, under the 
+  Non-Related Persons - Disclaimer and Licence (<a href="http://www.cacert.org/policy/NRPDisclaimerAndLicence.php">COD4</a>).
+</p>
+<p>
+<b><a name="rel" id="d_reliance">Reliance</a></b>.
+  An industry term referring to
+  the act of making a decision, including taking a risk,
+  which decision is in part or in whole
+  informed or on the basis of the contents of a certificate.
+</p>
+<p>
+<b><a name="rel" id="rel">Relying Party</a></b>.
+  An industry term refering to someone who relies
+  (that is, makes decisions or takes risks)
+  in part or in whole on a certificate.
+</p>
+<p>
+    <b>Subscriber Naming.</b>
+    The term used in this CPS to
+    describe all naming data within a certificate.
+    Approximately similar terms from Industry such as
+    "Subject naming" and "Distinguished Name"
+    are not used here.
+</p>
+<p>
+<b><a name="ver" id="d_verification">Verification</a></b>.
+  An industry term referring to
+  the act of checking and controlling
+  the accuracy and utility of a single claim.
+</p>
+<p>
+<b><a name="ver" id="d_validation">Validation</a></b>.
+  An industry term referring to the process of
+  inspecting and verifying the information and
+  subsidiary claims behind a claim.
+</p>
+<p>
+<b><a name="rel" id="rel">Usage</a></b>.
+  The event of allowing a certificate to participate in
+  a protocol, as decided and facilitated by a user's software.
+  Generally, Usage does not require significant input, if any,
+  on the part of the user.
+  This defers all decisions to the user software,
+  thus elevating the software as user's only and complete
+  Validation Authority or Agent.
+</p>
+<p>
+<b><a name="drel" id="drel">CAcert Relying Party</a></b>.
+  CAcert Members who make decisions based in part or in whole
+  on a certificate issued by CAcert.
+  Only CAcert Members are permitted to Rely on CAcert certificates,
+  subject to the CAcert Community Agreement.
+</p>
+<p>
+<b><a name="ddst" id="ddst">Vendors</a></b>.
+  Non-members who distribute CAcert's root or intermediate certificates
+  in any way, including but not limited to delivering these
+  certificates with their products, e.g. browsers, mailers or servers.
+  Vendors are covered under a separate licence.
+  <span class="q"> As of the moment, this licence is not written.</span>
+</p>
+<p>
+<b><a name="d_ccs" id="d_ccs">Configuration-Control Specification</a></b> "CCS".
+  The audit criteria that controls this CPS.
+  The CCS is documented in COD2, itself a controlled document under CCS.
+</p>
+<p>
+<p>
+<b><a name="d_cod" id="d_cod">CAcert Official Document</a></b> (COD).
+  Controlled Documents that are part of the CCS.
+</p>
+
+
+
+<!-- *************************************************************** -->
+<h2><a name="p2" id="p2">2. PUBLICATION AND REPOSITORY RESPONSIBILITIES</a></h2>
+
+
+<h3><a name="p2.1" id="p2.1">2.1. Repositories</a></h3>
+
+<p>
+CAcert operates no repositories in the sense
+of lookup for non-certificate-related information
+for the general public.
+</p>
+
+<p>
+Under the Assurance Policy (<a href="http://www.cacert.org/policy/AssurancePolicy.php">COD13</a>),
+there are means for Members to search, retrieve
+and verify certain data about themselves and others.
+</p>
+
+<h3><a name="p2.2" id="p2.2">2.2. Publication of certification information</a></h3>
+
+<p>
+CAcert publishes:
+</p>
+
+<ul>
+  <li>A repository of CRLs.  An OCSP responder is in operation.</li>
+  <li>The root certificate and intermediate certificates.</li>
+</ul>
+
+<p>
+CAcert does not expressly publish information on issued certificates.
+However, due to the purpose of certificates, and the essential
+public nature of Names and email addresses, all information within
+certificates is presumed to be public and published, once
+issued and delivered to the Member.
+</p>
+
+<h3><a name="p2.3" id="p2.3">2.3. Time or frequency of publication</a></h3>
+
+<p>
+Root and Intermediate Certificates and CRLs are
+made available on issuance.
+</p>
+
+<h3><a name="p2.4" id="p2.4">2.4. Access controls on repositories</a></h3>
+<p> No stipulation.  </p>
+
+
+
+<!-- *************************************************************** -->
+<h2><a name="p3" id="p3">3. IDENTIFICATION AND AUTHENTICATION</a></h2>
+
+<h3><a name="p3.1" id="p3.1">3.1. Naming</a></h3>
+
+<h4><a name="p3.1.1" id="p3.1.1">3.1.1. Types of names</a></h4>
+
+<p>
+<b>Client Certificates.</b>
+The Subscriber Naming consists of:
+</p>
+<ul>
+  <li><tt>subjectAltName=</tt>
+      One, or more, of the Subscriber's verified email addresses,
+      in rfc822Name format.
+
+  <ul class="q">
+    <li>SSO in subjectAltName?.</li>
+  </ul>
+  <li><tt>EmailAddress=</tt>
+      One, or more, of the Subscriber's verified email addresses.
+      This is deprecated under 
+      RFC5280 <a href="http://tools.ietf.org/html/rfc5280#section-4.2.1.6">4
+.1.2.6</a>
+      and is to be phased out. Also includes a SHA1 hash of a random number if 
+      the member selects SSO (Single Sign On ID) during submission of CSR.
+  </li>
+  <li><tt>CN=</tt> The common name takes its value from one of:
+    <ul><li>
+      For all Members,
+      the string "<tt>CAcert WoT Member</tt>" may be used for
+      anonymous certificates.
+    </li><li>
+      For individual Members,
+      a Name of the Subscriber,
+      as Assured under AP.
+    </li><li>
+      For Organisation Members,
+      an organisation-chosen name,
+      as verified under OAP.
+    </li></ul>
+</ul>
+
+  <ul class="q">
+    <li> <a href="http://bugs.cacert.org/view.php?id=672"> bug 672</a> filed on subjectAltName.</li>
+    <li> O-Admin must verify as per <a href="http://wiki.cacert.org/wiki/PolicyDecisions">p20081016</a>. </li>
+    <li> it is a wip for OAP to state how this is done. </li>
+    <li> curiously, (RFC5280) verification is only mandated for subjectAltName not subject field. </li>
+    <li> what Directory String is used in above?  UTF8String is specified by RFC52804.1.2.6?  is this important for the CPS to state?</li>
+  </ul>
+
+<p>
+<b>Individual Server Certificates.</b>
+The Subscriber Naming consists of:
+</p>
+<ul>
+ <li><tt>CN=</tt>
+    The common name is the host name out of a domain
+    for which the Member is a domain master.
+  </li> <li>
+  <tt>subjectAltName=</tt>
+    Additional host names for which the Member
+    is a domain master may be added to permit the
+    certificate to serve multiple domains on one IP number.
+  </li> <li>
+    All other fields are optional and must either match
+    the CN or they must be empty
+</li> </ul>
+
+<p>
+<b>Certificates for Organisations.</b>
+In addition to the above, the following applies:
+</p>
+
+<ul>
+  <li><tt>OU=</tt>
+      organizationalUnitName (set by O-Admin, must be verified by O-Admin).</li>
+  <li><tt>O=</tt>
+      organizationName is the fixed name of the Organisation.</li>
+  <li><tt>L=</tt>
+      localityName</li>
+  <li><tt>ST=</tt>
+      stateOrProvinceName</li>
+  <li><tt>C=</tt>
+      countryName</li>
+  <li><tt>contact=</tt>
+      EMail Address of Contact.
+      <!--  not included in RFC5280 4.1.2.4 list, but list is not restricted -->
+  </li>
+</ul>
+
+<p>
+Except for the OU and CN, fields are taken from the Member's
+account and are as verified by the Organisation Assurance process.
+Other Subscriber information that is collected and/or retained
+does not go into the certificate.
+</p>
+
+<h4><a name="p3.1.2" id="p3.1.2">3.1.2. Need for names to be meaningful</a></h4>
+
+<p>
+Each Member's Name (<tt>CN=</tt> field)
+is assured under the Assurance Policy (<a href="http://www.cacert.org/policy/AssurancePolicy.php">COD13</a>)
+or subsidiary policies (such as Organisation Assurance Policy).
+Refer to those documents for meanings and variations.
+</p>
+
+<p>
+Anonymous certificates have the same <code>subject</code>
+field common name.
+See <a href="#p1.4.5">&sect;1.4.5.</a>.
+</p>
+
+<p>
+Email addresses are verified according to
+<a href="#p4.2.2">&sect;4.2.2.</a>
+</p>
+
+<!-- <center><a href="http://xkcd.com/327/"> <img src="http://imgs.xkcd.com/comics/exploits_of_a_mom.png"> </a> </center> -->
+
+<h4><a name="p3.1.3" id="p3.1.3">3.1.3. Anonymity or pseudonymity of subscribers</a></h4>
+
+<p>
+See <a href="#p1.4.5">&sect;1.4.5</a>.
+</p>
+
+<h4><a name="p3.1.4" id="p3.1.4">3.1.4. Rules for interpreting various name forms</a></h4>
+<p>
+Interpretation of Names is controlled by the Assurance Policy,
+is administered by means of the Member's account,
+and is subject to change by the Arbitrator.
+Changes to the interpretation by means of Arbitration
+should be expected as fraud (e.g., phishing)
+may move too quickly for policies to fully document rules.
+</p>
+
+<h4><a name="p3.1.5" id="p3.1.5">3.1.5. Uniqueness of names</a></h4>
+
+<p>
+Uniqueness of Names within certificates is not guaranteed.
+Each certificate has a unique serial number which maps
+to a unique account, and thus maps to a unique Member.
+See the Assurance Statement within Assurance Policy
+(<a href="http://www.cacert.org/policy/AssurancePolicy.php">COD13</a>).
+</p>
+
+<p>
+Domain names and email address
+can only be registered to one Member.
+</p>
+
+<h4><a name="p3.1.6" id="p3.1.6">3.1.6. Recognition, authentication, and role of trademarks</a></h4>
+
+<p>
+Organisation Assurance Policy
+(<a href="http://www.cacert.org/policy/OrganisationAssurancePolicy.php">COD11</a>)
+controls issues such as trademarks where applicable.
+A trademark can be disputed by filing a dispute.
+See
+<a href="#adr">&sect;9.13</a>.
+</p>
+
+<h4><a name="p3.1.7" id="p3.1.7">3.1.7. International Domain Names</a></h4>
+
+<p>
+Certificates containing International Domain Names, being those containing a 
+ACE prefix (<a href="http://www.ietf.org/rfc/rfc3490#section-5">RFC3490 
+Section 5</a>), will only be issued to domains satisfying one or more 
+of the following conditions:
+<ul>
+<li>The Top Level Domain (TLD) Registrar associated with the domain has a policy
+that has taken measures to prevent two homographic domains being registered to 
+different entities down to an accepted level.
+</li>
+<li>Domains contain only code points from a single unicode character script,
+excluding the "Common" script, with the additionally allowed numberic
+characters [0-9], and an ACSII hyphen '-'.
+</li>
+</ul>
+</p>
+
+<p>Email address containing International Domain Names in the domain portion of
+the email address will also be required to satisfy one of the above conditions.
+</p>
+
+<p>
+The following is a list of accepted TLD Registrars:
+    <table>
+
+      <tr>
+        <td>.ac</td>
+        <td><a href="http://www.nic.ac/">Registry</a></td>
+        <td><a href="http://www.nic.ac/pdf/AC-IDN-Policy.pdf">Policy</a></td>
+      </tr>
+      <tr>
+        <td>.ar</td>
+
+        <td><a href="http://www.nic.ar/">Registry</a></td>
+        <td><a href="http://www.nic.ar/616.html">Policy</a></td>
+      </tr>
+      <tr>
+        <td>.at</td>
+        <td><a href="http://www.nic.at/">Registry</a></td>
+        <td><a href="http://www.nic.at/en/service/legal_information/registration_guidelines/">Policy</a> (<a href="http://www.nic.at/en/service/technical_information/idn/charset_converter/">character list</a>)</td>
+
+      </tr>
+      <tr>
+        <td>.biz</td>
+        <td><a href="http://www.neustarregistry.biz/">Registry</a></td>
+        <td><a href="http://www.neustarregistry.biz/products/idns">Policy</a></td>
+      </tr>
+      <tr>
+
+        <td>.br</td>
+        <td><a href="http://registro.br/">Registry</a></td>
+        <td><a href="http://registro.br/faq/faq6.html">Policy</a></td>
+      </tr>
+      <tr>
+        <td>.cat</td>
+        <td><a href="http://www.domini.cat/">Registry</a></td>
+
+        <td><a href="http://www.domini.cat/normativa/en_normativa_registre.html">Policy</a></td>
+      </tr>
+      <tr>
+        <td>.ch</td>
+        <td><a href="http://www.switch.ch/id/">Registry</a></td>
+        <td><a href="http://www.switch.ch/id/terms/agb.html#anhang1">Policy</a></td>
+      </tr>
+
+      <tr>
+        <td>.cl</td>
+        <td><a href="http://www.nic.cl/">Registry</a></td>
+        <td><a href="http://www.nic.cl/CL-IDN-policy.html">Policy</a></td>
+      </tr>
+      <tr>
+        <td>.cn</td>
+
+        <td><a href="http://www.cnnic.net.cn/">Registry</a></td>
+        <td><a href="http://www.faqs.org/rfcs/rfc3743.html">Policy</a> (JET Guidelines)</td>
+      </tr>
+      <tr>
+        <td>.de</td>
+        <td><a href="http://www.denic.de/">Registry</a></td>
+
+        <td><a href="http://www.denic.de/en/richtlinien.html">Policy</a></td>
+      </tr>
+      <tr>
+        <td>.dk</td>
+        <td><a href="http://www.dk-hostmaster.dk/">Registry</a></td>
+        <td><a href="http://www.dk-hostmaster.dk/index.php?id=151">Policy</a></td>
+      </tr>
+
+      <tr>
+        <td>.es</td>
+        <td><a href="https://www.nic.es/">Registry</a></td>
+        <td><a href="https://www.nic.es/media/2008-12/1228818323935.pdf">Policy</a></td>
+      </tr>
+      <tr>
+        <td>.fi</td>
+
+        <td><a href="http://www.ficora.fi/">Registry</a></td>
+        <td><a href="http://www.ficora.fi/en/index/palvelut/fiverkkotunnukset/aakkostenkaytto.html">Policy</a></td>
+      </tr>
+      <tr>
+        <td>.gr</td>
+        <td><a href="https://grweb.ics.forth.gr/english/index.html">Registry</a></td>
+        <td><a href="https://grweb.ics.forth.gr/english/ENCharacterTable1.jsp">Policy</a></td>
+
+      </tr>
+      <tr>
+        <td>.hu</td>
+        <td><a href="http://www.domain.hu/domain/">Registry</a></td>
+        <td><a href="http://www.domain.hu/domain/English/szabalyzat.html">Policy</a> (section 2.1.2)</td>
+      </tr>
+
+      <tr>
+        <td>.info</td>
+        <td><a href="http://www.afilias.info/">Registry</a></td>
+        <td><a href="http://www.afilias.info/register/idn/">Policy</a></td>
+      </tr>
+      <tr>
+        <td>.io</td>
+
+        <td><a href="http://www.nic.io">Registry</a></td>
+        <td><a href="http://www.nic.io/IO-IDN-Policy.pdf">Policy</a></td>
+      </tr>
+      <tr>
+        <td>.ir</td>
+        <td><a href="https://www.nic.ir/">Registry</a></td>
+        <td><a href="https://www.nic.ir/IDN">Policy</a></td>
+
+      </tr>
+      <tr>
+        <td>.is</td>
+        <td><a href="http://www.isnic.is/">Registry</a></td>
+        <td><a href="http://www.isnic.is/english/domain/rules.php">Policy</a></td>
+      </tr>
+      <tr>
+
+        <td>.jp</td>
+        <td><a href="http://jprs.co.jp/">Registry</a></td>
+        <td><a href="http://www.iana.org/assignments/idn/jp-japanese.html">Policy</a></td>
+      </tr>
+      <tr>
+        <td>.kr</td>
+        <td><a href="http://domain.nic.or.kr/">Registry</a></td>
+
+        <td><a href="http://www.faqs.org/rfcs/rfc3743.html">Policy</a> (JET Guidelines)</td>
+      </tr>
+      <tr>
+        <td>.li</td>
+        <td><a href="http://www.switch.ch/id/">Registry</a></td>
+        <td><a href="http://www.switch.ch/id/terms/agb.html#anhang1">Policy</a> (managed by .ch registry)</td>
+
+      </tr>
+      <tr>
+        <td>.lt</td>
+        <td><a href="http://www.domreg.lt/public?pg=&sp=&loc=en">Registry</a></td>
+        <td><a href="http://www.domreg.lt/public?pg=8A7FB6&sp=idn&loc=en">Policy</a> (<a href="http://www.domreg.lt/static/doc/public/idn_symbols-en.pdf">character list</a>)</td>
+
+      </tr>
+      <tr>
+        <td>.museum</td>
+        <td><a href="http://about.museum/">Registry</a></td>
+        <td><a href="http://about.museum/idn/idnpolicy.html">Policy</a></td>
+      </tr>
+      <tr>
+
+        <td>.no</td>
+        <td><a href="http://www.norid.no/">Registry</a></td>
+        <td><a href="http://www.norid.no/domeneregistrering/veiviser.en.html">Policy</a> (section 4)</td>
+      </tr>
+      <tr>
+        <td>.org</td>
+
+        <td><a href="http://www.pir.org/">Registry</a></td>
+        <td><a href="http://pir.org/PDFs/ORG-Extended-Characters-22-Jan-07.pdf">Policy</a></td>
+      </tr>
+      <tr>
+        <td>.pl</td>
+        <td><a href="http://www.nask.pl/">Registry</a></td>
+        <td><a href="http://www.dns.pl/IDN/idn-registration-policy.txt">Policy</a></td>
+
+      </tr>
+      <tr>
+        <td>.pr</td>
+        <td><a href="https://www.nic.pr/">Registry</a></td>
+        <td><a href="https://www.nic.pr/idn_rules.asp">Policy</a></td>
+      </tr>
+      <tr>
+
+        <td>.se</td>
+        <td><a href="http://www.nic-se.se/">Registry</a></td>
+        <td><a href="http://www.iis.se/en/domaner/internationaliserad-doman-idn/">Policy</a> (<a href="http://www.iis.se/docs/teckentabell-03.pdf">character list</a>)</td>
+      </tr>
+      <tr>
+
+        <td>.sh</td>
+        <td><a href="http://www.nic.sh">Registry</a></td>
+        <td><a href="http://www.nic.sh/SH-IDN-Policy.pdf">Policy</a></td>
+      </tr>
+      <tr>
+        <td>.th</td>
+        <td><a href="http://www.thnic.or.th/">Registry</a></td>
+
+        <td><a href="http://www.iana.org/assignments/idn/th-thai.html">Policy</a></td>
+      </tr>
+      <tr>
+        <td>.tm</td>
+        <td><a href="http://www.nic.tm">Registry</a></td>
+        <td><a href="http://www.nic.tm/TM-IDN-Policy.pdf">Policy</a></td>
+      </tr>
+
+      <tr>
+        <td>.tw</td>
+        <td><a href="http://www.twnic.net.tw/">Registry</a></td>
+        <td><a href="http://www.faqs.org/rfcs/rfc3743.html">Policy</a> (JET Guidelines)</td>
+      </tr>
+      <tr>
+
+        <td>.vn</td>
+        <td><a href="http://www.vnnic.net.vn/">Registry</a></td>
+        <td><a href="http://www.vnnic.vn/english/5-6-300-2-2-04-20071115.htm">Policy</a> (<a href="http://vietunicode.sourceforge.net/tcvn6909.pdf">character list</a>)</td>
+      </tr>
+  </table>
+</p>
+
+<p>
+This criteria will apply to the email address and server host name fields for all certificate types.
+</p>
+
+<p>
+The CAcert Inc. Board has the authority to decide to add or remove accepted TLD Registrars on this list.
+</p>
+
+<h3><a name="p3.2" id="p3.2">3.2. Initial Identity Verification</a></h3>
+
+<p>
+Identity verification is controlled by the
+<a href="http://svn.cacert.org/CAcert/Policies/AssurancePolicy.html">
+Assurance Policy</a> (<a href="http://www.cacert.org/policy/AssurancePolicy.php">COD13</a>).
+The reader is refered to the Assurance Policy,
+the following is representative and brief only.
+</p>
+
+
+<h4><a name="p3.2.1" id="p3.2.1">3.2.1. Method to prove possession of private key</a></h4>
+
+<p>
+CAcert uses industry-standard techniques to
+prove the possession of the private key.
+</p>
+
+<p>
+For X.509 server certificates,
+the stale digital signature of the CSR is verified.
+For X.509 client certificates for "Netscape" browsers,
+SPKAC uses a challenge-response protocol
+to check the private key dynamically.
+For X.509 client certificates for "explorer" browsers,
+ActiveX uses a challenge-response protocol
+to check the private key dynamically.
+</p>
+
+<h4><a name="p3.2.2" id="p3.2.2">3.2.2. Authentication of Individual Identity</a></h4>
+
+<p>
+<b>Agreement.</b>
+An Internet user becomes a Member by agreeing to the
+CAcert Community Agreement
+(<a href="http://www.cacert.org/policy/CAcertCommunityAgreement.php">COD9</a>)
+and registering an account on the online website.
+During the registration process Members are asked to
+supply information about themselves:
+</p>
+  <ul>
+    <li>A valid working email.
+        </li>
+    <li>Full Name and Date of Birth such as is 
+        found on Identity documents.
+        </li>
+    <li>Personal Questions used only for Password Retrieval.</li>
+  </ul>
+
+<p>
+The online account establishes the method of authentication
+for all service requests such as certificates.
+</p>
+
+<p>
+<b>Assurance.</b>
+Each Member is assured according to Assurance Policy
+(<a href="http://www.cacert.org/policy/AssurancePolicy.php">COD13</a>).
+</p>
+
+<!-- <center><a href="http://xkcd.com/364/"> <img src="http://imgs.xkcd.com/comics/responsible_behavior.png"> </a> </center> -->
+
+
+
+<p>
+<b>Certificates.</b>
+Based on the total number of Assurance Points
+that a Member (Name) has, the Member
+can get different levels of certificates.
+See <a href="#p1.4.5">&sect;1.4.5</a>.
+See Table 3.2.b.
+When Members have 50 or more points, they
+become <i>Assured Members</i> and may then request
+certificates that state their Assured Name(s).
+</p>
+
+
+<br><br>
+<center>
+
+<table border="1" cellpadding="5">
+ <tr>
+  <th>Assurance Points</th>
+  <th>Level</th>
+  <th>Service</th>
+  <th>Comments</th>
+ </tr>
+ <tr>
+  <td>0</td>
+  <td>Unassured Member</td>
+  <td>Anonymous</td>
+  <td>Certificates with no Name, under Class 1 Root.  Limited to 6 months expiry.</td>
+ </tr>
+ <tr>
+  <td>1-49</td>
+  <td>Unassured Member</td>
+  <td>Anonymous</td>
+  <td>Certificates with no Name under Member SubRoot.  Limited to 6 months expiry.</td>
+ </tr>
+ <tr>
+  <td rowspan="1">50-99</td>
+  <td>Assured Member</td>
+  <td>Verified</td>
+  <td>Certificates with Verified Name for S/MIME, web servers, "digital signing."
+      Expiry after 24 months is available.</td>
+ </tr>
+ <tr>
+  <td rowspan="2">100++</td>
+  <td rowspan="2">Assurer</td>
+  <td>Code-signing</td>
+  <td>Can create Code-signing certificates </td>
+ </tr>
+</table>
+
+<span class="figure">Table 3.2.b - How Assurance Points are used in Certificates</span>
+
+</center>
+<br>
+
+
+
+<h4><a name="p3.2.3" id="p3.2.3">3.2.3. Authentication of organization identity</a></h4>
+
+
+<p>
+Verification of organisations is delegated by
+the Assurance Policy to the
+Organisation Assurance Policy
+(<a href="http://www.cacert.org/policy/OrganisationAssurancePolicy.php">COD11</a>).
+The reader is refered to the Organisation Assurance Policy,
+the following is representative and brief only.
+</p>
+
+<p>
+Organisations present special challenges.
+The Assurance process for Organisations is
+intended to permit the organisational Name to
+appear in certificates.
+The process relies heavily on the Individual
+process described above.
+</p>
+
+<p>
+Organisation Assurance achieves the standard
+stated in the OAP, briefly presented here:
+</p>
+
+<ol type="a"><li>
+   the organisation exists,
+  </li><li>
+   the organisation name is correct and consistent,
+  </li><li>
+   signing rights: requestor can sign on behalf of the organisation, and
+  </li><li>
+   the organisation has agreed to the terms of the
+   CAcert Community Agreement
+   (<a href="http://www.cacert.org/policy/CAcertCommunityAgreement.php">COD9</a>),
+   and is therefore subject to Arbitration. 
+</li></ol>
+
+  <ul class="error">
+    <li> As of the current time of writing, OA lacks critical documentation and there are bugs identified with no response.</li>
+    <li> <a href="http://wiki.cacert.org/wiki/PolicyDrafts/OrganisationAssurance">documented bugs</a>. </li>
+    <li> Therefore Organisations will not participate in the current audit cycle of roots. </li>
+    <li> See <a href="http://wiki.cacert.org/wiki/OrganisationAssurance">wiki</a> for any progress on this. </li>
+  </ul>
+
+
+<h4><a name="p3.2.4" id="p3.2.4">3.2.4. Non-verified subscriber information</a></h4>
+
+<p>
+All information in the certificate is verified,
+see Relying Party Statement, &sect;4.5.2.
+</p>
+
+
+<h4><a name="p3.2.5" id="p3.2.5">3.2.5. Validation of authority</a></h4>
+
+<p>
+The authorisation to obtain a certificate is established as follows:
+</p>
+
+<p>
+<b>Addresses.</b>
+The member claims authority over a domain or email address
+when adding the address,  <a href="#p4.1.2">&sect;4.1.2</a>.
+(Control is tested by means described in <a href="#p4.2.2">&sect;4.2.2</a>.)
+</p>
+
+<p>
+<b>Individuals.</b>
+The authority to participate as a Member is established
+by the CAcert Community Agreement
+(<a href="http://www.cacert.org/policy/CAcertCommunityAgreement.php">COD9</a>).
+Assurances are requested by means of the signed CAP form.
+</p>
+
+<p>
+<b>Organisations.</b>
+The authority for Organisation Assurance is established
+in the COAP form, as signed by an authorised representative
+of the organisation.
+The authority for the
+Organisation Administrator
+(O-Admin) is also established on the
+COAP form.
+See Organisation Assurance Policy.
+</p>
+
+
+<h4><a name="p3.2.6" id="p3.2.6">3.2.6. Criteria for interoperation</a></h4>
+
+<p>
+CAcert does not currently issue certificates to subordinate CAs
+or other PKIs.
+Other CAs may become Members, and are then subject to the
+same reliance provisions as all Members.
+</p>
+
+<h3><a name="p3.3" id="p3.3">3.3. Re-key Requests</a></h3>
+
+<p>
+Via the Member's account.
+</p>
+
+<h3><a name="p3.4" id="p3.4">3.4. Revocations Requests</a></h3>
+
+<p>
+Via the Member's account.
+In the event that the Member has lost the password,
+or similar, the Member emails the support team who
+either work through the lost-password questions
+process or file a dispute.
+</p>
+
+
+
+<!-- *************************************************************** -->
+<h2><a name="p4" id="p4">4. CERTIFICATE LIFE-CYCLE OPERATIONAL REQUIREMENTS</a></h2>
+
+<p>
+The general life-cycle for a new certificate for an Individual Member is:
+
+<ol><li>
+    Member adds claim to an address (domain/email).
+  </li><li>
+    System probes address for control.
+  </li><li>
+    Member creates key pair.
+  </li><li>
+    Member submits CSR with desired options (Anonymous Certificate, SSO, Root Certificate) .
+  </li><li>
+    System validates and accepts CSR based on
+    known information:  claims, assurance, controls, technicalities.
+  </li><li>
+    System signs certificate.
+  </li><li>
+    System makes signed certificate available to Member.
+  </li><li>
+    Member accepts certificate.
+</li></ol>
+    
+</p>
+
+<p>
+(Some steps are not applicable, such as anonymous certificates.)
+</p>
+
+
+<h3><a name="p4.1" id="p4.1">4.1. Certificate Application</a></h3>
+
+<h4><a name="p4.1.1" id="p4.1.1">4.1.1. Who can submit a certificate application</a></h4>
+
+<p>
+Members may submit certificate applications.
+On issuance of certificates, Members become Subscribers.
+</p>
+
+<h4><a name="p4.1.2" id="p4.1.2">4.1.2. Adding Addresses</a></h4>
+
+<p>
+The Member can claim ownership or authorised control of
+a domain or email address on the online system.
+This is a necessary step towards issuing a certificate.
+There are these controls:
+<ul><li>
+    The claim of ownership or control is legally significant
+    and may be referred to dispute resolution.
+  </li><li>
+    Each unique address can be handled by one account only.
+  </li><li>
+    When the Member makes the claim,
+    the certificate application system automatically initiates the
+    check of control, as below.
+</li></ul>
+</p>
+
+<h4><a name="p4.1.3" id="p4.1.3">4.1.3. Preparing CSR </a></h4>
+
+<p>
+Members generate their own key-pairs.
+The CAcert Community Agreement
+(<a href="http://www.cacert.org/policy/CAcertCommunityAgreement.php">COD9</a>)
+obliges the Member as responsible for security.
+See CCA2.5, &sect;9.6.
+</p>
+
+<p>
+The Certificate Signing Request (CSR) is prepared by the
+Member for presentation to the automated system.
+</p>
+
+<h3><a name="p4.2" id="p4.2">4.2. Certificate application processing</a></h3>
+
+<!-- states what a CA does on receipt of the request -->
+
+<p>
+The CA's certificate application process is completely automated.
+Requests, approvals and rejections are handled by the website system.
+Each application should be processed in less than a minute.
+</p>
+<p>
+Where certificates are requested for more than one
+purpose, the requirements for each purpose must be
+fulfilled.
+</p>
+
+<!-- all sub headings in 4.2 are local, not from Chokhani. -->
+
+<h4><a name="p4.2.1" id="p4.2.1">4.2.1. Authentication </a></h4>
+
+<p>
+  The Member logs in to her account on the CAcert website
+      and thereby authenticates herself with username
+      and passphrase or with her CAcert client-side digital certificate.
+</p>
+
+<h4><a name="p4.2.2" id="p4.2.2">4.2.2. Verifying Control</a></h4>
+
+<p>
+In principle, at least two controls are placed on each address.
+</p>
+
+<p>
+<b><a name="ping">Email-Ping</a>.</b>
+Email addresses are verified by means of an
+<i><a name="ping">Email-Ping test</a></i>:
+</p>
+
+<ul><li>
+      The system generates a cookie
+      (a random, hard-to-guess code)
+      and formats it as a string.
+  </li><li>
+      The system sends the cookie
+      to the Member in an email.
+  </li><li>
+      Once the Member receives the email,
+      she enters the cookie into the website.
+  </li><li>
+      The entry of the code verifies
+      control of that email account.
+</li></ul>
+
+<p>
+<b><a name="email">Email Control</a>.</b>
+Email addresses for client certificates are verified by passing the
+following checks:
+</p>
+<ol>
+  <li>An Email-ping test
+      is done on the email address.
+      </li>
+  <li>The Member must have signed a CAP form or equivalent,
+      and been awarded at least one Assurance point.
+      </li>
+</ol>
+
+<p>
+<b><a name="domain">Domain Control</a>.</b>
+Domains addresses for server certificates are verified by passing two of the
+following checks:
+</p>
+<ol> <li>
+      An Email-ping test
+      is done on an email address chosen from <i>whois</i>
+      or interpolated from the domain name.
+  </li> <li>
+      The system generates a cookie
+      which is then placed in DNS
+      by the Member.
+  </li> <li>
+      The system generates a cookie
+      which is then placed in HTTP headers or a text file on the website
+      by the Member.
+  </li> <li>
+      Statement by at least 2 Assurers about
+      ownership/control of the domain name.
+  </li> <li>
+      The system generates a cookie
+      which is then placed in whois registry information
+      by the Member.
+</li> </ol>
+
+<p>
+Notes.
+<ul><li>
+    Other methods can be added from time to time by CAcert.
+  </li><li>
+    Static cookies should remain for the duration of a certificate
+    for occasional re-testing.
+  </li><li>
+    Dynamic tests can be repeated at a later time of CAcert's choosing.
+  </li><li>
+    Domain control checks may be extended to apply to email control
+    in the future.
+</li></ul>
+</p>
+
+  <ul class="q">
+    <li> As of the time of writing, only a singular Email-ping is implemented in the technical system. </li>
+    <li> A further approved check is the 1 pt Assurance. </li>
+    <li> Practically, this would mean that certificates can only be issued under Audit Roots to Members with 1 point. </li>
+    <li> Criteria DRC C.7.f, A.2.q, A.2.i indicate registry whois reading. Also A.2.h. </li>
+    <li> Current view is that this will be resolved in BirdShack. </li>
+  </ul>
+
+<h4><a name="p4.2.3" id="p4.2.3">4.2.3. Options Available</a></h4>
+
+<p>
+The Member has options available:
+</p>
+
+<ul>
+  <li>Each Email address that is verified
+      is available for Client Certificates.
+      </li>
+  <li>Each Domain address that is verified
+      is available for Server Certificates.
+      </li>
+  <li>If the Member is unassured then only the Member SubRoot is available.
+      </li>
+  <li>If the Member is Assured then both Assured Member and Member SubRoots
+      are available.
+      </li>
+  <li>If a Name is Assured then it may be
+      put in a client certificate or an OpenPGP signature.
+      </li>
+</ul>
+
+<h4><a name="p4.2.4" id="p4.2.4">4.2.4. Client Certificate Procedures</a></h4>
+
+<p>
+For an individual client certificate, the following is required.
+<ul>
+  <li>The email address is claimed and added. </li>
+  <li>The email address is ping-tested. </li>
+  <li>For the Member Subroot, the Member must have
+      at least one point of Assurance and have signed a CAP form.</li>
+  <li>For the Assured Subroot, the Member must have
+      at least fifty points of Assurance. </li>
+  <li>To include a Name, the Name must be assured to at least fifty points. </li>
+
+</ul>
+</p>
+
+<h4><a name="p4.2.5" id="p4.2.5">4.2.5. Server Certificate Procedures</a></h4>
+
+<p>
+For a server certificate, the following is required:
+<ul>
+  <li>The domain is claimed and added. </li>
+  <li>The domain is checked twice as above. </li>
+  <li>For the Member SubRoot, the Member must have
+      at least one point of Assurance and have signed a CAP form.</li>
+  <li>For the Assured SubRoot, the Member must have
+      at least fifty points of Assurance. </li>
+</ul>
+
+</p>
+
+<h4><a name="p4.2.6" id="p4.2.6">4.2.6. Code-signing Certificate Procedures</a></h4>
+
+<p>
+Code-signing certificates are made available to Assurers only.
+They are processed in a similar manner to client certificates.
+</p>
+
+<h4><a name="p4.2.7" id="p4.2.7">4.2.7. Organisation Domain Verification</a></h4>
+
+<p>
+Organisation Domains are handled under the Organisation Assurance Policy
+and the Organisation Handbook.
+</p>
+
+  <ul class="q">
+     <li> As of time of writing, there is no Handbook for Organisation Assurers or for the Organisation, and the policy needs rework; so (audit) roots will not have OA certs ....  </li>
+     <li> <a href="http://wiki.cacert.org/wiki/PolicyDrafts/OrganisationAssurance"> Drafts </a> for ongoing story. </li>
+  </ul>
+
+<h3><a name="p4.3" id="p4.3">4.3. Certificate issuance</a></h3>
+
+
+<!-- <a href="http://xkcd.com/153/"> <img align="right" src="http://imgs.xkcd.com/comics/cryptography.png"> </a> -->
+<h4><a name="p4.3.1" id="p4.3.1">4.3.1. CA actions during certificate issuance</a></h4>
+
+<p>
+<b>Key Sizes.</b>
+Members may request keys of any size permitted by the key algorithm.
+Many older hardware devices require small keys.
+</p>
+
+<p>
+<b>Algorithms.</b>
+CAcert currently only supports the RSA algorithm for X.509 keys.
+X.509 signing uses the SHA-1 message digest algorithm.
+OpenPGP Signing uses RSA signing over RSA and DSA keys.
+
+</p>
+
+<p>
+<b>Process for Certificates:</b>
+All details in each certificate are verified
+by the website issuance system.
+Issuance is based on a 'template' system that selects
+profiles for certificate lifetime, size, algorithm.
+</p>
+
+
+<ol><li>
+   The CSR is verified.
+  </li><li>
+   Data is extracted from CSR and verified:
+    <ul>
+      <li> Name &sect;3.1, </li>
+      <li> Email address <a href="#p4.2.2">&sect;4.2.2</a>, </li>
+      <li> Domain address <a href="#p4.2.2">&sect;4.2.2</a>. </li>
+    </ul>
+  </li><li>
+   Certificate is generated from template.
+  </li><li>
+   Data is copied from CSR.
+  </li><li>
+   Certificate is signed.
+  </li><li>
+   Certificate is stored as well as mailed.
+</li></ol>
+
+
+<p>
+<b>Process for OpenPGP key signatures:</b>
+All details in each Sub-ID are verified
+by the website issuance system.
+Issuance is based on the configuration that selects
+the profile for signature lifetime, size,
+algorithm following the process:
+</p>
+
+<ol><li>
+   The public key is verified.
+  </li><li>
+   Data is extracted from the key and verified (Name, Emails).
+   Only the combinations of data in Table 4.3.1 are permitted.
+  </li><li>
+   OpenPGP Key Signature is generated.
+  </li><li>
+   Key Signature is applied to the key.
+  </li><li>
+   The signed key is stored as well as mailed.
+</li></ol>
+
+<center>
+<table border="1" align="center" valign="top" cellpadding="5"><tbody>
+  <tr>
+    <td><br></td>
+    <td>Verified Name</td>
+    <td valign="top">Unverified Name<br></td>
+    <td>Empty Name<br></td>
+  </tr>
+  <tr>
+    <td>Verified email<br></td>
+    <td><center> <font title="pass." color="green" size="+3"> &#10004; </font>  </center></td>
+    <td valign="top"><center> <font title="pass." color="red" size="+3"> &#10008; </font> </center></td>
+    <td><center> <font title="pass." color="green" size="+3"> &#10004; </font>  </center></td>
+  </tr>
+  <tr>
+    <td>Unverified email</td>
+    <td><center> <font title="pass." color="red" size="+3"> &#10008; </font> </center></td>
+    <td valign="top"><center> <font title="pass." color="red" size="+3"> &#10008; </font> </center></td>
+    <td><center> <font title="pass." color="red" size="+3"> &#10008; </font> </center></td></tr><tr><td valign="top">Empty email<br></td>
+    <td valign="top"><center> <font title="pass." color="green" size="+3"> &#10004; </font>  </center></td>
+    <td valign="top"><center> <font title="pass." color="red" size="+3"> &#10008; </font> </center></td>
+    <td valign="top"><center> <font title="pass." color="red" size="+3"> &#10008; </font> </center></td>
+  </tr>
+</tbody></table><br>
+
+<span class="figure">Table 4.3.1.  Permitted Data in Signed OpenPgp Keys</span>
+</center>
+
+<h4><a name="p4.3.2" id="p4.3.2">4.3.2. Notification to subscriber by the CA of issuance of certificate</a></h4>
+
+<p>
+Once signed, the certificate is
+made available via the Member's account,
+and emailed to the Member.
+It is also archived internally.
+</p>
+
+<h3><a name="p4.4" id="p4.4">4.4. Certificate acceptance</a></h3>
+
+<h4><a name="p4.4.1" id="p4.4.1">4.4.1. Conduct constituting certificate acceptance</a></h4>
+
+<p>
+There is no need for the Member to explicitly accept the certificate.
+In case the Member does not accept the certificate,
+the certificate has to be revoked and made again.
+</p>
+
+<h4><a name="p4.4.2" id="p4.4.2">4.4.2. Publication of the certificate by the CA</a></h4>
+
+<p>
+CAcert does not currently publish the issued certificates
+in any repository.
+In the event that CAcert will run a repository,
+the publication of certificates and signatures
+there will be at the Member's options.
+However note that certificates that are issued
+and delivered to the Member are presumed to be
+published.  See &sect;2.2.
+</p>
+
+<h4><a name="p4.4.3" id="p4.4.3">4.4.3. Notification of certificate issuance by the CA to other entities</a></h4>
+
+<p>
+There are no external entities that are notified about issued certificates.
+</p>
+
+<h3><a name="p4.5" id="p4.5">4.5. Key pair and certificate usage</a></h3>
+
+<p>
+All Members (subscribers and relying parties)
+are obliged according to the
+CAcert Community Agreement
+(<a href="http://www.cacert.org/policy/CAcertCommunityAgreement.php">COD9</a>)
+See especially 2.3 through 2.5.
+</p>
+<h4><a name="p4.5.1" id="p4.5.1">4.5.1. Subscriber Usage and Responsibilities</a></h4>
+
+<p>
+Subscribers should use keys only for their proper purpose,
+as indicated by the certificate, or by wider agreement with
+others.
+</p>
+
+<h4><a name="p4.5.2" id="p4.5.2">4.5.2. Relying Party Usage and Responsibilities</a></h4>
+
+
+<p>
+Relying parties (Members) may rely on the following.
+</p>
+
+<center>
+  <table border="1" cellpadding="25"><tr><td>
+  <p align="center">
+  <big><b>Relying Party Statement</b></big>
+  <p>
+  Certificates are issued to Members only.<br><br>
+  All information in a certificate is verified.
+  </p>
+  </td></tr></table>
+</center>
+
+
+<p>
+The following notes are in addition to the Relying Party Statement,
+and can be seen as limitations on it.
+</p>
+
+<h5>4.5.2.a Methods of Verification </h5>
+<p>
+The term Verification as used in the Relying Party Statement means one of
+</p>
+<table border="1" cellpadding="5"><tr>
+  <th>Type</th><th>How</th><th>Authority</th><th>remarks</th>
+</tr><tr>
+  <th>Assurance</th><td>under CAcert Assurance Programme (CAP)</td>
+    <td>Assurance Policy</td>
+    <td>only information assured to 50 points under CAP is placed in the certificate </td>
+</tr><tr>
+  <th>Evaluation</th><td>under automated domain and email checks </td>
+    <td>this CPS</td>
+    <td>see &sect;4.2.2</td>
+</tr><tr>
+  <th>Controlled</th><td>programs or "profiles" that check the information within the CSR </td>
+    <td>this CPS</td>
+    <td>see &sect;7.1</td>
+</tr></table>
+
+<h5>4.5.2.b Who may rely</h5>
+<p>
+<b>Members may rely.</b>
+Relying parties are Members,
+and as such are bound by this CPS and the
+CAcert Community Agreement
+(<a href="http://www.cacert.org/policy/CAcertCommunityAgreement.php">COD9</a>).
+The licence and permission to rely is not assignable.
+</p>
+
+<p>
+<b>Suppliers of Software.</b>
+CAcert roots may be distributed in software,
+and those providers may
+enter into agreement with CAcert by means of the
+Third Party Vendor - Disclaimer and Licence
+(wip).
+This licence brings the supplier in to the Community
+to the extent that <span class="q"> ...WIP comment:</span>
+they agree to dispute resolution
+within CAcert's forum.
+</p>
+
+  <ul class="q">
+    <li> Just exactly what the 3PV-DaL says is unclear.</li>
+    <li> The document itself is more a collection of ideas.</li>
+  </ul>
+
+
+<p>
+<b>NRPs may not rely.</b>
+If not related to CAcert by means of an agreement
+that binds the parties to dispute resolution within CAcert's forum,
+a person is a Non-Related-Person (NRP).
+An NRP is not permitted to rely and is not a Relying Party.
+For more details, see the
+NRP - Disclaimer and Licence (<a href="http://www.cacert.org/policy/NRPDisclaimerAndLicence.php">COD4</a>).
+</p>
+
+<h5>4.5.2.c The Act of Reliance </h5>
+
+<p>
+<b>Decision making.</b>
+Reliance means taking a decision that is in part or in whole
+based on the information in the certificate.
+
+A Relying Party may incorporate
+the information in the certificate,
+and the implied information such as Membership,
+into her decision-making.
+In making a decision,
+a Relying Party should also:
+</p>
+
+<ul><li>
+    include her own overall risk equation,
+  </li><li>
+    include the general limitations of the Assurance process,
+    certificates, and wider security considerations,
+  </li><li>
+    make additional checks to provide more information,
+  </li><li>
+    consider any wider agreement with the other Member, and
+  </li><li>
+    use an appropriate protocol or custom of reliance (below).
+</li></ul>
+
+<p>
+<b>Examining the Certificate.</b>
+A Relying Party must make her own decision in using
+each certificate.  She must examine the certificate,
+a process called <i>validation</i>.
+Certificate-related information includes,
+but is not limited to:
+</p> 
+<ul><li>
+    Name,
+  </li><li>
+    expiry time of certificate,
+  </li><li>
+    current certificate revocation list (CRL),
+  </li><li>
+    certificate chain and
+    the validity check of the certificates in the chain,
+  </li><li>
+    issuer of certificate (CAcert),
+  </li><li>
+    SubRoot is intended for reliance (Assured, Organisation and Class 3)
+  </li><li>
+    purpose of certificate.
+</li></ul>
+
+<p>
+<b>Keeping Records.</b>
+Records should be kept, appropriate to the import of the decision.
+The certificate should be preserved.
+This should include sufficient
+evidence to establish who the parties are
+(especially, the certificate relied upon),
+to establish the transaction in question,
+and to establish the wider agreement that
+defines the act.
+</p>
+
+<p>
+<b>Wider Protocol.</b>
+In principle, reliance will be part of a wider protocol
+(customary method in reaching and preserving agreement)
+that presents and preserves sufficient of the evidence
+for dispute resolution under CAcert's forum of Arbitration.
+The protocol should be agreed amongst the parties,
+and tuned to the needs.
+This CPS does not define any such protocol.
+In the absence of such a protocol, reliance will be weakened;
+a dispute without sufficient evidence may be dismissed by an Arbitrator.
+</p>
+
+<p>
+<b>As Compared to Usage</b>.
+Reliance goes beyond Usage.  The latter is limited to
+letting the software act as the total and only Validation
+Authority.  When relying, the Member also augments
+the algorithmic processing of the software with her own
+checks of the business, technical and certificate aspect.
+</p>
+
+<h5>4.5.2.d Risks and Limitations of Reliance </h5>
+<p>
+<b>Roots and Naming.</b>
+Where the Class 1 root is used,
+this Subscriber may be a new Member
+including one with zero points.
+Where the Name is not provided,
+this indicates it is not available.
+In these circumstances,
+reliance is not defined,
+and Relying parties should take more care.
+See Table 4.5.2.
+</p>
+
+<center>
+<table border="1" cellpadding="5">
+ <tr>
+  <td></td>
+  <td colspan="4"><center><i>Statements of Reliance for Members</center></i></td>
+ </tr>
+ <tr>
+  <td><i>Class of Root</i></td>
+  <td><center><b>Anonymous</b><br>(all Members)</center></td>
+  <td><center><b>Named</b><br>(Assured Members only)</center></td>
+ </tr>
+ <tr>
+  <td><center>Class<br><big><b>1</b></big></center></td>
+  <td rowspan="2" bgcolor="red">
+       <b>Do not rely.</b><BR>
+       Relying party must use other methods to check. </td>
+  <td rowspan="2" bgcolor="orange">
+       Do not rely.
+       Although the named Member has been Assured by CAcert,
+       reliance is not defined with Class 1 root.<BR>
+       (issued for compatibility only).</td>
+ </tr>
+ <tr>
+  <td><center><big><b>Member</b></big><br>SubRoot</center></td>
+ </tr>
+ <tr>
+  <td><center>Class<br><big><b>3</b></big></center></td>
+  <td rowspan="2" bgcolor="orange">
+       Do not rely on the Name (being available).
+       The Member has been Assured by CAcert,
+       but reliance is undefined.</td>
+  <td rowspan="2">
+       The Member named in the certificate has been Assured by CAcert.</td>
+ </tr>
+ <tr>
+  <td><center><big><b>Assured</b></big><br>SubRoot</center></td>
+ </tr>
+</table>
+
+<span class="figure">Table 4.5.2.  Statements of Reliance</span>
+</center>
+
+<p>
+<b>Software Agent.</b>
+When relying on a certificate, relying parties should
+note that your software is responsible for the way it
+shows you the information in a certificate.
+If your software agent hides parts of the information,
+your sole remedy may be to choose another software agent.
+</p>
+
+<p>
+<b>Malware.</b>
+When relying on a certificate, relying parties should
+note that platforms that are vulnerable to viruses or
+trojans or other weaknesses may not process any certificates
+properly and may give deceptive or fraudulent results.
+It is your responsibility to ensure you are using a platform
+that is secured according to the needs of the application.
+</p>
+
+<h5>4.5.2.e When something goes wrong </h5>
+<p>
+In the event that an issue arises out of the Member's reliance,
+her sole avenue is <b>to file dispute under DRP</b>.
+See <a href="#p9.13">&sect;9.13</a>.
+<!-- DRC_A&sect;A.4.d -->
+For this purpose, the certificate (and other evidence) should be preserved.
+</p>
+
+<p>
+<b>Which person?</b>
+Members may install certificates for other individuals or in servers,
+but the Member to whom the certificate is issued
+remains the responsible person.
+E.g., under Organisation Assurance, an organisation is issued
+a certificate for the use by individuals
+or servers within that organisation,
+but the Organisation is the responsible person.
+</p>
+
+<!-- <a href="http://xkcd.com/424/"> <img align="right" src="http://imgs.xkcd.com/comics/security_holes.png"> </a>  -->
+<p>
+<b>Software Agent.</b>
+If a Member is relying on a CAcert root embedded in
+the software as supplied by a vendor,
+the risks, liabilities and obligations of the Member
+do not automatically transfer to the vendor.
+</p>
+
+<h3><a name="p4.6" id="p4.6">4.6. Certificate renewal</a></h3>
+
+<p>
+A certificate can be renewed at any time.
+The procedure of certificate renewal is the same
+as for the initial certificate issuance.
+</p>
+
+<h3><a name="p4.7" id="p4.7">4.7. Certificate re-key</a></h3>
+
+<p>
+Certificate "re-keyings" are not offered nor supported.
+A new certificate with a new key has to be requested and issued instead,
+and the old one revoked.
+</p>
+
+<h3><a name="p4.8" id="p4.8">4.8. Certificate modification</a></h3>
+
+<p>
+Certificate "modifications" are not offered nor supported.
+A new certificate has to be requested and issued instead.
+</p>
+
+<h3><a name="p4.9" id="p4.9">4.9. Certificate revocation and suspension</a></h3>
+
+<h4><a name="p4.9.1" id="p4.9.1">4.9.1. Circumstances for revocation</a></h4>
+<p>
+Certificates may be revoked under the following circumstances:
+</p>
+
+<ol><li>
+    As initiated by the Subscriber through her online account.
+  </li><li>
+    As initiated in an emergency action by a
+    support team member.
+    Such action will immediately be referred to dispute resolution
+    for ratification.
+  </li><li>
+    Under direction from the Arbitrator in a duly ordered ruling
+    from a filed dispute.
+</li></ol>
+
+<p>
+These are the only three circumstances under which a
+revocation occurs.
+</p>
+
+<h4><a name="p4.9.2" id="p4.9.2">4.9.2. Who can request revocation</a></h4>
+
+<p>
+As above.
+</p>
+
+<h4><a name="p4.9.3" id="p4.9.3">4.9.3. Procedure for revocation request</a></h4>
+<p>
+The Subscriber logs in to her online account through
+the website at http://www.cacert.org/ .
+</p>
+
+<p>
+In any other event such as lost passwords or fraud,
+a dispute should be filed
+by email at
+    &lt; support AT cacert DOT org &gt;
+</p>
+
+<h4><a name="p4.9.4" id="p4.9.4">4.9.4. Revocation request grace period</a></h4>
+
+<p>No stipulation.</p>
+
+<h4><a name="p4.9.5" id="p4.9.5">4.9.5. Time within which CA must process the revocation request</a></h4>
+
+<p>
+The revocation automated in the Web Interface for subscribers,
+and is handled generally in less than a minute.
+</p>
+
+<p>
+A filed dispute that requests a revocation should be handled
+within a five business days, however the Arbitrator has discretion.
+</p>
+
+<h4><a name="p4.9.6" id="p4.9.6">4.9.6. Revocation checking requirement for relying parties</a></h4>
+
+<p>
+Each revoked certificate is recorded in the
+certificate revocation list (CRL).
+Relying Parties must check a certificate against
+the most recent CRL issued, in order to validate
+the certificate for the intended reliance.
+</p>
+
+<h4><a name="p4.9.7" id="p4.9.7">4.9.7. CRL issuance frequency (if applicable)</a></h4>
+
+<p>
+A new CRL is issued after every certificate revocation.
+</p>
+
+<h4><a name="p4.9.8" id="p4.9.8">4.9.8. Maximum latency for CRLs (if applicable)</a></h4>
+
+<p>
+The maximum latency between revocation and issuance of the CRL is 1 hour.
+</p>
+
+<h4><a name="p4.9.9" id="p4.9.9">4.9.9. On-line revocation/status checking availability</a></h4>
+
+<p>
+OCSP is available at
+http://ocsp.cacert.org/ .
+</p>
+
+<h4><a name="p4.9.10" id="p4.9.10">4.9.10. On-line revocation checking requirements</a></h4>
+<p>
+Relying parties must check up-to-date status before relying.
+</p>
+
+<h4><a name="p4.9.11" id="p4.9.11">4.9.11. Other forms of revocation advertisements available</a></h4>
+<p>
+None.
+</p>
+
+<h4><a name="p4.9.12" id="p4.9.12">4.9.12. Special requirements re key compromise</a></h4>
+<p>
+Subscribers are obliged to revoke certificates at the earliest opportunity.
+</p>
+
+<h4><a name="p4.9.13" id="p4.9.13">4.9.13. Circumstances for suspension</a></h4>
+
+<p>
+Suspension of certificates is not available.
+</p>
+
+<h4><a name="p4.9.14" id="p4.9.14">4.9.14. Who can request suspension</a></h4>
+<p>
+Not applicable.
+</p>
+
+<h4><a name="p4.9.15" id="p4.9.15">4.9.15. Procedure for suspension request</a></h4>
+<p>
+Not applicable.
+</p>
+
+<h4><a name="p4.9.16" id="p4.9.16">4.9.16. Limits on suspension period</a></h4>
+<p>
+Not applicable.
+</p>
+
+
+
+<h3><a name="p4.10" id="p4.10">4.10. Certificate status services</a></h3>
+
+<h4><a name="p4.10.1" id="p4.10.1">4.10.1. Operational characteristics</a></h4>
+<p>
+OCSP is available
+at http://ocsp.cacert.org/ .
+</p>
+
+<h4><a name="p4.10.2" id="p4.10.2">4.10.2. Service availability</a></h4>
+
+<p>
+OCSP is made available on an experimental basis.
+</p>
+
+<h4><a name="p4.10.3" id="p4.10.3">4.10.3. Optional features</a></h4>
+
+<p>
+No stipulation.
+</p>
+
+<h3><a name="p4.11" id="p4.11">4.11. End of subscription</a></h3>
+
+<p>
+Certificates include expiry dates.
+</p>
+
+<h3><a name="p4.12" id="p4.12">4.12. Key escrow and recovery</a></h3>
+
+<h4><a name="p4.12.1" id="p4.12.1">4.12.1. Key escrow and recovery policy and practices</a></h4>
+
+<p>
+CAcert does not generate nor escrow subscriber keys.
+</p>
+
+<h4><a name="p4.12.2" id="p4.12.2">4.12.2. Session key encapsulation and recovery policy and practices</a></h4>
+
+<p>
+No stipulation.
+</p>
+
+
+
+<!-- *************************************************************** -->
+<h2><a name="p5" id="p5">5. FACILITY, MANAGEMENT, AND OPERATIONAL CONTROLS</a></h2>
+
+<!-- <a href="http://xkcd.com/87/"> <img align="right" src="http://imgs.xkcd.com/comics/velociraptors.jpg"> </a>  -->
+
+<h3><a name="p5.1" id="p5.1">5.1. Physical controls</a></h3>
+
+<p>
+Refer to Security Policy (<a href="http://svn.cacert.org/CAcert/Policies/SecurityPolicy.html">COD8</a>)
+<ul><li>
+    Site location and construction - SP2.1
+  </li><li>
+    Physical access - SP2.3
+</li></ul>
+</p>
+
+
+<h4><a name="p5.1.3" id="p5.1.3">5.1.3. Power and air conditioning</a></h4>
+<p>
+Refer to Security Policy 2.1.2 (<a href="http://svn.cacert.org/CAcert/Policies/SecurityPolicy.html">COD8</a>)
+</p>
+<h4><a name="p5.1.4" id="p5.1.4">5.1.4. Water exposures</a></h4>
+<p>
+Refer to Security Policy 2.1.4 (<a href="http://svn.cacert.org/CAcert/Policies/SecurityPolicy.html">COD8</a>)
+</p>
+<h4><a name="p5.1.5" id="p5.1.5">5.1.5. Fire prevention and protection</a></h4>
+<p>
+Refer to Security Policy 2.1.4 (<a href="http://svn.cacert.org/CAcert/Policies/SecurityPolicy.html">COD8</a>)
+</p>
+<h4><a name="p5.1.6" id="p5.1.6">5.1.6. Media storage</a></h4>
+<p>
+Refer to Security Policy 4.3 (<a href="http://svn.cacert.org/CAcert/Policies/SecurityPolicy.html">COD8</a>)
+</p>
+<h4><a name="p5.1.7" id="p5.1.7">5.1.7. Waste disposal</a></h4>
+<p>
+No stipulation.
+</p>
+<h4><a name="p5.1.8" id="p5.1.8">5.1.8. Off-site backup</a></h4>
+<p>
+Refer to Security Policy 4.3 (<a href="http://svn.cacert.org/CAcert/Policies/SecurityPolicy.html">COD8</a>)
+</p>
+
+<h3><a name="p5.2" id="p5.2">5.2. Procedural controls</a></h3>
+
+<h4><a name="p5.2.1" id="p5.2.1">5.2.1. Trusted roles</a></h4>
+
+<ul>
+   <li><b> Technical teams:</b>
+   <ul>
+       <li>User support personnel</li>
+       <li>Systems Administrators -- critical and non-critical</li>
+       <li>Softare Developers</li>
+       <li>controllers of keys</li>
+   </ul>
+   Refer to Security Policy 9.1 (<a href="http://svn.cacert.org/CAcert/Policies/SecurityPolicy.html">COD8</a>)
+   
+   </li>
+
+   <li><b>Assurance:</b>
+   <ul>
+       <li>Assurers</li>
+       <li> Any others authorised under COD13  </li>
+   </ul>
+   Refer to Assurance Policy (<a href="http://www.cacert.org/policy/AssurancePolicy.php">COD13</a>)
+   </li>
+
+   <li><b>Governance:</b>
+   <ul>
+       <li>Directors (members of the CAcert Inc. committee, or "Board") </li>
+       <li>Internal Auditor</li>
+       <li>Arbitrator</li>
+   </ul>
+   </li>
+</ul>
+
+
+<h4><a name="p5.2.2" id="p5.2.2">5.2.2. Number of persons required per task</a></h4>
+<p>
+CAcert operates to the principles of <i>four eyes</i> and <i>dual control</i>.
+All important roles require a minimum of two persons.
+The people may be tasked to operate
+with an additional person observing (<i>four eyes</i>),
+or with two persons controlling (<i>dual control</i>).
+</p>
+
+<h4><a name="p5.2.3" id="p5.2.3">5.2.3. Identification and authentication for each role</a></h4>
+
+<p>
+All important roles are generally required to be assured
+at least to the level of Assurer, as per AP.
+Refer to Assurance Policy (<a href="http://www.cacert.org/policy/AssurancePolicy.php">COD13</a>).
+</p>
+
+<p>
+<b>Technical.</b>
+Refer to Security Policy 9.1 (<a href="http://svn.cacert.org/CAcert/Policies/SecurityPolicy.html">COD8</a>).
+</p>
+
+<h4><a name="p5.2.4" id="p5.2.4">5.2.4. Roles requiring separation of duties</a></h4>
+
+<p>
+Roles strive in general for separation of duties, either along the lines of
+<i>four eyes principle</i> or <i>dual control</i>.
+</p>
+
+<h3><a name="p5.3" id="p5.3">5.3. Personnel controls</a></h3>
+
+<h4><a name="p5.3.1" id="p5.3.1">5.3.1. Qualifications, experience, and clearance requirements</a></h4>
+
+<center>
+<table border="1" cellpadding="5">
+ <tr>
+  <td><b>Role</b></td> <td><b>Policy</b></td> <td><b>Comments</b></td>
+ </tr><tr>
+  <td>Assurer</td>
+  <td><a href="http://www.cacert.org/policy/AssurancePolicy.php"> COD13</td>
+  <td>
+    Passes Challenge, Assured to 100 points.
+  </td>
+ </tr><tr>
+  <td>Organisation Assurer</td>
+  <td><a href="http://www.cacert.org/policy/OrganisationAssurancePolicy.php">COD11</a></td>
+  <td>
+    Trained and tested by two supervising OAs.
+  </td>
+ </tr><tr>
+  <td>Technical</td>
+  <td>SM => COD08</td>
+  <td>
+    Teams responsible for testing.
+  </td>
+ </tr><tr>
+  <td>Arbitrator</td>
+  <td><a href="http://www.cacert.org/policy/DisputeResolutionPolicy.php">COD7</a></td>
+  <td>
+    Experienced Assurers.
+  </td>
+ </tr>
+</table>
+
+<span class="figure">Table 5.3.1.  Controls on Roles</span>
+</center>
+
+
+<h4><a name="p5.3.2" id="p5.3.2">5.3.2. Background check procedures</a></h4>
+
+<p>
+Refer to Security Policy 9.1.3 (<a href="http://svn.cacert.org/CAcert/Policies/SecurityPolicy.html">COD8</a>).
+</p>
+<!-- <a href="http://xkcd.com/538/"> <img align="right" src="http://imgs.xkcd.com/comics/security.png"> </a> -->
+
+<h4><a name="p5.3.3" id="p5.3.3">5.3.3. Training requirements</a></h4>
+<p>No stipulation.</p>
+<h4><a name="p5.3.4" id="p5.3.4">5.3.4. Retraining frequency and requirements</a></h4>
+<p>No stipulation.</p>
+
+<h4><a name="p5.3.5" id="p5.3.5">5.3.5. Job rotation frequency and sequence</a></h4>
+<p>No stipulation.</p>
+
+<h4><a name="p5.3.6" id="p5.3.6">5.3.6. Sanctions for unauthorized actions</a></h4>
+<p>
+Any actions that are questionable
+- whether uncertain or grossly negligent -
+may be filed as a dispute.
+The Arbitrator has wide discretion in
+ruling on loss of points, retraining,
+or termination of access or status.
+Refer to DRP.
+</p>
+
+<h4><a name="p5.3.7" id="p5.3.7">5.3.7. Independent contractor requirements</a></h4>
+<p>No stipulation.</p>
+
+<h4><a name="p5.3.8" id="p5.3.8">5.3.8. Documentation supplied to personnel</a></h4>
+<p>No stipulation.</p>
+
+<h3><a name="p5.4" id="p5.4">5.4. Audit logging procedures</a></h3>
+
+<p>
+Refer to Security Policy 4.2, 5 (<a href="http://svn.cacert.org/CAcert/Policies/SecurityPolicy.html">COD8</a>).
+</p>
+
+<h3><a name="p5.5" id="p5.5">5.5. Records archival</a></h3>
+<p>
+The standard retention period is 7 years.
+Once archived, records can only be obtained and verified
+by means of a filed dispute.
+Following types of records are archived:
+</p>
+
+<center>
+<table border="1" cellpadding="5">
+ <tr>
+  <td><b>Record</b></td>
+  <td><b>Nature</b></td>
+  <td><b>Exceptions</b></td>
+  <td><b>Documentation</b></td>
+ </tr>
+ <tr>
+  <td>Member</td>
+  <td>username, primary and added addresses, security questions, Date of Birth</td>
+  <td>resigned non-subscribers: 0 years.</td>
+  <td>Security Policy and Privacy Policy</td>
+ </tr>
+ <tr>
+  <td>Assurance</td>
+  <td>CAP forms</td>
+  <td>"at least 7 years."<br> as per subsidiary policies</td>
+  <td>Assurance Policy 4.5</td>
+ </tr>
+ <tr>
+  <td>Organisation Assurance</td>
+  <td>COAP forms</td>
+  <td>as per subsidiary policies</td>
+  <td>Organisation Assurance Policy</td>
+ </tr>
+ <tr>
+  <td>certificates and revocations</td>
+  <td>  for reliance </td>
+  <td> 7 years after termination </td>
+  <td>this CPS</td>
+ </tr>
+ <tr>
+  <td>critical roles</td>
+  <td>background check worksheets</td>
+  <td>under direct Arbitrator control</td>
+  <td>Security Policy 9.1.3</td>
+ </tr>
+</table>
+
+<span class="figure">Table 5.5.  Documents and Retention </span>
+</center>
+
+
+<h3><a name="p5.6" id="p5.6">5.6. Key changeover</a></h3>
+
+<p>
+Refer to Security Policy 9.2 (<a href="http://svn.cacert.org/CAcert/Policies/SecurityPolicy.html">COD8</a>).
+</p>
+
+<h3><a name="p5.7" id="p5.7">5.7. Compromise and disaster recovery</a></h3>
+
+<p>
+Refer to Security Policy 5, 6 (<a href="http://svn.cacert.org/CAcert/Policies/SecurityPolicy.html">COD8</a>).
+(Refer to <a href="#p1.4">&sect;1.4</a> for limitations to service.)
+</p>
+
+</p>
+
+<h3><a name="p5.8" id="p5.8">5.8. CA or RA termination</a></h3>
+
+<h4><a name="p5.8.1" id="p5.8.1">5.8.1 CA termination</a></h4>
+
+
+<p>
+<s>
+If CAcert should terminate its operation or be
+taken over by another organisation, the actions
+will be conducted according to a plan approved
+by the CAcert Inc. Board.
+</s>
+</p>
+
+<p>
+In the event of operational termination, the
+Roots (including SubRoots)
+and all private Member information will be secured.
+The Roots will be handed over to a responsible
+party for the sole purpose of issuing revocations.
+Member information will be securely destroyed.
+</p>
+
+<span class="change">
+<p>
+The CA cannot be transferrred to another organisation.
+</p>
+</span>
+
+<p>
+<s>
+In the event of takeover,
+the Board will decide if it is in the interest
+of the Members to be converted to the
+new organisation.
+Members will be notified about the conversion
+and transfer of the Member information.
+Such takeover, conversion or transfer may involve termination
+of this CPS and other documents.
+See &sect;9.10.2.
+Members will have reasonable time in which to file a related
+dispute after notification
+(at least one month).
+See &sect;9.13.
+</s>
+</p>
+<s>
+  <ul class="error">
+    <li> The ability to transfer is not given in any of CCA, PP or AP! </li>
+    <li> The Board does not have the power to terminate a policy, that is the role of policy group! </li>
+    <li> The right to transfer was against the principles of the CAcert? </li>
+    <li> Check Association Statutes.... </li>
+  </ul>
+</s>
+
+<span class="change">
+<s>
+<p>
+New root keys and certificates will be made available
+by the new organisation as soon as reasonably practical.
+</p>
+</s>
+</span>
+
+<h4><a name="p5.8.2" id="p5.8.2">5.8.2 RA termination</a></h4>
+
+<p>
+When an Assurer desires to voluntarily terminates
+her responsibilities, she does this by filing a dispute,
+and following the instructions of the Arbitrator.
+</p>
+
+<p>
+In the case of involuntary termination, the process is
+the same, save for some other party filing the dispute.
+</p>
+
+
+
+
+
+<!-- *************************************************************** -->
+<h2><a name="p6" id="p6">6. TECHNICAL SECURITY CONTROLS</a></h2>
+
+
+<!-- <a href="http://xkcd.com/221/"> <img align="right" src="http://imgs.xkcd.com/comics/random_number.png"> </a> -->
+
+<h3><a name="p6.1" id="p6.1">6.1. Key Pair Generation and Installation</a></h3>
+
+<h4><a name="p6.1.1" id="p6.1.1">6.1.1. Key Pair Generation</a></h4>
+
+<p>
+Subscribers generate their own Key Pairs.
+</p>
+
+<h4><a name="p6.1.2" id="p6.1.2">6.1.2. Subscriber Private key security</a></h4>
+
+<p>
+There is no technical stipulation on how Subscribers generate
+and keep safe their private keys,
+however, CCA 2.5 provides for general security obligations.
+See <a href="#p9.6">&sect;9.6</a>.
+</p>
+
+<h4><a name="p6.1.3" id="p6.1.3">6.1.3. Public Key Delivery to Certificate Issuer</a></h4>
+
+<p>
+Members login to their online account.
+Public Keys are delivered by cut-and-pasting
+them into the appropriate window.
+Public Keys are delivered in signed-CSR form
+for X.509 and in self-signed form for OpenPGP.
+</p>
+
+<h4><a name="p6.1.4" id="p6.1.4">6.1.4. CA Public Key delivery to Relying Parties</a></h4>
+
+<p>
+The CA root certificates are distributed by these means:
+</p>
+
+<ul><li>
+    Published on the website of CAcert,
+    in both HTTP and HTTPS.
+  </li><li>
+    Included in Third-Party Software such as
+    Browsers, Email-Clients.
+    Such suppliers are subject to the Third Party Vendor Agreement.
+</li></ul>
+
+<p class="q"> Third Party Vendor Agreement is early wip, only </p>
+
+<h4><a name="p6.1.5" id="p6.1.5">6.1.5. Key sizes</a></h4>
+
+<p>
+No limitation is placed on Subscriber key sizes.
+</p>
+
+<p>
+CAcert X.509 root and intermediate keys are currently 4096 bits.
+X.509 roots use RSA and sign with the SHA-1 message digest algorithm.
+See <a href="#p4.3.1">&sect;4.3.1</a>.
+</p>
+
+<p>
+OpenPGP Signing uses both RSA and DSA (1024 bits).
+</p>
+
+<p>
+CAcert adds larger keys and hashes
+in line with general cryptographic trends,
+and as supported by major software suppliers.
+</p>
+
+  <ul class="q">
+    <li> old Class 3 SubRoot is signed with MD5 </li>
+    <li> likely this will clash with future plans of vendors to drop acceptance of MD5</li>
+    <li> Is this a concern? </li>
+    <li> to users who have these certs, a lot? </li>
+    <li> to audit, not much? </li>
+  </ul>
+
+
+<h4><a name="p6.1.6" id="p6.1.6">6.1.6. Public key parameters generation and quality checking</a></h4>
+
+<p>
+No stipulation.
+</p>
+
+<h4><a name="p6.1.7" id="p6.1.7">6.1.7. Key Usage Purposes</a></h4>
+
+
+  <ul class="q">
+    <li> This section probably needs to detail the key usage bits in the certs. </li>
+  </ul>
+
+
+<p>
+CAcert roots are general purpose.
+Each root key may sign all of the general purposes
+- client, server, code.
+</p>
+
+<p>
+The website controls the usage purposes that may be signed.
+This is effected by means of the 'template' system.
+</p>
+
+
+
+<!-- <a href="http://xkcd.com/257/"> <img align="right" src="http://imgs.xkcd.com/comics/code_talkers.png"> </a> -->
+
+<h3><a name="p6.2" id="p6.2">6.2. Private Key Protection and Cryptographic Module Engineering Controls</a></h3>
+
+
+
+
+<h4><a name="p6.2.1" id="p6.2.1">6.2.1. Cryptographic module standards and controls</a></h4>
+
+<p>
+SubRoot keys are stored on a single machine which acts
+as a Cryptographic Module, or <i>signing server</i>.
+It operates a single daemon for signing only.
+The signing server has these security features:
+</p>
+
+<ul><li>
+    It is connected only by one
+    dedicated (serial USB) link
+    to the online account server.
+    It is not connected to the network,
+    nor to any internal LAN (ethernet),
+    nor to a console switch.
+  </li><li>
+    The protocol over the dedicated link is a custom, simple
+    request protocol that only handles certificate signing requests.
+  </li><li>
+    The daemon is designed not to reveal the key.
+  </li><li>
+    The daemon incorporates a dead-man switch that monitors
+    the one webserver machine that requests access.
+  </li><li>
+    The daemon shuts down if a bad request is detected.
+  </li><li>
+    The daemon resides on an encrypted partition.
+  </li><li>
+    The signing server can only be (re)started with direct
+    systems administration access.
+  </li><li>
+    Physical Access to the signing server is under dual control.
+</li></ul>
+
+<p>
+See &sect;5. and the Security Policy 9.3.1.
+</p>
+
+<p>
+(Hardware-based, commercial and standards-based cryptographic
+modules have been tried and tested, and similar have been tested,
+but have been found wanting, e.g., for short key lengths and
+power restrictions.)
+</p>
+
+<ol class="q"><li>
+    What document is responsible for architecture?  CPS?  SM?
+    <a href="http://www.cacert.org/help.php?id=7">website</a>?
+    SM punts it to CPS, so above stays.
+  </li><li>
+    There is no criteria on Architecture.
+  </li><li>
+    Old questions moved to SM.
+  </li><li>
+    See
+    <a href="http://www.cacert.org/help.php?id=7">
+    CAcert Root key protection</a> which should be deprecated by this CPS.
+</li></ol>
+
+
+<h3><a name="p6.3" id="p6.3">6.3. Other aspects of key pair management</a></h3>
+<h4><a name="p6.3.1" id="p6.3.1">6.3.1. Public key archival</a></h4>
+
+<p>
+Subscriber certificates, including public keys,
+are stored in the database backing the online system.
+They are not made available in a public- or subscriber-accessible
+archive, see &sect;2.
+They are backed-up by CAcert's normal backup procedure,
+but their availability is a subscriber responsibility.
+</p>
+
+<h4><a name="p6.3.2" id="p6.3.2">6.3.2. Certificate operational periods and key pair usage periods</a></h4>
+
+<p>
+The operational period of a certificate and its key pair
+depends on the Assurance status of the Member,
+see <a href="#p1.4.5">&sect;1.4.5</a> and Assurance Policy (<a href="http://www.cacert.org/policy/AssurancePolicy.php">COD13</a>).
+</p>
+
+<p>
+The CAcert (top-level) Root certificate
+has a 30 year expiry.
+SubRoots have 10 years, and are to be rolled over more quickly.
+The keysize of the root certificates are chosen
+in order to ensure an optimum security to CAcert
+Members based on current recommendations from the
+<a href="http://www.keylength.com/">cryptographic community</a>
+and maximum limits in generally available software.
+At time of writing this is 4096 bits.
+</p>
+
+<h3><a name="p6.4" id="p6.4">6.4. Activation data</a></h3>
+<p> No stipulation.  </p>
+
+<h3><a name="p6.5" id="p6.5">6.5. Computer security controls</a></h3>
+<p>
+Refer to Security Policy.
+</p>
+
+<h3><a name="p6.6" id="p6.6">6.6. Life cycle technical controls</a></h3>
+<p>
+Refer to SM7 "Software Development".
+</p>
+
+<h3><a name="p6.7" id="p6.7">6.7. Network security controls</a></h3>
+<p>
+Refer to SM3.1 "Logical Security - Network".
+</p>
+
+<h3><a name="p6.8" id="p6.8">6.8. Time-stamping</a></h3>
+<p>
+Each server synchronises with NTP.
+No "timestamping" service is currently offered.
+</p>
+
+  <ul class="q">
+    <li> How does the signing server syncronise if only connected over serial?</li>
+    <li>  How is timestamping done on records?</li>
+  </ul>
+
+
+
+
+<!-- *************************************************************** -->
+<h2><a name="p7" id="p7">7. CERTIFICATE, CRL, AND OCSP PROFILES</a></h2>
+
+<p>
+CAcert defines all the meanings, semantics and profiles
+applicable to issuance of certificates and signatures
+in its policies, handbooks and other documents.
+Meanings that may be written in external standards or documents
+or found in wider conventions are not
+incorporated, are not used by CAcert, and must not be implied
+by the Member or the Non-related Person.
+</p>
+
+<h3><a name="p7.1" id="p7.1">7.1. Certificate profile</a></h3>
+<h4><a name="p7.1.1" id="p7.1.1">7.1.1. Version number(s)</a></h4>
+<p class="q"> What versions of PGP are signed?  v3?  v4? </p>
+
+<p>
+Issued X.509 certificates are of v3 form.
+The form of the PGP signatures depends on several factors, therefore no stipulation.
+</p>
+
+<h4><a name="p7.1.2" id="p7.1.2">7.1.2. Certificate extensions</a></h4>
+
+<p>
+Client certificates include the following extensions:.
+</p>
+<ul><li>
+    basicConstraints=CA:FALSE (critical)
+  </li><li>
+    keyUsage=digitalSignature,keyEncipherment,cRLSign
+  </li><li>
+  </li><li>
+    extendedKeyUsage=emailProtection,clientAuth,serverAuth,msEFS,msSGC,nsSGC
+  </li><li>
+    authorityInfoAccess = OCSP;URI:http://ocsp.cacert.org
+  </li><li>
+    subjectAltName=(as per <a href="#p3.1.1">&sect;3.1.1.</a>).
+</li></ul>
+  <ul class="q">
+    <li> what about Client Certificates Adobe Signing extensions ?</li>
+    <li> SubjectAltName should become critical if DN is removed http://tools.ietf.org/html/rfc5280#section-4.2.1.6</li>
+  </ul>
+
+
+<p>
+Server certificates include the following extensions:
+</p>
+<ul><li>
+    basicConstraints=CA:FALSE (critical)
+  </li><li>
+    keyUsage=digitalSignature,keyEncipherment
+  </li><li>
+    extendedKeyUsage=clientAuth,serverAuth,nsSGC,msSGC
+  </li><li>
+    authorityInfoAccess = OCSP;URI:http://ocsp.cacert.org
+  </li><li>
+    subjectAltName=(as per <a href="#p3.1.1">&sect;3.1.1.</a>).
+</li></ul>
+
+<p>
+Code-Signing certificates include the following extensions:
+</p>
+
+<ul><li>
+    basicConstraints=CA:FALSE (critical)
+  </li><li>
+    keyUsage=digitalSignature,keyEncipherment
+  </li><li>
+    extendedKeyUsage=emailProtection,clientAuth,codeSigning,msCodeInd,msCodeCom,msEFS,msSGC,nsSGC
+  </li><li>
+    authorityInfoAccess = OCSP;URI:http://ocsp.cacert.org
+</li></ul>
+  <ul class="q">
+    <li> what about subjectAltName for Code-signing</li>
+  </ul>
+
+<p>
+OpenPGP key signatures currently do not include extensions.
+In the future, a serial number might be included as an extension.
+</p>
+
+
+<h4><a name="p7.1.3" id="p7.1.3">7.1.3. Algorithm object identifiers</a></h4>
+<p>
+No stipulation.
+</p>
+
+<h4><a name="p7.1.4" id="p7.1.4">7.1.4. Name forms</a></h4>
+<p>
+Refer to <a href="#p3.1.1">&sect;3.1.1</a>.
+</p>
+
+<h4><a name="p7.1.5" id="p7.1.5">7.1.5. Name constraints</a></h4>
+<p>
+Refer to <a href="#p3.1.1">&sect;3.1.1</a>.
+</p>
+
+<h4><a name="p7.1.6" id="p7.1.6">7.1.6. Certificate policy object identifier</a></h4>
+<p>
+The following OIDs are defined and should be incorporated
+into certificates:
+</p>
+
+<table border="1" cellpadding="5">
+ <tr>
+  <td>
+    OID
+  </td>
+  <td>
+    Type/Meaning
+  </td>
+  <td>
+    Comment
+  </td>
+ </tr>
+ <tr>
+  <td>
+    1.3.6.1.4.1.18506.4.4
+  </td>
+  <td>
+    Certification Practice Statement
+  </td>
+  <td>
+    (this present document)
+  </td>
+ </tr>
+</table>
+
+<p>
+Versions are defined by additional numbers appended such as .1.
+</p>
+
+<h4><a name="p7.1.7" id="p7.1.7">7.1.7. Usage of Policy Constraints extension</a></h4>
+<p>
+No stipulation.
+</p>
+
+<h4><a name="p7.1.8" id="p7.1.8">7.1.8. Policy qualifiers syntax and semantics</a></h4>
+<p>
+No stipulation.
+</p>
+
+<h4><a name="p7.1.9" id="p7.1.9">7.1.9. Processing semantics for the critical Certificate Policies extension</a></h4>
+<p>
+No stipulation.
+</p>
+
+
+<h3><a name="p7.2" id="p7.2">7.2. CRL profile</a></h3>
+<h4><a name="p7.2.1" id="p7.2.1">7.2.1. Version number(s)</a></h4>
+<p>
+CRLs are created in X.509 v2 format.
+</p>
+
+<h4><a name="p7.2.2" id="p7.2.2">7.2.2. CRL and CRL entry extensions</a></h4>
+
+<p>
+No extensions.
+</p>
+
+<h3><a name="p7.3" id="p7.3">7.3. OCSP profile</a></h3>
+<h4><a name="p7.3.1" id="p7.3.1">7.3.1. Version number(s)</a></h4>
+<p>
+The OCSP responder operates in Version 1.
+</p>
+<h4><a name="p7.3.2" id="p7.3.2">7.3.2. OCSP extensions</a></h4>
+<p>
+No stipulation.
+</p>
+
+
+
+<!-- *************************************************************** -->
+<h2><a name="p8" id="p8">8. COMPLIANCE AUDIT AND OTHER ASSESSMENTS</a></h2>
+
+<p>
+There are two major threads of assessment:
+</p>
+
+<ul><li>
+  <b>Systems Audit</b>.
+  Analyses the CA for business and operations security.
+  This is conducted in two phases:  documents for compliance
+  with criteria, and operations for compliance with documentation.
+  </li><li>
+  <b>Code Audit</b>.
+  Analyses the source code.
+  This is conducted at two levels:
+  Security concepts at the web applications level,
+  and source code security and bugs review.
+</li></ul>
+
+<p>
+See the Audit page at
+<a href="http://wiki.cacert.org/wiki/Audit/">
+wiki.cacert.org/wiki/Audit/</a>
+for more information.
+</p>
+
+<h3><a name="p8.1" id="p8.1">8.1. Frequency or circumstances of assessment</a></h3>
+<p>
+The first audits started in late 2005,
+and since then, assessments have been an
+ongoing task.
+Even when completed, they are expected to
+be permanent features.
+</p>
+
+<ul><li>
+  <b>Systems Audit</b>.
+  <span class="q">
+  The first phase of the first audit is nearing completion.
+  The second phase starts in earnest when documentation is in
+  effect, at lease as DRAFT under PoP.
+  As the second phase is dependent on
+  this CPS and the Security Policy, they will
+  be in effect as DRAFT at least
+  before the first audit is completed.
+  Only prior and completed audits can be reported here.
+  </span>
+  </li><li>
+  <b>Code Audit</b>.
+  <span class="q">
+  A complete review of entire source code has not yet been completed.
+  </span>
+</li></ul>
+
+<h3><a name="p8.2" id="p8.2">8.2. Identity/qualifications of assessor</a></h3>
+
+<p>
+<b>Systems Auditors.</b>
+CAcert uses business systems auditors with broad experience
+across the full range of business, information systems
+and security fields.
+In selecting a business systems auditor, CAcert looks for
+experience that includes but is not limited to
+cryptography, PKI, governance, auditing,
+compliance and regulatory environments,
+business strategy, software engineering,
+networks, law (including multijurisdictional issues),
+identity systems, fraud, IT management.
+</p>
+
+<!-- <center><a href="http://xkcd.com/511/"> <img src="http://imgs.xkcd.com/comics/sleet.png"> </a> </center> -->
+
+<p>
+<b>Code Auditors.</b>
+See Security Policy, sections 7, 9.1.
+</p>
+
+<h3><a name="p8.3" id="p8.3">8.3. Assessor's relationship to assessed entity</a></h3>
+
+<p>
+Specific internal restrictions on audit personnel:
+</p>
+
+<ul><li>
+    Must be Assured by CAcert Assurers
+    and must be background checked.
+  </li><li>
+    Must not have been active in any (other) role in CAcert.
+    Specifically, must not be an Assurer, a member of the association,
+    or in any other defined role or office.
+  </li><li>
+    Although the Auditor may be expected to undertake various
+    of the activities (Assurance, Training)
+    during the process of the audit, any results are frozen
+    until resignation as auditor is effected.
+  </li><li>
+    The Auditor is required to declare to CAcert all
+    potential conflicts of interest on an ongoing basis.
+</li></ul>
+
+<p>
+Specific external restrictions on audit personnel:
+</p>
+
+<ul><li>
+    Should have a verifiable and lengthy history in
+    user privacy and user security.
+  </li><li>
+    Must not have worked for a competitive organisation.
+  </li><li>
+    Must not have worked for national security, intelligence,
+    LEO or similar agencies.
+</li></ul>
+
+<p>
+An Auditor may convene an audit team.
+The same restrictions apply in general
+to all members of the team, but may be varied.
+Any deviations must be documented and approved
+by the CAcert Inc. Board.
+</p>
+
+<h3><a name="p8.4" id="p8.4">8.4. Topics covered by assessment</a></h3>
+
+<p>
+Systems Audits are generally conducted to criteria.
+CAcert requires that the criteria are open:
+</p>
+
+<ul><li>
+    Published.
+    The criteria must be reviewable by all interested parties.
+  </li><li>
+    Understandable.
+    They should be understandable, in that they provide the 
+    sufficient information in a readable form for interested
+    parties to follow the gist and importance.
+    (Arcane security criteria may stretch this requirement.)
+  </li><li>
+    Complete.
+    There must be sufficent background information that the
+    whole story is there.  Especially, criteria that refer
+    to undocumented practices or conventions deliberately
+    kept secret must be avoided.
+  </li><li>
+    Applicable.  The criteria should relate directly
+    and unambiguously to a need of the identified interested parties
+    (Members, Relying Parties, Subscribers, Assurers).
+</li></ul>
+
+<p>
+See
+<a href="http://rossde.com/CA_review/">DRC</a>
+for the current criteria.
+If Auditor determines that a criteria fails to
+follow the meet the above requirements, then the criteria
+should be reworked to conform, or should be dropped
+(both with explanatory notes).
+</p>
+
+<h3><a name="p8.5" id="p8.5">8.5. Actions taken as a result of deficiency</a></h3>
+<p>
+See the current
+<a href="http://wiki.cacert.org/wiki/Audit/Done">Audit Done list</a>
+for work completed, and
+<a href="http://wiki.cacert.org/wiki/AuditToDo">Audit Todo list</a>
+for work in progress.
+</p>
+
+<p>
+Auditor may issue directives instructing changes,
+where essential to audit success or other extreme
+situations.
+Directives should be grounded on criteria,
+on established minimum or safe practices,
+or clearly described logic.
+Adequate discussion with Community
+(e.g., CAcert Inc. Board and with Policy Group)
+should precede any directive.
+They should be presented to the same standard
+as the criteria, above.
+</p>
+
+<p>
+The
+<a href="http://wiki.cacert.org/wiki/AuditDirectives">
+wiki.cacert.org/wiki/AuditDirectives</a>
+documents issued directives and actions.
+</p>
+
+<h3><a name="p8.6" id="p8.6">8.6. Communication of results</a></h3>
+
+<p>
+Current and past Audit information is available at
+<a href="http://wiki.cacert.org/wiki/Audit/">wiki.CAcert.org/wiki/Audit/</a>.
+CAcert runs an open disclosure policy and
+Audit is no exception.
+</p>
+
+<p>
+This CPS and other documents are subject to
+the process in Policy on Policy (<a href="http://www.cacert.org/policy/PolicyOnPolicy.php">COD1</a>).
+Audits cover the overall processes more
+than any one document, and documents may vary
+even as Audit reports are delivered.
+</p>
+
+
+
+
+<!-- *************************************************************** -->
+<h2><a name="p9" id="p9">9. OTHER BUSINESS AND LEGAL MATTERS</a></h2>
+<h3><a name="p9.1" id="p9.1">9.1. Fees</a></h3>
+
+
+<p>
+The current fees structure is posted at
+<a href="http://wiki.cacert.org/wiki/Price">wiki.cacert.org/wiki/Price</a>.
+Changes to the fees structure will be announced
+from time to time on the <a href="http://blog.cacert.org/">blog</a>.
+CAcert retains the right to charge fees for services.
+All fees are non-refundable.
+</p>
+
+
+<h3><a name="p9.2" id="p9.2">9.2. Financial responsibility</a></h3>
+
+<p>
+Financial risks are dealt with primarily by
+the Dispute Resolution Policy
+(<a href="http://www.cacert.org/policy/DisputeResolutionPolicy.php">COD7</a>).
+</p>
+
+<h4><a name="p9.2.1" id="p9.2.1">9.2.1. Insurance coverage</a></h4>
+
+<p>
+No stipulation.
+</p>
+
+<h4><a name="p9.2.2" id="p9.2.2">9.2.2. Other assets</a></h4>
+
+<p>
+No stipulation.
+</p>
+
+<h4><a name="p9.2.3" id="p9.2.3">9.2.3. Insurance or warranty coverage for end-entities</a></h4>
+
+<p>
+No stipulation.
+</p>
+
+<h3><a name="p9.3" id="p9.3">9.3. Confidentiality of business information</a></h3>
+
+<h4><a name="p9.3.1" id="p9.3.1">9.3.1. Scope of confidential information</a></h4>
+
+<p>
+CAcert has a policy of transparency and openness.
+The default posture is that information is public
+to the extent possible,
+unless covered by specific policy provisions
+(for example, passwords)
+or rulings by Arbitrator.
+</p>
+
+<h3><a name="p9.4" id="p9.4">9.4. Privacy of personal information</a></h3>
+
+<!-- <center><a href="http://xkcd.com/46/"> <img src="http://imgs.xkcd.com/comics/secrets.jpg"> </a> </center> -->
+<p>
+Privacy is covered by the
+CCA (COD9)
+and the Privacy Policy
+(<a href="http://www.cacert.org/index.php?id=10">COD5</a>).
+</p>
+
+<h4><a name="p9.4.1" id="p9.4.1">9.4.1. Privacy plan</a></h4>
+<p> No stipulation.  </p>
+<h4><a name="p9.4.2" id="p9.4.2">9.4.2. Information treated as private</a></h4>
+<p>
+Member's Date of Birth and "Lost Password" questions are treated as fully private.
+</p>
+<h4><a name="p9.4.3" id="p9.4.3">9.4.3. Information not deemed private</a></h4>
+<p>
+To the extent that information is put into an issued certificate,
+that information is not deemed private,
+as it is expected to be published by the Member as part of routine use of
+the certificate.
+Such information generally includes
+Names, domains, email addresses, and certificate serial numbers.
+</p>
+<p>
+Under Assurance Policy
+(<a href="http://www.cacert.org/policy/AssurancePolicy.php">COD13</a>)
+the Member's status (as Assured, Assurer, etc) is available
+to other Members.
+</p>
+<p>
+Information placed in forums outside the online system
+(wiki, blogs, policies, etc) is not deemed private, and is
+generally deemed to be published as contributions by Members.
+See
+CCA1.3 (COD9).
+</p>
+<h4><a name="p9.4.4" id="p9.4.4">9.4.4. Responsibility to protect private information</a></h4>
+<p>
+CAcert is a privacy organisation
+and takes privacy more seriously.
+Any privacy issue may be referred to dispute resolution.
+</p>
+<h4><a name="p9.4.5" id="p9.4.5">9.4.5. Notice and consent to use private information</a></h4>
+<p>
+Members are permitted to rely on certificates of other Members.
+As a direct consequence of the general right to rely,
+Members may read and store the certificates
+and/or the information within them, where duly presented in
+a relationship, and to the extent necessary for
+the agreed relationship.
+</p>
+<h4><a name="p9.4.6" id="p9.4.6">9.4.6. Disclosure pursuant to judicial or administrative process</a></h4>
+<p>
+Any disclosure pursuant to process from foreign courts
+(or similar)
+is controlled by the Arbitrator.
+</p>
+<h4><a name="p9.4.7" id="p9.4.7">9.4.7. Other information disclosure circumstances</a></h4>
+<p>
+None.
+</p>
+
+<h3><a name="p9.5" id="p9.5">9.5. Intellectual property rights</a></h3>
+
+<p>
+CAcert is committed to the philosophy of
+an open and free Internet,
+broadly as encapsulated by open and free source.
+However, due to the strict control provisions
+imposed by the audit criteria (CCS),
+and the general environment and role of CAs,
+and the commitment to security of Members,
+some deviations are necessary.
+</p>
+
+<!-- <center><a href="http://xkcd.com/225/"> <img src="http://imgs.xkcd.com/comics/open_source.png"> </a> </center> -->
+
+<h4><a name="p9.5.1" id="p9.5.1">9.5.1. Ownership and Licence</a></h4>
+
+<p>
+Assets that fall under the control of CCS
+must be transferred to CAcert.
+See PoP 6.2
+(<a href="http://www.cacert.org/policy/PolicyOnPolicy.php#6.2">COD1</a>),
+CCA 1.3
+(<a href="http://www.cacert.org/policy/CAcertCommunityAgreement.php#1.3">COD9</a>).
+That is, CAcert is free to use, modify,
+distribute, and otherwise conduct the business
+of the CA as CAcert sees fit with the asset.
+</p>
+
+<h4><a name="p9.5.2" id="p9.5.2">9.5.2. Brand</a></h4>
+<p>
+The brand of CAcert
+is made up of its logo, name, trademark, service marks, etc.
+Use of the brand is strictly limited by the Board,
+and permission is required.
+See <a href="http://wiki.cacert.org/wiki/TopMinutes-20070917">
+m20070917.5</a>.
+</p>
+
+<h4><a name="p9.5.3" id="p9.5.3">9.5.3. Documents</a></h4>
+
+<p>
+CAcert owns or requires full control over its documents,
+especially those covered by CCS.
+See PoP 6.2
+(<a href="http://www.cacert.org/policy/PolicyOnPolicy.php#6.2">COD1</a>).
+Contributors transfer the rights,
+see CCA 1.3
+(<a href="http://www.cacert.org/policy/CAcertCommunityAgreement.php#1.3">COD9</a>).
+Contributors warrant that they have the right to transfer.
+</p>
+
+<p>
+Documents are generally licensed under free and open licence.
+See
+<a href="http://wiki.cacert.org/wiki/PolicyDrafts/DocumentLicence">
+wiki.cacert.org/wiki/PolicyDrafts/DocumentLicence</a>.
+Except where explicitly negotiated,
+CAcert extends back to contributors a
+non-exclusive, unrestricted perpetual
+licence, permitting them to to re-use
+their original work freely.
+See PoP 6.4
+(<a href="http://www.cacert.org/policy/PolicyOnPolicy.php#6.4">COD1</a>),
+CCA 1.3
+(<a href="http://www.cacert.org/policy/CAcertCommunityAgreement.php#1.3">COD9</a>).
+</p>
+
+<h4><a name="p9.5.4" id="p9.5.4">9.5.4. Code</a></h4>
+
+<p>
+CAcert owns its code or requires full control over code in use
+by means of a free and open licence.
+See CCS.
+</p>
+
+<p class="q">
+See the (new, wip)
+<a href="http://svn.cacert.cl/Documents/SourceCodeManifesto.html">
+SourceCodeManifesto</a>.
+Maybe this can replace these two paras?
+</p>
+
+<p>
+CAcert licenses its code under GPL.
+CAcert extends back to contributors a
+non-exclusive, unrestricted perpetual
+licence, permitting them to to re-use
+their original work freely.
+</p>
+
+<h4><a name="p9.5.5" id="p9.5.5">9.5.5. Certificates and Roots</a></h4>
+
+<p>
+CAcert asserts its intellectual property rights over certificates
+issued to Members and over roots.
+See CCA 4.4
+(<a href="http://www.cacert.org/policy/CAcertCommunityAgreement.php#4.4">COD9</a>),
+CCS.
+The certificates may only be used by Members under
+<a href="http://www.cacert.org/policy/CAcertCommunityAgreement.php#4.4">COD9</a>,
+and,
+by others under the licences offered,
+such as
+Non-Related Persons - Disclaimer and Licence
+(<a href="http://www.cacert.org/policy/NRPDisclaimerAndLicence.php">COD4</a>).
+</p>
+
+<h3><a name="p9.6" id="p9.6">9.6. Representations and warranties</a></h3>
+
+
+<p>
+<b>Members.</b>
+All Members of the Community agree to the
+CAcert Community Agreement
+(<a href="http://www.cacert.org/policy/CAcertCommunityAgreement.php">COD9</a>),
+which is the primary document for
+representations and warranties.
+Members include Subscribers, Relying Parties,
+Registration Agents and the CA itself.
+</p>
+
+<p>
+<b>RAs.</b>
+Registration Agents are obliged additionally by Assurance Policy,
+especially 3.1, 4.1
+(<a href="http://www.cacert.org/policy/AssurancePolicy.php">COD13</a>).
+</p>
+
+<p>
+<b>CA.</b>
+The CA is obliged additionally by the CCS.
+</p>
+
+<p>
+<b>Third Party Vendors.</b>
+Distributors of the roots are offered the
+<span class="q">wip</span>
+3rd-Party Vendors - Disclaimer and Licence
+(3PV-DaL => CODx)
+and are offered
+<span class="q">wip</span>
+the same deal as Members to the extent that they agree
+to be Members in the Community.
+<span class="q">wip</span>
+</p>
+
+<h3><a name="p9.7" id="p9.7">9.7. Disclaimers of Warranties</a></h3>
+
+<p>
+Persons who have not accepted the above Agreements are offered the
+Non-Related Persons - Disclaimer and Licence
+(<a href="http://www.cacert.org/policy/NRPDisclaimerAndLicence.php">COD4</a>).
+Any representations and
+warranties are strictly limited to nominal usage.
+In essence, NRPs may USE but must not RELY.
+</p>
+
+<p>
+In today's aggressive fraud environment,
+and within the context of CAcert as a community CA,
+all parties should understand that CAcert
+and its Subscribers, Assurers and other roles
+provide service on a Best Efforts basis.
+See <a href="#p1.4">&sect;1.4</a>.
+CAcert seeks to provide an adequate minimum
+level of quality in operations for its Members
+without undue risks to NRPs.
+See
+<a href="http://svn.cacert.org/CAcert/principles.html">Principles</a>.
+</p>
+
+<p>
+CAcert on behalf of the Community and itself
+makes no Warranty nor Guarantee nor promise
+that the service or certificates are adequate
+for the needs and circumstances.
+</p>
+
+<h3><a name="p9.8" id="p9.8">9.8. Limitations of liability</a></h3>
+
+<h3><a name="p9.8.1" id="p9.8.1">9.8.1 Non-Related Persons </a></h3>
+
+<p>
+CAcert on behalf of related parties
+(RAs, Subscribers, etc) and itself
+disclaims all liability to NRPs
+in their usage of CA's certificates.
+See <a href="http://www.cacert.org/policy/NRPDisclaimerAndLicence.php">COD4</a>.
+</p>
+
+<h3><a name="p9.8.2" id="p9.8.2">9.8.2 Liabilities Between Members</a></h3>
+
+<p>
+Liabilities between Members
+are dealt with by internal dispute resolution,
+which rules on liability and any limits.
+See
+<a href="#9.13">&sect;9.13</a>.
+</p>
+
+
+<h3><a name="p9.9" id="p9.9">9.9. Indemnities</a></h3>
+
+<p>
+No stipulation.
+</p>
+
+<h3><a name="p9.10" id="p9.10">9.10. Term and termination</a></h3>
+<h4><a name="p9.10.1" id="p9.10.1">9.10.1. Term</a></h4>
+
+<p>
+No stipulation.
+</p>
+
+<h4><a name="p9.10.2" id="p9.10.2">9.10.2. Termination</a></h4>
+
+<p>
+Members file a dispute to terminate their agreement.
+See <a href="#p9.13">&sect;9.13</a> and CCA 3.3
+(<a href="http://www.cacert.org/policy/CAcertCommunityAgreement.php#3.3">COD9</a>).
+</p>
+
+<p>
+Documents are varied (including terminated) under <a href="http://www.cacert.org/policy/PolicyOnPolicy.php">COD1</a>.
+</p>
+
+<p>
+For termination of the CA, see <a href="#p5.8.1">&sect;5.8.1</a>.
+</p>
+
+<h4><a name="p9.10.3" id="p9.10.3">9.10.3. Effect of termination and survival</a></h4>
+
+<p>
+No stipulation.
+</p>
+
+<h3><a name="p9.11" id="p9.11">9.11. Individual notices and communications with participants</a></h3>
+
+<p>
+All participants are obliged to keep their listed
+primary email addresses in good working order.
+See CCA 3.5
+(<a href="http://www.cacert.org/policy/CAcertCommunityAgreement.php#3.5">COD9</a>).
+</p>
+
+
+<h3><a name="p9.12" id="p9.12">9.12. Amendments</a></h3>
+
+<p>
+Amendments to the CPS are controlled by <a href="http://www.cacert.org/policy/PolicyOnPolicy.php">COD1</a>.
+Any changes in Member's Agreements are notified under CCA 3.4
+(<a href="http://www.cacert.org/policy/CAcertCommunityAgreement.php#3.4">COD9</a>).
+</p>
+
+<h3><a name="p9.13" id="p9.13">9.13. Dispute resolution provisions</a></h3>
+
+<p>
+CAcert provides a forum and facility for any Member
+or other related party to file a dispute.
+</p>
+
+<ul><li>
+    The CAcert
+    Dispute Resolution Policy
+    (<a href="http://www.cacert.org/policy/DisputeResolutionPolicy.php">COD7</a>)
+    includes rules for dispute resolution.
+  </li><li>
+    Filing is done via email to
+    &lt; support AT cacert DOT org &gt;
+</li></ul>
+
+<p>
+Members agree to file all disputes through CAcert's
+forum for dispute resolution.
+The rules include specific provisions to assist
+non-Members, etc, to file dispute in this forum.
+</p>
+
+
+<h3><a name="p9.14" id="p9.14">9.14. Governing law</a></h3>
+
+<p>
+The governing law is that of New South Wales, Australia.
+Disputes are generally heard before the Arbitrator
+under this law.
+Exceptionally, the Arbitrator may elect to apply the
+law of the parties and events, where in common,
+but this is unlikely because it may create results
+that are at odds with the Community.
+</p>
+
+<h3><a name="p9.15" id="p9.15">9.15. Compliance with Applicable Law</a></h3>
+
+<h3><a name="p9.15.1" id="p9.15.1">9.15.1 Digital Signature Law</a></h3>
+<p>
+The Commonwealth and States of Australia have passed
+various Electronic Transactions Acts that speak to
+digital signatures.  In summary, these acts follow
+the "technology neutral" model and permit but do not
+regulate the use of digital signatures.
+</p>
+
+<p>
+This especially means that the signatures created by
+certificates issued by CAcert are not in and of themselves
+legally binding human signatures, at least according to
+the laws of Australia.
+See <a href="#p1.4.3">&sect;1.4.3</a>.
+However, certificates may play a part in larger signing
+applications.  See <a href="#p1.4.1">&sect;1.4.1</a> for "digital signing" certificates.
+These applications may impose significant
+obligations, risks and liabilities on the parties.
+</p>
+
+<h3><a name="p9.15.2" id="p9.15.2">9.15.2 Privacy Law</a></h3>
+
+<p>
+See the Privacy Policy
+(<a href="http://www.cacert.org/index.php?id=10">COD5</a>).
+</p>
+
+<h3><a name="p9.15.3" id="p9.15.3">9.15.3 Legal Process from External Forums</a></h3>
+
+<p>
+CAcert will provide information about
+its Members only under legal subpoena or
+equivalent process
+from a court of competent jurisdiction.
+Any requests made by legal subpoena are
+treated as under the Dispute Resolution Policy
+See
+<a href="#p9.13">&sect;9.13</a>
+and
+<a href="http://www.cacert.org/policy/DisputeResolutionPolicy.php">COD7</a>.
+That is, all requests are treated as disputes,
+as only a duly empanelled Arbitrator has the
+authorisation and authority to rule on the
+such requests.
+<p>
+
+<p>
+A subpoena should
+include sufficient legal basis to support
+an Arbitrator in ruling that information
+be released pursuant to the filing,
+including the names of claimants in any civil case
+and an indication as to whether the claimants are
+Members or not
+(and are therefore subject to Dispute Resolution Policy).
+</p>
+
+<h3><a name="p9.16" id="p9.16">9.16. Miscellaneous provisions</a></h3>
+<h4><a name="p9.16.1" id="p9.16.1">9.16.1. Entire agreement</a></h4>
+
+<p>
+All Members of the Community agree to the
+CAcert Community Agreement
+(<a href="http://www.cacert.org/policy/CAcertCommunityAgreement.php">COD9</a>).
+This agreement also incorporates other key
+documents, being this CPS, DRP and PP.
+See CCA 4.2.
+</p>
+
+<p>
+The Configuration-Control Specification
+is the set of policies that rule over the
+Community, of which the above documents are part.
+See COD2.
+Documents that have reached full POLICY status
+are located at
+<a href="http://www.cacert.org/policy/">
+www.cacert.org/policy/</a>.
+Although detailed practices may
+be found in other places on the website
+and on the wiki, the CCS documents that
+have reached DRAFT and POLICY status are
+the ruling documents.
+</p>
+
+<h4><a name="p9.16.2" id="p9.16.2">9.16.2. Assignment</a></h4>
+
+<p>
+The rights within CCA may not be ordinarily assigned.
+</p>
+
+<h4><a name="p9.16.3" id="p9.16.3">9.16.3. Severability</a></h4>
+
+<p>
+No stipulation.
+</p>
+
+<h4><a name="p9.16.4" id="p9.16.4">9.16.4. Enforcement (attorneys' fees and waiver of rights)</a></h4>
+
+<p>
+The Arbitrator will specify fees and remedies, if any.
+</p>
+
+<h4><a name="p9.16.5" id="p9.16.5">9.16.5. Force Majeure</a></h4>
+
+<p>
+No stipulation.
+</p>
+
+<h2>---This is the end of the Policy---</h2>
+
+
+</body>
+</html>
diff --git a/cacert/www/policy/cacert-draft.png b/cacert/www/policy/cacert-draft.png
new file mode 100644 (file)
index 0000000..9d33eb1
Binary files /dev/null and b/cacert/www/policy/cacert-draft.png differ
diff --git a/cacert/www/utf8_to_ascii/ChangeLog b/cacert/www/utf8_to_ascii/ChangeLog
new file mode 100644 (file)
index 0000000..1d3f356
--- /dev/null
@@ -0,0 +1,34 @@
+2006-10-25 17:12  harryf
+
+       * README: More detail / notes
+
+2006-10-25 15:34  harryf
+
+       * tests/index.php: Add simple unit test
+
+2006-10-25 15:34  harryf
+
+       * utf8_to_ascii.php: Move from global to local static variable
+
+2006-09-04 23:34  harryf
+
+       * builddb.pl: Fix example script name
+
+2006-09-04 23:34  harryf
+
+       * utf8_to_ascii.php: Performance optimization / re-write - elimate
+         string splitting with preg_match_all - most of the time was going
+         here - re-implement ord calculation - reduce #calls to PHP ord()
+         fn. Improve ab average response time for the example from ~9s to
+         ~0.41s
+
+2006-03-04 00:43  harryf
+
+       * LICENSE, README, builddb.pl, utf8_to_ascii.php, tests/index.php,
+         tests/data/utf8.txt: Initial import
+
+2006-03-04 00:43  harryf
+
+       * LICENSE, README, builddb.pl, utf8_to_ascii.php, tests/index.php,
+         tests/data/utf8.txt: Initial revision
+
diff --git a/cacert/www/utf8_to_ascii/LICENSE b/cacert/www/utf8_to_ascii/LICENSE
new file mode 100644 (file)
index 0000000..886394c
--- /dev/null
@@ -0,0 +1,128 @@
+                        The "Artistic License"
+
+                               Preamble
+
+The intent of this document is to state the conditions under which a
+Package may be copied, such that the Copyright Holder maintains some
+semblance of artistic control over the development of the package,
+while giving the users of the package the right to use and distribute
+the Package in a more-or-less customary fashion, plus the right to make
+reasonable modifications.
+
+Definitions:
+
+       "Package" refers to the collection of files distributed by the
+       Copyright Holder, and derivatives of that collection of files
+       created through textual modification.
+
+       "Standard Version" refers to such a Package if it has not been
+       modified, or has been modified in accordance with the wishes
+       of the Copyright Holder as specified below.
+
+       "Copyright Holder" is whoever is named in the copyright or
+       copyrights for the package.
+
+       "You" is you, if you're thinking about copying or distributing
+       this Package.
+
+       "Reasonable copying fee" is whatever you can justify on the
+       basis of media cost, duplication charges, time of people involved,
+       and so on.  (You will not be required to justify it to the
+       Copyright Holder, but only to the computing community at large
+       as a market that must bear the fee.)
+
+       "Freely Available" means that no fee is charged for the item
+       itself, though there may be fees involved in handling the item.
+       It also means that recipients of the item may redistribute it
+       under the same conditions they received it.
+
+1. You may make and give away verbatim copies of the source form of the
+Standard Version of this Package without restriction, provided that you
+duplicate all of the original copyright notices and associated disclaimers.
+
+2. You may apply bug fixes, portability fixes and other modifications
+derived from the Public Domain or from the Copyright Holder.  A Package
+modified in such a way shall still be considered the Standard Version.
+
+3. You may otherwise modify your copy of this Package in any way, provided
+that you insert a prominent notice in each changed file stating how and
+when you changed that file, and provided that you do at least ONE of the
+following:
+
+    a) place your modifications in the Public Domain or otherwise make them
+    Freely Available, such as by posting said modifications to Usenet or
+    an equivalent medium, or placing the modifications on a major archive
+    site such as uunet.uu.net, or by allowing the Copyright Holder to include
+    your modifications in the Standard Version of the Package.
+
+    b) use the modified Package only within your corporation or organization.
+
+    c) rename any non-standard executables so the names do not conflict
+    with standard executables, which must also be provided, and provide
+    a separate manual page for each non-standard executable that clearly
+    documents how it differs from the Standard Version.
+
+    d) make other distribution arrangements with the Copyright Holder.
+
+4. You may distribute the programs of this Package in object code or
+executable form, provided that you do at least ONE of the following:
+
+    a) distribute a Standard Version of the executables and library files,
+    together with instructions (in the manual page or equivalent) on where
+    to get the Standard Version.
+
+    b) accompany the distribution with the machine-readable source of
+    the Package with your modifications.
+
+    c) give non-standard executables non-standard names, and clearly
+    document the differences in manual pages (or equivalent), together
+    with instructions on where to get the Standard Version.
+
+    d) make other distribution arrangements with the Copyright Holder.
+
+5. You may charge a reasonable copying fee for any distribution of this
+Package.  You may charge any fee you choose for support of this
+Package.  You may not charge a fee for this Package itself.  However,
+you may distribute this Package in aggregate with other (possibly
+commercial) programs as part of a larger (possibly commercial) software
+distribution provided that you do not advertise this Package as a
+product of your own.  You may embed this Package's interpreter within
+an executable of yours (by linking); this shall be construed as a mere
+form of aggregation, provided that the complete Standard Version of the
+interpreter is so embedded.
+
+6. The scripts and library files supplied as input to or produced as
+output from the programs of this Package do not automatically fall
+under the copyright of this Package, but belong to whoever generated
+them, and may be sold commercially, and may be aggregated with this
+Package.  If such scripts or library files are aggregated with this
+Package via the so-called "undump" or "unexec" methods of producing a
+binary executable image, then distribution of such an image shall
+neither be construed as a distribution of this Package nor shall it
+fall under the restrictions of Paragraphs 3 and 4, provided that you do
+not represent such an executable image as a Standard Version of this
+Package.
+
+7. C subroutines (or comparably compiled subroutines in other
+languages) supplied by you and linked into this Package in order to
+emulate subroutines and variables of the language defined by this
+Package shall not be considered part of this Package, but are the
+equivalent of input as in Paragraph 6, provided these subroutines do
+not change the language in any way that would cause it to fail the
+regression tests for the language.
+
+8. Aggregation of this Package with a commercial distribution is always
+permitted provided that the use of this Package is embedded; that is,
+when no overt attempt is made to make this Package's interfaces visible
+to the end user of the commercial distribution.  Such use shall not be
+construed as a distribution of this Package.
+
+9. The name of the Copyright Holder may not be used to endorse or promote
+products derived from this software without specific prior written permission.
+
+10. THIS PACKAGE IS PROVIDED "AS IS" AND WITHOUT ANY EXPRESS OR
+IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
+WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
+
+                               The End
+
diff --git a/cacert/www/utf8_to_ascii/README b/cacert/www/utf8_to_ascii/README
new file mode 100644 (file)
index 0000000..df4f751
--- /dev/null
@@ -0,0 +1,40 @@
+UTF8 TO ASCII
+
+US-ASCII transliterations of Unicode text
+
+Ported Sean M. Burke's Text::Unidecode Perl module
+
+http://search.cpan.org/~sburke/Text-Unidecode-0.04/
+http://interglacial.com/~sburke/
+
+Use is simple;
+
+<?php
+require_once '/path/to/utf8_to_ascii/utf8_to_ascii.php';
+$utf8 = file_get_contents('/tmp/someutf8.txt');
+$ascii = utf8_to_ascii($utf8);
+?>
+
+Some notes;
+
+- Make sure you provide is well-formed UTF-8!
+http://phputf8.sourceforge.net/#UTF_8_Validation_and_Cleaning
+
+- For European languages, it should replace Unicode character
+with corresponding ascii characters and produce a readable
+result. For other languages, the results will be less
+meaningful - it's a "dumb" character for character replacement
+True trasliteration is a little more complex than this;
+See: http://en.wikipedia.org/wiki/Transliteration
+
+- For any characters for which there's no replacement
+character available, a (default) '?' will be inserted. The second
+argument can be used to define an alternative replacement char
+
+- Don't panic about all the files in the db subdirectory - they
+are not all loaded at once - in fact they are only loaded if they
+are needed to convert a given character (i.e. which files get
+loaded depends on the input)
+
+For a little more see;
+http://www.sitepoint.com/blogs/2006/03/03/us-ascii-transliterations-of-unicode-text/
diff --git a/cacert/www/utf8_to_ascii/db/x00.php b/cacert/www/utf8_to_ascii/db/x00.php
new file mode 100644 (file)
index 0000000..b7285f9
Binary files /dev/null and b/cacert/www/utf8_to_ascii/db/x00.php differ
diff --git a/cacert/www/utf8_to_ascii/db/x01.php b/cacert/www/utf8_to_ascii/db/x01.php
new file mode 100644 (file)
index 0000000..8d03503
--- /dev/null
@@ -0,0 +1,4 @@
+<?php
+$UTF8_TO_ASCII[0x01] = array(
+'A','a','A','a','A','a','C','c','C','c','C','c','C','c','D','d','D','d','E','e','E','e','E','e','E','e','E','e','G','g','G','g','G','g','G','g','H','h','H','h','I','i','I','i','I','i','I','i','I','i','IJ','','J','j','K','k','k','L','l','L','l','L','l','L','l','L','l','N','n','N','n','N','n',"'n",'ng','NG','O','o','O','o','O','o','OE','oe','R','r','R','r','R','r','S','s','S','s','S','s','S','s','T','t','T','t','T','t','U','u','U','u','U','u','U','u','U','u','U','u','W','w','Y','y','Y','Z','z','Z','z','Z','z','s','b','B','B','b','6','6','O','C','c','D','D','D','d','d','3','@','E','F','f','G','G','hv','I','I','K','k','l','l','W','N','n','O','O','o','OI','oi','P','p','YR','2','2','SH','sh','t','T','t','T','U','u','Y','V','Y','y','Z','z','ZH','ZH','zh','zh','2','5','5','ts','w','|','||','|=','!','DZ','Dz','dz','LJ','Lj','lj','NJ','Nj','nj','A','a','I','i','O','o','U','u','U','u','U','u','U','u','U','u','@','A','a','A','a','AE','ae','G','g','G','g','K','k','O','o','O','o','ZH','zh','j','DZ','D','dz','G','g','HV','W','N','n','A','a','AE','ae','O','o',
+);
diff --git a/cacert/www/utf8_to_ascii/db/x02.php b/cacert/www/utf8_to_ascii/db/x02.php
new file mode 100644 (file)
index 0000000..449445b
--- /dev/null
@@ -0,0 +1,4 @@
+<?php
+$UTF8_TO_ASCII[0x02] = array(
+'A','a','A','a','E','e','E','e','I','i','I','i','O','o','O','o','R','r','R','r','U','u','U','u','S','s','T','t','Y','y','H','h','[?]','[?]','OU','ou','Z','z','A','a','E','e','O','o','O','o','O','o','O','o','Y','y','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','a','a','a','b','o','c','d','d','e','@','@','e','e','e','e','j','g','g','g','g','u','Y','h','h','i','i','I','l','l','l','lZ','W','W','m','n','n','n','o','OE','O','F','R','R','R','R','r','r','R','R','R','s','S','j','S','S','t','t','U','U','v','^','W','Y','Y','z','z','Z','Z','?','?','?','C','@','B','E','G','H','j','k','L','q','?','?','dz','dZ','dz','ts','tS','tC','fN','ls','lz','WW',']]','[?]','[?]','k','h','j','r','r','r','r','w','y',"'",'"','`',"'",'`','`',"'",'?','?','<','>','^','V','^','V',"'",'-','/','\\',',','_','\\','/',':','.','`',"'",'^','V','+','-','V','.','@',',','~','"','R','X','G','l','s','x','?','','','','','','','','V','=','"','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]',
+);
diff --git a/cacert/www/utf8_to_ascii/db/x03.php b/cacert/www/utf8_to_ascii/db/x03.php
new file mode 100644 (file)
index 0000000..c269b0c
--- /dev/null
@@ -0,0 +1,4 @@
+<?php
+$UTF8_TO_ASCII[0x03] = array(
+'','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','','','','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]',"'",',','[?]','[?]','[?]','[?]','','[?]','[?]','[?]','?','[?]','[?]','[?]','[?]','[?]','','','A',';','E','E','I','[?]','O','[?]','U','O','I','A','B','G','D','E','Z','E','Th','I','K','L','M','N','Ks','O','P','R','[?]','S','T','U','Ph','Kh','Ps','O','I','U','a','e','e','i','u','a','b','g','d','e','z','e','th','i','k','l','m','n','x','o','p','r','s','s','t','u','ph','kh','ps','o','i','u','o','u','o','[?]','b','th','U','U','U','ph','p','&','[?]','[?]','St','st','W','w','Q','q','Sp','sp','Sh','sh','F','f','Kh','kh','H','h','G','g','CH','ch','Ti','ti','k','r','c','j','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]',
+);
diff --git a/cacert/www/utf8_to_ascii/db/x04.php b/cacert/www/utf8_to_ascii/db/x04.php
new file mode 100644 (file)
index 0000000..4533d0d
--- /dev/null
@@ -0,0 +1,4 @@
+<?php
+$UTF8_TO_ASCII[0x04] = array(
+'Ie','Io','Dj','Gj','Ie','Dz','I','Yi','J','Lj','Nj','Tsh','Kj','I','U','Dzh','A','B','V','G','D','Ie','Zh','Z','I','I','K','L','M','N','O','P','R','S','T','U','F','Kh','Ts','Ch','Sh','Shch','','Y',"'",'E','Iu','Ia','a','b','v','gh','d','ie','zh','z','i','i','k','l','m','n','o','p','r','s','t','u','f','kh','ts','ch','sh','shch','','y',"'",'e','iu','ia','ie','io','dj','gj','ie','dz','i','yi','j','lj','nj','tsh','kj','i','u','dzh','O','o','E','e','Ie','ie','E','e','Ie','ie','O','o','Io','io','Ks','ks','Ps','ps','F','f','Y','y','Y','y','u','u','O','o','O','o','Ot','ot','Q','q','*1000*','','','','','[?]','*100.000*','*1.000.000*','[?]','[?]','"','"',"R'","r'","G'","g'","G'","g'","G'","g'","Zh'","zh'","Z'","z'","K'","k'","K'","k'","K'","k'","K'","k'","N'","n'",'Ng','ng',"P'","p'",'Kh','kh',"S'","s'","T'","t'",'U','u',"U'","u'","Kh'","kh'",'Tts','tts',"Ch'","ch'","Ch'","ch'",'H','h','Ch','ch',"Ch'","ch'",'`','Zh','zh',"K'","k'",'[?]','[?]',"N'","n'",'[?]','[?]','Ch','ch','[?]','[?]','[?]','a','a','A','a','Ae','ae','Ie','ie','@','@','@','@','Zh','zh','Z','z','Dz','dz','I','i','I','i','O','o','O','o','O','o','E','e','U','u','U','u','U','u','Ch','ch','[?]','[?]','Y','y','[?]','[?]','[?]','[?]','[?]',
+);
diff --git a/cacert/www/utf8_to_ascii/db/x05.php b/cacert/www/utf8_to_ascii/db/x05.php
new file mode 100644 (file)
index 0000000..4a19341
--- /dev/null
@@ -0,0 +1,4 @@
+<?php
+$UTF8_TO_ASCII[0x05] = array(
+'[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','A','B','G','D','E','Z','E','E','T`','Zh','I','L','Kh','Ts','K','H','Dz','Gh','Ch','M','Y','N','Sh','O','Ch`','P','J','Rh','S','V','T','R','Ts`','W','P`','K`','O','F','[?]','[?]','<',"'",'/','!',',','?','.','[?]','a','b','g','d','e','z','e','e','t`','zh','i','l','kh','ts','k','h','dz','gh','ch','m','y','n','sh','o','ch`','p','j','rh','s','v','t','r','ts`','w','p`','k`','o','f','ew','[?]','.','-','[?]','[?]','[?]','[?]','[?]','[?]','','','','','','','','','','','','','','','','','','[?]','','','','','','','','','','','','','','@','e','a','o','i','e','e','a','a','o','[?]','u',"'",'','','','','','',':','','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','','b','g','d','h','v','z','kh','t','y','k','k','l','m','m','n','n','s','`','p','p','ts','ts','q','r','sh','t','[?]','[?]','[?]','[?]','[?]','V','oy','i',"'",'"','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]',
+);
diff --git a/cacert/www/utf8_to_ascii/db/x06.php b/cacert/www/utf8_to_ascii/db/x06.php
new file mode 100644 (file)
index 0000000..f73a603
--- /dev/null
@@ -0,0 +1,4 @@
+<?php
+$UTF8_TO_ASCII[0x06] = array(
+'[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]',',','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]',';','[?]','[?]','[?]','?','[?]','','a',"'","w'",'',"y'",'','b','@','t','th','j','H','kh','d','dh','r','z','s','sh','S','D','T','Z','`','G','[?]','[?]','[?]','[?]','[?]','','f','q','k','l','m','n','h','w','~','y','an','un','in','a','u','i','W','','',"'","'",'[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','0','1','2','3','4','5','6','7','8','9','%','.',',','*','[?]','[?]','',"'","'","'",'',"'","'w","'u","'y",'tt','tth','b','t','T','p','th','bh',"'h",'H','ny','dy','H','ch','cch','dd','D','D','Dt','dh','ddh','d','D','D','rr','R','R','R','R','R','R','j','R','S','S','S','S','S','T','GH','F','F','F','v','f','ph','Q','Q','kh','k','K','K','ng','K','g','G','N','G','G','G','L','L','L','L','N','N','N','N','N','h','Ch','hy','h','H','@','W','oe','oe','u','yu','yu','W','v','y','Y','Y','W','','','y',"y'",'.','ae','','','','','','','','@','#','','','','','','','','','','','^','','','','','[?]','[?]','0','1','2','3','4','5','6','7','8','9','Sh','D','Gh','&','+m',
+);
diff --git a/cacert/www/utf8_to_ascii/db/x07.php b/cacert/www/utf8_to_ascii/db/x07.php
new file mode 100644 (file)
index 0000000..332cc67
--- /dev/null
@@ -0,0 +1,4 @@
+<?php
+$UTF8_TO_ASCII[0x07] = array(
+'//','/',',','!','!','-',',',',',';','?','~','{','}','*','[?]','',"'",'','b','g','g','d','d','h','w','z','H','t','t','y','yh','k','l','m','n','s','s','`','p','p','S','q','r','sh','t','[?]','[?]','[?]','a','a','a','A','A','A','e','e','e','E','i','i','u','u','u','o','','`',"'",'','','X','Q','@','@','|','+','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','h','sh','n','r','b','L','k',"'",'v','m','f','dh','th','l','g','ny','s','d','z','t','y','p','j','ch','tt','hh','kh','th','z','sh','s','d','t','z','`','gh','q','w','a','aa','i','ee','u','oo','e','ey','o','oa','','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]',
+);
diff --git a/cacert/www/utf8_to_ascii/db/x09.php b/cacert/www/utf8_to_ascii/db/x09.php
new file mode 100644 (file)
index 0000000..8083d84
--- /dev/null
@@ -0,0 +1,4 @@
+<?php
+$UTF8_TO_ASCII[0x09] = array(
+
+);
diff --git a/cacert/www/utf8_to_ascii/db/x0a.php b/cacert/www/utf8_to_ascii/db/x0a.php
new file mode 100644 (file)
index 0000000..8c7897c
--- /dev/null
@@ -0,0 +1,4 @@
+<?php
+$UTF8_TO_ASCII[0x0a] = array(
+'[?]','N','N','H','[?]','a','aa','i','ii','u','uu','R','L','eN','e','e','ai','oN','o','o','au','k','kh','g','gh','ng','c','ch','j','jh','ny','tt','tth','dd','ddh','nn','t','th','d','dh','n','nnn','p','ph','b','bh','m','y','r','rr','l','l','lll','v','sh','ss','s','h','[?]','[?]',"'","'",'aa','i','ii','u','uu','R','RR','eN','e','e','ai','oN','o','o','au','','[?]','[?]','AUM',"'","'",'`',"'",'[?]','[?]','[?]','q','khh','ghh','z','dddh','rh','f','yy','RR','LL','L','LL',' / ',' // ','0','1','2','3','4','5','6','7','8','9','.','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','N','N','H','[?]','a','aa','i','ii','u','uu','R','RR','[?]','[?]','e','ai','[?]','[?]','o','au','k','kh','g','gh','ng','c','ch','j','jh','ny','tt','tth','dd','ddh','nn','t','th','d','dh','n','[?]','p','ph','b','bh','m','y','r','[?]','l','[?]','[?]','[?]','sh','ss','s','h','[?]','[?]',"'",'[?]','aa','i','ii','u','uu','R','RR','[?]','[?]','e','ai','[?]','[?]','o','au','','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','+','[?]','[?]','[?]','[?]','rr','rh','[?]','yy','RR','LL','L','LL','[?]','[?]','0','1','2','3','4','5','6','7','8','9',"r'",'r`','Rs','Rs','1/','2/','3/','4/',' 1 - 1/','/16','','[?]','[?]','[?]','[?]',
+);
diff --git a/cacert/www/utf8_to_ascii/db/x0b.php b/cacert/www/utf8_to_ascii/db/x0b.php
new file mode 100644 (file)
index 0000000..79dc403
--- /dev/null
@@ -0,0 +1,4 @@
+<?php
+$UTF8_TO_ASCII[0x0b] = array(
+'[?]','[?]','N','[?]','[?]','a','aa','i','ii','u','uu','[?]','[?]','[?]','[?]','ee','ai','[?]','[?]','oo','au','k','kh','g','gh','ng','c','ch','j','jh','ny','tt','tth','dd','ddh','nn','t','th','d','dh','n','[?]','p','ph','b','bb','m','y','r','[?]','l','ll','[?]','v','sh','[?]','s','h','[?]','[?]',"'",'[?]','aa','i','ii','u','uu','[?]','[?]','[?]','[?]','ee','ai','[?]','[?]','oo','au','','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','khh','ghh','z','rr','[?]','f','[?]','[?]','[?]','[?]','[?]','[?]','[?]','0','1','2','3','4','5','6','7','8','9','N','H','','','G.E.O.','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','N','N','H','[?]','a','aa','i','ii','u','uu','R','[?]','eN','[?]','e','ai','oN','[?]','o','au','k','kh','g','gh','ng','c','ch','j','jh','ny','tt','tth','dd','ddh','nn','t','th','d','dh','n','[?]','p','ph','b','bh','m','ya','r','[?]','l','ll','[?]','v','sh','ss','s','h','[?]','[?]',"'","'",'aa','i','ii','u','uu','R','RR','eN','[?]','e','ai','oN','[?]','o','au','','[?]','[?]','AUM','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','RR','[?]','[?]','[?]','[?]','[?]','0','1','2','3','4','5','6','7','8','9','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]',
+);
diff --git a/cacert/www/utf8_to_ascii/db/x0c.php b/cacert/www/utf8_to_ascii/db/x0c.php
new file mode 100644 (file)
index 0000000..ef27851
--- /dev/null
@@ -0,0 +1,4 @@
+<?php
+$UTF8_TO_ASCII[0x0c] = array(
+'[?]','N','N','H','[?]','a','aa','i','ii','u','uu','R','L','[?]','[?]','e','ai','[?]','[?]','o','au','k','kh','g','gh','ng','c','ch','j','jh','ny','tt','tth','dd','ddh','nn','t','th','d','dh','n','[?]','p','ph','b','bh','m','y','r','[?]','l','ll','[?]','','sh','ss','s','h','[?]','[?]',"'","'",'aa','i','ii','u','uu','R','[?]','[?]','[?]','e','ai','[?]','[?]','o','au','','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','+','+','[?]','[?]','[?]','[?]','rr','rh','[?]','yy','RR','LL','[?]','[?]','[?]','[?]','0','1','2','3','4','5','6','7','8','9','','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','N','H','[?]','a','aa','i','ii','u','uu','[?]','[?]','[?]','e','ee','ai','[?]','o','oo','au','k','[?]','[?]','[?]','ng','c','[?]','j','[?]','ny','tt','[?]','[?]','[?]','nn','t','[?]','[?]','[?]','n','nnn','p','[?]','[?]','[?]','m','y','r','rr','l','ll','lll','v','[?]','ss','s','h','[?]','[?]','[?]','[?]','aa','i','ii','u','uu','[?]','[?]','[?]','e','ee','ai','[?]','o','oo','au','','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','+','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','0','1','2','3','4','5','6','7','8','9','+10+','+100+','+1000+','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]',
+);
diff --git a/cacert/www/utf8_to_ascii/db/x0d.php b/cacert/www/utf8_to_ascii/db/x0d.php
new file mode 100644 (file)
index 0000000..e27f3e7
--- /dev/null
@@ -0,0 +1,4 @@
+<?php
+$UTF8_TO_ASCII[0x0d] = array(
+'[?]','N','N','H','[?]','a','aa','i','ii','u','uu','R','L','[?]','e','ee','ai','[?]','o','oo','au','k','kh','g','gh','ng','c','ch','j','jh','ny','tt','tth','dd','ddh','nn','t','th','d','dh','n','[?]','p','ph','b','bh','m','y','r','rr','l','ll','[?]','v','sh','ss','s','h','[?]','[?]','[?]','[?]','aa','i','ii','u','uu','R','RR','[?]','e','ee','ai','[?]','o','oo','au','','[?]','[?]','[?]','[?]','[?]','[?]','[?]','+','+','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','RR','LL','[?]','[?]','[?]','[?]','0','1','2','3','4','5','6','7','8','9','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','N','H','[?]','a','aa','i','ii','u','uu','R','L','[?]','e','ee','ai','[?]','o','oo','au','k','kh','g','gh','ng','c','ch','j','jh','ny','tt','tth','dd','ddh','nn','t','th','d','dh','n','[?]','p','ph','b','bh','m','y','r','rr','l','ll','[?]','v','sh','ss','s','h','[?]','[?]','[?]','[?]','aa','i','ii','u','uu','R','RR','[?]','e','ee','ai','[?]','o','oo','au','','[?]','[?]','[?]','[?]','[?]','[?]','[?]','+','+','[?]','[?]','[?]','[?]','[?]','[?]','[?]','lll','[?]','RR','LL','[?]','[?]','[?]','[?]','0','1','2','3','4','5','6','7','8','9','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]',
+);
diff --git a/cacert/www/utf8_to_ascii/db/x0e.php b/cacert/www/utf8_to_ascii/db/x0e.php
new file mode 100644 (file)
index 0000000..1266474
--- /dev/null
@@ -0,0 +1,4 @@
+<?php
+$UTF8_TO_ASCII[0x0e] = array(
+'[?]','[?]','N','H','[?]','a','aa','i','ii','u','uu','R','L','[?]','e','ee','ai','[?]','o','oo','au','k','kh','g','gh','ng','c','ch','j','jh','ny','tt','tth','dd','ddh','nn','t','th','d','dh','n','[?]','p','ph','b','bh','m','y','r','rr','l','ll','lll','v','sh','ss','s','h','[?]','[?]','[?]','[?]','aa','i','ii','u','uu','R','[?]','[?]','e','ee','ai','','o','oo','au','','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','+','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','RR','LL','[?]','[?]','[?]','[?]','0','1','2','3','4','5','6','7','8','9','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','N','H','[?]','a','aa','ae','aae','i','ii','u','uu','R','RR','L','LL','e','ee','ai','o','oo','au','[?]','[?]','[?]','k','kh','g','gh','ng','nng','c','ch','j','jh','ny','jny','nyj','tt','tth','dd','ddh','nn','nndd','t','th','d','dh','n','[?]','nd','p','ph','b','bh','m','mb','y','r','[?]','l','[?]','[?]','v','sh','ss','s','h','ll','f','[?]','[?]','[?]','','[?]','[?]','[?]','[?]','aa','ae','aae','i','ii','u','[?]','uu','[?]','R','e','ee','ai','o','oo','au','L','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','RR','LL',' . ','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]',
+);
diff --git a/cacert/www/utf8_to_ascii/db/x0f.php b/cacert/www/utf8_to_ascii/db/x0f.php
new file mode 100644 (file)
index 0000000..59e13ee
--- /dev/null
@@ -0,0 +1,4 @@
+<?php
+$UTF8_TO_ASCII[0x0f] = array(
+'[?]','k','kh','kh','kh','kh','kh','ng','cch','ch','ch','ch','ch','y','d','t','th','th','th','n','d','t','th','th','th','n','b','p','ph','f','ph','f','ph','m','y','r','R','l','L','w','s','s','s','h','l','`','h','~','a','a','aa','am','i','ii','ue','uue','u','uu',"'",'[?]','[?]','[?]','[?]','Bh.','e','ae','o','ai','ai','ao','+','','','','','','','M','',' * ','0','1','2','3','4','5','6','7','8','9',' // ',' /// ','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','k','kh','[?]','kh','[?]','[?]','ng','ch','[?]','s','[?]','[?]','ny','[?]','[?]','[?]','[?]','[?]','[?]','d','h','th','th','[?]','n','b','p','ph','f','ph','f','[?]','m','y','r','[?]','l','[?]','w','[?]','[?]','s','h','[?]','`','','~','a','','aa','am','i','ii','y','yy','u','uu','[?]','o','l','ny','[?]','[?]','e','ei','o','ay','ai','[?]','+','[?]','','','','','','M','[?]','[?]','0','1','2','3','4','5','6','7','8','9','[?]','[?]','hn','hm','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]',
+);
diff --git a/cacert/www/utf8_to_ascii/db/x10.php b/cacert/www/utf8_to_ascii/db/x10.php
new file mode 100644 (file)
index 0000000..0f68ddf
--- /dev/null
@@ -0,0 +1,4 @@
+<?php
+$UTF8_TO_ASCII[0x10] = array(
+'AUM','','','','','','','',' // ',' * ','','-',' / ',' / ',' // ',' -/ ',' +/ ',' X/ ',' /XX/ ',' /X/ ',', ','','','','','','','','','','','','0','1','2','3','4','5','6','7','8','9','.5','1.5','2.5','3.5','4.5','5.5','6.5','7.5','8.5','-.5','+','*','^','_','','~','[?]',']','[[',']]','','','k','kh','g','gh','ng','c','ch','j','[?]','ny','tt','tth','dd','ddh','nn','t','th','d','dh','n','p','ph','b','bh','m','ts','tsh','dz','dzh','w','zh','z',"'",'y','r','l','sh','ssh','s','h','a','kss','r','[?]','[?]','[?]','[?]','[?]','[?]','aa','i','ii','u','uu','R','RR','L','LL','e','ee','o','oo','M','H','i','ii','','','','','','','','','','','[?]','[?]','[?]','[?]','k','kh','g','gh','ng','c','ch','j','[?]','ny','tt','tth','dd','ddh','nn','t','th','d','dh','n','p','ph','b','bh','m','ts','tsh','dz','dzh','w','zh','z',"'",'y','r','l','sh','ss','s','h','a','kss','w','y','r','[?]','X',' :X: ',' /O/ ',' /o/ ',' \\o\ ',' (O) ','','','','','','','','','','[?]','[?]','','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]',
+);
diff --git a/cacert/www/utf8_to_ascii/db/x11.php b/cacert/www/utf8_to_ascii/db/x11.php
new file mode 100644 (file)
index 0000000..aef66bf
--- /dev/null
@@ -0,0 +1,4 @@
+<?php
+$UTF8_TO_ASCII[0x11] = array(
+'k','kh','g','gh','ng','c','ch','j','jh','ny','nny','tt','tth','dd','ddh','nn','tt','th','d','dh','n','p','ph','b','bh','m','y','r','l','w','s','h','ll','a','[?]','i','ii','u','uu','e','[?]','o','au','[?]','aa','i','ii','u','uu','e','ai','[?]','[?]','[?]','N',"'",':','','[?]','[?]','[?]','[?]','[?]','[?]','0','1','2','3','4','5','6','7','8','9',' / ',' // ','n*','r*','l*','e*','sh','ss','R','RR','L','LL','R','RR','L','LL','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','A','B','G','D','E','V','Z','T`','I','K','L','M','N','O','P','Zh','R','S','T','U','P`','K`',"G'",'Q','Sh','Ch`','C`',"Z'",'C','Ch','X','J','H','E','Y','W','Xh','OE','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','a','b','g','d','e','v','z','t`','i','k','l','m','n','o','p','zh','r','s','t','u','p`','k`',"g'",'q','sh','ch`','c`',"z'",'c','ch','x','j','h','e','y','w','xh','oe','f','[?]','[?]','[?]','[?]',' // ','[?]','[?]','[?]',
+);
diff --git a/cacert/www/utf8_to_ascii/db/x12.php b/cacert/www/utf8_to_ascii/db/x12.php
new file mode 100644 (file)
index 0000000..a1f7460
--- /dev/null
@@ -0,0 +1,4 @@
+<?php
+$UTF8_TO_ASCII[0x12] = array(
+'g','gg','n','d','dd','r','m','b','bb','s','ss','','j','jj','c','k','t','p','h','ng','nn','nd','nb','dg','rn','rr','rh','rN','mb','mN','bg','bn','','bs','bsg','bst','bsb','bss','bsj','bj','bc','bt','bp','bN','bbN','sg','sn','sd','sr','sm','sb','sbg','sss','s','sj','sc','sk','st','sp','sh','','','','','Z','g','d','m','b','s','Z','','j','c','t','p','N','j','','','','','ck','ch','','','pb','pN','hh','Q','[?]','[?]','[?]','[?]','[?]','','','a','ae','ya','yae','eo','e','yeo','ye','o','wa','wae','oe','yo','u','weo','we','wi','yu','eu','yi','i','a-o','a-u','ya-o','ya-yo','eo-o','eo-u','eo-eu','yeo-o','yeo-u','o-eo','o-e','o-ye','o-o','o-u','yo-ya','yo-yae','yo-yeo','yo-o','yo-i','u-a','u-ae','u-eo-eu','u-ye','u-u','yu-a','yu-eo','yu-e','yu-yeo','yu-ye','yu-u','yu-i','eu-u','eu-eu','yi-u','i-a','i-ya','i-o','i-u','i-eu','i-U','U','U-eo','U-u','U-i','UU','[?]','[?]','[?]','[?]','[?]','g','gg','gs','n','nj','nh','d','l','lg','lm','lb','ls','lt','lp','lh','m','b','bs','s','ss','ng','j','c','k','t','p','h','gl','gsg','ng','nd','ns','nZ','nt','dg','tl','lgs','ln','ld','lth','ll','lmg','lms','lbs','lbh','rNp','lss','lZ','lk','lQ','mg','ml','mb','ms','mss','mZ','mc','mh','mN','bl','bp','ph','pN','sg','sd','sl','sb','Z','g','ss','','kh','N','Ns','NZ','pb','pN','hn','hl','hm','hb','Q','[?]','[?]','[?]','[?]','[?]',
+);
diff --git a/cacert/www/utf8_to_ascii/db/x13.php b/cacert/www/utf8_to_ascii/db/x13.php
new file mode 100644 (file)
index 0000000..d4b14a2
--- /dev/null
@@ -0,0 +1,4 @@
+<?php
+$UTF8_TO_ASCII[0x13] = array(
+'ha','hu','hi','haa','hee','he','ho','[?]','la','lu','li','laa','lee','le','lo','lwa','hha','hhu','hhi','hhaa','hhee','hhe','hho','hhwa','ma','mu','mi','maa','mee','me','mo','mwa','sza','szu','szi','szaa','szee','sze','szo','szwa','ra','ru','ri','raa','ree','re','ro','rwa','sa','su','si','saa','see','se','so','swa','sha','shu','shi','shaa','shee','she','sho','shwa','qa','qu','qi','qaa','qee','qe','qo','[?]','qwa','[?]','qwi','qwaa','qwee','qwe','[?]','[?]','qha','qhu','qhi','qhaa','qhee','qhe','qho','[?]','qhwa','[?]','qhwi','qhwaa','qhwee','qhwe','[?]','[?]','ba','bu','bi','baa','bee','be','bo','bwa','va','vu','vi','vaa','vee','ve','vo','vwa','ta','tu','ti','taa','tee','te','to','twa','ca','cu','ci','caa','cee','ce','co','cwa','xa','xu','xi','xaa','xee','xe','xo','[?]','xwa','[?]','xwi','xwaa','xwee','xwe','[?]','[?]','na','nu','ni','naa','nee','ne','no','nwa','nya','nyu','nyi','nyaa','nyee','nye','nyo','nywa',"'a","'u",'[?]',"'aa","'ee","'e","'o","'wa",'ka','ku','ki','kaa','kee','ke','ko','[?]','kwa','[?]','kwi','kwaa','kwee','kwe','[?]','[?]','kxa','kxu','kxi','kxaa','kxee','kxe','kxo','[?]','kxwa','[?]','kxwi','kxwaa','kxwee','kxwe','[?]','[?]','wa','wu','wi','waa','wee','we','wo','[?]','`a','`u','`i','`aa','`ee','`e','`o','[?]','za','zu','zi','zaa','zee','ze','zo','zwa','zha','zhu','zhi','zhaa','zhee','zhe','zho','zhwa','ya','yu','yi','yaa','yee','ye','yo','[?]','da','du','di','daa','dee','de','do','dwa','dda','ddu','ddi','ddaa','ddee','dde','ddo','ddwa',
+);
diff --git a/cacert/www/utf8_to_ascii/db/x14.php b/cacert/www/utf8_to_ascii/db/x14.php
new file mode 100644 (file)
index 0000000..f19c737
--- /dev/null
@@ -0,0 +1,4 @@
+<?php
+$UTF8_TO_ASCII[0x14] = array(
+'ja','ju','ji','jaa','jee','je','jo','jwa','ga','gu','gi','gaa','gee','ge','go','[?]','gwa','[?]','gwi','gwaa','gwee','gwe','[?]','[?]','gga','ggu','ggi','ggaa','ggee','gge','ggo','[?]','tha','thu','thi','thaa','thee','the','tho','thwa','cha','chu','chi','chaa','chee','che','cho','chwa','pha','phu','phi','phaa','phee','phe','pho','phwa','tsa','tsu','tsi','tsaa','tsee','tse','tso','tswa','tza','tzu','tzi','tzaa','tzee','tze','tzo','[?]','fa','fu','fi','faa','fee','fe','fo','fwa','pa','pu','pi','paa','pee','pe','po','pwa','rya','mya','fya','[?]','[?]','[?]','[?]','[?]','[?]',' ','.',',',';',':',':: ','?','//','1','2','3','4','5','6','7','8','9','10+','20+','30+','40+','50+','60+','70+','80+','90+','100+','10,000+','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','a','e','i','o','u','v','ga','ka','ge','gi','go','gu','gv','ha','he','hi','ho','hu','hv','la','le','li','lo','lu','lv','ma','me','mi','mo','mu','na','hna','nah','ne','ni','no','nu','nv','qua','que','qui','quo','quu','quv','sa','s','se','si','so','su','sv','da','ta','de','te','di','ti','do','du','dv','dla','tla','tle','tli','tlo','tlu','tlv','tsa','tse','tsi','tso','tsu','tsv','wa','we','wi','wo','wu','wv','ya','ye','yi','yo','yu','yv','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]',
+);
diff --git a/cacert/www/utf8_to_ascii/db/x15.php b/cacert/www/utf8_to_ascii/db/x15.php
new file mode 100644 (file)
index 0000000..bfe644f
--- /dev/null
@@ -0,0 +1,4 @@
+<?php
+$UTF8_TO_ASCII[0x15] = array(
+'[?]','e','aai','i','ii','o','oo','oo','ee','i','a','aa','we','we','wi','wi','wii','wii','wo','wo','woo','woo','woo','wa','wa','waa','waa','waa','ai','w',"'",'t','k','sh','s','n','w','n','[?]','w','c','?','l','en','in','on','an','pe','paai','pi','pii','po','poo','poo','hee','hi','pa','paa','pwe','pwe','pwi','pwi','pwii','pwii','pwo','pwo','pwoo','pwoo','pwa','pwa','pwaa','pwaa','pwaa','p','p','h','te','taai','ti','tii','to','too','too','dee','di','ta','taa','twe','twe','twi','twi','twii','twii','two','two','twoo','twoo','twa','twa','twaa','twaa','twaa','t','tte','tti','tto','tta','ke','kaai','ki','kii','ko','koo','koo','ka','kaa','kwe','kwe','kwi','kwi','kwii','kwii','kwo','kwo','kwoo','kwoo','kwa','kwa','kwaa','kwaa','kwaa','k','kw','keh','kih','koh','kah','ce','caai','ci','cii','co','coo','coo','ca','caa','cwe','cwe','cwi','cwi','cwii','cwii','cwo','cwo','cwoo','cwoo','cwa','cwa','cwaa','cwaa','cwaa','c','th','me','maai','mi','mii','mo','moo','moo','ma','maa','mwe','mwe','mwi','mwi','mwii','mwii','mwo','mwo','mwoo','mwoo','mwa','mwa','mwaa','mwaa','mwaa','m','m','mh','m','m','ne','naai','ni','nii','no','noo','noo','na','naa','nwe','nwe','nwa','nwa','nwaa','nwaa','nwaa','n','ng','nh','le','laai','li','lii','lo','loo','loo','la','laa','lwe','lwe','lwi','lwi','lwii','lwii','lwo','lwo','lwoo','lwoo','lwa','lwa','lwaa','lwaa','l','l','l','se','saai','si','sii','so','soo','soo','sa','saa','swe','swe','swi','swi','swii','swii','swo','swo','swoo','swoo',
+);
diff --git a/cacert/www/utf8_to_ascii/db/x16.php b/cacert/www/utf8_to_ascii/db/x16.php
new file mode 100644 (file)
index 0000000..b49f3a0
--- /dev/null
@@ -0,0 +1,4 @@
+<?php
+$UTF8_TO_ASCII[0x16] = array(
+'swa','swa','swaa','swaa','swaa','s','s','sw','s','sk','skw','sW','spwa','stwa','skwa','scwa','she','shi','shii','sho','shoo','sha','shaa','shwe','shwe','shwi','shwi','shwii','shwii','shwo','shwo','shwoo','shwoo','shwa','shwa','shwaa','shwaa','sh','ye','yaai','yi','yii','yo','yoo','yoo','ya','yaa','ywe','ywe','ywi','ywi','ywii','ywii','ywo','ywo','ywoo','ywoo','ywa','ywa','ywaa','ywaa','ywaa','y','y','y','yi','re','re','le','raai','ri','rii','ro','roo','lo','ra','raa','la','rwaa','rwaa','r','r','r','fe','faai','fi','fii','fo','foo','fa','faa','fwaa','fwaa','f','the','the','thi','thi','thii','thii','tho','thoo','tha','thaa','thwaa','thwaa','th','tthe','tthi','ttho','ttha','tth','tye','tyi','tyo','tya','he','hi','hii','ho','hoo','ha','haa','h','h','hk','qaai','qi','qii','qo','qoo','qa','qaa','q','tlhe','tlhi','tlho','tlha','re','ri','ro','ra','ngaai','ngi','ngii','ngo','ngoo','nga','ngaa','ng','nng','she','shi','sho','sha','the','thi','tho','tha','th','lhi','lhii','lho','lhoo','lha','lhaa','lh','the','thi','thii','tho','thoo','tha','thaa','th','b','e','i','o','a','we','wi','wo','wa','ne','ni','no','na','ke','ki','ko','ka','he','hi','ho','ha','ghu','gho','ghe','ghee','ghi','gha','ru','ro','re','ree','ri','ra','wu','wo','we','wee','wi','wa','hwu','hwo','hwe','hwee','hwi','hwa','thu','tho','the','thee','thi','tha','ttu','tto','tte','ttee','tti','tta','pu','po','pe','pee','pi','pa','p','gu','go','ge','gee','gi','ga','khu','kho','khe','khee','khi','kha','kku','kko','kke','kkee','kki',
+);
diff --git a/cacert/www/utf8_to_ascii/db/x17.php b/cacert/www/utf8_to_ascii/db/x17.php
new file mode 100644 (file)
index 0000000..ab17dbb
--- /dev/null
@@ -0,0 +1,4 @@
+<?php
+$UTF8_TO_ASCII[0x17] = array(
+'kka','kk','nu','no','ne','nee','ni','na','mu','mo','me','mee','mi','ma','yu','yo','ye','yee','yi','ya','ju','ju','jo','je','jee','ji','ji','ja','jju','jjo','jje','jjee','jji','jja','lu','lo','le','lee','li','la','dlu','dlo','dle','dlee','dli','dla','lhu','lho','lhe','lhee','lhi','lha','tlhu','tlho','tlhe','tlhee','tlhi','tlha','tlu','tlo','tle','tlee','tli','tla','zu','zo','ze','zee','zi','za','z','z','dzu','dzo','dze','dzee','dzi','dza','su','so','se','see','si','sa','shu','sho','she','shee','shi','sha','sh','tsu','tso','tse','tsee','tsi','tsa','chu','cho','che','chee','chi','cha','ttsu','ttso','ttse','ttsee','ttsi','ttsa','X','.','qai','ngai','nngi','nngii','nngo','nngoo','nnga','nngaa','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]',' ','b','l','f','s','n','h','d','t','c','q','m','g','ng','z','r','a','o','u','e','i','ch','th','ph','p','x','p','<','>','[?]','[?]','[?]','f','v','u','yr','y','w','th','th','a','o','ac','ae','o','o','o','oe','on','r','k','c','k','g','ng','g','g','w','h','h','h','h','n','n','n','i','e','j','g','ae','a','eo','p','z','s','s','s','c','z','t','t','d','b','b','p','p','e','m','m','m','l','l','ng','ng','d','o','ear','ior','qu','qu','qu','s','yr','yr','yr','q','x','.',':','+','17','18','19','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]',
+);
diff --git a/cacert/www/utf8_to_ascii/db/x18.php b/cacert/www/utf8_to_ascii/db/x18.php
new file mode 100644 (file)
index 0000000..94cb1b7
--- /dev/null
@@ -0,0 +1,4 @@
+<?php
+$UTF8_TO_ASCII[0x18] = array(
+'[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','k','kh','g','gh','ng','c','ch','j','jh','ny','t','tth','d','ddh','nn','t','th','d','dh','n','p','ph','b','bh','m','y','r','l','v','sh','ss','s','h','l','q','a','aa','i','ii','u','uk','uu','uuv','ry','ryy','ly','lyy','e','ai','oo','oo','au','a','aa','aa','i','ii','y','yy','u','uu','ua','oe','ya','ie','e','ae','ai','oo','au','M','H','a`','','','','r','','!','','','','','','.',' // ',':','+','++',' * ',' /// ','KR',"'",'[?]','[?]','[?]','0','1','2','3','4','5','6','7','8','9','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]',
+);
diff --git a/cacert/www/utf8_to_ascii/db/x1e.php b/cacert/www/utf8_to_ascii/db/x1e.php
new file mode 100644 (file)
index 0000000..2901940
--- /dev/null
@@ -0,0 +1,4 @@
+<?php
+$UTF8_TO_ASCII[0x1e] = array(
+' @ ',' ... ',', ','. ',': ',' // ','','-',', ','. ','','','','','','[?]','0','1','2','3','4','5','6','7','8','9','[?]','[?]','[?]','[?]','[?]','[?]','a','e','i','o','u','O','U','ee','n','ng','b','p','q','g','m','l','s','sh','t','d','ch','j','y','r','w','f','k','kha','ts','z','h','zr','lh','zh','ch','-','e','i','o','u','O','U','ng','b','p','q','g','m','t','d','ch','j','ts','y','w','k','g','h','jy','ny','dz','e','i','iy','U','u','ng','k','g','h','p','sh','t','d','j','f','g','h','ts','z','r','ch','zh','i','k','r','f','zh','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','H','X','W','M',' 3 ',' 333 ','a','i','k','ng','c','tt','tth','dd','nn','t','d','p','ph','ss','zh','z','a','t','zh','gh','ng','c','jh','tta','ddh','t','dh','ss','cy','zh','z','u','y','bh',"'",'[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]',
+);
diff --git a/cacert/www/utf8_to_ascii/db/x1f.php b/cacert/www/utf8_to_ascii/db/x1f.php
new file mode 100644 (file)
index 0000000..ade22c3
--- /dev/null
@@ -0,0 +1,4 @@
+<?php
+$UTF8_TO_ASCII[0x1f] = array(
+
+);
diff --git a/cacert/www/utf8_to_ascii/db/x20.php b/cacert/www/utf8_to_ascii/db/x20.php
new file mode 100644 (file)
index 0000000..0bd5829
--- /dev/null
@@ -0,0 +1,4 @@
+<?php
+$UTF8_TO_ASCII[0x20] = array(
+
+);
diff --git a/cacert/www/utf8_to_ascii/db/x21.php b/cacert/www/utf8_to_ascii/db/x21.php
new file mode 100644 (file)
index 0000000..eebe2ac
--- /dev/null
@@ -0,0 +1,4 @@
+<?php
+$UTF8_TO_ASCII[0x21] = array(
+
+);
diff --git a/cacert/www/utf8_to_ascii/db/x22.php b/cacert/www/utf8_to_ascii/db/x22.php
new file mode 100644 (file)
index 0000000..c95256f
--- /dev/null
@@ -0,0 +1,4 @@
+<?php
+$UTF8_TO_ASCII[0x22] = array(
+
+);
diff --git a/cacert/www/utf8_to_ascii/db/x23.php b/cacert/www/utf8_to_ascii/db/x23.php
new file mode 100644 (file)
index 0000000..ebda70a
--- /dev/null
@@ -0,0 +1,4 @@
+<?php
+$UTF8_TO_ASCII[0x23] = array(
+
+);
diff --git a/cacert/www/utf8_to_ascii/db/x24.php b/cacert/www/utf8_to_ascii/db/x24.php
new file mode 100644 (file)
index 0000000..10949a6
--- /dev/null
@@ -0,0 +1,4 @@
+<?php
+$UTF8_TO_ASCII[0x24] = array(
+'A','a','B','b','B','b','B','b','C','c','D','d','D','d','D','d','D','d','D','d','E','e','E','e','E','e','E','e','E','e','F','f','G','g','H','h','H','h','H','h','H','h','H','h','I','i','I','i','K','k','K','k','K','k','L','l','L','l','L','l','L','l','M','m','M','m','M','m','N','n','N','n','N','n','N','n','O','o','O','o','O','o','O','o','P','p','P','p','R','r','R','r','R','r','R','r','S','s','S','s','S','s','S','s','S','s','T','t','T','t','T','t','T','t','U','u','U','u','U','u','U','u','U','u','V','v','V','v','W','w','W','w','W','w','W','w','W','w','X','x','X','x','Y','y','Z','z','Z','z','Z','z','h','t','w','y','a','S','[?]','[?]','[?]','[?]','A','a','A','a','A','a','A','a','A','a','A','a','A','a','A','a','A','a','A','a','A','a','A','a','E','e','E','e','E','e','E','e','E','e','E','e','E','e','E','e','I','i','I','i','O','o','O','o','O','o','O','o','O','o','O','o','O','o','O','o','O','o','O','o','O','o','O','o','U','u','U','u','U','u','U','u','U','u','U','u','U','u','Y','y','Y','y','Y','y','Y','y','[?]','[?]','[?]','[?]','[?]',
+);
diff --git a/cacert/www/utf8_to_ascii/db/x25.php b/cacert/www/utf8_to_ascii/db/x25.php
new file mode 100644 (file)
index 0000000..9eadc4a
--- /dev/null
@@ -0,0 +1,4 @@
+<?php
+$UTF8_TO_ASCII[0x25] = array(
+'a','a','a','a','a','a','a','a','A','A','A','A','A','A','A','A','e','e','e','e','e','e','[?]','[?]','E','E','E','E','E','E','[?]','[?]','e','e','e','e','e','e','e','e','E','E','E','E','E','E','E','E','i','i','i','i','i','i','i','i','I','I','I','I','I','I','I','I','o','o','o','o','o','o','[?]','[?]','O','O','O','O','O','O','[?]','[?]','u','u','u','u','u','u','u','u','[?]','U','[?]','U','[?]','U','[?]','U','o','o','o','o','o','o','o','o','O','O','O','O','O','O','O','O','a','a','e','e','e','e','i','i','o','o','u','u','o','o','[?]','[?]','a','a','a','a','a','a','a','a','A','A','A','A','A','A','A','A','e','e','e','e','e','e','e','e','E','E','E','E','E','E','E','E','o','o','o','o','o','o','o','o','O','O','O','O','O','O','O','O','a','a','a','a','a','[?]','a','a','A','A','A','A','A',"'",'i',"'",'~','"~','e','e','e','[?]','e','e','E','E','E','E','E',"'`","''","'~",'i','i','i','i','[?]','[?]','i','i','I','I','I','I','[?]',"`'","`'",'`~','u','u','u','u','R','R','u','u','U','U','U','U','R','"`',"0x22'",'`','[?]','[?]','o','o','o','[?]','o','o','O','O','O','O','O',"'",'`',
+);
diff --git a/cacert/www/utf8_to_ascii/db/x26.php b/cacert/www/utf8_to_ascii/db/x26.php
new file mode 100644 (file)
index 0000000..fe714a7
--- /dev/null
@@ -0,0 +1,7 @@
+<?php
+$UTF8_TO_ASCII[0x26] = array(
+' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','','','','','-','-','-','-','--','--','||','_',"'","'",',',"'",'"','"',',,','"','+','++','*','*>','.','..','...','.','
+','
+
+','','','','','',' ','%0','%00',"'","''","'''",'`','``','```','^','<','>','*','!!','!?','-','_','-','^','***','--','/','-[',']-','[?]','?!','!?','7','PP','(]','[)','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','','','','','','','0','','','','4','5','6','7','8','9','+','-','=','(',')','n','0','1','2','3','4','5','6','7','8','9','+','-','=','(',')','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','ECU','CL','Cr','FF','L','mil','N','Pts','Rs','W','NS','D','EU','K','T','Dr','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','','','','','','','','','','','','','','','','','','','','','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]',
+);
diff --git a/cacert/www/utf8_to_ascii/db/x27.php b/cacert/www/utf8_to_ascii/db/x27.php
new file mode 100644 (file)
index 0000000..6b1ae42
--- /dev/null
@@ -0,0 +1,4 @@
+<?php
+$UTF8_TO_ASCII[0x27] = array(
+'','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]',' 1/3 ',' 2/3 ',' 1/5 ',' 2/5 ',' 3/5 ',' 4/5 ',' 1/6 ',' 5/6 ',' 1/8 ',' 3/8 ',' 5/8 ',' 7/8 ',' 1/','I','II','III','IV','V','VI','VII','VIII','IX','X','XI','XII','L','C','D','M','i','ii','iii','iv','v','vi','vii','viii','ix','x','xi','xii','l','c','d','m','(D','D)','((|))',')','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','-','|','-','|','-','|','\\','/','\\','/','-','-','~','~','-','|','-','|','-','-','-','|','-','|','|','-','-','-','-','-','-','|','|','|','|','|','|','|','^','V','\\','=','V','^','-','-','|','|','-','-','|','|','=','|','=','=','|','=','|','=','=','=','=','=','=','|','=','|','=','|','\\','/','\\','/','=','=','~','~','|','|','-','|','-','|','-','-','-','|','-','|','|','|','|','|','|','|','-','\\','\\','|','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]',
+);
diff --git a/cacert/www/utf8_to_ascii/db/x28.php b/cacert/www/utf8_to_ascii/db/x28.php
new file mode 100644 (file)
index 0000000..b786737
--- /dev/null
@@ -0,0 +1,4 @@
+<?php
+$UTF8_TO_ASCII[0x28] = array(
+'[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]',
+);
diff --git a/cacert/www/utf8_to_ascii/db/x2e.php b/cacert/www/utf8_to_ascii/db/x2e.php
new file mode 100644 (file)
index 0000000..f4fc8b1
--- /dev/null
@@ -0,0 +1,4 @@
+<?php
+$UTF8_TO_ASCII[0x2e] = array(
+'[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]',
+);
diff --git a/cacert/www/utf8_to_ascii/db/x2f.php b/cacert/www/utf8_to_ascii/db/x2f.php
new file mode 100644 (file)
index 0000000..8cadb42
--- /dev/null
@@ -0,0 +1,4 @@
+<?php
+$UTF8_TO_ASCII[0x2f] = array(
+'','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','','','','','','','','','','','','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]',
+);
diff --git a/cacert/www/utf8_to_ascii/db/x30.php b/cacert/www/utf8_to_ascii/db/x30.php
new file mode 100644 (file)
index 0000000..f0a0d7f
--- /dev/null
@@ -0,0 +1,4 @@
+<?php
+$UTF8_TO_ASCII[0x30] = array(
+'-','-','|','|','-','-','|','|','-','-','|','|','+','+','+','+','+','+','+','+','+','+','+','+','+','+','+','+','+','+','+','+','+','+','+','+','+','+','+','+','+','+','+','+','+','+','+','+','+','+','+','+','+','+','+','+','+','+','+','+','+','+','+','+','+','+','+','+','+','+','+','+','+','+','+','+','-','-','|','|','-','|','+','+','+','+','+','+','+','+','+','+','+','+','+','+','+','+','+','+','+','+','+','+','+','+','+','+','+','+','+','+','+','/','\\','X','-','|','-','|','-','|','-','|','-','|','-','|','#','#','#','#','#','#','#','#','#','#','#','#','#','#','#','#','#','#','#','#','-','|','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','#','#','#','#','#','#','#','#','#','#','#','#','#','#','#','#','#','#','^','^','^','^','>','>','>','>','>','>','V','V','V','V','<','<','<','<','<','<','*','*','*','*','*','*','*','*','*','*','*','*','*','*','*','*','*','*','*','*','*','*','*','*','*','*','*','*','*','*','*','*','*','#','#','#','#','#','^','^','^','O','#','#','#','#','#','#','#','#','[?]','[?]','[?]','[?]','[?]','[?]','[?]',
+);
diff --git a/cacert/www/utf8_to_ascii/db/x31.php b/cacert/www/utf8_to_ascii/db/x31.php
new file mode 100644 (file)
index 0000000..e390265
--- /dev/null
@@ -0,0 +1,4 @@
+<?php
+$UTF8_TO_ASCII[0x31] = array(
+'','','','','','','','','','','','','','','','','','','','','[?]','[?]','[?]','[?]','[?]','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]',
+);
diff --git a/cacert/www/utf8_to_ascii/db/x32.php b/cacert/www/utf8_to_ascii/db/x32.php
new file mode 100644 (file)
index 0000000..e18fd11
--- /dev/null
@@ -0,0 +1,4 @@
+<?php
+$UTF8_TO_ASCII[0x32] = array(
+'[?]','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','[?]','[?]','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','[?]','','','','','','','','','','','','','','','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]',
+);
diff --git a/cacert/www/utf8_to_ascii/db/x33.php b/cacert/www/utf8_to_ascii/db/x33.php
new file mode 100644 (file)
index 0000000..2dbb743
--- /dev/null
@@ -0,0 +1,4 @@
+<?php
+$UTF8_TO_ASCII[0x33] = array(
+' ','a','1','b',"'",'k','2','l','@','c','i','f','/','m','s','p','"','e','3','h','9','o','6','r','^','d','j','g','>','n','t','q',',','*','5','<','-','u','8','v','.','%','[','$','+','x','!','&',';',':','4','\\','0','z','7','(','_','?','w',']','#','y',')','=','[d7]','[d17]','[d27]','[d127]','[d37]','[d137]','[d237]','[d1237]','[d47]','[d147]','[d247]','[d1247]','[d347]','[d1347]','[d2347]','[d12347]','[d57]','[d157]','[d257]','[d1257]','[d357]','[d1357]','[d2357]','[d12357]','[d457]','[d1457]','[d2457]','[d12457]','[d3457]','[d13457]','[d23457]','[d123457]','[d67]','[d167]','[d267]','[d1267]','[d367]','[d1367]','[d2367]','[d12367]','[d467]','[d1467]','[d2467]','[d12467]','[d3467]','[d13467]','[d23467]','[d123467]','[d567]','[d1567]','[d2567]','[d12567]','[d3567]','[d13567]','[d23567]','[d123567]','[d4567]','[d14567]','[d24567]','[d124567]','[d34567]','[d134567]','[d234567]','[d1234567]','[d8]','[d18]','[d28]','[d128]','[d38]','[d138]','[d238]','[d1238]','[d48]','[d148]','[d248]','[d1248]','[d348]','[d1348]','[d2348]','[d12348]','[d58]','[d158]','[d258]','[d1258]','[d358]','[d1358]','[d2358]','[d12358]','[d458]','[d1458]','[d2458]','[d12458]','[d3458]','[d13458]','[d23458]','[d123458]','[d68]','[d168]','[d268]','[d1268]','[d368]','[d1368]','[d2368]','[d12368]','[d468]','[d1468]','[d2468]','[d12468]','[d3468]','[d13468]','[d23468]','[d123468]','[d568]','[d1568]','[d2568]','[d12568]','[d3568]','[d13568]','[d23568]','[d123568]','[d4568]','[d14568]','[d24568]','[d124568]','[d34568]','[d134568]','[d234568]','[d1234568]','[d78]','[d178]','[d278]','[d1278]','[d378]','[d1378]','[d2378]','[d12378]','[d478]','[d1478]','[d2478]','[d12478]','[d3478]','[d13478]','[d23478]','[d123478]','[d578]','[d1578]','[d2578]','[d12578]','[d3578]','[d13578]','[d23578]','[d123578]','[d4578]','[d14578]','[d24578]','[d124578]','[d34578]','[d134578]','[d234578]','[d1234578]','[d678]','[d1678]','[d2678]','[d12678]','[d3678]','[d13678]','[d23678]','[d123678]','[d4678]','[d14678]','[d24678]','[d124678]','[d34678]','[d134678]','[d234678]','[d1234678]','[d5678]','[d15678]','[d25678]','[d125678]','[d35678]','[d135678]','[d235678]','[d1235678]','[d45678]','[d145678]','[d245678]','[d1245678]','[d345678]','[d1345678]','[d2345678]','[d12345678]',
+);
diff --git a/cacert/www/utf8_to_ascii/db/x4d.php b/cacert/www/utf8_to_ascii/db/x4d.php
new file mode 100644 (file)
index 0000000..b53a1c9
--- /dev/null
@@ -0,0 +1,4 @@
+<?php
+$UTF8_TO_ASCII[0x4d] = array(
+
+);
diff --git a/cacert/www/utf8_to_ascii/db/x4e.php b/cacert/www/utf8_to_ascii/db/x4e.php
new file mode 100644 (file)
index 0000000..1d001af
--- /dev/null
@@ -0,0 +1,4 @@
+<?php
+$UTF8_TO_ASCII[0x4e] = array(
+
+);
diff --git a/cacert/www/utf8_to_ascii/db/x4f.php b/cacert/www/utf8_to_ascii/db/x4f.php
new file mode 100644 (file)
index 0000000..d364b33
--- /dev/null
@@ -0,0 +1,4 @@
+<?php
+$UTF8_TO_ASCII[0x4f] = array(
+
+);
diff --git a/cacert/www/utf8_to_ascii/db/x50.php b/cacert/www/utf8_to_ascii/db/x50.php
new file mode 100644 (file)
index 0000000..b258fb9
--- /dev/null
@@ -0,0 +1,4 @@
+<?php
+$UTF8_TO_ASCII[0x50] = array(
+
+);
diff --git a/cacert/www/utf8_to_ascii/db/x51.php b/cacert/www/utf8_to_ascii/db/x51.php
new file mode 100644 (file)
index 0000000..ce59c06
--- /dev/null
@@ -0,0 +1,4 @@
+<?php
+$UTF8_TO_ASCII[0x51] = array(
+
+);
diff --git a/cacert/www/utf8_to_ascii/db/x52.php b/cacert/www/utf8_to_ascii/db/x52.php
new file mode 100644 (file)
index 0000000..5fe2552
--- /dev/null
@@ -0,0 +1,4 @@
+<?php
+$UTF8_TO_ASCII[0x52] = array(
+'[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?]','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]',
+);
diff --git a/cacert/www/utf8_to_ascii/db/x53.php b/cacert/www/utf8_to_ascii/db/x53.php
new file mode 100644 (file)
index 0000000..b649fb8
--- /dev/null
@@ -0,0 +1,4 @@
+<?php
+$UTF8_TO_ASCII[0x53] = array(
+'[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?]','[?]','[?]',
+);
diff --git a/cacert/www/utf8_to_ascii/db/x54.php b/cacert/www/utf8_to_ascii/db/x54.php
new file mode 100644 (file)
index 0000000..f4c66c7
--- /dev/null
@@ -0,0 +1,4 @@
+<?php
+$UTF8_TO_ASCII[0x54] = array(
+' ',', ','. ','"','[JIS]','"','/','0','<','> ','<<','>> ','[','] ','{','} ','[(',')] ','@','X ','[','] ','[[',']] ','((',')) ','[[',']] ','~ ','``',"''",',,','@','1','2','3','4','5','6','7','8','9','','','','','','','~','+','+','+','+','','@',' // ','+10+','+20+','+30+','[?]','[?]','[?]','','','[?]','a','a','i','i','u','u','e','e','o','o','ka','ga','ki','gi','ku','gu','ke','ge','ko','go','sa','za','si','zi','su','zu','se','ze','so','zo','ta','da','ti','di','tu','tu','du','te','de','to','do','na','ni','nu','ne','no','ha','ba','pa','hi','bi','pi','hu','bu','pu','he','be','pe','ho','bo','po','ma','mi','mu','me','mo','ya','ya','yu','yu','yo','yo','ra','ri','ru','re','ro','wa','wa','wi','we','wo','n','vu','[?]','[?]','[?]','[?]','','','','','"','"','[?]','[?]','a','a','i','i','u','u','e','e','o','o','ka','ga','ki','gi','ku','gu','ke','ge','ko','go','sa','za','si','zi','su','zu','se','ze','so','zo','ta','da','ti','di','tu','tu','du','te','de','to','do','na','ni','nu','ne','no','ha','ba','pa','hi','bi','pi','hu','bu','pu','he','be','pe','ho','bo','po','ma','mi','mu','me','mo','ya','ya','yu','yu','yo','yo','ra','ri','ru','re','ro','wa','wa','wi','we','wo','n','vu','ka','ke','va','vi','ve','vo','','','"','"',
+);
diff --git a/cacert/www/utf8_to_ascii/db/x55.php b/cacert/www/utf8_to_ascii/db/x55.php
new file mode 100644 (file)
index 0000000..4156655
--- /dev/null
@@ -0,0 +1,4 @@
+<?php
+$UTF8_TO_ASCII[0x55] = array(
+'[?]','[?]','[?]','[?]','[?]','B','P','M','F','D','T','N','L','G','K','H','J','Q','X','ZH','CH','SH','R','Z','C','S','A','O','E','EH','AI','EI','AU','OU','AN','EN','ANG','ENG','ER','I','U','IU','V','NG','GN','[?]','[?]','[?]','[?]','g','gg','gs','n','nj','nh','d','dd','r','lg','lm','lb','ls','lt','lp','rh','m','b','bb','bs','s','ss','','j','jj','c','k','t','p','h','a','ae','ya','yae','eo','e','yeo','ye','o','wa','wae','oe','yo','u','weo','we','wi','yu','eu','yi','i','','nn','nd','ns','nZ','lgs','ld','lbs','lZ','lQ','mb','ms','mZ','mN','bg','','bsg','bst','bj','bt','bN','bbN','sg','sn','sd','sb','sj','Z','','N','Ns','NZ','pN','hh','Q','yo-ya','yo-yae','yo-i','yu-yeo','yu-ye','yu-i','U','U-i','[?]','','','','','','','','','','','','','','','','','BU','ZI','JI','GU','EE','ENN','OO','ONN','IR','ANN','INN','UNN','IM','NGG','AINN','AUNN','AM','OM','ONG','INNN','P','T','K','H','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]',
+);
diff --git a/cacert/www/utf8_to_ascii/db/x56.php b/cacert/www/utf8_to_ascii/db/x56.php
new file mode 100644 (file)
index 0000000..7faceaf
--- /dev/null
@@ -0,0 +1,4 @@
+<?php
+$UTF8_TO_ASCII[0x56] = array(
+'(g)','(n)','(d)','(r)','(m)','(b)','(s)','()','(j)','(c)','(k)','(t)','(p)','(h)','(ga)','(na)','(da)','(ra)','(ma)','(ba)','(sa)','(a)','(ja)','(ca)','(ka)','(ta)','(pa)','(ha)','(ju)','[?]','[?]','[?]','(1) ','(2) ','(3) ','(4) ','(5) ','(6) ','(7) ','(8) ','(9) ','(10) ','(Yue) ','(Huo) ','(Shui) ','(Mu) ','(Jin) ','(Tu) ','(Ri) ','(Zhu) ','(You) ','(She) ','(Ming) ','(Te) ','(Cai) ','(Zhu) ','(Lao) ','(Dai) ','(Hu) ','(Xue) ','(Jian) ','(Qi) ','(Zi) ','(Xie) ','(Ji) ','(Xiu) ','<<','>>','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','(g)','(n)','(d)','(r)','(m)','(b)','(s)','()','(j)','(c)','(k)','(t)','(p)','(h)','(ga)','(na)','(da)','(ra)','(ma)','(ba)','(sa)','(a)','(ja)','(ca)','(ka)','(ta)','(pa)','(ha)','[?]','[?]','[?]','KIS ','(1) ','(2) ','(3) ','(4) ','(5) ','(6) ','(7) ','(8) ','(9) ','(10) ','(Yue) ','(Huo) ','(Shui) ','(Mu) ','(Jin) ','(Tu) ','(Ri) ','(Zhu) ','(You) ','(She) ','(Ming) ','(Te) ','(Cai) ','(Zhu) ','(Lao) ','(Mi) ','(Nan) ','(Nu) ','(Shi) ','(You) ','(Yin) ','(Zhu) ','(Xiang) ','(Xiu) ','(Xie) ','(Zheng) ','(Shang) ','(Zhong) ','(Xia) ','(Zuo) ','(You) ','(Yi) ','(Zong) ','(Xue) ','(Jian) ','(Qi) ','(Zi) ','(Xie) ','(Ye) ','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','1M','2M','3M','4M','5M','6M','7M','8M','9M','10M','11M','12M','[?]','[?]','[?]','[?]','a','i','u','u','o','ka','ki','ku','ke','ko','sa','si','su','se','so','ta','ti','tu','te','to','na','ni','nu','ne','no','ha','hi','hu','he','ho','ma','mi','mu','me','mo','ya','yu','yo','ra','ri','ru','re','ro','wa','wi','we','wo',
+);
diff --git a/cacert/www/utf8_to_ascii/db/x57.php b/cacert/www/utf8_to_ascii/db/x57.php
new file mode 100644 (file)
index 0000000..2481030
--- /dev/null
@@ -0,0 +1,4 @@
+<?php
+$UTF8_TO_ASCII[0x57] = array(
+'apartment','alpha','ampere','are','inning','inch','won','escudo','acre','ounce','ohm','kai-ri','carat','calorie','gallon','gamma','giga','guinea','curie','guilder','kilo','kilogram','kilometer','kilowatt','gram','gram ton','cruzeiro','krone','case','koruna','co-op','cycle','centime','shilling','centi','cent','dozen','desi','dollar','ton','nano','knot','heights','percent','parts','barrel','piaster','picul','pico','building','farad','feet','bushel','franc','hectare','peso','pfennig','hertz','pence','page','beta','point','volt','hon','pound','hall','horn','micro','mile','mach','mark','mansion','micron','milli','millibar','mega','megaton','meter','yard','yard','yuan','liter','lira','rupee','ruble','rem','roentgen','watt','0h','1h','2h','3h','4h','5h','6h','7h','8h','9h','10h','11h','12h','13h','14h','15h','16h','17h','18h','19h','20h','21h','22h','23h','24h','HPA','da','AU','bar','oV','pc','[?]','[?]','[?]','[?]','Heisei','Syouwa','Taisyou','Meiji','Inc.','pA','nA','microamp','mA','kA','kB','MB','GB','cal','kcal','pF','nF','microFarad','microgram','mg','kg','Hz','kHz','MHz','GHz','THz','microliter','ml','dl','kl','fm','nm','micrometer','mm','cm','km','mm^2','cm^2','m^2','km^2','mm^4','cm^3','m^3','km^3','m/s','m/s^2','Pa','kPa','MPa','GPa','rad','rad/s','rad/s^2','ps','ns','microsecond','ms','pV','nV','microvolt','mV','kV','MV','pW','nW','microwatt','mW','kW','MW','kOhm','MOhm','a.m.','Bq','cc','cd','C/kg','Co.','dB','Gy','ha','HP','in','K.K.','KM','kt','lm','ln','log','lx','mb','mil','mol','pH','p.m.','PPM','PR','sr','Sv','Wb','[?]','[?]','1d','2d','3d','4d','5d','6d','7d','8d','9d','10d','11d','12d','13d','14d','15d','16d','17d','18d','19d','20d','21d','22d','23d','24d','25d','26d','27d','28d','29d','30d','31d',
+);
diff --git a/cacert/www/utf8_to_ascii/db/x58.php b/cacert/www/utf8_to_ascii/db/x58.php
new file mode 100644 (file)
index 0000000..4a4cc9e
--- /dev/null
@@ -0,0 +1,4 @@
+<?php
+$UTF8_TO_ASCII[0x58] = array(
+
+);
diff --git a/cacert/www/utf8_to_ascii/db/x59.php b/cacert/www/utf8_to_ascii/db/x59.php
new file mode 100644 (file)
index 0000000..4d5d2f1
--- /dev/null
@@ -0,0 +1,4 @@
+<?php
+$UTF8_TO_ASCII[0x59] = array(
+
+);
diff --git a/cacert/www/utf8_to_ascii/db/x5a.php b/cacert/www/utf8_to_ascii/db/x5a.php
new file mode 100644 (file)
index 0000000..ce6f73e
--- /dev/null
@@ -0,0 +1,4 @@
+<?php
+$UTF8_TO_ASCII[0x5a] = array(
+
+);
diff --git a/cacert/www/utf8_to_ascii/db/x5b.php b/cacert/www/utf8_to_ascii/db/x5b.php
new file mode 100644 (file)
index 0000000..bb9bddd
--- /dev/null
@@ -0,0 +1,4 @@
+<?php
+$UTF8_TO_ASCII[0x5b] = array(
+
+);
diff --git a/cacert/www/utf8_to_ascii/db/x5c.php b/cacert/www/utf8_to_ascii/db/x5c.php
new file mode 100644 (file)
index 0000000..1bc3ad5
--- /dev/null
@@ -0,0 +1,4 @@
+<?php
+$UTF8_TO_ASCII[0x5c] = array(
+
+);
diff --git a/cacert/www/utf8_to_ascii/db/x5d.php b/cacert/www/utf8_to_ascii/db/x5d.php
new file mode 100644 (file)
index 0000000..2d986a2
--- /dev/null
@@ -0,0 +1,4 @@
+<?php
+$UTF8_TO_ASCII[0x5d] = array(
+
+);
diff --git a/cacert/www/utf8_to_ascii/db/x5e.php b/cacert/www/utf8_to_ascii/db/x5e.php
new file mode 100644 (file)
index 0000000..9f84c31
--- /dev/null
@@ -0,0 +1,4 @@
+<?php
+$UTF8_TO_ASCII[0x5e] = array(
+
+);
diff --git a/cacert/www/utf8_to_ascii/db/x5f.php b/cacert/www/utf8_to_ascii/db/x5f.php
new file mode 100644 (file)
index 0000000..830d354
--- /dev/null
@@ -0,0 +1,4 @@
+<?php
+$UTF8_TO_ASCII[0x5f] = array(
+
+);
diff --git a/cacert/www/utf8_to_ascii/db/x60.php b/cacert/www/utf8_to_ascii/db/x60.php
new file mode 100644 (file)
index 0000000..d1bb042
--- /dev/null
@@ -0,0 +1,4 @@
+<?php
+$UTF8_TO_ASCII[0x60] = array(
+
+);
diff --git a/cacert/www/utf8_to_ascii/db/x61.php b/cacert/www/utf8_to_ascii/db/x61.php
new file mode 100644 (file)
index 0000000..ebf6232
--- /dev/null
@@ -0,0 +1,4 @@
+<?php
+$UTF8_TO_ASCII[0x61] = array(
+
+);
diff --git a/cacert/www/utf8_to_ascii/db/x62.php b/cacert/www/utf8_to_ascii/db/x62.php
new file mode 100644 (file)
index 0000000..1ab2084
--- /dev/null
@@ -0,0 +1,4 @@
+<?php
+$UTF8_TO_ASCII[0x62] = array(
+
+);
diff --git a/cacert/www/utf8_to_ascii/db/x63.php b/cacert/www/utf8_to_ascii/db/x63.php
new file mode 100644 (file)
index 0000000..02bd036
--- /dev/null
@@ -0,0 +1,4 @@
+<?php
+$UTF8_TO_ASCII[0x63] = array(
+
+);
diff --git a/cacert/www/utf8_to_ascii/db/x64.php b/cacert/www/utf8_to_ascii/db/x64.php
new file mode 100644 (file)
index 0000000..37a3568
--- /dev/null
@@ -0,0 +1,4 @@
+<?php
+$UTF8_TO_ASCII[0x64] = array(
+
+);
diff --git a/cacert/www/utf8_to_ascii/db/x65.php b/cacert/www/utf8_to_ascii/db/x65.php
new file mode 100644 (file)
index 0000000..bdbcd6e
--- /dev/null
@@ -0,0 +1,4 @@
+<?php
+$UTF8_TO_ASCII[0x65] = array(
+
+);
diff --git a/cacert/www/utf8_to_ascii/db/x66.php b/cacert/www/utf8_to_ascii/db/x66.php
new file mode 100644 (file)
index 0000000..e52e0bb
--- /dev/null
@@ -0,0 +1,4 @@
+<?php
+$UTF8_TO_ASCII[0x66] = array(
+
+);
diff --git a/cacert/www/utf8_to_ascii/db/x67.php b/cacert/www/utf8_to_ascii/db/x67.php
new file mode 100644 (file)
index 0000000..692c6c7
--- /dev/null
@@ -0,0 +1,4 @@
+<?php
+$UTF8_TO_ASCII[0x67] = array(
+
+);
diff --git a/cacert/www/utf8_to_ascii/db/x68.php b/cacert/www/utf8_to_ascii/db/x68.php
new file mode 100644 (file)
index 0000000..36d763f
--- /dev/null
@@ -0,0 +1,4 @@
+<?php
+$UTF8_TO_ASCII[0x68] = array(
+
+);
diff --git a/cacert/www/utf8_to_ascii/db/x69.php b/cacert/www/utf8_to_ascii/db/x69.php
new file mode 100644 (file)
index 0000000..0b90969
--- /dev/null
@@ -0,0 +1,4 @@
+<?php
+$UTF8_TO_ASCII[0x69] = array(
+
+);
diff --git a/cacert/www/utf8_to_ascii/db/x6a.php b/cacert/www/utf8_to_ascii/db/x6a.php
new file mode 100644 (file)
index 0000000..9fb0825
--- /dev/null
@@ -0,0 +1,4 @@
+<?php
+$UTF8_TO_ASCII[0x6a] = array(
+
+);
diff --git a/cacert/www/utf8_to_ascii/db/x6b.php b/cacert/www/utf8_to_ascii/db/x6b.php
new file mode 100644 (file)
index 0000000..688ca0c
--- /dev/null
@@ -0,0 +1,4 @@
+<?php
+$UTF8_TO_ASCII[0x6b] = array(
+
+);
diff --git a/cacert/www/utf8_to_ascii/db/x6c.php b/cacert/www/utf8_to_ascii/db/x6c.php
new file mode 100644 (file)
index 0000000..1e8ab4c
--- /dev/null
@@ -0,0 +1,4 @@
+<?php
+$UTF8_TO_ASCII[0x6c] = array(
+
+);
diff --git a/cacert/www/utf8_to_ascii/db/x6d.php b/cacert/www/utf8_to_ascii/db/x6d.php
new file mode 100644 (file)
index 0000000..f5ffc2c
--- /dev/null
@@ -0,0 +1,4 @@
+<?php
+$UTF8_TO_ASCII[0x6d] = array(
+
+);
diff --git a/cacert/www/utf8_to_ascii/db/x6e.php b/cacert/www/utf8_to_ascii/db/x6e.php
new file mode 100644 (file)
index 0000000..0a1af56
--- /dev/null
@@ -0,0 +1,4 @@
+<?php
+$UTF8_TO_ASCII[0x6e] = array(
+
+);
diff --git a/cacert/www/utf8_to_ascii/db/x6f.php b/cacert/www/utf8_to_ascii/db/x6f.php
new file mode 100644 (file)
index 0000000..7ba3a41
--- /dev/null
@@ -0,0 +1,4 @@
+<?php
+$UTF8_TO_ASCII[0x6f] = array(
+
+);
diff --git a/cacert/www/utf8_to_ascii/db/x70.php b/cacert/www/utf8_to_ascii/db/x70.php
new file mode 100644 (file)
index 0000000..5f2d039
--- /dev/null
@@ -0,0 +1,4 @@
+<?php
+$UTF8_TO_ASCII[0x70] = array(
+
+);
diff --git a/cacert/www/utf8_to_ascii/db/x71.php b/cacert/www/utf8_to_ascii/db/x71.php
new file mode 100644 (file)
index 0000000..a6f0f09
--- /dev/null
@@ -0,0 +1,4 @@
+<?php
+$UTF8_TO_ASCII[0x71] = array(
+'[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?] ','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]','[?]',
+);
diff --git a/cacert/www/utf8_to_ascii/db/x72.php b/cacert/www/utf8_to_ascii/db/x72.php
new file mode 100644 (file)
index 0000000..7e14739
--- /dev/null
@@ -0,0 +1,4 @@
+<?php
+$UTF8_TO_ASCII[0x72] = array(
+'[?] ','Ding ','Kao ','Qi ','Shang ','Xia ','[?] ','Mo ','Zhang ','San ','Shang ','Xia ','Ji ','Bu ','Yu ','Mian ','Gai ','Chou ','Chou ','Zhuan ','Qie ','Pi ','Shi ','Shi ','Qiu ','Bing ','Ye ','Cong ','Dong ','Si ','Cheng ','Diu ','Qiu ','Liang ','Diu ','You ','Liang ','Yan ','Bing ','Sang ','Gun ','Jiu ','Ge ','Ya ','Qiang ','Zhong ','Ji ','Jie ','Feng ','Guan ','Chuan ','Chan ','Lin ','Zhuo ','Zhu ','Ha ','Wan ','Dan ','Wei ','Zhu ','Jing ','Li ','Ju ','Pie ','Fu ','Yi ','Yi ','Nai ','Shime ','Jiu ','Jiu ','Zhe ','Yao ','Yi ','[?] ','Zhi ','Wu ','Zha ','Hu ','Fa ','Le ','Zhong ','Ping ','Pang ','Qiao ','Hu ','Guai ','Cheng ','Cheng ','Yi ','Yin ','[?] ','Mie ','Jiu ','Qi ','Ye ','Xi ','Xiang ','Gai ','Diu ','Hal ','[?] ','Shu ','Twul ','Shi ','Ji ','Nang ','Jia ','Kel ','Shi ','[?] ','Ol ','Mai ','Luan ','Cal ','Ru ','Xue ','Yan ','Fu ','Sha ','Na ','Gan ','Sol ','El ','Cwul ','[?] ','Gan ','Chi ','Gui ','Gan ','Luan ','Lin ','Yi ','Jue ','Liao ','Ma ','Yu ','Zheng&nbs