Binary compatibility report for the PolarSSL library  between 1.1.8 and 1.2.0 versions on x86

Test Info


Library NamePolarSSL
Version #11.1.8
Version #21.2.0
CPU Typex86
GCC Version4.6.1

Test Results


Total Header Files37
Total Shared Libraries1
Total Symbols / Types325 / 193
VerdictIncompatible
(20.3%)

Problem Summary


SeverityCount
Added Symbols-49
Removed SymbolsHigh5
Problems with
Data Types
High19
Medium66
Low33
Problems with
Symbols
High1
Medium3
Low6
Problems with
Constants
Low22
Other Changes
in Data Types
-8
Other Changes
in Constants
-85

Added Symbols (49)


asn1write.h, libpolarssl.so.1.2.0
asn1_write_algorithm_identifier ( unsigned char** p, unsigned char* start, char* algorithm_oid )
asn1_write_ia5_string ( unsigned char** p, unsigned char* start, char* text )
asn1_write_int ( unsigned char** p, unsigned char* start, int val )
asn1_write_len ( unsigned char** p, unsigned char* start, size_t len )
asn1_write_mpi ( unsigned char** p, unsigned char* start, struct mpi* X )
asn1_write_null ( unsigned char** p, unsigned char* start )
asn1_write_oid ( unsigned char** p, unsigned char* start, char* oid )
asn1_write_printable_string ( unsigned char** p, unsigned char* start, char* text )
asn1_write_tag ( unsigned char** p, unsigned char* start, unsigned char tag )

blowfish.h, libpolarssl.so.1.2.0
blowfish_crypt_cbc ( struct blowfish_context* ctx, int mode, size_t length, unsigned char* iv, unsigned char const* input, unsigned char* output )
blowfish_crypt_cfb64 ( struct blowfish_context* ctx, int mode, size_t length, size_t* iv_off, unsigned char* iv, unsigned char const* input, unsigned char* output )
blowfish_crypt_ctr ( struct blowfish_context* ctx, size_t length, size_t* nc_off, unsigned char* nonce_counter, unsigned char* stream_block, unsigned char const* input, unsigned char* output )
blowfish_crypt_ecb ( struct blowfish_context* ctx, int mode, unsigned char const* input, unsigned char* output )
blowfish_setkey ( struct blowfish_context* ctx, unsigned char const* key, unsigned int keysize )

cipher_wrap.h, libpolarssl.so.1.2.0
blowfish_cbc_info [data]
blowfish_cfb64_info [data]
blowfish_ctr_info [data]

entropy_poll.h, libpolarssl.so.1.2.0
havege_poll void* data, unsigned char* output, size_t len, size_t* olen )

gcm.h, libpolarssl.so.1.2.0
gcm_auth_decrypt ( struct gcm_context* ctx, size_t length, unsigned char const* iv, size_t iv_len, unsigned char const* add, size_t add_len, unsigned char const* tag, size_t tag_len, unsigned char const* input, unsigned char* output )
gcm_crypt_and_tag ( struct gcm_context* ctx, int mode, size_t length, unsigned char const* iv, size_t iv_len, unsigned char const* add, size_t add_len, unsigned char const* input, unsigned char* output, size_t tag_len, unsigned char* tag )
gcm_init ( struct gcm_context* ctx, unsigned char const* key, unsigned int keysize )
gcm_self_test int verbose )

havege.h, libpolarssl.so.1.2.0
havege_init struct havege_state* hs )
havege_random void* p_rng, unsigned char* output, size_t len )

ssl.h, libpolarssl.so.1.2.0
ssl_get_peer_cert ssl_context const* ssl )
ssl_handshake_free ssl_handshake_params* handshake )
ssl_handshake_wrapup ssl_context* ssl )
ssl_legacy_renegotiation ( ssl_context* ssl, int allow_legacy )
ssl_optimize_checksum ( ssl_context* ssl, int ciphersuite )
ssl_renegotiate ssl_context* ssl )
ssl_send_alert_message ( ssl_context* ssl, unsigned char level, unsigned char message )
ssl_send_fatal_handshake_failure ssl_context* ssl )
ssl_session_free ssl_session* session )
ssl_set_min_version ( ssl_context* ssl, int major, int minor )
ssl_set_own_cert_alt ( ssl_context* ssl, x509_cert* own_cert, void* rsa_key, rsa_decrypt_func rsa_decrypt, rsa_sign_func rsa_sign, rsa_key_len_func rsa_key_len )
ssl_set_renegotiation ( ssl_context* ssl, int renegotiation )
ssl_set_session_cache ( ssl_context* ssl, int(*f_get_cache)(void*, ssl_session*), void* p_get_cache, int(*f_set_cache)(void*, ssl_session const*), void* p_set_cache )
ssl_set_sni ( ssl_context* ssl, int(*f_sni)(void*, ssl_context*, unsigned char const*, size_t), void* p_sni )
ssl_transform_free ssl_transform* transform )

