(linenum→info "unix/slp.c:2238")

openssl/0.9.8g/NEWS

    1: 
    2:   NEWS
    3:   ====
    4: 
    5:   This file gives a brief overview of the major changes between each OpenSSL
    6:   release. For more details please read the CHANGES file.
    7: 
    8:   Major changes between OpenSSL 0.9.8f and OpenSSL 0.9.8g:
    9: 
   10:       o Fixes for bugs introduced with 0.9.8f.
   11: 
   12:   Major changes between OpenSSL 0.9.8e and OpenSSL 0.9.8f:
   13: 
   14:       o Add gcc 4.2 support.
   15:       o Add support for AES and SSE2 assembly lanugauge optimization
   16:         for VC++ build.
   17:       o Support for RFC4507bis and server name extensions if explicitly 
   18:         selected at compile time.
   19:       o DTLS improvements.
   20:       o RFC4507bis support.
   21:       o TLS Extensions support.
   22: 
   23:   Major changes between OpenSSL 0.9.8d and OpenSSL 0.9.8e:
   24: 
   25:       o Various ciphersuite selection fixes.
   26:       o RFC3779 support.
   27: 
   28:   Major changes between OpenSSL 0.9.8c and OpenSSL 0.9.8d:
   29: 
   30:       o Introduce limits to prevent malicious key DoS  (CVE-2006-2940)
   31:       o Fix security issues (CVE-2006-2937, CVE-2006-3737, CVE-2006-4343)
   32:       o Changes to ciphersuite selection algorithm
   33: 
   34:   Major changes between OpenSSL 0.9.8b and OpenSSL 0.9.8c:
   35: 
   36:       o Fix Daniel Bleichenbacher forged signature attack, CVE-2006-4339
   37:       o New cipher Camellia
   38: 
   39:   Major changes between OpenSSL 0.9.8a and OpenSSL 0.9.8b:
   40: 
   41:       o Cipher string fixes.
   42:       o Fixes for VC++ 2005.
   43:       o Updated ECC cipher suite support.
   44:       o New functions EVP_CIPHER_CTX_new() and EVP_CIPHER_CTX_free().
   45:       o Zlib compression usage fixes.
   46:       o Built in dynamic engine compilation support on Win32.
   47:       o Fixes auto dynamic engine loading in Win32.
   48: 
   49:   Major changes between OpenSSL 0.9.8 and OpenSSL 0.9.8a:
   50: 
   51:       o Fix potential SSL 2.0 rollback, CVE-2005-2969
   52:       o Extended Windows CE support
   53: 
   54:   Major changes between OpenSSL 0.9.7g and OpenSSL 0.9.8:
   55: 
   56:       o Major work on the BIGNUM library for higher efficiency and to
   57:         make operations more streamlined and less contradictory.  This
   58:         is the result of a major audit of the BIGNUM library.
   59:       o Addition of BIGNUM functions for fields GF(2^m) and NIST
   60:         curves, to support the Elliptic Crypto functions.
   61:       o Major work on Elliptic Crypto; ECDH and ECDSA added, including
   62:         the use through EVP, X509 and ENGINE.
   63:       o New ASN.1 mini-compiler that's usable through the OpenSSL
   64:         configuration file.
   65:       o Added support for ASN.1 indefinite length constructed encoding.
   66:       o New PKCS#12 'medium level' API to manipulate PKCS#12 files.
   67:       o Complete rework of shared library construction and linking
   68:         programs with shared or static libraries, through a separate
   69:         Makefile.shared.
   70:       o Rework of the passing of parameters from one Makefile to another.
   71:       o Changed ENGINE framework to load dynamic engine modules
   72:         automatically from specifically given directories.
   73:       o New structure and ASN.1 functions for CertificatePair.
   74:       o Changed the ZLIB compression method to be stateful.
   75:       o Changed the key-generation and primality testing "progress"
   76:         mechanism to take a structure that contains the ticker
   77:         function and an argument.
   78:       o New engine module: GMP (performs private key exponentiation).
   79:       o New engine module: VIA PadLOck ACE extension in VIA C3
   80:         Nehemiah processors.
   81:       o Added support for IPv6 addresses in certificate extensions.
   82:         See RFC 1884, section 2.2.
   83:       o Added support for certificate policy mappings, policy
   84:         constraints and name constraints.
   85:       o Added support for multi-valued AVAs in the OpenSSL
   86:         configuration file.
   87:       o Added support for multiple certificates with the same subject
   88:         in the 'openssl ca' index file.
   89:       o Make it possible to create self-signed certificates using
   90:         'openssl ca -selfsign'.
   91:       o Make it possible to generate a serial number file with
   92:         'openssl ca -create_serial'.
   93:       o New binary search functions with extended functionality.
   94:       o New BUF functions.
   95:       o New STORE structure and library to provide an interface to all
   96:         sorts of data repositories.  Supports storage of public and
   97:         private keys, certificates, CRLs, numbers and arbitrary blobs.
   98:         This library is unfortunately unfinished and unused withing
   99:         OpenSSL.
  100:       o New control functions for the error stack.
  101:       o Changed the PKCS#7 library to support one-pass S/MIME
  102:         processing.
  103:       o Added the possibility to compile without old deprecated
  104:         functionality with the OPENSSL_NO_DEPRECATED macro or the
  105:         'no-deprecated' argument to the config and Configure scripts.
  106:       o Constification of all ASN.1 conversion functions, and other
  107:         affected functions.
  108:       o Improved platform support for PowerPC.
  109:       o New FIPS 180-2 algorithms (SHA-224, -256, -384 and -512).
  110:       o New X509_VERIFY_PARAM structure to support parametrisation
  111:         of X.509 path validation.
  112:       o Major overhaul of RC4 performance on Intel P4, IA-64 and
  113:         AMD64.
  114:       o Changed the Configure script to have some algorithms disabled
  115:         by default.  Those can be explicitely enabled with the new
  116:         argument form 'enable-xxx'.
  117:       o Change the default digest in 'openssl' commands from MD5 to
  118:         SHA-1.
  119:       o Added support for DTLS.
  120:       o New BIGNUM blinding.
  121:       o Added support for the RSA-PSS encryption scheme
  122:       o Added support for the RSA X.931 padding.
  123:       o Added support for BSD sockets on NetWare.
  124:       o Added support for files larger than 2GB.
  125:       o Added initial support for Win64.
  126:       o Added alternate pkg-config files.
  127: 
  128:   Major changes between OpenSSL 0.9.7k and OpenSSL 0.9.7l:
  129: 
  130:       o Introduce limits to prevent malicious key DoS  (CVE-2006-2940)
  131:       o Fix security issues (CVE-2006-2937, CVE-2006-3737, CVE-2006-4343)
  132: 
  133:   Major changes between OpenSSL 0.9.7j and OpenSSL 0.9.7k:
  134: 
  135:       o Fix Daniel Bleichenbacher forged signature attack, CVE-2006-4339
  136: 
  137:   Major changes between OpenSSL 0.9.7i and OpenSSL 0.9.7j:
  138: 
  139:       o Visual C++ 2005 fixes.
  140:       o Update Windows build system for FIPS.
  141: 
  142:   Major changes between OpenSSL 0.9.7h and OpenSSL 0.9.7i:
  143: 
  144:       o Give EVP_MAX_MD_SIZE it's old value, except for a FIPS build.
  145: 
  146:   Major changes between OpenSSL 0.9.7g and OpenSSL 0.9.7h:
  147: 
  148:       o Fix SSL 2.0 Rollback, CVE-2005-2969
  149:       o Allow use of fixed-length exponent on DSA signing
  150:       o Default fixed-window RSA, DSA, DH private-key operations
  151: 
  152:   Major changes between OpenSSL 0.9.7f and OpenSSL 0.9.7g:
  153: 
  154:       o More compilation issues fixed.
  155:       o Adaptation to more modern Kerberos API.
  156:       o Enhanced or corrected configuration for Solaris64, Mingw and Cygwin.
  157:       o Enhanced x86_64 assembler BIGNUM module.
  158:       o More constification.
  159:       o Added processing of proxy certificates (RFC 3820).
  160: 
  161:   Major changes between OpenSSL 0.9.7e and OpenSSL 0.9.7f:
  162: 
  163:       o Several compilation issues fixed.
  164:       o Many memory allocation failure checks added.
  165:       o Improved comparison of X509 Name type.
  166:       o Mandatory basic checks on certificates.
  167:       o Performance improvements.
  168: 
  169:   Major changes between OpenSSL 0.9.7d and OpenSSL 0.9.7e:
  170: 
  171:       o Fix race condition in CRL checking code.
  172:       o Fixes to PKCS#7 (S/MIME) code.
  173: 
  174:   Major changes between OpenSSL 0.9.7c and OpenSSL 0.9.7d:
  175: 
  176:       o Security: Fix Kerberos ciphersuite SSL/TLS handshaking bug
  177:       o Security: Fix null-pointer assignment in do_change_cipher_spec()
  178:       o Allow multiple active certificates with same subject in CA index
  179:       o Multiple X509 verification fixes
  180:       o Speed up HMAC and other operations
  181: 
  182:   Major changes between OpenSSL 0.9.7b and OpenSSL 0.9.7c:
  183: 
  184:       o Security: fix various ASN1 parsing bugs.
  185:       o New -ignore_err option to OCSP utility.
  186:       o Various interop and bug fixes in S/MIME code.
  187:       o SSL/TLS protocol fix for unrequested client certificates.
  188: 
  189:   Major changes between OpenSSL 0.9.7a and OpenSSL 0.9.7b:
  190: 
  191:       o Security: counter the Klima-Pokorny-Rosa extension of
  192:         Bleichbacher's attack 
  193:       o Security: make RSA blinding default.
  194:       o Configuration: Irix fixes, AIX fixes, better mingw support.
  195:       o Support for new platforms: linux-ia64-ecc.
  196:       o Build: shared library support fixes.
  197:       o ASN.1: treat domainComponent correctly.
  198:       o Documentation: fixes and additions.
  199: 
  200:   Major changes between OpenSSL 0.9.7 and OpenSSL 0.9.7a:
  201: 
  202:       o Security: Important security related bugfixes.
  203:       o Enhanced compatibility with MIT Kerberos.
  204:       o Can be built without the ENGINE framework.
  205:       o IA32 assembler enhancements.
  206:       o Support for new platforms: FreeBSD/IA64 and FreeBSD/Sparc64.
  207:       o Configuration: the no-err option now works properly.
  208:       o SSL/TLS: now handles manual certificate chain building.
  209:       o SSL/TLS: certain session ID malfunctions corrected.
  210: 
  211:   Major changes between OpenSSL 0.9.6 and OpenSSL 0.9.7:
  212: 
  213:       o New library section OCSP.
  214:       o Complete rewrite of ASN1 code.
  215:       o CRL checking in verify code and openssl utility.
  216:       o Extension copying in 'ca' utility.
  217:       o Flexible display options in 'ca' utility.
  218:       o Provisional support for international characters with UTF8.
  219:       o Support for external crypto devices ('engine') is no longer
  220:         a separate distribution.
  221:       o New elliptic curve library section.
  222:       o New AES (Rijndael) library section.
  223:       o Support for new platforms: Windows CE, Tandem OSS, A/UX, AIX 64-bit,
  224:         Linux x86_64, Linux 64-bit on Sparc v9
  225:       o Extended support for some platforms: VxWorks
  226:       o Enhanced support for shared libraries.
  227:       o Now only builds PIC code when shared library support is requested.
  228:       o Support for pkg-config.
  229:       o Lots of new manuals.
  230:       o Makes symbolic links to or copies of manuals to cover all described
  231:         functions.
  232:       o Change DES API to clean up the namespace (some applications link also
  233:         against libdes providing similar functions having the same name).
  234:         Provide macros for backward compatibility (will be removed in the
  235:         future).
  236:       o Unify handling of cryptographic algorithms (software and engine)
  237:         to be available via EVP routines for asymmetric and symmetric ciphers.
  238:       o NCONF: new configuration handling routines.
  239:       o Change API to use more 'const' modifiers to improve error checking
  240:         and help optimizers.
  241:       o Finally remove references to RSAref.
  242:       o Reworked parts of the BIGNUM code.
  243:       o Support for new engines: Broadcom ubsec, Accelerated Encryption
  244:         Processing, IBM 4758.
  245:       o A few new engines added in the demos area.
  246:       o Extended and corrected OID (object identifier) table.
  247:       o PRNG: query at more locations for a random device, automatic query for
  248:         EGD style random sources at several locations.
  249:       o SSL/TLS: allow optional cipher choice according to server's preference.
  250:       o SSL/TLS: allow server to explicitly set new session ids.
  251:       o SSL/TLS: support Kerberos cipher suites (RFC2712).
  252:         Only supports MIT Kerberos for now.
  253:       o SSL/TLS: allow more precise control of renegotiations and sessions.
  254:       o SSL/TLS: add callback to retrieve SSL/TLS messages.
  255:       o SSL/TLS: support AES cipher suites (RFC3268).
  256: 
  257:   Major changes between OpenSSL 0.9.6j and OpenSSL 0.9.6k:
  258: 
  259:       o Security: fix various ASN1 parsing bugs.
  260:       o SSL/TLS protocol fix for unrequested client certificates.
  261: 
  262:   Major changes between OpenSSL 0.9.6i and OpenSSL 0.9.6j:
  263: 
  264:       o Security: counter the Klima-Pokorny-Rosa extension of
  265:         Bleichbacher's attack 
  266:       o Security: make RSA blinding default.
  267:       o Build: shared library support fixes.
  268: 
  269:   Major changes between OpenSSL 0.9.6h and OpenSSL 0.9.6i:
  270: 
  271:       o Important security related bugfixes.
  272: 
  273:   Major changes between OpenSSL 0.9.6g and OpenSSL 0.9.6h:
  274: 
  275:       o New configuration targets for Tandem OSS and A/UX.
  276:       o New OIDs for Microsoft attributes.
  277:       o Better handling of SSL session caching.
  278:       o Better comparison of distinguished names.
  279:       o Better handling of shared libraries in a mixed GNU/non-GNU environment.
  280:       o Support assembler code with Borland C.
  281:       o Fixes for length problems.
  282:       o Fixes for uninitialised variables.
  283:       o Fixes for memory leaks, some unusual crashes and some race conditions.
  284:       o Fixes for smaller building problems.
  285:       o Updates of manuals, FAQ and other instructive documents.
  286: 
  287:   Major changes between OpenSSL 0.9.6f and OpenSSL 0.9.6g:
  288: 
  289:       o Important building fixes on Unix.
  290: 
  291:   Major changes between OpenSSL 0.9.6e and OpenSSL 0.9.6f:
  292: 
  293:       o Various important bugfixes.
  294: 
  295:   Major changes between OpenSSL 0.9.6d and OpenSSL 0.9.6e:
  296: 
  297:       o Important security related bugfixes.
  298:       o Various SSL/TLS library bugfixes.
  299: 
  300:   Major changes between OpenSSL 0.9.6c and OpenSSL 0.9.6d:
  301: 
  302:       o Various SSL/TLS library bugfixes.
  303:       o Fix DH parameter generation for 'non-standard' generators.
  304: 
  305:   Major changes between OpenSSL 0.9.6b and OpenSSL 0.9.6c:
  306: 
  307:       o Various SSL/TLS library bugfixes.
  308:       o BIGNUM library fixes.
  309:       o RSA OAEP and random number generation fixes.
  310:       o Object identifiers corrected and added.
  311:       o Add assembler BN routines for IA64.
  312:       o Add support for OS/390 Unix, UnixWare with gcc, OpenUNIX 8,
  313:         MIPS Linux; shared library support for Irix, HP-UX.
  314:       o Add crypto accelerator support for AEP, Baltimore SureWare,
  315:         Broadcom and Cryptographic Appliance's keyserver
  316:         [in 0.9.6c-engine release].
  317: 
  318:   Major changes between OpenSSL 0.9.6a and OpenSSL 0.9.6b:
  319: 
  320:       o Security fix: PRNG improvements.
  321:       o Security fix: RSA OAEP check.
  322:       o Security fix: Reinsert and fix countermeasure to Bleichbacher's
  323:         attack.
  324:       o MIPS bug fix in BIGNUM.
  325:       o Bug fix in "openssl enc".
  326:       o Bug fix in X.509 printing routine.
  327:       o Bug fix in DSA verification routine and DSA S/MIME verification.
  328:       o Bug fix to make PRNG thread-safe.
  329:       o Bug fix in RAND_file_name().
  330:       o Bug fix in compatibility mode trust settings.
  331:       o Bug fix in blowfish EVP.
  332:       o Increase default size for BIO buffering filter.
  333:       o Compatibility fixes in some scripts.
  334: 
  335:   Major changes between OpenSSL 0.9.6 and OpenSSL 0.9.6a:
  336: 
  337:       o Security fix: change behavior of OpenSSL to avoid using
  338:         environment variables when running as root.
  339:       o Security fix: check the result of RSA-CRT to reduce the
  340:         possibility of deducing the private key from an incorrectly
  341:         calculated signature.
  342:       o Security fix: prevent Bleichenbacher's DSA attack.
  343:       o Security fix: Zero the premaster secret after deriving the
  344:         master secret in DH ciphersuites.
  345:       o Reimplement SSL_peek(), which had various problems.
  346:       o Compatibility fix: the function des_encrypt() renamed to
  347:         des_encrypt1() to avoid clashes with some Unixen libc.
  348:       o Bug fixes for Win32, HP/UX and Irix.
  349:       o Bug fixes in BIGNUM, SSL, PKCS#7, PKCS#12, X.509, CONF and
  350:         memory checking routines.
  351:       o Bug fixes for RSA operations in threaded environments.
  352:       o Bug fixes in misc. openssl applications.
  353:       o Remove a few potential memory leaks.
  354:       o Add tighter checks of BIGNUM routines.
  355:       o Shared library support has been reworked for generality.
  356:       o More documentation.
  357:       o New function BN_rand_range().
  358:       o Add "-rand" option to openssl s_client and s_server.
  359: 
  360:   Major changes between OpenSSL 0.9.5a and OpenSSL 0.9.6:
  361: 
  362:       o Some documentation for BIO and SSL libraries.
  363:       o Enhanced chain verification using key identifiers.
  364:       o New sign and verify options to 'dgst' application.
  365:       o Support for DER and PEM encoded messages in 'smime' application.
  366:       o New 'rsautl' application, low level RSA utility.
  367:       o MD4 now included.
  368:       o Bugfix for SSL rollback padding check.
  369:       o Support for external crypto devices [1].
  370:       o Enhanced EVP interface.
  371: 
  372:     [1] The support for external crypto devices is currently a separate
  373:         distribution.  See the file README.ENGINE.
  374: 
  375:   Major changes between OpenSSL 0.9.5 and OpenSSL 0.9.5a:
  376: 
  377:       o Bug fixes for Win32, SuSE Linux, NeXTSTEP and FreeBSD 2.2.8 
  378:       o Shared library support for HPUX and Solaris-gcc
  379:       o Support of Linux/IA64
  380:       o Assembler support for Mingw32
  381:       o New 'rand' application
  382:       o New way to check for existence of algorithms from scripts
  383: 
  384:   Major changes between OpenSSL 0.9.4 and OpenSSL 0.9.5:
  385: 
  386:       o S/MIME support in new 'smime' command
  387:       o Documentation for the OpenSSL command line application
  388:       o Automation of 'req' application
  389:       o Fixes to make s_client, s_server work under Windows
  390:       o Support for multiple fieldnames in SPKACs
  391:       o New SPKAC command line utilty and associated library functions
  392:       o Options to allow passwords to be obtained from various sources
  393:       o New public key PEM format and options to handle it
  394:       o Many other fixes and enhancements to command line utilities
  395:       o Usable certificate chain verification
  396:       o Certificate purpose checking
  397:       o Certificate trust settings
  398:       o Support of authority information access extension
  399:       o Extensions in certificate requests
  400:       o Simplified X509 name and attribute routines
  401:       o Initial (incomplete) support for international character sets
  402:       o New DH_METHOD, DSA_METHOD and enhanced RSA_METHOD
  403:       o Read only memory BIOs and simplified creation function
  404:       o TLS/SSL protocol bugfixes: Accept TLS 'client hello' in SSL 3.0
  405:         record; allow fragmentation and interleaving of handshake and other
  406:         data
  407:       o TLS/SSL code now "tolerates" MS SGC
  408:       o Work around for Netscape client certificate hang bug
  409:       o RSA_NULL option that removes RSA patent code but keeps other
  410:         RSA functionality
  411:       o Memory leak detection now allows applications to add extra information
  412:         via a per-thread stack
  413:       o PRNG robustness improved
  414:       o EGD support
  415:       o BIGNUM library bug fixes
  416:       o Faster DSA parameter generation
  417:       o Enhanced support for Alpha Linux
  418:       o Experimental MacOS support
  419: 
  420:   Major changes between OpenSSL 0.9.3 and OpenSSL 0.9.4:
  421: 
  422:       o Transparent support for PKCS#8 format private keys: these are used
  423:         by several software packages and are more secure than the standard
  424:         form
  425:       o PKCS#5 v2.0 implementation
  426:       o Password callbacks have a new void * argument for application data
  427:       o Avoid various memory leaks
  428:       o New pipe-like BIO that allows using the SSL library when actual I/O
  429:         must be handled by the application (BIO pair)
  430: 
  431:   Major changes between OpenSSL 0.9.2b and OpenSSL 0.9.3:
  432:       o Lots of enhancements and cleanups to the Configuration mechanism
  433:       o RSA OEAP related fixes
  434:       o Added `openssl ca -revoke' option for revoking a certificate
  435:       o Source cleanups: const correctness, type-safe stacks and ASN.1 SETs
  436:       o Source tree cleanups: removed lots of obsolete files
  437:       o Thawte SXNet, certificate policies and CRL distribution points
  438:         extension support
  439:       o Preliminary (experimental) S/MIME support
  440:       o Support for ASN.1 UTF8String and VisibleString
  441:       o Full integration of PKCS#12 code
  442:       o Sparc assembler bignum implementation, optimized hash functions
  443:       o Option to disable selected ciphers
  444: 
  445:   Major changes between OpenSSL 0.9.1c and OpenSSL 0.9.2b:
  446:       o Fixed a security hole related to session resumption
  447:       o Fixed RSA encryption routines for the p < q case
  448:       o "ALL" in cipher lists now means "everything except NULL ciphers"
  449:       o Support for Triple-DES CBCM cipher
  450:       o Support of Optimal Asymmetric Encryption Padding (OAEP) for RSA
  451:       o First support for new TLSv1 ciphers
  452:       o Added a few new BIOs (syslog BIO, reliable BIO)
  453:       o Extended support for DSA certificate/keys.
  454:       o Extended support for Certificate Signing Requests (CSR)
  455:       o Initial support for X.509v3 extensions
  456:       o Extended support for compression inside the SSL record layer
  457:       o Overhauled Win32 builds
  458:       o Cleanups and fixes to the Big Number (BN) library
  459:       o Support for ASN.1 GeneralizedTime
  460:       o Splitted ASN.1 SETs from SEQUENCEs
  461:       o ASN1 and PEM support for Netscape Certificate Sequences
  462:       o Overhauled Perl interface
  463:       o Lots of source tree cleanups.
  464:       o Lots of memory leak fixes.
  465:       o Lots of bug fixes.
  466: 
  467:   Major changes between SSLeay 0.9.0b and OpenSSL 0.9.1c:
  468:       o Integration of the popular NO_RSA/NO_DSA patches
  469:       o Initial support for compression inside the SSL record layer
  470:       o Added BIO proxy and filtering functionality
  471:       o Extended Big Number (BN) library
  472:       o Added RIPE MD160 message digest
  473:       o Addeed support for RC2/64bit cipher
  474:       o Extended ASN.1 parser routines
  475:       o Adjustations of the source tree for CVS
  476:       o Support for various new platforms
  477: 
Syntax (Markdown)