mirror of
				https://github.com/MariaDB/server.git
				synced 2025-11-03 14:33:32 +03:00 
			
		
		
		
	Import yaSSL version 1.3.7
- Fix for "bug#16755 Please find a SSL library that is FLOSS-Exception / LGPL copyrighted"
This commit is contained in:
		
							
								
								
									
										120
									
								
								extra/yassl/FLOSS-EXCEPTIONS
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										120
									
								
								extra/yassl/FLOSS-EXCEPTIONS
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,120 @@
 | 
			
		||||
yaSSL FLOSS License Exception
 | 
			
		||||
****************************************
 | 
			
		||||
 | 
			
		||||
Version 0.1, 26 June 2006
 | 
			
		||||
 | 
			
		||||
The Sawtooth Consulting Ltd. Exception for Free/Libre and Open Source
 | 
			
		||||
Software-only Applications Using yaSSL Libraries (the "FLOSS Exception").
 | 
			
		||||
 | 
			
		||||
*Exception Intent*
 | 
			
		||||
 | 
			
		||||
We want specified Free/Libre and Open Source Software ("FLOSS")
 | 
			
		||||
applications to be able to use specified GPL-licensed yaSSL
 | 
			
		||||
libraries (the "Program") despite the fact that not all FLOSS
 | 
			
		||||
licenses are compatible with version 2 of the GNU General Public
 | 
			
		||||
License (the "GPL").
 | 
			
		||||
 | 
			
		||||
*Legal Terms and Conditions*
 | 
			
		||||
 | 
			
		||||
As a special exception to the terms and conditions of version 2.0 of
 | 
			
		||||
