blob: 9d1d24e8f7085cb80108ec69eb638ea6ae4ea873 [file] [log] [blame]
Paul Bakkerb749d682009-01-04 16:08:55 +00001PolarSSL ChangeLog
2
3= Version 0.x released on 2009-01-??
Paul Bakker7a7c78f2009-01-04 18:15:48 +00004 * Migrated XySSL to PolarSSL
5 * Added XTEA symmetric cipher
Paul Bakker38119b12009-01-10 23:31:23 +00006 * Added Camellia symmetric cipher
7? * Added SSL Support for Camellia
Paul Bakkerb749d682009-01-04 16:08:55 +00008? * Fixed dangerous bug that can cause a heap overflow in
9 rsa_pkcs1_decrypt
10
11================================================================
12XySSL ChangeLog
Paul Bakker5121ce52009-01-03 21:22:43 +000013
14= Version 0.9 released on 2008-03-16
15
16 * Added support for ciphersuite: SSL_RSA_AES_128_SHA
17 * Enabled support for large files by default in aescrypt2.c
18 * Preliminary openssl wrapper contributed by David Barrett
19 * Fixed a bug in ssl_write() that caused the same payload to
20 be sent twice in non-blocking mode when send returns EAGAIN
21 * Fixed ssl_parse_client_hello(): session id and challenge must
22 not be swapped in the SSLv2 ClientHello (found by Greg Robson)
23 * Added user-defined callback debug function (Krystian Kolodziej)
24 * Before freeing a certificate, properly zero out all cert. data
25 * Fixed the "mode" parameter so that encryption/decryption are
26 not swapped on PadLock; also fixed compilation on older versions
27 of gcc (bug reported by David Barrett)
28 * Correctly handle the case in padlock_xcryptcbc() when input or
29 ouput data is non-aligned by falling back to the software
30 implementation, as VIA Nehemiah cannot handle non-aligned buffers
31 * Fixed a memory leak in x509parse_crt() which was reported by Greg
32 Robson-Garth; some x509write.c fixes by Pascal Vizeli, thanks to
33 Matthew Page who reported several bugs
34 * Fixed x509_get_ext() to accept some rare certificates which have
35 an INTEGER instead of a BOOLEAN for BasicConstraints::cA.
36 * Added support on the client side for the TLS "hostname" extension
37 (patch contributed by David Patino)
38 * Make x509parse_verify() return BADCERT_CN_MISMATCH when an empty
39 string is passed as the CN (bug reported by spoofy)
40 * Added an option to enable/disable the BN assembly code
41 * Updated rsa_check_privkey() to verify that (D*E) = 1 % (P-1)*(Q-1)
42 * Disabled obsolete hash functions by default (MD2, MD4); updated
43 selftest and benchmark to not test ciphers that have been disabled
44 * Updated x509parse_cert_info() to correctly display byte 0 of the
45 serial number, setup correct server port in the ssl client example
46 * Fixed a critical denial-of-service with X.509 cert. verification:
47 peer may cause xyssl to loop indefinitely by sending a certificate
48 for which the RSA signature check fails (bug reported by Benoit)
49 * Added test vectors for: AES-CBC, AES-CFB, DES-CBC and 3DES-CBC,
50 HMAC-MD5, HMAC-SHA1, HMAC-SHA-256, HMAC-SHA-384, and HMAC-SHA-512
51 * Fixed HMAC-SHA-384 and HMAC-SHA-512 (thanks to Josh Sinykin)
52 * Modified ssl_parse_client_key_exchange() to protect against
53 Daniel Bleichenbacher attack on PKCS#1 v1.5 padding, as well
54 as the Klima-Pokorny-Rosa extension of Bleichenbacher's attack
55 * Updated rsa_gen_key() so that ctx->N is always nbits in size
56 * Fixed assembly PPC compilation errors on Mac OS X, thanks to
57 David Barrett and Dusan Semen
58
59= Version 0.8 released on 2007-10-20
60
61 * Modified the HMAC functions to handle keys larger
62 than 64 bytes, thanks to Stephane Desneux and gary ng
63 * Fixed ssl_read_record() to properly update the handshake
64 message digests, which fixes IE6/IE7 client authentication
65 * Cleaned up the XYSSL* #defines, suggested by Azriel Fasten
66 * Fixed net_recv(), thanks to Lorenz Schori and Egon Kocjan
67 * Added user-defined callbacks for handling I/O and sessions
68 * Added lots of debugging output in the SSL/TLS functions
69 * Added preliminary X.509 cert. writing by Pascal Vizeli
70 * Added preliminary support for the VIA PadLock routines
71 * Added AES-CFB mode of operation, contributed by chmike
72 * Added an SSL/TLS stress testing program (ssl_test.c)
73 * Updated the RSA PKCS#1 code to allow choosing between
74 RSA_PUBLIC and RSA_PRIVATE, as suggested by David Barrett
75 * Updated ssl_read() to skip 0-length records from OpenSSL
76 * Fixed the make install target to comply with *BSD make
77 * Fixed a bug in mpi_read_binary() on 64-bit platforms
78 * mpi_is_prime() speedups, thanks to Kevin McLaughlin
79 * Fixed a long standing memory leak in mpi_is_prime()
80 * Replaced realloc with malloc in mpi_grow(), and set
81 the sign of zero as positive in mpi_init() (reported
82 by Jonathan M. McCune)
83
84= Version 0.7 released on 2007-07-07
85
86 * Added support for the MicroBlaze soft-core processor
87 * Fixed a bug in ssl_tls.c which sometimes prevented SSL
88 connections from being established with non-blocking I/O
89 * Fixed a couple bugs in the VS6 and UNIX Makefiles
90 * Fixed the "PIC register ebx clobbered in asm" bug
91 * Added HMAC starts/update/finish support functions
92 * Added the SHA-224, SHA-384 and SHA-512 hash functions
93 * Fixed the net_set_*block routines, thanks to Andreas
94 * Added a few demonstration programs: md5sum, sha1sum,
95 dh_client, dh_server, rsa_genkey, rsa_sign, rsa_verify
96 * Added new bignum import and export helper functions
97 * Rewrote README.txt in program/ssl/ca to better explain
98 how to create a test PKI
99
100= Version 0.6 released on 2007-04-01
101
102 * Ciphers used in SSL/TLS can now be disabled at compile
103 time, to reduce the memory footprint on embedded systems
104 * Added multiply assembly code for the TriCore and modified
105 havege_struct for this processor, thanks to David Patiño
106 * Added multiply assembly code for 64-bit PowerPCs,
107 thanks to Peking University and the OSU Open Source Lab
108 * Added experimental support of Quantum Cryptography
109 * Added support for autoconf, contributed by Arnaud Cornet
110 * Fixed "long long" compilation issues on IA-64 and PPC64
111 * Fixed a bug introduced in xyssl-0.5/timing.c: hardclock
112 was not being correctly defined on ARM and MIPS
113
114= Version 0.5 released on 2007-03-01
115
116 * Added multiply assembly code for SPARC and Alpha
117 * Added (beta) support for non-blocking I/O operations
118 * Implemented session resuming and client authentication
119 * Fixed some portability issues on WinCE, MINIX 3, Plan9
120 (thanks to Benjamin Newman), HP-UX, FreeBSD and Solaris
121 * Improved the performance of the EDH key exchange
122 * Fixed a bug that caused valid packets with a payload
123 size of 16384 bytes to be rejected
124
125= Version 0.4 released on 2007-02-01
126
127 * Added support for Ephemeral Diffie-Hellman key exchange
128 * Added multiply asm code for SSE2, ARM, PPC, MIPS and M68K
129 * Various improvement to the modular exponentiation code
130 * Rewrote the headers to generate the API docs with doxygen
131 * Fixed a bug in ssl_encrypt_buf (incorrect padding was
132 generated) and in ssl_parse_client_hello (max. client
133 version was not properly set), thanks to Didier Rebeix
134 * Fixed another bug in ssl_parse_client_hello: clients with
135 cipherlists larger than 96 bytes were incorrectly rejected
136 * Fixed a couple memory leak in x509_read.c
137
138= Version 0.3 released on 2007-01-01
139
140 * Added server-side SSLv3 and TLSv1.0 support
141 * Multiple fixes to enhance the compatibility with g++,
142 thanks to Xosé Antón Otero Ferreira
143 * Fixed a bug in the CBC code, thanks to dowst; also,
144 the bignum code is no longer dependant on long long
145 * Updated rsa_pkcs1_sign to handle arbitrary large inputs
146 * Updated timing.c for improved compatibility with i386
147 and 486 processors, thanks to Arnaud Cornet
148
149= Version 0.2 released on 2006-12-01
150
151 * Updated timing.c to support ARM and MIPS arch
152 * Updated the MPI code to support 8086 on MSVC 1.5
153 * Added the copyright notice at the top of havege.h
154 * Fixed a bug in sha2_hmac, thanks to newsoft/Wenfang Zhang
155 * Fixed a bug reported by Adrian Rüegsegger in x509_read_key
156 * Fixed a bug reported by Torsten Lauter in ssl_read_record
157 * Fixed a bug in rsa_check_privkey that would wrongly cause
158 valid RSA keys to be dismissed (thanks to oldwolf)
159 * Fixed a bug in mpi_is_prime that caused some primes to fail
160 the Miller-Rabin primality test
161
162 I'd also like to thank Younès Hafri for the CRUX linux port,
163 Khalil Petit who added XySSL into pkgsrc and Arnaud Cornet
164 who maintains the Debian package :-)
165
166= Version 0.1 released on 2006-11-01
167