This is an automated email from the git hooks/post-receive script. x2go pushed a change to branch release/1.17.0.0-x in repository vcxsrv. from 701edad Update releasenote about OpenSSL 1.0.1c new c03d0d8 Replace various "VENDOR" strings for X2Go/Arctica new cb6b29f rm fcblanks.h - it gets regenerated at buildtime new 1aeb164 Bump version string to 1.17.0.0-3 new 6fe7149 Show all text received by plink to show to the user (and not only the first part) new de1b34b After every output flush the file buffers new 5a3a163 Date: 27 Jun 2015 -> 30 Jun 2015 new 6d65032 Revert "Incorporate winmultiwindow.patch from Oleksandr Shneyder (phoca GmbH)" new 9ece505 Update openssl: 1.0.2c -> 1.0.2d new 99bcd3b hw/xwin/glx: Don't create fbConfigs for un-accelerated pixelFormats new b4c1d60 Date: 30 Jun 2015 -> 26 Jul 2015 new 418850f Add releasenote_1.17.0.0-3.x2go+arctica.txt The 11 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "adds" were already present in the repository and have only been added to this reference. Summary of changes: fontconfig/fc-blanks/.gitignore | 1 + fontconfig/fc-blanks/fcblanks.h | 4223 -------------------- openssl/CHANGES | 15 + openssl/{Makefile.org => Makefile.bak} | 75 +- openssl/Makefile.org | 11 +- openssl/NEWS | 4 + openssl/README | 2 +- openssl/apps/ocsp.c | 1 + openssl/crypto/bio/bio.h | 2 +- openssl/crypto/bn/Makefile | 1 + openssl/crypto/bn/bn_exp.c | 8 +- openssl/crypto/bn/bntest.c | 3 +- openssl/crypto/bn/rsaz_exp.c | 10 + openssl/crypto/bn/rsaz_exp.h | 11 +- openssl/crypto/cms/cms_smime.c | 3 +- openssl/crypto/evp/e_aes.c | 2 +- openssl/crypto/hmac/hmactest.c | 3 + openssl/crypto/opensslconf.h.in | 2 +- openssl/crypto/opensslv.h | 6 +- openssl/crypto/pkcs12/p12_kiss.c | 2 + openssl/crypto/srp/srptest.c | 1 + openssl/crypto/threads/mttest.c | 365 +- openssl/crypto/threads/pthread2.sh | 3 +- openssl/crypto/x509/Makefile | 2 +- openssl/crypto/x509/verify_extra_test.c | 208 + openssl/crypto/x509/x509_vfy.c | 24 +- openssl/doc/apps/verify.pod | 11 + openssl/doc/crypto/X509_NAME_get_index_by_NID.pod | 7 + openssl/doc/crypto/X509_STORE_CTX_new.pod | 13 +- openssl/doc/crypto/X509_verify_cert.pod | 3 +- openssl/doc/ssl/SSL_CTX_get0_param.pod | 55 + openssl/doc/ssl/SSL_CTX_use_serverinfo.pod | 2 +- openssl/openssl.spec | 2 +- openssl/ssl/s3_clnt.c | 17 +- openssl/ssl/s3_lib.c | 2 +- openssl/ssl/s3_srvr.c | 2 +- openssl/test/Makefile | 31 +- openssl/test/certs/bad.key | 27 + openssl/test/certs/bad.pem | 21 + openssl/test/certs/interCA.key | 27 + openssl/test/certs/interCA.pem | 21 + openssl/test/certs/leaf.key | 27 + openssl/test/certs/leaf.pem | 21 + openssl/test/certs/rootCA.key | 27 + openssl/test/certs/rootCA.pem | 21 + openssl/test/certs/roots.pem | 42 + openssl/test/certs/subinterCA-ss.pem | 21 + openssl/test/certs/subinterCA.key | 27 + openssl/test/certs/subinterCA.pem | 21 + openssl/test/certs/untrusted.pem | 42 + openssl/test/testssl | 19 +- openssl/test/verify_extra_test.c | 1 + packages.txt | 2 +- .../releasenote_1.17.0.0-3.x2go+arctica.txt | 1256 ++++++ tools/plink/wincons.c | 2 + xorg-server/hw/xwin/XWin.rc | 6 +- xorg-server/hw/xwin/glx/indirect.c | 4 + xorg-server/hw/xwin/winmultiwindowwindow.c | 49 +- xorg-server/hw/xwin/xlaunch/main.cc | 62 +- xorg-server/hw/xwin/xlaunch/resources/dialog.rc | 2 +- xorg-server/include/site.h | 2 +- xorg-server/include/version-config.h | 2 +- xorg-server/include/xwin-config.h | 4 +- xorg-server/installer/vcxsrv-64-debug.nsi | 2 +- xorg-server/installer/vcxsrv-64.nsi | 2 +- xorg-server/installer/vcxsrv-debug.nsi | 2 +- xorg-server/installer/vcxsrv.nsi | 2 +- 67 files changed, 2309 insertions(+), 4588 deletions(-) create mode 100644 fontconfig/fc-blanks/.gitignore delete mode 100755 fontconfig/fc-blanks/fcblanks.h copy openssl/{Makefile.org => Makefile.bak} (94%) create mode 100644 openssl/crypto/x509/verify_extra_test.c create mode 100644 openssl/doc/ssl/SSL_CTX_get0_param.pod create mode 100644 openssl/test/certs/bad.key create mode 100644 openssl/test/certs/bad.pem create mode 100644 openssl/test/certs/interCA.key create mode 100644 openssl/test/certs/interCA.pem create mode 100644 openssl/test/certs/leaf.key create mode 100644 openssl/test/certs/leaf.pem create mode 100644 openssl/test/certs/rootCA.key create mode 100644 openssl/test/certs/rootCA.pem create mode 100644 openssl/test/certs/roots.pem create mode 100644 openssl/test/certs/subinterCA-ss.pem create mode 100644 openssl/test/certs/subinterCA.key create mode 100644 openssl/test/certs/subinterCA.pem create mode 100644 openssl/test/certs/untrusted.pem create mode 120000 openssl/test/verify_extra_test.c create mode 100644 releasenotes/releasenote_1.17.0.0-3.x2go+arctica.txt -- Alioth's /srv/git/code.x2go.org/vcxsrv.git//..//_hooks_/post-receive-email on /srv/git/code.x2go.org/vcxsrv.git
This is an automated email from the git hooks/post-receive script. x2go pushed a commit to branch release/1.17.0.0-x in repository vcxsrv. commit cb6b29fe6b410c6bf493be68509b81aca0d0a42b Author: Mike DePaulo <mikedep333@gmail.com> Date: Sat Jun 27 19:30:36 2015 -0400 rm fcblanks.h - it gets regenerated at buildtime Furthermore, it gets regenerated with Windows line breaks, thus interfering with commands like `git status` or `git diff`. --- fontconfig/fc-blanks/.gitignore | 1 + fontconfig/fc-blanks/fcblanks.h | 4223 --------------------------------------- 2 files changed, 1 insertion(+), 4223 deletions(-) diff --git a/fontconfig/fc-blanks/.gitignore b/fontconfig/fc-blanks/.gitignore new file mode 100644 index 0000000..b6de938 --- /dev/null +++ b/fontconfig/fc-blanks/.gitignore @@ -0,0 +1 @@ +fcblanks.h diff --git a/fontconfig/fc-blanks/fcblanks.h b/fontconfig/fc-blanks/fcblanks.h deleted file mode 100755 index 51ba34d..0000000 --- a/fontconfig/fc-blanks/fcblanks.h +++ /dev/null @@ -1,4223 +0,0 @@ -/* - * fontconfig/fc-blanks/fcblanks.tmpl.h - * - * Copyright © 2003 Keith Packard - * - * Permission to use, copy, modify, distribute, and sell this software and its - * documentation for any purpose is hereby granted without fee, provided that - * the above copyright notice appear in all copies and that both that - * copyright notice and this permission notice appear in supporting - * documentation, and that the name of the author(s) not be used in - * advertising or publicity pertaining to distribution of the software without - * specific, written prior permission. The authors make no - * representations about the suitability of this software for any purpose. It - * is provided "as is" without express or implied warranty. - * - * THE AUTHOR(S) DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, - * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO - * EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY SPECIAL, INDIRECT OR - * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, - * DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER - * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR - * PERFORMANCE OF THIS SOFTWARE. - */ - -static FcChar32 _fcBlanks[4191] = { - 0x0020 , - 0x00a0 , - 0x00ad , - 0x034f , - 0x061c , - 0x115f , - 0x1160 , - 0x1680 , - 0x17b4 , - 0x17b5 , - 0x180b , - 0x180c , - 0x180d , - 0x180e , - 0x2000 , - 0x2001 , - 0x2002 , - 0x2003 , - 0x2004 , - 0x2005 , - 0x2006 , - 0x2007 , - 0x2008 , - 0x2009 , - 0x200a , - 0x200b , - 0x200c , - 0x200d , - 0x200e , - 0x200f , - 0x202a , - 0x202b , - 0x202c , - 0x202d , - 0x202e , - 0x202f , - 0x205f , - 0x2060 , - 0x2061 , - 0x2062 , - 0x2063 , - 0x2064 , - 0x2065 , - 0x2066 , - 0x2067 , - 0x2068 , - 0x2069 , - 0x206a , - 0x206b , - 0x206c , - 0x206d , - 0x206e , - 0x206f , - 0x2800 , - 0x3000 , - 0x3164 , - 0xfe00 , - 0xfe01 , - 0xfe02 , - 0xfe03 , - 0xfe04 , - 0xfe05 , - 0xfe06 , - 0xfe07 , - 0xfe08 , - 0xfe09 , - 0xfe0a , - 0xfe0b , - 0xfe0c , - 0xfe0d , - 0xfe0e , - 0xfe0f , - 0xfeff , - 0xffa0 , - 0xfff0 , - 0xfff1 , - 0xfff2 , - 0xfff3 , - 0xfff4 , - 0xfff5 , - 0xfff6 , - 0xfff7 , - 0xfff8 , - 0x1bca0 , - 0x1bca1 , - 0x1bca2 , - 0x1bca3 , - 0x1d173 , - 0x1d174 , - 0x1d175 , - 0x1d176 , - 0x1d177 , - 0x1d178 , - 0x1d179 , - 0x1d17a , - 0xe0000 , - 0xe0001 , - 0xe0002 , - 0xe0003 , - 0xe0004 , - 0xe0005 , - 0xe0006 , - 0xe0007 , - 0xe0008 , - 0xe0009 , - 0xe000a , - 0xe000b , - 0xe000c , - 0xe000d , - 0xe000e , - 0xe000f , - 0xe0010 , - 0xe0011 , - 0xe0012 , - 0xe0013 , - 0xe0014 , - 0xe0015 , - 0xe0016 , - 0xe0017 , - 0xe0018 , - 0xe0019 , - 0xe001a , - 0xe001b , - 0xe001c , - 0xe001d , - 0xe001e , - 0xe001f , - 0xe0020 , - 0xe0021 , - 0xe0022 , - 0xe0023 , - 0xe0024 , - 0xe0025 , - 0xe0026 , - 0xe0027 , - 0xe0028 , - 0xe0029 , - 0xe002a , - 0xe002b , - 0xe002c , - 0xe002d , - 0xe002e , - 0xe002f , - 0xe0030 , - 0xe0031 , - 0xe0032 , - 0xe0033 , - 0xe0034 , - 0xe0035 , - 0xe0036 , - 0xe0037 , - 0xe0038 , - 0xe0039 , - 0xe003a , - 0xe003b , - 0xe003c , - 0xe003d , - 0xe003e , - 0xe003f , - 0xe0040 , - 0xe0041 , - 0xe0042 , - 0xe0043 , - 0xe0044 , - 0xe0045 , - 0xe0046 , - 0xe0047 , - 0xe0048 , - 0xe0049 , - 0xe004a , - 0xe004b , - 0xe004c , - 0xe004d , - 0xe004e , - 0xe004f , - 0xe0050 , - 0xe0051 , - 0xe0052 , - 0xe0053 , - 0xe0054 , - 0xe0055 , - 0xe0056 , - 0xe0057 , - 0xe0058 , - 0xe0059 , - 0xe005a , - 0xe005b , - 0xe005c , - 0xe005d , - 0xe005e , - 0xe005f , - 0xe0060 , - 0xe0061 , - 0xe0062 , - 0xe0063 , - 0xe0064 , - 0xe0065 , - 0xe0066 , - 0xe0067 , - 0xe0068 , - 0xe0069 , - 0xe006a , - 0xe006b , - 0xe006c , - 0xe006d , - 0xe006e , - 0xe006f , - 0xe0070 , - 0xe0071 , - 0xe0072 , - 0xe0073 , - 0xe0074 , - 0xe0075 , - 0xe0076 , - 0xe0077 , - 0xe0078 , - 0xe0079 , - 0xe007a , - 0xe007b , - 0xe007c , - 0xe007d , - 0xe007e , - 0xe007f , - 0xe0080 , - 0xe0081 , - 0xe0082 , - 0xe0083 , - 0xe0084 , - 0xe0085 , - 0xe0086 , - 0xe0087 , - 0xe0088 , - 0xe0089 , - 0xe008a , - 0xe008b , - 0xe008c , - 0xe008d , - 0xe008e , - 0xe008f , - 0xe0090 , - 0xe0091 , - 0xe0092 , - 0xe0093 , - 0xe0094 , - 0xe0095 , - 0xe0096 , - 0xe0097 , - 0xe0098 , - 0xe0099 , - 0xe009a , - 0xe009b , - 0xe009c , - 0xe009d , - 0xe009e , - 0xe009f , - 0xe00a0 , - 0xe00a1 , - 0xe00a2 , - 0xe00a3 , - 0xe00a4 , - 0xe00a5 , - 0xe00a6 , - 0xe00a7 , - 0xe00a8 , - 0xe00a9 , - 0xe00aa , - 0xe00ab , - 0xe00ac , - 0xe00ad , - 0xe00ae , - 0xe00af , - 0xe00b0 , - 0xe00b1 , - 0xe00b2 , - 0xe00b3 , - 0xe00b4 , - 0xe00b5 , - 0xe00b6 , - 0xe00b7 , - 0xe00b8 , - 0xe00b9 , - 0xe00ba , - 0xe00bb , - 0xe00bc , - 0xe00bd , - 0xe00be , - 0xe00bf , - 0xe00c0 , - 0xe00c1 , - 0xe00c2 , - 0xe00c3 , - 0xe00c4 , - 0xe00c5 , - 0xe00c6 , - 0xe00c7 , - 0xe00c8 , - 0xe00c9 , - 0xe00ca , - 0xe00cb , - 0xe00cc , - 0xe00cd , - 0xe00ce , - 0xe00cf , - 0xe00d0 , - 0xe00d1 , - 0xe00d2 , - 0xe00d3 , - 0xe00d4 , - 0xe00d5 , - 0xe00d6 , - 0xe00d7 , - 0xe00d8 , - 0xe00d9 , - 0xe00da , - 0xe00db , - 0xe00dc , - 0xe00dd , - 0xe00de , - 0xe00df , - 0xe00e0 , - 0xe00e1 , - 0xe00e2 , - 0xe00e3 , - 0xe00e4 , - 0xe00e5 , - 0xe00e6 , - 0xe00e7 , - 0xe00e8 , - 0xe00e9 , - 0xe00ea , - 0xe00eb , - 0xe00ec , - 0xe00ed , - 0xe00ee , - 0xe00ef , - 0xe00f0 , - 0xe00f1 , - 0xe00f2 , - 0xe00f3 , - 0xe00f4 , - 0xe00f5 , - 0xe00f6 , - 0xe00f7 , - 0xe00f8 , - 0xe00f9 , - 0xe00fa , - 0xe00fb , - 0xe00fc , - 0xe00fd , - 0xe00fe , - 0xe00ff , - 0xe0100 , - 0xe0101 , - 0xe0102 , - 0xe0103 , - 0xe0104 , - 0xe0105 , - 0xe0106 , - 0xe0107 , - 0xe0108 , - 0xe0109 , - 0xe010a , - 0xe010b , - 0xe010c , - 0xe010d , - 0xe010e , - 0xe010f , - 0xe0110 , - 0xe0111 , - 0xe0112 , - 0xe0113 , - 0xe0114 , - 0xe0115 , - 0xe0116 , - 0xe0117 , - 0xe0118 , - 0xe0119 , - 0xe011a , - 0xe011b , - 0xe011c , - 0xe011d , - 0xe011e , - 0xe011f , - 0xe0120 , - 0xe0121 , - 0xe0122 , - 0xe0123 , - 0xe0124 , - 0xe0125 , - 0xe0126 , - 0xe0127 , - 0xe0128 , - 0xe0129 , - 0xe012a , - 0xe012b , - 0xe012c , - 0xe012d , - 0xe012e , - 0xe012f , - 0xe0130 , - 0xe0131 , - 0xe0132 , - 0xe0133 , - 0xe0134 , - 0xe0135 , - 0xe0136 , - 0xe0137 , - 0xe0138 , - 0xe0139 , - 0xe013a , - 0xe013b , - 0xe013c , - 0xe013d , - 0xe013e , - 0xe013f , - 0xe0140 , - 0xe0141 , - 0xe0142 , - 0xe0143 , - 0xe0144 , - 0xe0145 , - 0xe0146 , - 0xe0147 , - 0xe0148 , - 0xe0149 , - 0xe014a , - 0xe014b , - 0xe014c , - 0xe014d , - 0xe014e , - 0xe014f , - 0xe0150 , - 0xe0151 , - 0xe0152 , - 0xe0153 , - 0xe0154 , - 0xe0155 , - 0xe0156 , - 0xe0157 , - 0xe0158 , - 0xe0159 , - 0xe015a , - 0xe015b , - 0xe015c , - 0xe015d , - 0xe015e , - 0xe015f , - 0xe0160 , - 0xe0161 , - 0xe0162 , - 0xe0163 , - 0xe0164 , - 0xe0165 , - 0xe0166 , - 0xe0167 , - 0xe0168 , - 0xe0169 , - 0xe016a , - 0xe016b , - 0xe016c , - 0xe016d , - 0xe016e , - 0xe016f , - 0xe0170 , - 0xe0171 , - 0xe0172 , - 0xe0173 , - 0xe0174 , - 0xe0175 , - 0xe0176 , - 0xe0177 , - 0xe0178 , - 0xe0179 , - 0xe017a , - 0xe017b , - 0xe017c , - 0xe017d , - 0xe017e , - 0xe017f , - 0xe0180 , - 0xe0181 , - 0xe0182 , - 0xe0183 , - 0xe0184 , - 0xe0185 , - 0xe0186 , - 0xe0187 , - 0xe0188 , - 0xe0189 , - 0xe018a , - 0xe018b , - 0xe018c , - 0xe018d , - 0xe018e , - 0xe018f , - 0xe0190 , - 0xe0191 , - 0xe0192 , - 0xe0193 , - 0xe0194 , - 0xe0195 , - 0xe0196 , - 0xe0197 , - 0xe0198 , - 0xe0199 , - 0xe019a , - 0xe019b , - 0xe019c , - 0xe019d , - 0xe019e , - 0xe019f , - 0xe01a0 , - 0xe01a1 , - 0xe01a2 , - 0xe01a3 , - 0xe01a4 , - 0xe01a5 , - 0xe01a6 , - 0xe01a7 , - 0xe01a8 , - 0xe01a9 , - 0xe01aa , - 0xe01ab , - 0xe01ac , - 0xe01ad , - 0xe01ae , - 0xe01af , - 0xe01b0 , - 0xe01b1 , - 0xe01b2 , - 0xe01b3 , - 0xe01b4 , - 0xe01b5 , - 0xe01b6 , - 0xe01b7 , - 0xe01b8 , - 0xe01b9 , - 0xe01ba , - 0xe01bb , - 0xe01bc , - 0xe01bd , - 0xe01be , - 0xe01bf , - 0xe01c0 , - 0xe01c1 , - 0xe01c2 , - 0xe01c3 , - 0xe01c4 , - 0xe01c5 , - 0xe01c6 , - 0xe01c7 , - 0xe01c8 , - 0xe01c9 , - 0xe01ca , - 0xe01cb , - 0xe01cc , - 0xe01cd , - 0xe01ce , - 0xe01cf , - 0xe01d0 , - 0xe01d1 , - 0xe01d2 , - 0xe01d3 , - 0xe01d4 , - 0xe01d5 , - 0xe01d6 , - 0xe01d7 , - 0xe01d8 , - 0xe01d9 , - 0xe01da , - 0xe01db , - 0xe01dc , - 0xe01dd , - 0xe01de , - 0xe01df , - 0xe01e0 , - 0xe01e1 , - 0xe01e2 , - 0xe01e3 , - 0xe01e4 , - 0xe01e5 , - 0xe01e6 , - 0xe01e7 , - 0xe01e8 , - 0xe01e9 , - 0xe01ea , - 0xe01eb , - 0xe01ec , - 0xe01ed , - 0xe01ee , - 0xe01ef , - 0xe01f0 , - 0xe01f1 , - 0xe01f2 , - 0xe01f3 , - 0xe01f4 , - 0xe01f5 , - 0xe01f6 , - 0xe01f7 , - 0xe01f8 , - 0xe01f9 , - 0xe01fa , - 0xe01fb , - 0xe01fc , - 0xe01fd , - 0xe01fe , - 0xe01ff , - 0xe0200 , - 0xe0201 , - 0xe0202 , - 0xe0203 , - 0xe0204 , - 0xe0205 , - 0xe0206 , - 0xe0207 , - 0xe0208 , - 0xe0209 , - 0xe020a , - 0xe020b , - 0xe020c , - 0xe020d , - 0xe020e , - 0xe020f , - 0xe0210 , - 0xe0211 , - 0xe0212 , - 0xe0213 , - 0xe0214 , - 0xe0215 , - 0xe0216 , - 0xe0217 , - 0xe0218 , - 0xe0219 , - 0xe021a , - 0xe021b , - 0xe021c , - 0xe021d , - 0xe021e , - 0xe021f , - 0xe0220 , - 0xe0221 , - 0xe0222 , - 0xe0223 , - 0xe0224 , - 0xe0225 , - 0xe0226 , - 0xe0227 , - 0xe0228 , - 0xe0229 , - 0xe022a , - 0xe022b , - 0xe022c , - 0xe022d , - 0xe022e , - 0xe022f , - 0xe0230 , - 0xe0231 , - 0xe0232 , - 0xe0233 , - 0xe0234 , - 0xe0235 , - 0xe0236 , - 0xe0237 , - 0xe0238 , - 0xe0239 , - 0xe023a , - 0xe023b , - 0xe023c , - 0xe023d , - 0xe023e , - 0xe023f , - 0xe0240 , - 0xe0241 , - 0xe0242 , - 0xe0243 , - 0xe0244 , - 0xe0245 , - 0xe0246 , - 0xe0247 , - 0xe0248 , - 0xe0249 , - 0xe024a , - 0xe024b , - 0xe024c , - 0xe024d , - 0xe024e , - 0xe024f , - 0xe0250 , - 0xe0251 , - 0xe0252 , - 0xe0253 , - 0xe0254 , - 0xe0255 , - 0xe0256 , - 0xe0257 , - 0xe0258 , - 0xe0259 , - 0xe025a , - 0xe025b , - 0xe025c , - 0xe025d , - 0xe025e , - 0xe025f , - 0xe0260 , - 0xe0261 , - 0xe0262 , - 0xe0263 , - 0xe0264 , - 0xe0265 , - 0xe0266 , - 0xe0267 , - 0xe0268 , - 0xe0269 , - 0xe026a , - 0xe026b , - 0xe026c , - 0xe026d , - 0xe026e , - 0xe026f , - 0xe0270 , - 0xe0271 , - 0xe0272 , - 0xe0273 , - 0xe0274 , - 0xe0275 , - 0xe0276 , - 0xe0277 , - 0xe0278 , - 0xe0279 , - 0xe027a , - 0xe027b , - 0xe027c , - 0xe027d , - 0xe027e , - 0xe027f , - 0xe0280 , - 0xe0281 , - 0xe0282 , - 0xe0283 , - 0xe0284 , - 0xe0285 , - 0xe0286 , - 0xe0287 , - 0xe0288 , - 0xe0289 , - 0xe028a , - 0xe028b , - 0xe028c , - 0xe028d , - 0xe028e , - 0xe028f , - 0xe0290 , - 0xe0291 , - 0xe0292 , - 0xe0293 , - 0xe0294 , - 0xe0295 , - 0xe0296 , - 0xe0297 , - 0xe0298 , - 0xe0299 , - 0xe029a , - 0xe029b , - 0xe029c , - 0xe029d , - 0xe029e , - 0xe029f , - 0xe02a0 , - 0xe02a1 , - 0xe02a2 , - 0xe02a3 , - 0xe02a4 , - 0xe02a5 , - 0xe02a6 , - 0xe02a7 , - 0xe02a8 , - 0xe02a9 , - 0xe02aa , - 0xe02ab , - 0xe02ac , - 0xe02ad , - 0xe02ae , - 0xe02af , - 0xe02b0 , - 0xe02b1 , - 0xe02b2 , - 0xe02b3 , - 0xe02b4 , - 0xe02b5 , - 0xe02b6 , - 0xe02b7 , - 0xe02b8 , - 0xe02b9 , - 0xe02ba , - 0xe02bb , - 0xe02bc , - 0xe02bd , - 0xe02be , - 0xe02bf , - 0xe02c0 , - 0xe02c1 , - 0xe02c2 , - 0xe02c3 , - 0xe02c4 , - 0xe02c5 , - 0xe02c6 , - 0xe02c7 , - 0xe02c8 , - 0xe02c9 , - 0xe02ca , - 0xe02cb , - 0xe02cc , - 0xe02cd , - 0xe02ce , - 0xe02cf , - 0xe02d0 , - 0xe02d1 , - 0xe02d2 , - 0xe02d3 , - 0xe02d4 , - 0xe02d5 , - 0xe02d6 , - 0xe02d7 , - 0xe02d8 , - 0xe02d9 , - 0xe02da , - 0xe02db , - 0xe02dc , - 0xe02dd , - 0xe02de , - 0xe02df , - 0xe02e0 , - 0xe02e1 , - 0xe02e2 , - 0xe02e3 , - 0xe02e4 , - 0xe02e5 , - 0xe02e6 , - 0xe02e7 , - 0xe02e8 , - 0xe02e9 , - 0xe02ea , - 0xe02eb , - 0xe02ec , - 0xe02ed , - 0xe02ee , - 0xe02ef , - 0xe02f0 , - 0xe02f1 , - 0xe02f2 , - 0xe02f3 , - 0xe02f4 , - 0xe02f5 , - 0xe02f6 , - 0xe02f7 , - 0xe02f8 , - 0xe02f9 , - 0xe02fa , - 0xe02fb , - 0xe02fc , - 0xe02fd , - 0xe02fe , - 0xe02ff , - 0xe0300 , - 0xe0301 , - 0xe0302 , - 0xe0303 , - 0xe0304 , - 0xe0305 , - 0xe0306 , - 0xe0307 , - 0xe0308 , - 0xe0309 , - 0xe030a , - 0xe030b , - 0xe030c , - 0xe030d , - 0xe030e , - 0xe030f , - 0xe0310 , - 0xe0311 , - 0xe0312 , - 0xe0313 , - 0xe0314 , - 0xe0315 , - 0xe0316 , - 0xe0317 , - 0xe0318 , - 0xe0319 , - 0xe031a , - 0xe031b , - 0xe031c , - 0xe031d , - 0xe031e , - 0xe031f , - 0xe0320 , - 0xe0321 , - 0xe0322 , - 0xe0323 , - 0xe0324 , - 0xe0325 , - 0xe0326 , - 0xe0327 , - 0xe0328 , - 0xe0329 , - 0xe032a , - 0xe032b , - 0xe032c , - 0xe032d , - 0xe032e , - 0xe032f , - 0xe0330 , - 0xe0331 , - 0xe0332 , - 0xe0333 , - 0xe0334 , - 0xe0335 , - 0xe0336 , - 0xe0337 , - 0xe0338 , - 0xe0339 , - 0xe033a , - 0xe033b , - 0xe033c , - 0xe033d , - 0xe033e , - 0xe033f , - 0xe0340 , - 0xe0341 , - 0xe0342 , - 0xe0343 , - 0xe0344 , - 0xe0345 , - 0xe0346 , - 0xe0347 , - 0xe0348 , - 0xe0349 , - 0xe034a , - 0xe034b , - 0xe034c , - 0xe034d , - 0xe034e , - 0xe034f , - 0xe0350 , - 0xe0351 , - 0xe0352 , - 0xe0353 , - 0xe0354 , - 0xe0355 , - 0xe0356 , - 0xe0357 , - 0xe0358 , - 0xe0359 , - 0xe035a , - 0xe035b , - 0xe035c , - 0xe035d , - 0xe035e , - 0xe035f , - 0xe0360 , - 0xe0361 , - 0xe0362 , - 0xe0363 , - 0xe0364 , - 0xe0365 , - 0xe0366 , - 0xe0367 , - 0xe0368 , - 0xe0369 , - 0xe036a , - 0xe036b , - 0xe036c , - 0xe036d , - 0xe036e , - 0xe036f , - 0xe0370 , - 0xe0371 , - 0xe0372 , - 0xe0373 , - 0xe0374 , - 0xe0375 , - 0xe0376 , - 0xe0377 , - 0xe0378 , - 0xe0379 , - 0xe037a , - 0xe037b , - 0xe037c , - 0xe037d , - 0xe037e , - 0xe037f , - 0xe0380 , - 0xe0381 , - 0xe0382 , - 0xe0383 , - 0xe0384 , - 0xe0385 , - 0xe0386 , - 0xe0387 , - 0xe0388 , - 0xe0389 , - 0xe038a , - 0xe038b , - 0xe038c , - 0xe038d , - 0xe038e , - 0xe038f , - 0xe0390 , - 0xe0391 , - 0xe0392 , - 0xe0393 , - 0xe0394 , - 0xe0395 , - 0xe0396 , - 0xe0397 , - 0xe0398 , - 0xe0399 , - 0xe039a , - 0xe039b , - 0xe039c , - 0xe039d , - 0xe039e , - 0xe039f , - 0xe03a0 , - 0xe03a1 , - 0xe03a2 , - 0xe03a3 , - 0xe03a4 , - 0xe03a5 , - 0xe03a6 , - 0xe03a7 , - 0xe03a8 , - 0xe03a9 , - 0xe03aa , - 0xe03ab , - 0xe03ac , - 0xe03ad , - 0xe03ae , - 0xe03af , - 0xe03b0 , - 0xe03b1 , - 0xe03b2 , - 0xe03b3 , - 0xe03b4 , - 0xe03b5 , - 0xe03b6 , - 0xe03b7 , - 0xe03b8 , - 0xe03b9 , - 0xe03ba , - 0xe03bb , - 0xe03bc , - 0xe03bd , - 0xe03be , - 0xe03bf , - 0xe03c0 , - 0xe03c1 , - 0xe03c2 , - 0xe03c3 , - 0xe03c4 , - 0xe03c5 , - 0xe03c6 , - 0xe03c7 , - 0xe03c8 , - 0xe03c9 , - 0xe03ca , - 0xe03cb , - 0xe03cc , - 0xe03cd , - 0xe03ce , - 0xe03cf , - 0xe03d0 , - 0xe03d1 , - 0xe03d2 , - 0xe03d3 , - 0xe03d4 , - 0xe03d5 , - 0xe03d6 , - 0xe03d7 , - 0xe03d8 , - 0xe03d9 , - 0xe03da , - 0xe03db , - 0xe03dc , - 0xe03dd , - 0xe03de , - 0xe03df , - 0xe03e0 , - 0xe03e1 , - 0xe03e2 , - 0xe03e3 , - 0xe03e4 , - 0xe03e5 , - 0xe03e6 , - 0xe03e7 , - 0xe03e8 , - 0xe03e9 , - 0xe03ea , - 0xe03eb , - 0xe03ec , - 0xe03ed , - 0xe03ee , - 0xe03ef , - 0xe03f0 , - 0xe03f1 , - 0xe03f2 , - 0xe03f3 , - 0xe03f4 , - 0xe03f5 , - 0xe03f6 , - 0xe03f7 , - 0xe03f8 , - 0xe03f9 , - 0xe03fa , - 0xe03fb , - 0xe03fc , - 0xe03fd , - 0xe03fe , - 0xe03ff , - 0xe0400 , - 0xe0401 , - 0xe0402 , - 0xe0403 , - 0xe0404 , - 0xe0405 , - 0xe0406 , - 0xe0407 , - 0xe0408 , - 0xe0409 , - 0xe040a , - 0xe040b , - 0xe040c , - 0xe040d , - 0xe040e , - 0xe040f , - 0xe0410 , - 0xe0411 , - 0xe0412 , - 0xe0413 , - 0xe0414 , - 0xe0415 , - 0xe0416 , - 0xe0417 , - 0xe0418 , - 0xe0419 , - 0xe041a , - 0xe041b , - 0xe041c , - 0xe041d , - 0xe041e , - 0xe041f , - 0xe0420 , - 0xe0421 , - 0xe0422 , - 0xe0423 , - 0xe0424 , - 0xe0425 , - 0xe0426 , - 0xe0427 , - 0xe0428 , - 0xe0429 , - 0xe042a , - 0xe042b , - 0xe042c , - 0xe042d , - 0xe042e , - 0xe042f , - 0xe0430 , - 0xe0431 , - 0xe0432 , - 0xe0433 , - 0xe0434 , - 0xe0435 , - 0xe0436 , - 0xe0437 , - 0xe0438 , - 0xe0439 , - 0xe043a , - 0xe043b , - 0xe043c , - 0xe043d , - 0xe043e , - 0xe043f , - 0xe0440 , - 0xe0441 , - 0xe0442 , - 0xe0443 , - 0xe0444 , - 0xe0445 , - 0xe0446 , - 0xe0447 , - 0xe0448 , - 0xe0449 , - 0xe044a , - 0xe044b , - 0xe044c , - 0xe044d , - 0xe044e , - 0xe044f , - 0xe0450 , - 0xe0451 , - 0xe0452 , - 0xe0453 , - 0xe0454 , - 0xe0455 , - 0xe0456 , - 0xe0457 , - 0xe0458 , - 0xe0459 , - 0xe045a , - 0xe045b , - 0xe045c , - 0xe045d , - 0xe045e , - 0xe045f , - 0xe0460 , - 0xe0461 , - 0xe0462 , - 0xe0463 , - 0xe0464 , - 0xe0465 , - 0xe0466 , - 0xe0467 , - 0xe0468 , - 0xe0469 , - 0xe046a , - 0xe046b , - 0xe046c , - 0xe046d , - 0xe046e , - 0xe046f , - 0xe0470 , - 0xe0471 , - 0xe0472 , - 0xe0473 , - 0xe0474 , - 0xe0475 , - 0xe0476 , - 0xe0477 , - 0xe0478 , - 0xe0479 , - 0xe047a , - 0xe047b , - 0xe047c , - 0xe047d , - 0xe047e , - 0xe047f , - 0xe0480 , - 0xe0481 , - 0xe0482 , - 0xe0483 , - 0xe0484 , - 0xe0485 , - 0xe0486 , - 0xe0487 , - 0xe0488 , - 0xe0489 , - 0xe048a , - 0xe048b , - 0xe048c , - 0xe048d , - 0xe048e , - 0xe048f , - 0xe0490 , - 0xe0491 , - 0xe0492 , - 0xe0493 , - 0xe0494 , - 0xe0495 , - 0xe0496 , - 0xe0497 , - 0xe0498 , - 0xe0499 , - 0xe049a , - 0xe049b , - 0xe049c , - 0xe049d , - 0xe049e , - 0xe049f , - 0xe04a0 , - 0xe04a1 , - 0xe04a2 , - 0xe04a3 , - 0xe04a4 , - 0xe04a5 , - 0xe04a6 , - 0xe04a7 , - 0xe04a8 , - 0xe04a9 , - 0xe04aa , - 0xe04ab , - 0xe04ac , - 0xe04ad , - 0xe04ae , - 0xe04af , - 0xe04b0 , - 0xe04b1 , - 0xe04b2 , - 0xe04b3 , - 0xe04b4 , - 0xe04b5 , - 0xe04b6 , - 0xe04b7 , - 0xe04b8 , - 0xe04b9 , - 0xe04ba , - 0xe04bb , - 0xe04bc , - 0xe04bd , - 0xe04be , - 0xe04bf , - 0xe04c0 , - 0xe04c1 , - 0xe04c2 , - 0xe04c3 , - 0xe04c4 , - 0xe04c5 , - 0xe04c6 , - 0xe04c7 , - 0xe04c8 , - 0xe04c9 , - 0xe04ca , - 0xe04cb , - 0xe04cc , - 0xe04cd , - 0xe04ce , - 0xe04cf , - 0xe04d0 , - 0xe04d1 , - 0xe04d2 , - 0xe04d3 , - 0xe04d4 , - 0xe04d5 , - 0xe04d6 , - 0xe04d7 , - 0xe04d8 , - 0xe04d9 , - 0xe04da , - 0xe04db , - 0xe04dc , - 0xe04dd , - 0xe04de , - 0xe04df , - 0xe04e0 , - 0xe04e1 , - 0xe04e2 , - 0xe04e3 , - 0xe04e4 , - 0xe04e5 , - 0xe04e6 , - 0xe04e7 , - 0xe04e8 , - 0xe04e9 , - 0xe04ea , - 0xe04eb , - 0xe04ec , - 0xe04ed , - 0xe04ee , - 0xe04ef , - 0xe04f0 , - 0xe04f1 , - 0xe04f2 , - 0xe04f3 , - 0xe04f4 , - 0xe04f5 , - 0xe04f6 , - 0xe04f7 , - 0xe04f8 , - 0xe04f9 , - 0xe04fa , - 0xe04fb , - 0xe04fc , - 0xe04fd , - 0xe04fe , - 0xe04ff , - 0xe0500 , - 0xe0501 , - 0xe0502 , - 0xe0503 , - 0xe0504 , - 0xe0505 , - 0xe0506 , - 0xe0507 , - 0xe0508 , - 0xe0509 , - 0xe050a , - 0xe050b , - 0xe050c , - 0xe050d , - 0xe050e , - 0xe050f , - 0xe0510 , - 0xe0511 , - 0xe0512 , - 0xe0513 , - 0xe0514 , - 0xe0515 , - 0xe0516 , - 0xe0517 , - 0xe0518 , - 0xe0519 , - 0xe051a , - 0xe051b , - 0xe051c , - 0xe051d , - 0xe051e , - 0xe051f , - 0xe0520 , - 0xe0521 , - 0xe0522 , - 0xe0523 , - 0xe0524 , - 0xe0525 , - 0xe0526 , - 0xe0527 , - 0xe0528 , - 0xe0529 , - 0xe052a , - 0xe052b , - 0xe052c , - 0xe052d , - 0xe052e , - 0xe052f , - 0xe0530 , - 0xe0531 , - 0xe0532 , - 0xe0533 , - 0xe0534 , - 0xe0535 , - 0xe0536 , - 0xe0537 , - 0xe0538 , - 0xe0539 , - 0xe053a , - 0xe053b , - 0xe053c , - 0xe053d , - 0xe053e , - 0xe053f , - 0xe0540 , - 0xe0541 , - 0xe0542 , - 0xe0543 , - 0xe0544 , - 0xe0545 , - 0xe0546 , - 0xe0547 , - 0xe0548 , - 0xe0549 , - 0xe054a , - 0xe054b , - 0xe054c , - 0xe054d , - 0xe054e , - 0xe054f , - 0xe0550 , - 0xe0551 , - 0xe0552 , - 0xe0553 , - 0xe0554 , - 0xe0555 , - 0xe0556 , - 0xe0557 , - 0xe0558 , - 0xe0559 , - 0xe055a , - 0xe055b , - 0xe055c , - 0xe055d , - 0xe055e , - 0xe055f , - 0xe0560 , - 0xe0561 , - 0xe0562 , - 0xe0563 , - 0xe0564 , - 0xe0565 , - 0xe0566 , - 0xe0567 , - 0xe0568 , - 0xe0569 , - 0xe056a , - 0xe056b , - 0xe056c , - 0xe056d , - 0xe056e , - 0xe056f , - 0xe0570 , - 0xe0571 , - 0xe0572 , - 0xe0573 , - 0xe0574 , - 0xe0575 , - 0xe0576 , - 0xe0577 , - 0xe0578 , - 0xe0579 , - 0xe057a , - 0xe057b , - 0xe057c , - 0xe057d , - 0xe057e , - 0xe057f , - 0xe0580 , - 0xe0581 , - 0xe0582 , - 0xe0583 , - 0xe0584 , - 0xe0585 , - 0xe0586 , - 0xe0587 , - 0xe0588 , - 0xe0589 , - 0xe058a , - 0xe058b , - 0xe058c , - 0xe058d , - 0xe058e , - 0xe058f , - 0xe0590 , - 0xe0591 , - 0xe0592 , - 0xe0593 , - 0xe0594 , - 0xe0595 , - 0xe0596 , - 0xe0597 , - 0xe0598 , - 0xe0599 , - 0xe059a , - 0xe059b , - 0xe059c , - 0xe059d , - 0xe059e , - 0xe059f , - 0xe05a0 , - 0xe05a1 , - 0xe05a2 , - 0xe05a3 , - 0xe05a4 , - 0xe05a5 , - 0xe05a6 , - 0xe05a7 , - 0xe05a8 , - 0xe05a9 , - 0xe05aa , - 0xe05ab , - 0xe05ac , - 0xe05ad , - 0xe05ae , - 0xe05af , - 0xe05b0 , - 0xe05b1 , - 0xe05b2 , - 0xe05b3 , - 0xe05b4 , - 0xe05b5 , - 0xe05b6 , - 0xe05b7 , - 0xe05b8 , - 0xe05b9 , - 0xe05ba , - 0xe05bb , - 0xe05bc , - 0xe05bd , - 0xe05be , - 0xe05bf , - 0xe05c0 , - 0xe05c1 , - 0xe05c2 , - 0xe05c3 , - 0xe05c4 , - 0xe05c5 , - 0xe05c6 , - 0xe05c7 , - 0xe05c8 , - 0xe05c9 , - 0xe05ca , - 0xe05cb , - 0xe05cc , - 0xe05cd , - 0xe05ce , - 0xe05cf , - 0xe05d0 , - 0xe05d1 , - 0xe05d2 , - 0xe05d3 , - 0xe05d4 , - 0xe05d5 , - 0xe05d6 , - 0xe05d7 , - 0xe05d8 , - 0xe05d9 , - 0xe05da , - 0xe05db , - 0xe05dc , - 0xe05dd , - 0xe05de , - 0xe05df , - 0xe05e0 , - 0xe05e1 , - 0xe05e2 , - 0xe05e3 , - 0xe05e4 , - 0xe05e5 , - 0xe05e6 , - 0xe05e7 , - 0xe05e8 , - 0xe05e9 , - 0xe05ea , - 0xe05eb , - 0xe05ec , - 0xe05ed , - 0xe05ee , - 0xe05ef , - 0xe05f0 , - 0xe05f1 , - 0xe05f2 , - 0xe05f3 , - 0xe05f4 , - 0xe05f5 , - 0xe05f6 , - 0xe05f7 , - 0xe05f8 , - 0xe05f9 , - 0xe05fa , - 0xe05fb , - 0xe05fc , - 0xe05fd , - 0xe05fe , - 0xe05ff , - 0xe0600 , - 0xe0601 , - 0xe0602 , - 0xe0603 , - 0xe0604 , - 0xe0605 , - 0xe0606 , - 0xe0607 , - 0xe0608 , - 0xe0609 , - 0xe060a , - 0xe060b , - 0xe060c , - 0xe060d , - 0xe060e , - 0xe060f , - 0xe0610 , - 0xe0611 , - 0xe0612 , - 0xe0613 , - 0xe0614 , - 0xe0615 , - 0xe0616 , - 0xe0617 , - 0xe0618 , - 0xe0619 , - 0xe061a , - 0xe061b , - 0xe061c , - 0xe061d , - 0xe061e , - 0xe061f , - 0xe0620 , - 0xe0621 , - 0xe0622 , - 0xe0623 , - 0xe0624 , - 0xe0625 , - 0xe0626 , - 0xe0627 , - 0xe0628 , - 0xe0629 , - 0xe062a , - 0xe062b , - 0xe062c , - 0xe062d , - 0xe062e , - 0xe062f , - 0xe0630 , - 0xe0631 , - 0xe0632 , - 0xe0633 , - 0xe0634 , - 0xe0635 , - 0xe0636 , - 0xe0637 , - 0xe0638 , - 0xe0639 , - 0xe063a , - 0xe063b , - 0xe063c , - 0xe063d , - 0xe063e , - 0xe063f , - 0xe0640 , - 0xe0641 , - 0xe0642 , - 0xe0643 , - 0xe0644 , - 0xe0645 , - 0xe0646 , - 0xe0647 , - 0xe0648 , - 0xe0649 , - 0xe064a , - 0xe064b , - 0xe064c , - 0xe064d , - 0xe064e , - 0xe064f , - 0xe0650 , - 0xe0651 , - 0xe0652 , - 0xe0653 , - 0xe0654 , - 0xe0655 , - 0xe0656 , - 0xe0657 , - 0xe0658 , - 0xe0659 , - 0xe065a , - 0xe065b , - 0xe065c , - 0xe065d , - 0xe065e , - 0xe065f , - 0xe0660 , - 0xe0661 , - 0xe0662 , - 0xe0663 , - 0xe0664 , - 0xe0665 , - 0xe0666 , - 0xe0667 , - 0xe0668 , - 0xe0669 , - 0xe066a , - 0xe066b , - 0xe066c , - 0xe066d , - 0xe066e , - 0xe066f , - 0xe0670 , - 0xe0671 , - 0xe0672 , - 0xe0673 , - 0xe0674 , - 0xe0675 , - 0xe0676 , - 0xe0677 , - 0xe0678 , - 0xe0679 , - 0xe067a , - 0xe067b , - 0xe067c , - 0xe067d , - 0xe067e , - 0xe067f , - 0xe0680 , - 0xe0681 , - 0xe0682 , - 0xe0683 , - 0xe0684 , - 0xe0685 , - 0xe0686 , - 0xe0687 , - 0xe0688 , - 0xe0689 , - 0xe068a , - 0xe068b , - 0xe068c , - 0xe068d , - 0xe068e , - 0xe068f , - 0xe0690 , - 0xe0691 , - 0xe0692 , - 0xe0693 , - 0xe0694 , - 0xe0695 , - 0xe0696 , - 0xe0697 , - 0xe0698 , - 0xe0699 , - 0xe069a , - 0xe069b , - 0xe069c , - 0xe069d , - 0xe069e , - 0xe069f , - 0xe06a0 , - 0xe06a1 , - 0xe06a2 , - 0xe06a3 , - 0xe06a4 , - 0xe06a5 , - 0xe06a6 , - 0xe06a7 , - 0xe06a8 , - 0xe06a9 , - 0xe06aa , - 0xe06ab , - 0xe06ac , - 0xe06ad , - 0xe06ae , - 0xe06af , - 0xe06b0 , - 0xe06b1 , - 0xe06b2 , - 0xe06b3 , - 0xe06b4 , - 0xe06b5 , - 0xe06b6 , - 0xe06b7 , - 0xe06b8 , - 0xe06b9 , - 0xe06ba , - 0xe06bb , - 0xe06bc , - 0xe06bd , - 0xe06be , - 0xe06bf , - 0xe06c0 , - 0xe06c1 , - 0xe06c2 , - 0xe06c3 , - 0xe06c4 , - 0xe06c5 , - 0xe06c6 , - 0xe06c7 , - 0xe06c8 , - 0xe06c9 , - 0xe06ca , - 0xe06cb , - 0xe06cc , - 0xe06cd , - 0xe06ce , - 0xe06cf , - 0xe06d0 , - 0xe06d1 , - 0xe06d2 , - 0xe06d3 , - 0xe06d4 , - 0xe06d5 , - 0xe06d6 , - 0xe06d7 , - 0xe06d8 , - 0xe06d9 , - 0xe06da , - 0xe06db , - 0xe06dc , - 0xe06dd , - 0xe06de , - 0xe06df , - 0xe06e0 , - 0xe06e1 , - 0xe06e2 , - 0xe06e3 , - 0xe06e4 , - 0xe06e5 , - 0xe06e6 , - 0xe06e7 , - 0xe06e8 , - 0xe06e9 , - 0xe06ea , - 0xe06eb , - 0xe06ec , - 0xe06ed , - 0xe06ee , - 0xe06ef , - 0xe06f0 , - 0xe06f1 , - 0xe06f2 , - 0xe06f3 , - 0xe06f4 , - 0xe06f5 , - 0xe06f6 , - 0xe06f7 , - 0xe06f8 , - 0xe06f9 , - 0xe06fa , - 0xe06fb , - 0xe06fc , - 0xe06fd , - 0xe06fe , - 0xe06ff , - 0xe0700 , - 0xe0701 , - 0xe0702 , - 0xe0703 , - 0xe0704 , - 0xe0705 , - 0xe0706 , - 0xe0707 , - 0xe0708 , - 0xe0709 , - 0xe070a , - 0xe070b , - 0xe070c , - 0xe070d , - 0xe070e , - 0xe070f , - 0xe0710 , - 0xe0711 , - 0xe0712 , - 0xe0713 , - 0xe0714 , - 0xe0715 , - 0xe0716 , - 0xe0717 , - 0xe0718 , - 0xe0719 , - 0xe071a , - 0xe071b , - 0xe071c , - 0xe071d , - 0xe071e , - 0xe071f , - 0xe0720 , - 0xe0721 , - 0xe0722 , - 0xe0723 , - 0xe0724 , - 0xe0725 , - 0xe0726 , - 0xe0727 , - 0xe0728 , - 0xe0729 , - 0xe072a , - 0xe072b , - 0xe072c , - 0xe072d , - 0xe072e , - 0xe072f , - 0xe0730 , - 0xe0731 , - 0xe0732 , - 0xe0733 , - 0xe0734 , - 0xe0735 , - 0xe0736 , - 0xe0737 , - 0xe0738 , - 0xe0739 , - 0xe073a , - 0xe073b , - 0xe073c , - 0xe073d , - 0xe073e , - 0xe073f , - 0xe0740 , - 0xe0741 , - 0xe0742 , - 0xe0743 , - 0xe0744 , - 0xe0745 , - 0xe0746 , - 0xe0747 , - 0xe0748 , - 0xe0749 , - 0xe074a , - 0xe074b , - 0xe074c , - 0xe074d , - 0xe074e , - 0xe074f , - 0xe0750 , - 0xe0751 , - 0xe0752 , - 0xe0753 , - 0xe0754 , - 0xe0755 , - 0xe0756 , - 0xe0757 , - 0xe0758 , - 0xe0759 , - 0xe075a , - 0xe075b , - 0xe075c , - 0xe075d , - 0xe075e , - 0xe075f , - 0xe0760 , - 0xe0761 , - 0xe0762 , - 0xe0763 , - 0xe0764 , - 0xe0765 , - 0xe0766 , - 0xe0767 , - 0xe0768 , - 0xe0769 , - 0xe076a , - 0xe076b , - 0xe076c , - 0xe076d , - 0xe076e , - 0xe076f , - 0xe0770 , - 0xe0771 , - 0xe0772 , - 0xe0773 , - 0xe0774 , - 0xe0775 , - 0xe0776 , - 0xe0777 , - 0xe0778 , - 0xe0779 , - 0xe077a , - 0xe077b , - 0xe077c , - 0xe077d , - 0xe077e , - 0xe077f , - 0xe0780 , - 0xe0781 , - 0xe0782 , - 0xe0783 , - 0xe0784 , - 0xe0785 , - 0xe0786 , - 0xe0787 , - 0xe0788 , - 0xe0789 , - 0xe078a , - 0xe078b , - 0xe078c , - 0xe078d , - 0xe078e , - 0xe078f , - 0xe0790 , - 0xe0791 , - 0xe0792 , - 0xe0793 , - 0xe0794 , - 0xe0795 , - 0xe0796 , - 0xe0797 , - 0xe0798 , - 0xe0799 , - 0xe079a , - 0xe079b , - 0xe079c , - 0xe079d , - 0xe079e , - 0xe079f , - 0xe07a0 , - 0xe07a1 , - 0xe07a2 , - 0xe07a3 , - 0xe07a4 , - 0xe07a5 , - 0xe07a6 , - 0xe07a7 , - 0xe07a8 , - 0xe07a9 , - 0xe07aa , - 0xe07ab , - 0xe07ac , - 0xe07ad , - 0xe07ae , - 0xe07af , - 0xe07b0 , - 0xe07b1 , - 0xe07b2 , - 0xe07b3 , - 0xe07b4 , - 0xe07b5 , - 0xe07b6 , - 0xe07b7 , - 0xe07b8 , - 0xe07b9 , - 0xe07ba , - 0xe07bb , - 0xe07bc , - 0xe07bd , - 0xe07be , - 0xe07bf , - 0xe07c0 , - 0xe07c1 , - 0xe07c2 , - 0xe07c3 , - 0xe07c4 , - 0xe07c5 , - 0xe07c6 , - 0xe07c7 , - 0xe07c8 , - 0xe07c9 , - 0xe07ca , - 0xe07cb , - 0xe07cc , - 0xe07cd , - 0xe07ce , - 0xe07cf , - 0xe07d0 , - 0xe07d1 , - 0xe07d2 , - 0xe07d3 , - 0xe07d4 , - 0xe07d5 , - 0xe07d6 , - 0xe07d7 , - 0xe07d8 , - 0xe07d9 , - 0xe07da , - 0xe07db , - 0xe07dc , - 0xe07dd , - 0xe07de , - 0xe07df , - 0xe07e0 , - 0xe07e1 , - 0xe07e2 , - 0xe07e3 , - 0xe07e4 , - 0xe07e5 , - 0xe07e6 , - 0xe07e7 , - 0xe07e8 , - 0xe07e9 , - 0xe07ea , - 0xe07eb , - 0xe07ec , - 0xe07ed , - 0xe07ee , - 0xe07ef , - 0xe07f0 , - 0xe07f1 , - 0xe07f2 , - 0xe07f3 , - 0xe07f4 , - 0xe07f5 , - 0xe07f6 , - 0xe07f7 , - 0xe07f8 , - 0xe07f9 , - 0xe07fa , - 0xe07fb , - 0xe07fc , - 0xe07fd , - 0xe07fe , - 0xe07ff , - 0xe0800 , - 0xe0801 , - 0xe0802 , - 0xe0803 , - 0xe0804 , - 0xe0805 , - 0xe0806 , - 0xe0807 , - 0xe0808 , - 0xe0809 , - 0xe080a , - 0xe080b , - 0xe080c , - 0xe080d , - 0xe080e , - 0xe080f , - 0xe0810 , - 0xe0811 , - 0xe0812 , - 0xe0813 , - 0xe0814 , - 0xe0815 , - 0xe0816 , - 0xe0817 , - 0xe0818 , - 0xe0819 , - 0xe081a , - 0xe081b , - 0xe081c , - 0xe081d , - 0xe081e , - 0xe081f , - 0xe0820 , - 0xe0821 , - 0xe0822 , - 0xe0823 , - 0xe0824 , - 0xe0825 , - 0xe0826 , - 0xe0827 , - 0xe0828 , - 0xe0829 , - 0xe082a , - 0xe082b , - 0xe082c , - 0xe082d , - 0xe082e , - 0xe082f , - 0xe0830 , - 0xe0831 , - 0xe0832 , - 0xe0833 , - 0xe0834 , - 0xe0835 , - 0xe0836 , - 0xe0837 , - 0xe0838 , - 0xe0839 , - 0xe083a , - 0xe083b , - 0xe083c , - 0xe083d , - 0xe083e , - 0xe083f , - 0xe0840 , - 0xe0841 , - 0xe0842 , - 0xe0843 , - 0xe0844 , - 0xe0845 , - 0xe0846 , - 0xe0847 , - 0xe0848 , - 0xe0849 , - 0xe084a , - 0xe084b , - 0xe084c , - 0xe084d , - 0xe084e , - 0xe084f , - 0xe0850 , - 0xe0851 , - 0xe0852 , - 0xe0853 , - 0xe0854 , - 0xe0855 , - 0xe0856 , - 0xe0857 , - 0xe0858 , - 0xe0859 , - 0xe085a , - 0xe085b , - 0xe085c , - 0xe085d , - 0xe085e , - 0xe085f , - 0xe0860 , - 0xe0861 , - 0xe0862 , - 0xe0863 , - 0xe0864 , - 0xe0865 , - 0xe0866 , - 0xe0867 , - 0xe0868 , - 0xe0869 , - 0xe086a , - 0xe086b , - 0xe086c , - 0xe086d , - 0xe086e , - 0xe086f , - 0xe0870 , - 0xe0871 , - 0xe0872 , - 0xe0873 , - 0xe0874 , - 0xe0875 , - 0xe0876 , - 0xe0877 , - 0xe0878 , - 0xe0879 , - 0xe087a , - 0xe087b , - 0xe087c , - 0xe087d , - 0xe087e , - 0xe087f , - 0xe0880 , - 0xe0881 , - 0xe0882 , - 0xe0883 , - 0xe0884 , - 0xe0885 , - 0xe0886 , - 0xe0887 , - 0xe0888 , - 0xe0889 , - 0xe088a , - 0xe088b , - 0xe088c , - 0xe088d , - 0xe088e , - 0xe088f , - 0xe0890 , - 0xe0891 , - 0xe0892 , - 0xe0893 , - 0xe0894 , - 0xe0895 , - 0xe0896 , - 0xe0897 , - 0xe0898 , - 0xe0899 , - 0xe089a , - 0xe089b , - 0xe089c , - 0xe089d , - 0xe089e , - 0xe089f , - 0xe08a0 , - 0xe08a1 , - 0xe08a2 , - 0xe08a3 , - 0xe08a4 , - 0xe08a5 , - 0xe08a6 , - 0xe08a7 , - 0xe08a8 , - 0xe08a9 , - 0xe08aa , - 0xe08ab , - 0xe08ac , - 0xe08ad , - 0xe08ae , - 0xe08af , - 0xe08b0 , - 0xe08b1 , - 0xe08b2 , - 0xe08b3 , - 0xe08b4 , - 0xe08b5 , - 0xe08b6 , - 0xe08b7 , - 0xe08b8 , - 0xe08b9 , - 0xe08ba , - 0xe08bb , - 0xe08bc , - 0xe08bd , - 0xe08be , - 0xe08bf , - 0xe08c0 , - 0xe08c1 , - 0xe08c2 , - 0xe08c3 , - 0xe08c4 , - 0xe08c5 , - 0xe08c6 , - 0xe08c7 , - 0xe08c8 , - 0xe08c9 , - 0xe08ca , - 0xe08cb , - 0xe08cc , - 0xe08cd , - 0xe08ce , - 0xe08cf , - 0xe08d0 , - 0xe08d1 , - 0xe08d2 , - 0xe08d3 , - 0xe08d4 , - 0xe08d5 , - 0xe08d6 , - 0xe08d7 , - 0xe08d8 , - 0xe08d9 , - 0xe08da , - 0xe08db , - 0xe08dc , - 0xe08dd , - 0xe08de , - 0xe08df , - 0xe08e0 , - 0xe08e1 , - 0xe08e2 , - 0xe08e3 , - 0xe08e4 , - 0xe08e5 , - 0xe08e6 , - 0xe08e7 , - 0xe08e8 , - 0xe08e9 , - 0xe08ea , - 0xe08eb , - 0xe08ec , - 0xe08ed , - 0xe08ee , - 0xe08ef , - 0xe08f0 , - 0xe08f1 , - 0xe08f2 , - 0xe08f3 , - 0xe08f4 , - 0xe08f5 , - 0xe08f6 , - 0xe08f7 , - 0xe08f8 , - 0xe08f9 , - 0xe08fa , - 0xe08fb , - 0xe08fc , - 0xe08fd , - 0xe08fe , - 0xe08ff , - 0xe0900 , - 0xe0901 , - 0xe0902 , - 0xe0903 , - 0xe0904 , - 0xe0905 , - 0xe0906 , - 0xe0907 , - 0xe0908 , - 0xe0909 , - 0xe090a , - 0xe090b , - 0xe090c , - 0xe090d , - 0xe090e , - 0xe090f , - 0xe0910 , - 0xe0911 , - 0xe0912 , - 0xe0913 , - 0xe0914 , - 0xe0915 , - 0xe0916 , - 0xe0917 , - 0xe0918 , - 0xe0919 , - 0xe091a , - 0xe091b , - 0xe091c , - 0xe091d , - 0xe091e , - 0xe091f , - 0xe0920 , - 0xe0921 , - 0xe0922 , - 0xe0923 , - 0xe0924 , - 0xe0925 , - 0xe0926 , - 0xe0927 , - 0xe0928 , - 0xe0929 , - 0xe092a , - 0xe092b , - 0xe092c , - 0xe092d , - 0xe092e , - 0xe092f , - 0xe0930 , - 0xe0931 , - 0xe0932 , - 0xe0933 , - 0xe0934 , - 0xe0935 , - 0xe0936 , - 0xe0937 , - 0xe0938 , - 0xe0939 , - 0xe093a , - 0xe093b , - 0xe093c , - 0xe093d , - 0xe093e , - 0xe093f , - 0xe0940 , - 0xe0941 , - 0xe0942 , - 0xe0943 , - 0xe0944 , - 0xe0945 , - 0xe0946 , - 0xe0947 , - 0xe0948 , - 0xe0949 , - 0xe094a , - 0xe094b , - 0xe094c , - 0xe094d , - 0xe094e , - 0xe094f , - 0xe0950 , - 0xe0951 , - 0xe0952 , - 0xe0953 , - 0xe0954 , - 0xe0955 , - 0xe0956 , - 0xe0957 , - 0xe0958 , - 0xe0959 , - 0xe095a , - 0xe095b , - 0xe095c , - 0xe095d , - 0xe095e , - 0xe095f , - 0xe0960 , - 0xe0961 , - 0xe0962 , - 0xe0963 , - 0xe0964 , - 0xe0965 , - 0xe0966 , - 0xe0967 , - 0xe0968 , - 0xe0969 , - 0xe096a , - 0xe096b , - 0xe096c , - 0xe096d , - 0xe096e , - 0xe096f , - 0xe0970 , - 0xe0971 , - 0xe0972 , - 0xe0973 , - 0xe0974 , - 0xe0975 , - 0xe0976 , - 0xe0977 , - 0xe0978 , - 0xe0979 , - 0xe097a , - 0xe097b , - 0xe097c , - 0xe097d , - 0xe097e , - 0xe097f , - 0xe0980 , - 0xe0981 , - 0xe0982 , - 0xe0983 , - 0xe0984 , - 0xe0985 , - 0xe0986 , - 0xe0987 , - 0xe0988 , - 0xe0989 , - 0xe098a , - 0xe098b , - 0xe098c , - 0xe098d , - 0xe098e , - 0xe098f , - 0xe0990 , - 0xe0991 , - 0xe0992 , - 0xe0993 , - 0xe0994 , - 0xe0995 , - 0xe0996 , - 0xe0997 , - 0xe0998 , - 0xe0999 , - 0xe099a , - 0xe099b , - 0xe099c , - 0xe099d , - 0xe099e , - 0xe099f , - 0xe09a0 , - 0xe09a1 , - 0xe09a2 , - 0xe09a3 , - 0xe09a4 , - 0xe09a5 , - 0xe09a6 , - 0xe09a7 , - 0xe09a8 , - 0xe09a9 , - 0xe09aa , - 0xe09ab , - 0xe09ac , - 0xe09ad , - 0xe09ae , - 0xe09af , - 0xe09b0 , - 0xe09b1 , - 0xe09b2 , - 0xe09b3 , - 0xe09b4 , - 0xe09b5 , - 0xe09b6 , - 0xe09b7 , - 0xe09b8 , - 0xe09b9 , - 0xe09ba , - 0xe09bb , - 0xe09bc , - 0xe09bd , - 0xe09be , - 0xe09bf , - 0xe09c0 , - 0xe09c1 , - 0xe09c2 , - 0xe09c3 , - 0xe09c4 , - 0xe09c5 , - 0xe09c6 , - 0xe09c7 , - 0xe09c8 , - 0xe09c9 , - 0xe09ca , - 0xe09cb , - 0xe09cc , - 0xe09cd , - 0xe09ce , - 0xe09cf , - 0xe09d0 , - 0xe09d1 , - 0xe09d2 , - 0xe09d3 , - 0xe09d4 , - 0xe09d5 , - 0xe09d6 , - 0xe09d7 , - 0xe09d8 , - 0xe09d9 , - 0xe09da , - 0xe09db , - 0xe09dc , - 0xe09dd , - 0xe09de , - 0xe09df , - 0xe09e0 , - 0xe09e1 , - 0xe09e2 , - 0xe09e3 , - 0xe09e4 , - 0xe09e5 , - 0xe09e6 , - 0xe09e7 , - 0xe09e8 , - 0xe09e9 , - 0xe09ea , - 0xe09eb , - 0xe09ec , - 0xe09ed , - 0xe09ee , - 0xe09ef , - 0xe09f0 , - 0xe09f1 , - 0xe09f2 , - 0xe09f3 , - 0xe09f4 , - 0xe09f5 , - 0xe09f6 , - 0xe09f7 , - 0xe09f8 , - 0xe09f9 , - 0xe09fa , - 0xe09fb , - 0xe09fc , - 0xe09fd , - 0xe09fe , - 0xe09ff , - 0xe0a00 , - 0xe0a01 , - 0xe0a02 , - 0xe0a03 , - 0xe0a04 , - 0xe0a05 , - 0xe0a06 , - 0xe0a07 , - 0xe0a08 , - 0xe0a09 , - 0xe0a0a , - 0xe0a0b , - 0xe0a0c , - 0xe0a0d , - 0xe0a0e , - 0xe0a0f , - 0xe0a10 , - 0xe0a11 , - 0xe0a12 , - 0xe0a13 , - 0xe0a14 , - 0xe0a15 , - 0xe0a16 , - 0xe0a17 , - 0xe0a18 , - 0xe0a19 , - 0xe0a1a , - 0xe0a1b , - 0xe0a1c , - 0xe0a1d , - 0xe0a1e , - 0xe0a1f , - 0xe0a20 , - 0xe0a21 , - 0xe0a22 , - 0xe0a23 , - 0xe0a24 , - 0xe0a25 , - 0xe0a26 , - 0xe0a27 , - 0xe0a28 , - 0xe0a29 , - 0xe0a2a , - 0xe0a2b , - 0xe0a2c , - 0xe0a2d , - 0xe0a2e , - 0xe0a2f , - 0xe0a30 , - 0xe0a31 , - 0xe0a32 , - 0xe0a33 , - 0xe0a34 , - 0xe0a35 , - 0xe0a36 , - 0xe0a37 , - 0xe0a38 , - 0xe0a39 , - 0xe0a3a , - 0xe0a3b , - 0xe0a3c , - 0xe0a3d , - 0xe0a3e , - 0xe0a3f , - 0xe0a40 , - 0xe0a41 , - 0xe0a42 , - 0xe0a43 , - 0xe0a44 , - 0xe0a45 , - 0xe0a46 , - 0xe0a47 , - 0xe0a48 , - 0xe0a49 , - 0xe0a4a , - 0xe0a4b , - 0xe0a4c , - 0xe0a4d , - 0xe0a4e , - 0xe0a4f , - 0xe0a50 , - 0xe0a51 , - 0xe0a52 , - 0xe0a53 , - 0xe0a54 , - 0xe0a55 , - 0xe0a56 , - 0xe0a57 , - 0xe0a58 , - 0xe0a59 , - 0xe0a5a , - 0xe0a5b , - 0xe0a5c , - 0xe0a5d , - 0xe0a5e , - 0xe0a5f , - 0xe0a60 , - 0xe0a61 , - 0xe0a62 , - 0xe0a63 , - 0xe0a64 , - 0xe0a65 , - 0xe0a66 , - 0xe0a67 , - 0xe0a68 , - 0xe0a69 , - 0xe0a6a , - 0xe0a6b , - 0xe0a6c , - 0xe0a6d , - 0xe0a6e , - 0xe0a6f , - 0xe0a70 , - 0xe0a71 , - 0xe0a72 , - 0xe0a73 , - 0xe0a74 , - 0xe0a75 , - 0xe0a76 , - 0xe0a77 , - 0xe0a78 , - 0xe0a79 , - 0xe0a7a , - 0xe0a7b , - 0xe0a7c , - 0xe0a7d , - 0xe0a7e , - 0xe0a7f , - 0xe0a80 , - 0xe0a81 , - 0xe0a82 , - 0xe0a83 , - 0xe0a84 , - 0xe0a85 , - 0xe0a86 , - 0xe0a87 , - 0xe0a88 , - 0xe0a89 , - 0xe0a8a , - 0xe0a8b , - 0xe0a8c , - 0xe0a8d , - 0xe0a8e , - 0xe0a8f , - 0xe0a90 , - 0xe0a91 , - 0xe0a92 , - 0xe0a93 , - 0xe0a94 , - 0xe0a95 , - 0xe0a96 , - 0xe0a97 , - 0xe0a98 , - 0xe0a99 , - 0xe0a9a , - 0xe0a9b , - 0xe0a9c , - 0xe0a9d , - 0xe0a9e , - 0xe0a9f , - 0xe0aa0 , - 0xe0aa1 , - 0xe0aa2 , - 0xe0aa3 , - 0xe0aa4 , - 0xe0aa5 , - 0xe0aa6 , - 0xe0aa7 , - 0xe0aa8 , - 0xe0aa9 , - 0xe0aaa , - 0xe0aab , - 0xe0aac , - 0xe0aad , - 0xe0aae , - 0xe0aaf , - 0xe0ab0 , - 0xe0ab1 , - 0xe0ab2 , - 0xe0ab3 , - 0xe0ab4 , - 0xe0ab5 , - 0xe0ab6 , - 0xe0ab7 , - 0xe0ab8 , - 0xe0ab9 , - 0xe0aba , - 0xe0abb , - 0xe0abc , - 0xe0abd , - 0xe0abe , - 0xe0abf , - 0xe0ac0 , - 0xe0ac1 , - 0xe0ac2 , - 0xe0ac3 , - 0xe0ac4 , - 0xe0ac5 , - 0xe0ac6 , - 0xe0ac7 , - 0xe0ac8 , - 0xe0ac9 , - 0xe0aca , - 0xe0acb , - 0xe0acc , - 0xe0acd , - 0xe0ace , - 0xe0acf , - 0xe0ad0 , - 0xe0ad1 , - 0xe0ad2 , - 0xe0ad3 , - 0xe0ad4 , - 0xe0ad5 , - 0xe0ad6 , - 0xe0ad7 , - 0xe0ad8 , - 0xe0ad9 , - 0xe0ada , - 0xe0adb , - 0xe0adc , - 0xe0add , - 0xe0ade , - 0xe0adf , - 0xe0ae0 , - 0xe0ae1 , - 0xe0ae2 , - 0xe0ae3 , - 0xe0ae4 , - 0xe0ae5 , - 0xe0ae6 , - 0xe0ae7 , - 0xe0ae8 , - 0xe0ae9 , - 0xe0aea , - 0xe0aeb , - 0xe0aec , - 0xe0aed , - 0xe0aee , - 0xe0aef , - 0xe0af0 , - 0xe0af1 , - 0xe0af2 , - 0xe0af3 , - 0xe0af4 , - 0xe0af5 , - 0xe0af6 , - 0xe0af7 , - 0xe0af8 , - 0xe0af9 , - 0xe0afa , - 0xe0afb , - 0xe0afc , - 0xe0afd , - 0xe0afe , - 0xe0aff , - 0xe0b00 , - 0xe0b01 , - 0xe0b02 , - 0xe0b03 , - 0xe0b04 , - 0xe0b05 , - 0xe0b06 , - 0xe0b07 , - 0xe0b08 , - 0xe0b09 , - 0xe0b0a , - 0xe0b0b , - 0xe0b0c , - 0xe0b0d , - 0xe0b0e , - 0xe0b0f , - 0xe0b10 , - 0xe0b11 , - 0xe0b12 , - 0xe0b13 , - 0xe0b14 , - 0xe0b15 , - 0xe0b16 , - 0xe0b17 , - 0xe0b18 , - 0xe0b19 , - 0xe0b1a , - 0xe0b1b , - 0xe0b1c , - 0xe0b1d , - 0xe0b1e , - 0xe0b1f , - 0xe0b20 , - 0xe0b21 , - 0xe0b22 , - 0xe0b23 , - 0xe0b24 , - 0xe0b25 , - 0xe0b26 , - 0xe0b27 , - 0xe0b28 , - 0xe0b29 , - 0xe0b2a , - 0xe0b2b , - 0xe0b2c , - 0xe0b2d , - 0xe0b2e , - 0xe0b2f , - 0xe0b30 , - 0xe0b31 , - 0xe0b32 , - 0xe0b33 , - 0xe0b34 , - 0xe0b35 , - 0xe0b36 , - 0xe0b37 , - 0xe0b38 , - 0xe0b39 , - 0xe0b3a , - 0xe0b3b , - 0xe0b3c , - 0xe0b3d , - 0xe0b3e , - 0xe0b3f , - 0xe0b40 , - 0xe0b41 , - 0xe0b42 , - 0xe0b43 , - 0xe0b44 , - 0xe0b45 , - 0xe0b46 , - 0xe0b47 , - 0xe0b48 , - 0xe0b49 , - 0xe0b4a , - 0xe0b4b , - 0xe0b4c , - 0xe0b4d , - 0xe0b4e , - 0xe0b4f , - 0xe0b50 , - 0xe0b51 , - 0xe0b52 , - 0xe0b53 , - 0xe0b54 , - 0xe0b55 , - 0xe0b56 , - 0xe0b57 , - 0xe0b58 , - 0xe0b59 , - 0xe0b5a , - 0xe0b5b , - 0xe0b5c , - 0xe0b5d , - 0xe0b5e , - 0xe0b5f , - 0xe0b60 , - 0xe0b61 , - 0xe0b62 , - 0xe0b63 , - 0xe0b64 , - 0xe0b65 , - 0xe0b66 , - 0xe0b67 , - 0xe0b68 , - 0xe0b69 , - 0xe0b6a , - 0xe0b6b , - 0xe0b6c , - 0xe0b6d , - 0xe0b6e , - 0xe0b6f , - 0xe0b70 , - 0xe0b71 , - 0xe0b72 , - 0xe0b73 , - 0xe0b74 , - 0xe0b75 , - 0xe0b76 , - 0xe0b77 , - 0xe0b78 , - 0xe0b79 , - 0xe0b7a , - 0xe0b7b , - 0xe0b7c , - 0xe0b7d , - 0xe0b7e , - 0xe0b7f , - 0xe0b80 , - 0xe0b81 , - 0xe0b82 , - 0xe0b83 , - 0xe0b84 , - 0xe0b85 , - 0xe0b86 , - 0xe0b87 , - 0xe0b88 , - 0xe0b89 , - 0xe0b8a , - 0xe0b8b , - 0xe0b8c , - 0xe0b8d , - 0xe0b8e , - 0xe0b8f , - 0xe0b90 , - 0xe0b91 , - 0xe0b92 , - 0xe0b93 , - 0xe0b94 , - 0xe0b95 , - 0xe0b96 , - 0xe0b97 , - 0xe0b98 , - 0xe0b99 , - 0xe0b9a , - 0xe0b9b , - 0xe0b9c , - 0xe0b9d , - 0xe0b9e , - 0xe0b9f , - 0xe0ba0 , - 0xe0ba1 , - 0xe0ba2 , - 0xe0ba3 , - 0xe0ba4 , - 0xe0ba5 , - 0xe0ba6 , - 0xe0ba7 , - 0xe0ba8 , - 0xe0ba9 , - 0xe0baa , - 0xe0bab , - 0xe0bac , - 0xe0bad , - 0xe0bae , - 0xe0baf , - 0xe0bb0 , - 0xe0bb1 , - 0xe0bb2 , - 0xe0bb3 , - 0xe0bb4 , - 0xe0bb5 , - 0xe0bb6 , - 0xe0bb7 , - 0xe0bb8 , - 0xe0bb9 , - 0xe0bba , - 0xe0bbb , - 0xe0bbc , - 0xe0bbd , - 0xe0bbe , - 0xe0bbf , - 0xe0bc0 , - 0xe0bc1 , - 0xe0bc2 , - 0xe0bc3 , - 0xe0bc4 , - 0xe0bc5 , - 0xe0bc6 , - 0xe0bc7 , - 0xe0bc8 , - 0xe0bc9 , - 0xe0bca , - 0xe0bcb , - 0xe0bcc , - 0xe0bcd , - 0xe0bce , - 0xe0bcf , - 0xe0bd0 , - 0xe0bd1 , - 0xe0bd2 , - 0xe0bd3 , - 0xe0bd4 , - 0xe0bd5 , - 0xe0bd6 , - 0xe0bd7 , - 0xe0bd8 , - 0xe0bd9 , - 0xe0bda , - 0xe0bdb , - 0xe0bdc , - 0xe0bdd , - 0xe0bde , - 0xe0bdf , - 0xe0be0 , - 0xe0be1 , - 0xe0be2 , - 0xe0be3 , - 0xe0be4 , - 0xe0be5 , - 0xe0be6 , - 0xe0be7 , - 0xe0be8 , - 0xe0be9 , - 0xe0bea , - 0xe0beb , - 0xe0bec , - 0xe0bed , - 0xe0bee , - 0xe0bef , - 0xe0bf0 , - 0xe0bf1 , - 0xe0bf2 , - 0xe0bf3 , - 0xe0bf4 , - 0xe0bf5 , - 0xe0bf6 , - 0xe0bf7 , - 0xe0bf8 , - 0xe0bf9 , - 0xe0bfa , - 0xe0bfb , - 0xe0bfc , - 0xe0bfd , - 0xe0bfe , - 0xe0bff , - 0xe0c00 , - 0xe0c01 , - 0xe0c02 , - 0xe0c03 , - 0xe0c04 , - 0xe0c05 , - 0xe0c06 , - 0xe0c07 , - 0xe0c08 , - 0xe0c09 , - 0xe0c0a , - 0xe0c0b , - 0xe0c0c , - 0xe0c0d , - 0xe0c0e , - 0xe0c0f , - 0xe0c10 , - 0xe0c11 , - 0xe0c12 , - 0xe0c13 , - 0xe0c14 , - 0xe0c15 , - 0xe0c16 , - 0xe0c17 , - 0xe0c18 , - 0xe0c19 , - 0xe0c1a , - 0xe0c1b , - 0xe0c1c , - 0xe0c1d , - 0xe0c1e , - 0xe0c1f , - 0xe0c20 , - 0xe0c21 , - 0xe0c22 , - 0xe0c23 , - 0xe0c24 , - 0xe0c25 , - 0xe0c26 , - 0xe0c27 , - 0xe0c28 , - 0xe0c29 , - 0xe0c2a , - 0xe0c2b , - 0xe0c2c , - 0xe0c2d , - 0xe0c2e , - 0xe0c2f , - 0xe0c30 , - 0xe0c31 , - 0xe0c32 , - 0xe0c33 , - 0xe0c34 , - 0xe0c35 , - 0xe0c36 , - 0xe0c37 , - 0xe0c38 , - 0xe0c39 , - 0xe0c3a , - 0xe0c3b , - 0xe0c3c , - 0xe0c3d , - 0xe0c3e , - 0xe0c3f , - 0xe0c40 , - 0xe0c41 , - 0xe0c42 , - 0xe0c43 , - 0xe0c44 , - 0xe0c45 , - 0xe0c46 , - 0xe0c47 , - 0xe0c48 , - 0xe0c49 , - 0xe0c4a , - 0xe0c4b , - 0xe0c4c , - 0xe0c4d , - 0xe0c4e , - 0xe0c4f , - 0xe0c50 , - 0xe0c51 , - 0xe0c52 , - 0xe0c53 , - 0xe0c54 , - 0xe0c55 , - 0xe0c56 , - 0xe0c57 , - 0xe0c58 , - 0xe0c59 , - 0xe0c5a , - 0xe0c5b , - 0xe0c5c , - 0xe0c5d , - 0xe0c5e , - 0xe0c5f , - 0xe0c60 , - 0xe0c61 , - 0xe0c62 , - 0xe0c63 , - 0xe0c64 , - 0xe0c65 , - 0xe0c66 , - 0xe0c67 , - 0xe0c68 , - 0xe0c69 , - 0xe0c6a , - 0xe0c6b , - 0xe0c6c , - 0xe0c6d , - 0xe0c6e , - 0xe0c6f , - 0xe0c70 , - 0xe0c71 , - 0xe0c72 , - 0xe0c73 , - 0xe0c74 , - 0xe0c75 , - 0xe0c76 , - 0xe0c77 , - 0xe0c78 , - 0xe0c79 , - 0xe0c7a , - 0xe0c7b , - 0xe0c7c , - 0xe0c7d , - 0xe0c7e , - 0xe0c7f , - 0xe0c80 , - 0xe0c81 , - 0xe0c82 , - 0xe0c83 , - 0xe0c84 , - 0xe0c85 , - 0xe0c86 , - 0xe0c87 , - 0xe0c88 , - 0xe0c89 , - 0xe0c8a , - 0xe0c8b , - 0xe0c8c , - 0xe0c8d , - 0xe0c8e , - 0xe0c8f , - 0xe0c90 , - 0xe0c91 , - 0xe0c92 , - 0xe0c93 , - 0xe0c94 , - 0xe0c95 , - 0xe0c96 , - 0xe0c97 , - 0xe0c98 , - 0xe0c99 , - 0xe0c9a , - 0xe0c9b , - 0xe0c9c , - 0xe0c9d , - 0xe0c9e , - 0xe0c9f , - 0xe0ca0 , - 0xe0ca1 , - 0xe0ca2 , - 0xe0ca3 , - 0xe0ca4 , - 0xe0ca5 , - 0xe0ca6 , - 0xe0ca7 , - 0xe0ca8 , - 0xe0ca9 , - 0xe0caa , - 0xe0cab , - 0xe0cac , - 0xe0cad , - 0xe0cae , - 0xe0caf , - 0xe0cb0 , - 0xe0cb1 , - 0xe0cb2 , - 0xe0cb3 , - 0xe0cb4 , - 0xe0cb5 , - 0xe0cb6 , - 0xe0cb7 , - 0xe0cb8 , - 0xe0cb9 , - 0xe0cba , - 0xe0cbb , - 0xe0cbc , - 0xe0cbd , - 0xe0cbe , - 0xe0cbf , - 0xe0cc0 , - 0xe0cc1 , - 0xe0cc2 , - 0xe0cc3 , - 0xe0cc4 , - 0xe0cc5 , - 0xe0cc6 , - 0xe0cc7 , - 0xe0cc8 , - 0xe0cc9 , - 0xe0cca , - 0xe0ccb , - 0xe0ccc , - 0xe0ccd , - 0xe0cce , - 0xe0ccf , - 0xe0cd0 , - 0xe0cd1 , - 0xe0cd2 , - 0xe0cd3 , - 0xe0cd4 , - 0xe0cd5 , - 0xe0cd6 , - 0xe0cd7 , - 0xe0cd8 , - 0xe0cd9 , - 0xe0cda , - 0xe0cdb , - 0xe0cdc , - 0xe0cdd , - 0xe0cde , - 0xe0cdf , - 0xe0ce0 , - 0xe0ce1 , - 0xe0ce2 , - 0xe0ce3 , - 0xe0ce4 , - 0xe0ce5 , - 0xe0ce6 , - 0xe0ce7 , - 0xe0ce8 , - 0xe0ce9 , - 0xe0cea , - 0xe0ceb , - 0xe0cec , - 0xe0ced , - 0xe0cee , - 0xe0cef , - 0xe0cf0 , - 0xe0cf1 , - 0xe0cf2 , - 0xe0cf3 , - 0xe0cf4 , - 0xe0cf5 , - 0xe0cf6 , - 0xe0cf7 , - 0xe0cf8 , - 0xe0cf9 , - 0xe0cfa , - 0xe0cfb , - 0xe0cfc , - 0xe0cfd , - 0xe0cfe , - 0xe0cff , - 0xe0d00 , - 0xe0d01 , - 0xe0d02 , - 0xe0d03 , - 0xe0d04 , - 0xe0d05 , - 0xe0d06 , - 0xe0d07 , - 0xe0d08 , - 0xe0d09 , - 0xe0d0a , - 0xe0d0b , - 0xe0d0c , - 0xe0d0d , - 0xe0d0e , - 0xe0d0f , - 0xe0d10 , - 0xe0d11 , - 0xe0d12 , - 0xe0d13 , - 0xe0d14 , - 0xe0d15 , - 0xe0d16 , - 0xe0d17 , - 0xe0d18 , - 0xe0d19 , - 0xe0d1a , - 0xe0d1b , - 0xe0d1c , - 0xe0d1d , - 0xe0d1e , - 0xe0d1f , - 0xe0d20 , - 0xe0d21 , - 0xe0d22 , - 0xe0d23 , - 0xe0d24 , - 0xe0d25 , - 0xe0d26 , - 0xe0d27 , - 0xe0d28 , - 0xe0d29 , - 0xe0d2a , - 0xe0d2b , - 0xe0d2c , - 0xe0d2d , - 0xe0d2e , - 0xe0d2f , - 0xe0d30 , - 0xe0d31 , - 0xe0d32 , - 0xe0d33 , - 0xe0d34 , - 0xe0d35 , - 0xe0d36 , - 0xe0d37 , - 0xe0d38 , - 0xe0d39 , - 0xe0d3a , - 0xe0d3b , - 0xe0d3c , - 0xe0d3d , - 0xe0d3e , - 0xe0d3f , - 0xe0d40 , - 0xe0d41 , - 0xe0d42 , - 0xe0d43 , - 0xe0d44 , - 0xe0d45 , - 0xe0d46 , - 0xe0d47 , - 0xe0d48 , - 0xe0d49 , - 0xe0d4a , - 0xe0d4b , - 0xe0d4c , - 0xe0d4d , - 0xe0d4e , - 0xe0d4f , - 0xe0d50 , - 0xe0d51 , - 0xe0d52 , - 0xe0d53 , - 0xe0d54 , - 0xe0d55 , - 0xe0d56 , - 0xe0d57 , - 0xe0d58 , - 0xe0d59 , - 0xe0d5a , - 0xe0d5b , - 0xe0d5c , - 0xe0d5d , - 0xe0d5e , - 0xe0d5f , - 0xe0d60 , - 0xe0d61 , - 0xe0d62 , - 0xe0d63 , - 0xe0d64 , - 0xe0d65 , - 0xe0d66 , - 0xe0d67 , - 0xe0d68 , - 0xe0d69 , - 0xe0d6a , - 0xe0d6b , - 0xe0d6c , - 0xe0d6d , - 0xe0d6e , - 0xe0d6f , - 0xe0d70 , - 0xe0d71 , - 0xe0d72 , - 0xe0d73 , - 0xe0d74 , - 0xe0d75 , - 0xe0d76 , - 0xe0d77 , - 0xe0d78 , - 0xe0d79 , - 0xe0d7a , - 0xe0d7b , - 0xe0d7c , - 0xe0d7d , - 0xe0d7e , - 0xe0d7f , - 0xe0d80 , - 0xe0d81 , - 0xe0d82 , - 0xe0d83 , - 0xe0d84 , - 0xe0d85 , - 0xe0d86 , - 0xe0d87 , - 0xe0d88 , - 0xe0d89 , - 0xe0d8a , - 0xe0d8b , - 0xe0d8c , - 0xe0d8d , - 0xe0d8e , - 0xe0d8f , - 0xe0d90 , - 0xe0d91 , - 0xe0d92 , - 0xe0d93 , - 0xe0d94 , - 0xe0d95 , - 0xe0d96 , - 0xe0d97 , - 0xe0d98 , - 0xe0d99 , - 0xe0d9a , - 0xe0d9b , - 0xe0d9c , - 0xe0d9d , - 0xe0d9e , - 0xe0d9f , - 0xe0da0 , - 0xe0da1 , - 0xe0da2 , - 0xe0da3 , - 0xe0da4 , - 0xe0da5 , - 0xe0da6 , - 0xe0da7 , - 0xe0da8 , - 0xe0da9 , - 0xe0daa , - 0xe0dab , - 0xe0dac , - 0xe0dad , - 0xe0dae , - 0xe0daf , - 0xe0db0 , - 0xe0db1 , - 0xe0db2 , - 0xe0db3 , - 0xe0db4 , - 0xe0db5 , - 0xe0db6 , - 0xe0db7 , - 0xe0db8 , - 0xe0db9 , - 0xe0dba , - 0xe0dbb , - 0xe0dbc , - 0xe0dbd , - 0xe0dbe , - 0xe0dbf , - 0xe0dc0 , - 0xe0dc1 , - 0xe0dc2 , - 0xe0dc3 , - 0xe0dc4 , - 0xe0dc5 , - 0xe0dc6 , - 0xe0dc7 , - 0xe0dc8 , - 0xe0dc9 , - 0xe0dca , - 0xe0dcb , - 0xe0dcc , - 0xe0dcd , - 0xe0dce , - 0xe0dcf , - 0xe0dd0 , - 0xe0dd1 , - 0xe0dd2 , - 0xe0dd3 , - 0xe0dd4 , - 0xe0dd5 , - 0xe0dd6 , - 0xe0dd7 , - 0xe0dd8 , - 0xe0dd9 , - 0xe0dda , - 0xe0ddb , - 0xe0ddc , - 0xe0ddd , - 0xe0dde , - 0xe0ddf , - 0xe0de0 , - 0xe0de1 , - 0xe0de2 , - 0xe0de3 , - 0xe0de4 , - 0xe0de5 , - 0xe0de6 , - 0xe0de7 , - 0xe0de8 , - 0xe0de9 , - 0xe0dea , - 0xe0deb , - 0xe0dec , - 0xe0ded , - 0xe0dee , - 0xe0def , - 0xe0df0 , - 0xe0df1 , - 0xe0df2 , - 0xe0df3 , - 0xe0df4 , - 0xe0df5 , - 0xe0df6 , - 0xe0df7 , - 0xe0df8 , - 0xe0df9 , - 0xe0dfa , - 0xe0dfb , - 0xe0dfc , - 0xe0dfd , - 0xe0dfe , - 0xe0dff , - 0xe0e00 , - 0xe0e01 , - 0xe0e02 , - 0xe0e03 , - 0xe0e04 , - 0xe0e05 , - 0xe0e06 , - 0xe0e07 , - 0xe0e08 , - 0xe0e09 , - 0xe0e0a , - 0xe0e0b , - 0xe0e0c , - 0xe0e0d , - 0xe0e0e , - 0xe0e0f , - 0xe0e10 , - 0xe0e11 , - 0xe0e12 , - 0xe0e13 , - 0xe0e14 , - 0xe0e15 , - 0xe0e16 , - 0xe0e17 , - 0xe0e18 , - 0xe0e19 , - 0xe0e1a , - 0xe0e1b , - 0xe0e1c , - 0xe0e1d , - 0xe0e1e , - 0xe0e1f , - 0xe0e20 , - 0xe0e21 , - 0xe0e22 , - 0xe0e23 , - 0xe0e24 , - 0xe0e25 , - 0xe0e26 , - 0xe0e27 , - 0xe0e28 , - 0xe0e29 , - 0xe0e2a , - 0xe0e2b , - 0xe0e2c , - 0xe0e2d , - 0xe0e2e , - 0xe0e2f , - 0xe0e30 , - 0xe0e31 , - 0xe0e32 , - 0xe0e33 , - 0xe0e34 , - 0xe0e35 , - 0xe0e36 , - 0xe0e37 , - 0xe0e38 , - 0xe0e39 , - 0xe0e3a , - 0xe0e3b , - 0xe0e3c , - 0xe0e3d , - 0xe0e3e , - 0xe0e3f , - 0xe0e40 , - 0xe0e41 , - 0xe0e42 , - 0xe0e43 , - 0xe0e44 , - 0xe0e45 , - 0xe0e46 , - 0xe0e47 , - 0xe0e48 , - 0xe0e49 , - 0xe0e4a , - 0xe0e4b , - 0xe0e4c , - 0xe0e4d , - 0xe0e4e , - 0xe0e4f , - 0xe0e50 , - 0xe0e51 , - 0xe0e52 , - 0xe0e53 , - 0xe0e54 , - 0xe0e55 , - 0xe0e56 , - 0xe0e57 , - 0xe0e58 , - 0xe0e59 , - 0xe0e5a , - 0xe0e5b , - 0xe0e5c , - 0xe0e5d , - 0xe0e5e , - 0xe0e5f , - 0xe0e60 , - 0xe0e61 , - 0xe0e62 , - 0xe0e63 , - 0xe0e64 , - 0xe0e65 , - 0xe0e66 , - 0xe0e67 , - 0xe0e68 , - 0xe0e69 , - 0xe0e6a , - 0xe0e6b , - 0xe0e6c , - 0xe0e6d , - 0xe0e6e , - 0xe0e6f , - 0xe0e70 , - 0xe0e71 , - 0xe0e72 , - 0xe0e73 , - 0xe0e74 , - 0xe0e75 , - 0xe0e76 , - 0xe0e77 , - 0xe0e78 , - 0xe0e79 , - 0xe0e7a , - 0xe0e7b , - 0xe0e7c , - 0xe0e7d , - 0xe0e7e , - 0xe0e7f , - 0xe0e80 , - 0xe0e81 , - 0xe0e82 , - 0xe0e83 , - 0xe0e84 , - 0xe0e85 , - 0xe0e86 , - 0xe0e87 , - 0xe0e88 , - 0xe0e89 , - 0xe0e8a , - 0xe0e8b , - 0xe0e8c , - 0xe0e8d , - 0xe0e8e , - 0xe0e8f , - 0xe0e90 , - 0xe0e91 , - 0xe0e92 , - 0xe0e93 , - 0xe0e94 , - 0xe0e95 , - 0xe0e96 , - 0xe0e97 , - 0xe0e98 , - 0xe0e99 , - 0xe0e9a , - 0xe0e9b , - 0xe0e9c , - 0xe0e9d , - 0xe0e9e , - 0xe0e9f , - 0xe0ea0 , - 0xe0ea1 , - 0xe0ea2 , - 0xe0ea3 , - 0xe0ea4 , - 0xe0ea5 , - 0xe0ea6 , - 0xe0ea7 , - 0xe0ea8 , - 0xe0ea9 , - 0xe0eaa , - 0xe0eab , - 0xe0eac , - 0xe0ead , - 0xe0eae , - 0xe0eaf , - 0xe0eb0 , - 0xe0eb1 , - 0xe0eb2 , - 0xe0eb3 , - 0xe0eb4 , - 0xe0eb5 , - 0xe0eb6 , - 0xe0eb7 , - 0xe0eb8 , - 0xe0eb9 , - 0xe0eba , - 0xe0ebb , - 0xe0ebc , - 0xe0ebd , - 0xe0ebe , - 0xe0ebf , - 0xe0ec0 , - 0xe0ec1 , - 0xe0ec2 , - 0xe0ec3 , - 0xe0ec4 , - 0xe0ec5 , - 0xe0ec6 , - 0xe0ec7 , - 0xe0ec8 , - 0xe0ec9 , - 0xe0eca , - 0xe0ecb , - 0xe0ecc , - 0xe0ecd , - 0xe0ece , - 0xe0ecf , - 0xe0ed0 , - 0xe0ed1 , - 0xe0ed2 , - 0xe0ed3 , - 0xe0ed4 , - 0xe0ed5 , - 0xe0ed6 , - 0xe0ed7 , - 0xe0ed8 , - 0xe0ed9 , - 0xe0eda , - 0xe0edb , - 0xe0edc , - 0xe0edd , - 0xe0ede , - 0xe0edf , - 0xe0ee0 , - 0xe0ee1 , - 0xe0ee2 , - 0xe0ee3 , - 0xe0ee4 , - 0xe0ee5 , - 0xe0ee6 , - 0xe0ee7 , - 0xe0ee8 , - 0xe0ee9 , - 0xe0eea , - 0xe0eeb , - 0xe0eec , - 0xe0eed , - 0xe0eee , - 0xe0eef , - 0xe0ef0 , - 0xe0ef1 , - 0xe0ef2 , - 0xe0ef3 , - 0xe0ef4 , - 0xe0ef5 , - 0xe0ef6 , - 0xe0ef7 , - 0xe0ef8 , - 0xe0ef9 , - 0xe0efa , - 0xe0efb , - 0xe0efc , - 0xe0efd , - 0xe0efe , - 0xe0eff , - 0xe0f00 , - 0xe0f01 , - 0xe0f02 , - 0xe0f03 , - 0xe0f04 , - 0xe0f05 , - 0xe0f06 , - 0xe0f07 , - 0xe0f08 , - 0xe0f09 , - 0xe0f0a , - 0xe0f0b , - 0xe0f0c , - 0xe0f0d , - 0xe0f0e , - 0xe0f0f , - 0xe0f10 , - 0xe0f11 , - 0xe0f12 , - 0xe0f13 , - 0xe0f14 , - 0xe0f15 , - 0xe0f16 , - 0xe0f17 , - 0xe0f18 , - 0xe0f19 , - 0xe0f1a , - 0xe0f1b , - 0xe0f1c , - 0xe0f1d , - 0xe0f1e , - 0xe0f1f , - 0xe0f20 , - 0xe0f21 , - 0xe0f22 , - 0xe0f23 , - 0xe0f24 , - 0xe0f25 , - 0xe0f26 , - 0xe0f27 , - 0xe0f28 , - 0xe0f29 , - 0xe0f2a , - 0xe0f2b , - 0xe0f2c , - 0xe0f2d , - 0xe0f2e , - 0xe0f2f , - 0xe0f30 , - 0xe0f31 , - 0xe0f32 , - 0xe0f33 , - 0xe0f34 , - 0xe0f35 , - 0xe0f36 , - 0xe0f37 , - 0xe0f38 , - 0xe0f39 , - 0xe0f3a , - 0xe0f3b , - 0xe0f3c , - 0xe0f3d , - 0xe0f3e , - 0xe0f3f , - 0xe0f40 , - 0xe0f41 , - 0xe0f42 , - 0xe0f43 , - 0xe0f44 , - 0xe0f45 , - 0xe0f46 , - 0xe0f47 , - 0xe0f48 , - 0xe0f49 , - 0xe0f4a , - 0xe0f4b , - 0xe0f4c , - 0xe0f4d , - 0xe0f4e , - 0xe0f4f , - 0xe0f50 , - 0xe0f51 , - 0xe0f52 , - 0xe0f53 , - 0xe0f54 , - 0xe0f55 , - 0xe0f56 , - 0xe0f57 , - 0xe0f58 , - 0xe0f59 , - 0xe0f5a , - 0xe0f5b , - 0xe0f5c , - 0xe0f5d , - 0xe0f5e , - 0xe0f5f , - 0xe0f60 , - 0xe0f61 , - 0xe0f62 , - 0xe0f63 , - 0xe0f64 , - 0xe0f65 , - 0xe0f66 , - 0xe0f67 , - 0xe0f68 , - 0xe0f69 , - 0xe0f6a , - 0xe0f6b , - 0xe0f6c , - 0xe0f6d , - 0xe0f6e , - 0xe0f6f , - 0xe0f70 , - 0xe0f71 , - 0xe0f72 , - 0xe0f73 , - 0xe0f74 , - 0xe0f75 , - 0xe0f76 , - 0xe0f77 , - 0xe0f78 , - 0xe0f79 , - 0xe0f7a , - 0xe0f7b , - 0xe0f7c , - 0xe0f7d , - 0xe0f7e , - 0xe0f7f , - 0xe0f80 , - 0xe0f81 , - 0xe0f82 , - 0xe0f83 , - 0xe0f84 , - 0xe0f85 , - 0xe0f86 , - 0xe0f87 , - 0xe0f88 , - 0xe0f89 , - 0xe0f8a , - 0xe0f8b , - 0xe0f8c , - 0xe0f8d , - 0xe0f8e , - 0xe0f8f , - 0xe0f90 , - 0xe0f91 , - 0xe0f92 , - 0xe0f93 , - 0xe0f94 , - 0xe0f95 , - 0xe0f96 , - 0xe0f97 , - 0xe0f98 , - 0xe0f99 , - 0xe0f9a , - 0xe0f9b , - 0xe0f9c , - 0xe0f9d , - 0xe0f9e , - 0xe0f9f , - 0xe0fa0 , - 0xe0fa1 , - 0xe0fa2 , - 0xe0fa3 , - 0xe0fa4 , - 0xe0fa5 , - 0xe0fa6 , - 0xe0fa7 , - 0xe0fa8 , - 0xe0fa9 , - 0xe0faa , - 0xe0fab , - 0xe0fac , - 0xe0fad , - 0xe0fae , - 0xe0faf , - 0xe0fb0 , - 0xe0fb1 , - 0xe0fb2 , - 0xe0fb3 , - 0xe0fb4 , - 0xe0fb5 , - 0xe0fb6 , - 0xe0fb7 , - 0xe0fb8 , - 0xe0fb9 , - 0xe0fba , - 0xe0fbb , - 0xe0fbc , - 0xe0fbd , - 0xe0fbe , - 0xe0fbf , - 0xe0fc0 , - 0xe0fc1 , - 0xe0fc2 , - 0xe0fc3 , - 0xe0fc4 , - 0xe0fc5 , - 0xe0fc6 , - 0xe0fc7 , - 0xe0fc8 , - 0xe0fc9 , - 0xe0fca , - 0xe0fcb , - 0xe0fcc , - 0xe0fcd , - 0xe0fce , - 0xe0fcf , - 0xe0fd0 , - 0xe0fd1 , - 0xe0fd2 , - 0xe0fd3 , - 0xe0fd4 , - 0xe0fd5 , - 0xe0fd6 , - 0xe0fd7 , - 0xe0fd8 , - 0xe0fd9 , - 0xe0fda , - 0xe0fdb , - 0xe0fdc , - 0xe0fdd , - 0xe0fde , - 0xe0fdf , - 0xe0fe0 , - 0xe0fe1 , - 0xe0fe2 , - 0xe0fe3 , - 0xe0fe4 , - 0xe0fe5 , - 0xe0fe6 , - 0xe0fe7 , - 0xe0fe8 , - 0xe0fe9 , - 0xe0fea , - 0xe0feb , - 0xe0fec , - 0xe0fed , - 0xe0fee , - 0xe0fef , - 0xe0ff0 , - 0xe0ff1 , - 0xe0ff2 , - 0xe0ff3 , - 0xe0ff4 , - 0xe0ff5 , - 0xe0ff6 , - 0xe0ff7 , - 0xe0ff8 , - 0xe0ff9 , - 0xe0ffa , - 0xe0ffb , - 0xe0ffc , - 0xe0ffd , - 0xe0ffe , - 0xe0fff }; - -static FcBlanks fcBlanks = { - 4191, - -1, - _fcBlanks -}; - -- Alioth's /srv/git/code.x2go.org/vcxsrv.git//..//_hooks_/post-receive-email on /srv/git/code.x2go.org/vcxsrv.git
This is an automated email from the git hooks/post-receive script. x2go pushed a commit to branch release/1.17.0.0-x in repository vcxsrv. commit c03d0d81f0054f017b6a27516dfb41e34ea9ff63 Author: Mike DePaulo <mikedep333@gmail.com> Date: Sat Jun 27 19:26:02 2015 -0400 Replace various "VENDOR" strings for X2Go/Arctica --- xorg-server/include/site.h | 2 +- xorg-server/include/version-config.h | 2 +- xorg-server/include/xwin-config.h | 4 ++-- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/xorg-server/include/site.h b/xorg-server/include/site.h index d3d0f1f..cd014ef 100644 --- a/xorg-server/include/site.h +++ b/xorg-server/include/site.h @@ -51,7 +51,7 @@ SOFTWARE. * server executable. */ #ifndef VENDOR_STRING -#define VENDOR_STRING "HC-Consult" +#define VENDOR_STRING "The X2Go and Arctica Projects" #endif /* diff --git a/xorg-server/include/version-config.h b/xorg-server/include/version-config.h index b8d482c..db18128 100644 --- a/xorg-server/include/version-config.h +++ b/xorg-server/include/version-config.h @@ -7,7 +7,7 @@ #undef VENDOR_MAN_VERSION /* Vendor name */ -#define VENDOR_NAME "HC-Consult" +#define VENDOR_NAME "The X2Go and Arctica Projects" /* Vendor release */ #define VENDOR_RELEASE XORG_VERSION_CURRENT diff --git a/xorg-server/include/xwin-config.h b/xorg-server/include/xwin-config.h index e6c4488..9617b81 100644 --- a/xorg-server/include/xwin-config.h +++ b/xorg-server/include/xwin-config.h @@ -21,10 +21,10 @@ /* #undef _XSERVER64 */ /* Short vendor name */ -#define XVENDORNAMESHORT "VcXsrv" +#define XVENDORNAMESHORT "VcXsrv-X2Go/Arctica" /* Vendor web address for support */ -#define __VENDORDWEBSUPPORT__ "http://www.hc-consult.be/" +#define __VENDORDWEBSUPPORT__ "https://github.com/ArcticaProject/vcxsrv/issues" /* Location of system.XWinrc */ #define SYSCONFDIR "." -- Alioth's /srv/git/code.x2go.org/vcxsrv.git//..//_hooks_/post-receive-email on /srv/git/code.x2go.org/vcxsrv.git
This is an automated email from the git hooks/post-receive script. x2go pushed a commit to branch release/1.17.0.0-x in repository vcxsrv. commit 6fe71499cd506c11a378c339d1117630c85ab96c Author: marha <marha@users.sourceforge.net> Date: Sun Jun 28 12:56:53 2015 +0200 Show all text received by plink to show to the user (and not only the first part) --- xorg-server/hw/xwin/xlaunch/main.cc | 62 +++++++++++++++++------ xorg-server/hw/xwin/xlaunch/resources/dialog.rc | 2 +- 2 files changed, 48 insertions(+), 16 deletions(-) diff --git a/xorg-server/hw/xwin/xlaunch/main.cc b/xorg-server/hw/xwin/xlaunch/main.cc index e6b04d6..372420b 100644 --- a/xorg-server/hw/xwin/xlaunch/main.cc +++ b/xorg-server/hw/xwin/xlaunch/main.cc @@ -54,14 +54,17 @@ static bool ContainPrintableChars(const char *Buf, unsigned Nbr) return false; } +HANDLE g_hChildStdoutRd; +int g_hStdOut; + /* * Process messages for the prompt dialog. */ static INT_PTR CALLBACK DisplayPromptDlgProc (HWND hwndDialog, UINT message, WPARAM wParam, LPARAM lParam) { - static LPARAM Param; static UINT PasswordChar; + static char *buf_p; switch (message) { case WM_INITDIALOG: @@ -86,18 +89,39 @@ static INT_PTR CALLBACK DisplayPromptDlgProc (HWND hwndDialog, UINT message, WPA 0, 0, SWP_NOSIZE | SWP_FRAMECHANGED); - Param=lParam; - SendDlgItemMessage(hwndDialog, IDC_PROMPT_DESC, WM_SETTEXT, 0, lParam); + buf_p=(char*)lParam; + SendDlgItemMessage(hwndDialog, IDC_PROMPT_DESC, WM_SETTEXT, 0, (LPARAM)buf_p); + SendDlgItemMessage(hwndDialog, IDC_PROMPT_DESC, EM_LINESCROLL, 0, 1000); + SendDlgItemMessage(hwndDialog, IDC_PROMPT_DESC, EM_SETSEL, -1, -1); + SetTimer(hwndDialog,1,20,NULL); return TRUE; } break; + case WM_TIMER: + { + DWORD nbrAvail=0; + PeekNamedPipe(g_hChildStdoutRd, NULL, NULL, NULL, &nbrAvail, NULL); + if (nbrAvail) + { + int curLen=strlen(buf_p); + buf_p=(char*)realloc(buf_p, curLen+nbrAvail+1); + size_t Nbr = _read(g_hStdOut, buf_p+curLen, nbrAvail); + buf_p[curLen+nbrAvail]=0; + SendDlgItemMessage(hwndDialog, IDC_PROMPT_DESC, WM_SETTEXT, 0, (LPARAM)buf_p); + SendDlgItemMessage(hwndDialog, IDC_PROMPT_DESC, EM_LINESCROLL, 0, 1000); + SendDlgItemMessage(hwndDialog, IDC_PROMPT_DESC, EM_SETSEL, -1, -1); + } + break; + } + case WM_COMMAND: switch (LOWORD (wParam)) { case IDOK: - SendDlgItemMessage(hwndDialog, IDC_INPUT, WM_GETTEXT, 128, Param); - EndDialog(hwndDialog, Param); + buf_p=(char*)realloc(buf_p, 128); + SendDlgItemMessage(hwndDialog, IDC_INPUT, WM_GETTEXT, 128, (LPARAM)buf_p); + EndDialog(hwndDialog, (LPARAM)buf_p); return TRUE; case IDCANCEL: EndDialog(hwndDialog, NULL); @@ -114,6 +138,11 @@ static INT_PTR CALLBACK DisplayPromptDlgProc (HWND hwndDialog, UINT message, WPA } InvalidateRect(hDlg, NULL, TRUE); } + return TRUE; + case IDC_PROMPT_DESC: + if (HIWORD(wParam)==EN_SETFOCUS) + SendDlgItemMessage(hwndDialog, IDC_PROMPT_DESC, EM_SETSEL, -1, -1); + return TRUE; } break; @@ -128,23 +157,26 @@ static INT_PTR CALLBACK DisplayPromptDlgProc (HWND hwndDialog, UINT message, WPA static bool CheckOutput(HANDLE hChildStdoutRd, int hStdOut, int hStdIn) { + g_hChildStdoutRd = hChildStdoutRd; + g_hStdOut = hStdOut; DWORD NbrAvail=0; PeekNamedPipe(hChildStdoutRd, NULL, NULL, NULL, &NbrAvail, NULL); if (NbrAvail) { - char Buf[128]; - size_t Nbr = _read(hStdOut, Buf, sizeof(Buf)-1); - if (ContainPrintableChars(Buf,Nbr)) + char *buf_p=(char*)malloc(NbrAvail+1); + size_t Nbr = _read(hStdOut, buf_p, NbrAvail); + if (ContainPrintableChars(buf_p,Nbr)) { - Buf[Nbr]=0; - INT_PTR Ret = DialogBoxParam (GetModuleHandle(NULL), "IDD_PROMPT", NULL, DisplayPromptDlgProc, (LPARAM)Buf); + buf_p[Nbr]=0; + INT_PTR Ret = DialogBoxParam (GetModuleHandle(NULL), "IDD_PROMPT", NULL, DisplayPromptDlgProc, (LPARAM)buf_p); if (Ret) { char *Data=(char*)Ret; // Write it to the client _write(hStdIn, Data, strlen(Data)); - _write(hStdIn, "\x0d\x0a", 2); + _write(hStdIn, "\x0a", 1); + //_write(hStdIn, "\x0d\x0a", 2); } return true; @@ -839,15 +871,15 @@ class CMyWizard : public CWizard if (!CreatePipe(&hChildStdinRd, &hChildStdinWr, &saAttr, 0)) throw win32_error("CreatePipe failed", GetLastError()); - // Ensure the write handle to the pipe for STDIN is not inherited. - if ( ! SetHandleInformation(hChildStdinWr, HANDLE_FLAG_INHERIT, 0) ) + // Ensure the write handle to the pipe for STDIN is not inherited. + if ( ! SetHandleInformation(hChildStdinWr, HANDLE_FLAG_INHERIT, 0) ) throw win32_error("SetHandleInformation failed", GetLastError()); if (!CreatePipe(&hChildStdoutRd, &hChildStdoutWr, &saAttr, 0)) throw win32_error("CreatePipe failed", GetLastError()); - // Ensure the read handle to the pipe for STDOUT is not inherited. - if ( ! SetHandleInformation(hChildStdoutRd, HANDLE_FLAG_INHERIT, 0) ) + // Ensure the read handle to the pipe for STDOUT is not inherited. + if ( ! SetHandleInformation(hChildStdoutRd, HANDLE_FLAG_INHERIT, 0) ) throw win32_error("SetHandleInformation failed", GetLastError()); sic.dwFlags = STARTF_USESTDHANDLES; diff --git a/xorg-server/hw/xwin/xlaunch/resources/dialog.rc b/xorg-server/hw/xwin/xlaunch/resources/dialog.rc index 3435329..9827f91 100644 --- a/xorg-server/hw/xwin/xlaunch/resources/dialog.rc +++ b/xorg-server/hw/xwin/xlaunch/resources/dialog.rc @@ -144,8 +144,8 @@ EXSTYLE WS_EX_NOPARENTNOTIFY CAPTION "Input requested?" FONT 8, "MS Shell Dlg 2", 0, 0, 0x1 BEGIN - LTEXT "",IDC_PROMPT_DESC,7,7,245,50, WS_BORDER EDITTEXT IDC_INPUT,7,67,245,12, WS_BORDER | WS_TABSTOP | ES_AUTOHSCROLL | ES_PASSWORD + EDITTEXT IDC_PROMPT_DESC,7,7,245,50, WS_BORDER | WS_TABSTOP | WS_VSCROLL | ES_READONLY | ES_MULTILINE AUTOCHECKBOX "Show Characters", IDC_PASSWORD, 7,77,245,12, WS_TABSTOP DEFPUSHBUTTON "OK",IDOK,61,95,50,15, WS_TABSTOP PUSHBUTTON "Cancel",IDCANCEL,147,95,50,14, WS_TABSTOP -- Alioth's /srv/git/code.x2go.org/vcxsrv.git//..//_hooks_/post-receive-email on /srv/git/code.x2go.org/vcxsrv.git
This is an automated email from the git hooks/post-receive script. x2go pushed a commit to branch release/1.17.0.0-x in repository vcxsrv. commit de1b34b708c74709fcea10fd84408ea794cbb20c Author: marha <marha@users.sourceforge.net> Date: Sun Jun 28 12:59:18 2015 +0200 After every output flush the file buffers --- tools/plink/wincons.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/tools/plink/wincons.c b/tools/plink/wincons.c index 508be3f..ea178de 100644 --- a/tools/plink/wincons.c +++ b/tools/plink/wincons.c @@ -302,6 +302,7 @@ static void console_data_untrusted(HANDLE hout, const char *data, int len) DWORD dummy; /* FIXME: control-character filtering */ WriteFile(hout, data, len, &dummy, NULL); + FlushFileBuffers(hout); } int console_get_userpass_input(prompts_t *p, unsigned char *in, int inlen) @@ -407,6 +408,7 @@ int console_get_userpass_input(prompts_t *p, unsigned char *in, int inlen) if (!pr->echo) { DWORD dummy; WriteFile(hout, "\r\n", 2, &dummy, NULL); + FlushFileBuffers(hout); } if (len < 0) { -- Alioth's /srv/git/code.x2go.org/vcxsrv.git//..//_hooks_/post-receive-email on /srv/git/code.x2go.org/vcxsrv.git
This is an automated email from the git hooks/post-receive script. x2go pushed a commit to branch release/1.17.0.0-x in repository vcxsrv. commit 1aeb164a14fee3ee35f5f0bbfdb8f9c03a123a3a Author: Mike DePaulo <mikedep333@gmail.com> Date: Sat Jun 27 19:38:59 2015 -0400 Bump version string to 1.17.0.0-3 --- xorg-server/hw/xwin/XWin.rc | 6 +++--- xorg-server/installer/vcxsrv-64-debug.nsi | 2 +- xorg-server/installer/vcxsrv-64.nsi | 2 +- xorg-server/installer/vcxsrv-debug.nsi | 2 +- xorg-server/installer/vcxsrv.nsi | 2 +- 5 files changed, 7 insertions(+), 7 deletions(-) diff --git a/xorg-server/hw/xwin/XWin.rc b/xorg-server/hw/xwin/XWin.rc index 742b903..4da4b90 100644 --- a/xorg-server/hw/xwin/XWin.rc +++ b/xorg-server/hw/xwin/XWin.rc @@ -34,10 +34,10 @@ #include "xwin-config.h" #define VER_FILEVERSION 1,17,0,0 -#define VER_FILEVERSION_STR "1.17.0.0-2" +#define VER_FILEVERSION_STR "1.17.0.0-3" #define VER_PRODUCTVERSION 1,17,0,0 -#define VER_PRODUCTVERSION_STR "1.17.0.0-2" +#define VER_PRODUCTVERSION_STR "1.17.0.0-3" VS_VERSION_INFO VERSIONINFO FILEVERSION VER_FILEVERSION @@ -84,7 +84,7 @@ BEGIN LTEXT "VcXsrv X Server (X2Go/Arctica Builds) ", IDC_STATIC, 36, 8, 220, 8 LTEXT "https://github.com/ArcticaProject/vcxsrv", IDC_STATIC, 36, 18, 220, 8 LTEXT "http://code.x2go.org/gitweb?p=vcxsrv.git", IDC_STATIC, 36, 28, 220, 8 - LTEXT "Version "VER_PRODUCTVERSION_STR" (22 Jun 2015)", IDC_STATIC, 36, 38, 220, 8 + LTEXT "Version "VER_PRODUCTVERSION_STR" (27 Jun 2015)", IDC_STATIC, 36, 38, 220, 8 DEFPUSHBUTTON "OK", IDOK, 105, 75, 50, 15 END diff --git a/xorg-server/installer/vcxsrv-64-debug.nsi b/xorg-server/installer/vcxsrv-64-debug.nsi index aa6cd85..2ef5e08 100644 --- a/xorg-server/installer/vcxsrv-64-debug.nsi +++ b/xorg-server/installer/vcxsrv-64-debug.nsi @@ -18,7 +18,7 @@ ;-------------------------------- !define NAME_STRING "VcXsrv (X2Go/Arctica Builds)" -!define VERSION "1.17.0.0-2" +!define VERSION "1.17.0.0-3" ; The name of the installer Name "${NAME_STRING}" diff --git a/xorg-server/installer/vcxsrv-64.nsi b/xorg-server/installer/vcxsrv-64.nsi index 6035fd3..d15b249 100644 --- a/xorg-server/installer/vcxsrv-64.nsi +++ b/xorg-server/installer/vcxsrv-64.nsi @@ -19,7 +19,7 @@ !include "FileFunc.nsh" !define NAME_STRING "VcXsrv (X2Go/Arctica Builds)" -!define VERSION "1.17.0.0-2" +!define VERSION "1.17.0.0-3" !define UNINSTALL_PUBLISHER "X2Go & Arctica Projects" !define UNINSTALL_URL "https://github.com/ArcticaProject/vcxsrv" diff --git a/xorg-server/installer/vcxsrv-debug.nsi b/xorg-server/installer/vcxsrv-debug.nsi index 725481b..79ab501 100644 --- a/xorg-server/installer/vcxsrv-debug.nsi +++ b/xorg-server/installer/vcxsrv-debug.nsi @@ -18,7 +18,7 @@ ;-------------------------------- !define NAME_STRING "VcXsrv (X2Go/Arctica Builds)" -!define VERSION "1.17.0.0-2" +!define VERSION "1.17.0.0-3" ; The name of the installer Name "${NAME_STRING}" diff --git a/xorg-server/installer/vcxsrv.nsi b/xorg-server/installer/vcxsrv.nsi index c993211..6df9a9f 100644 --- a/xorg-server/installer/vcxsrv.nsi +++ b/xorg-server/installer/vcxsrv.nsi @@ -19,7 +19,7 @@ !include "FileFunc.nsh" !define NAME_STRING "VcXsrv (X2Go/Arctica Builds)" -!define VERSION "1.17.0.0-2" +!define VERSION "1.17.0.0-3" !define UNINSTALL_PUBLISHER "X2Go & Arctica Projects" !define UNINSTALL_URL "https://github.com/ArcticaProject/vcxsrv" -- Alioth's /srv/git/code.x2go.org/vcxsrv.git//..//_hooks_/post-receive-email on /srv/git/code.x2go.org/vcxsrv.git
This is an automated email from the git hooks/post-receive script. x2go pushed a commit to branch release/1.17.0.0-x in repository vcxsrv. commit 6d650329125473a3b773f03f2fb704a094d92b55 Author: Mike DePaulo <mikedep333@gmail.com> Date: Mon Jun 22 02:20:58 2015 -0400 Revert "Incorporate winmultiwindow.patch from Oleksandr Shneyder (phoca GmbH)" This reverts commit 42ee38cb51a74ccab76faab74a2ed91cdb05b35c. --- xorg-server/hw/xwin/winmultiwindowwindow.c | 49 +--------------------------- 1 file changed, 1 insertion(+), 48 deletions(-) diff --git a/xorg-server/hw/xwin/winmultiwindowwindow.c b/xorg-server/hw/xwin/winmultiwindowwindow.c index 02ae7d5..850edc1 100755 --- a/xorg-server/hw/xwin/winmultiwindowwindow.c +++ b/xorg-server/hw/xwin/winmultiwindowwindow.c @@ -107,7 +107,6 @@ winCreateWindowMultiWindow(WindowPtr pWin) winDebug ("winCreateWindowMultiWindow - pWin: %p\n", pWin); #endif - WIN_UNWRAP(CreateWindow); fResult = (*pScreen->CreateWindow) (pWin); WIN_WRAP(CreateWindow, winCreateWindowMultiWindow); @@ -320,7 +319,6 @@ winUnmapWindowMultiWindow(WindowPtr pWin) winDebug ("winUnmapWindowMultiWindow - pWin: %p\n", pWin); #endif - WIN_UNWRAP(UnrealizeWindow); fResult = (*pScreen->UnrealizeWindow) (pWin); WIN_WRAP(UnrealizeWindow, winUnmapWindowMultiWindow); @@ -366,7 +364,6 @@ winMapWindowMultiWindow(WindowPtr pWin) winReshapeMultiWindow(pWin); winUpdateRgnMultiWindow(pWin); - return fResult; } @@ -916,17 +913,11 @@ winAdjustXWindow(WindowPtr pWin, HWND hwnd) LONG dX, dY, dW, dH, x, y; DWORD dwStyle, dwExStyle; - int ret; - HMONITOR currentMonitor; - MONITORINFO monitorInfo; - #define WIDTH(rc) (rc.right - rc.left) #define HEIGHT(rc) (rc.bottom - rc.top) winDebug("winAdjustXWindow\n"); - - if (IsIconic(hwnd)) { winDebug("\timmediately return because the window is iconized\n"); /* @@ -950,17 +941,13 @@ winAdjustXWindow(WindowPtr pWin, HWND hwnd) dwExStyle = GetWindowLongPtr(hwnd, GWL_EXSTYLE); dwStyle = GetWindowLongPtr(hwnd, GWL_STYLE); winDebug("\tWindowStyle: %08x %08x\n", dwStyle, dwExStyle); - AdjustWindowRectEx(&rcDraw, dwStyle, FALSE, dwExStyle); /* The source of adjust */ GetWindowRect(hwnd, &rcWin); - winDebug("\tWindow extend {%d, %d, %d, %d}, {%d, %d}\n", rcWin.left, rcWin.top, rcWin.right, rcWin.bottom, rcWin.right - rcWin.left, rcWin.bottom - rcWin.top); - - winDebug("\tDraw extend {%d, %d, %d, %d}, {%d, %d}\n", rcDraw.left, rcDraw.top, rcDraw.right, rcDraw.bottom, rcDraw.right - rcDraw.left, rcDraw.bottom - rcDraw.top); @@ -989,43 +976,9 @@ winAdjustXWindow(WindowPtr pWin, HWND hwnd) vlist[3] = pDraw->height + dH; winDebug("\tConfigureWindow to (%ld, %ld) - %ldx%ld\n", vlist[0], vlist[1], vlist[2], vlist[3]); - - ret=ConfigureWindow(pWin, CWX | CWY | CWWidth | CWHeight, + return ConfigureWindow(pWin, CWX | CWY | CWWidth | CWHeight, vlist, wClient(pWin)); - - currentMonitor=MonitorFromWindow(hwnd,MONITOR_DEFAULTTONULL); - if(!currentMonitor) - { - return ret; - } - monitorInfo.cbSize=sizeof ( MONITORINFO ); - if(!GetMonitorInfo(currentMonitor, &monitorInfo)) - { - return ret; - } - - - if((rcWin.left <= monitorInfo.rcMonitor.left) && (rcWin.top <= monitorInfo.rcMonitor.top) && - (rcWin.right - rcWin.left > monitorInfo.rcMonitor.right - monitorInfo.rcMonitor.left) && - (rcWin.bottom - rcWin.top > monitorInfo.rcMonitor.bottom - monitorInfo.rcMonitor.top)) - { - - SetWindowLongPtr(hwnd, GWL_STYLE, - WS_VISIBLE); - - SetWindowLongPtr(hwnd, GWL_EXSTYLE, - 0); - - SetWindowPos ( hwnd, HWND_TOPMOST, monitorInfo.rcMonitor.left, - monitorInfo.rcMonitor.top, - monitorInfo.rcMonitor.right - monitorInfo.rcMonitor.left, - monitorInfo.rcMonitor.bottom - monitorInfo.rcMonitor.top, - 0); - } - - return ret; - #undef WIDTH #undef HEIGHT } -- Alioth's /srv/git/code.x2go.org/vcxsrv.git//..//_hooks_/post-receive-email on /srv/git/code.x2go.org/vcxsrv.git
This is an automated email from the git hooks/post-receive script. x2go pushed a commit to branch release/1.17.0.0-x in repository vcxsrv. commit 5a3a163ee3da19716629a8d5206e975971cc5b66 Author: Mike DePaulo <mikedep333@gmail.com> Date: Tue Jun 30 22:56:58 2015 -0400 Date: 27 Jun 2015 -> 30 Jun 2015 --- xorg-server/hw/xwin/XWin.rc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/xorg-server/hw/xwin/XWin.rc b/xorg-server/hw/xwin/XWin.rc index 4da4b90..43e6b06 100644 --- a/xorg-server/hw/xwin/XWin.rc +++ b/xorg-server/hw/xwin/XWin.rc @@ -84,7 +84,7 @@ BEGIN LTEXT "VcXsrv X Server (X2Go/Arctica Builds) ", IDC_STATIC, 36, 8, 220, 8 LTEXT "https://github.com/ArcticaProject/vcxsrv", IDC_STATIC, 36, 18, 220, 8 LTEXT "http://code.x2go.org/gitweb?p=vcxsrv.git", IDC_STATIC, 36, 28, 220, 8 - LTEXT "Version "VER_PRODUCTVERSION_STR" (27 Jun 2015)", IDC_STATIC, 36, 38, 220, 8 + LTEXT "Version "VER_PRODUCTVERSION_STR" (30 Jun 2015)", IDC_STATIC, 36, 38, 220, 8 DEFPUSHBUTTON "OK", IDOK, 105, 75, 50, 15 END -- Alioth's /srv/git/code.x2go.org/vcxsrv.git//..//_hooks_/post-receive-email on /srv/git/code.x2go.org/vcxsrv.git
This is an automated email from the git hooks/post-receive script. x2go pushed a commit to branch release/1.17.0.0-x in repository vcxsrv. commit 99bcd3b2f6ebb98c4004cd4b6f21cc9f886b65a5 Author: Jon TURNEY <jon.turney@dronecode.org.uk> Date: Sat Jan 11 16:35:31 2014 +0000 hw/xwin/glx: Don't create fbConfigs for un-accelerated pixelFormats For some reason, glxinfo is now selecting an un-accelerated fbConfig, which leads to "GDI Generic" being reported as the renderer name. For the moment, just don't create fbConfigs for un-accelerated pixelFormats. Signed-off-by: Jon TURNEY <jon.turney@dronecode.org.uk> Ported to VcXsrv (X2Go/Arctica Builds) by Mike DePaulo --- xorg-server/hw/xwin/glx/indirect.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/xorg-server/hw/xwin/glx/indirect.c b/xorg-server/hw/xwin/glx/indirect.c index ada6156..07bd91a 100755 --- a/xorg-server/hw/xwin/glx/indirect.c +++ b/xorg-server/hw/xwin/glx/indirect.c @@ -2092,6 +2092,8 @@ glxWinCreateConfigs(HDC hdc, glxWinScreen * screen) /* EXT_visual_rating / GLX 1.2 */ if (pfd.dwFlags & PFD_GENERIC_FORMAT) { c->base.visualRating = GLX_SLOW_VISUAL_EXT; + GLWIN_DEBUG_MSG("pixelFormat %d is un-accelerated, skipping", i + 1); + continue; } else { // PFD_GENERIC_ACCELERATED is not considered, so this may be MCD or ICD acclerated... @@ -2435,6 +2437,8 @@ glxWinCreateConfigsExt(HDC hdc, glxWinScreen * screen) case WGL_NO_ACCELERATION_ARB: c->base.visualRating = GLX_SLOW_VISUAL_EXT; + GLWIN_DEBUG_MSG("pixelFormat %d is un-accelerated, skipping", i + 1); + continue; break; case WGL_GENERIC_ACCELERATION_ARB: -- Alioth's /srv/git/code.x2go.org/vcxsrv.git//..//_hooks_/post-receive-email on /srv/git/code.x2go.org/vcxsrv.git
This is an automated email from the git hooks/post-receive script. x2go pushed a commit to branch release/1.17.0.0-x in repository vcxsrv. commit b4c1d60517f82afd91a9bc980b04f7d46b1788c9 Author: Mike DePaulo <mikedep333@gmail.com> Date: Sun Jul 26 12:04:34 2015 -0400 Date: 30 Jun 2015 -> 26 Jul 2015 --- xorg-server/hw/xwin/XWin.rc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/xorg-server/hw/xwin/XWin.rc b/xorg-server/hw/xwin/XWin.rc index 43e6b06..7d8b555 100644 --- a/xorg-server/hw/xwin/XWin.rc +++ b/xorg-server/hw/xwin/XWin.rc @@ -84,7 +84,7 @@ BEGIN LTEXT "VcXsrv X Server (X2Go/Arctica Builds) ", IDC_STATIC, 36, 8, 220, 8 LTEXT "https://github.com/ArcticaProject/vcxsrv", IDC_STATIC, 36, 18, 220, 8 LTEXT "http://code.x2go.org/gitweb?p=vcxsrv.git", IDC_STATIC, 36, 28, 220, 8 - LTEXT "Version "VER_PRODUCTVERSION_STR" (30 Jun 2015)", IDC_STATIC, 36, 38, 220, 8 + LTEXT "Version "VER_PRODUCTVERSION_STR" (26 Jul 2015)", IDC_STATIC, 36, 38, 220, 8 DEFPUSHBUTTON "OK", IDOK, 105, 75, 50, 15 END -- Alioth's /srv/git/code.x2go.org/vcxsrv.git//..//_hooks_/post-receive-email on /srv/git/code.x2go.org/vcxsrv.git
This is an automated email from the git hooks/post-receive script. x2go pushed a commit to branch release/1.17.0.0-x in repository vcxsrv. commit 9ece505c5ca92218e41adedfa6d8c47574bd9271 Author: Mike DePaulo <mikedep333@gmail.com> Date: Fri Jul 10 08:56:32 2015 -0400 Update openssl: 1.0.2c -> 1.0.2d --- openssl/CHANGES | 15 + openssl/{Makefile.org => Makefile.bak} | 75 +++-- openssl/Makefile.org | 11 +- openssl/NEWS | 4 + openssl/README | 2 +- openssl/apps/ocsp.c | 1 + openssl/crypto/bio/bio.h | 2 +- openssl/crypto/bn/Makefile | 1 + openssl/crypto/bn/bn_exp.c | 8 +- openssl/crypto/bn/bntest.c | 3 +- openssl/crypto/bn/rsaz_exp.c | 10 + openssl/crypto/bn/rsaz_exp.h | 11 +- openssl/crypto/cms/cms_smime.c | 3 +- openssl/crypto/evp/e_aes.c | 2 +- openssl/crypto/hmac/hmactest.c | 3 + openssl/crypto/opensslconf.h.in | 2 +- openssl/crypto/opensslv.h | 6 +- openssl/crypto/pkcs12/p12_kiss.c | 2 + openssl/crypto/srp/srptest.c | 1 + openssl/crypto/threads/mttest.c | 365 +++++++++++---------- openssl/crypto/threads/pthread2.sh | 3 +- openssl/crypto/x509/Makefile | 2 +- openssl/crypto/x509/verify_extra_test.c | 208 ++++++++++++ openssl/crypto/x509/x509_vfy.c | 24 +- openssl/doc/apps/verify.pod | 11 + openssl/doc/crypto/X509_NAME_get_index_by_NID.pod | 7 + openssl/doc/crypto/X509_STORE_CTX_new.pod | 13 +- openssl/doc/crypto/X509_verify_cert.pod | 3 +- openssl/doc/ssl/SSL_CTX_get0_param.pod | 55 ++++ openssl/doc/ssl/SSL_CTX_use_serverinfo.pod | 2 +- openssl/openssl.spec | 2 +- openssl/ssl/s3_clnt.c | 17 +- openssl/ssl/s3_lib.c | 2 +- openssl/ssl/s3_srvr.c | 2 +- openssl/test/Makefile | 31 +- openssl/test/certs/bad.key | 27 ++ openssl/test/certs/bad.pem | 21 ++ openssl/test/certs/interCA.key | 27 ++ openssl/test/certs/interCA.pem | 21 ++ openssl/test/certs/leaf.key | 27 ++ openssl/test/certs/leaf.pem | 21 ++ openssl/test/certs/rootCA.key | 27 ++ openssl/test/certs/rootCA.pem | 21 ++ openssl/test/certs/roots.pem | 42 +++ openssl/test/certs/subinterCA-ss.pem | 21 ++ openssl/test/certs/subinterCA.key | 27 ++ openssl/test/certs/subinterCA.pem | 21 ++ openssl/test/certs/untrusted.pem | 42 +++ openssl/test/testssl | 19 +- openssl/test/verify_extra_test.c | 1 + packages.txt | 2 +- 51 files changed, 986 insertions(+), 290 deletions(-) diff --git a/openssl/CHANGES b/openssl/CHANGES index 4cbf61d..5d4c234 100644 --- a/openssl/CHANGES +++ b/openssl/CHANGES @@ -2,6 +2,21 @@ OpenSSL CHANGES _______________ + Changes between 1.0.2c and 1.0.2d [9 Jul 2015] + + *) Alternate chains certificate forgery + + During certificate verfification, OpenSSL will attempt to find an + alternative certificate chain if the first attempt to build such a chain + fails. An error in the implementation of this logic can mean that an + attacker could cause certain checks on untrusted certificates to be + bypassed, such as the CA flag, enabling them to use a valid leaf + certificate to act as a CA and "issue" an invalid certificate. + + This issue was reported to OpenSSL by Adam Langley/David Benjamin + (Google/BoringSSL). + [Matt Caswell] + Changes between 1.0.2b and 1.0.2c [12 Jun 2015] *) Fix HMAC ABI incompatibility. The previous version introduced an ABI diff --git a/openssl/Makefile.org b/openssl/Makefile.bak similarity index 94% copy from openssl/Makefile.org copy to openssl/Makefile.bak index 9f4faae..9a3e50d 100644 --- a/openssl/Makefile.org +++ b/openssl/Makefile.bak @@ -1,18 +1,20 @@ +### Generated automatically from Makefile.org by Configure. + ## ## Makefile for OpenSSL ## -VERSION= -MAJOR= -MINOR= -SHLIB_VERSION_NUMBER= +VERSION=1.0.2d-dev +MAJOR=1 +MINOR=0.2 +SHLIB_VERSION_NUMBER=1.0.0 SHLIB_VERSION_HISTORY= -SHLIB_MAJOR= -SHLIB_MINOR= +SHLIB_MAJOR=1 +SHLIB_MINOR=0.0 SHLIB_EXT= -PLATFORM=dist -OPTIONS= -CONFIGURE_ARGS= +PLATFORM=gcc +OPTIONS= no-ec_nistp_64_gcc_128 no-gmp no-jpake no-krb5 no-libunbound no-md2 no-rc5 no-rfc3779 no-sctp no-shared no-ssl-trace no-store no-unit-test no-zlib no-zlib-dynamic static-engine +CONFIGURE_ARGS=gcc SHLIB_TARGET= # HERE indicates where this Makefile lives. This can be used to indicate @@ -57,20 +59,20 @@ OPENSSLDIR=/usr/local/ssl # equal 4. # PKCS1_CHECK - pkcs1 tests. -CC= cc -CFLAG= -O -DEPFLAG= +CC= gcc +CFLAG= -O3 +DEPFLAG= -DOPENSSL_NO_EC_NISTP_64_GCC_128 -DOPENSSL_NO_GMP -DOPENSSL_NO_JPAKE -DOPENSSL_NO_LIBUNBOUND -DOPENSSL_NO_MD2 -DOPENSSL_NO_RC5 -DOPENSSL_NO_RFC3779 -DOPENSSL_NO_SCTP -DOPENSSL_NO_SSL_TRACE -DOPENSSL_NO_STORE -DOPENSSL_NO_UNIT_TEST PEX_LIBS= EX_LIBS= EXE_EXT= -ARFLAGS= -AR=ar $(ARFLAGS) r -RANLIB= ranlib +ARFLAGS= +AR= ar $(ARFLAGS) r +RANLIB= /usr/bin/ranlib NM= nm -PERL= perl +PERL= /usr/bin/perl TAR= tar TARFLAGS= --no-recursion -MAKEDEPPROG=makedepend +MAKEDEPPROG= gcc LIBDIR=lib # We let the C compiler driver to take care of .s files. This is done in @@ -83,26 +85,26 @@ ASFLAG=$(CFLAG) # For x86 assembler: Set PROCESSOR to 386 if you want to support # the 80386. -PROCESSOR= +PROCESSOR= # CPUID module collects small commonly used assembler snippets -CPUID_OBJ= +CPUID_OBJ= mem_clr.o BN_ASM= bn_asm.o -EC_ASM= +EC_ASM= DES_ENC= des_enc.o fcrypt_b.o AES_ENC= aes_core.o aes_cbc.o BF_ENC= bf_enc.o CAST_ENC= c_enc.o -RC4_ENC= rc4_enc.o +RC4_ENC= rc4_enc.o rc4_skey.o RC5_ENC= rc5_enc.o MD5_ASM_OBJ= SHA1_ASM_OBJ= RMD160_ASM_OBJ= -WP_ASM_OBJ= -CMLL_ENC= -MODES_ASM_OBJ= -ENGINES_ASM_OBJ= -PERLASM_SCHEME= +WP_ASM_OBJ= wp_block.o +CMLL_ENC= camellia.o cmll_misc.o cmll_cbc.o +MODES_ASM_OBJ= +ENGINES_ASM_OBJ= +PERLASM_SCHEME= # KRB5 stuff KRB5_INCLUDES= @@ -113,7 +115,7 @@ ZLIB_INCLUDE= LIBZLIB= # TOP level FIPS install directory. -FIPSDIR= +FIPSDIR=/usr/local/ssl/fips-2.0 # This is the location of fipscanister.o and friends. # The FIPS module build will place it $(INSTALLTOP)/lib @@ -134,7 +136,7 @@ FIPSCANLIB= # Shared library base address. Currently only used on Windows. # -BASEADDR= +BASEADDR=0xFB00000 DIRS= crypto ssl engines apps test tools ENGDIRS= ccgost @@ -143,12 +145,12 @@ SHLIBDIRS= crypto ssl # dirs in crypto to build SDIRS= \ objects \ - md2 md4 md5 sha mdc2 hmac ripemd whrlpool \ - des aes rc2 rc4 rc5 idea bf cast camellia seed modes \ + md4 md5 sha mdc2 hmac ripemd whrlpool \ + des aes rc2 rc4 idea bf cast camellia seed modes \ bn ec rsa dsa ecdsa dh ecdh dso engine \ buffer bio stack lhash rand err \ evp asn1 pem x509 x509v3 conf txt_db pkcs7 pkcs12 comp ocsp ui krb5 \ - cms pqueue ts jpake srp store cmac + cms pqueue ts srp cmac # keep in mind that the above list is adjusted by ./Configure # according to no-xxx arguments... @@ -269,6 +271,7 @@ reflect: @[ -n "$(THIS)" ] && $(CLEARENV) && $(MAKE) $(THIS) -e $(BUILDENV) sub_all: build_all + build_all: build_libs build_apps build_tests build_tools build_libs: build_libcrypto build_libssl openssl.pc @@ -278,15 +281,15 @@ build_libssl: build_ssl libssl.pc build_crypto: @dir=crypto; target=all; $(BUILD_ONE_CMD) -build_ssl: +build_ssl: build_crypto @dir=ssl; target=all; $(BUILD_ONE_CMD) -build_engines: +build_engines: build_crypto @dir=engines; target=all; $(BUILD_ONE_CMD) -build_apps: +build_apps: build_libs @dir=apps; target=all; $(BUILD_ONE_CMD) -build_tests: +build_tests: build_libs @dir=test; target=all; $(BUILD_ONE_CMD) -build_tools: +build_tools: build_libs @dir=tools; target=all; $(BUILD_ONE_CMD) all_testapps: build_libs build_testapps diff --git a/openssl/Makefile.org b/openssl/Makefile.org index 9f4faae..d77e264 100644 --- a/openssl/Makefile.org +++ b/openssl/Makefile.org @@ -269,6 +269,7 @@ reflect: @[ -n "$(THIS)" ] && $(CLEARENV) && $(MAKE) $(THIS) -e $(BUILDENV) sub_all: build_all + build_all: build_libs build_apps build_tests build_tools build_libs: build_libcrypto build_libssl openssl.pc @@ -278,15 +279,15 @@ build_libssl: build_ssl libssl.pc build_crypto: @dir=crypto; target=all; $(BUILD_ONE_CMD) -build_ssl: +build_ssl: build_crypto @dir=ssl; target=all; $(BUILD_ONE_CMD) -build_engines: +build_engines: build_crypto @dir=engines; target=all; $(BUILD_ONE_CMD) -build_apps: +build_apps: build_libs @dir=apps; target=all; $(BUILD_ONE_CMD) -build_tests: +build_tests: build_libs @dir=test; target=all; $(BUILD_ONE_CMD) -build_tools: +build_tools: build_libs @dir=tools; target=all; $(BUILD_ONE_CMD) all_testapps: build_libs build_testapps diff --git a/openssl/NEWS b/openssl/NEWS index f3574cf..29e4805 100644 --- a/openssl/NEWS +++ b/openssl/NEWS @@ -5,6 +5,10 @@ This file gives a brief overview of the major changes between each OpenSSL release. For more details please read the CHANGES file. + Major changes between OpenSSL 1.0.2c and OpenSSL 1.0.2d [9 Jul 2015] + + o Alternate chains certificate forgery (CVE-2015-1793) + Major changes between OpenSSL 1.0.2b and OpenSSL 1.0.2c [12 Jun 2015] o Fix HMAC ABI incompatibility diff --git a/openssl/README b/openssl/README index ae04431..493141b 100644 --- a/openssl/README +++ b/openssl/README @@ -1,5 +1,5 @@ - OpenSSL 1.0.2c 12 Jun 2015 + OpenSSL 1.0.2d 9 Jul 2015 Copyright (c) 1998-2011 The OpenSSL Project Copyright (c) 1995-1998 Eric A. Young, Tim J. Hudson diff --git a/openssl/apps/ocsp.c b/openssl/apps/ocsp.c index b858b8d..926083d 100644 --- a/openssl/apps/ocsp.c +++ b/openssl/apps/ocsp.c @@ -209,6 +209,7 @@ int MAIN(int argc, char **argv) OPENSSL_free(tport); if (tpath) OPENSSL_free(tpath); + thost = tport = tpath = NULL; if (args[1]) { args++; if (!OCSP_parse_url(*args, &host, &port, &path, &use_ssl)) { diff --git a/openssl/crypto/bio/bio.h b/openssl/crypto/bio/bio.h index 7878fb1..f78796b 100644 --- a/openssl/crypto/bio/bio.h +++ b/openssl/crypto/bio/bio.h @@ -291,7 +291,7 @@ void BIO_clear_flags(BIO *b, int flags); * BIO_CB_RETURN flag indicates if it is after the call */ # define BIO_CB_RETURN 0x80 -# define BIO_CB_return(a) ((a)|BIO_CB_RETURN)) +# define BIO_CB_return(a) ((a)|BIO_CB_RETURN) # define BIO_cb_pre(a) (!((a)&BIO_CB_RETURN)) # define BIO_cb_post(a) ((a)&BIO_CB_RETURN) diff --git a/openssl/crypto/bn/Makefile b/openssl/crypto/bn/Makefile index 61dce05..215855e 100644 --- a/openssl/crypto/bn/Makefile +++ b/openssl/crypto/bn/Makefile @@ -253,6 +253,7 @@ bn_exp.o: ../../include/openssl/lhash.h ../../include/openssl/opensslconf.h bn_exp.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h bn_exp.o: ../../include/openssl/safestack.h ../../include/openssl/stack.h bn_exp.o: ../../include/openssl/symhacks.h ../cryptlib.h bn_exp.c bn_lcl.h +bn_exp.o: rsaz_exp.h bn_exp2.o: ../../e_os.h ../../include/openssl/bio.h ../../include/openssl/bn.h bn_exp2.o: ../../include/openssl/buffer.h ../../include/openssl/crypto.h bn_exp2.o: ../../include/openssl/e_os2.h ../../include/openssl/err.h diff --git a/openssl/crypto/bn/bn_exp.c b/openssl/crypto/bn/bn_exp.c index 8c46e50..24afdd6 100644 --- a/openssl/crypto/bn/bn_exp.c +++ b/openssl/crypto/bn/bn_exp.c @@ -126,13 +126,7 @@ # include <alloca.h> #endif -#undef RSAZ_ENABLED -#if defined(OPENSSL_BN_ASM_MONT) && \ - (defined(__x86_64) || defined(__x86_64__) || \ - defined(_M_AMD64) || defined(_M_X64)) -# include "rsaz_exp.h" -# define RSAZ_ENABLED -#endif +#include "rsaz_exp.h" #undef SPARC_T4_MONT #if defined(OPENSSL_BN_ASM_MONT) && (defined(__sparc__) || defined(__sparc)) diff --git a/openssl/crypto/bn/bntest.c b/openssl/crypto/bn/bntest.c index 06662c5..470d5da 100644 --- a/openssl/crypto/bn/bntest.c +++ b/openssl/crypto/bn/bntest.c @@ -1042,7 +1042,6 @@ int test_mod_exp_mont_consttime(BIO *bp, BN_CTX *ctx) int test_mod_exp_mont5(BIO *bp, BN_CTX *ctx) { BIGNUM *a, *p, *m, *d, *e; - BN_MONT_CTX *mont; a = BN_new(); @@ -1050,7 +1049,6 @@ int test_mod_exp_mont5(BIO *bp, BN_CTX *ctx) m = BN_new(); d = BN_new(); e = BN_new(); - mont = BN_MONT_CTX_new(); BN_bntest_rand(m, 1024, 0, 1); /* must be odd for montgomery */ @@ -1099,6 +1097,7 @@ int test_mod_exp_mont5(BIO *bp, BN_CTX *ctx) fprintf(stderr, "Modular exponentiation test failed!\n"); return 0; } + BN_MONT_CTX_free(mont); BN_free(a); BN_free(p); BN_free(m); diff --git a/openssl/crypto/bn/rsaz_exp.c b/openssl/crypto/bn/rsaz_exp.c index a486b15..c54c6fe 100755 --- a/openssl/crypto/bn/rsaz_exp.c +++ b/openssl/crypto/bn/rsaz_exp.c @@ -42,6 +42,8 @@ #include "rsaz_exp.h" +#ifdef RSAZ_ENABLED + /* * See crypto/bn/asm/rsaz-avx2.pl for further details. */ @@ -334,3 +336,11 @@ void RSAZ_512_mod_exp(BN_ULONG result[8], OPENSSL_cleanse(storage, sizeof(storage)); } + +#else + +# if defined(PEDANTIC) || defined(__DECC) || defined(__clang__) +static void *dummy = &dummy; +# endif + +#endif diff --git a/openssl/crypto/bn/rsaz_exp.h b/openssl/crypto/bn/rsaz_exp.h index bb71fb1..33361de 100755 --- a/openssl/crypto/bn/rsaz_exp.h +++ b/openssl/crypto/bn/rsaz_exp.h @@ -31,7 +31,13 @@ #ifndef RSAZ_EXP_H # define RSAZ_EXP_H -# include <openssl/bn.h> +# undef RSAZ_ENABLED +# if defined(OPENSSL_BN_ASM_MONT) && \ + (defined(__x86_64) || defined(__x86_64__) || \ + defined(_M_AMD64) || defined(_M_X64)) +# define RSAZ_ENABLED + +# include <openssl/bn.h> void RSAZ_1024_mod_exp_avx2(BN_ULONG result[16], const BN_ULONG base_norm[16], @@ -44,4 +50,7 @@ void RSAZ_512_mod_exp(BN_ULONG result[8], const BN_ULONG base_norm[8], const BN_ULONG exponent[8], const BN_ULONG m_norm[8], BN_ULONG k0, const BN_ULONG RR[8]); + +# endif + #endif diff --git a/openssl/crypto/cms/cms_smime.c b/openssl/crypto/cms/cms_smime.c index b39ed48..5522a37 100644 --- a/openssl/crypto/cms/cms_smime.c +++ b/openssl/crypto/cms/cms_smime.c @@ -374,7 +374,7 @@ int CMS_verify(CMS_ContentInfo *cms, STACK_OF(X509) *certs, tmpin = BIO_new_mem_buf(ptr, len); if (tmpin == NULL) { CMSerr(CMS_F_CMS_VERIFY, ERR_R_MALLOC_FAILURE); - return 0; + goto err2; } } else tmpin = dcont; @@ -405,6 +405,7 @@ int CMS_verify(CMS_ContentInfo *cms, STACK_OF(X509) *certs, else BIO_free_all(cmsbio); + err2: if (cms_certs) sk_X509_pop_free(cms_certs, X509_free); if (crls) diff --git a/openssl/crypto/evp/e_aes.c b/openssl/crypto/evp/e_aes.c index 33cbed8..1734a82 100644 --- a/openssl/crypto/evp/e_aes.c +++ b/openssl/crypto/evp/e_aes.c @@ -1771,7 +1771,7 @@ static int aes_ccm_ctrl(EVP_CIPHER_CTX *c, int type, int arg, void *ptr) case EVP_CTRL_CCM_SET_TAG: if ((arg & 1) || arg < 4 || arg > 16) return 0; - if ((c->encrypt && ptr) || (!c->encrypt && !ptr)) + if (c->encrypt && ptr) return 0; if (ptr) { cctx->tag_set = 1; diff --git a/openssl/crypto/hmac/hmactest.c b/openssl/crypto/hmac/hmactest.c index 271d0eb..5a57395 100644 --- a/openssl/crypto/hmac/hmactest.c +++ b/openssl/crypto/hmac/hmactest.c @@ -195,6 +195,7 @@ int main(int argc, char *argv[]) } printf("test 4 ok\n"); test5: + HMAC_CTX_cleanup(&ctx); HMAC_CTX_init(&ctx); if (HMAC_Init_ex(&ctx, test[4].key, test[4].key_len, NULL, NULL)) { printf("Should fail to initialise HMAC with empty MD (test 5)\n"); @@ -284,6 +285,7 @@ test5: printf("test 5 ok\n"); } test6: + HMAC_CTX_cleanup(&ctx); HMAC_CTX_init(&ctx); if (!HMAC_Init_ex(&ctx, test[7].key, test[7].key_len, EVP_sha1(), NULL)) { printf("Failed to initialise HMAC (test 6)\n"); @@ -314,6 +316,7 @@ test6: printf("test 6 ok\n"); } end: + HMAC_CTX_cleanup(&ctx); EXIT(err); return (0); } diff --git a/openssl/crypto/opensslconf.h.in b/openssl/crypto/opensslconf.h.in index 97e3745..814309b 100644 --- a/openssl/crypto/opensslconf.h.in +++ b/openssl/crypto/opensslconf.h.in @@ -101,7 +101,7 @@ #endif #if defined(DES_RISC1) && defined(DES_RISC2) -YOU SHOULD NOT HAVE BOTH DES_RISC1 AND DES_RISC2 DEFINED!!!!! +#error YOU SHOULD NOT HAVE BOTH DES_RISC1 AND DES_RISC2 DEFINED!!!!! #endif /* Unroll the inner loop, this sometimes helps, sometimes hinders. diff --git a/openssl/crypto/opensslv.h b/openssl/crypto/opensslv.h index 7cc19dc..c06b13a 100644 --- a/openssl/crypto/opensslv.h +++ b/openssl/crypto/opensslv.h @@ -30,11 +30,11 @@ extern "C" { * (Prior to 0.9.5a beta1, a different scheme was used: MMNNFFRBB for * major minor fix final patch/beta) */ -# define OPENSSL_VERSION_NUMBER 0x1000203fL +# define OPENSSL_VERSION_NUMBER 0x1000204fL # ifdef OPENSSL_FIPS -# define OPENSSL_VERSION_TEXT "OpenSSL 1.0.2c-fips 12 Jun 2015" +# define OPENSSL_VERSION_TEXT "OpenSSL 1.0.2d-fips 9 Jul 2015" # else -# define OPENSSL_VERSION_TEXT "OpenSSL 1.0.2c 12 Jun 2015" +# define OPENSSL_VERSION_TEXT "OpenSSL 1.0.2d 9 Jul 2015" # endif # define OPENSSL_VERSION_PTEXT " part of " OPENSSL_VERSION_TEXT diff --git a/openssl/crypto/pkcs12/p12_kiss.c b/openssl/crypto/pkcs12/p12_kiss.c index ee476c3..9aa3c90 100644 --- a/openssl/crypto/pkcs12/p12_kiss.c +++ b/openssl/crypto/pkcs12/p12_kiss.c @@ -135,10 +135,12 @@ int PKCS12_parse(PKCS12 *p12, const char *pass, EVP_PKEY **pkey, X509 **cert, while ((x = sk_X509_pop(ocerts))) { if (pkey && *pkey && cert && !*cert) { + ERR_set_mark(); if (X509_check_private_key(x, *pkey)) { *cert = x; x = NULL; } + ERR_pop_to_mark(); } if (ca && x) { diff --git a/openssl/crypto/srp/srptest.c b/openssl/crypto/srp/srptest.c index 451c70e..00e001b 100644 --- a/openssl/crypto/srp/srptest.c +++ b/openssl/crypto/srp/srptest.c @@ -148,6 +148,7 @@ int main(int argc, char **argv) ERR_remove_thread_state(NULL); ERR_free_strings(); CRYPTO_mem_leaks(bio_err); + BIO_free(bio_err); return 0; } diff --git a/openssl/crypto/threads/mttest.c b/openssl/crypto/threads/mttest.c index 8f67db6..dbff4a6 100644 --- a/openssl/crypto/threads/mttest.c +++ b/openssl/crypto/threads/mttest.c @@ -56,7 +56,6 @@ * [including the GNU Public Licence.] */ -#include <stdio.h> #include <stdlib.h> #include <string.h> #include <errno.h> @@ -86,17 +85,11 @@ #include <openssl/lhash.h> #include <openssl/crypto.h> #include <openssl/buffer.h> -#include "../../e_os.h" #include <openssl/x509.h> #include <openssl/ssl.h> #include <openssl/err.h> #include <openssl/rand.h> -#ifdef OPENSSL_NO_FP_API -# define APPS_WIN16 -# include "../buffer/bss_file.c" -#endif - #ifdef OPENSSL_SYS_NETWARE # define TEST_SERVER_CERT "/openssl/apps/server.pem" # define TEST_CLIENT_CERT "/openssl/apps/client.pem" @@ -107,23 +100,23 @@ #define MAX_THREAD_NUMBER 100 -int MS_CALLBACK verify_callback(int ok, X509_STORE_CTX *xs); +int verify_callback(int ok, X509_STORE_CTX *xs); void thread_setup(void); void thread_cleanup(void); void do_threads(SSL_CTX *s_ctx, SSL_CTX *c_ctx); -void irix_locking_callback(int mode, int type, char *file, int line); -void solaris_locking_callback(int mode, int type, char *file, int line); -void win32_locking_callback(int mode, int type, char *file, int line); -void pthreads_locking_callback(int mode, int type, char *file, int line); -void netware_locking_callback(int mode, int type, char *file, int line); +void irix_locking_callback(int mode, int type, const char *file, int line); +void solaris_locking_callback(int mode, int type, const char *file, int line); +void win32_locking_callback(int mode, int type, const char *file, int line); +void pthreads_locking_callback(int mode, int type, const char *file, int line); +void netware_locking_callback(int mode, int type, const char *file, int line); void beos_locking_callback(int mode, int type, const char *file, int line); -unsigned long irix_thread_id(void); -unsigned long solaris_thread_id(void); -unsigned long pthreads_thread_id(void); -unsigned long netware_thread_id(void); -unsigned long beos_thread_id(void); +void irix_thread_id(CRYPTO_THREADID *tid); +void solaris_thread_id(CRYPTO_THREADID *tid); +void pthreads_thread_id(CRYPTO_THREADID *tid); +void netware_thread_id(CRYPTO_THREADID *tid); +void beos_thread_id(CRYPTO_THREADID *tid); #if defined(OPENSSL_SYS_NETWARE) static MPKMutex *lock_cs; @@ -149,39 +142,39 @@ static const char rnd_seed[] = "string to make the random number generator think it has entropy"; int doit(char *ctx[4]); -static void print_stats(FILE *fp, SSL_CTX *ctx) +static void print_stats(BIO *bio, SSL_CTX *ctx) { - fprintf(fp, "%4ld items in the session cache\n", - SSL_CTX_sess_number(ctx)); - fprintf(fp, "%4d client connects (SSL_connect())\n", - SSL_CTX_sess_connect(ctx)); - fprintf(fp, "%4d client connects that finished\n", - SSL_CTX_sess_connect_good(ctx)); - fprintf(fp, "%4d server connects (SSL_accept())\n", - SSL_CTX_sess_accept(ctx)); - fprintf(fp, "%4d server connects that finished\n", - SSL_CTX_sess_accept_good(ctx)); - fprintf(fp, "%4d session cache hits\n", SSL_CTX_sess_hits(ctx)); - fprintf(fp, "%4d session cache misses\n", SSL_CTX_sess_misses(ctx)); - fprintf(fp, "%4d session cache timeouts\n", SSL_CTX_sess_timeouts(ctx)); + BIO_printf(bio, "%4ld items in the session cache\n", + SSL_CTX_sess_number(ctx)); + BIO_printf(bio, "%4d client connects (SSL_connect())\n", + SSL_CTX_sess_connect(ctx)); + BIO_printf(bio, "%4d client connects that finished\n", + SSL_CTX_sess_connect_good(ctx)); + BIO_printf(bio, "%4d server connects (SSL_accept())\n", + SSL_CTX_sess_accept(ctx)); + BIO_printf(bio, "%4d server connects that finished\n", + SSL_CTX_sess_accept_good(ctx)); + BIO_printf(bio, "%4d session cache hits\n", SSL_CTX_sess_hits(ctx)); + BIO_printf(bio, "%4d session cache misses\n", SSL_CTX_sess_misses(ctx)); + BIO_printf(bio, "%4d session cache timeouts\n", SSL_CTX_sess_timeouts(ctx)); } static void sv_usage(void) { - fprintf(stderr, "usage: ssltest [args ...]\n"); - fprintf(stderr, "\n"); - fprintf(stderr, " -server_auth - check server certificate\n"); - fprintf(stderr, " -client_auth - do client authentication\n"); - fprintf(stderr, " -v - more output\n"); - fprintf(stderr, " -CApath arg - PEM format directory of CA's\n"); - fprintf(stderr, " -CAfile arg - PEM format file of CA's\n"); - fprintf(stderr, " -threads arg - number of threads\n"); - fprintf(stderr, " -loops arg - number of 'connections', per thread\n"); - fprintf(stderr, " -reconnect - reuse session-id's\n"); - fprintf(stderr, " -stats - server session-id cache stats\n"); - fprintf(stderr, " -cert arg - server certificate/key\n"); - fprintf(stderr, " -ccert arg - client certificate/key\n"); - fprintf(stderr, " -ssl3 - just SSLv3n\n"); + BIO_printf(bio_err, "usage: ssltest [args ...]\n"); + BIO_printf(bio_err, "\n"); + BIO_printf(bio_err, " -server_auth - check server certificate\n"); + BIO_printf(bio_err, " -client_auth - do client authentication\n"); + BIO_printf(bio_err, " -v - more output\n"); + BIO_printf(bio_err, " -CApath arg - PEM format directory of CA's\n"); + BIO_printf(bio_err, " -CAfile arg - PEM format file of CA's\n"); + BIO_printf(bio_err, " -threads arg - number of threads\n"); + BIO_printf(bio_err, " -loops arg - number of 'connections', per thread\n"); + BIO_printf(bio_err, " -reconnect - reuse session-id's\n"); + BIO_printf(bio_err, " -stats - server session-id cache stats\n"); + BIO_printf(bio_err, " -cert arg - server certificate/key\n"); + BIO_printf(bio_err, " -ccert arg - client certificate/key\n"); + BIO_printf(bio_err, " -ssl3 - just SSLv3n\n"); } int main(int argc, char *argv[]) @@ -195,14 +188,14 @@ int main(int argc, char *argv[]) SSL_CTX *c_ctx = NULL; char *scert = TEST_SERVER_CERT; char *ccert = TEST_CLIENT_CERT; - SSL_METHOD *ssl_method = SSLv23_method(); + const SSL_METHOD *ssl_method = SSLv23_method(); RAND_seed(rnd_seed, sizeof rnd_seed); if (bio_err == NULL) - bio_err = BIO_new_fp(stderr, BIO_NOCLOSE); + bio_err = BIO_new_fd(2, BIO_NOCLOSE); if (bio_stdout == NULL) - bio_stdout = BIO_new_fp(stdout, BIO_NOCLOSE); + bio_stdout = BIO_new_fd(1, BIO_NOCLOSE); argc--; argv++; @@ -250,7 +243,7 @@ int main(int argc, char *argv[]) if (number_of_loops == 0) number_of_loops = 1; } else { - fprintf(stderr, "unknown option %s\n", *argv); + BIO_printf(bio_err, "unknown option %s\n", *argv); badop = 1; break; } @@ -284,9 +277,12 @@ int main(int argc, char *argv[]) SSL_SESS_CACHE_SERVER); if (!SSL_CTX_use_certificate_file(s_ctx, scert, SSL_FILETYPE_PEM)) { + BIO_printf(bio_err, "SSL_CTX_use_certificate_file (%s)\n", scert); ERR_print_errors(bio_err); + goto end; } else if (!SSL_CTX_use_RSAPrivateKey_file(s_ctx, scert, SSL_FILETYPE_PEM)) { + BIO_printf(bio_err, "SSL_CTX_use_RSAPrivateKey_file (%s)\n", scert); ERR_print_errors(bio_err); goto end; } @@ -300,19 +296,19 @@ int main(int argc, char *argv[]) (!SSL_CTX_set_default_verify_paths(s_ctx)) || (!SSL_CTX_load_verify_locations(c_ctx, CAfile, CApath)) || (!SSL_CTX_set_default_verify_paths(c_ctx))) { - fprintf(stderr, "SSL_load_verify_locations\n"); + BIO_printf(bio_err, "SSL_load_verify_locations\n"); ERR_print_errors(bio_err); goto end; } if (client_auth) { - fprintf(stderr, "client authentication\n"); + BIO_printf(bio_err, "client authentication\n"); SSL_CTX_set_verify(s_ctx, SSL_VERIFY_PEER | SSL_VERIFY_FAIL_IF_NO_PEER_CERT, verify_callback); } if (server_auth) { - fprintf(stderr, "server authentication\n"); + BIO_printf(bio_err, "server authentication\n"); SSL_CTX_set_verify(c_ctx, SSL_VERIFY_PEER, verify_callback); } @@ -322,24 +318,24 @@ int main(int argc, char *argv[]) end: if (c_ctx != NULL) { - fprintf(stderr, "Client SSL_CTX stats then free it\n"); - print_stats(stderr, c_ctx); + BIO_printf(bio_err, "Client SSL_CTX stats then free it\n"); + print_stats(bio_err, c_ctx); SSL_CTX_free(c_ctx); } if (s_ctx != NULL) { - fprintf(stderr, "Server SSL_CTX stats then free it\n"); - print_stats(stderr, s_ctx); + BIO_printf(bio_err, "Server SSL_CTX stats then free it\n"); + print_stats(bio_err, s_ctx); if (cache_stats) { - fprintf(stderr, "-----\n"); - lh_stats(SSL_CTX_sessions(s_ctx), stderr); - fprintf(stderr, "-----\n"); - /*- lh_node_stats(SSL_CTX_sessions(s_ctx),stderr); - fprintf(stderr,"-----\n"); */ - lh_node_usage_stats(SSL_CTX_sessions(s_ctx), stderr); - fprintf(stderr, "-----\n"); + BIO_printf(bio_err, "-----\n"); + lh_SSL_SESSION_stats_bio(SSL_CTX_sessions(s_ctx), bio_err); + BIO_printf(bio_err, "-----\n"); + /*- lh_SSL_SESSION_node_stats_bio(SSL_CTX_sessions(s_ctx),bio_err); + BIO_printf(bio_err,"-----\n"); */ + lh_SSL_SESSION_node_usage_stats_bio(SSL_CTX_sessions(s_ctx), bio_err); + BIO_printf(bio_err, "-----\n"); } SSL_CTX_free(s_ctx); - fprintf(stderr, "done free\n"); + BIO_printf(bio_err, "done free\n"); } exit(ret); return (0); @@ -355,6 +351,7 @@ int ndoit(SSL_CTX *ssl_ctx[2]) int i; int ret; char *ctx[4]; + CRYPTO_THREADID thread_id; ctx[0] = (char *)ssl_ctx[0]; ctx[1] = (char *)ssl_ctx[1]; @@ -367,22 +364,24 @@ int ndoit(SSL_CTX *ssl_ctx[2]) ctx[3] = NULL; } - fprintf(stdout, "started thread %lu\n", CRYPTO_thread_id()); + CRYPTO_THREADID_current(&thread_id); + BIO_printf(bio_stdout, "started thread %lu\n", + CRYPTO_THREADID_hash(&thread_id)); for (i = 0; i < number_of_loops; i++) { -/*- fprintf(stderr,"%4d %2d ctx->ref (%3d,%3d)\n", - CRYPTO_thread_id(),i, - ssl_ctx[0]->references, - ssl_ctx[1]->references); */ +/*- BIO_printf(bio_err,"%4d %2d ctx->ref (%3d,%3d)\n", + CRYPTO_THREADID_hash(&thread_id),i, + ssl_ctx[0]->references, + ssl_ctx[1]->references); */ /* pthread_delay_np(&tm); */ ret = doit(ctx); if (ret != 0) { - fprintf(stdout, "error[%d] %lu - %d\n", - i, CRYPTO_thread_id(), ret); + BIO_printf(bio_stdout, "error[%d] %lu - %d\n", + i, CRYPTO_THREADID_hash(&thread_id), ret); return (ret); } } - fprintf(stdout, "DONE %lu\n", CRYPTO_thread_id()); + BIO_printf(bio_stdout, "DONE %lu\n", CRYPTO_THREADID_hash(&thread_id)); if (reconnect) { SSL_free((SSL *)ctx[2]); SSL_free((SSL *)ctx[3]); @@ -467,26 +466,26 @@ int doit(char *ctx[4]) if (do_server && verbose) { if (SSL_in_init(s_ssl)) - printf("server waiting in SSL_accept - %s\n", - SSL_state_string_long(s_ssl)); + BIO_printf(bio_stdout, "server waiting in SSL_accept - %s\n", + SSL_state_string_long(s_ssl)); else if (s_write) - printf("server:SSL_write()\n"); + BIO_printf(bio_stdout, "server:SSL_write()\n"); else - printf("server:SSL_read()\n"); + BIO_printf(bio_stdout, "server:SSL_read()\n"); } if (do_client && verbose) { if (SSL_in_init(c_ssl)) - printf("client waiting in SSL_connect - %s\n", - SSL_state_string_long(c_ssl)); + BIO_printf(bio_stdout, "client waiting in SSL_connect - %s\n", + SSL_state_string_long(c_ssl)); else if (c_write) - printf("client:SSL_write()\n"); + BIO_printf(bio_stdout, "client:SSL_write()\n"); else - printf("client:SSL_read()\n"); + BIO_printf(bio_stdout, "client:SSL_read()\n"); } if (!do_client && !do_server) { - fprintf(stdout, "ERROR IN STARTUP\n"); + BIO_printf(bio_stdout, "ERROR IN STARTUP\n"); break; } if (do_client && !(done & C_DONE)) { @@ -501,12 +500,12 @@ int doit(char *ctx[4]) if (BIO_should_write(c_bio)) c_w = 1; } else { - fprintf(stderr, "ERROR in CLIENT\n"); + BIO_printf(bio_err, "ERROR in CLIENT\n"); ERR_print_errors_fp(stderr); return (1); } } else if (i == 0) { - fprintf(stderr, "SSL CLIENT STARTUP FAILED\n"); + BIO_printf(bio_err, "SSL CLIENT STARTUP FAILED\n"); return (1); } else { /* ok */ @@ -523,19 +522,19 @@ int doit(char *ctx[4]) if (BIO_should_write(c_bio)) c_w = 1; } else { - fprintf(stderr, "ERROR in CLIENT\n"); + BIO_printf(bio_err, "ERROR in CLIENT\n"); ERR_print_errors_fp(stderr); return (1); } } else if (i == 0) { - fprintf(stderr, "SSL CLIENT STARTUP FAILED\n"); + BIO_printf(bio_err, "SSL CLIENT STARTUP FAILED\n"); return (1); } else { done |= C_DONE; #ifdef undef - fprintf(stdout, "CLIENT:from server:"); - fwrite(cbuf, 1, i, stdout); - fflush(stdout); + BIO_printf(bio_stdout, "CLIENT:from server:"); + BIO_write(bio_stdout, cbuf, i); + BIO_flush(bio_stdout); #endif } } @@ -553,20 +552,20 @@ int doit(char *ctx[4]) if (BIO_should_write(s_bio)) s_w = 1; } else { - fprintf(stderr, "ERROR in SERVER\n"); + BIO_printf(bio_err, "ERROR in SERVER\n"); ERR_print_errors_fp(stderr); return (1); } } else if (i == 0) { - fprintf(stderr, "SSL SERVER STARTUP FAILED\n"); + BIO_printf(bio_err, "SSL SERVER STARTUP FAILED\n"); return (1); } else { s_write = 1; s_w = 1; #ifdef undef - fprintf(stdout, "SERVER:from client:"); - fwrite(sbuf, 1, i, stdout); - fflush(stdout); + BIO_printf(bio_stdout, "SERVER:from client:"); + BIO_write(bio_stdout, sbuf, i); + BIO_flush(bio_stdout); #endif } } else { @@ -580,12 +579,12 @@ int doit(char *ctx[4]) if (BIO_should_write(s_bio)) s_w = 1; } else { - fprintf(stderr, "ERROR in SERVER\n"); + BIO_printf(bio_err, "ERROR in SERVER\n"); ERR_print_errors_fp(stderr); return (1); } } else if (i == 0) { - fprintf(stderr, "SSL SERVER STARTUP FAILED\n"); + BIO_printf(bio_err, "SSL SERVER STARTUP FAILED\n"); return (1); } else { s_write = 0; @@ -606,7 +605,7 @@ int doit(char *ctx[4]) SSL_set_shutdown(s_ssl, SSL_SENT_SHUTDOWN | SSL_RECEIVED_SHUTDOWN); #ifdef undef - fprintf(stdout, "DONE\n"); + BIO_printf(bio_stdout, "DONE\n"); #endif err: /* @@ -640,7 +639,7 @@ int doit(char *ctx[4]) return (0); } -int MS_CALLBACK verify_callback(int ok, X509_STORE_CTX *ctx) +int verify_callback(int ok, X509_STORE_CTX *ctx) { char *s, buf[256]; @@ -649,9 +648,9 @@ int MS_CALLBACK verify_callback(int ok, X509_STORE_CTX *ctx) buf, 256); if (s != NULL) { if (ok) - fprintf(stderr, "depth=%d %s\n", ctx->error_depth, buf); + BIO_printf(bio_err, "depth=%d %s\n", ctx->error_depth, buf); else - fprintf(stderr, "depth=%d error=%d %s\n", + BIO_printf(bio_err, "depth=%d error=%d %s\n", ctx->error_depth, ctx->error, buf); } } @@ -688,7 +687,7 @@ void thread_cleanup(void) OPENSSL_free(lock_cs); } -void win32_locking_callback(int mode, int type, char *file, int line) +void win32_locking_callback(int mode, int type, const char *file, int line) { if (mode & CRYPTO_LOCK) { WaitForSingleObject(lock_cs[type], INFINITE); @@ -717,7 +716,7 @@ void do_threads(SSL_CTX *s_ctx, SSL_CTX *c_ctx) (void *)ssl_ctx, 0L, &(thread_id[i])); } - printf("reaping\n"); + BIO_printf(bio_stdout, "reaping\n"); for (i = 0; i < thread_number; i += 50) { int j; @@ -727,7 +726,7 @@ void do_threads(SSL_CTX *s_ctx, SSL_CTX *c_ctx) (CONST HANDLE *) & (thread_handle[i]), TRUE, INFINITE) == WAIT_FAILED) { - fprintf(stderr, "WaitForMultipleObjects failed:%d\n", + BIO_printf(bio_err, "WaitForMultipleObjects failed:%d\n", GetLastError()); exit(1); } @@ -743,7 +742,7 @@ void do_threads(SSL_CTX *s_ctx, SSL_CTX *c_ctx) ret = (ret + end.wSecond - start.wSecond); ret += (end.wMilliseconds - start.wMilliseconds) / 1000.0; - printf("win32 threads done - %.3f seconds\n", ret); + BIO_printf(bio_stdout, "win32 threads done - %.3f seconds\n", ret); } #endif /* OPENSSL_SYS_WIN32 */ @@ -768,8 +767,8 @@ void thread_setup(void) mutex_init(&(lock_cs[i]), USYNC_THREAD, NULL); } - CRYPTO_set_id_callback((unsigned long (*)())solaris_thread_id); - CRYPTO_set_locking_callback((void (*)())solaris_locking_callback); + CRYPTO_set_id_callback(solaris_thread_id); + CRYPTO_set_locking_callback(solaris_locking_callback); } void thread_cleanup(void) @@ -778,34 +777,34 @@ void thread_cleanup(void) CRYPTO_set_locking_callback(NULL); - fprintf(stderr, "cleanup\n"); + BIO_printf(bio_err, "cleanup\n"); for (i = 0; i < CRYPTO_num_locks(); i++) { /* rwlock_destroy(&(lock_cs[i])); */ mutex_destroy(&(lock_cs[i])); - fprintf(stderr, "%8ld:%s\n", lock_count[i], CRYPTO_get_lock_name(i)); + BIO_printf(bio_err, "%8ld:%s\n", lock_count[i], CRYPTO_get_lock_name(i)); } OPENSSL_free(lock_cs); OPENSSL_free(lock_count); - fprintf(stderr, "done cleanup\n"); + BIO_printf(bio_err, "done cleanup\n"); } -void solaris_locking_callback(int mode, int type, char *file, int line) +void solaris_locking_callback(int mode, int type, const char *file, int line) { # ifdef undef - fprintf(stderr, "thread=%4d mode=%s lock=%s %s:%d\n", - CRYPTO_thread_id(), - (mode & CRYPTO_LOCK) ? "l" : "u", - (type & CRYPTO_READ) ? "r" : "w", file, line); + BIO_printf(bio_err, "thread=%4d mode=%s lock=%s %s:%d\n", + CRYPTO_thread_id(), + (mode & CRYPTO_LOCK) ? "l" : "u", + (type & CRYPTO_READ) ? "r" : "w", file, line); # endif /*- if (CRYPTO_LOCK_SSL_CERT == type) - fprintf(stderr,"(t,m,f,l) %ld %d %s %d\n", - CRYPTO_thread_id(), - mode,file,line); + BIO_printf(bio_err,"(t,m,f,l) %ld %d %s %d\n", + CRYPTO_thread_id(), + mode,file,line); */ if (mode & CRYPTO_LOCK) { /*- @@ -837,21 +836,22 @@ void do_threads(SSL_CTX *s_ctx, SSL_CTX *c_ctx) (void *(*)())ndoit, (void *)ssl_ctx, 0L, &(thread_ctx[i])); } - printf("reaping\n"); + BIO_printf(bio_stdout, "reaping\n"); for (i = 0; i < thread_number; i++) { thr_join(thread_ctx[i], NULL, NULL); } - printf("solaris threads done (%d,%d)\n", - s_ctx->references, c_ctx->references); +#if 0 /* We can't currently find out the reference amount */ + BIO_printf(bio_stdout, "solaris threads done (%d,%d)\n", + s_ctx->references, c_ctx->references); +#else + BIO_printf(bio_stdout, "solaris threads done\n"); +#endif } -unsigned long solaris_thread_id(void) +void solaris_thread_id(CRYPTO_THREADID *tid) { - unsigned long ret; - - ret = (unsigned long)thr_self(); - return (ret); + CRYPTO_THREADID_set_numeric((unsigned long)thr_self()); } #endif /* SOLARIS */ @@ -880,8 +880,8 @@ void thread_setup(void) lock_cs[i] = usnewsema(arena, 1); } - CRYPTO_set_id_callback((unsigned long (*)())irix_thread_id); - CRYPTO_set_locking_callback((void (*)())irix_locking_callback); + CRYPTO_set_id_callback(irix_thread_id); + CRYPTO_set_locking_callback(irix_locking_callback); } void thread_cleanup(void) @@ -899,13 +899,13 @@ void thread_cleanup(void) OPENSSL_free(lock_cs); } -void irix_locking_callback(int mode, int type, char *file, int line) +void irix_locking_callback(int mode, int type, const char *file, int line) { if (mode & CRYPTO_LOCK) { - printf("lock %d\n", type); + BIO_printf(bio_stdout, "lock %d\n", type); uspsema(lock_cs[type]); } else { - printf("unlock %d\n", type); + BIO_printf(bio_stdout, "unlock %d\n", type); usvsema(lock_cs[type]); } } @@ -924,21 +924,22 @@ void do_threads(SSL_CTX *s_ctx, SSL_CTX *c_ctx) PR_SADDR | PR_SFDS, (void *)ssl_ctx); } - printf("reaping\n"); + BIO_printf(bio_stdout, "reaping\n"); for (i = 0; i < thread_number; i++) { wait(NULL); } - printf("irix threads done (%d,%d)\n", - s_ctx->references, c_ctx->references); +#if 0 /* We can't currently find out the reference amount */ + BIO_printf(bio_stdout, "irix threads done (%d,%d)\n", + s_ctx->references, c_ctx->references); +#else + BIO_printf(bio_stdout, "irix threads done\n"); +#endif } unsigned long irix_thread_id(void) { - unsigned long ret; - - ret = (unsigned long)getpid(); - return (ret); + CRYPTO_THREADID_set_numeric((unsigned long)getpid()); } #endif /* IRIX */ @@ -958,8 +959,8 @@ void thread_setup(void) pthread_mutex_init(&(lock_cs[i]), NULL); } - CRYPTO_set_id_callback((unsigned long (*)())pthreads_thread_id); - CRYPTO_set_locking_callback((void (*)())pthreads_locking_callback); + CRYPTO_THREADID_set_callback(pthreads_thread_id); + CRYPTO_set_locking_callback(pthreads_locking_callback); } void thread_cleanup(void) @@ -967,30 +968,30 @@ void thread_cleanup(void) int i; CRYPTO_set_locking_callback(NULL); - fprintf(stderr, "cleanup\n"); + BIO_printf(bio_err, "cleanup\n"); for (i = 0; i < CRYPTO_num_locks(); i++) { pthread_mutex_destroy(&(lock_cs[i])); - fprintf(stderr, "%8ld:%s\n", lock_count[i], CRYPTO_get_lock_name(i)); + BIO_printf(bio_err, "%8ld:%s\n", lock_count[i], CRYPTO_get_lock_name(i)); } OPENSSL_free(lock_cs); OPENSSL_free(lock_count); - fprintf(stderr, "done cleanup\n"); + BIO_printf(bio_err, "done cleanup\n"); } -void pthreads_locking_callback(int mode, int type, char *file, int line) +void pthreads_locking_callback(int mode, int type, const char *file, int line) { # ifdef undef - fprintf(stderr, "thread=%4d mode=%s lock=%s %s:%d\n", - CRYPTO_thread_id(), - (mode & CRYPTO_LOCK) ? "l" : "u", - (type & CRYPTO_READ) ? "r" : "w", file, line); + BIO_printf(bio_err, "thread=%4d mode=%s lock=%s %s:%d\n", + CRYPTO_thread_id(), + (mode & CRYPTO_LOCK) ? "l" : "u", + (type & CRYPTO_READ) ? "r" : "w", file, line); # endif /*- if (CRYPTO_LOCK_SSL_CERT == type) - fprintf(stderr,"(t,m,f,l) %ld %d %s %d\n", - CRYPTO_thread_id(), - mode,file,line); + BIO_printf(bio_err,"(t,m,f,l) %ld %d %s %d\n", + CRYPTO_thread_id(), + mode,file,line); */ if (mode & CRYPTO_LOCK) { pthread_mutex_lock(&(lock_cs[type])); @@ -1017,21 +1018,22 @@ void do_threads(SSL_CTX *s_ctx, SSL_CTX *c_ctx) (void *(*)())ndoit, (void *)ssl_ctx); } - printf("reaping\n"); + BIO_printf(bio_stdout, "reaping\n"); for (i = 0; i < thread_number; i++) { pthread_join(thread_ctx[i], NULL); } - printf("pthreads threads done (%d,%d)\n", - s_ctx->references, c_ctx->references); +#if 0 /* We can't currently find out the reference amount */ + BIO_printf(bio_stdout, "pthreads threads done (%d,%d)\n", + s_ctx->references, c_ctx->references); +#else + BIO_printf(bio_stdout, "pthreads threads done\n"); +#endif } -unsigned long pthreads_thread_id(void) +void pthreads_thread_id(CRYPTO_THREADID *tid) { - unsigned long ret; - - ret = (unsigned long)pthread_self(); - return (ret); + CRYPTO_THREADID_set_numeric(tid, (unsigned long)pthread_self()); } #endif /* PTHREADS */ @@ -1051,8 +1053,8 @@ void thread_setup(void) ThreadSem = MPKSemaphoreAlloc("OpenSSL mttest semaphore", 0); - CRYPTO_set_id_callback((unsigned long (*)())netware_thread_id); - CRYPTO_set_locking_callback((void (*)())netware_locking_callback); + CRYPTO_set_id_callback(netware_thread_id); + CRYPTO_set_locking_callback(netware_locking_callback); } void thread_cleanup(void) @@ -1061,21 +1063,21 @@ void thread_cleanup(void) CRYPTO_set_locking_callback(NULL); - fprintf(stdout, "thread_cleanup\n"); + BIO_printf(bio_stdout, "thread_cleanup\n"); for (i = 0; i < CRYPTO_num_locks(); i++) { MPKMutexFree(lock_cs[i]); - fprintf(stdout, "%8ld:%s\n", lock_count[i], CRYPTO_get_lock_name(i)); + BIO_printf(bio_stdout, "%8ld:%s\n", lock_count[i], CRYPTO_get_lock_name(i)); } OPENSSL_free(lock_cs); OPENSSL_free(lock_count); MPKSemaphoreFree(ThreadSem); - fprintf(stdout, "done cleanup\n"); + BIO_printf(bio_stdout, "done cleanup\n"); } -void netware_locking_callback(int mode, int type, char *file, int line) +void netware_locking_callback(int mode, int type, const char *file, int line) { if (mode & CRYPTO_LOCK) { MPKMutexLock(lock_cs[type]); @@ -1097,22 +1099,23 @@ void do_threads(SSL_CTX *s_ctx, SSL_CTX *c_ctx) ThreadSwitchWithDelay(); } - printf("reaping\n"); + BIO_printf(bio_stdout, "reaping\n"); /* loop until all threads have signaled the semaphore */ for (i = 0; i < thread_number; i++) { MPKSemaphoreWait(ThreadSem); } - printf("netware threads done (%d,%d)\n", - s_ctx->references, c_ctx->references); +#if 0 /* We can't currently find out the reference amount */ + BIO_printf(bio_stdout, "netware threads done (%d,%d)\n", + s_ctx->references, c_ctx->references); +#else + BIO_printf(bio_stdout, "netware threads done\n"); +#endif } unsigned long netware_thread_id(void) { - unsigned long ret; - - ret = (unsigned long)GetThreadID(); - return (ret); + CRYPTO_THREADID_set_numeric((unsigned long)GetThreadID()); } #endif /* NETWARE */ @@ -1144,24 +1147,24 @@ void thread_cleanup(void) int i; CRYPTO_set_locking_callback(NULL); - fprintf(stderr, "cleanup\n"); + BIO_printf(bio_err, "cleanup\n"); for (i = 0; i < CRYPTO_num_locks(); i++) { delete lock_cs[i]; - fprintf(stderr, "%8ld:%s\n", lock_count[i], CRYPTO_get_lock_name(i)); + BIO_printf(bio_err, "%8ld:%s\n", lock_count[i], CRYPTO_get_lock_name(i)); } OPENSSL_free(lock_cs); OPENSSL_free(lock_count); - fprintf(stderr, "done cleanup\n"); + BIO_printf(bio_err, "done cleanup\n"); } void beos_locking_callback(int mode, int type, const char *file, int line) { # if 0 - fprintf(stderr, "thread=%4d mode=%s lock=%s %s:%d\n", - CRYPTO_thread_id(), - (mode & CRYPTO_LOCK) ? "l" : "u", - (type & CRYPTO_READ) ? "r" : "w", file, line); + BIO_printf(bio_err, "thread=%4d mode=%s lock=%s %s:%d\n", + CRYPTO_thread_id(), + (mode & CRYPTO_LOCK) ? "l" : "u", + (type & CRYPTO_READ) ? "r" : "w", file, line); # endif if (mode & CRYPTO_LOCK) { lock_cs[type]->Lock(); @@ -1187,14 +1190,14 @@ void do_threads(SSL_CTX *s_ctx, SSL_CTX *c_ctx) resume_thread(thread_ctx[i]); } - printf("waiting...\n"); + BIO_printf(bio_stdout, "waiting...\n"); for (i = 0; i < thread_number; i++) { status_t result; wait_for_thread(thread_ctx[i], &result); } - printf("beos threads done (%d,%d)\n", - s_ctx->references, c_ctx->references); + BIO_printf(bio_stdout, "beos threads done (%d,%d)\n", + s_ctx->references, c_ctx->references); } unsigned long beos_thread_id(void) diff --git a/openssl/crypto/threads/pthread2.sh b/openssl/crypto/threads/pthread2.sh index 41264c6..ec945c4 100644 --- a/openssl/crypto/threads/pthread2.sh +++ b/openssl/crypto/threads/pthread2.sh @@ -3,5 +3,4 @@ # build using pthreads where it's already built into the system # /bin/rm -f mttest -gcc -DPTHREADS -I../../include -g mttest.c -o mttest -L../.. -lssl -lcrypto -lpthread - +gcc -DPTHREADS -I../../include -g mttest.c -o mttest -L../.. -lssl -lcrypto -lpthread -ldl diff --git a/openssl/crypto/x509/Makefile b/openssl/crypto/x509/Makefile index 01aa3bf..bf197a1 100644 --- a/openssl/crypto/x509/Makefile +++ b/openssl/crypto/x509/Makefile @@ -13,7 +13,7 @@ AR= ar r CFLAGS= $(INCLUDES) $(CFLAG) GENERAL=Makefile README -TEST= +TEST=verify_extra_test.c APPS= LIB=$(TOP)/libcrypto.a diff --git a/openssl/crypto/x509/verify_extra_test.c b/openssl/crypto/x509/verify_extra_test.c new file mode 100644 index 0000000..08509f0 --- /dev/null +++ b/openssl/crypto/x509/verify_extra_test.c @@ -0,0 +1,208 @@ +/* + * Written by Matt Caswell for the OpenSSL project. + */ +/* ==================================================================== + * Copyright (c) 1998-2015 The OpenSSL Project. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * 3. All advertising materials mentioning features or use of this + * software must display the following acknowledgment: + * "This product includes software developed by the OpenSSL Project + * for use in the OpenSSL Toolkit. (http://www.openssl.org/)" + * + * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to + * endorse or promote products derived from this software without + * prior written permission. For written permission, please contact + * openssl-core@openssl.org. + * + * 5. Products derived from this software may not be called "OpenSSL" + * nor may "OpenSSL" appear in their names without prior written + * permission of the OpenSSL Project. + * + * 6. Redistributions of any form whatsoever must retain the following + * acknowledgment: + * "This product includes software developed by the OpenSSL Project + * for use in the OpenSSL Toolkit (http://www.openssl.org/)" + * + * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY + * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR + * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, + * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED + * OF THE POSSIBILITY OF SUCH DAMAGE. + * ==================================================================== + * + * This product includes cryptographic software written by Eric Young + * (eay@cryptsoft.com). This product includes software written by Tim + * Hudson (tjh@cryptsoft.com). + * + */ + +#include <stdio.h> +#include <openssl/crypto.h> +#include <openssl/bio.h> +#include <openssl/x509.h> +#include <openssl/pem.h> +#include <openssl/err.h> + +static STACK_OF(X509) *load_certs_from_file(const char *filename) +{ + STACK_OF(X509) *certs; + BIO *bio; + X509 *x; + + bio = BIO_new_file(filename, "r"); + + if (bio == NULL) { + return NULL; + } + + certs = sk_X509_new_null(); + if (certs == NULL) { + BIO_free(bio); + return NULL; + } + + ERR_set_mark(); + do { + x = PEM_read_bio_X509(bio, NULL, 0, NULL); + if (x != NULL && !sk_X509_push(certs, x)) { + sk_X509_pop_free(certs, X509_free); + BIO_free(bio); + return NULL; + } else if (x == NULL) { + /* + * We probably just ran out of certs, so ignore any errors + * generated + */ + ERR_pop_to_mark(); + } + } while (x != NULL); + + BIO_free(bio); + + return certs; +} + +/* + * Test for CVE-2015-1793 (Alternate Chains Certificate Forgery) + * + * Chain is as follows: + * + * rootCA (self-signed) + * | + * interCA + * | + * subinterCA subinterCA (self-signed) + * | | + * leaf ------------------ + * | + * bad + * + * rootCA, interCA, subinterCA, subinterCA (ss) all have CA=TRUE + * leaf and bad have CA=FALSE + * + * subinterCA and subinterCA (ss) have the same subject name and keys + * + * interCA (but not rootCA) and subinterCA (ss) are in the trusted store + * (roots.pem) + * leaf and subinterCA are in the untrusted list (untrusted.pem) + * bad is the certificate being verified (bad.pem) + * + * Versions vulnerable to CVE-2015-1793 will fail to detect that leaf has + * CA=FALSE, and will therefore incorrectly verify bad + * + */ +static int test_alt_chains_cert_forgery(void) +{ + int ret = 0; + int i; + X509 *x = NULL; + STACK_OF(X509) *untrusted = NULL; + BIO *bio = NULL; + X509_STORE_CTX *sctx = NULL; + X509_STORE *store = NULL; + X509_LOOKUP *lookup = NULL; + + store = X509_STORE_new(); + if (store == NULL) + goto err; + + lookup = X509_STORE_add_lookup(store, X509_LOOKUP_file()); + if (lookup == NULL) + goto err; + if(!X509_LOOKUP_load_file(lookup, "certs/roots.pem", X509_FILETYPE_PEM)) + goto err; + + untrusted = load_certs_from_file("certs/untrusted.pem"); + + if ((bio = BIO_new_file("certs/bad.pem", "r")) == NULL) + goto err; + + if((x = PEM_read_bio_X509(bio, NULL, 0, NULL)) == NULL) + goto err; + + sctx = X509_STORE_CTX_new(); + if (sctx == NULL) + goto err; + + if (!X509_STORE_CTX_init(sctx, store, x, untrusted)) + goto err; + + i = X509_verify_cert(sctx); + + if(i == 0 && X509_STORE_CTX_get_error(sctx) == X509_V_ERR_INVALID_CA) { + /* This is the result we were expecting: Test passed */ + ret = 1; + } + err: + X509_STORE_CTX_free(sctx); + X509_free(x); + BIO_free(bio); + sk_X509_pop_free(untrusted, X509_free); + X509_STORE_free(store); + if (ret != 1) + ERR_print_errors_fp(stderr); + return ret; +} + +int main(void) +{ + CRYPTO_malloc_debug_init(); + CRYPTO_set_mem_debug_options(V_CRYPTO_MDEBUG_ALL); + CRYPTO_mem_ctrl(CRYPTO_MEM_CHECK_ON); + + ERR_load_crypto_strings(); + OpenSSL_add_all_digests(); + + if (!test_alt_chains_cert_forgery()) { + fprintf(stderr, "Test alt chains cert forgery failed\n"); + return 1; + } + + EVP_cleanup(); + CRYPTO_cleanup_all_ex_data(); + ERR_remove_thread_state(NULL); + ERR_free_strings(); + CRYPTO_mem_leaks_fp(stderr); + + printf("PASS\n"); + return 0; +} diff --git a/openssl/crypto/x509/x509_vfy.c b/openssl/crypto/x509/x509_vfy.c index 8ce41f9..a2f1dbe 100644 --- a/openssl/crypto/x509/x509_vfy.c +++ b/openssl/crypto/x509/x509_vfy.c @@ -198,6 +198,14 @@ int X509_verify_cert(X509_STORE_CTX *ctx) X509err(X509_F_X509_VERIFY_CERT, X509_R_NO_CERT_SET_FOR_US_TO_VERIFY); return -1; } + if (ctx->chain != NULL) { + /* + * This X509_STORE_CTX has already been used to verify a cert. We + * cannot do another one. + */ + X509err(X509_F_X509_VERIFY_CERT, ERR_R_SHOULD_NOT_HAVE_BEEN_CALLED); + return -1; + } cb = ctx->verify_cb; @@ -205,15 +213,13 @@ int X509_verify_cert(X509_STORE_CTX *ctx) * first we make sure the chain we are going to build is present and that * the first entry is in place */ - if (ctx->chain == NULL) { - if (((ctx->chain = sk_X509_new_null()) == NULL) || - (!sk_X509_push(ctx->chain, ctx->cert))) { - X509err(X509_F_X509_VERIFY_CERT, ERR_R_MALLOC_FAILURE); - goto end; - } - CRYPTO_add(&ctx->cert->references, 1, CRYPTO_LOCK_X509); - ctx->last_untrusted = 1; + if (((ctx->chain = sk_X509_new_null()) == NULL) || + (!sk_X509_push(ctx->chain, ctx->cert))) { + X509err(X509_F_X509_VERIFY_CERT, ERR_R_MALLOC_FAILURE); + goto end; } + CRYPTO_add(&ctx->cert->references, 1, CRYPTO_LOCK_X509); + ctx->last_untrusted = 1; /* We use a temporary STACK so we can chop and hack at it */ if (ctx->untrusted != NULL @@ -389,8 +395,8 @@ int X509_verify_cert(X509_STORE_CTX *ctx) xtmp = sk_X509_pop(ctx->chain); X509_free(xtmp); num--; - ctx->last_untrusted--; } + ctx->last_untrusted = sk_X509_num(ctx->chain); retry = 1; break; } diff --git a/openssl/doc/apps/verify.pod b/openssl/doc/apps/verify.pod index df1b86d..bffa6c0 100644 --- a/openssl/doc/apps/verify.pod +++ b/openssl/doc/apps/verify.pod @@ -15,6 +15,7 @@ B<openssl> B<verify> [B<-attime timestamp>] [B<-check_ss_sig>] [B<-crlfile file>] +[B<-crl_download>] [B<-crl_check>] [B<-crl_check_all>] [B<-policy_check>] @@ -29,6 +30,7 @@ B<openssl> B<verify> [B<-untrusted file>] [B<-help>] [B<-issuer_checks>] +[B<-trusted file>] [B<-verbose>] [B<->] [certificates] @@ -69,6 +71,10 @@ because it doesn't add any security. File containing one or more CRL's (in PEM format) to load. +=item B<-crl_download> + +Attempt to download CRL information for this certificate. + =item B<-crl_check> Checks end entity certificate validity by attempting to look up a valid CRL. @@ -133,6 +139,11 @@ be found that is trusted. With this option that behaviour is suppressed so that only the first chain found is ever used. Using this option will force the behaviour to match that of previous OpenSSL versions. +=item B<-trusted file> + +A file of additional trusted certificates. The file should contain multiple +certificates in PEM format concatenated together. + =item B<-policy_print> Print out diagnostics related to policy processing. diff --git a/openssl/doc/crypto/X509_NAME_get_index_by_NID.pod b/openssl/doc/crypto/X509_NAME_get_index_by_NID.pod index c8a8128..109f561 100644 --- a/openssl/doc/crypto/X509_NAME_get_index_by_NID.pod +++ b/openssl/doc/crypto/X509_NAME_get_index_by_NID.pod @@ -29,6 +29,7 @@ and issuer names. X509_NAME_get_index_by_NID() and X509_NAME_get_index_by_OBJ() retrieve the next index matching B<nid> or B<obj> after B<lastpos>. B<lastpos> should initially be set to -1. If there are no more entries -1 is returned. +If B<nid> is invalid (doesn't correspond to a valid OID) then -2 is returned. X509_NAME_entry_count() returns the total number of entries in B<name>. @@ -63,6 +64,10 @@ The list of all relevant B<NID_*> and B<OBJ_* codes> can be found in the source code header files E<lt>openssl/obj_mac.hE<gt> and/or E<lt>openssl/objects.hE<gt>. +Applications which could pass invalid NIDs to X509_NAME_get_index_by_NID() +should check for the return value of -2. Alternatively the NID validity +can be determined first by checking OBJ_nid2obj(nid) is not NULL. + =head1 EXAMPLES Process all entries: @@ -95,6 +100,8 @@ Process all commonName entries: X509_NAME_get_index_by_NID() and X509_NAME_get_index_by_OBJ() return the index of the next matching entry or -1 if not found. +X509_NAME_get_index_by_NID() can also return -2 if the supplied +NID is invalid. X509_NAME_entry_count() returns the total number of entries. diff --git a/openssl/doc/crypto/X509_STORE_CTX_new.pod b/openssl/doc/crypto/X509_STORE_CTX_new.pod index b17888f..eb38b0a 100644 --- a/openssl/doc/crypto/X509_STORE_CTX_new.pod +++ b/openssl/doc/crypto/X509_STORE_CTX_new.pod @@ -39,10 +39,15 @@ X509_STORE_CTX_free() completely frees up B<ctx>. After this call B<ctx> is no longer valid. X509_STORE_CTX_init() sets up B<ctx> for a subsequent verification operation. -The trusted certificate store is set to B<store>, the end entity certificate -to be verified is set to B<x509> and a set of additional certificates (which -will be untrusted but may be used to build the chain) in B<chain>. Any or -all of the B<store>, B<x509> and B<chain> parameters can be B<NULL>. +It must be called before each call to X509_verify_cert(), i.e. a B<ctx> is only +good for one call to X509_verify_cert(); if you want to verify a second +certificate with the same B<ctx> then you must call X509_XTORE_CTX_cleanup() +and then X509_STORE_CTX_init() again before the second call to +X509_verify_cert(). The trusted certificate store is set to B<store>, the end +entity certificate to be verified is set to B<x509> and a set of additional +certificates (which will be untrusted but may be used to build the chain) in +B<chain>. Any or all of the B<store>, B<x509> and B<chain> parameters can be +B<NULL>. X509_STORE_CTX_trusted_stack() sets the set of trusted certificates of B<ctx> to B<sk>. This is an alternative way of specifying trusted certificates diff --git a/openssl/doc/crypto/X509_verify_cert.pod b/openssl/doc/crypto/X509_verify_cert.pod index 5253bdc..a22e441 100644 --- a/openssl/doc/crypto/X509_verify_cert.pod +++ b/openssl/doc/crypto/X509_verify_cert.pod @@ -32,7 +32,8 @@ OpenSSL internally for certificate validation, in both the S/MIME and SSL/TLS code. The negative return value from X509_verify_cert() can only occur if no -certificate is set in B<ctx> (due to a programming error) or if a retry +certificate is set in B<ctx> (due to a programming error); if X509_verify_cert() +twice without reinitialising B<ctx> in between; or if a retry operation is requested during internal lookups (which never happens with standard lookup methods). It is however recommended that application check for <= 0 return value on error. diff --git a/openssl/doc/ssl/SSL_CTX_get0_param.pod b/openssl/doc/ssl/SSL_CTX_get0_param.pod new file mode 100644 index 0000000..332f181 --- /dev/null +++ b/openssl/doc/ssl/SSL_CTX_get0_param.pod @@ -0,0 +1,55 @@ +=pod + +=head1 NAME + +SSL_CTX_get0_param, SSL_get0_param, SSL_CTX_set1_param, SSL_set1_param - +get and set verification parameters + +=head1 SYNOPSIS + + #include <openssl/ssl.h> + + X509_VERIFY_PARAM *SSL_CTX_get0_param(SSL_CTX *ctx) + X509_VERIFY_PARAM *SSL_get0_param(SSL *ssl) + int SSL_CTX_set1_param(SSL_CTX *ctx, X509_VERIFY_PARAM *vpm) + int SSL_set1_param(SSL *ssl, X509_VERIFY_PARAM *vpm) + +=head1 DESCRIPTION + +SSL_CTX_get0_param() and SSL_get0_param() retrieve an internal pointer to +the verification parameters for B<ctx> or B<ssl> respectively. The returned +pointer must not be freed by the calling application. + +SSL_CTX_set1_param() and SSL_set1_param() set the verification parameters +to B<vpm> for B<ctx> or B<ssl>. + +=head1 NOTES + +Typically parameters are retrieved from an B<SSL_CTX> or B<SSL> structure +using SSL_CTX_get0_param() or SSL_get0_param() and an application modifies +them to suit its needs: for example to add a hostname check. + +=head1 EXAMPLE + +Check hostname matches "www.foo.com" in peer certificate: + + X509_VERIFY_PARAM *vpm = SSL_get0_param(ssl); + X509_VERIFY_PARAM_set1_host(vpm, "www.foo.com"); + +=head1 RETURN VALUES + +SSL_CTX_get0_param() and SSL_get0_param() return a pointer to an +B<X509_VERIFY_PARAM> structure. + +SSL_CTX_set1_param() and SSL_set1_param() return 1 for success and 0 +for failure. + +=head1 SEE ALSO + +L<X509_VERIFY_PARAM_set_flags(3)|X509_VERIFY_PARAM_set_flags(3)> + +=head1 HISTORY + +These functions were first added to OpenSSL 1.0.2. + +=cut diff --git a/openssl/doc/ssl/SSL_CTX_use_serverinfo.pod b/openssl/doc/ssl/SSL_CTX_use_serverinfo.pod index da7935c..318e052 100755 --- a/openssl/doc/ssl/SSL_CTX_use_serverinfo.pod +++ b/openssl/doc/ssl/SSL_CTX_use_serverinfo.pod @@ -2,7 +2,7 @@ =head1 NAME -SSL_CTX_use_serverinfo, SSL_CTX_use_serverinfo_file +SSL_CTX_use_serverinfo, SSL_CTX_use_serverinfo_file - use serverinfo extension =head1 SYNOPSIS diff --git a/openssl/openssl.spec b/openssl/openssl.spec index e6c7584..b721d65 100644 --- a/openssl/openssl.spec +++ b/openssl/openssl.spec @@ -6,7 +6,7 @@ Release: 1 Summary: Secure Sockets Layer and cryptography libraries and tools Name: openssl -Version: 1.0.2c +Version: 1.0.2d Source0: ftp://ftp.openssl.org/source/%{name}-%{version}.tar.gz License: OpenSSL Group: System Environment/Libraries diff --git a/openssl/ssl/s3_clnt.c b/openssl/ssl/s3_clnt.c index 2346ce5..6af145a 100644 --- a/openssl/ssl/s3_clnt.c +++ b/openssl/ssl/s3_clnt.c @@ -1456,8 +1456,6 @@ int ssl3_get_key_exchange(SSL *s) #ifndef OPENSSL_NO_PSK if (alg_k & SSL_kPSK) { - char tmp_id_hint[PSK_MAX_IDENTITY_LEN + 1]; - param_len = 2; if (param_len > n) { SSLerr(SSL_F_SSL3_GET_KEY_EXCHANGE, SSL_R_LENGTH_TOO_SHORT); @@ -1483,17 +1481,8 @@ int ssl3_get_key_exchange(SSL *s) } param_len += i; - /* - * If received PSK identity hint contains NULL characters, the hint - * is truncated from the first NULL. p may not be ending with NULL, - * so create a NULL-terminated string. - */ - memcpy(tmp_id_hint, p, i); - memset(tmp_id_hint + i, 0, PSK_MAX_IDENTITY_LEN + 1 - i); - if (s->ctx->psk_identity_hint != NULL) - OPENSSL_free(s->ctx->psk_identity_hint); - s->ctx->psk_identity_hint = BUF_strdup(tmp_id_hint); - if (s->ctx->psk_identity_hint == NULL) { + s->session->psk_identity_hint = BUF_strndup((char *)p, i); + if (s->session->psk_identity_hint == NULL) { al = SSL_AD_HANDSHAKE_FAILURE; SSLerr(SSL_F_SSL3_GET_KEY_EXCHANGE, ERR_R_MALLOC_FAILURE); goto f_err; @@ -3077,7 +3066,7 @@ int ssl3_send_client_key_exchange(SSL *s) } memset(identity, 0, sizeof(identity)); - psk_len = s->psk_client_callback(s, s->ctx->psk_identity_hint, + psk_len = s->psk_client_callback(s, s->session->psk_identity_hint, identity, sizeof(identity) - 1, psk_or_pre_ms, sizeof(psk_or_pre_ms)); diff --git a/openssl/ssl/s3_lib.c b/openssl/ssl/s3_lib.c index 5db349a..ad9eeb6 100644 --- a/openssl/ssl/s3_lib.c +++ b/openssl/ssl/s3_lib.c @@ -3084,7 +3084,7 @@ void ssl3_clear(SSL *s) } #if !defined(OPENSSL_NO_TLSEXT) if (s->s3->alpn_selected) { - free(s->s3->alpn_selected); + OPENSSL_free(s->s3->alpn_selected); s->s3->alpn_selected = NULL; } #endif diff --git a/openssl/ssl/s3_srvr.c b/openssl/ssl/s3_srvr.c index 8885694..acd3b9e 100644 --- a/openssl/ssl/s3_srvr.c +++ b/openssl/ssl/s3_srvr.c @@ -2780,7 +2780,7 @@ int ssl3_get_client_key_exchange(SSL *s) if (s->session->psk_identity != NULL) OPENSSL_free(s->session->psk_identity); - s->session->psk_identity = BUF_strdup((char *)p); + s->session->psk_identity = BUF_strndup((char *)p, i); if (s->session->psk_identity == NULL) { SSLerr(SSL_F_SSL3_GET_CLIENT_KEY_EXCHANGE, ERR_R_MALLOC_FAILURE); goto psk_err; diff --git a/openssl/test/Makefile b/openssl/test/Makefile index a570fad..e695073 100644 --- a/openssl/test/Makefile +++ b/openssl/test/Makefile @@ -68,6 +68,7 @@ V3NAMETEST= v3nametest ASN1TEST= asn1test HEARTBEATTEST= heartbeat_test CONSTTIMETEST= constant_time_test +VERIFYEXTRATEST= verify_extra_test TESTS= alltests @@ -80,7 +81,7 @@ EXE= $(BNTEST)$(EXE_EXT) $(ECTEST)$(EXE_EXT) $(ECDSATEST)$(EXE_EXT) $(ECDHTEST) $(BFTEST)$(EXE_EXT) $(CASTTEST)$(EXE_EXT) $(SSLTEST)$(EXE_EXT) $(EXPTEST)$(EXE_EXT) $(DSATEST)$(EXE_EXT) $(RSATEST)$(EXE_EXT) \ $(EVPTEST)$(EXE_EXT) $(EVPEXTRATEST)$(EXE_EXT) $(IGETEST)$(EXE_EXT) $(JPAKETEST)$(EXE_EXT) $(SRPTEST)$(EXE_EXT) \ $(ASN1TEST)$(EXE_EXT) $(V3NAMETEST)$(EXE_EXT) $(HEARTBEATTEST)$(EXE_EXT) \ - $(CONSTTIMETEST)$(EXE_EXT) + $(CONSTTIMETEST)$(EXE_EXT) $(VERIFYEXTRATEST)$(EXE_EXT) # $(METHTEST)$(EXE_EXT) @@ -93,7 +94,7 @@ OBJ= $(BNTEST).o $(ECTEST).o $(ECDSATEST).o $(ECDHTEST).o $(IDEATEST).o \ $(RANDTEST).o $(DHTEST).o $(ENGINETEST).o $(CASTTEST).o \ $(BFTEST).o $(SSLTEST).o $(DSATEST).o $(EXPTEST).o $(RSATEST).o \ $(EVPTEST).o $(EVPEXTRATEST).o $(IGETEST).o $(JPAKETEST).o $(ASN1TEST).o $(V3NAMETEST).o \ - $(HEARTBEATTEST).o $(CONSTTIMETEST).o + $(HEARTBEATTEST).o $(CONSTTIMETEST).o $(VERIFYEXTRATEST).o SRC= $(BNTEST).c $(ECTEST).c $(ECDSATEST).c $(ECDHTEST).c $(IDEATEST).c \ $(MD2TEST).c $(MD4TEST).c $(MD5TEST).c \ @@ -103,7 +104,7 @@ SRC= $(BNTEST).c $(ECTEST).c $(ECDSATEST).c $(ECDHTEST).c $(IDEATEST).c \ $(RANDTEST).c $(DHTEST).c $(ENGINETEST).c $(CASTTEST).c \ $(BFTEST).c $(SSLTEST).c $(DSATEST).c $(EXPTEST).c $(RSATEST).c \ $(EVPTEST).c $(EVPEXTRATEST).c $(IGETEST).c $(JPAKETEST).c $(SRPTEST).c $(ASN1TEST).c \ - $(V3NAMETEST).c $(HEARTBEATTEST).c $(CONSTTIMETEST).c + $(V3NAMETEST).c $(HEARTBEATTEST).c $(CONSTTIMETEST).c $(VERIFYEXTRATEST).c EXHEADER= HEADER= testutil.h $(EXHEADER) @@ -147,7 +148,7 @@ alltests: \ test_gen test_req test_pkcs7 test_verify test_dh test_dsa \ test_ss test_ca test_engine test_evp test_evp_extra test_ssl test_tsa test_ige \ test_jpake test_srp test_cms test_ocsp test_v3name test_heartbeat \ - test_constant_time + test_constant_time test_verify_extra test_evp: $(EVPTEST)$(EXE_EXT) evptests.txt ../util/shlib_wrap.sh ./$(EVPTEST) evptests.txt @@ -348,6 +349,10 @@ test_constant_time: $(CONSTTIMETEST)$(EXE_EXT) @echo "Test constant time utilites" ../util/shlib_wrap.sh ./$(CONSTTIMETEST) +test_verify_extra: $(VERIFYEXTRATEST)$(EXE_EXT) + @echo $(START) $@ + ../util/shlib_wrap.sh ./$(VERIFYEXTRATEST) + lint: lint -DLINT $(INCLUDES) $(SRC)>fluff @@ -519,6 +524,9 @@ $(HEARTBEATTEST)$(EXE_EXT): $(HEARTBEATTEST).o $(DLIBCRYPTO) $(CONSTTIMETEST)$(EXE_EXT): $(CONSTTIMETEST).o @target=$(CONSTTIMETEST) $(BUILD_CMD) +$(VERIFYEXTRATEST)$(EXE_EXT): $(VERIFYEXTRATEST).o + @target=$(VERIFYEXTRATEST) $(BUILD_CMD) + #$(AESTEST).o: $(AESTEST).c # $(CC) -c $(CFLAGS) -DINTERMEDIATE_VALUE_KAT -DTRACE_KAT_MCT $(AESTEST).c @@ -822,6 +830,21 @@ v3nametest.o: ../include/openssl/sha.h ../include/openssl/stack.h v3nametest.o: ../include/openssl/symhacks.h ../include/openssl/x509.h v3nametest.o: ../include/openssl/x509_vfy.h ../include/openssl/x509v3.h v3nametest.o: v3nametest.c +verify_extra_test.o: ../include/openssl/asn1.h ../include/openssl/bio.h +verify_extra_test.o: ../include/openssl/buffer.h ../include/openssl/crypto.h +verify_extra_test.o: ../include/openssl/e_os2.h ../include/openssl/ec.h +verify_extra_test.o: ../include/openssl/ecdh.h ../include/openssl/ecdsa.h +verify_extra_test.o: ../include/openssl/err.h ../include/openssl/evp.h +verify_extra_test.o: ../include/openssl/lhash.h ../include/openssl/obj_mac.h +verify_extra_test.o: ../include/openssl/objects.h +verify_extra_test.o: ../include/openssl/opensslconf.h +verify_extra_test.o: ../include/openssl/opensslv.h +verify_extra_test.o: ../include/openssl/ossl_typ.h ../include/openssl/pem.h +verify_extra_test.o: ../include/openssl/pem2.h ../include/openssl/pkcs7.h +verify_extra_test.o: ../include/openssl/safestack.h ../include/openssl/sha.h +verify_extra_test.o: ../include/openssl/stack.h ../include/openssl/symhacks.h +verify_extra_test.o: ../include/openssl/x509.h ../include/openssl/x509_vfy.h +verify_extra_test.o: verify_extra_test.c wp_test.o: ../include/openssl/crypto.h ../include/openssl/e_os2.h wp_test.o: ../include/openssl/opensslconf.h ../include/openssl/opensslv.h wp_test.o: ../include/openssl/ossl_typ.h ../include/openssl/safestack.h diff --git a/openssl/test/certs/bad.key b/openssl/test/certs/bad.key new file mode 100644 index 0000000..4708495 --- /dev/null +++ b/openssl/test/certs/bad.key @@ -0,0 +1,27 @@ +-----BEGIN RSA PRIVATE KEY----- +MIIEogIBAAKCAQEAwTqNko5vQiQ5BQohPJ3sySrjT6JedjsKtt1OZ8ndR2C1asUi +HgpVO8QDHKID88Qklx6UCieeKAwIY0VzqWzTyZWTwdqTU9t8arHHJu7IcFlmWsAL +fwTmARWJmpY+K8fGnQx1Kxfi6nQJ8Whq4bcAqJ2HXzG69Wjs3Ki70ScNbQ9RUwXJ +n/FeNrsphKAv5K22zBqjWAQdYMg6vtKZAXCET8jw6OkPVnUb/QvyoBEijWt0+HBh +7wLkSUvMj/7fc88+xtvGqZPyG2Py4DdWW1stpgiZ3TTohEk84t1u5L3qQaRQmVE6 +y5RMImyVY8hegC4zc6aGZDFRv8MR+gk6prcuUwIDAQABAoIBAEkz4YZwJ34rMt7R +452PRrE/ajY1EQxBeeGlHZr8QrRT0ubMIAy5ZWjq7TLfvhePaz1E/FiMgcIyLMtO ++G5rKCDqZbu/DqlqMUxKZWQ+efj2JWyj7LcGKAypGCRUXuE/IeNFYO4ecnzX0Rx/ +rl4scjdu1mYd9PIb+f/ufJjT7qYtykmwlb0MbEJ25yjTC4iHzacvFLJgdXrPp8b9 +ZGlVBKyuk9ZrZDC8/a4QrKt7Hp2SqqO4WqaTgM1G+cQFYuVBmj74bQhJHMmQ+Opr +5KXwBKEHMtJkq1GPVZ34W90V82d+8MJAxymuPomwRXKl1dKgnvny+0eobXkiBDcF +XCBCmIECgYEA8c/fE7Sa1vLZriw0Meq+TxU5hru4YM6OmQ+idc6diCp2U9lW+KJr +YrIRTZFcmhEGmRjAEZrdK0oFY7h5RhsZ+gTftmNZuL8WJCK9+y2DE9dB++md3oVC +PK0d4SmQKsivOTTeiK/VYFGoLc8t8Ud/anu2Q1kFdC+7cH/TrRseV4MCgYEAzJDw +MTil055rYlrAAH8ePEuONomu2MoZRRCX/tWuVvz+eIzA35mryW3OR45l5qNluQoZ +AdpVE68kBak2wIrF2oyWcF1s8VzSbAJCoqK42lKiSGVDVnr6jb69WUujCkYUZIwR +Q20QYBUUQu0JiFBU22tRgILIAK+rRah37EP4RPECgYBN3hKH1fDGpw1R+QoVyPHf +pYYQzQJiqiFhSJeYOCCiaIoSFjrbdfH+pjjMMbMQKctmIYI4KRZvijaSFiV3XeLP +kCI6KWQLCf2nRUjISa+cBAVLib88mMzrnROyHiA+psFGOrAuc/DSQ3lUxxKUT+HH ++G6I4XHQKE7Du2X+qGzs4QKBgBZyJNjRxWhF7rR5Dq4/RHsLM0yKqPPCoSkx2+ur +WJjU47sofpVKUE4mzUaOumGnNicqk3nfkgw54HL6kTZpQ7JqUKt9pNGLBM+zI8qi +njPec04MRmo7zjg1YKNmqDodXGl38QD7+5r/VRzO04fwgI8e5G98aiOhIuLezGHR +R3GRAoGAAyhwtKoC87fSGrpyZQ16UAYuqNy0fVAQtrDgRgP5Nu4esr9QxS/hWjcR +8s2P82wsR4gZna6l6vSz4awGVG4PGKnVjteAtZxok3nBHxPmRke5o7IpdObPjpQP +RJNZYbJ9G/PbYDhciEoTjVyig6Ol5BRe9stSbO7+JIxEYr7VSpA= +-----END RSA PRIVATE KEY----- diff --git a/openssl/test/certs/bad.pem b/openssl/test/certs/bad.pem new file mode 100644 index 0000000..8769231 --- /dev/null +++ b/openssl/test/certs/bad.pem @@ -0,0 +1,21 @@ +-----BEGIN CERTIFICATE----- +MIIDdzCCAl+gAwIBAgIJAJgwOOciuxjSMA0GCSqGSIb3DQEBCwUAMFQxCzAJBgNV +BAYTAkFVMRMwEQYDVQQIEwpTb21lLVN0YXRlMSEwHwYDVQQKExhJbnRlcm5ldCBX +aWRnaXRzIFB0eSBMdGQxDTALBgNVBAMTBGxlYWYwHhcNMTUwNzAyMTMyMDQ2WhcN +MzUwNzAyMTMyMDQ2WjBTMQswCQYDVQQGEwJBVTETMBEGA1UECBMKU29tZS1TdGF0 +ZTEhMB8GA1UEChMYSW50ZXJuZXQgV2lkZ2l0cyBQdHkgTHRkMQwwCgYDVQQDEwNi +YWQwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDBOo2Sjm9CJDkFCiE8 +nezJKuNPol52Owq23U5nyd1HYLVqxSIeClU7xAMcogPzxCSXHpQKJ54oDAhjRXOp +bNPJlZPB2pNT23xqsccm7shwWWZawAt/BOYBFYmalj4rx8adDHUrF+LqdAnxaGrh +twConYdfMbr1aOzcqLvRJw1tD1FTBcmf8V42uymEoC/krbbMGqNYBB1gyDq+0pkB +cIRPyPDo6Q9WdRv9C/KgESKNa3T4cGHvAuRJS8yP/t9zzz7G28apk/IbY/LgN1Zb +Wy2mCJndNOiESTzi3W7kvepBpFCZUTrLlEwibJVjyF6ALjNzpoZkMVG/wxH6CTqm +ty5TAgMBAAGjTTBLMAkGA1UdEwQCMAAwHQYDVR0OBBYEFJoH29IULbskIG8BwYp4 +9yD+q7wbMB8GA1UdIwQYMBaAFBwdxP7xJUYhGU31hO4z2uXPtRl/MA0GCSqGSIb3 +DQEBCwUAA4IBAQBl0tHkWMBHW6r3ywBlWWFdok04xlt2QD8eA4ywwz97t/8JgLht +OpuHO1bQtrZR6bxAgYT1+yHQnYBTfjKxFq+S9EP6nxBe94mEgizLmMv9pf7x5q+H +pfT8ejcY54E/oXlFXSbLDE1BDpfgkWll2/TIsTRJNoM2n8mytEdPqzRburwWnoFR +VchcfO968asdc9/8glSLJSNO+Wh9vQlbtcPzfbd4ZVE5E/P6drQzSwNjWvHQdswJ +ujkY1zkTP2rtVBGN4OyOfkE6enVKpt5lN6AqjEMhJ5i/yFM/jDndTrgd/JkAvyUJ +O2ELtifCd8DeSYNA9Qm8/MEUYq1xXQrGJHCE +-----END CERTIFICATE----- diff --git a/openssl/test/certs/interCA.key b/openssl/test/certs/interCA.key new file mode 100644 index 0000000..c32fe26 --- /dev/null +++ b/openssl/test/certs/interCA.key @@ -0,0 +1,27 @@ +-----BEGIN RSA PRIVATE KEY----- +MIIEowIBAAKCAQEAu7NHo76UDp738A/nuEfvVkKL7a7Kjk8PJIYkRKouSZZgBW6Q +xBWptfJ6UZLeoDnBjJ47hc7s+ohLkJnnsodAalgMKTIFjDLXhMyzgGqpBJf/ydvl +oEWwP/KZsB32z1v3fn926euBaA9YUAHpwc15i8VaIREPQQPsRA0ZC/3AN2PpPztQ +vTkYUkKyTbAfWhN8ymxR3fZjph+GjUrBfDp90qpUVTgkIp3uXOgAkndB1BI2MvWj +m6mOO8kjVC281auculTozLNFvthv16q3FZMc3/W1aslQa6wCa529+f8v4itM1oCQ +T/h14cK+ZjE7zbhIqwXlWLs/uoVHq1G7iYa9BQIDAQABAoIBABa8FldNBB3pP1rC +cmytud2W3eACJeKqzMi9vrLachTTs/m0dLBrd0zke9BZm8GIfVsM52TDtYx66bww +CBJls3WuCHsM5gMfPV+Gc8+AG8zEpGTMz7lj938nYVolpvliyE14Hu0ia2AxS58V +PD0PKEO3ubz7lf9n/DwZ4gjDyX5r1Cq+thwPlIf4PbEcGHk5SYxNm2DGR0DNL676 +X7CrRu3JBa2mY+moTV/pMrjvwAInmSxs4RBO7ggdYEief/4cBYyzMdiQ1v0UxvdO +674dBJJFG32akPrnPqza7U41ivoDPlgCpKWHDaZadI0Joozd2pw0Mq0a8cyig0BJ +Wa3d9xkCgYEA9T3j8F52u+QMaMzV1VENUAwo0Sqhk8xU0r/4l5PsvCjOuJ7NZkkW +EQnNOI++zaPCeBRV55X0A5E8Pi3uEdKt6m+wsncJzGEVNRwixfd0Ul7Itntq7u9L +/DHTlwpQ4t4PLNu8/uSBDN9A2slY2WsoXkJsdYPgjkrS2rYkt5bHFN8CgYEAw+8w +Qw/zTCBmerzYLJSsjz9rcD2hTtDw72UF1rvEg4QP/9v0I/OU7Lu0ds0KmKJcJfay +ZDMeBT8tW6LFztqdFi24tKISfodfYdET32lNd4QnMtWhoqXXXNiJY5gQC16YmSJm +R7Dgw9hBrr0323/lhhwDDysq1lgD9QbUVEacJpsCgYAoau/TIK5u3vHQn9mqE3af +N7HObzk785QTO8JLsPx2Mj+Hm9x8PBVf736cEMzAdXnKcoeJ6GPT5q7IDKfM1i0F +kyzK7OV3gpSNMTrl55eLL8XilUqVYGjkgo29udyE11Ym7XwjgiNmrLCynjZ/drKr +fkUDxR1QNjK0CwrYGwhqfwKBgQDAYGn3foK4nRthqWdrJjLjlzZLBwgJldbqhjsc +YlIJezImWnU0k2YGpioDd0DPKqLlV3pCLXptVmGXlpM3jags7YlsObGE8C+zoBAu +DHtWPLgsDltckg6Jh8YltlkSgLe9q2vXOhEF2aBsDDb62nGmonxSeWTe/Z4tB56U +fJu2vwKBgFnGbZIcH8sDR7Vwh0sjSKnFkZ1v0T4qsBKpDz9yCvZVIgIFXPkKnALT ++OEpQTuLVN/MZxVlc8qo8UFflJprDsK1/Rm3iPaw+lwErswgddNUKNLnLPjlxcEe +nTinsfyf4i48+IW55UFVU118nyufNeDdasoU6SSBH/MdeNq4hrTa +-----END RSA PRIVATE KEY----- diff --git a/openssl/test/certs/interCA.pem b/openssl/test/certs/interCA.pem new file mode 100644 index 0000000..35568ab --- /dev/null +++ b/openssl/test/certs/interCA.pem @@ -0,0 +1,21 @@ +-----BEGIN CERTIFICATE----- +MIIDgDCCAmigAwIBAgIJANnoWlLlEsTgMA0GCSqGSIb3DQEBCwUAMFYxCzAJBgNV +BAYTAkFVMRMwEQYDVQQIDApTb21lLVN0YXRlMSEwHwYDVQQKDBhJbnRlcm5ldCBX +aWRnaXRzIFB0eSBMdGQxDzANBgNVBAMMBnJvb3RDQTAeFw0xNTA3MDIxMzE3MDVa +Fw0zNTA3MDIxMzE3MDVaMFcxCzAJBgNVBAYTAkFVMRMwEQYDVQQIEwpTb21lLVN0 +YXRlMSEwHwYDVQQKExhJbnRlcm5ldCBXaWRnaXRzIFB0eSBMdGQxEDAOBgNVBAMT +B2ludGVyQ0EwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC7s0ejvpQO +nvfwD+e4R+9WQovtrsqOTw8khiREqi5JlmAFbpDEFam18npRkt6gOcGMnjuFzuz6 +iEuQmeeyh0BqWAwpMgWMMteEzLOAaqkEl//J2+WgRbA/8pmwHfbPW/d+f3bp64Fo +D1hQAenBzXmLxVohEQ9BA+xEDRkL/cA3Y+k/O1C9ORhSQrJNsB9aE3zKbFHd9mOm +H4aNSsF8On3SqlRVOCQine5c6ACSd0HUEjYy9aObqY47ySNULbzVq5y6VOjMs0W+ +2G/XqrcVkxzf9bVqyVBrrAJrnb35/y/iK0zWgJBP+HXhwr5mMTvNuEirBeVYuz+6 +hUerUbuJhr0FAgMBAAGjUDBOMAwGA1UdEwQFMAMBAf8wHQYDVR0OBBYEFBj61iO5 +j11dE30+j6iRx9lhwBcuMB8GA1UdIwQYMBaAFIVWiTXinwAa4YYDC0uvdhJrM239 +MA0GCSqGSIb3DQEBCwUAA4IBAQDAU0MvL/yZpmibhxUsoSsa97UJbejn5IbxpPzZ +4WHw8lsoUGs12ZHzQJ9LxkZVeuccFXy9yFEHW56GTlkBmD2qrddlmQCfQ3m8jtZ9 +Hh5feKAyrqfmfsWF5QPjAmdj/MFdq+yMJVosDftkmUmaBHjzbvbcq1sWh/6drH8U +7pdYRpfeEY8dHSU6FHwVN/H8VaBB7vYYc2wXwtk8On7z2ocIVHn9RPkcLwmwJjb/ +e4jmcYiyZev22KXQudeHc4w6crWiEFkVspomn5PqDmza3rkdB3baXFVZ6sd23ufU +wjkiKKtwRBwU+5tCCagQZoeQ5dZXQThkiH2XEIOCOLxyD/tb +-----END CERTIFICATE----- diff --git a/openssl/test/certs/leaf.key b/openssl/test/certs/leaf.key new file mode 100644 index 0000000..a1b1721 --- /dev/null +++ b/openssl/test/certs/leaf.key @@ -0,0 +1,27 @@ +-----BEGIN RSA PRIVATE KEY----- +MIIEpAIBAAKCAQEAv0Qo9WC/BKA70LtQJdwVGSXqr9dut3cQmiFzTb/SaWldjOT1 +sRNDFxSzdTJjU/8cIDEZvaTIwRxP/dtVQLjc+4jzrUwz93NuZYlsEWUEUg4Lrnfs +0Nz50yHk4rJhVxWjb8Ii/wRBViWHFExP7CwTkXiTclC1bCqTuWkjxF3thTfTsttR +yY7qNkz2JpNx0guD8v4otQoYjA5AEZvK4IXLwOwxol5xBTMvIrvvff2kkh+c7OC2 +QVbUTow/oppjqIKCx2maNHCtLFTJELf3fwtRJLJsy4fKGP0/6kpZc8Sp88WK4B4F +auF9IV1CmoAJUC1vJxhagHIKfVtFjUWs8GPobQIDAQABAoIBAB1fCiskQDElqgnT +uesWcOb7u55lJstlrVb97Ab0fgtR8tvADTq0Colw1F4a7sXnVxpab+l/dJSzFFWX +aPAXc1ftH/5sxU4qm7lb8Qx6xr8TCRgxslwgkvypJ8zoN6p32DFBTr56mM3x1Vx4 +m41Y92hPa9USL8n8f9LpImT1R5Q9ShI/RUCowPyzhC6OGkFSBJu72nyA3WK0znXn +q5TNsTRdJLOug7eoJJvhOPfy3neNQV0f2jQ+2wDKCYvn6i4j9FSLgYC/vorqofEd +vFBHxl374117F6DXdBChyD4CD5vsplB0zcExRUCT5+iBqf5uc8CbLHeyNk6vSaf5 +BljHWsECgYEA93QnlKsVycgCQqHt2q8EIZ5p7ksGYRVfBEzgetsNdpxvSwrLyLQE +L5AKG3upndOofCeJnLuQF1j954FjCs5Y+8Sy2H1D1EPrHSBp4ig2F5aOxT3vYROd +v+/mF4ZUzlIlv3jNDz5IoLaxm9vhXTtLLUtQyTueGDmqwlht0Kr3/gcCgYEAxd86 +Q23jT4DmJqUl+g0lWdc2dgej0jwFfJ2BEw/Q55vHjqj96oAX5QQZFOUhZU8Otd/D +lLzlsFn0pOaSW/RB4l5Kv8ab+ZpxfAV6Gq47nlfzmEGGx4wcoL0xkHufiXg0sqaG +UtEMSKFhxPQZhWojUimK/+YIF69molxA6G9miOsCgYEA8mICSytxwh55qE74rtXz +1AJZfKJcc0f9tDahQ3XBsEb29Kh0h/lciEIsxFLTB9dFF6easb0/HL98pQElxHXu +z14SWOAKSqbka7lOPcppgZ1l52oNSiduw4z28mAQPbBVbUGkiqPVfCa3vhUYoLvt +nUZCsXoGF3CVBJydpGFzXI0CgYEAtt3Jg72PoM8YZEimI0R462F4xHXlEYtE6tjJ +C+vG/fU65P4Kw+ijrJQv9d6YEX+RscXdg51bjLJl5OvuAStopCLOZBPR3Ei+bobF +RNkW4gyYZHLSc6JqZqbSopuNYkeENEKvyuPFvW3f5FxPJbxkbi9UdZCKlBEXAh/O +IMGregcCgYBC8bS7zk6KNDy8q2uC/m/g6LRMxpb8G4jsrcLoyuJs3zDckBjQuLJQ +IOMXcQBWN1h+DKekF2ecr3fJAJyEv4pU4Ct2r/ZTYFMdJTyAbjw0mqOjUR4nsdOh +t/vCbt0QW3HXYTcVdCnFqBtelKnI12KoC0jAO9EAJGZ6kE/NwG6dQg== +-----END RSA PRIVATE KEY----- diff --git a/openssl/test/certs/leaf.pem b/openssl/test/certs/leaf.pem new file mode 100644 index 0000000..bb94d12 --- /dev/null +++ b/openssl/test/certs/leaf.pem @@ -0,0 +1,21 @@ +-----BEGIN CERTIFICATE----- +MIIDfjCCAmagAwIBAgIJAKRNsDKacUqNMA0GCSqGSIb3DQEBCwUAMFoxCzAJBgNV +BAYTAkFVMRMwEQYDVQQIEwpTb21lLVN0YXRlMSEwHwYDVQQKExhJbnRlcm5ldCBX +aWRnaXRzIFB0eSBMdGQxEzARBgNVBAMTCnN1YmludGVyQ0EwHhcNMTUwNzAyMTMx +OTQ5WhcNMzUwNzAyMTMxOTQ5WjBUMQswCQYDVQQGEwJBVTETMBEGA1UECBMKU29t +ZS1TdGF0ZTEhMB8GA1UEChMYSW50ZXJuZXQgV2lkZ2l0cyBQdHkgTHRkMQ0wCwYD +VQQDEwRsZWFmMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAv0Qo9WC/ +BKA70LtQJdwVGSXqr9dut3cQmiFzTb/SaWldjOT1sRNDFxSzdTJjU/8cIDEZvaTI +wRxP/dtVQLjc+4jzrUwz93NuZYlsEWUEUg4Lrnfs0Nz50yHk4rJhVxWjb8Ii/wRB +ViWHFExP7CwTkXiTclC1bCqTuWkjxF3thTfTsttRyY7qNkz2JpNx0guD8v4otQoY +jA5AEZvK4IXLwOwxol5xBTMvIrvvff2kkh+c7OC2QVbUTow/oppjqIKCx2maNHCt +LFTJELf3fwtRJLJsy4fKGP0/6kpZc8Sp88WK4B4FauF9IV1CmoAJUC1vJxhagHIK +fVtFjUWs8GPobQIDAQABo00wSzAJBgNVHRMEAjAAMB0GA1UdDgQWBBQcHcT+8SVG +IRlN9YTuM9rlz7UZfzAfBgNVHSMEGDAWgBTpZ30QdMGarrhMPwk+HHAV3R8aTzAN +BgkqhkiG9w0BAQsFAAOCAQEAGjmSkF8is+v0/RLcnSRiCXENz+yNi4pFCAt6dOtT +6Gtpqa1tY5It9lVppfWb26JrygMIzOr/fB0r1Q7FtZ/7Ft3P6IXVdk3GDO0QsORD +2dRAejhYpc5c7joHxAw9oRfKrEqE+ihVPUTcfcIuBaalvuhkpQRmKP71ws5DVzOw +QhnMd0TtIrbKHaNQ4kNsmSY5fQolwB0LtNfTus7OEFdcZWhOXrWImKXN9jewPKdV +mSG34NfXOnA6qx0eQg06z+TkdrptH6j1Va2vS1/bL+h1GxjpTHlvTGaZYxaloIjw +y/EzY5jygRoABnR3eBm15CYZwwKL9izIq1H3OhymEi/Ycg== +-----END CERTIFICATE----- diff --git a/openssl/test/certs/rootCA.key b/openssl/test/certs/rootCA.key new file mode 100644 index 0000000..527f3ad --- /dev/null +++ b/openssl/test/certs/rootCA.key @@ -0,0 +1,27 @@ +-----BEGIN RSA PRIVATE KEY----- +MIIEpAIBAAKCAQEAwPFrd4isNd/7c1MvkoAvdBYyTfUQIG9sOo7R3GvhLj7DBA+/ +m8TJEtHkC0WX5QbNZjrh4OIr36LE7HvTPTyK/150oKunA2oWW16SxH5beYpp1LyD +Xq5CknSlK+cAwanc1bFTBw9z946tFD4lnuUe5syRzZUMgEQgw/0Xz5E9YxAcFFv7 +w6jBiLJ3/5zb/GpERET3hewILNTfgaN5yf4em5MWU7eXq75PGqXi+kYF5A2cKqTM +uR4hoGzEq1mwQDm7+Yit/d+NtAuvfkHgITzIM0VJhC+TBu79T+1P87yb3vwlXlXV +ddTFezpANQafxIS0bJMMrzdar7ZBTSYjHLgCswIDAQABAoIBAC1EdwJEfqLlOgmE +qtSkXn3N919y76Wsfqf+eh5M8Tf4YajCSSIyuTpBJE/AtDJ3thkWF4i7h6+gcLNL +GfR0D+h6MMLBgx259iTZu3V+b9fEMbBHykqcd+IEm/wA5pyJTdaVE/XEGmEqiFEH +g6wT9XwQ4uRo49X0JfvVlZCNcumapYfPY+BwPQloydm/cLtgUtc1RKUCG7i27aHM +VaUm+NdYZIwwCQs0Aof/h7PkEWvHq0idaxY9qkLbbZHb1Np/IkmvqCo/PSS1whDj +/KIQGJDBGuXX/V+cZ+DYkCXAq1fCto9MjarEVmlLW5Hr5QojdbpvwsxSmrGfCqdH +bfc/9gECgYEA6y6EcYBuvCibmO4G2OA1sNSe5lJF911xUHuUl3CRORdeVFDi9Ch+ +LKzE+XEOlvA+qFSIA/KztevX3dvmvvBMwu0PUWDtBKJZ1mXt4Mgo63MHpYnKIzWz +YuDaMKpvbl3iTFJlKPUkPlv+/uDccd0QYYvk4gbBrWVQDghV3ya9LqMCgYEA0gW6 +Cu5yRWodehCh0z8VtFfOGDkhZEav6B5mZvyDCk5f+zVeRlsTJwY4BsgnoMUJ+SjQ +iQwQX3FbWrwcyYPOIA+ja6Hisgb9p/f+hxsQOOhN9nFsk2MNIHkwrMRcE8pj7pc1 +uBoYqpdX8blEs8wkJI+bTI3/SIZw6vjbogSqbLECgYEAhXuQho9byoXN0p3+2ude +8e+sBJPbzEuH/iM2MkIc2ueNjZOfTO8Sti6VWfK2UisnlQjtbjg5kd67Vdvy+pqP +Ju/ACvNVc5TmIo8V1cglmYVfaLBtP1DCcTOoA4ko196Hi8QUUIvat14lu+pKlIHh +Q0xQa41kLhNbvaszegWVyLsCgYEAxhuGySbw/U9CbNDhhL1eANZOXoUNXWRcK6z5 +VS3dgcw6N2C5A86G+2mfUa5dywXyCWgZhRyvGQh5btZApUlCFvYJZc63Ysy7WkTQ +f6rkm3ltiQimrURirn4CjwVOAZEIwJc7oeRj3g6Scz4acysd8KrRh93trwC55LtH +mcWi6JECgYAlqCQvaAnvaWpR0RX7m/UMpqWOVgIperGR7hrN3d04RaWG4yv1+66T +xANNBA8aDxhFwXjAKev4iOE/rp8SEjYXh3lbKmx+p9dk8REUdIFqoClX9tqctW9g +AkDF34S0mSE4T34zhs2+InfohJa6ojsuiNJSQMBPBxfr6wV2C+UWMQ== +-----END RSA PRIVATE KEY----- diff --git a/openssl/test/certs/rootCA.pem b/openssl/test/certs/rootCA.pem new file mode 100644 index 0000000..ef73d00 --- /dev/null +++ b/openssl/test/certs/rootCA.pem @@ -0,0 +1,21 @@ +-----BEGIN CERTIFICATE----- +MIIDfzCCAmegAwIBAgIJAIhDKcvC6xWaMA0GCSqGSIb3DQEBCwUAMFYxCzAJBgNV +BAYTAkFVMRMwEQYDVQQIDApTb21lLVN0YXRlMSEwHwYDVQQKDBhJbnRlcm5ldCBX +aWRnaXRzIFB0eSBMdGQxDzANBgNVBAMMBnJvb3RDQTAeFw0xNTA3MDIxMzE1MTFa +Fw0zNTA3MDIxMzE1MTFaMFYxCzAJBgNVBAYTAkFVMRMwEQYDVQQIDApTb21lLVN0 +YXRlMSEwHwYDVQQKDBhJbnRlcm5ldCBXaWRnaXRzIFB0eSBMdGQxDzANBgNVBAMM +BnJvb3RDQTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMDxa3eIrDXf ++3NTL5KAL3QWMk31ECBvbDqO0dxr4S4+wwQPv5vEyRLR5AtFl+UGzWY64eDiK9+i +xOx70z08iv9edKCrpwNqFlteksR+W3mKadS8g16uQpJ0pSvnAMGp3NWxUwcPc/eO +rRQ+JZ7lHubMkc2VDIBEIMP9F8+RPWMQHBRb+8OowYiyd/+c2/xqRERE94XsCCzU +34Gjecn+HpuTFlO3l6u+Txql4vpGBeQNnCqkzLkeIaBsxKtZsEA5u/mIrf3fjbQL +r35B4CE8yDNFSYQvkwbu/U/tT/O8m978JV5V1XXUxXs6QDUGn8SEtGyTDK83Wq+2 +QU0mIxy4ArMCAwEAAaNQME4wDAYDVR0TBAUwAwEB/zAdBgNVHQ4EFgQUhVaJNeKf +ABrhhgMLS692Emszbf0wHwYDVR0jBBgwFoAUhVaJNeKfABrhhgMLS692Emszbf0w +DQYJKoZIhvcNAQELBQADggEBADIKvyoK4rtPQ86I2lo5EDeAuzctXi2I3SZpnOe0 +mCCxJeZhWW0S7JuHvlfhEgXFBPEXzhS4HJLUlZUsWyiJ+3KcINMygaiF7MgIe6hZ +WzpsMatS4mbNFElc89M+YryRFrQc9d1Uqjxhl3ms5MhDNcMP/PNwHa/wnIoqkpNI +qtDoR741wcZ7bdr6XVdF8+pBjzbBPPRSf24x3bqavHBWcTjcSVcM/ZEXxeqH5SN0 +GbK2mQxrogX4UWjtl+DfYvl+ejpEcYNXKEmIabUUHtpG42544cuPtZizLW5bt/aT +JBQfpPZpvf9MUlACxUONFOLQdZ8SXpSJ0e93iX2J2Z52mSQ= +-----END CERTIFICATE----- diff --git a/openssl/test/certs/roots.pem b/openssl/test/certs/roots.pem new file mode 100644 index 0000000..0bc6912 --- /dev/null +++ b/openssl/test/certs/roots.pem @@ -0,0 +1,42 @@ +-----BEGIN CERTIFICATE----- +MIIDgDCCAmigAwIBAgIJANnoWlLlEsTgMA0GCSqGSIb3DQEBCwUAMFYxCzAJBgNV +BAYTAkFVMRMwEQYDVQQIDApTb21lLVN0YXRlMSEwHwYDVQQKDBhJbnRlcm5ldCBX +aWRnaXRzIFB0eSBMdGQxDzANBgNVBAMMBnJvb3RDQTAeFw0xNTA3MDIxMzE3MDVa +Fw0zNTA3MDIxMzE3MDVaMFcxCzAJBgNVBAYTAkFVMRMwEQYDVQQIEwpTb21lLVN0 +YXRlMSEwHwYDVQQKExhJbnRlcm5ldCBXaWRnaXRzIFB0eSBMdGQxEDAOBgNVBAMT +B2ludGVyQ0EwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC7s0ejvpQO +nvfwD+e4R+9WQovtrsqOTw8khiREqi5JlmAFbpDEFam18npRkt6gOcGMnjuFzuz6 +iEuQmeeyh0BqWAwpMgWMMteEzLOAaqkEl//J2+WgRbA/8pmwHfbPW/d+f3bp64Fo +D1hQAenBzXmLxVohEQ9BA+xEDRkL/cA3Y+k/O1C9ORhSQrJNsB9aE3zKbFHd9mOm +H4aNSsF8On3SqlRVOCQine5c6ACSd0HUEjYy9aObqY47ySNULbzVq5y6VOjMs0W+ +2G/XqrcVkxzf9bVqyVBrrAJrnb35/y/iK0zWgJBP+HXhwr5mMTvNuEirBeVYuz+6 +hUerUbuJhr0FAgMBAAGjUDBOMAwGA1UdEwQFMAMBAf8wHQYDVR0OBBYEFBj61iO5 +j11dE30+j6iRx9lhwBcuMB8GA1UdIwQYMBaAFIVWiTXinwAa4YYDC0uvdhJrM239 +MA0GCSqGSIb3DQEBCwUAA4IBAQDAU0MvL/yZpmibhxUsoSsa97UJbejn5IbxpPzZ +4WHw8lsoUGs12ZHzQJ9LxkZVeuccFXy9yFEHW56GTlkBmD2qrddlmQCfQ3m8jtZ9 +Hh5feKAyrqfmfsWF5QPjAmdj/MFdq+yMJVosDftkmUmaBHjzbvbcq1sWh/6drH8U +7pdYRpfeEY8dHSU6FHwVN/H8VaBB7vYYc2wXwtk8On7z2ocIVHn9RPkcLwmwJjb/ +e4jmcYiyZev22KXQudeHc4w6crWiEFkVspomn5PqDmza3rkdB3baXFVZ6sd23ufU +wjkiKKtwRBwU+5tCCagQZoeQ5dZXQThkiH2XEIOCOLxyD/tb +-----END CERTIFICATE----- +-----BEGIN CERTIFICATE----- +MIIDhzCCAm+gAwIBAgIJAJTed6XmFiu/MA0GCSqGSIb3DQEBCwUAMFoxCzAJBgNV +BAYTAkFVMRMwEQYDVQQIDApTb21lLVN0YXRlMSEwHwYDVQQKDBhJbnRlcm5ldCBX +aWRnaXRzIFB0eSBMdGQxEzARBgNVBAMMCnN1YmludGVyQ0EwHhcNMTUwNzAyMTMy +MTU4WhcNMzUwNzAyMTMyMTU4WjBaMQswCQYDVQQGEwJBVTETMBEGA1UECAwKU29t +ZS1TdGF0ZTEhMB8GA1UECgwYSW50ZXJuZXQgV2lkZ2l0cyBQdHkgTHRkMRMwEQYD +VQQDDApzdWJpbnRlckNBMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA +/zQjvhbU7RWDsRaEkVUBZWR/PqZ49GoE9p3OyRN4pkt1c1yb2ARVkYZP5e9gHb04 +wPVz2+FYy+2mNkl+uAZbcK5w5fWO3WJIEn57he4MkWu3ew1nJeSv3na8gyOoCheG +64kWVbA2YL92mR7QoSCo4SP7RmykLrwj6TlDxqgH6DxKSD/CpdCHE3DKAzAiri3G +Vc90OJAszYHlje4/maVIOayGROVET3xa5cbtRJl8IBgmqhMywtz4hhY/XZTvdEn2 +90aL857Hk7JjogA7mLKi07yKzknMxHV+k6JX7xJEttkcNQRFHONWZG1T4mRY1Drh +6VbJGb+0GNIldNLQqigkfwIDAQABo1AwTjAMBgNVHRMEBTADAQH/MB0GA1UdDgQW +BBTpZ30QdMGarrhMPwk+HHAV3R8aTzAfBgNVHSMEGDAWgBTpZ30QdMGarrhMPwk+ +HHAV3R8aTzANBgkqhkiG9w0BAQsFAAOCAQEAF8UAMtV1DClUWRw1h+THdAhjeo8S +9BOp6QphtlYuc9o+tQri5m+WqbyUZKIBEtumNhFb7QI1e4hO64y1kKbSs2AjWcJ2 +QxAyGiMM3wl2UfxPohDtgNhm0GFgQ1tUTeSnW3kAom9NqI7U/2lPpLh4rrFYTepR +wy0FV3NpRuHPtJE0VfqYnwWiTRdCJ7w1XzknKOUSHP/hRbyJVlwQp3VEQ9SIOYU6 +C+QEVGIgQiST6MRlCvoNP43guaRtrMuBZJaHKy/hLPvkdRpXHoUeKQFDuH77sZsF +sBv3EHNKoBvpSpSJndZN6UcH7Z1yn41Y6AnO4u492jiRAjQpP9+Nf/x1eg== +-----END CERTIFICATE----- diff --git a/openssl/test/certs/subinterCA-ss.pem b/openssl/test/certs/subinterCA-ss.pem new file mode 100644 index 0000000..a436b4b --- /dev/null +++ b/openssl/test/certs/subinterCA-ss.pem @@ -0,0 +1,21 @@ +-----BEGIN CERTIFICATE----- +MIIDhzCCAm+gAwIBAgIJAJTed6XmFiu/MA0GCSqGSIb3DQEBCwUAMFoxCzAJBgNV +BAYTAkFVMRMwEQYDVQQIDApTb21lLVN0YXRlMSEwHwYDVQQKDBhJbnRlcm5ldCBX +aWRnaXRzIFB0eSBMdGQxEzARBgNVBAMMCnN1YmludGVyQ0EwHhcNMTUwNzAyMTMy +MTU4WhcNMzUwNzAyMTMyMTU4WjBaMQswCQYDVQQGEwJBVTETMBEGA1UECAwKU29t +ZS1TdGF0ZTEhMB8GA1UECgwYSW50ZXJuZXQgV2lkZ2l0cyBQdHkgTHRkMRMwEQYD +VQQDDApzdWJpbnRlckNBMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA +/zQjvhbU7RWDsRaEkVUBZWR/PqZ49GoE9p3OyRN4pkt1c1yb2ARVkYZP5e9gHb04 +wPVz2+FYy+2mNkl+uAZbcK5w5fWO3WJIEn57he4MkWu3ew1nJeSv3na8gyOoCheG +64kWVbA2YL92mR7QoSCo4SP7RmykLrwj6TlDxqgH6DxKSD/CpdCHE3DKAzAiri3G +Vc90OJAszYHlje4/maVIOayGROVET3xa5cbtRJl8IBgmqhMywtz4hhY/XZTvdEn2 +90aL857Hk7JjogA7mLKi07yKzknMxHV+k6JX7xJEttkcNQRFHONWZG1T4mRY1Drh +6VbJGb+0GNIldNLQqigkfwIDAQABo1AwTjAMBgNVHRMEBTADAQH/MB0GA1UdDgQW +BBTpZ30QdMGarrhMPwk+HHAV3R8aTzAfBgNVHSMEGDAWgBTpZ30QdMGarrhMPwk+ +HHAV3R8aTzANBgkqhkiG9w0BAQsFAAOCAQEAF8UAMtV1DClUWRw1h+THdAhjeo8S +9BOp6QphtlYuc9o+tQri5m+WqbyUZKIBEtumNhFb7QI1e4hO64y1kKbSs2AjWcJ2 +QxAyGiMM3wl2UfxPohDtgNhm0GFgQ1tUTeSnW3kAom9NqI7U/2lPpLh4rrFYTepR +wy0FV3NpRuHPtJE0VfqYnwWiTRdCJ7w1XzknKOUSHP/hRbyJVlwQp3VEQ9SIOYU6 +C+QEVGIgQiST6MRlCvoNP43guaRtrMuBZJaHKy/hLPvkdRpXHoUeKQFDuH77sZsF +sBv3EHNKoBvpSpSJndZN6UcH7Z1yn41Y6AnO4u492jiRAjQpP9+Nf/x1eg== +-----END CERTIFICATE----- diff --git a/openssl/test/certs/subinterCA.key b/openssl/test/certs/subinterCA.key new file mode 100644 index 0000000..c867af9 --- /dev/null +++ b/openssl/test/certs/subinterCA.key @@ -0,0 +1,27 @@ +-----BEGIN RSA PRIVATE KEY----- +MIIEpQIBAAKCAQEA/zQjvhbU7RWDsRaEkVUBZWR/PqZ49GoE9p3OyRN4pkt1c1yb +2ARVkYZP5e9gHb04wPVz2+FYy+2mNkl+uAZbcK5w5fWO3WJIEn57he4MkWu3ew1n +JeSv3na8gyOoCheG64kWVbA2YL92mR7QoSCo4SP7RmykLrwj6TlDxqgH6DxKSD/C +pdCHE3DKAzAiri3GVc90OJAszYHlje4/maVIOayGROVET3xa5cbtRJl8IBgmqhMy +wtz4hhY/XZTvdEn290aL857Hk7JjogA7mLKi07yKzknMxHV+k6JX7xJEttkcNQRF +HONWZG1T4mRY1Drh6VbJGb+0GNIldNLQqigkfwIDAQABAoIBAQDg14MWGu+F4gqg +nwI1OPt95UjmXaz7Sd0NmoNxTKJjgN/9v33emBL7n6YNIxU/nlK+ToLBGo0tPjfO +ZHoskA1H/aiiMfKowcpV4PHbUZvpE0oYM/rIu+7mxR3ZPDT0jz3jjmgLHrEKFCXd +SfTtwOSJVzYvGdCdDE1nUXiRMcGlrJYxPf+0k3sGK7G90rYJkgffz92yuJote/s5 +P5nsK1h30yjKaWEzvf3ABladplykFN3GkICRGaCq0Nj5YWiG7qX9H9smYrioG0VH +VqgIbV2sHnmUYZaOTmC0RnwDWSZR25xOHVbugZ7rGnf4NdoM2S/oTI/SAXcDsaDX +lDpiEEuBAoGBAP/TISpeDRtUWzfVQxH+wbMdSbABjawf5sT7op7IsWsurY7u+KVh +ubhaSdeR7YbTyVUqbAc4mg9TIZxDe6+/I2S8LibQAa8wnv5aR1iPj/tZJOKrtu+Z +uHUyXMDR+8pIjQS0N+ukFp0tw9nicPNUt23JpqDFMvpASF+kUlnHOWAvAoGBAP9g +5rDid235QnnAhNJGkxE1ZwICPSo66AD/kF8XsMnAVasR0EPJCQ1+Zmh7wsXGq6Im +S65F4m0tsw4jeD67D1o5yuAnk/LLcdOdHW1w7iHuIhYKuWf1fqsOIqJLy7gdzwj4 +hImECoE40cqlLTge7xByxeHJwKF9ssXcwHFBIJyxAoGBAI5SeyUC5e/KYmURdBrS +zBhFtvUAKD0WEmCMTdBgfrPOaCgYsqPvVk9Fi8cuHCLiOCP1UdxClRLpgM1ajbkc +cShduJ9HIWjBd/KxbvfKBqQi1+5y8Xci4gfxWMC9EYNcEXgIewPRafNPvqG85HG7 +M8EUamsOymmG0bzDwjzIJRdpAoGAOUoVtmy3ehZG0WVc5ocqitu+BfdWnViln0O1 +sX9xC3F4Rm4ymGJLA5ntg1bwNMoCytdodun6h5+O4YcXfIseQJFib7KxP/Bf0qcW +aOzCnx36y5MQUMAD8H+1SU9TnjQhs9N8eBUE/kQu3BT99e8KllgJCEPoUNIP/s8s +5LtFg6ECgYEAgLwJoJ3hBwr0LmUi3kpFYdbZ+tAKIvKQH3xYMnQulOqtlXJFy0bu +ZcIAwsigRUqdCC2JuyAUw52HCtVVlpQjNs4BnUzaKooLOCm3w3i6X27mnHE0200S +zqC0rcB0xNz/IltGc7IP+T8UK5xX38uhJ/vUW75OvAjqheJSBwR9h5c= +-----END RSA PRIVATE KEY----- diff --git a/openssl/test/certs/subinterCA.pem b/openssl/test/certs/subinterCA.pem new file mode 100644 index 0000000..2cdf480 --- /dev/null +++ b/openssl/test/certs/subinterCA.pem @@ -0,0 +1,21 @@ +-----BEGIN CERTIFICATE----- +MIIDhDCCAmygAwIBAgIJAJkv2OGshkmUMA0GCSqGSIb3DQEBCwUAMFcxCzAJBgNV +BAYTAkFVMRMwEQYDVQQIEwpTb21lLVN0YXRlMSEwHwYDVQQKExhJbnRlcm5ldCBX +aWRnaXRzIFB0eSBMdGQxEDAOBgNVBAMTB2ludGVyQ0EwHhcNMTUwNzAyMTMxODIz +WhcNMzUwNzAyMTMxODIzWjBaMQswCQYDVQQGEwJBVTETMBEGA1UECBMKU29tZS1T +dGF0ZTEhMB8GA1UEChMYSW50ZXJuZXQgV2lkZ2l0cyBQdHkgTHRkMRMwEQYDVQQD +EwpzdWJpbnRlckNBMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA/zQj +vhbU7RWDsRaEkVUBZWR/PqZ49GoE9p3OyRN4pkt1c1yb2ARVkYZP5e9gHb04wPVz +2+FYy+2mNkl+uAZbcK5w5fWO3WJIEn57he4MkWu3ew1nJeSv3na8gyOoCheG64kW +VbA2YL92mR7QoSCo4SP7RmykLrwj6TlDxqgH6DxKSD/CpdCHE3DKAzAiri3GVc90 +OJAszYHlje4/maVIOayGROVET3xa5cbtRJl8IBgmqhMywtz4hhY/XZTvdEn290aL +857Hk7JjogA7mLKi07yKzknMxHV+k6JX7xJEttkcNQRFHONWZG1T4mRY1Drh6VbJ +Gb+0GNIldNLQqigkfwIDAQABo1AwTjAMBgNVHRMEBTADAQH/MB0GA1UdDgQWBBTp +Z30QdMGarrhMPwk+HHAV3R8aTzAfBgNVHSMEGDAWgBQY+tYjuY9dXRN9Po+okcfZ +YcAXLjANBgkqhkiG9w0BAQsFAAOCAQEAgVUsOf9rdHlQDw4clP8GMY7QahfXbvd8 +8o++P18KeInQXH6+sCg0axZXzhOmKwn+Ina3EsOP7xk4aKIYwJ4A1xBuT7fKxquQ +pbJyjkEBsNRVLC9t4gOA0FC791v5bOCZjyff5uN+hy8r0828nVxha6CKLqwrPd+E +mC7DtilSZIgO2vwbTBL6ifmw9n1dd/Bl8Wdjnl7YJqTIf0Ozc2SZSMRUq9ryn4Wq +YrjRl8NwioGb1LfjEJ0wJi2ngL3IgaN94qmDn10OJs8hlsufwP1n+Bca3fsl0m5U +gUMG+CXxbF0kdCKZ9kQb1MJE4vOk6zfyBGQndmQnxHjt5botI/xpXg== +-----END CERTIFICATE----- diff --git a/openssl/test/certs/untrusted.pem b/openssl/test/certs/untrusted.pem new file mode 100644 index 0000000..d93d312 --- /dev/null +++ b/openssl/test/certs/untrusted.pem @@ -0,0 +1,42 @@ +-----BEGIN CERTIFICATE----- +MIIDhDCCAmygAwIBAgIJAJkv2OGshkmUMA0GCSqGSIb3DQEBCwUAMFcxCzAJBgNV +BAYTAkFVMRMwEQYDVQQIEwpTb21lLVN0YXRlMSEwHwYDVQQKExhJbnRlcm5ldCBX +aWRnaXRzIFB0eSBMdGQxEDAOBgNVBAMTB2ludGVyQ0EwHhcNMTUwNzAyMTMxODIz +WhcNMzUwNzAyMTMxODIzWjBaMQswCQYDVQQGEwJBVTETMBEGA1UECBMKU29tZS1T +dGF0ZTEhMB8GA1UEChMYSW50ZXJuZXQgV2lkZ2l0cyBQdHkgTHRkMRMwEQYDVQQD +EwpzdWJpbnRlckNBMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA/zQj +vhbU7RWDsRaEkVUBZWR/PqZ49GoE9p3OyRN4pkt1c1yb2ARVkYZP5e9gHb04wPVz +2+FYy+2mNkl+uAZbcK5w5fWO3WJIEn57he4MkWu3ew1nJeSv3na8gyOoCheG64kW +VbA2YL92mR7QoSCo4SP7RmykLrwj6TlDxqgH6DxKSD/CpdCHE3DKAzAiri3GVc90 +OJAszYHlje4/maVIOayGROVET3xa5cbtRJl8IBgmqhMywtz4hhY/XZTvdEn290aL +857Hk7JjogA7mLKi07yKzknMxHV+k6JX7xJEttkcNQRFHONWZG1T4mRY1Drh6VbJ +Gb+0GNIldNLQqigkfwIDAQABo1AwTjAMBgNVHRMEBTADAQH/MB0GA1UdDgQWBBTp +Z30QdMGarrhMPwk+HHAV3R8aTzAfBgNVHSMEGDAWgBQY+tYjuY9dXRN9Po+okcfZ +YcAXLjANBgkqhkiG9w0BAQsFAAOCAQEAgVUsOf9rdHlQDw4clP8GMY7QahfXbvd8 +8o++P18KeInQXH6+sCg0axZXzhOmKwn+Ina3EsOP7xk4aKIYwJ4A1xBuT7fKxquQ +pbJyjkEBsNRVLC9t4gOA0FC791v5bOCZjyff5uN+hy8r0828nVxha6CKLqwrPd+E +mC7DtilSZIgO2vwbTBL6ifmw9n1dd/Bl8Wdjnl7YJqTIf0Ozc2SZSMRUq9ryn4Wq +YrjRl8NwioGb1LfjEJ0wJi2ngL3IgaN94qmDn10OJs8hlsufwP1n+Bca3fsl0m5U +gUMG+CXxbF0kdCKZ9kQb1MJE4vOk6zfyBGQndmQnxHjt5botI/xpXg== +-----END CERTIFICATE----- +-----BEGIN CERTIFICATE----- +MIIDfjCCAmagAwIBAgIJAKRNsDKacUqNMA0GCSqGSIb3DQEBCwUAMFoxCzAJBgNV +BAYTAkFVMRMwEQYDVQQIEwpTb21lLVN0YXRlMSEwHwYDVQQKExhJbnRlcm5ldCBX +aWRnaXRzIFB0eSBMdGQxEzARBgNVBAMTCnN1YmludGVyQ0EwHhcNMTUwNzAyMTMx +OTQ5WhcNMzUwNzAyMTMxOTQ5WjBUMQswCQYDVQQGEwJBVTETMBEGA1UECBMKU29t +ZS1TdGF0ZTEhMB8GA1UEChMYSW50ZXJuZXQgV2lkZ2l0cyBQdHkgTHRkMQ0wCwYD +VQQDEwRsZWFmMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAv0Qo9WC/ +BKA70LtQJdwVGSXqr9dut3cQmiFzTb/SaWldjOT1sRNDFxSzdTJjU/8cIDEZvaTI +wRxP/dtVQLjc+4jzrUwz93NuZYlsEWUEUg4Lrnfs0Nz50yHk4rJhVxWjb8Ii/wRB +ViWHFExP7CwTkXiTclC1bCqTuWkjxF3thTfTsttRyY7qNkz2JpNx0guD8v4otQoY +jA5AEZvK4IXLwOwxol5xBTMvIrvvff2kkh+c7OC2QVbUTow/oppjqIKCx2maNHCt +LFTJELf3fwtRJLJsy4fKGP0/6kpZc8Sp88WK4B4FauF9IV1CmoAJUC1vJxhagHIK +fVtFjUWs8GPobQIDAQABo00wSzAJBgNVHRMEAjAAMB0GA1UdDgQWBBQcHcT+8SVG +IRlN9YTuM9rlz7UZfzAfBgNVHSMEGDAWgBTpZ30QdMGarrhMPwk+HHAV3R8aTzAN +BgkqhkiG9w0BAQsFAAOCAQEAGjmSkF8is+v0/RLcnSRiCXENz+yNi4pFCAt6dOtT +6Gtpqa1tY5It9lVppfWb26JrygMIzOr/fB0r1Q7FtZ/7Ft3P6IXVdk3GDO0QsORD +2dRAejhYpc5c7joHxAw9oRfKrEqE+ihVPUTcfcIuBaalvuhkpQRmKP71ws5DVzOw +QhnMd0TtIrbKHaNQ4kNsmSY5fQolwB0LtNfTus7OEFdcZWhOXrWImKXN9jewPKdV +mSG34NfXOnA6qx0eQg06z+TkdrptH6j1Va2vS1/bL+h1GxjpTHlvTGaZYxaloIjw +y/EzY5jygRoABnR3eBm15CYZwwKL9izIq1H3OhymEi/Ycg== +-----END CERTIFICATE----- diff --git a/openssl/test/testssl b/openssl/test/testssl index ddebf08..747e4ba 100644 --- a/openssl/test/testssl +++ b/openssl/test/testssl @@ -146,16 +146,15 @@ echo test sslv2/sslv3 with both client and server authentication via BIO pair an $ssltest -bio_pair -server_auth -client_auth -app_verify $CA $extra || exit 1 test_cipher() { - local cipher=$1 - local protocol=$2 - echo "Testing $cipher" + _cipher=$1 + echo "Testing $_cipher" prot="" - if [ $protocol = "SSLv3" ] ; then + if [ $2 = "SSLv3" ] ; then prot="-ssl3" fi - $ssltest -cipher $cipher $prot + $ssltest -cipher $_cipher $prot if [ $? -ne 0 ] ; then - echo "Failed $cipher" + echo "Failed $_cipher" exit 1 fi } @@ -254,16 +253,16 @@ if ../util/shlib_wrap.sh ../apps/openssl no-srp; then echo skipping SRP tests else echo test tls1 with SRP - $ssltest -tls1 -cipher SRP -srpuser test -srppass abc123 + $ssltest -tls1 -cipher SRP -srpuser test -srppass abc123 || exit 1 echo test tls1 with SRP via BIO pair - $ssltest -bio_pair -tls1 -cipher SRP -srpuser test -srppass abc123 + $ssltest -bio_pair -tls1 -cipher SRP -srpuser test -srppass abc123 || exit 1 echo test tls1 with SRP auth - $ssltest -tls1 -cipher aSRP -srpuser test -srppass abc123 + $ssltest -tls1 -cipher aSRP -srpuser test -srppass abc123 || exit 1 echo test tls1 with SRP auth via BIO pair - $ssltest -bio_pair -tls1 -cipher aSRP -srpuser test -srppass abc123 + $ssltest -bio_pair -tls1 -cipher aSRP -srpuser test -srppass abc123 || exit 1 fi ############################################################################# diff --git a/openssl/test/verify_extra_test.c b/openssl/test/verify_extra_test.c new file mode 120000 index 0000000..11d837c --- /dev/null +++ b/openssl/test/verify_extra_test.c @@ -0,0 +1 @@ +../crypto/x509/verify_extra_test.c \ No newline at end of file diff --git a/packages.txt b/packages.txt index d222c8e..b5d5ec8 100644 --- a/packages.txt +++ b/packages.txt @@ -67,7 +67,7 @@ libxcb git version libxkbfile-1.0.8 mesa git version mkfontscale git version -openssl-1.0.2c +openssl-1.0.2d pixman git version presentproto-1.0 pthreads-w32 cvs version -- Alioth's /srv/git/code.x2go.org/vcxsrv.git//..//_hooks_/post-receive-email on /srv/git/code.x2go.org/vcxsrv.git
This is an automated email from the git hooks/post-receive script. x2go pushed a commit to branch release/1.17.0.0-x in repository vcxsrv. commit 418850f688b33de58febc13821497c4ce41ce06b Author: Mike DePaulo <mikedep333@gmail.com> Date: Sun Jul 26 13:00:24 2015 -0400 Add releasenote_1.17.0.0-3.x2go+arctica.txt --- .../releasenote_1.17.0.0-3.x2go+arctica.txt | 1256 ++++++++++++++++++++ 1 file changed, 1256 insertions(+) diff --git a/releasenotes/releasenote_1.17.0.0-3.x2go+arctica.txt b/releasenotes/releasenote_1.17.0.0-3.x2go+arctica.txt new file mode 100644 index 0000000..59787d5 --- /dev/null +++ b/releasenotes/releasenote_1.17.0.0-3.x2go+arctica.txt @@ -0,0 +1,1256 @@ +Changes in 1.17.0.0-3 (X2Go/Arctica Builds) +------------------- +- Update the following packages: + openssl: 1.0.2c -> 1.0.2d +- Show all text received by plink to show to the user + (and not only the first part) +- Drop the nx-libs compatibility patch winmultiwindow.patch + because the better approach for "whole display" mode is to + launch VcXsrv in root window mode with -nodecoration, + which X2Go Client for Windows 4.0.5.0 will do. + (Fixes: #3) (Fixes: X2Go #883) +- hw/xwin/glx: Don't create fbConfigs for un-accelerated pixelFormats + This has the effect of disabling StaticColor under MultiWindow mode + with -wgl (default) and -swrastwgl . + (Fixes: #4) (Fixes: X2Go #891) + +Changes in 1.17.0.0-2 (X2Go/Arctica Builds) +------------------- +- Update the following packages: + openssl-1.0.2c + +Changes in 1.17.0.0-1 (X2Go/Arctica Builds) +------------------- +- Update the following packages: + libXfont 1.5.0 -> 1.5.1 +- Switch installers from zlib to solid LZMA compression. + Regular Installer: 43.5 to 37.8 MB (13% size reduction) + Debug Installer: 7.0 to 4.6 MB (34% size reduction) + +Changes carried over from the 1.15.2.0-x and 1.15.2.x X2Go/Arctica builds: +------------------- +- Reinstate compatibility with Windows XP by switching from the + regular MSVC 2013 compiler to the MSVC 2013 Update 4 compiler + with XP targetting. +- uninstaller: Remove the entire VcXsrv directory (GitHub Issue #1) +- Fix plink CVE-2015-2157 +- Incorporate the nx-libs compatibility patch winmultiwindow.patch + from Oleksandr Shneyder (phoca GmbH) +- installer: change name in "Add/Remove Programs" to: + VcXsrv (X2Go/Arctica Builds) +- installer: specify Icon, Version, Publisher & URLs + (Shows up in "Add/Remove Programs") +- Do not make the font files differ each time due to timestamp + differences +- Resume maintaining the build instructions and scripts. + + +Changes in 1.17.0.0 +------------------- +- Update the following packages: + git updates until 30/04/2015 of the following packages + mesa + libxcb + libxcb/xcb-proto + fontconfig + libX11 + xserver + xkbcomp + xkeyboard-config + pixman + randrproto + libXdmcp + libXmu + libfontenc + xwininfo + openssl-1.0.2a + freetype 2.5.5 + libXfixes-5.0 + xcalc-1.0.6 + xproto-7.0.27 + +Changes in 1.16.2.0 +------------------- +- Update the following packages: + git updates until 12/11/2014 of the following packages + mesa + libxcb + libxcb/xcb-proto + fontconfig + libX11 + xserver + xkbcomp + xkeyboard-config + pixman + openssl-1.0.1j + +Changes in 1.16.1.0 +------------------- +- Update the following packages: + git updates until 12/10/2014 of the following packages + mesa + libxcb + libxcb/xcb-proto + libX11 + libXext + xkeyboard-config + xserver + fontconfig + mkfontscale + pixman + plink + libxtrans + xkeyboard-config + libXfont 1.5.0 + openssl-1.0.1i + +Changes in 1.15.2.0 +------------------- +- Update the following packages: + git updates until 5/07/2014 of the following packages + mesa + libxcb + xkeyboard-config + xserver + fontconfig + pixman + xwininfo + libX11 + plink + libxcb + xcb-proto + mkfontscale + freetype 2.5.3 + libXfont 1.4.8 + openssl 1.0.1h + +Changes in 1.15.0.2 +------------------- +- Update the following packages: + git updates until 1/05/2014 of the following packages + mesa + libxcb + xkeyboard-config + xserver + libxtrans + fontconfig + xcb-proto + pixman + plink revision 10184 +- Solved problem with notab and noframe styles + +CChanges in 1.15.0.1 +------------------- +- Update the following packages: + git updates until 31/03/2014 of the following packages + mesa + libxtrans + fontconfig + xserver + libXfont-1.4.7 + xproto-7.0.25 + +Changes in 1.15.0 +----------------- +- Update the following packages: + git updates until 25/03/2014 of the following packages + xserver + mesa + libxcb + xcb-proto + xkeyboard-config + randsrproto + fontconfig + libX11 + libXext + xkbcomp + libxtrans +- Solved problem of silent-dup-error not always being checked correctly +- Now taskbar with notab can be specified in system.XWinrc +- Also install a default X0.hosts file + +Changes in 1.14.5 +----------------- +- Update the following packages: + git updates until 22/12/2013 of the following packages + xserver + mesa + pixman + mkfontscale + libxtrans + fontconfig + glproto + libX11 + libxcb + xcbproto + xkeyboard-config + libXinerama + libXmu + +Changes in 1.14.4 +----------------- +- Update the following packages: + git updates until 21/11/2013 of the following packages + xserver + mesa + pixman + fontconfig + libXau + xkeyboard-config + libxcb + libxcb/xcb-proto + libX11 + libXdmcp + libXext + libfontenc + libXinerama + xkbcomp + xextproto + randrproto + glproto + mkfontscale + xwininfo + libXft + libXmu + libxtrans + mkfontscale + libXpm-3.5.11 + libXaw-1.0.12 + libXfont-1.4.6 + libXrender-0.9.8 + xproto-7.0.24 + inputproto-2.3 + xclock-1.0.7 + xhost-1.0.6 + zlib-1.2.8 +- Added expat-2.1.0 +- Added presentproto-1.0 +- Now compiled with Visual Studio 2013 Express Edition +- mesa: Solved freeing of invalid pointer + +Changes in 1.14.3 +----------------- +- Update the following packages: + git updates until 19/09/2013 of the following packages + xserver + mesa + pixman + libXmu + xkeyboard-config + libX11 + xkbcomp + fontconfig + libxcb + libxcb/xcb-proto + libXdmcp + libXext +- Now compiled with Visual Studio 2012 Express Edition + +Changes in 1.14.2.1 +------------------- +- Update the following packages: + git updates until 26/07/2013 of the following packages + xserver + mesa + libxcb + libxcb/xcb-proto + fontconfig + libXext + libX11 + libxtrans + xkbcomp + mkfontscale + libXmu + libxml 2.9.1 +- gen_gl_wrappers: now use the opengl xml specification files as input +- Now also release 64-bit version + +Changes in 1.14.2.0 +------------------- +- Update the following packages: + git updates until 21/06/2013 of the following packages + mesa + xkeyboard-config + xserver + pixman + libX11 + mkfontscale + libXmu + xwininfo + fontconfig + libxcb + libxcb/xcb-proto + libXau + libfontenc + libXext + libXinerama + xkbcomp + libXdmcp + xrdb + freetype-2.5.0.1 +- wgl: do not use transparent windows for the opengl windows +- Solved problem of logverbosity parameter not taking into account + +Changes in 1.13.2.0 +------------------- +- Update the following packages: + git updates until 13/02/2013 of the following packages + mesa + xkeyboard-config + xserver + pixman + fontconfig + libX11 + libXft + libXau + xkbcomp + mkfontscale + libXdmcp + libXmu + xwininfo + libxtrans + libXinerama + libfontenc + libXext + glproto + libxcb + cvs update until 13/02/2013 of pthreads + inputproto 2.2.99.1 + bdftopcf 1.0.4 + xcalc 1.0.5 + openssl-1.0.1e + freetype-2.4.11 + +- xlaunch: solved problem of prompt not being shown in xp +- Use fonts.conf file in fontconfig +- xlaunch: Use dialog for prompting for password input instead of console + +Changes in 1.13.1.0 +------------------- +- Update the following packages: + git updates until 05/12/2012 of the following packages + mesa + xkeyboard-config + xserver + pixman + xkbcomp + libX11 + libXdmcp + libxcb + xkeyboard-config + fontconfig + +- Solved problem of dxtn.dll not loaded anymore +- xlaunch: Allow specifying a key file in putty format when starting a + remote program. When the private key is password protected a + terminal window will pop up where this password can be entered + (except when a password is specified in the xlaunch config file) +- xlaunch: when no password specified, a password can be entered in + the console window that will popup when the plink asks for a password +- Now plink is a real console application in the release build (no -console + option anymore) +- Added buildscript to compile from cygwin terminal +- plink: when writing to stderr, flush immediately so that the error + output is seen immediately instead of at the end of the program + + +Changes in 1.13.0.0 +------------------- +- Update the following packages: + git updates until 22/10/2012 of the following packages + mesa + xkeyboard-config + xserver + pixman + libX11 + xwininfo + fontconfig + libXau + libXext + libxcb + randrproto +- Reverted xorg commit bafbd99080be49a17be97d2cc758fbe623369945 + Gave problems in vcsrv on multiple monitors +- Removed printing milli-seconds in log file +- Changed fatal error message +- Initialize the log file a little bit earlier in the startup process +- Too long env variables: Instead of giving a fatal error just remove + the env variables that are too long +- Solved problem of finding valid open socket in case ipv6 is not installed + and display number -1 is passed. +- Make sure that version info is print to log file + +Changes in 1.12.99.0 +------------------- +- Update the following packages: + git updates until 22/8/2012 of the following packages + fontconfig + mesa + xkeyboard-config + xserver + pixman + libxcb + randrproto + libX11 + libXext + zlib-1.2.7 +- Compiled the following modules as dlls: + zlib + libX11 + libXau + libxcb + libXmu + libXext +- Installer: Make installing debug version optional +- Solved problem of using wrong name for log file when -displayfd is used +- Fixed problem in Win32TempDir of returning NULL in case TEMP env variable + is not defined and TMP is +- winProcessXEventsTimeout: improved accuracy of timeout +- winUpdateWindowPosition: do not assume WS_EX_APPWINDOW style +- multiwindow: do not ignore the windows key. Now the windows key can + be used as the meta key in emacs +- Solved possible crash in winMultiWindowGetClassHint because second + string is not always null terminated + +Changes in 1.12.2.0 +------------------- +- Update the following packages: + git updates until 15/6/2012 of the following packages + fontconfig + mesa + xkeyboard-config + xserver + pixman + libX11 + libXau + libXext + libxcb + libfontenc + glproto + freetype-2.4.10 + libXaw-1.0.11 + openssl-1.0.1c +- xserver: added support for -displayfd option +- xserver: made sure that the maximum number of clients is back at 1024 + +Changes in 1.12.0.1 +------------------- +- Update the following packages: + git updates until 10/4/2012 of the following packages + fontconfig + mesa + xkeyboard-config + xserver + pixman + openssl-1.0.1 + bigreqsproto-1.1.2 + fontsproto-2.1.2 + recordproto-1.14.2 + scrnsaverproto-1.2.2 + xcmiscproto-1.2.2 + libXt-1.1.3 + xhost-1.0.5 + kbproto-1.0.6 + libXrender-0.9.7 + libxkbfile-1.0.8 + freetype-2.4.9 + libXaw-1.0.10 + libXpm-3.5.10 + xproto-7.0.23 + +- Solved problem when specifying -fullscreen on command line because default + resizing behaviour was changed to resize (which is not allowed in + fullscreen) + +Changes in 1.12.0.0 +------------------- +- Update the following packages: + git updates until 30/3/2012 of the following packages + mesa + xserver + libxcb + libX11 + pixman + xkeyboard-config + fontconfig + mkfontscale + xkbcomp + mesa + libXau + libXdmcp + libXext + libXft + libXinerama + libXmu + font-util-1.3.0 + xclock-1.0.6 + libXfont-1.4.5 + inputproto-2.2 + freetype-2.4.9 + +- Remove unused WindowExposuresProcPtr storage in screen privates +- Return error when bitsperpixel is less then 24 +- Added taskbar grouping for windows 7 +- Solved possible crashes when drawable cannot be created. + + +Changes in 1.11.4.0 +------------------- +- Update the following packages: + git updates until 30/1/2012 of the following packages + mesa + xserver + libxcb + libX11 + pixman + xkeyboard-config + xwininfo + mkfontscale + libxtrans + libXdmcp + plink svn update until 30/1/2012 + inputproto-2.1.99.5 + xf86bigfontproto-1.2.0 + openssl-1.0.0g +- Added xhost-1.0.4 application +- Added xauth-1.0.6 application +- Implemented Implemented prgrbs ungrab clsgrb and prwins keyboard actions +- Enable the keyboard options grab:break_actions by default +- Enabled XFree86 BigFont extension +- Solved possible crash in multiwindow mode +- glx: added safety against the use of a null pointer + +Changes in 1.11.3.0 +------------------- +- Update the following packages: + git updates until 17/12/2011 of the following packages + mesa + xserver + libxtrans + libX11 + pixman + libxcb + glproto + xkeyboard-config + +- Added -parentprocessid command line option + +Changes in 1.11.2.0 +------------------- +- Update the following packages: + git updates until 18/11/2011 of the following packages + mesa + xserver + pixman + libxcb + libX11 + libXext + xkeyboard-config + libXmu + libxtrans + libXdmcp + libXau + libXft + libXinerama + libfontenc + xwininfo + libXmu + mkfontscale + fontconfig + freetype 2.4.8 + openssl-1.0.0e + inputproto-2.1.99.1 + +Changes in 1.11.0.0 +------------------- +- Update the following packages: + git updates until 5/9/2011 of the following packages + mesa + xserver + pixman + libxcb + libX11 + libXext + xkeyboard-config + randrproto + xwininfo + libXmu + libXfont-1.4.4 + freetype 2.4.6 +- Installer: installation of fonts is optional now +- xserver: Use AllocDevicePair for create the mouse and keyboard devices +- xserver: Solved problem of window not taking the default window position when + created. + +Changes in 1.10.3.0 +------------------- +- Update the following packages: + git updates until 18/7/2011 of the following packages + mesa + xserver + pixman + libX11 + freetype 2.4.5 + inputproto-2.0.2 + xproto-7.0.22 + resourceproto-1.2.0 + pthreads cvs version until 18/7/2011 + +- Fixed regression in wgl implementation in multi-window mode + +Changes in 1.10.3.0 +------------------- +- Update the following packages: + git updates until 11/7/2011 of the following packages + mesa + xserver + pixman + mkfontscale + xkeyboard-config + libX11 + libXext + libXmu + xkbcomp + libXdmcp + libxtrans + x11proto + fontconfig + xwininfo +- Increased number of clients to 1024 +- Also show the cursor in the main window when the xdmcp host selection dialog is shown + +Changes in 1.10.1.1 +------------------- +- Update the following packages: + glproto git update until 24/5/2011 + libfontenc git update until 24/5/2011 + libxcb git update until 24/5/2011 + pixman git update until 24/5/2011 + xkeyboard-config git update until 24/5/2011 + mesa git update until 24/5/2011 + xserver git update until 24/5/2011 + xcb-proto git update until 24/5/2011 + mkfontscale git update until 24/5/2011 +- xkeyboard-config: Solved problem with Alt Gr key on some keyboards (e.g. belgian) + + +Changes in 1.10.1.0 +------------------- +- Update the following packages: + mesa git update until 5/5/2011 + xserver git update until 5/5/2011 + xkeyboard-config git update until 5/5/2011 + libxcb git update until 5/5/2011 + xkbcomp git update until 5/5/2011 + libXext git update until 5/5/2011 + libXmu git update until 5/5/2011 + libX11 git update until 5/5/2011 + libXdmcp git update until 5/5/2011 + xextproto git update until 5/5/2011 + libxtrans git update until 5/5/2011 + pixman git update until 5/5/2011 + glproto git update until 5/5/2011 + openssl-1.0.0d +- wgl; Solved crash because of pointer usages after memory has been freed. + + +Changes in 1.10.0.1 +------------------- +- Update the following packages: + xserver git update until 29/3/2011 + mesa git update until 29/3/2011 + xkeyboard-config git update until 29/3/2011 + libX11 git update until 29/3/2011 + pixman git update until 29/3/2011 + libxcb git update until 29/3/2011 + fontconfig git update until 29/3/2011 + glproto git update until 29/3/2011 + libXau git update until 29/3/2011 + libXft git update until 29/3/2011 + libXmu git update until 29/3/2011 + libfontenc git update until 29/3/2011 + mkfontscale git update until 29/3/2011 + randrproto git update until 29/3/2011 + xtrans git update until 29/3/2011 + xwininfo git update until 29/3/2011 + xproto-7.0.21 git update until 29/3/2011 + xineramaproto-1.2.1 + libXt-1.1.1 + libxkbfile-1.0.7 + libXpm-3.5.9 + libXfont-1.4.3 + libXaw-1.0.9 + bdftopcf-1.0.3 + encodings-1.0.4 + fixesproto-5.0 + font-adobe-100dpi-1.0.3 + font-adobe-75dpi-1.0.3 + font-adobe-utopia-100dpi-1.0.4 + font-adobe-utopia-75dpi-1.0.4 + font-adobe-utopia-type1-1.0.4 + font-alias-1.0.3 + font-arabic-misc-1.0.3 + font-bh-100dpi-1.0.3 + font-bh-75dpi-1.0.3 + font-bh-lucidatypewriter-100dpi-1.0.3 + font-bh-lucidatypewriter-75dpi-1.0.3 + font-bh-ttf-1.0.3 + font-bh-type1-1.0.3 + font-bitstream-100dpi-1.0.3 + font-bitstream-75dpi-1.0.3 + font-bitstream-speedo-1.0.2 + font-bitstream-type1-1.0.3 + font-cronyx-cyrillic-1.0.3 + font-cursor-misc-1.0.3 + font-daewoo-misc-1.0.3 + font-dec-misc-1.0.3 + font-ibm-type1-1.0.3 + font-isas-misc-1.0.3 + font-jis-misc-1.0.3 + font-micro-misc-1.0.3 + font-misc-cyrillic-1.0.3 + font-misc-ethiopic-1.0.3 + font-misc-meltho-1.0.3 + font-misc-misc-1.1.2 + font-mutt-misc-1.0.3 + font-schumacher-misc-1.1.2 + font-screen-cyrillic-1.0.4 + font-sony-misc-1.0.3 + font-sun-misc-1.0.3 + font-util-1.2.0 + font-winitzki-cyrillic-1.0.3 + font-xfree86-type1-1.0.4 +- Added ipv6 support +- Solved past problem in windows when used with x2goclient (with -clipboard) +- Solved problem of GetKeyState not always returning the correct state in WM_SETFOCUS +- Delay calling winInitializeModeKeyStates until the keyboard device has been started +- Solved possible crash due to NULL pointer access + +Changes in 1.10.0.0 +------------------- +- Update the following packages: + xserver git update until 8/3/2011 + xkeyboard-config git update until 8/3/2011 + pixman git update until 8/3/2011 + libX11 git update until 8/3/2011 + mesa git update until 8/3/2011 + randrproto git update until 8/3/2011 + Xextproto git update until 8/3/2011 + libxcb git update until 8/3/2011 +- Solved errors when used with xmodmap +- xlaunch: + . removed dependency on msxml 4.0 + libxml2 is now used for parsing the xml input file + . added possibility to only map the CLIPBOARD selection to the-RECORD-extension + windows clipboard + . fixed problems when starting a client (local and remote) + . added option to set disable access control + . added option to terminate vcxsrv on server reset (xdmcp) +- xserver: Made winOverrideStyle thread safe +- xserver: Synchronize Xserver glx/rensize.c with mesa src/glx/compsize.c +- native glx: Handle failure to get any fbconfigs more gracefully +- vcxsrv: added -[no]clipboardprimary. Can be used to only map the CLIPBOARD + selection to the windows clipboard + +Changes in 1.9.4.1 +------------------ +- Update the following packages: + xkeyboard-config git update until 16/2/2011 + pixman git update until 16/2/2011 + xkbcomp git update until 16/2/2011 + mesa git update until 16/2/2011 +- Solved problem of wrongly generated error message in vcxsrv_dbg +- Solved problem of a window being created with an Y coordinate of 0x8000000. +- xdmcp: Solved display problem when multiple monitor setup changes +- When XDMCP -from is specified, only register the requested address +- Only call XSupportsLocale in one place. Switch to a known locale when it fails +- Type cast width to short to avoid type cast exception in debug version when width is negative. +- multiwindow; Solved possible crash because the pixmap buffer was not + correct anymore after moving a window + +Changes in 1.9.4.0 +------------------ +- Update the following packages: + xserver git update until 10/2/2011 + libXext + libXau + libX11 + pixman + mesa + libfontenc + libXinerama +- xdmcp: add host connected to in the title of the main window +- Solved a crash in multiwindow mode due to a stack overflow (possible endless recursion) + +Changes in 1.9.3.1 +------------------ +- Update the following packages: + xserver git update until 2/2/2011 + pixman git update until 2/2/2011 + libX11 git update until 2/2/2011 + xkeyboard-config git update until 2/2/2011 + libxcb git update until 2/2/2011 + mesa git update until 2/2/2011 + xkbcomp git update until 2/2/2011 + libfontenc git update until 2/2/2011 + libXau git update until 2/2/2011 + libXinerama git update until 2/2/2011 + libXdmcp git update until 2/2/2011 + plink: updated to putty revision 9080 + freetype 2.4.4 + openssl-1.0.0c + cvs update pthreads +- Added following packages + xbitmaps-1.1.1 + libXft-2.2.0 + fontconfig-2.8.0 + libXrender-0.9.6 + windowswmproto-1.0.4 +- Prevent crash with remote font servers +- Use winUpdateFBPointer() in winshaddd.c rather than duplicating it inline +- VS2008 is not actively supported anymore +- Search for bitmaps in the current directory in stead of the HOME directory on windows +- Search for XtErrorDB in current directory +- added XtErrorDB file +- Added xclock application files +- Do not include dllmain for static library +- Solved possible crash due to not initialised pointer +- Use other default bitmap dir +- Solved problem of app icon not being loaded +- Enabled XRENDER in xclock +- Use .Xdefaults file in current directory +- Also install xclock and xclock-color +- solved problem of -resize not working when window was maximised +- Xlaunch: solved problem of Wgl setting not being saved in configuration file +- Enabled ROOTLESS option in dix +- Solved problem of using an unitialised variable. +- release build: main should also pass the penv argument +- Enabled global optimisation in release build: linker is a lot slower but it should give better performance +- Added host selection menu in case -broadcast is given on the command line + +Changes in 1.9.3.0 +------------------ +- Update the following packages: + xserver git update until 9/1/2011 + pixman git update until 9/1/2011 + libX11 git update until 9/1/2011 + libXext git update until 9/1/2011 + xkeyboard-config git update until 9/1/2011 + libxcb git update until 9/1/2011 + libfontenc update until 9/1/2011 + xextproto git update until 9/1/2011 + libXdmcp git update until 9/1/2011 + randrproto git update until 9/1/2011 + mesa git update until 9/1/2011 + bigreqsproto-1.1.1 + compositeproto-0.4.2 + damageproto-1.2.1 + fixesproto-4.1.2 + fontsproto-2.1.1 + inputproto-2.0.1 + randrproto-1.3.2 + recordproto-1.14.1 + scrnsaverproto-1.2.1 + xcmiscproto-1.2.1 + xproto-7.0.20 + xtrans 1.2.6 + xcalc-1.0.4.1 + +- updated to 9025 of putty +- Added dxtn.dll (compression functions used in mesa) +- mesa: solved opengl problem whan opengl is enabled in java + +Changes in 1.9.2.0 +------------------ +- Update the following packages: + xserver git update until 4/11/2010 + libxcb git update until 4/11/2010 + libfontenc git update until 4/11/2010 + pixman git update until 4/11/2010 + xcb-proto git update until 4/11/2010 + libX11 git update until 4/11/2010 + libXdmcp git update until 4/11/2010 + xkbcomp git update until 4/11/2010 +- Fixed regression in libxcb introduced in 1.9.0.0 +- Give clipboard window a name + +Changes in 1.9.0.902 +-------------------- +- Update the following packages: + xserver git update until 18/10/2010 + xkeyboard-config git update until 18/10/2010 + pixman git update until 18/10/2010 + libX11 git update until 18/10/2010 + libXau git update until 18/10/2010 + libXinerama git update until 18/10/2010 + glproto-1.4.12 + kbproto-1.0.5 + renderproto-0.11.1 + xclock-1.0.5 + xextproto-7.1.2 + xproto-7.0.18 + xwininfo-1.1.0 + font-mutt-misc-1.0.2 + font-sun-misc-1.0.2 +- Cleaned ddraw code and solved problem of screen disappearing when monitor setup changes +- Solved problem when having multiple netword cards +- multiwindow: only make the window visible when it is not inputonly +- Update gl.spec + +Changes in 1.9.0.2 +------------------ +- Update the following packages: + xserver git update until 21/9/2010 + pixman git update until 21/9/2010 + libX11 git update until 21/9/2010 +- Solved a number of problems with native opengl mode (-wgl) +- Native opengl: updated to the latest opengl spec files +- glx: synchronised with version of mesa currently used +- Implemented smart schedule timer +- Solved possible lockup when closing down + +Changes in 1.9.0.1 +------------------ +- Update the following packages: + xserver git update until 11/9/2010 + pixman git update until 11/9/2010 + libX11 git update until 11/9/2010 +- Solved regression swrast_dri.dll not working anymore +- xlaunch: Make sure xdmcp is never selected in multiwindow mode + +Changes in 1.9.0.0 +------------------ +- Update the following packages: + xserver git update until 4/9/2010 + xkeyboard-config + libX11 + pixman + libxcb + xkeyboard-config +- synchronised glx with mesa version +- make sure process exits when clipboard thread or multiwindow thread closes +- added support for some multimedia keys + +Changes in 1.8.99.906 +--------------------- +- Update the following packages: + mesa-7.8.2 + freetype 2.4.2 + libX11 git update until 20/8/2010 + libXdmcp git update until 20/8/2010 + libXext git update until 20/8/2010 + libXau + pixman + libxcb git update until 20/8/2010 + xserver git update until 20/8/2010 + xkeyboard-config git update until 20/8/2010 + libXinerama git update until 20/8/2010 +- Fix a GDI bitmap resource leak of window icons +- Internal WM workaround for Java AWT bug +- Add a keycode mapping for VK_OEM_8 which can be issued by Canadian Multilingual + Standard layout +- Update mapping for Canadian keyboard layouts + 0x00000c0c "Canadian French (legacy)" => layout ca variant fr-legacy + 0x00001009 "Canadian French" => layout ca variant fr + 0x00011009 "Canadian Multilingual Standard" => layout ca variant multix +- Cleanup in rootless code +- xkbcomp: avoid needless recompilation when switching between debug and release +- fixed wrong library name for freetype library + + +Changes in 1.8.99.904 +--------------------- +- Update the following packages: + libXfont-1.4.2 + libX11 git update until 11/7/2010 + libXext git update until 11/7/2010 + libxcb git update until 11/7/2010 + xserver git update until 11/7/2010 + xkeyboard-config git update until 11/7/2010 + libXinerama git update until 11/7/2010 +- Solved possible dead-lock when exiting vcxsrv (when x-selection active) +- Solved possible crash in _XReadEvents function + +Changes in 1.8.99.901 +--------------------- +- Update the following packages: + openssl-1.0.0a + mesa-7.8.1 + xserver git update until 17/6/2010 + libxcb git update until 17/6/2010 + libXext git update until 17/6/2010 + libX11 git update until 17/6/2010 + xkeyboard-config git update until 17/6/2010 + +Changes in 1.8.1 +---------------- +- Update the following packages: + xserver git update until 12/5/2010 (1.8.1) + Updated to xproto-7.0.17 + xkeyboard-config git update until 17/5/2010 + libxcb git update until 17/5/2010 + Made it possible to compile with VS2010 + +Changes in 1.8.0 +---------------- +- Update the following packages: + pixman-0.18.0 + xorg-server-1.8.0 + xkeyboard-config git update till 1/4/2010 + mesa 7.8 + freetype-2.3.12 + openssl 1.0.0 + +Changes in 1.7.99.902 +--------------------- +- Update the following packages: + pixman-0.17.10 + xserver git update till 16/3/2010 + xkeyboard-config git update till 16/3/2010 + mesa 7.7 + libXt-1.0.8 +- Added terminus-font-4.30 +- libwinmain: Make sure that control C only kills the process when a new console is created. +- Solved problem when path environment variable was larger then 1024 bytes +- Solved possible crash of accessing a null pointer +- Enabled XCSECURITY +- Solved 'ceil' undefined warning +- Solved '_XSERVTransWSAStartup' undefined warning +- Solved problem of some windows not being sizeable in multiwindow mode + +Changes in 1.7.99.901 +--------------------- +- Update the following packages: + pixman-0.17.6 + xorg-server-1.7.99.901 + xserver git update till 15/2/2010 +- Solved .xlaunch file extension registry problem in vista +- Added opengl option in xlaunch +- Added showin of log file in menu +- Removed NATIVEGDI compilation (is currently not working) +- Solved problem of certain windows not being sizeable in multiwindow mode +- Also handle MappingNotify event in clipboard thread + + +Changes in 1.7.99.6 +------------------- +- Update the following packages: + libX11-1.3.3 + pixman-0.17.4 + glproto-1.4.11 + xserver git update till 25/1/2010 +- Added patches for bug http://bugs.freedesktop.org/show_bug.cgi?id=20500 + 0001-dix-EventToCore-needs-to-copy-the-root-window-too.patch + 0001-Re-enable-the-RECORD-extension.patch +- Solved a possible crash in closing down the screen due to use on an uninitialised pointer. +- Solved problem in drawing of wide lines. Occured when plotting in octave. + + +Changes in 1.7.99.5 +------------------- +- Update the following packages: + freetype-2.3.11 + mesa_7_6_1_rc1 + xserver git update till 5/1/2010 +- Fixed problem of clipboard client being shutdown when connecting through xdmcp. +- Always use screen 0 to start windows clients. +- Multiwindow: solved problem of window not having the correct size. + + +Changes in 1.7.99.4 +------------------- +- Update the following packages: + libxcb-1.5 + xcb-proto-1.6 + xserver git update till 17/12/2009 +- Use swrast_dri_dbg.dll when running vcxsrv_dbg.exe +- Added native opengl with the -wgl option + + +Changes in 1.7.99.3 +------------------- +- Update the following packages: + pixman-0.17.2 + +- Switch to the git master branch for xserver +- Added cygwin-aiglx branch of git://anongit.freedesktop.org/~jturney/xserver + to have native opengl rendering. Only working with -multiwindow and + when export LIBGL_ALWAYS_INDIRECT +- vcxsrv.exe: When the first parameter is -console, the output is also written + to the console. +- xinerama: solved endless loop problem when moving the cursor from one screen to there + other. +- vcxsrv.exe: Set the current directory always to the directory where vcxsrv.exe is + installed, so the fonts are always found. + +Changes in 1.7.99.2 +------------------- +- Added the following packages: + xwininfo-1.0.5 + xcalc-1.0.2 + xclock-1.0.4 + libXmu-1.0.5 + libXaw-1.0.7 + libXpm-3.5.8 + libXext-1.1.1 + libXt-1.0.7 +- Solved some building problems in the makefiles when building from cmd.exe +- Do not open command window when running release build +- Solved incorrect behaviour of writev in case the first send succeeded and the second returned with an error. +- Solved crash in dix\colormap.c because wrong map was adjusted when the number of visuals was reallocated. + +Changes in 1.7.99.1 +------------------- +- Updated to the following packages + libX11-1.3.2 + xorg-server-1.7.99.1 + xtrans-1.2.5 + font-util-1.1.1 +- Now complete locale directory is build and packaged. +- solved possible problem in xcb: Make sure the winsock library + and pthread library are initialised. +- Solved problem of local fonts not being registered. This caused certain + application not to start (like xcalc) + +Changes in 1.7.0.1 +------------------ +- Updated to the following packages + encodings-1.0.3 + font-adobe-75dpi-1.0.1 + font-adobe-100dpi-1.0.1 + font-adobe-utopia-75dpi-1.0.2 + font-adobe-utopia-100dpi-1.0.2 + font-adobe-utopia-type1-1.0.2 + font-alias-1.0.2 + font-arabic-misc-1.0.1 + font-bh-75dpi-1.0.1 + font-bh-100dpi-1.0.1 + font-bh-lucidatypewriter-75dpi-1.0.1 + font-bh-lucidatypewriter-100dpi-1.0.1 + font-bh-ttf-1.0.1 + font-bh-type1-1.0.1 + font-bitstream-75dpi-1.0.1 + font-bitstream-100dpi-1.0.1 + font-bitstream-speedo-1.0.1 + font-bitstream-type1-1.0.1 + font-cronyx-cyrillic-1.0.1 + font-cursor-misc-1.0.1 + font-daewoo-misc-1.0.1 + font-dec-misc-1.0.1 + font-ibm-type1-1.0.1 + font-isas-misc-1.0.1 + font-jis-misc-1.0.1 + font-micro-misc-1.0.1 + font-misc-cyrillic-1.0.1 + font-misc-ethiopic-1.0.1 + font-misc-meltho-1.0.1 + font-misc-misc-1.1.0 + font-mutt-misc-1.0.1 + font-schumacher-misc-1.1.0 + font-screen-cyrillic-1.0.2 + font-sony-misc-1.0.1 + font-sun-misc-1.0.1 + font-util-1.1.0 + font-winitzki-cyrillic-1.0.1 + font-xfree86-type1-1.0.2 + libXfont-1.4.1 + mkfontscale-1.0.7 +- Added mesa 7.6. Opengl is working now. +- Bug fix in miClipPictureSrc function. + +Changes in 1.7.0 +---------------- +- Updated to the following packages: + fixesproto-4.1.1 + randrproto-1.3.1 + libxkbfile-1.0.6 + xkeyboard-config-1.7 + pixman-0.16.2 + libX11-1.3 + libXinerama-1.1 + xkbcomp-1.1.1 + recordproto-1.14 + xineramaproto-1.2 + inputproto-2.0 + compositeproto-0.4.1 + xorg-server-1.7.0 +- Removed most tracing in release version. Use vcxsrv_dbg when you want a log of tracing. +- Also install xerrordb file. +- Make sure the temporary file gets deleted after keyboard compilation. +- Take for the log file the same verbosity as for the screen. +- Change trace buffer from static to local to avoid problems in multithreaded tracing. +- Print some more information in X error handler. +- Solved run-time downcast errors in debug version. +- Solved error: XSetWindowBorderWidth can only be called if the window class is different from InputOnly +- Make it possible to overrule XSERVER_DTRACE in the makefiles +- Call XSelectInput when a window is mapped and not when it is created. + (There seems to be windows which created and destroyed soon without being + mapped to real windows. This was causing some errors.) + + +Changes in 1.1.2 +---------------- +- Updated to the following packages: + xorg-server-1.6.99.902 + xproto-7.0.16 + libXdmcp-1.0.3 + bdftopcf-1.0.2 +- Solved endless looping when clipboardthread is restarted due to winioerrhandler. + Caused an unexpected exit of the server when the -clipboard option was specified. +- Solved possible crash upon server restart because some global pointers + were not initialised back to 0 + +Changes in 1.1.1 +---------------- +- Updated to the following packages: + xorg-server-1.6.99.901 + xkeyboard-config-1.6.99 +- Enabled support for xinerama +- Rewritten part of the clipboard code (sometimes clipboard was + not working as expected) + One problem remains (clipboard thread exiting at startup.). This + one is hard to solve since no known recipy to reproduce. +- Now also install the debug version of the executable (vcxsrv_dbg). + This version has some more logging and error checking. +- Solved stack corruption in QueryMonitor. Now use multimon.h +- Bug solved in xcb_conn.c: use closesocket instead of close. +- Also display the number of active clients in the tray icon tooltip text. + +Changes in 1.1.0 +---------------- +- Updated to the following packages: + libX11-1.2.99.901.tar.gz + xtrans-1.2.4.tar.gz + fontsproto-2.1.0.tar.gz + damageproto-1.2.0.tar.gz + xcmiscproto-1.2.0.tar.gz + bigreqsproto-1.1.0.tar.gz + scrnsaverproto-1.2.0.tar.gz + resourceproto-1.1.0.tar.gz + xextproto-7.1.1.tar.gz + recordproto-1.13.99.1.tar.gz + inputproto-1.9.99.902.tar.gz + font-util-1.0.2.tar.gz + xorg-server-1.6.99.900.tar.gz +- Make sure clipboard thread is cleaned up correctly on error. + Solved clipboard thread exits causing the clipboard not to be working. +- Solved some errors in the fonts directory due to makefile problems + +Changes in 1.0.2 +---------------- + +- installer: Do not show details by default +- xlaunch: show message box when display number is nto filled in. +- BUG: Solved right mouse button not working in multi window mode. +- Added plink tool in installation. +- Xlaunch is now a windows application in stead of a console application + +Changes in 1.0.1 +---------------- + +- installer: make sure the latest version of the installed MSVC run-time is used. +- BUG: Solved mouse wheel not behaving correctly (especially when there are multiple monitors) +- locale: swith to the version of libX11/nls/C/makefile +- clipboard: solved paste problem from X to windows (in Vista) +- xkbcomp/listing.c: Solved uninitialised variable error in WIN32 +- xkbdata.src/symbols/level3: Removed warning when compiling for be keyboard. -- Alioth's /srv/git/code.x2go.org/vcxsrv.git//..//_hooks_/post-receive-email on /srv/git/code.x2go.org/vcxsrv.git