ssl_cache.h, libpolarssl.so.1.2.0
ssl_cache_free ssl_cache_context* cache )
ssl_cache_get void* data, ssl_session* session )
ssl_cache_init ssl_cache_context* cache )
ssl_cache_set void* data, ssl_session const* session )
ssl_cache_set_max_entries ( ssl_cache_context* cache, int max )
ssl_cache_set_timeout ( ssl_cache_context* cache, int timeout )

x509.h, libpolarssl.so.1.2.0
x509parse_crtpath ( x509_cert* chain, char const* path )

x509write.h, libpolarssl.so.1.2.0
x509_write_cert_req ( unsigned char* buf, size_t size, struct rsa_context* rsa, x509_req_name* req_name, int hash_id )
x509_write_key_der ( unsigned char* buf, size_t size, struct rsa_context* rsa )
x509_write_pubkey_der ( unsigned char* buf, size_t size, struct rsa_context* rsa )

to the top

Removed Symbols (5)


md5.h, libpolarssl.so.1.1.8
md5_process ( struct md5_context* ctx, unsigned char const* data )

sha1.h, libpolarssl.so.1.1.8
sha1_process ( struct sha1_context* ctx, unsigned char const* data )

sha2.h, libpolarssl.so.1.1.8
sha2_process ( struct sha2_context* ctx, unsigned char const* data )

ssl.h, libpolarssl.so.1.1.8
ssl_calc_verify ( ssl_context* ssl, unsigned char* hash )
ssl_set_scb ( ssl_context* ssl, int(*s_get)(ssl_context*), int(*s_set)(ssl_context*) )

to the top

Problems with Data Types, High Severity (19)


ssl.h
[+] struct _ssl_context (19)

to the top

Problems with Symbols, High Severity (1)


ssl.h, libpolarssl.so.1.1.8
[+] ssl_set_session ( ssl_context* ssl, int resume, int timeout, ssl_session* session ) (1)

to the top

Problems with Data Types, Medium Severity (66)


cipher.h
[+] enum cipher_id_t (4)
[+] enum cipher_mode_t (3)
[+] enum cipher_type_t (21)

ssl.h
[+] struct _ssl_context (35)
[+] struct _ssl_session (2)

x509.h
[+] struct _x509_cert (1)

to the top

Problems with Symbols, Medium Severity (3)


ssl.h, libpolarssl.so.1.1.8
[+] ssl_default_ciphersuites [data] (2)
[+] ssl_set_session ( ssl_context* ssl, int resume, int timeout, ssl_session* session ) (1)

to the top

Problems with Data Types, Low Severity (33)


aes.h
[+] struct aes_context (2)

bignum.h
[+] typedef t_sint (1)
[+] typedef t_uint (1)

cipher.h
[+] enum cipher_mode_t (1)
[+] struct cipher_base_t (1)

des.h
[+] struct des3_context (1)
[+] struct des_context (1)

entropy.h
[+] struct entropy_context (2)

md5.h
[+] struct md5_context (2)

sha1.h
[+] struct sha1_context (2)

sha2.h
[+] struct sha2_context (2)

sha4.h
[+] struct sha4_context (2)

ssl.h
[+] struct _ssl_context (12)
[+] struct _ssl_session (2)

x509.h
[+] struct _x509_cert (1)

to the top

Problems with Symbols, Low Severity (6)


bignum.h, libpolarssl.so.1.1.8
[+] mpi_get_bit struct mpi* X, size_t pos ) (1)

ssl.h, libpolarssl.so.1.1.8
[+] ssl_default_ciphersuites [data] (1)
[+] ssl_session_reset ssl_context* ssl ) (1)
[+] ssl_set_ciphersuites ( ssl_context* ssl, int* ciphersuites ) (1)
[+] ssl_set_verify ( ssl_context* ssl, int(*f_vrfy)(void*, x509_cert*, int, int), void* p_vrfy ) (1)

