]> begriffs open source - freertos/blob - FreeRTOS-Plus/Source/CyaSSL/README
Update FreeRTOS_FD_SET() to check there is enough space in the queue before adding...
[freertos] / FreeRTOS-Plus / Source / CyaSSL / README
1 *** Notes, Please read ***
2
3 Note 1)
4 CyaSSL now needs all examples and tests to be run from the CyaSSL home
5 directory.  This is because it finds certs and keys from ./certs/.  Trying to
6 maintain the ability to run each program from its own directory, the testsuite
7 directory, the main directory (for make check/test), and for the various
8 different project layouts (with or without config) was becoming harder and 
9 harder.  Now to run testsuite just do:
10
11 ./testsuite/testsuite
12
13 or 
14
15 make test    (when using autoconf)
16
17 On *nix or Windows the examples and testsuite will check to see if the current
18 directory is the source directory and if so, attempt to change to the CyaSSL
19 home directory.  This should work in most setup cases, if not, just follow the
20 beginning of the note and specify the full path.
21
22
23 Note 2)
24 CyaSSL takes a different approach to certificate verification than OpenSSL does.
25 The default policy for the client is to verify the server, this means that if
26 you don't load CAs to verify the server you'll get a connect error, unable to 
27 verify (-155).  It you want to mimic OpenSSL behavior of having SSL_connect
28 succeed even if verifying the server fails and reducing security you can do
29 this by calling:
30
31 SSL_CTX_set_verify(ctx, SSL_VERIFY_NONE, 0);
32
33 before calling SSL_new();  Though it's not recommended.
34
35 *** end Note ***
36
37 CyaSSL Release 2.3.0 (8/10/2012)
38
39 Release 2.3.0 CyaSSL has bug fixes and a few new features including:
40 - AES-GCM crypto and cipher suites
41 - make test cipher suite checks
42 - Subject AltName processing
43 - Command line support for client/server examples
44 - Sniffer SessionTicket support
45 - SHA-384 cipher suites
46 - Verify cipher suite validity when user overrides
47 - CRL dir monitoring
48 - DTLS Cookie support, reliability coming soon
49
50 The CyaSSL manual is available at:
51 http://www.yassl.com/documentation/CyaSSL-Manual.pdf.  For build instructions 
52 and comments about the new features please check the manual.
53
54
55
56 ***************CyaSSL Release 2.2.0 (5/18/2012)
57
58 Release 2.2.0 CyaSSL has bug fixes and a few new features including:
59 - Initial CRL support (--enable-crl)
60 - Initial OCSP support (--enable-ocsp)
61 - Add static ECDH suites
62 - SHA-384 support
63 - ECC client certificate support
64 - Add medium session cache size (1055 sessions) 
65 - Updated unit tests
66 - Protection against mutex reinitialization
67
68
69 The CyaSSL manual is available at:
70 http://www.yassl.com/documentation/CyaSSL-Manual.pdf.  For build instructions 
71 and comments about the new features please check the manual.
72
73
74
75 ***************CyaSSL Release 2.0.8 (2/24/2012)
76
77 Release 2.0.8 CyaSSL has bug fixes and a few new features including:
78 - A fix for malicious certificates pointed out by Remi Gacogne (thanks)
79   resulting in NULL pointer use.
80 - Respond to renegotiation attempt with no_renegoatation alert
81 - Add basic path support for load_verify_locations()
82 - Add set Temp EC-DHE key size
83 - Extra checks on rsa test when porting into
84
85
86 The CyaSSL manual is available at:
87 http://www.yassl.com/documentation/CyaSSL-Manual.pdf.  For build instructions 
88 and comments about the new features please check the manual.
89
90
91
92 ************* CyaSSL Release 2.0.6 (1/27/2012)
93
94 Release 2.0.6 CyaSSL has bug fixes and a few new features including:
95 - Fixes for CA basis constraint check
96 - CTX reference counting
97 - Initial unit test additions
98 - Lean and Mean Windows fix
99 - ECC benchmarking
100 - SSMTP build support
101 - Ability to group handshake messages with set_group_messages(ctx/ssl)
102 - CA cache addition callback
103 - Export Base64_Encode for general use
104
105 The CyaSSL manual is available at:
106 http://www.yassl.com/documentation/CyaSSL-Manual.pdf.  For build instructions 
107 and comments about the new features please check the manual.
108
109
110
111 ************* CyaSSL Release 2.0.2 (12/05/2011)
112
113 Release 2.0.2 CyaSSL has bug fixes and a few new features including:
114 - CTaoCrypt Runtime library detection settings when directly using the crypto
115   library
116 - Default certificate generation now uses SHAwRSA and adds SHA256wRSA generation
117 - All test certificates now use 2048bit and SHA-1 for better modern browser
118   support
119 - Direct AES block access and AES-CTR (counter) mode
120 - Microchip pic32 support
121
122 The CyaSSL manual is available at:
123 http://www.yassl.com/documentation/CyaSSL-Manual.pdf.  For build instructions 
124 and comments about the new features please check the manual.
125
126
127
128 ************* CyaSSL Release 2.0.0rc3 (9/28/2011)
129
130 Release 2.0.0rc3 for CyaSSL has bug fixes and a few new features including:
131 - updated autoconf support
132 - better make install and uninstall  (uses system directories)
133 - make test / make check
134 - CyaSSL headers now in <cyassl/*.h>
135 - CTaocrypt headers now in <cyassl/ctaocrypt/*.h>
136 - OpenSSL compatibility headers now in <cyassl/openssl/*.h>
137 - examples and tests all run from home diretory so can use certs in ./certs
138         (see note 1)
139
140 So previous applications that used the OpenSSL compatibility header
141 <openssl/ssl.h> now need to include <cyassl/openssl/ssl.h> instead, no other
142 changes are required.
143
144 Special Thanks to Brian Aker for his autoconf, install, and header patches.
145
146 The CyaSSL manual is available at:
147 http://www.yassl.com/documentation/CyaSSL-Manual.pdf.  For build instructions 
148 and comments about the new features please check the manual.
149
150 ************CyaSSL Release 2.0.0rc2 (6/6/2011)
151
152 Release 2.0.0rc2 for CyaSSL has bug fixes and a few new features including:
153 - bug fixes (Alerts, DTLS with DHE)
154 - FreeRTOS support
155 - lwIP support
156 - Wshadow warnings removed
157 - asn public header
158 - CTaoCrypt public headers now all have ctc_ prefix (the manual is still being
159         updated to relfect this change)
160 - and more.
161
162 This is the 2nd and perhaps final release candidate for version 2.
163 Please send any comments or questions to support@yassl.com.
164
165 The CyaSSL manual is available at:
166 http://www.yassl.com/documentation/CyaSSL-Manual.pdf.  For build instructions 
167 and comments about the new features please check the manual.
168
169 ***********CyaSSL Release 2.0.0rc1 (5/2/2011)
170
171 Release 2.0.0rc1 for CyaSSL has many new features including:
172 - bug fixes
173 - SHA-256 cipher suites 
174 - Root Certificate Verification (instead of needing all certs in the chain) 
175 - PKCS #8 private key encryption (supports PKCS #5 v1-v2 and PKCS #12) 
176 - Serial number retrieval for x509 
177 - PBKDF2 and PKCS #12 PBKDF 
178 - UID parsing for x509 
179 - SHA-256 certificate signatures 
180 - Client and server can send chains (SSL_CTX_use_certificate_chain_file) 
181 - CA loading can now parse multiple certificates per file
182 - Dynamic memory runtime hooks
183 - Runtime hooks for logging
184 - EDH on server side
185 - More informative error codes
186 - More informative logging messages
187 - Version downgrade more robust (use SSL_v23*)
188 - Shared build only by default through ./configure
189 - Compiler visibility is now used, internal functions not polluting namespace
190 - Single Makefile, no recursion, for faster and simpler building
191 - Turn on all warnings possible build option, warning fixes
192 - and more.
193
194 Because of all the new features and the multiple OS, compiler, feature-set
195 options that CyaSSL allows, there may be some configuration fixes needed.
196 Please send any comments or questions to support@yassl.com.
197
198 The CyaSSL manual is available at:
199 http://www.yassl.com/documentation/CyaSSL-Manual.pdf.  For build instructions 
200 and comments about the new features please check the manual.
201
202 ****************** CyaSSL Release 1.9.0 (3/2/2011)
203
204 Release 1.9.0 for CyaSSL adds bug fixes, improved TLSv1.2 through testing and
205 better hash/sig algo ids, --enable-webServer for the yaSSL embedded web server,
206 improper AES key setup detection, user cert verify callback improvements, and
207 more.
208
209 The CyaSSL manual offering is included in the doc/ directory.  For build
210 instructions and comments about the new features please check the manual.
211
212 Please send any comments or questions to support@yassl.com.
213
214 ****************** CyaSSL Release 1.8.0 (12/23/2010)
215
216 Release 1.8.0 for CyaSSL adds bug fixes, x509 v3 CA signed certificate
217 generation, a C standard library abstraction layer, lower memory use, increased
218 portability through the os_settings.h file, and the ability to use NTRU cipher
219 suites when used in conjunction with an NTRU license and library.
220
221 The initial CyaSSL manual offering is included in the doc/ directory.  For
222 build instructions and comments about the new features please check the manual.
223
224 Please send any comments or questions to support@yassl.com.
225
226 Happy Holidays.
227  
228
229 ********************* CyaSSL Release 1.6.5 (9/9/2010)
230
231 Release 1.6.5 for CyaSSL adds bug fixes and x509 v3 self signed certificate
232 generation.
233  
234 For general build instructions see doc/Building_CyaSSL.pdf.
235
236 To enable certificate generation support add this option to ./configure
237 ./configure --enable-certgen
238
239 An example is included in ctaocrypt/test/test.c and documentation is provided
240 in doc/CyaSSL_Extensions_Reference.pdf item 11.
241
242 ********************** CyaSSL Release 1.6.0 (8/27/2010)
243
244 Release 1.6.0 for CyaSSL adds bug fixes, RIPEMD-160, SHA-512, and RSA key
245 generation.
246  
247 For general build instructions see doc/Building_CyaSSL.pdf.
248
249 To add RIPEMD-160 support add this option to ./configure
250 ./configure --enable-ripemd
251
252 To add SHA-512 support add this option to ./configure
253 ./configure --enable-sha512
254
255 To add RSA key generation support add this option to ./configure
256 ./configure --enable-keygen
257
258 Please see ctaocrypt/test/test.c for examples and usage.
259
260 For Windows, RIPEMD-160 and SHA-512 are enabled by default but key generation is
261 off by default.  To turn key generation on add the define CYASSL_KEY_GEN to
262 CyaSSL.
263
264
265 *************   CyaSSL Release 1.5.6 (7/28/2010)
266
267 Release 1.5.6 for CyaSSL adds bug fixes, compatibility for our JSSE provider,
268 and a fix for GCC builds on some systems.
269  
270 For general build instructions see doc/Building_CyaSSL.pdf.
271
272 To add AES-NI support add this option to ./configure
273 ./configure --enable-aesni
274
275 You'll need GCC 4.4.3 or later to make use of the assembly.
276
277 **************  CyaSSL Release 1.5.4 (7/7/2010)
278
279 Release 1.5.4 for CyaSSL adds bug fixes, support for AES-NI, SHA1 speed 
280 improvements from loop unrolling, and support for the Mongoose Web Server.
281  
282 For general build instructions see doc/Building_CyaSSL.pdf.
283
284 To add AES-NI support add this option to ./configure
285 ./configure --enable-aesni
286
287 You'll need GCC 4.4.3 or later to make use of the assembly.
288
289 ***************  CyaSSL Release 1.5.0 (5/11/2010)
290
291 Release 1.5.0 for CyaSSL adds bug fixes, GoAhead WebServer support, sniffer
292 support, and initial swig interface support.
293
294 For general build instructions see doc/Building_CyaSSL.pdf.
295
296 To add support for GoAhead WebServer either --enable-opensslExtra or if you
297 don't want all the features of opensslExtra you can just define GOAHEAD_WS
298 instead.  GOAHEAD_WS can be added to ./configure with CFLAGS=-DGOAHEAD_WS or
299 you can define it yourself.
300
301 To look at the sniffer support please see the sniffertest app in
302 sslSniffer/sslSnifferTest.  Build with --enable-sniffer on *nix or use the
303 vcproj files on windows.  You'll need to have pcap installed on *nix and
304 WinPcap on windows.
305
306 A swig interface file is now located in the swig directory for using Python,
307 Java, Perl, and others with CyaSSL.  This is initial support and experimental,
308 please send questions or comments to support@yassl.com.
309
310 When doing load testing with CyaSSL, on the echoserver example say, the client
311 machine may run out of tcp ephemeral ports, they will end up in the TIME_WAIT
312 queue, and can't be reused by default.  There are generally two ways to fix
313 this.  1) Reduce the length sockets remain on the TIME_WAIT queue or 2) Allow
314 items on the TIME_WAIT queue to be reused.
315
316
317 To reduce the TIME_WAIT length in OS X to 3 seconds (3000 milliseconds)
318
319 sudo sysctl -w net.inet.tcp.msl=3000
320
321 In Linux
322
323 sudo sysctl -w net.ipv4.tcp_tw_reuse=1
324
325 allows reuse of sockets in TIME_WAIT
326
327 sudo sysctl -w net.ipv4.tcp_tw_recycle=1
328
329 works but seems to remove sockets from  TIME_WAIT entirely?
330
331 sudo sysctl -w net.ipv4.tcp_fin_timeout=1
332
333 doen't control TIME_WAIT, it controls FIN_WAIT(2) contrary to some posts
334
335
336 ******************** CyaSSL Release 1.4.0 (2/18/2010)
337
338 Release 1.3.0 for CyaSSL adds bug fixes, better multi TLS/SSL version support
339 through SSLv23_server_method(), and improved documentation in the doc/ folder.
340
341 For general build instructions doc/Building_CyaSSL.pdf.
342
343 ******************** CyaSSL Release 1.3.0 (1/21/2010)
344
345 Release 1.3.0 for CyaSSL adds bug fixes, a potential security problem fix,
346 better porting support, removal of assert()s, and a complete THREADX port.
347
348 For general build instructions see rc1 below.
349
350 ******************** CyaSSL Release 1.2.0 (11/2/2009)
351
352 Release 1.2.0 for CyaSSL adds bug fixes and session negotiation if first use is
353 read or write.
354
355 For general build instructions see rc1 below.
356
357 ******************** CyaSSL Release 1.1.0 (9/2/2009)
358
359 Release 1.1.0 for CyaSSL adds bug fixes, a check against malicious session
360 cache use, support for lighttpd, and TLS 1.2.
361
362 To get TLS 1.2 support please use the client and server functions:
363
364 SSL_METHOD *TLSv1_2_server_method(void);
365 SSL_METHOD *TLSv1_2_client_method(void);
366
367 CyaSSL was tested against lighttpd 1.4.23.  To build CyaSSL for use with 
368 lighttpd use the following commands from the CyaSSL install dir <CyaSSLDir>:
369
370 ./configure --disable-shared --enable-opensslExtra --enable-fastmath --without-zlib
371
372 make
373 make openssl-links
374
375 Then to build lighttpd with CyaSSL use the following commands from the
376 lighttpd install dir:
377
378 ./configure --with-openssl --with-openssl-includes=<CyaSSLDir>/include --with-openssl-libs=<CyaSSLDir>/lib LDFLAGS=-lm
379
380 make
381
382 On some systems you may get a linker error about a duplicate symbol for
383 MD5_Init or other MD5 calls.  This seems to be caused by the lighttpd src file
384 md5.c, which defines MD5_Init(), and is included in liblightcomp_la-md5.o.
385 When liblightcomp is linked with the SSL_LIBs the linker may complain about
386 the duplicate symbol.  This can be fixed by editing the lighttpd src file md5.c
387 and adding this line to the beginning of the file:
388
389 #if 0
390
391 and this line to the end of the file
392
393 #endif
394
395 Then from the lighttpd src dir do a:
396
397 make clean
398 make
399
400
401 If you get link errors about undefined symbols more than likely the actual
402 OpenSSL libraries are found by the linker before the CyaSSL openssl-links that
403 point to the CyaSSL library, causing the linker confusion.  This can be fixed
404 by editing the Makefile in the lighttpd src directory and changing the line:
405
406 SSL_LIB = -lssl -lcrypto
407
408 to
409
410 SSL_LIB = -lcyassl
411
412 Then from the lighttpd src dir do a:
413
414 make clean
415 make
416
417 This should remove any confusion the linker may be having with missing symbols.
418
419 For any questions or concerns please contact support@yassl.com .
420
421 For general build instructions see rc1 below.
422
423 ******************CyaSSL Release 1.0.6 (8/03/2009)
424
425 Release 1.0.6 for CyaSSL adds bug fixes, an improved session cache, and faster
426 math with a huge code option.
427
428 The session cache now defaults to a client mode, also good for embedded servers.
429 For servers not under heavy load (less than 200 new sessions per minute), define
430 BIG_SESSION_CACHE.  If the server will be under heavy load, define
431 HUGE_SESSION_CACHE.
432
433 There is now a fasthugemath option for configure.  This enables fastmath plus
434 even faster math by greatly increasing the code size of the math library. Use
435 the benchmark utility to compare public key operations.
436
437
438 For general build instructions see rc1 below.
439
440 ******************CyaSSL Release 1.0.3 (5/10/2009)
441
442 Release 1.0.3 for CyaSSL adds bug fixes and add increased support for OpenSSL
443 compatibility when building other applications.
444
445 Release 1.0.3 includes an alpha release of DTLS for both client and servers.
446 This is only for testing purposes at this time.  Rebroadcast and reordering
447 aren't fully implemented at this time but will be for the next release.
448
449 For general build instructions see rc1 below.
450
451 ******************CyaSSL Release 1.0.2 (4/3/2009)
452
453 Release 1.0.2 for CyaSSL adds bug fixes for a couple I/O issues.  Some systems
454 will send a SIGPIPE on socket recv() at any time and this should be handled by
455 the application by turning off SIGPIPE through setsockopt() or returning from
456 the handler.
457
458 Release 1.0.2 includes an alpha release of DTLS for both client and servers.
459 This is only for testing purposes at this time.  Rebroadcast and reordering
460 aren't fully implemented at this time but will be for the next release.
461
462 For general build instructions see rc1 below.
463
464 *****************CyaSSL Release Candidiate 3 rc3-1.0.0 (2/25/2009)
465
466
467 Release Candidate 3 for CyaSSL 1.0.0 adds bug fixes and adds a project file for
468 iPhone development with Xcode.  cyassl-iphone.xcodeproj is located in the root
469 directory.  This release also includes a fix for supporting other
470 implementations that bundle multiple messages at the record layer, this was
471 lost when cyassl i/o was re-implemented but is now fixed.
472
473 For general build instructions see rc1 below.
474
475 *****************CyaSSL Release Candidiate 2 rc2-1.0.0 (1/21/2009)
476
477
478 Release Candidate 2 for CyaSSL 1.0.0 adds bug fixes and adds two new stream
479 ciphers along with their respective cipher suites.  CyaSSL adds support for
480 HC-128 and RABBIT stream ciphers.  The new suites are:
481
482 TLS_RSA_WITH_HC_128_CBC_SHA
483 TLS_RSA_WITH_RABBIT_CBC_SHA
484
485 And the corresponding cipher names are
486
487 HC128-SHA
488 RABBIT-SHA
489
490 CyaSSL also adds support for building with devkitPro for PPC by changing the
491 library proper to use libogc.  The examples haven't been changed yet but if
492 there's interest they can be.  Here's an example ./configure to build CyaSSL
493 for devkitPro:
494
495 ./configure --disable-shared CC=/pathTo/devkitpro/devkitPPC/bin/powerpc-gekko-gcc --host=ppc --without-zlib --enable-singleThreaded RANLIB=/pathTo/devkitpro/devkitPPC/bin/powerpc-gekko-ranlib CFLAGS="-DDEVKITPRO -DGEKKO"
496
497 For linking purposes you'll need
498
499 LDFLAGS="-g -mrvl -mcpu=750 -meabi -mhard-float -Wl,-Map,$(notdir $@).map"
500
501 For general build instructions see rc1 below.
502
503
504 ********************CyaSSL Release Candidiate 1 rc1-1.0.0 (12/17/2008)
505
506
507 Release Candidate 1 for CyaSSL 1.0.0 contains major internal changes.  Several
508 areas have optimization improvements, less dynamic memory use, and the I/O
509 strategy has been refactored to allow alternate I/O handling or Library use.
510 Many thanks to Thierry Fournier for providing these ideas and most of the work.
511
512 Because of these changes, this release is only a candidate since some problems
513 are probably inevitable on some platform with some I/O use.  Please report any
514 problems and we'll try to resolve them as soon as possible.  You can contact us
515 at support@yassl.com or todd@yassl.com.
516
517 Using TomsFastMath by passing --enable-fastmath to ./configure now uses assembly
518 on some platforms.  This is new so please report any problems as every compiler,
519 mode, OS combination hasn't been tested.  On ia32 all of the registers need to
520 be available so be sure to pass these options to CFLAGS:
521
522 CFLAGS="-O3 -fomit-frame-pointer"
523
524 OS X will also need -mdynamic-no-pic added to CFLAGS
525
526 Also if you're building in shared mode for ia32 you'll need to pass options to
527 LDFLAGS as well on OS X:
528
529 LDFLAGS=-Wl,-read_only_relocs,warning
530
531 This gives warnings for some symbols but seems to work.
532
533
534 --To build on Linux, Solaris, *BSD, Mac OS X, or Cygwin:
535
536     ./configure
537     make
538
539     from the ./testsuite/ directory run ./testsuite 
540
541 to make a debug build:
542
543     ./configure --enable-debug --disable-shared
544     make
545
546
547
548 --To build on Win32
549
550 Choose (Re)Build All from the project workspace
551
552 Run the testsuite program
553
554
555
556
557
558 *************************CyaSSL version 0.9.9 (7/25/2008) 
559
560 This release of CyaSSL adds bug fixes, Pre-Shared Keys, over-rideable memory
561 handling, and optionally TomsFastMath.  Thanks to Moisés Guimarães for the
562 work on TomsFastMath.
563
564 To optionally use TomsFastMath pass --enable-fastmath to ./configure
565 Or define USE_FAST_MATH in each project from CyaSSL for MSVC.
566
567 Please use the benchmark routine before and after to see the performance
568 difference, on some platforms the gains will be little but RSA encryption
569 always seems to be faster.  On x86-64 machines with GCC the normal math library
570 may outperform the fast one when using CFLAGS=-m64 because TomsFastMath can't
571 yet use -m64 because of GCCs inability to do 128bit division.
572
573      **** UPDATE GCC 4.2.1 can now do 128bit division ***
574
575 See notes below (0.2.0) for complete build instructions.
576
577
578 ****************CyaSSL version 0.9.8 (5/7/2008) 
579
580 This release of CyaSSL adds bug fixes, client side Diffie-Hellman, and better
581 socket handling.
582
583 See notes below (0.2.0) for complete build instructions.
584
585
586 ****************CyaSSL version 0.9.6 (1/31/2008) 
587
588 This release of CyaSSL adds bug fixes, increased session management, and a fix
589 for gnutls.
590
591 See notes below (0.2.0) for complete build instructions.
592
593
594 ****************CyaSSL version 0.9.0 (10/15/2007) 
595
596 This release of CyaSSL adds bug fixes, MSVC 2005 support, GCC 4.2 support, 
597 IPV6 support and test, and new test certificates.
598
599 See notes below (0.2.0) for complete build instructions.
600
601
602 ****************CyaSSL version 0.8.0 (1/10/2007) 
603
604 This release of CyaSSL adds increased socket support, for non-blocking writes,
605 connects, and interrupted system calls.
606
607 See notes below (0.2.0) for complete build instructions.
608
609
610 ****************CyaSSL version 0.6.3 (10/30/2006) 
611
612 This release of CyaSSL adds debug logging to stderr to aid in the debugging of
613 CyaSSL on systems that may not provide the best support.
614
615 If CyaSSL is built with debugging support then you need to call
616 CyaSSL_Debugging_ON() to turn logging on.
617
618 On Unix use ./configure --enable-debug
619
620 On Windows define DEBUG_CYASSL when building CyaSSL
621
622
623 To turn logging back off call CyaSSL_Debugging_OFF()
624
625 See notes below (0.2.0) for complete build instructions.
626
627
628 *****************CyaSSL version 0.6.2 (10/29/2006) 
629
630 This release of CyaSSL adds TLS 1.1.
631
632 Note that CyaSSL has certificate verification on by default, unlike OpenSSL.
633 To emulate OpenSSL behavior, you must call SSL_CTX_set_verify() with
634 SSL_VERIFY_NONE.  In order to have full security you should never do this, 
635 provide CyaSSL with the proper certificates to eliminate impostors and call
636 CyaSSL_check_domain_name() to prevent man in the middle attacks.
637
638 See notes below (0.2.0) for build instructions.
639
640 *****************CyaSSL version 0.6.0 (10/25/2006) 
641
642 This release of CyaSSL adds more SSL functions, better autoconf, nonblocking
643 I/O for accept, connect, and read.  There is now an --enable-small configure
644 option that turns off TLS, AES, DES3, HMAC, and ERROR_STRINGS, see configure.in
645 for the defines.  Note that TLS requires HMAC and AES requires TLS.
646
647 See notes below (0.2.0) for build instructions.
648
649
650 *****************CyaSSL version 0.5.5 (09/27/2006) 
651
652 This mini release of CyaSSL adds better input processing through buffered input
653 and big message support.  Added SSL_pending() and some sanity checks on user
654 settings.
655
656 See notes below (0.2.0) for build instructions.
657
658
659 *****************CyaSSL version 0.5.0 (03/27/2006) 
660
661 This release of CyaSSL adds AES support and minor bug fixes. 
662
663 See notes below (0.2.0) for build instructions.
664
665
666 *****************CyaSSL version 0.4.0 (03/15/2006)
667
668 This release of CyaSSL adds TLSv1 client/server support and libtool. 
669
670 See notes below for build instructions.
671
672
673 *****************CyaSSL version 0.3.0 (02/26/2006)
674
675 This release of CyaSSL adds SSLv3 server support and session resumption. 
676
677 See notes below for build instructions.
678
679
680 *****************CyaSSL version 0.2.0 (02/19/2006)
681
682
683 This is the first release of CyaSSL and its crypt brother, CTaoCrypt.  CyaSSL
684 is written in ANSI C with the idea of a small code size, footprint, and memory
685 usage in mind.  CTaoCrypt can be as small as 32K, and the current client
686 version of CyaSSL can be as small as 12K.
687
688
689 The first release of CTaoCrypt supports MD5, SHA-1, 3DES, ARC4, Big Integer
690 Support, RSA, ASN parsing, and basic x509 (en/de)coding.
691
692 The first release of CyaSSL supports normal client RSA mode SSLv3 connections
693 with support for SHA-1 and MD5 digests.  Ciphers include 3DES and RC4.
694
695
696 --To build on Linux, Solaris, *BSD, Mac OS X, or Cygwin:
697
698     ./configure
699     make
700
701     from the ./testsuite/ directory run ./testsuite 
702
703 to make a debug build:
704
705     ./configure --enable-debug --disable-shared
706     make
707
708
709
710 --To build on Win32
711
712 Choose (Re)Build All from the project workspace
713
714 Run the testsuite program
715
716
717
718 *** The next release of CyaSSL will support a server and more OpenSSL
719 compatibility functions.
720
721
722 Please send questions or comments to todd@yassl.com
723