the GPL:
 | 
			
		||||
 | 
			
		||||
  1.     You are free to distribute a Derivative Work that is formed
 | 
			
		||||
     entirely from the Program and one or more works (each, a "FLOSS
 | 
			
		||||
     Work") licensed under one or more of the licenses listed below
 | 
			
		||||
     in section 1, as long as:
 | 
			
		||||
 | 
			
		||||
       1.      You obey the GPL in all respects for the Program and the
 | 
			
		||||
          Derivative Work, except for identifiable sections of the
 | 
			
		||||
          Derivative Work which are not derived from the Program,
 | 
			
		||||
          and which can reasonably be considered independent and
 | 
			
		||||
          separate works in themselves,
 | 
			
		||||
 | 
			
		||||
       2.      all identifiable sections of the Derivative Work which
 | 
			
		||||
          are not derived from the Program, and which can reasonably be
 | 
			
		||||
          considered independent and separate works in themselves,
 | 
			
		||||
 | 
			
		||||
             *       i
 | 
			
		||||
 | 
			
		||||
               are distributed subject to one of the FLOSS licenses
 | 
			
		||||
               listed below, and
 | 
			
		||||
 | 
			
		||||
             *       ii
 | 
			
		||||
 | 
			
		||||
               the object code or executable form of those sections are
 | 
			
		||||
               accompanied by the complete corresponding machine-readable
 | 
			
		||||
               source code for those sections on the same medium and under
 | 
			
		||||
               the same FLOSS license as the corresponding object code or
 | 
			
		||||
               executable forms of those sections, and
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
       3.      any works which are aggregated with the Program or with
 | 
			
		||||
          a Derivative Work on a volume of a storage or distribution
 | 
			
		||||
          medium in accordance with the GPL, can reasonably be considered
 | 
			
		||||
          independent and separate works in themselves which are not
 | 
			
		||||
          derivatives of either the Program, a Derivative Work or a FLOSS
 | 
			
		||||
          Work.
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
     If the above conditions are not met, then the Program may only be
 | 
			
		||||
     copied, modified, distributed or used under the terms and
 | 
			
		||||
     conditions of the GPL or another valid licensing option from
 | 
			
		||||
     Sawtooth Consulting Ltd.
 | 
			
		||||
 | 
			
		||||
  2.     FLOSS License List
 | 
			
		||||
 | 
			
		||||
     *License name*                            *Version(s)/Copyright Date*
 | 
			
		||||
     Academic Free License                              2.0
 | 
			
		||||
     Apache Software License                            1.0/1.1/2.0
 | 
			
		||||
     Apple Public Source License                        2.0
 | 
			
		||||
     Artistic license                                   From Perl 5.8.0
 | 
			
		||||
     BSD license                                        "July 22 1999"
 | 
			
		||||
     Common Development and Distribution License (CDDL) 1.0
 | 
			
		||||
     Common Public License                              1.0
 | 
			
		||||
     GNU Library or "Lesser" General Public             2.0/2.1
 | 
			
		||||
     License (LGPL)                           
 | 
			
		||||
     Jabber Open Source License                         1.0
 | 
			
		||||
     MIT license                                        -
 | 
			
		||||
     Mozilla Public License (MPL)                       1.0/1.1
 | 
			
		||||
     Open Software License                              2.0
 | 
			
		||||
     PHP License                                        3.0
 | 
			
		||||
     Python license (CNRI Python License)               -
 | 
			
		||||
     Python Software Foundation License                 2.1.1
 | 
			
		||||
     Sleepycat License                                  "1999"
 | 
			
		||||
     W3C License                                        "2001"
 | 
			
		||||
     X11 License                                        "2001"
 | 
			
		||||
     Zlib/libpng License                                -
 | 
			
		||||
     Zope Public License                                2.0
 | 
			
		||||
 | 
			
		||||
     Due to the many variants of some of the above licenses, we require
 | 
			
		||||
     that any version follow the 2003 version of the Free Software
 | 
			
		||||
     Foundation's Free Software Definition
 | 
			
		||||
     (http://www.gnu.org/philosophy/free-sw.html
 | 
			
		||||
     (http://www.gnu.org/philosophy/free-sw.html))    or version 1.9 of
 | 
			
		||||
     the Open Source Definition by the Open Source    Initiative
 | 
			
		||||
     (http://www.opensource.org/docs/definition.php
 | 
			
		||||
     (http://www.opensource.org/docs/definition.php)).
 | 
			
		||||
 | 
			
		||||
  3.     Definitions
 | 
			
		||||
 | 
			
		||||
       1.      Terms used, but not defined, herein shall have the
 | 
			
		||||
          meaning provided in the GPL.
 | 
			
		||||
 | 
			
		||||
       2.      Derivative Work means a derivative work under copyright
 | 
			
		||||
          law.
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
  4.     Applicability This FLOSS Exception applies to all Programs that
 | 
			
		||||
     contain a notice placed by Sawtooth Consulting Ltd. saying that the
 | 
			
		||||
     Program may be distributed under the terms of this FLOSS Exception.
 | 
			
		||||
     If you create or distribute a work which is a Derivative Work of
 | 
			
		||||
     both the Program and any other work licensed under the GPL, then
 | 
			
		||||
     this FLOSS Exception is not available for that work; thus, you
 | 
			
		||||
     must remove the FLOSS Exception notice from that work and
 | 
			
		||||
     comply with the GPL in all respects, including by retaining all
 | 
			
		||||
     GPL notices. You may choose to redistribute a copy of the
 | 
			
		||||
     Program exclusively under the terms of the GPL by removing the
 | 
			
		||||
     FLOSS Exception notice from that copy of the Program, provided
 | 
			
		||||
     that the copy has never been modified by you or any third party.
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@@ -1,4 +1,14 @@
 | 
			
		||||
yaSSL Release notes, version 1.3.5 (06/01/06)
 | 
			
		||||
yaSSL Release notes, version 1.3.7 (06/26/06)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
    This release of yaSSL contains bug fixes, portability enhancements,
 | 
			
		||||
    and libcurl 7.15.4 support (any newer versions may not build). 
 | 
			
		||||
 | 
			
		||||
See normal  build instructions below under 1.0.6.
 | 
			
		||||
See libcurl build instructions below under 1.3.0.
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
********************yaSSL Release notes, version 1.3.5 (06/01/06)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
    This release of yaSSL contains bug fixes, portability enhancements,
 | 
			
		||||
 
 | 
			
		||||
@@ -9,6 +9,10 @@
 | 
			
		||||
 * the Free Software Foundation; either version 2 of the License, or
 | 
			
		||||
 * (at your option) any later version.
 | 
			
		||||
 *
 | 
			
		||||
 * There are special exceptions to the terms and conditions of the GPL as it
 | 
			
		||||
 * is applied to yaSSL. View the full text of the exception in the file
 | 
			
		||||
 * FLOSS-EXCEPTIONS in the directory of this software distribution.
 | 
			
		||||
 *
 | 
			
		||||
 * yaSSL is distributed in the hope that it will be useful,
 | 
			
		||||
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 | 
			
		||||
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | 
			
		||||
 
 | 
			
		||||
@@ -9,6 +9,10 @@
 | 
			
		||||
 * the Free Software Foundation; either version 2 of the License, or
 | 
			
		||||
 * (at your option) any later version.
 | 
			
		||||
 *
 | 
			
		||||
 * There are special exceptions to the terms and conditions of the GPL as it
 | 
			
		||||
 * is applied to yaSSL. View the full text of the exception in the file
 | 
			
		||||
 * FLOSS-EXCEPTIONS in the directory of this software distribution.
 | 
			
		||||
 *
 | 
			
		||||
 * yaSSL is distributed in the hope that it will be useful,
 | 
			
		||||
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 | 
			
		||||
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | 
			
		||||
 
 | 
			
		||||
@@ -9,6 +9,10 @@
 | 
			
		||||
 * the Free Software Foundation; either version 2 of the License, or
 | 
			
		||||
 * (at your option) any later version.
 | 
			
		||||
 *
 | 
			
		||||
 * There are special exceptions to the terms and conditions of the GPL as it
 | 
			
		||||
 * is applied to yaSSL. View the full text of the exception in the file
 | 
			
		||||
 * FLOSS-EXCEPTIONS in the directory of this software distribution.
 | 
			
		||||
 *
 | 
			
		||||
 * yaSSL is distributed in the hope that it will be useful,
 | 
			
		||||
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 | 
			
		||||
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | 
			
		||||
@@ -36,6 +40,7 @@
 | 
			
		||||
#define yaSSL_CRYPTO_WRAPPER_HPP
 | 
			
		||||
 | 
			
		||||
#include "yassl_types.hpp"
 | 
			
		||||
#include <stdio.h>   // FILE
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
namespace yaSSL {
 | 
			
		||||
@@ -410,7 +415,8 @@ private:
 | 
			
		||||
 | 
			
		||||
class x509;
 | 
			
		||||
 | 
			
		||||
x509* PemToDer(const char*, CertType);
 | 
			
		||||
 | 
			
		||||
x509* PemToDer(FILE*, CertType);
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
} // naemspace
 | 
			
		||||
 
 | 
			
		||||
@@ -9,6 +9,10 @@
 | 
			
		||||
 * the Free Software Foundation; either version 2 of the License, or
 | 
			
		||||
 * (at your option) any later version.
 | 
			
		||||
 *
 | 
			
		||||
 * There are special exceptions to the terms and conditions of the GPL as it
 | 
			
		||||
 * is applied to yaSSL. View the full text of the exception in the file
 | 
			
		||||
 * FLOSS-EXCEPTIONS in the directory of this software distribution.
 | 
			
		||||
 *
 | 
			
		||||
 * yaSSL is distributed in the hope that it will be useful,
 | 
			
		||||
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 | 
			
		||||
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | 
			
		||||
 
 | 
			
		||||
@@ -9,6 +9,10 @@
 | 
			
		||||
 * the Free Software Foundation; either version 2 of the License, or
 | 
			
		||||
 * (at your option) any later version.
 | 
			
		||||
 *
 | 
			
		||||
 * There are special exceptions to the terms and conditions of the GPL as it
 | 
			
		||||
 * is applied to yaSSL. View the full text of the exception in the file
 | 
			
		||||
 * FLOSS-EXCEPTIONS in the directory of this software distribution.
 | 
			
		||||
 *
 | 
			
		||||
 * yaSSL is distributed in the hope that it will be useful,
 | 
			
		||||
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 | 
			
		||||
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | 
			
		||||
@@ -55,7 +59,7 @@ void sendCertificateVerify(SSL&, BufferOutput = buffered);
 | 
			
		||||
int  sendData(SSL&, const void*, int);
 | 
			
		||||
int  sendAlert(SSL& ssl, const Alert& alert);
 | 
			
		||||
 | 
			
		||||
int  receiveData(SSL&, Data&); 
 | 
			
		||||
int  receiveData(SSL&, Data&, bool peek = false); 
 | 
			
		||||
void processReply(SSL&);
 | 
			
		||||
 | 
			
		||||
void buildFinished(SSL&, Finished&, const opaque*);
 | 
			
		||||
 
 | 
			
		||||
@@ -9,6 +9,10 @@
 | 
			
		||||
 * the Free Software Foundation; either version 2 of the License, or
 | 
			
		||||
 * (at your option) any later version.
 | 
			
		||||
 *
 | 
			
		||||
 * There are special exceptions to the terms and conditions of the GPL as it
 | 
			
		||||
 * is applied to yaSSL. View the full text of the exception in the file
 | 
			
		||||
 * FLOSS-EXCEPTIONS in the directory of this software distribution.
 | 
			
		||||
 *
 | 
			
		||||
 * yaSSL is distributed in the hope that it will be useful,
 | 
			
		||||
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 | 
			
		||||
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | 
			
		||||
 
 | 
			
		||||
@@ -9,6 +9,10 @@
 | 
			
		||||
 * the Free Software Foundation; either version 2 of the License, or
 | 
			
		||||
 * (at your option) any later version.
 | 
			
		||||
 *
 | 
			
		||||
 * There are special exceptions to the terms and conditions of the GPL as it
 | 
			
		||||
 * is applied to yaSSL. View the full text of the exception in the file
 | 
			
		||||
 * FLOSS-EXCEPTIONS in the directory of this software distribution.
 | 
			
		||||
 *
 | 
			
		||||
 * yaSSL is distributed in the hope that it will be useful,
 | 
			
		||||
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 | 
			
		||||
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | 
			
		||||
 
 | 
			
		||||
@@ -9,6 +9,10 @@
 | 
			
		||||
 * the Free Software Foundation; either version 2 of the License, or
 | 
			
		||||
 * (at your option) any later version.
 | 
			
		||||
 *
 | 
			
		||||
 * There are special exceptions to the terms and conditions of the GPL as it
 | 
			
		||||
 * is applied to yaSSL. View the full text of the exception in the file
 | 
			
		||||
 * FLOSS-EXCEPTIONS in the directory of this software distribution.
 | 
			
		||||
 *
 | 
			
		||||
 * yaSSL is distributed in the hope that it will be useful,
 | 
			
		||||
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 | 
			
		||||
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | 
			
		||||
@@ -36,6 +40,10 @@
 | 
			
		||||
#include "opensslv.h" /* for version number */
 | 
			
		||||
#include "rsa.h"
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
#define YASSL_VERSION "1.3.7"
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
#if defined(__cplusplus)
 | 
			
		||||
extern "C" {
 | 
			
		||||
#endif
 | 
			
		||||
@@ -414,6 +422,7 @@ int         RAND_load_file(const char*, long);
 | 
			
		||||
 | 
			
		||||
/* for libcurl */
 | 
			
		||||
int  RAND_status(void);
 | 
			
		||||
int  RAND_bytes(unsigned char* buf, int num);
 | 
			
		||||
 | 
			
		||||
int  DES_set_key(const_DES_cblock*, DES_key_schedule*);
 | 
			
		||||
void DES_set_odd_parity(DES_cblock*);
 | 
			
		||||
@@ -421,6 +430,7 @@ void DES_ecb_encrypt(DES_cblock*, DES_cblock*, DES_key_schedule*, int);
 | 
			
		||||
 | 
			
		||||
void SSL_CTX_set_default_passwd_cb_userdata(SSL_CTX*, void* userdata);
 | 
			
		||||
void SSL_SESSION_free(SSL_SESSION* session);
 | 
			
		||||
int  SSL_peek(SSL* ssl, void* buf, int num);
 | 
			
		||||
 | 
			
		||||
X509*     SSL_get_certificate(SSL* ssl);
 | 
			
		||||
EVP_PKEY* SSL_get_privatekey(SSL* ssl);
 | 
			
		||||
@@ -513,6 +523,8 @@ void MD5_Init(MD5_CTX*);
 | 
			
		||||
void MD5_Update(MD5_CTX*, const void*, unsigned long);
 | 
			
		||||
void MD5_Final(unsigned char*, MD5_CTX*);
 | 
			
		||||
 | 
			
		||||
#define MD5_DIGEST_LENGTH 16
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
#define SSL_DEFAULT_CIPHER_LIST ""   /* default all */
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -9,6 +9,10 @@
 | 
			
		||||
 * the Free Software Foundation; either version 2 of the License, or
 | 
			
		||||
 * (at your option) any later version.
 | 
			
		||||
 *
 | 
			
		||||
 * There are special exceptions to the terms and conditions of the GPL as it
 | 
			
		||||
 * is applied to yaSSL. View the full text of the exception in the file
 | 
			
		||||
 * FLOSS-EXCEPTIONS in the directory of this software distribution.
 | 
			
		||||
 *
 | 
			
		||||
 * yaSSL is distributed in the hope that it will be useful,
 | 
			
		||||
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 | 
			
		||||
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | 
			
		||||
 
 | 
			
		||||
@@ -9,6 +9,10 @@
 | 
			
		||||
 * the Free Software Foundation; either version 2 of the License, or
 | 
			
		||||
 * (at your option) any later version.
 | 
			
		||||
 *
 | 
			
		||||
 * There are special exceptions to the terms and conditions of the GPL as it
 | 
			
		||||
 * is applied to yaSSL. View the full text of the exception in the file
 | 
			
		||||
 * FLOSS-EXCEPTIONS in the directory of this software distribution.
 | 
			
		||||
 *
 | 
			
		||||
 * yaSSL is distributed in the hope that it will be useful,
 | 
			
		||||
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 | 
			
		||||
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | 
			
		||||
 
 | 
			
		||||
@@ -9,6 +9,10 @@
 | 
			
		||||
 * the Free Software Foundation; either version 2 of the License, or
 | 
			
		||||
 * (at your option) any later version.
 | 
			
		||||
 *
 | 
			
		||||
 * There are special exceptions to the terms and conditions of the GPL as it
 | 
			
		||||
 * is applied to yaSSL. View the full text of the exception in the file
 | 
			
		||||
 * FLOSS-EXCEPTIONS in the directory of this software distribution.
 | 
			
		||||
 *
 | 
			
		||||
 * yaSSL is distributed in the hope that it will be useful,
 | 
			
		||||
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 | 
			
		||||
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | 
			
		||||
 
 | 
			
		||||
@@ -9,6 +9,10 @@
 | 
			
		||||
 * the Free Software Foundation; either version 2 of the License, or
 | 
			
		||||
 * (at your option) any later version.
 | 
			
		||||
 *
 | 
			
		||||
 * There are special exceptions to the terms and conditions of the GPL as it
 | 
			
		||||
 * is applied to yaSSL. View the full text of the exception in the file
 | 
			
		||||
 * FLOSS-EXCEPTIONS in the directory of this software distribution.
 | 
			
		||||
 *
 | 
			
		||||
 * yaSSL is distributed in the hope that it will be useful,
 | 
			
		||||
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 | 
			
		||||
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | 
			
		||||
@@ -664,9 +668,9 @@ struct Parameters {
 | 
			
		||||
    char                 cipher_name_[MAX_SUITE_NAME];
 | 
			
		||||
    char                 cipher_list_[MAX_CIPHERS][MAX_SUITE_NAME];
 | 
			
		||||
 | 
			
		||||
    Parameters(ConnectionEnd, const Ciphers&, ProtocolVersion);
 | 
			
		||||
    Parameters(ConnectionEnd, const Ciphers&, ProtocolVersion, bool haveDH);
 | 
			
		||||
 | 
			
		||||
    void SetSuites(ProtocolVersion pv);
 | 
			
		||||
    void SetSuites(ProtocolVersion pv, bool removeDH = false);
 | 
			
		||||
    void SetCipherNames();
 | 
			
		||||
private:
 | 
			
		||||
    Parameters(const Parameters&);              // hide copy
 | 
			
		||||
 
 | 
			
		||||
@@ -9,6 +9,10 @@
 | 
			
		||||
 * the Free Software Foundation; either version 2 of the License, or
 | 
			
		||||
 * (at your option) any later version.
 | 
			
		||||
 *
 | 
			
		||||
 * There are special exceptions to the terms and conditions of the GPL as it
 | 
			
		||||
 * is applied to yaSSL. View the full text of the exception in the file
 | 
			
		||||
 * FLOSS-EXCEPTIONS in the directory of this software distribution.
 | 
			
		||||
 *
 | 
			
		||||
 * yaSSL is distributed in the hope that it will be useful,
 | 
			
		||||
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 | 
			
		||||
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | 
			
		||||
@@ -429,9 +433,10 @@ private:
 | 
			
		||||
 | 
			
		||||
// holds input and output buffers
 | 
			
		||||
class Buffers {
 | 
			
		||||
public: 
 | 
			
		||||
    typedef mySTL::list<input_buffer*>  inputList;
 | 
			
		||||
    typedef mySTL::list<output_buffer*> outputList;
 | 
			
		||||
 | 
			
		||||
private:
 | 
			
		||||
    inputList  dataList_;                // list of users app data / handshake
 | 
			
		||||
    outputList handShakeList_;           // buffered handshake msgs
 | 
			
		||||
public:
 | 
			
		||||
@@ -458,7 +463,7 @@ class Security {
 | 
			
		||||
    bool          resuming_;                      // trying to resume
 | 
			
		||||
public:
 | 
			
		||||
    Security(ProtocolVersion, RandomPool&, ConnectionEnd, const Ciphers&,
 | 
			
		||||
             SSL_CTX*);
 | 
			
		||||
             SSL_CTX*, bool);
 | 
			
		||||
 | 
			
		||||
    const SSL_CTX*     GetContext()     const;
 | 
			
		||||
    const Connection&  get_connection() const;
 | 
			
		||||
@@ -521,6 +526,7 @@ public:
 | 
			
		||||
    void makeTLSMasterSecret();
 | 
			
		||||
    void addData(input_buffer* data);
 | 
			
		||||
    void fillData(Data&);
 | 
			
		||||
    void PeekData(Data&);
 | 
			
		||||
    void addBuffer(output_buffer* b);
 | 
			
		||||
    void flushBuffer();
 | 
			
		||||
    void verifyState(const RecordLayerHeader&);
 | 
			
		||||
 
 | 
			
		||||
@@ -9,6 +9,10 @@
 | 
			
		||||
 * the Free Software Foundation; either version 2 of the License, or
 | 
			
		||||
 * (at your option) any later version.
 | 
			
		||||
 *
 | 
			
		||||
 * There are special exceptions to the terms and conditions of the GPL as it
 | 
			
		||||
 * is applied to yaSSL. View the full text of the exception in the file
 | 
			
		||||
 * FLOSS-EXCEPTIONS in the directory of this software distribution.
 | 
			
		||||
 *
 | 
			
		||||
 * yaSSL is distributed in the hope that it will be useful,
 | 
			
		||||
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 | 
			
		||||
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | 
			
		||||
 
 | 
			
		||||
@@ -9,6 +9,10 @@
 | 
			
		||||
 * the Free Software Foundation; either version 2 of the License, or
 | 
			
		||||
 * (at your option) any later version.
 | 
			
		||||
 *
 | 
			
		||||
 * There are special exceptions to the terms and conditions of the GPL as it
 | 
			
		||||
 * is applied to yaSSL. View the full text of the exception in the file
 | 
			
		||||
 * FLOSS-EXCEPTIONS in the directory of this software distribution.
 | 
			
		||||
 *
 | 
			
		||||
 * yaSSL is distributed in the hope that it will be useful,
 | 
			
		||||
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 | 
			
		||||
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | 
			
		||||
 
 | 
			
		||||
@@ -9,6 +9,10 @@
 | 
			
		||||
 * the Free Software Foundation; either version 2 of the License, or
 | 
			
		||||
 * (at your option) any later version.
 | 
			
		||||
 *
 | 
			
		||||
 * There are special exceptions to the terms and conditions of the GPL as it
 | 
			
		||||
 * is applied to yaSSL. View the full text of the exception in the file
 | 
			
		||||
 * FLOSS-EXCEPTIONS in the directory of this software distribution.
 | 
			
		||||
 *
 | 
			
		||||
 * yaSSL is distributed in the hope that it will be useful,
 | 
			
		||||
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 | 
			
		||||
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | 
			
		||||
 
 | 
			
		||||
@@ -9,6 +9,10 @@
 | 
			
		||||
 * the Free Software Foundation; either version 2 of the License, or
 | 
			
		||||
 * (at your option) any later version.
 | 
			
		||||
 *
 | 
			
		||||
 * There are special exceptions to the terms and conditions of the GPL as it
 | 
			
		||||
 * is applied to yaSSL. View the full text of the exception in the file
 | 
			
		||||
 * FLOSS-EXCEPTIONS in the directory of this software distribution.
 | 
			
		||||
 *
 | 
			
		||||
 * yaSSL is distributed in the hope that it will be useful,
 | 
			
		||||
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 | 
			
		||||
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | 
			
		||||
 
 | 
			
		||||
@@ -9,6 +9,10 @@
 | 
			
		||||
 * the Free Software Foundation; either version 2 of the License, or
 | 
			
		||||
 * (at your option) any later version.
 | 
			
		||||
 *
 | 
			
		||||
 * There are special exceptions to the terms and conditions of the GPL as it
 | 
			
		||||
 * is applied to yaSSL. View the full text of the exception in the file
 | 
			
		||||
 * FLOSS-EXCEPTIONS in the directory of this software distribution.
 | 
			
		||||
 *
 | 
			
		||||
 * yaSSL is distributed in the hope that it will be useful,
 | 
			
		||||
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 | 
			
		||||
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | 
			
		||||
 
 | 
			
		||||
@@ -9,6 +9,10 @@
 | 
			
		||||
 * the Free Software Foundation; either version 2 of the License, or
 | 
			
		||||
 * (at your option) any later version.
 | 
			
		||||
 *
 | 
			
		||||
 * There are special exceptions to the terms and conditions of the GPL as it
 | 
			
		||||
 * is applied to yaSSL. View the full text of the exception in the file
 | 
			
		||||
 * FLOSS-EXCEPTIONS in the directory of this software distribution.
 | 
			
		||||
 *
 | 
			
		||||
 * yaSSL is distributed in the hope that it will be useful,
 | 
			
		||||
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 | 
			
		||||
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | 
			
		||||
 
 | 
			
		||||
@@ -9,6 +9,10 @@
 | 
			
		||||
 * the Free Software Foundation; either version 2 of the License, or
 | 
			
		||||
 * (at your option) any later version.
 | 
			
		||||
 *
 | 
			
		||||
 * There are special exceptions to the terms and conditions of the GPL as it
 | 
			
		||||
 * is applied to yaSSL. View the full text of the exception in the file
 | 
			
		||||
 * FLOSS-EXCEPTIONS in the directory of this software distribution.
 | 
			
		||||
 *
 | 
			
		||||
 * yaSSL is distributed in the hope that it will be useful,
 | 
			
		||||
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 | 
			
		||||
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | 
			
		||||
 
 | 
			
		||||
@@ -9,6 +9,10 @@
 | 
			
		||||
 * the Free Software Foundation; either version 2 of the License, or
 | 
			
		||||
 * (at your option) any later version.
 | 
			
		||||
 *
 | 
			
		||||
 * There are special exceptions to the terms and conditions of the GPL as it
 | 
			
		||||
 * is applied to yaSSL. View the full text of the exception in the file
 | 
			
		||||
 * FLOSS-EXCEPTIONS in the directory of this software distribution.
 | 
			
		||||
 *
 | 
			
		||||
 * yaSSL is distributed in the hope that it will be useful,
 | 
			
		||||
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 | 
			
		||||
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | 
			
		||||
 
 | 
			
		||||
@@ -9,6 +9,10 @@
 | 
			
		||||
 * the Free Software Foundation; either version 2 of the License, or
 | 
			
		||||
 * (at your option) any later version.
 | 
			
		||||
 *
 | 
			
		||||
 * There are special exceptions to the terms and conditions of the GPL as it
 | 
			
		||||
 * is applied to yaSSL. View the full text of the exception in the file
 | 
			
		||||
 * FLOSS-EXCEPTIONS in the directory of this software distribution.
 | 
			
		||||
 *
 | 
			
		||||
 * yaSSL is distributed in the hope that it will be useful,
 | 
			
		||||
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 | 
			
		||||
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | 
			
		||||
 
 | 
			
		||||
@@ -9,6 +9,10 @@
 | 
			
		||||
 * the Free Software Foundation; either version 2 of the License, or
 | 
			
		||||
 * (at your option) any later version.
 | 
			
		||||
 *
 | 
			
		||||
 * There are special exceptions to the terms and conditions of the GPL as it
 | 
			
		||||
 * is applied to yaSSL. View the full text of the exception in the file
 | 
			
		||||
 * FLOSS-EXCEPTIONS in the directory of this software distribution.
 | 
			
		||||
 *
 | 
			
		||||
 * yaSSL is distributed in the hope that it will be useful,
 | 
			
		||||
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 | 
			
		||||
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | 
			
		||||
@@ -182,7 +186,8 @@ int CertManager::CopyCaCert(const x509* x)
 | 
			
		||||
        signers_.push_back(NEW_YS TaoCrypt::Signer(key.GetKey(), key.size(),
 | 
			
		||||
                                        cert.GetCommonName(), cert.GetHash()));
 | 
			
		||||
    }
 | 
			
		||||
    return cert.GetError().What();
 | 
			
		||||
    // just don't add, not an error return cert.GetError().What();
 | 
			
		||||
    return 0;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -9,6 +9,10 @@
 | 
			
		||||
 * the Free Software Foundation; either version 2 of the License, or
 | 
			
		||||
 * (at your option) any later version.
 | 
			
		||||
 *
 | 
			
		||||
 * There are special exceptions to the terms and conditions of the GPL as it
 | 
			
		||||
 * is applied to yaSSL. View the full text of the exception in the file
 | 
			
		||||
 * FLOSS-EXCEPTIONS in the directory of this software distribution.
 | 
			
		||||
 *
 | 
			
		||||
 * yaSSL is distributed in the hope that it will be useful,
 | 
			
		||||
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 | 
			
		||||
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | 
			
		||||
@@ -904,7 +908,7 @@ void DiffieHellman::get_parms(byte* bp, byte* bg, byte* bpub) const
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
// convert PEM file to DER x509 type
 | 
			
		||||
x509* PemToDer(const char* fname, CertType type)
 | 
			
		||||
x509* PemToDer(FILE* file, CertType type)
 | 
			
		||||
{
 | 
			
		||||
    using namespace TaoCrypt;
 | 
			
		||||
 | 
			
		||||
@@ -919,10 +923,6 @@ x509* PemToDer(const char* fname, CertType type)
 | 
			
		||||
        strncpy(footer, "-----END RSA PRIVATE KEY-----", sizeof(header));
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    FILE* file = fopen(fname, "rb");
 | 
			
		||||
    if (!file)
 | 
			
		||||
        return 0;
 | 
			
		||||
 | 
			
		||||
    long begin = -1;
 | 
			
		||||
    long end   = 0;
 | 
			
		||||
    bool foundEnd = false;
 | 
			
		||||
@@ -943,18 +943,14 @@ x509* PemToDer(const char* fname, CertType type)
 | 
			
		||||
        else
 | 
			
		||||
            end = ftell(file);
 | 
			
		||||
 | 
			
		||||
    if (begin == -1 || !foundEnd) {
 | 
			
		||||
        fclose(file);
 | 
			
		||||
    if (begin == -1 || !foundEnd)
 | 
			
		||||
        return 0;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    input_buffer tmp(end - begin);
 | 
			
		||||
    fseek(file, begin, SEEK_SET);
 | 
			
		||||
    size_t bytes = fread(tmp.get_buffer(), end - begin, 1, file);
 | 
			
		||||
    if (bytes != 1) {
 | 
			
		||||
        fclose(file);
 | 
			
		||||
    if (bytes != 1)
 | 
			
		||||
        return 0;
 | 
			
		||||
    }
 | 
			
		||||
    
 | 
			
		||||
    Source der(tmp.get_buffer(), end - begin);
 | 
			
		||||
    Base64Decoder b64Dec(der);
 | 
			
		||||
@@ -963,7 +959,6 @@ x509* PemToDer(const char* fname, CertType type)
 | 
			
		||||
    mySTL::auto_ptr<x509> x(NEW_YS x509(sz), ysDelete);
 | 
			
		||||
    memcpy(x->use_buffer(), der.get_buffer(), sz);
 | 
			
		||||
 | 
			
		||||
    fclose(file);
 | 
			
		||||
    return x.release();
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -9,6 +9,10 @@
 | 
			
		||||
 * the Free Software Foundation; either version 2 of the License, or
 | 
			
		||||
 * (at your option) any later version.
 | 
			
		||||
 *
 | 
			
		||||
 * There are special exceptions to the terms and conditions of the GPL as it
 | 
			
		||||
 * is applied to yaSSL. View the full text of the exception in the file
 | 
			
		||||
 * FLOSS-EXCEPTIONS in the directory of this software distribution.
 | 
			
		||||
 *
 | 
			
		||||
 * yaSSL is distributed in the hope that it will be useful,
 | 
			
		||||
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 | 
			
		||||
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | 
			
		||||
@@ -880,7 +884,7 @@ int sendData(SSL& ssl, const void* buffer, int sz)
 | 
			
		||||
        ssl.SetError(no_error);
 | 
			
		||||
 | 
			
		||||
    ssl.verfiyHandShakeComplete();
 | 
			
		||||
    if (ssl.GetError()) return 0;
 | 
			
		||||
    if (ssl.GetError()) return -1;
 | 
			
		||||
    int sent = 0;
 | 
			
		||||
 | 
			
		||||
    for (;;) {
 | 
			
		||||
@@ -891,7 +895,7 @@ int sendData(SSL& ssl, const void* buffer, int sz)
 | 
			
		||||
        buildMessage(ssl, out, data);
 | 
			
		||||
        ssl.Send(out.get_buffer(), out.get_size());
 | 
			
		||||
 | 
			
		||||
        if (ssl.GetError()) return 0;
 | 
			
		||||
        if (ssl.GetError()) return -1;
 | 
			
		||||
        sent += len;
 | 
			
		||||
        if (sent == sz) break;
 | 
			
		||||
    }
 | 
			
		||||
@@ -912,20 +916,24 @@ int sendAlert(SSL& ssl, const Alert& alert)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
// process input data
 | 
			
		||||
int receiveData(SSL& ssl, Data& data)
 | 
			
		||||
int receiveData(SSL& ssl, Data& data, bool peek)
 | 
			
		||||
{
 | 
			
		||||
    if (ssl.GetError() == YasslError(SSL_ERROR_WANT_READ))
 | 
			
		||||
        ssl.SetError(no_error);
 | 
			
		||||
 | 
			
		||||
    ssl.verfiyHandShakeComplete();
 | 
			
		||||
    if (ssl.GetError()) return 0;
 | 
			
		||||
    if (ssl.GetError()) return -1;
 | 
			
		||||
 | 
			
		||||
    if (!ssl.bufferedData())
 | 
			
		||||
        processReply(ssl);
 | 
			
		||||
    ssl.fillData(data);
 | 
			
		||||
    ssl.useLog().ShowData(data.get_length());
 | 
			
		||||
 | 
			
		||||
    if (ssl.GetError()) return 0;
 | 
			
		||||
    if (peek)
 | 
			
		||||
        ssl.PeekData(data);
 | 
			
		||||
    else
 | 
			
		||||
    ssl.fillData(data);
 | 
			
		||||
 | 
			
		||||
    ssl.useLog().ShowData(data.get_length());
 | 
			
		||||
    if (ssl.GetError()) return -1;
 | 
			
		||||
 | 
			
		||||
    if (data.get_length() == 0 && ssl.getSocket().WouldBlock()) {
 | 
			
		||||
        ssl.SetError(YasslError(SSL_ERROR_WANT_READ));
 | 
			
		||||
 
 | 
			
		||||
@@ -9,6 +9,10 @@
 | 
			
		||||
 * the Free Software Foundation; either version 2 of the License, or
 | 
			
		||||
 * (at your option) any later version.
 | 
			
		||||
 *
 | 
			
		||||
 * There are special exceptions to the terms and conditions of the GPL as it
 | 
			
		||||
 * is applied to yaSSL. View the full text of the exception in the file
 | 
			
		||||
 * FLOSS-EXCEPTIONS in the directory of this software distribution.
 | 
			
		||||
 *
 | 
			
		||||
 * yaSSL is distributed in the hope that it will be useful,
 | 
			
		||||
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 | 
			
		||||
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | 
			
		||||
 
 | 
			
		||||
@@ -9,6 +9,10 @@
 | 
			
		||||
 * the Free Software Foundation; either version 2 of the License, or
 | 
			
		||||
 * (at your option) any later version.
 | 
			
		||||
 *
 | 
			
		||||
 * There are special exceptions to the terms and conditions of the GPL as it
 | 
			
		||||
 * is applied to yaSSL. View the full text of the exception in the file
 | 
			
		||||
 * FLOSS-EXCEPTIONS in the directory of this software distribution.
 | 
			
		||||
 *
 | 
			
		||||
 * yaSSL is distributed in the hope that it will be useful,
 | 
			
		||||
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 | 
			
		||||
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | 
			
		||||
 
 | 
			
		||||
@@ -9,6 +9,10 @@
 | 
			
		||||
 * the Free Software Foundation; either version 2 of the License, or
 | 
			
		||||
 * (at your option) any later version.
 | 
			
		||||
 *
 | 
			
		||||
 * There are special exceptions to the terms and conditions of the GPL as it
 | 
			
		||||
 * is applied to yaSSL. View the full text of the exception in the file
 | 
			
		||||
 * FLOSS-EXCEPTIONS in the directory of this software distribution.
 | 
			
		||||
 *
 | 
			
		||||
 * yaSSL is distributed in the hope that it will be useful,
 | 
			
		||||
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 | 
			
		||||
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | 
			
		||||
@@ -113,13 +117,22 @@ uint Socket::get_ready() const
 | 
			
		||||
 | 
			
		||||
uint Socket::send(const byte* buf, unsigned int sz, int flags) const
 | 
			
		||||
{
 | 
			
		||||
    const byte* pos = buf;
 | 
			
		||||
    const byte* end = pos + sz;
 | 
			
		||||
 | 
			
		||||
    assert(socket_ != INVALID_SOCKET);
 | 
			
		||||
    int sent = ::send(socket_, reinterpret_cast<const char *>(buf), sz, flags);
 | 
			
		||||
 | 
			
		||||
    while (pos != end) {
 | 
			
		||||
        int sent = ::send(socket_, reinterpret_cast<const char *>(pos),
 | 
			
		||||
                          static_cast<int>(end - pos), flags);
 | 
			
		||||
 | 
			
		||||
    if (sent == -1)
 | 
			
		||||
        return 0;
 | 
			
		||||
 | 
			
		||||
    return sent;
 | 
			
		||||
        pos += sent;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    return sz;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -9,6 +9,10 @@
 | 
			
		||||
 * the Free Software Foundation; either version 2 of the License, or
 | 
			
		||||
 * (at your option) any later version.
 | 
			
		||||
 *
 | 
			
		||||
 * There are special exceptions to the terms and conditions of the GPL as it
 | 
			
		||||
 * is applied to yaSSL. View the full text of the exception in the file
 | 
			
		||||
 * FLOSS-EXCEPTIONS in the directory of this software distribution.
 | 
			
		||||
 *
 | 
			
		||||
 * yaSSL is distributed in the hope that it will be useful,
 | 
			
		||||
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 | 
			
		||||
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | 
			
		||||
@@ -64,12 +68,15 @@ int read_file(SSL_CTX* ctx, const char* file, int format, CertType type)
 | 
			
		||||
        return SSL_BAD_FILE;
 | 
			
		||||
 | 
			
		||||
    if (type == CA) {
 | 
			
		||||
        x509* ptr = PemToDer(file, Cert);
 | 
			
		||||
        if (!ptr) {
 | 
			
		||||
        // may have a bunch of CAs
 | 
			
		||||
        x509* ptr;
 | 
			
		||||
        while ( (ptr = PemToDer(input, Cert)) )
 | 
			
		||||
            ctx->AddCA(ptr);
 | 
			
		||||
 | 
			
		||||
        if (!feof(input)) {
 | 
			
		||||
            fclose(input);
 | 
			
		||||
            return SSL_BAD_FILE;
 | 
			
		||||
        }
 | 
			
		||||
        ctx->AddCA(ptr);  // takes ownership
 | 
			
		||||
    }
 | 
			
		||||
    else {
 | 
			
		||||
        x509*& x = (type == Cert) ? ctx->certificate_ : ctx->privateKey_;
 | 
			
		||||
@@ -86,7 +93,7 @@ int read_file(SSL_CTX* ctx, const char* file, int format, CertType type)
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
        else {
 | 
			
		||||
            x = PemToDer(file, type);
 | 
			
		||||
            x = PemToDer(input, type);
 | 
			
		||||
            if (!x) {
 | 
			
		||||
                fclose(input);
 | 
			
		||||
                return SSL_BAD_FILE;
 | 
			
		||||
@@ -1189,6 +1196,35 @@ void MD5_Final(unsigned char* hash, MD5_CTX* md5)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
int RAND_bytes(unsigned char* buf, int num)
 | 
			
		||||
{
 | 
			
		||||
    RandomPool ran;
 | 
			
		||||
 | 
			
		||||
    if (ran.GetError()) return 0;
 | 
			
		||||
 | 
			
		||||
    ran.Fill(buf, num);
 | 
			
		||||
    return 1;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
int SSL_peek(SSL* ssl, void* buffer, int sz)
 | 
			
		||||
{
 | 
			
		||||
    Data data(min(sz, MAX_RECORD_SIZE), static_cast<opaque*>(buffer));
 | 
			
		||||
    return receiveData(*ssl, data, true);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
int SSL_pending(SSL* ssl)
 | 
			
		||||
{
 | 
			
		||||
    // Just in case there's pending data that hasn't been processed yet...
 | 
			
		||||
    char c;
 | 
			
		||||
    SSL_peek(ssl, &c, 1);
 | 
			
		||||
    
 | 
			
		||||
    return ssl->bufferedData();
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
    // functions for stunnel
 | 
			
		||||
 | 
			
		||||
    void RAND_screen()
 | 
			
		||||
@@ -1352,12 +1388,6 @@ void MD5_Final(unsigned char* hash, MD5_CTX* md5)
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
    int SSL_pending(SSL*)
 | 
			
		||||
    {
 | 
			
		||||
        return SSL_SUCCESS; // TODO:
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
    int SSL_want_read(SSL*)
 | 
			
		||||
    {
 | 
			
		||||
        return 0; // TODO:
 | 
			
		||||
 
 | 
			
		||||
@@ -9,6 +9,10 @@
 | 
			
		||||
 * the Free Software Foundation; either version 2 of the License, or
 | 
			
		||||
 * (at your option) any later version.
 | 
			
		||||
 *
 | 
			
		||||
 * There are special exceptions to the terms and conditions of the GPL as it
 | 
			
		||||
 * is applied to yaSSL. View the full text of the exception in the file
 | 
			
		||||
 * FLOSS-EXCEPTIONS in the directory of this software distribution.
 | 
			
		||||
 *
 | 
			
		||||
 * yaSSL is distributed in the hope that it will be useful,
 | 
			
		||||
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 | 
			
		||||
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | 
			
		||||
 
 | 
			
		||||
@@ -9,6 +9,10 @@
 | 
			
		||||
 * the Free Software Foundation; either version 2 of the License, or
 | 
			
		||||
 * (at your option) any later version.
 | 
			
		||||
 *
 | 
			
		||||
 * There are special exceptions to the terms and conditions of the GPL as it
 | 
			
		||||
 * is applied to yaSSL. View the full text of the exception in the file
 | 
			
		||||
 * FLOSS-EXCEPTIONS in the directory of this software distribution.
 | 
			
		||||
 *
 | 
			
		||||
 * yaSSL is distributed in the hope that it will be useful,
 | 
			
		||||
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 | 
			
		||||
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | 
			
		||||
 
 | 
			
		||||
@@ -9,6 +9,10 @@
 | 
			
		||||
 * the Free Software Foundation; either version 2 of the License, or
 | 
			
		||||
 * (at your option) any later version.
 | 
			
		||||
 *
 | 
			
		||||
 * There are special exceptions to the terms and conditions of the GPL as it
 | 
			
		||||
 * is applied to yaSSL. View the full text of the exception in the file
 | 
			
		||||
 * FLOSS-EXCEPTIONS in the directory of this software distribution.
 | 
			
		||||
 *
 | 
			
		||||
 * yaSSL is distributed in the hope that it will be useful,
 | 
			
		||||
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 | 
			
		||||
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | 
			
		||||
 
 | 
			
		||||
@@ -9,6 +9,10 @@
 | 
			
		||||
 * the Free Software Foundation; either version 2 of the License, or
 | 
			
		||||
 * (at your option) any later version.
 | 
			
		||||
 *
 | 
			
		||||
 * There are special exceptions to the terms and conditions of the GPL as it
 | 
			
		||||
 * is applied to yaSSL. View the full text of the exception in the file
 | 
			
		||||
 * FLOSS-EXCEPTIONS in the directory of this software distribution.
 | 
			
		||||
 *
 | 
			
		||||
 * yaSSL is distributed in the hope that it will be useful,
 | 
			
		||||
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 | 
			
		||||
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | 
			
		||||
 
 | 
			
		||||
@@ -9,6 +9,10 @@
 | 
			
		||||
 * the Free Software Foundation; either version 2 of the License, or
 | 
			
		||||
 * (at your option) any later version.
 | 
			
		||||
 *
 | 
			
		||||
 * There are special exceptions to the terms and conditions of the GPL as it
 | 
			
		||||
 * is applied to yaSSL. View the full text of the exception in the file
 | 
			
		||||
 * FLOSS-EXCEPTIONS in the directory of this software distribution.
 | 
			
		||||
 *
 | 
			
		||||
 * yaSSL is distributed in the hope that it will be useful,
 | 
			
		||||
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 | 
			
		||||
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | 
			
		||||
@@ -428,7 +432,7 @@ opaque* DH_Server::get_serverKey() const
 | 
			
		||||
 | 
			
		||||
// set available suites
 | 
			
		||||
Parameters::Parameters(ConnectionEnd ce, const Ciphers& ciphers, 
 | 
			
		||||
                       ProtocolVersion pv) : entity_(ce)
 | 
			
		||||
                       ProtocolVersion pv, bool haveDH) : entity_(ce)
 | 
			
		||||
{
 | 
			
		||||
    pending_ = true;	// suite not set yet
 | 
			
		||||
 | 
			
		||||
@@ -438,11 +442,11 @@ Parameters::Parameters(ConnectionEnd ce, const Ciphers& ciphers,
 | 
			
		||||
        SetCipherNames();
 | 
			
		||||
    }
 | 
			
		||||
    else 
 | 
			
		||||
        SetSuites(pv);  // defaults
 | 
			
		||||
        SetSuites(pv, ce == server_end && !haveDH);  // defaults
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
void Parameters::SetSuites(ProtocolVersion pv)
 | 
			
		||||
void Parameters::SetSuites(ProtocolVersion pv, bool removeDH)
 | 
			
		||||
{
 | 
			
		||||
    int i = 0;
 | 
			
		||||
    // available suites, best first
 | 
			
		||||
@@ -450,19 +454,23 @@ void Parameters::SetSuites(ProtocolVersion pv)
 | 
			
		||||
    //      MAX_CIPHERS is big enough
 | 
			
		||||
 | 
			
		||||
    if (isTLS(pv)) {
 | 
			
		||||
        if (!removeDH) {
 | 
			
		||||
        suites_[i++] = 0x00;
 | 
			
		||||
        suites_[i++] = TLS_DHE_RSA_WITH_AES_256_CBC_SHA;
 | 
			
		||||
        suites_[i++] = 0x00;
 | 
			
		||||
        suites_[i++] = TLS_DHE_DSS_WITH_AES_256_CBC_SHA;
 | 
			
		||||
        }
 | 
			
		||||
        suites_[i++] = 0x00;
 | 
			
		||||
        suites_[i++] = TLS_RSA_WITH_AES_256_CBC_SHA;
 | 
			
		||||
 | 
			
		||||
        suites_[i++] = 0x00;
 | 
			
		||||
        suites_[i++] = TLS_RSA_WITH_AES_128_CBC_SHA;
 | 
			
		||||
        if (!removeDH) {
 | 
			
		||||
        suites_[i++] = 0x00;
 | 
			
		||||
        suites_[i++] = TLS_DHE_RSA_WITH_AES_128_CBC_SHA;
 | 
			
		||||
        suites_[i++] = 0x00;
 | 
			
		||||
        suites_[i++] = TLS_DHE_DSS_WITH_AES_128_CBC_SHA;
 | 
			
		||||
        }
 | 
			
		||||
        suites_[i++] = 0x00;
 | 
			
		||||
        suites_[i++] = TLS_RSA_WITH_AES_128_CBC_SHA;
 | 
			
		||||
 | 
			
		||||
        suites_[i++] = 0x00;
 | 
			
		||||
        suites_[i++] = TLS_RSA_WITH_AES_256_CBC_RMD160;
 | 
			
		||||
@@ -471,6 +479,7 @@ void Parameters::SetSuites(ProtocolVersion pv)
 | 
			
		||||
        suites_[i++] = 0x00;
 | 
			
		||||
        suites_[i++] = TLS_RSA_WITH_3DES_EDE_CBC_RMD160;
 | 
			
		||||
 | 
			
		||||
        if (!removeDH) {
 | 
			
		||||
        suites_[i++] = 0x00;
 | 
			
		||||
        suites_[i++] = TLS_DHE_RSA_WITH_AES_256_CBC_RMD160;
 | 
			
		||||
        suites_[i++] = 0x00;
 | 
			
		||||
@@ -485,6 +494,7 @@ void Parameters::SetSuites(ProtocolVersion pv)
 | 
			
		||||
        suites_[i++] = 0x00;
 | 
			
		||||
        suites_[i++] = TLS_DHE_DSS_WITH_3DES_EDE_CBC_RMD160;
 | 
			
		||||
    }
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    suites_[i++] = 0x00;
 | 
			
		||||
    suites_[i++] = SSL_RSA_WITH_RC4_128_SHA;  
 | 
			
		||||
@@ -496,6 +506,7 @@ void Parameters::SetSuites(ProtocolVersion pv)
 | 
			
		||||
    suites_[i++] = 0x00;
 | 
			
		||||
    suites_[i++] = SSL_RSA_WITH_DES_CBC_SHA;
 | 
			
		||||
 | 
			
		||||
    if (!removeDH) {
 | 
			
		||||
    suites_[i++] = 0x00;
 | 
			
		||||
    suites_[i++] = SSL_DHE_RSA_WITH_3DES_EDE_CBC_SHA;  
 | 
			
		||||
    suites_[i++] = 0x00;
 | 
			
		||||
@@ -505,6 +516,7 @@ void Parameters::SetSuites(ProtocolVersion pv)
 | 
			
		||||
    suites_[i++] = SSL_DHE_RSA_WITH_DES_CBC_SHA;  
 | 
			
		||||
    suites_[i++] = 0x00;
 | 
			
		||||
    suites_[i++] = SSL_DHE_DSS_WITH_DES_CBC_SHA;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    suites_size_ = i;
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -9,6 +9,10 @@
 | 
			
		||||
 * the Free Software Foundation; either version 2 of the License, or
 | 
			
		||||
 * (at your option) any later version.
 | 
			
		||||
 *
 | 
			
		||||
 * There are special exceptions to the terms and conditions of the GPL as it
 | 
			
		||||
 * is applied to yaSSL. View the full text of the exception in the file
 | 
			
		||||
 * FLOSS-EXCEPTIONS in the directory of this software distribution.
 | 
			
		||||
 *
 | 
			
		||||
 * yaSSL is distributed in the hope that it will be useful,
 | 
			
		||||
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 | 
			
		||||
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | 
			
		||||
@@ -260,7 +264,8 @@ const ClientKeyFactory& sslFactory::getClientKey() const
 | 
			
		||||
// extract context parameters and store
 | 
			
		||||
SSL::SSL(SSL_CTX* ctx) 
 | 
			
		||||
    : secure_(ctx->getMethod()->getVersion(), crypto_.use_random(),
 | 
			
		||||
              ctx->getMethod()->getSide(), ctx->GetCiphers(), ctx)
 | 
			
		||||
              ctx->getMethod()->getSide(), ctx->GetCiphers(), ctx,
 | 
			
		||||
              ctx->GetDH_Parms().set_)
 | 
			
		||||
{
 | 
			
		||||
    if (int err = crypto_.get_random().GetError()) {
 | 
			
		||||
        SetError(YasslError(err));
 | 
			
		||||
@@ -986,6 +991,36 @@ void SSL::fillData(Data& data)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
// like Fill but keep data in buffer
 | 
			
		||||
void SSL::PeekData(Data& data)
 | 
			
		||||
{
 | 
			
		||||
    if (GetError()) return;
 | 
			
		||||
    uint dataSz   = data.get_length();        // input, data size to fill
 | 
			
		||||
    uint elements = buffers_.getData().size();
 | 
			
		||||
 | 
			
		||||
    data.set_length(0);                         // output, actual data filled
 | 
			
		||||
    dataSz = min(dataSz, bufferedData());
 | 
			
		||||
 | 
			
		||||
    Buffers::inputList::iterator front = buffers_.getData().begin();
 | 
			
		||||
 | 
			
		||||
    while (elements) {
 | 
			
		||||
        uint frontSz = (*front)->get_remaining();
 | 
			
		||||
        uint readSz  = min(dataSz - data.get_length(), frontSz);
 | 
			
		||||
        uint before  = (*front)->get_current();
 | 
			
		||||
 | 
			
		||||
        (*front)->read(data.set_buffer() + data.get_length(), readSz);
 | 
			
		||||
        data.set_length(data.get_length() + readSz);
 | 
			
		||||
        (*front)->set_current(before);
 | 
			
		||||
 | 
			
		||||
        if (data.get_length() == dataSz)
 | 
			
		||||
            break;
 | 
			
		||||
 | 
			
		||||
        elements--;
 | 
			
		||||
        front++;
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
// flush output buffer
 | 
			
		||||
void SSL::flushBuffer()
 | 
			
		||||
{
 | 
			
		||||
@@ -1910,9 +1945,9 @@ Buffers::outputList& Buffers::useHandShake()
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
Security::Security(ProtocolVersion pv, RandomPool& ran, ConnectionEnd ce,
 | 
			
		||||
                   const Ciphers& ciphers, SSL_CTX* ctx)
 | 
			
		||||
   : conn_(pv, ran), parms_(ce, ciphers, pv), resumeSession_(ran), ctx_(ctx),
 | 
			
		||||
     resuming_(false)
 | 
			
		||||
                   const Ciphers& ciphers, SSL_CTX* ctx, bool haveDH)
 | 
			
		||||
   : conn_(pv, ran), parms_(ce, ciphers, pv, haveDH), resumeSession_(ran),
 | 
			
		||||
     ctx_(ctx), resuming_(false)
 | 
			
		||||
{}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -9,6 +9,10 @@
 | 
			
		||||
 * the Free Software Foundation; either version 2 of the License, or
 | 
			
		||||
 * (at your option) any later version.
 | 
			
		||||
 *
 | 
			
		||||
 * There are special exceptions to the terms and conditions of the GPL as it
 | 
			
		||||
 * is applied to yaSSL. View the full text of the exception in the file
 | 
			
		||||
 * FLOSS-EXCEPTIONS in the directory of this software distribution.
 | 
			
		||||
 *
 | 
			
		||||
 * yaSSL is distributed in the hope that it will be useful,
 | 
			
		||||
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 | 
			
		||||
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | 
			
		||||
 
 | 
			
		||||
@@ -9,6 +9,10 @@
 | 
			
		||||
 * the Free Software Foundation; either version 2 of the License, or
 | 
			
		||||
 * (at your option) any later version.
 | 
			
		||||
 *
 | 
			
		||||
 * There are special exceptions to the terms and conditions of the GPL as it
 | 
			
		||||
 * is applied to yaSSL. View the full text of the exception in the file
 | 
			
		||||
 * FLOSS-EXCEPTIONS in the directory of this software distribution.
 | 
			
		||||
 *
 | 
			
		||||
 * yaSSL is distributed in the hope that it will be useful,
 | 
			
		||||
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 | 
			
		||||
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | 
			
		||||
 
 | 
			
		||||
@@ -9,6 +9,10 @@
 | 
			
		||||
 * the Free Software Foundation; either version 2 of the License, or
 | 
			
		||||
 * (at your option) any later version.
 | 
			
		||||
 *
 | 
			
		||||
 * There are special exceptions to the terms and conditions of the GPL as it
 | 
			
		||||
 * is applied to yaSSL. View the full text of the exception in the file
 | 
			
		||||
 * FLOSS-EXCEPTIONS in the directory of this software distribution.
 | 
			
		||||
 *
 | 
			
		||||
 * yaSSL is distributed in the hope that it will be useful,
 | 
			
		||||
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 | 
			
		||||
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | 
			
		||||
 
 | 
			
		||||
@@ -9,6 +9,10 @@
 | 
			
		||||
 * the Free Software Foundation; either version 2 of the License, or
 | 
			
		||||
 * (at your option) any later version.
 | 
			
		||||
 *
 | 
			
		||||
 * There are special exceptions to the terms and conditions of the GPL as it
 | 
			
		||||
 * is applied to yaSSL. View the full text of the exception in the file
 | 
			
		||||
 * FLOSS-EXCEPTIONS in the directory of this software distribution.
 | 
			
		||||
 *
 | 
			
		||||
 * yaSSL is distributed in the hope that it will be useful,
 | 
			
		||||
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 | 
			
		||||
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | 
			
		||||
 
 | 
			
		||||
@@ -9,6 +9,10 @@
 | 
			
		||||
 * the Free Software Foundation; either version 2 of the License, or
 | 
			
		||||
 * (at your option) any later version.
 | 
			
		||||
 *
 | 
			
		||||
 * There are special exceptions to the terms and conditions of the GPL as it
 | 
			
		||||
 * is applied to yaSSL. View the full text of the exception in the file
 | 
			
		||||
 * FLOSS-EXCEPTIONS in the directory of this software distribution.
 | 
			
		||||
 *
 | 
			
		||||
 * yaSSL is distributed in the hope that it will be useful,
 | 
			
		||||
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 | 
			
		||||
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | 
			
		||||
 
 | 
			
		||||
@@ -9,6 +9,10 @@
 | 
			
		||||
 * the Free Software Foundation; either version 2 of the License, or
 | 
			
		||||
 * (at your option) any later version.
 | 
			
		||||
 *
 | 
			
		||||
 * There are special exceptions to the terms and conditions of the GPL as it
 | 
			
		||||
 * is applied to yaSSL. View the full text of the exception in the file
 | 
			
		||||
 * FLOSS-EXCEPTIONS in the directory of this software distribution.
 | 
			
		||||
 *
 | 
			
		||||
 * yaSSL is distributed in the hope that it will be useful,
 | 
			
		||||
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 | 
			
		||||
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | 
			
		||||
 
 | 
			
		||||
@@ -9,6 +9,10 @@
 | 
			
		||||
 * the Free Software Foundation; either version 2 of the License, or
 | 
			
		||||
 * (at your option) any later version.
 | 
			
		||||
 *
 | 
			
		||||
 * There are special exceptions to the terms and conditions of the GPL as it
 | 
			
		||||
 * is applied to yaSSL. View the full text of the exception in the file
 | 
			
		||||
 * FLOSS-EXCEPTIONS in the directory of this software distribution.
 | 
			
		||||
 *
 | 
			
		||||
 * yaSSL is distributed in the hope that it will be useful,
 | 
			
		||||
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 | 
			
		||||
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | 
			
		||||
 
 | 
			
		||||
@@ -9,6 +9,10 @@
 | 
			
		||||
 * the Free Software Foundation; either version 2 of the License, or
 | 
			
		||||
 * (at your option) any later version.
 | 
			
		||||
 *
 | 
			
		||||
 * There are special exceptions to the terms and conditions of the GPL as it
 | 
			
		||||
 * is applied to yaSSL. View the full text of the exception in the file
 | 
			
		||||
 * FLOSS-EXCEPTIONS in the directory of this software distribution.
 | 
			
		||||
 *
 | 
			
		||||
 * yaSSL is distributed in the hope that it will be useful,
 | 
			
		||||
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 | 
			
		||||
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | 
			
		||||
 
 | 
			
		||||
@@ -9,6 +9,10 @@
 | 
			
		||||
 * the Free Software Foundation; either version 2 of the License, or
 | 
			
		||||
 * (at your option) any later version.
 | 
			
		||||
 *
 | 
			
		||||
 * There are special exceptions to the terms and conditions of the GPL as it
 | 
			
		||||
 * is applied to yaSSL. View the full text of the exception in the file
 | 
			
		||||
 * FLOSS-EXCEPTIONS in the directory of this software distribution.
 | 
			
		||||
 *
 | 
			
		||||
 * yaSSL is distributed in the hope that it will be useful,
 | 
			
		||||
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 | 
			
		||||
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | 
			
		||||
 
 | 
			
		||||
@@ -9,6 +9,10 @@
 | 
			
		||||
 * the Free Software Foundation; either version 2 of the License, or
 | 
			
		||||
 * (at your option) any later version.
 | 
			
		||||
 *
 | 
			
		||||
 * There are special exceptions to the terms and conditions of the GPL as it
 | 
			
		||||
 * is applied to yaSSL. View the full text of the exception in the file
 | 
			
		||||
 * FLOSS-EXCEPTIONS in the directory of this software distribution.
 | 
			
		||||
 *
 | 
			
		||||
 * yaSSL is distributed in the hope that it will be useful,
 | 
			
		||||
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 | 
			
		||||
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | 
			
		||||
 
 | 
			
		||||
@@ -9,6 +9,10 @@
 | 
			
		||||
 * the Free Software Foundation; either version 2 of the License, or
 | 
			
		||||
 * (at your option) any later version.
 | 
			
		||||
 *
 | 
			
		||||
 * There are special exceptions to the terms and conditions of the GPL as it
 | 
			
		||||
 * is applied to yaSSL. View the full text of the exception in the file
 | 
			
		||||
 * FLOSS-EXCEPTIONS in the directory of this software distribution.
 | 
			
		||||
 *
 | 
			
		||||
 * yaSSL is distributed in the hope that it will be useful,
 | 
			
		||||
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 | 
			
		||||
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | 
			
		||||
 
 | 
			
		||||
@@ -9,6 +9,10 @@
 | 
			
		||||
 * the Free Software Foundation; either version 2 of the License, or
 | 
			
		||||
 * (at your option) any later version.
 | 
			
		||||
 *
 | 
			
		||||
 * There are special exceptions to the terms and conditions of the GPL as it
 | 
			
		||||
 * is applied to yaSSL. View the full text of the exception in the file
 | 
			
		||||
 * FLOSS-EXCEPTIONS in the directory of this software distribution.
 | 
			
		||||
 *
 | 
			
		||||
 * yaSSL is distributed in the hope that it will be useful,
 | 
			
		||||
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 | 
			
		||||
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | 
			
		||||
 
 | 
			
		||||
@@ -9,6 +9,10 @@
 | 
			
		||||
 * the Free Software Foundation; either version 2 of the License, or
 | 
			
		||||
 * (at your option) any later version.
 | 
			
		||||
 *
 | 
			
		||||
 * There are special exceptions to the terms and conditions of the GPL as it
 | 
			
		||||
 * is applied to yaSSL. View the full text of the exception in the file
 | 
			
		||||
 * FLOSS-EXCEPTIONS in the directory of this software distribution.
 | 
			
		||||
 *
 | 
			
		||||
 * yaSSL is distributed in the hope that it will be useful,
 | 
			
		||||
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 | 
			
		||||
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | 
			
		||||
 
 | 
			
		||||
@@ -9,6 +9,10 @@
 | 
			
		||||
 * the Free Software Foundation; either version 2 of the License, or
 | 
			
		||||
 * (at your option) any later version.
 | 
			
		||||
 *
 | 
			
		||||
 * There are special exceptions to the terms and conditions of the GPL as it
 | 
			
		||||
 * is applied to yaSSL. View the full text of the exception in the file
 | 
			
		||||
 * FLOSS-EXCEPTIONS in the directory of this software distribution.
 | 
			
		||||
 *
 | 
			
		||||
 * yaSSL is distributed in the hope that it will be useful,
 | 
			
		||||
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 | 
			
		||||
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | 
			
		||||
 
 | 
			
		||||
@@ -9,6 +9,10 @@
 | 
			
		||||
 * the Free Software Foundation; either version 2 of the License, or
 | 
			
		||||
 * (at your option) any later version.
 | 
			
		||||
 *
 | 
			
		||||
 * There are special exceptions to the terms and conditions of the GPL as it
 | 
			
		||||
 * is applied to yaSSL. View the full text of the exception in the file
 | 
			
		||||
 * FLOSS-EXCEPTIONS in the directory of this software distribution.
 | 
			
		||||
 *
 | 
			
		||||
 * yaSSL is distributed in the hope that it will be useful,
 | 
			
		||||
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 | 
			
		||||
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | 
			
		||||
 
 | 
			
		||||
@@ -9,6 +9,10 @@
 | 
			
		||||
 * the Free Software Foundation; either version 2 of the License, or
 | 
			
		||||
 * (at your option) any later version.
 | 
			
		||||
 *
 | 
			
		||||
 * There are special exceptions to the terms and conditions of the GPL as it
 | 
			
		||||
 * is applied to yaSSL. View the full text of the exception in the file
 | 
			
		||||
 * FLOSS-EXCEPTIONS in the directory of this software distribution.
 | 
			
		||||
 *
 | 
			
		||||
 * yaSSL is distributed in the hope that it will be useful,
 | 
			
		||||
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 | 
			
		||||
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | 
			
		||||
 
 | 
			
		||||
@@ -9,6 +9,10 @@
 | 
			
		||||
 * the Free Software Foundation; either version 2 of the License, or
 | 
			
		||||
 * (at your option) any later version.
 | 
			
		||||
 *
 | 
			
		||||
 * There are special exceptions to the terms and conditions of the GPL as it
 | 
			
		||||
 * is applied to yaSSL. View the full text of the exception in the file
 | 
			
		||||
 * FLOSS-EXCEPTIONS in the directory of this software distribution.
 | 
			
		||||
 *
 | 
			
		||||
 * yaSSL is distributed in the hope that it will be useful,
 | 
			
		||||
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 | 
			
		||||
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | 
			
		||||
 
 | 
			
		||||
@@ -9,6 +9,10 @@
 | 
			
		||||
 * the Free Software Foundation; either version 2 of the License, or
 | 
			
		||||
 * (at your option) any later version.
 | 
			
		||||
 *
 | 
			
		||||
 * There are special exceptions to the terms and conditions of the GPL as it
 | 
			
		||||
 * is applied to yaSSL. View the full text of the exception in the file
 | 
			
		||||
 * FLOSS-EXCEPTIONS in the directory of this software distribution.
 | 
			
		||||
 *
 | 
			
		||||
 * yaSSL is distributed in the hope that it will be useful,
 | 
			
		||||
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 | 
			
		||||
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | 
			
		||||
 
 | 
			
		||||
@@ -9,6 +9,10 @@
 | 
			
		||||
 * the Free Software Foundation; either version 2 of the License, or
 | 
			
		||||
 * (at your option) any later version.
 | 
			
		||||
 *
 | 
			
		||||
 * There are special exceptions to the terms and conditions of the GPL as it
 | 
			
		||||
 * is applied to yaSSL. View the full text of the exception in the file
 | 
			
		||||
 * FLOSS-EXCEPTIONS in the directory of this software distribution.
 | 
			
		||||
 *
 | 
			
		||||
 * yaSSL is distributed in the hope that it will be useful,
 | 
			
		||||
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 | 
			
		||||
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | 
			
		||||
 
 | 
			
		||||
@@ -9,6 +9,10 @@
 | 
			
		||||
 * the Free Software Foundation; either version 2 of the License, or
 | 
			
		||||
 * (at your option) any later version.
 | 
			
		||||
 *
 | 
			
		||||
 * There are special exceptions to the terms and conditions of the GPL as it
 | 
			
		||||
 * is applied to yaSSL. View the full text of the exception in the file
 | 
			
		||||
 * FLOSS-EXCEPTIONS in the directory of this software distribution.
 | 
			
		||||
 *
 | 
			
		||||
 * yaSSL is distributed in the hope that it will be useful,
 | 
			
		||||
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 | 
			
		||||
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | 
			
		||||
 
 | 
			
		||||
@@ -9,6 +9,10 @@
 | 
			
		||||
 * the Free Software Foundation; either version 2 of the License, or
 | 
			
		||||
 * (at your option) any later version.
 | 
			
		||||
 *
 | 
			
		||||
 * There are special exceptions to the terms and conditions of the GPL as it
 | 
			
		||||
 * is applied to yaSSL. View the full text of the exception in the file
 | 
			
		||||
 * FLOSS-EXCEPTIONS in the directory of this software distribution.
 | 
			
		||||
 *
 | 
			
		||||
 * yaSSL is distributed in the hope that it will be useful,
 | 
			
		||||
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 | 
			
		||||
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | 
			
		||||
 
 | 
			
		||||
@@ -9,6 +9,10 @@
 | 
			
		||||
 * the Free Software Foundation; either version 2 of the License, or
 | 
			
		||||
 * (at your option) any later version.
 | 
			
		||||
 *
 | 
			
		||||
 * There are special exceptions to the terms and conditions of the GPL as it
 | 
			
		||||
 * is applied to yaSSL. View the full text of the exception in the file
 | 
			
		||||
 * FLOSS-EXCEPTIONS in the directory of this software distribution.
 | 
			
		||||
 *
 | 
			
		||||
 * yaSSL is distributed in the hope that it will be useful,
 | 
			
		||||
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 | 
			
		||||
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | 
			
		||||
 
 | 
			
		||||
@@ -9,6 +9,10 @@
 | 
			
		||||
 * the Free Software Foundation; either version 2 of the License, or
 | 
			
		||||
 * (at your option) any later version.
 | 
			
		||||
 *
 | 
			
		||||
 * There are special exceptions to the terms and conditions of the GPL as it
 | 
			
		||||
 * is applied to yaSSL. View the full text of the exception in the file
 | 
			
		||||
 * FLOSS-EXCEPTIONS in the directory of this software distribution.
 | 
			
		||||
 *
 | 
			
		||||
 * yaSSL is distributed in the hope that it will be useful,
 | 
			
		||||
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 | 
			
		||||
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | 
			
		||||
 
 | 
			
		||||
@@ -9,6 +9,10 @@
 | 
			
		||||
 * the Free Software Foundation; either version 2 of the License, or
 | 
			
		||||
 * (at your option) any later version.
 | 
			
		||||
 *
 | 
			
		||||
 * There are special exceptions to the terms and conditions of the GPL as it
 | 
			
		||||
 * is applied to yaSSL. View the full text of the exception in the file
 | 
			
		||||
 * FLOSS-EXCEPTIONS in the directory of this software distribution.
 | 
			
		||||
 *
 | 
			
		||||
 * yaSSL is distributed in the hope that it will be useful,
 | 
			
		||||
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 | 
			
		||||
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | 
			
		||||
 
 | 
			
		||||
@@ -9,6 +9,10 @@
 | 
			
		||||
 * the Free Software Foundation; either version 2 of the License, or
 | 
			
		||||
 * (at your option) any later version.
 | 
			
		||||
 *
 | 
			
		||||
 * There are special exceptions to the terms and conditions of the GPL as it
 | 
			
		||||
 * is applied to yaSSL. View the full text of the exception in the file
 | 
			
		||||
 * FLOSS-EXCEPTIONS in the directory of this software distribution.
 | 
			
		||||
 *
 | 
			
		||||
 * yaSSL is distributed in the hope that it will be useful,
 | 
			
		||||
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 | 
			
		||||
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | 
			
		||||
 
 | 
			
		||||
@@ -9,6 +9,10 @@
 | 
			
		||||
 * the Free Software Foundation; either version 2 of the License, or
 | 
			
		||||
 * (at your option) any later version.
 | 
			
		||||
 *
 | 
			
		||||
 * There are special exceptions to the terms and conditions of the GPL as it
 | 
			
		||||
 * is applied to yaSSL. View the full text of the exception in the file
 | 
			
		||||
 * FLOSS-EXCEPTIONS in the directory of this software distribution.
 | 
			
		||||
 *
 | 
			
		||||
 * yaSSL is distributed in the hope that it will be useful,
 | 
			
		||||
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 | 
			
		||||
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | 
			
		||||
 
 | 
			
		||||
@@ -9,6 +9,10 @@
 | 
			
		||||
 * the Free Software Foundation; either version 2 of the License, or
 | 
			
		||||
 * (at your option) any later version.
 | 
			
		||||
 *
 | 
			
		||||
 * There are special exceptions to the terms and conditions of the GPL as it
 | 
			
		||||
 * is applied to yaSSL. View the full text of the exception in the file
 | 
			
		||||
 * FLOSS-EXCEPTIONS in the directory of this software distribution.
 | 
			
		||||
 *
 | 
			
		||||
 * yaSSL is distributed in the hope that it will be useful,
 | 
			
		||||
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 | 
			
		||||
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | 
			
		||||
@@ -28,6 +32,9 @@
 | 
			
		||||
#ifndef yaSSL_NEW_HPP
 | 
			
		||||
#define yaSSL_NEW_HPP
 | 
			
		||||
 | 
			
		||||
#ifdef HAVE_CONFIG_H
 | 
			
		||||
#include "config.h"
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
#ifdef __sun
 | 
			
		||||
 
 | 
			
		||||
 
 | 
			
		||||
@@ -9,6 +9,10 @@
 | 
			
		||||
 * the Free Software Foundation; either version 2 of the License, or
 | 
			
		||||
 * (at your option) any later version.
 | 
			
		||||
 *
 | 
			
		||||
 * There are special exceptions to the terms and conditions of the GPL as it
 | 
			
		||||
 * is applied to yaSSL. View the full text of the exception in the file
 | 
			
		||||
 * FLOSS-EXCEPTIONS in the directory of this software distribution.
 | 
			
		||||
 *
 | 
			
		||||
 * yaSSL is distributed in the hope that it will be useful,
 | 
			
		||||
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 | 
			
		||||
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | 
			
		||||
 
 | 
			
		||||
@@ -9,6 +9,10 @@
 | 
			
		||||
 * the Free Software Foundation; either version 2 of the License, or
 | 
			
		||||
 * (at your option) any later version.
 | 
			
		||||
 *
 | 
			
		||||
 * There are special exceptions to the terms and conditions of the GPL as it
 | 
			
		||||
 * is applied to yaSSL. View the full text of the exception in the file
 | 
			
		||||
 * FLOSS-EXCEPTIONS in the directory of this software distribution.
 | 
			
		||||
 *
 | 
			
		||||
 * yaSSL is distributed in the hope that it will be useful,
 | 
			
		||||
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 | 
			
		||||
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | 
			
		||||
 
 | 
			
		||||
@@ -9,6 +9,10 @@
 | 
			
		||||
 * the Free Software Foundation; either version 2 of the License, or
 | 
			
		||||
 * (at your option) any later version.
 | 
			
		||||
 *
 | 
			
		||||
 * There are special exceptions to the terms and conditions of the GPL as it
 | 
			
		||||
 * is applied to yaSSL. View the full text of the exception in the file
 | 
			
		||||
 * FLOSS-EXCEPTIONS in the directory of this software distribution.
 | 
			
		||||
 *
 | 
			
		||||
 * yaSSL is distributed in the hope that it will be useful,
 | 
			
		||||
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 | 
			
		||||
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | 
			
		||||
 
 | 
			
		||||
@@ -9,6 +9,10 @@
 | 
			
		||||
 * the Free Software Foundation; either version 2 of the License, or
 | 
			
		||||
 * (at your option) any later version.
 | 
			
		||||
 *
 | 
			
		||||
 * There are special exceptions to the terms and conditions of the GPL as it
 | 
			
		||||
 * is applied to yaSSL. View the full text of the exception in the file
 | 
			
		||||
 * FLOSS-EXCEPTIONS in the directory of this software distribution.
 | 
			
		||||
 *
 | 
			
		||||
 * yaSSL is distributed in the hope that it will be useful,
 | 
			
		||||
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 | 
			
		||||
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | 
			
		||||
 
 | 
			
		||||
@@ -9,6 +9,10 @@
 | 
			
		||||
 * the Free Software Foundation; either version 2 of the License, or
 | 
			
		||||
 * (at your option) any later version.
 | 
			
		||||
 *
 | 
			
		||||
 * There are special exceptions to the terms and conditions of the GPL as it
 | 
			
		||||
 * is applied to yaSSL. View the full text of the exception in the file
 | 
			
		||||
 * FLOSS-EXCEPTIONS in the directory of this software distribution.
 | 
			
		||||
 *
 | 
			
		||||
 * yaSSL is distributed in the hope that it will be useful,
 | 
			
		||||
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 | 
			
		||||
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | 
			
		||||
 
 | 
			
		||||
@@ -9,6 +9,10 @@
 | 
			
		||||
 * the Free Software Foundation; either version 2 of the License, or
 | 
			
		||||
 * (at your option) any later version.
 | 
			
		||||
 *
 | 
			
		||||
 * There are special exceptions to the terms and conditions of the GPL as it
 | 
			
		||||
 * is applied to yaSSL. View the full text of the exception in the file
 | 
			
		||||
 * FLOSS-EXCEPTIONS in the directory of this software distribution.
 | 
			
		||||
 *
 | 
			
		||||
 * yaSSL is distributed in the hope that it will be useful,
 | 
			
		||||
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 | 
			
		||||
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | 
			
		||||
 
 | 
			
		||||
@@ -9,6 +9,10 @@
 | 
			
		||||
 * the Free Software Foundation; either version 2 of the License, or
 | 
			
		||||
 * (at your option) any later version.
 | 
			
		||||
 *
 | 
			
		||||
 * There are special exceptions to the terms and conditions of the GPL as it
 | 
			
		||||
 * is applied to yaSSL. View the full text of the exception in the file
 | 
			
		||||
 * FLOSS-EXCEPTIONS in the directory of this software distribution.
 | 
			
		||||
 *
 | 
			
		||||
 * yaSSL is distributed in the hope that it will be useful,
 | 
			
		||||
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 | 
			
		||||
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | 
			
		||||
 
 | 
			
		||||
@@ -9,6 +9,10 @@
 | 
			
		||||
 * the Free Software Foundation; either version 2 of the License, or
 | 
			
		||||
 * (at your option) any later version.
 | 
			
		||||
 *
 | 
			
		||||
 * There are special exceptions to the terms and conditions of the GPL as it
 | 
			
		||||
 * is applied to yaSSL. View the full text of the exception in the file
 | 
			
		||||
 * FLOSS-EXCEPTIONS in the directory of this software distribution.
 | 
			
		||||
 *
 | 
			
		||||
 * yaSSL is distributed in the hope that it will be useful,
 | 
			
		||||
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 | 
			
		||||
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | 
			
		||||
 
 | 
			
		||||
@@ -9,6 +9,10 @@
 | 
			
		||||
 * the Free Software Foundation; either version 2 of the License, or
 | 
			
		||||
 * (at your option) any later version.
 | 
			
		||||
 *
 | 
			
		||||
 * There are special exceptions to the terms and conditions of the GPL as it
 | 
			
		||||
 * is applied to yaSSL. View the full text of the exception in the file
 | 
			
		||||
 * FLOSS-EXCEPTIONS in the directory of this software distribution.
 | 
			
		||||
 *
 | 
			
		||||
 * yaSSL is distributed in the hope that it will be useful,
 | 
			
		||||
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 | 
			
		||||
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | 
			
		||||
@@ -472,16 +476,7 @@ void CertDecoder::Decode(SignerList* signers, CertType ct)
 | 
			
		||||
        return;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    if (ct == CA) {
 | 
			
		||||
    if ( memcmp(issuerHash_, subjectHash_, SHA::DIGEST_SIZE) == 0 ) {
 | 
			
		||||
            if (!ValidateSelfSignature() && verify_)
 | 
			
		||||
            source_.SetError(SIG_CONFIRM_E);
 | 
			
		||||
    }
 | 
			
		||||
    else
 | 
			
		||||
            if (!ValidateSignature(signers) && verify_)
 | 
			
		||||
                source_.SetError(SIG_OTHER_E);
 | 
			
		||||
    }
 | 
			
		||||
    else if (!ValidateSignature(signers) && verify_)
 | 
			
		||||
    if (ct != CA && verify_ && !ValidateSignature(signers))
 | 
			
		||||
            source_.SetError(SIG_OTHER_E);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -9,6 +9,10 @@
 | 
			
		||||
 * the Free Software Foundation; either version 2 of the License, or
 | 
			
		||||
 * (at your option) any later version.
 | 
			
		||||
 *
 | 
			
		||||
 * There are special exceptions to the terms and conditions of the GPL as it
 | 
			
		||||
 * is applied to yaSSL. View the full text of the exception in the file
 | 
			
		||||
 * FLOSS-EXCEPTIONS in the directory of this software distribution.
 | 
			
		||||
 *
 | 
			
		||||
 * yaSSL is distributed in the hope that it will be useful,
 | 
			
		||||
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 | 
			
		||||
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | 
			
		||||
 
 | 
			
		||||
@@ -9,6 +9,10 @@
 | 
			
		||||
 * the Free Software Foundation; either version 2 of the License, or
 | 
			
		||||
 * (at your option) any later version.
 | 
			
		||||
 *
 | 
			
		||||
 * There are special exceptions to the terms and conditions of the GPL as it
 | 
			
		||||
 * is applied to yaSSL. View the full text of the exception in the file
 | 
			
		||||
 * FLOSS-EXCEPTIONS in the directory of this software distribution.
 | 
			
		||||
 *
 | 
			
		||||
 * yaSSL is distributed in the hope that it will be useful,
 | 
			
		||||
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 | 
			
		||||
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | 
			
		||||
 
 | 
			
		||||
@@ -9,6 +9,10 @@
 | 
			
		||||
 * the Free Software Foundation; either version 2 of the License, or
 | 
			
		||||
 * (at your option) any later version.
 | 
			
		||||
 *
 | 
			
		||||
 * There are special exceptions to the terms and conditions of the GPL as it
 | 
			
		||||
 * is applied to yaSSL. View the full text of the exception in the file
 | 
			
		||||
 * FLOSS-EXCEPTIONS in the directory of this software distribution.
 | 
			
		||||
 *
 | 
			
		||||
 * yaSSL is distributed in the hope that it will be useful,
 | 
			
		||||
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 | 
			
		||||
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | 
			
		||||
 
 | 
			
		||||
@@ -9,6 +9,10 @@
 | 
			
		||||
 * the Free Software Foundation; either version 2 of the License, or
 | 
			
		||||
 * (at your option) any later version.
 | 
			
		||||
 *
 | 
			
		||||
 * There are special exceptions to the terms and conditions of the GPL as it
 | 
			
		||||
 * is applied to yaSSL. View the full text of the exception in the file
 | 
			
		||||
 * FLOSS-EXCEPTIONS in the directory of this software distribution.
 | 
			
		||||
 *
 | 
			
		||||
 * yaSSL is distributed in the hope that it will be useful,
 | 
			
		||||
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 | 
			
		||||
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | 
			
		||||
 
 | 
			
		||||
@@ -9,6 +9,10 @@
 | 
			
		||||
 * the Free Software Foundation; either version 2 of the License, or
 | 
			
		||||
 * (at your option) any later version.
 | 
			
		||||
 *
 | 
			
		||||
 * There are special exceptions to the terms and conditions of the GPL as it
 | 
			
		||||
 * is applied to yaSSL. View the full text of the exception in the file
 | 
			
		||||
 * FLOSS-EXCEPTIONS in the directory of this software distribution.
 | 
			
		||||
 *
 | 
			
		||||
 * yaSSL is distributed in the hope that it will be useful,
 | 
			
		||||
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 | 
			
		||||
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | 
			
		||||
 
 | 
			
		||||
@@ -9,6 +9,10 @@
 | 
			
		||||
 * the Free Software Foundation; either version 2 of the License, or
 | 
			
		||||
 * (at your option) any later version.
 | 
			
		||||
 *
 | 
			
		||||
 * There are special exceptions to the terms and conditions of the GPL as it
 | 
			
		||||
 * is applied to yaSSL. View the full text of the exception in the file
 | 
			
		||||
 * FLOSS-EXCEPTIONS in the directory of this software distribution.
 | 
			
		||||
 *
 | 
			
		||||
 * yaSSL is distributed in the hope that it will be useful,
 | 
			
		||||
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 | 
			
		||||
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | 
			
		||||
 
 | 
			
		||||
@@ -9,6 +9,10 @@
 | 
			
		||||
 * the Free Software Foundation; either version 2 of the License, or
 | 
			
		||||
 * (at your option) any later version.
 | 
			
		||||
 *
 | 
			
		||||
 * There are special exceptions to the terms and conditions of the GPL as it
 | 
			
		||||
 * is applied to yaSSL. View the full text of the exception in the file
 | 
			
		||||
 * FLOSS-EXCEPTIONS in the directory of this software distribution.
 | 
			
		||||
 *
 | 
			
		||||
 * yaSSL is distributed in the hope that it will be useful,
 | 
			
		||||
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 | 
			
		||||
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | 
			
		||||
 
 | 
			
		||||
@@ -9,6 +9,10 @@
 | 
			
		||||
 * the Free Software Foundation; either version 2 of the License, or
 | 
			
		||||
 * (at your option) any later version.
 | 
			
		||||
 *
 | 
			
		||||
 * There are special exceptions to the terms and conditions of the GPL as it
 | 
			
		||||
 * is applied to yaSSL. View the full text of the exception in the file
 | 
			
		||||
 * FLOSS-EXCEPTIONS in the directory of this software distribution.
 | 
			
		||||
 *
 | 
			
		||||
 * yaSSL is distributed in the hope that it will be useful,
 | 
			
		||||
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 | 
			
		||||
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | 
			
		||||
 
 | 
			
		||||
@@ -9,6 +9,10 @@
 | 
			
		||||
 * the Free Software Foundation; either version 2 of the License, or
 | 
			
		||||
 * (at your option) any later version.
 | 
			
		||||
 *
 | 
			
		||||
 * There are special exceptions to the terms and conditions of the GPL as it
 | 
			
		||||
 * is applied to yaSSL. View the full text of the exception in the file
 | 
			
		||||
 * FLOSS-EXCEPTIONS in the directory of this software distribution.
 | 
			
		||||
 *
 | 
			
		||||
 * yaSSL is distributed in the hope that it will be useful,
 | 
			
		||||
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 | 
			
		||||
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | 
			
		||||
 
 | 
			
		||||
@@ -9,6 +9,10 @@
 | 
			
		||||
 * the Free Software Foundation; either version 2 of the License, or
 | 
			
		||||
 * (at your option) any later version.
 | 
			
		||||
 *
 | 
			
		||||
 * There are special exceptions to the terms and conditions of the GPL as it
 | 
			
		||||
 * is applied to yaSSL. View the full text of the exception in the file
 | 
			
		||||
 * FLOSS-EXCEPTIONS in the directory of this software distribution.
 | 
			
		||||
 *
 | 
			
		||||
 * yaSSL is distributed in the hope that it will be useful,
 | 
			
		||||
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 | 
			
		||||
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | 
			
		||||
 
 | 
			
		||||
@@ -9,6 +9,10 @@
 | 
			
		||||
 * the Free Software Foundation; either version 2 of the License, or
 | 
			
		||||
 * (at your option) any later version.
 | 
			
		||||
 *
 | 
			
		||||
 * There are special exceptions to the terms and conditions of the GPL as it
 | 
			
		||||
 * is applied to yaSSL. View the full text of the exception in the file
 | 
			
		||||
 * FLOSS-EXCEPTIONS in the directory of this software distribution.
 | 
			
		||||
 *
 | 
			
		||||
 * yaSSL is distributed in the hope that it will be useful,
 | 
			
		||||
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 | 
			
		||||
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | 
			
		||||
 
 | 
			
		||||
@@ -9,6 +9,10 @@
 | 
			
		||||
 * the Free Software Foundation; either version 2 of the License, or
 | 
			
		||||
 * (at your option) any later version.
 | 
			
		||||
 *
 | 
			
		||||
 * There are special exceptions to the terms and conditions of the GPL as it
 | 
			
		||||
 * is applied to yaSSL. View the full text of the exception in the file
 | 
			
		||||
 * FLOSS-EXCEPTIONS in the directory of this software distribution.
 | 
			
		||||
 *
 | 
			
		||||
 * yaSSL is distributed in the hope that it will be useful,
 | 
			
		||||
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 | 
			
		||||
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | 
			
		||||
 
 | 
			
		||||
@@ -9,6 +9,10 @@
 | 
			
		||||
 * the Free Software Foundation; either version 2 of the License, or
 | 
			
		||||
 * (at your option) any later version.
 | 
			
		||||
 *
 | 
			
		||||
 * There are special exceptions to the terms and conditions of the GPL as it
 | 
			
		||||
 * is applied to yaSSL. View the full text of the exception in the file
 | 
			
		||||
 * FLOSS-EXCEPTIONS in the directory of this software distribution.
 | 
			
		||||
 *
 | 
			
		||||
 * yaSSL is distributed in the hope that it will be useful,
 | 
			
		||||
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 | 
			
		||||
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | 
			
		||||
 
 | 
			
		||||
@@ -9,6 +9,10 @@
 | 
			
		||||
 * the Free Software Foundation; either version 2 of the License, or
 | 
			
		||||
 * (at your option) any later version.
 | 
			
		||||
 *
 | 
			
		||||
 * There are special exceptions to the terms and conditions of the GPL as it
 | 
			
		||||
 * is applied to yaSSL. View the full text of the exception in the file
 | 
			
		||||
 * FLOSS-EXCEPTIONS in the directory of this software distribution.
 | 
			
		||||
 *
 | 
			
		||||
 * yaSSL is distributed in the hope that it will be useful,
 | 
			
		||||
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 | 
			
		||||
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | 
			
		||||
 
 | 
			
		||||
@@ -9,6 +9,10 @@
 | 
			
		||||
 * the Free Software Foundation; either version 2 of the License, or
 | 
			
		||||
 * (at your option) any later version.
 | 
			
		||||
 *
 | 
			
		||||
 * There are special exceptions to the terms and conditions of the GPL as it
 | 
			
		||||
 * is applied to yaSSL. View the full text of the exception in the file
 | 
			
		||||
 * FLOSS-EXCEPTIONS in the directory of this software distribution.
 | 
			
		||||
 *
 | 
			
		||||
 * yaSSL is distributed in the hope that it will be useful,
 | 
			
		||||
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 | 
			
		||||
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | 
			
		||||
 
 | 
			
		||||
@@ -9,6 +9,10 @@
 | 
			
		||||
 * the Free Software Foundation; either version 2 of the License, or
 | 
			
		||||
 * (at your option) any later version.
 | 
			
		||||
 *
 | 
			
		||||
 * There are special exceptions to the terms and conditions of the GPL as it
 | 
			
		||||
 * is applied to yaSSL. View the full text of the exception in the file
 | 
			
		||||
 * FLOSS-EXCEPTIONS in the directory of this software distribution.
 | 
			
		||||
 *
 | 
			
		||||
 * yaSSL is distributed in the hope that it will be useful,
 | 
			
		||||
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 | 
			
		||||
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | 
			
		||||
 
 | 
			
		||||
@@ -9,6 +9,10 @@
 | 
			
		||||
 * the Free Software Foundation; either version 2 of the License, or
 | 
			
		||||
 * (at your option) any later version.
 | 
			
		||||
 *
 | 
			
		||||
 * There are special exceptions to the terms and conditions of the GPL as it
 | 
			
		||||
 * is applied to yaSSL. View the full text of the exception in the file
 | 
			
		||||
 * FLOSS-EXCEPTIONS in the directory of this software distribution.
 | 
			
		||||
 *
 | 
			
		||||
 * yaSSL is distributed in the hope that it will be useful,
 | 
			
		||||
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 | 
			
		||||
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | 
			
		||||
 
 | 
			
		||||
@@ -9,6 +9,10 @@
 | 
			
		||||
 * the Free Software Foundation; either version 2 of the License, or
 | 
			
		||||
 * (at your option) any later version.
 | 
			
		||||
 *
 | 
			
		||||
 * There are special exceptions to the terms and conditions of the GPL as it
 | 
			
		||||
 * is applied to yaSSL. View the full text of the exception in the file
 | 
			
		||||
 * FLOSS-EXCEPTIONS in the directory of this software distribution.
 | 
			
		||||
 *
 | 
			
		||||
 * yaSSL is distributed in the hope that it will be useful,
 | 
			
		||||
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 | 
			
		||||
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | 
			
		||||
 
 | 
			
		||||
@@ -9,6 +9,10 @@
 | 
			
		||||
 * the Free Software Foundation; either version 2 of the License, or
 | 
			
		||||
 * (at your option) any later version.
 | 
			
		||||
 *
 | 
			
		||||
 * There are special exceptions to the terms and conditions of the GPL as it
 | 
			
		||||
 * is applied to yaSSL. View the full text of the exception in the file
 | 
			
		||||
 * FLOSS-EXCEPTIONS in the directory of this software distribution.
 | 
			
		||||
 *
 | 
			
		||||
 * yaSSL is distributed in the hope that it will be useful,
 | 
			
		||||
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 | 
			
		||||
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | 
			
		||||
 
 | 
			
		||||
@@ -9,6 +9,10 @@
 | 
			
		||||
 * the Free Software Foundation; either version 2 of the License, or
 | 
			
		||||
 * (at your option) any later version.
 | 
			
		||||
 *
 | 
			
		||||
 * There are special exceptions to the terms and conditions of the GPL as it
 | 
			
		||||
 * is applied to yaSSL. View the full text of the exception in the file
 | 
			
		||||
 * FLOSS-EXCEPTIONS in the directory of this software distribution.
 | 
			
		||||
 *
 | 
			
		||||
 * yaSSL is distributed in the hope that it will be useful,
 | 
			
		||||
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 | 
			
		||||
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user