x509.h, libpolarssl.so.1.1.8
[+] x509parse_verify x509_cert* crt, x509_cert* trust_ca, x509_crl* ca_crl, char const* cn, int* flags, int(*f_vrfy)(void*, x509_cert*, int, int), void* p_vrfy ) (1)

to the top

Problems with Constants, Low Severity (22)


asn1.h
[+] POLARSSL_ERR_ASN1_INVALID_DATA
[+] POLARSSL_ERR_ASN1_INVALID_LENGTH
[+] POLARSSL_ERR_ASN1_LENGTH_MISMATCH
[+] POLARSSL_ERR_ASN1_MALLOC_FAILED
[+] POLARSSL_ERR_ASN1_OUT_OF_DATA
[+] POLARSSL_ERR_ASN1_UNEXPECTED_TAG

bignum.h
[+] POLARSSL_MPI_READ_BUFFER_SIZE

net.h
[+] POLARSSL_ERR_NET_UNKNOWN_HOST

pem.h
[+] POLARSSL_ERR_PEM_BAD_INPUT_DATA
[+] POLARSSL_ERR_PEM_NO_HEADER_FOOTER_PRESENT

ssl.h
[+] SSL_EDH_RSA_AES_128_SHA
[+] SSL_EDH_RSA_AES_256_SHA
[+] SSL_EDH_RSA_CAMELLIA_128_SHA
[+] SSL_EDH_RSA_CAMELLIA_256_SHA
[+] SSL_EDH_RSA_DES_168_SHA
[+] SSL_RSA_AES_128_SHA
[+] SSL_RSA_AES_256_SHA
[+] SSL_RSA_CAMELLIA_128_SHA
[+] SSL_RSA_CAMELLIA_256_SHA
[+] SSL_RSA_DES_168_SHA
[+] SSL_RSA_RC4_128_MD5
[+] SSL_RSA_RC4_128_SHA

to the top

Other Changes in Data Types (8)


cipher.h
[+] enum cipher_id_t (2)
[+] enum cipher_mode_t (2)
[+] enum cipher_type_t (4)

to the top

Other Changes in Constants (85)


asn1.h
[+] POLARSSL_ERR_ASN1_BUF_TOO_SMALL

bignum.h
[+] LN_2_DIV_LN_10_SCALE100
[+] POLARSSL_MPI_MAX_BITS_SCALE100
[+] POLARSSL_MPI_RW_BUFFER_SIZE

blowfish.h
[+] BLOWFISH_BLOCKSIZE
[+] BLOWFISH_DECRYPT
[+] BLOWFISH_ENCRYPT
[+] BLOWFISH_MAX_KEY
[+] BLOWFISH_MIN_KEY
[+] BLOWFISH_ROUNDS
[+] POLARSSL_ERR_BLOWFISH_INVALID_INPUT_LENGTH
[+] POLARSSL_ERR_BLOWFISH_INVALID_KEY_LENGTH

dhm.h
[+] POLARSSL_DHM_RFC3526_MODP_2048_G
[+] POLARSSL_DHM_RFC3526_MODP_2048_P
[+] POLARSSL_DHM_RFC3526_MODP_3072_G
[+] POLARSSL_DHM_RFC3526_MODP_3072_P
[+] POLARSSL_DHM_RFC5114_MODP_1024_G
[+] POLARSSL_DHM_RFC5114_MODP_1024_P
[+] POLARSSL_DHM_RFC5114_MODP_2048_G
[+] POLARSSL_DHM_RFC5114_MODP_2048_P

gcm.h
[+] GCM_DECRYPT
[+] GCM_ENCRYPT
[+] POLARSSL_ERR_GCM_AUTH_FAILED
[+] POLARSSL_ERR_GCM_BAD_INPUT

pbkdf2.h
[+] POLARSSL_ERR_PBKDF2_BAD_INPUT_DATA

pem.h
[+] POLARSSL_ERR_PEM_NO_HEADER_PRESENT

ssl.h
[+] POLARSSL_ERR_SSL_COMPRESSION_FAILED
[+] POLARSSL_ERR_SSL_HW_ACCEL_FAILED
[+] POLARSSL_ERR_SSL_HW_ACCEL_FALLTHROUGH
[+] SSL_ALERT_MSG_UNRECOGNIZED_NAME
[+] SSL_ALERT_MSG_UNSUPPORTED_EXT
[+] SSL_COMPRESS_DEFLATE
[+] SSL_COMPRESSION_ADD
[+] SSL_EMPTY_RENEGOTIATION_INFO
[+] SSL_HASH_MD5
[+] SSL_HASH_NONE
[+] SSL_HASH_SHA1
[+] SSL_HASH_SHA224
[+] SSL_HASH_SHA256
[+] SSL_HASH_SHA384
[+] SSL_HASH_SHA512
[+] SSL_INITIAL_HANDSHAKE
[+] SSL_LEGACY_ALLOW_RENEGOTIATION
[+] SSL_LEGACY_BREAK_HANDSHAKE
[+] SSL_LEGACY_NO_RENEGOTIATION
[+] SSL_LEGACY_RENEGOTIATION
[+] SSL_RENEGOTIATION
[+] SSL_RENEGOTIATION_DISABLED
[+] SSL_RENEGOTIATION_ENABLED
[+] SSL_SECURE_RENEGOTIATION
[+] SSL_SIG_RSA
[+] TLS_DHE_RSA_WITH_3DES_EDE_CBC_SHA
[+] TLS_DHE_RSA_WITH_AES_128_CBC_SHA
[+] TLS_DHE_RSA_WITH_AES_128_CBC_SHA256
[+] TLS_DHE_RSA_WITH_AES_128_GCM_SHA256
[+] TLS_DHE_RSA_WITH_AES_256_CBC_SHA
[+] TLS_DHE_RSA_WITH_AES_256_CBC_SHA256
[+] TLS_DHE_RSA_WITH_AES_256_GCM_SHA384
[+] TLS_DHE_RSA_WITH_CAMELLIA_128_CBC_SHA
[+] TLS_DHE_RSA_WITH_CAMELLIA_128_CBC_SHA256
[+] TLS_DHE_RSA_WITH_CAMELLIA_256_CBC_SHA
[+] TLS_DHE_RSA_WITH_CAMELLIA_256_CBC_SHA256
[+] TLS_DHE_RSA_WITH_DES_CBC_SHA
[+] TLS_EXT_RENEGOTIATION_INFO
[+] TLS_EXT_SIG_ALG
[+] TLS_RSA_WITH_3DES_EDE_CBC_SHA
[+] TLS_RSA_WITH_AES_128_CBC_SHA
[+] TLS_RSA_WITH_AES_128_CBC_SHA256
[+] TLS_RSA_WITH_AES_128_GCM_SHA256
[+] TLS_RSA_WITH_AES_256_CBC_SHA
[+] TLS_RSA_WITH_AES_256_CBC_SHA256
[+] TLS_RSA_WITH_AES_256_GCM_SHA384
[+] TLS_RSA_WITH_CAMELLIA_128_CBC_SHA
[+] TLS_RSA_WITH_CAMELLIA_128_CBC_SHA256
[+] TLS_RSA_WITH_CAMELLIA_256_CBC_SHA
[+] TLS_RSA_WITH_CAMELLIA_256_CBC_SHA256
[+] TLS_RSA_WITH_DES_CBC_SHA
[+] TLS_RSA_WITH_NULL_MD5
[+] TLS_RSA_WITH_NULL_SHA
[+] TLS_RSA_WITH_NULL_SHA256
[+] TLS_RSA_WITH_RC4_128_MD5
[+] TLS_RSA_WITH_RC4_128_SHA

ssl_cache.h
[+] SSL_CACHE_DEFAULT_MAX_ENTRIES
[+] SSL_CACHE_DEFAULT_TIMEOUT

x509.h
[+] BADCERT_OTHER

to the top

Header Files (37)


aes.h
arc4.h
asn1.h
base64.h
bignum.h
bn_mul.h
camellia.h
certs.h
cipher.h
cipher_wrap.h
config.h
ctr_drbg.h
debug.h
des.h
dhm.h
entropy.h
entropy_poll.h
error.h
havege.h
md.h
md2.h
md4.h
md5.h
md_wrap.h
net.h
padlock.h
pem.h
pkcs11.h
rsa.h
sha1.h
sha2.h
sha4.h
ssl.h
timing.h
version.h
x509.h
xtea.h

to the top

Shared Libraries (1)


libpolarssl.so.1.1.8

to the top




Generated on Wed Oct 2 05:30:49 2013 for PolarSSL by ABI Compliance Checker 1.99.8.4  
A tool for checking backward compatibility of a C/C++ library API