Binary compatibility report for the PolarSSL library  between 0.11.1 and 0.14.0 versions on x86

Test Info


Library NamePolarSSL
Version #10.11.1
Version #20.14.0
CPU Typex86
GCC Version4.6.1

Test Results


Total Header Files25
Total Shared Libraries1
Total Symbols / Types210 / 127
VerdictIncompatible
(17.4%)

Problem Summary


SeverityCount
Added Symbols-7
Removed SymbolsHigh0
Problems with
Data Types
High0
Medium5
Low6
Problems with
Symbols
High7
Medium11
Low172
Problems with
Constants
Low22

Added Symbols (7)


md5.h, libpolarssl.so
md5_hmac_reset struct md5_context* ctx )

sha1.h, libpolarssl.so
sha1_hmac_reset struct sha1_context* ctx )

sha2.h, libpolarssl.so
sha2_hmac_reset struct sha2_context* ctx )

sha4.h, libpolarssl.so
sha4_hmac_reset struct sha4_context* ctx )

version.h, libpolarssl.so
version_get_number ( )
version_get_string char* string )
version_get_string_full char* string )

to the top

Problems with Symbols, High Severity (7)


arc4.h, libpolarssl.so
[+] arc4_crypt ( struct arc4_context* ctx, unsigned char* buf, int buflen ) (3)

rsa.h, libpolarssl.so
[+] rsa_gen_key ( struct rsa_context* ctx, int nbits, int exponent ) (2)
[+] rsa_pkcs1_encrypt ( struct rsa_context* ctx, int mode, int ilen, unsigned char* input, unsigned char* output ) (2)

to the top

Problems with Data Types, Medium Severity (5)


rsa.h
[+] struct rsa_context (2)

x509.h
[+] struct _x509_cert (2)
[+] struct _x509_crl (1)

to the top

Problems with Symbols, Medium Severity (11)


arc4.h, libpolarssl.so
[+] arc4_crypt ( struct arc4_context* ctx, unsigned char* buf, int buflen ) (1)

certs.h, libpolarssl.so
[+] test_ca_crt [data] (1)
[+] test_ca_key [data] (1)
[+] test_ca_pwd [data] (1)
[+] test_cli_crt [data] (1)
[+] test_cli_key [data] (1)
[+] test_srv_crt [data] (1)
[+] test_srv_key [data] (1)

rsa.h, libpolarssl.so
[+] rsa_init ( struct rsa_context* ctx, int padding, int hash_id, int(*f_rng)(void*), void* p_rng ) (2)

ssl.h, libpolarssl.so
[+] ssl_get_cipher ssl_context* ssl ) (1)

to the top

Problems with Data Types, Low Severity (6)


rsa.h
[+] struct rsa_context (1)

ssl.h
[+] struct _ssl_context (3)

x509.h
[+] struct _x509_cert (1)
[+] struct _x509_crl (1)

to the top

Problems with Symbols, Low Severity (172)


aes.h, libpolarssl.so
[+] aes_crypt_cbc ( struct aes_context* ctx, int mode, int length, unsigned char* iv, unsigned char* input, unsigned char* output ) (2)
[+] aes_crypt_cfb128 ( struct aes_context* ctx, int mode, int length, int* iv_off, unsigned char* iv, unsigned char* input, unsigned char* output ) (2)
[+] aes_crypt_ecb ( struct aes_context* ctx, int mode, unsigned char* input, unsigned char* output ) (2)
[+] aes_setkey_dec ( struct aes_context* ctx, unsigned char* key, int keysize ) (2)
[+] aes_setkey_enc ( struct aes_context* ctx, unsigned char* key, int keysize ) (2)

arc4.h, libpolarssl.so
[+] arc4_crypt ( struct arc4_context* ctx, unsigned char* buf, int buflen ) (1)
[+] arc4_setup ( struct arc4_context* ctx, unsigned char* key, int keylen ) (1)

base64.h, libpolarssl.so
[+] base64_decode ( unsigned char* dst, int* dlen, unsigned char* src, int slen ) (1)
[+] base64_encode ( unsigned char* dst, int* dlen, unsigned char* src, int slen ) (1)

bignum.h, libpolarssl.so
[+] mpi_add_abs struct mpi* X, struct mpi* A, struct mpi* B ) (2)
[+] mpi_add_int struct mpi* X, struct mpi* A, int b ) (1)
[+] mpi_add_mpi struct mpi* X, struct mpi* A, struct mpi* B ) (2)
[+] mpi_cmp_abs struct mpi* X, struct mpi* Y ) (2)
[+] mpi_cmp_int struct mpi* X, int z ) (1)
[+] mpi_cmp_mpi struct mpi* X, struct mpi* Y ) (2)
[+] mpi_copy struct mpi* X, struct mpi* Y ) (1)
[+] mpi_div_int struct mpi* Q, struct mpi* R, struct mpi* A, int b ) (1)
[+] mpi_div_mpi struct mpi* Q, struct mpi* R, struct mpi* A, struct mpi* B ) (2)
[+] mpi_exp_mod struct mpi* X, struct mpi* A, struct mpi* E, struct mpi* N, struct mpi* _RR ) (3)
[+] mpi_gcd struct mpi* G, struct mpi* A, struct mpi* B ) (2)
[+] mpi_inv_mod struct mpi* X, struct mpi* A, struct mpi* N ) (2)
[+] mpi_lsb struct mpi* X ) (1)
[+] mpi_mod_int t_int* r, struct mpi* A, int b ) (1)
[+] mpi_mod_mpi struct mpi* R, struct mpi* A, struct mpi* B ) (2)
[+] mpi_msb struct mpi* X ) (1)
[+] mpi_mul_int struct mpi* X, struct mpi* A, t_int b ) (1)
[+] mpi_mul_mpi struct mpi* X, struct mpi* A, struct mpi* B ) (2)
[+] mpi_read_binary struct mpi* X, unsigned char* buf, int buflen ) (1)
[+] mpi_read_string struct mpi* X, int radix, char* s ) (1)
[+] mpi_size struct mpi* X ) (1)
[+] mpi_sub_abs struct mpi* X, struct mpi* A, struct mpi* B ) (2)
[+] mpi_sub_int struct mpi* X, struct mpi* A, int b ) (1)
[+] mpi_sub_mpi struct mpi* X, struct mpi* A, struct mpi* B ) (2)
[+] mpi_write_binary struct mpi* X, unsigned char* buf, int buflen ) (1)
[+] mpi_write_file char* p, struct mpi* X, int radix, FILE* fout ) (2)
[+] mpi_write_string struct mpi* X, int radix, char* s, int* slen ) (1)

camellia.h, libpolarssl.so
[+] camellia_crypt_cbc ( struct camellia_context* ctx, int mode, int length, unsigned char* iv, unsigned char* input, unsigned char* output ) (2)
[+] camellia_crypt_cfb128 ( struct camellia_context* ctx, int mode, int length, int* iv_off, unsigned char* iv, unsigned char* input, unsigned char* output ) (2)
[+] camellia_crypt_ecb ( struct camellia_context* ctx, int mode, unsigned char* input, unsigned char* output ) (2)
[+] camellia_setkey_dec ( struct camellia_context* ctx, unsigned char* key, int keysize ) (2)
[+] camellia_setkey_enc ( struct camellia_context* ctx, unsigned char* key, int keysize ) (2)

certs.h, libpolarssl.so
[+] test_ca_crt [data] (1)
[+] test_ca_key [data] (1)
[+] test_ca_pwd [data] (1)
[+] test_cli_crt [data] (1)
[+] test_cli_key [data] (1)
[+] test_srv_crt [data] (1)
[+] test_srv_key [data] (1)

debug.h, libpolarssl.so
[+] debug_print_buf ( ssl_context* ssl, int level, char* file, int line, char* text, unsigned char* buf, int len ) (3)
[+] debug_print_crt ( ssl_context* ssl, int level, char* file, int line, char* text, x509_cert* crt ) (4)
[+] debug_print_mpi ( ssl_context* ssl, int level, char* file, int line, char* text, struct mpi* X ) (4)
[+] debug_print_msg ( ssl_context* ssl, int level, char* file, int line, char* text ) (3)
[+] debug_print_ret ( ssl_context* ssl, int level, char* file, int line, char* text, int ret ) (3)

des.h, libpolarssl.so
[+] des3_crypt_cbc ( struct des3_context* ctx, int mode, int length, unsigned char* iv, unsigned char* input, unsigned char* output ) (2)
[+] des3_crypt_ecb ( struct des3_context* ctx, unsigned char* input, unsigned char* output ) (2)
[+] des3_set2key_dec ( struct des3_context* ctx, unsigned char* key ) (1)
[+] des3_set2key_enc ( struct des3_context* ctx, unsigned char* key ) (1)
[+] des3_set3key_dec ( struct des3_context* ctx, unsigned char* key ) (1)
[+] des3_set3key_enc ( struct des3_context* ctx, unsigned char* key ) (1)
[+] des_crypt_cbc ( struct des_context* ctx, int mode, int length, unsigned char* iv, unsigned char* input, unsigned char* output ) (2)
[+] des_crypt_ecb ( struct des_context* ctx, unsigned char* input, unsigned char* output ) (2)
[+] des_setkey_dec ( struct des_context* ctx, unsigned char* key ) (1)
[+] des_setkey_enc ( struct des_context* ctx, unsigned char* key ) (1)

dhm.h, libpolarssl.so
[+] dhm_make_params ( struct dhm_context* ctx, int s_size, unsigned char* output, int* olen, int(*f_rng)(void*), void* p_rng ) (1)
[+] dhm_read_params ( struct dhm_context* ctx, unsigned char** p, unsigned char* end ) (1)
[+] dhm_read_public ( struct dhm_context* ctx, unsigned char* input, int ilen ) (1)

md5.h, libpolarssl.so
[+] md5 ( unsigned char* input, int ilen, unsigned char* output ) (1)
[+] md5_file char* path, unsigned char* output ) (1)
[+] md5_hmac ( unsigned char* key, int keylen, unsigned char* input, int ilen, unsigned char* output ) (2)
[+] md5_hmac_starts ( struct md5_context* ctx, unsigned char* key, int keylen ) (1)
[+] md5_hmac_update ( struct md5_context* ctx, unsigned char* input, int ilen ) (1)
[+] md5_update ( struct md5_context* ctx, unsigned char* input, int ilen ) (1)

net.h, libpolarssl.so
[+] net_bind int* fd, char* bind_ip, int port ) (1)
[+] net_connect int* fd, char* host, int port ) (1)

padlock.h, libpolarssl.so
[+] padlock_xcryptcbc ( struct aes_context* ctx, int mode, int length, unsigned char* iv, unsigned char* input, unsigned char* output ) (1)
[+] padlock_xcryptecb ( struct aes_context* ctx, int mode, unsigned char* input, unsigned char* output ) (1)

rsa.h, libpolarssl.so
[+] rsa_check_privkey struct rsa_context* ctx ) (1)
[+] rsa_check_pubkey struct rsa_context* ctx ) (1)
[+] rsa_pkcs1_decrypt ( struct rsa_context* ctx, int mode, int* olen, unsigned char* input, unsigned char* output, int output_max_len ) (1)
[+] rsa_pkcs1_sign ( struct rsa_context* ctx, int mode, int hash_id, int hashlen, unsigned char* hash, unsigned char* sig ) (1)
[+] rsa_pkcs1_verify ( struct rsa_context* ctx, int mode, int hash_id, int hashlen, unsigned char* hash, unsigned char* sig ) (1)
[+] rsa_private ( struct rsa_context* ctx, unsigned char* input, unsigned char* output ) (1)
[+] rsa_public ( struct rsa_context* ctx, unsigned char* input, unsigned char* output ) (1)

sha1.h, libpolarssl.so
[+] sha1 ( unsigned char* input, int ilen, unsigned char* output ) (1)
[+] sha1_file char* path, unsigned char* output ) (1)
[+] sha1_hmac ( unsigned char* key, int keylen, unsigned char* input, int ilen, unsigned char* output ) (2)
[+] sha1_hmac_starts ( struct sha1_context* ctx, unsigned char* key, int keylen ) (1)
[+] sha1_hmac_update ( struct sha1_context* ctx, unsigned char* input, int ilen ) (1)
[+] sha1_update ( struct sha1_context* ctx, unsigned char* input, int ilen ) (1)

sha2.h, libpolarssl.so
[+] sha2 ( unsigned char* input, int ilen, unsigned char* output, int is224 ) (1)
[+] sha2_file char* path, unsigned char* output, int is224 ) (1)
[+] sha2_hmac ( unsigned char* key, int keylen, unsigned char* input, int ilen, unsigned char* output, int is224 ) (2)
[+] sha2_hmac_starts ( struct sha2_context* ctx, unsigned char* key, int keylen, int is224 ) (1)
[+] sha2_hmac_update ( struct sha2_context* ctx, unsigned char* input, int ilen ) (1)
[+] sha2_update ( struct sha2_context* ctx, unsigned char* input, int ilen ) (1)

sha4.h, libpolarssl.so
[+] sha4 ( unsigned char* input, int ilen, unsigned char* output, int is384 ) (1)
[+] sha4_file char* path, unsigned char* output, int is384 ) (1)
[+] sha4_hmac ( unsigned char* key, int keylen, unsigned char* input, int ilen, unsigned char* output, int is384 ) (2)
[+] sha4_hmac_starts ( struct sha4_context* ctx, unsigned char* key, int keylen, int is384 ) (1)
[+] sha4_hmac_update ( struct sha4_context* ctx, unsigned char* input, int ilen ) (1)
[+] sha4_update ( struct sha4_context* ctx, unsigned char* input, int ilen ) (1)

ssl.h, libpolarssl.so
[+] ssl_get_bytes_avail ssl_context* ssl ) (1)
[+] ssl_get_cipher ssl_context* ssl ) (2)
[+] ssl_get_verify_result ssl_context* ssl ) (1)
[+] ssl_set_ca_chain ( ssl_context* ssl, x509_cert* ca_chain, x509_crl* ca_crl, char* peer_cn ) (1)
[+] ssl_set_dbg ( ssl_context* ssl, void(*f_dbg)(void*, int, char*), void* p_dbg ) (1)
[+] ssl_set_dh_param ( ssl_context* ssl, char* dhm_P, char* dhm_G ) (2)
[+] ssl_set_hostname ( ssl_context* ssl, char* hostname ) (1)
[+] ssl_write ( ssl_context* ssl, unsigned char* buf, int len ) (1)

x509.h, libpolarssl.so
[+] x509parse_cert_info char* buf, size_t size, char* prefix, x509_cert* crt ) (2)
[+] x509parse_crl x509_crl* chain, unsigned char* buf, int buflen ) (1)
[+] x509parse_crl_info char* buf, size_t size, char* prefix, x509_crl* crl ) (2)
[+] x509parse_crlfile x509_crl* chain, char* path ) (1)
[+] x509parse_crt ( x509_cert* chain, unsigned char* buf, int buflen ) (1)
[+] x509parse_crtfile ( x509_cert* chain, char* path ) (1)
[+] x509parse_dn_gets char* buf, size_t size, x509_name* dn ) (1)
[+] x509parse_key ( struct rsa_context* rsa, unsigned char* buf, int buflen, unsigned char* pwd, int pwdlen ) (4)
[+] x509parse_keyfile ( struct rsa_context* rsa, char* path, char* password ) (2)
[+] x509parse_time_expired x509_time* time ) (1)
[+] x509parse_verify x509_cert* crt, x509_cert* trust_ca, x509_crl* ca_crl, char* cn, int* flags ) (1)

to the top

Problems with Constants (22)


base64.h
[+] POLARSSL_ERR_BASE64_BUFFER_TOO_SMALL
[+] POLARSSL_ERR_BASE64_INVALID_CHARACTER

bignum.h
[+] POLARSSL_ERR_MPI_BAD_INPUT_DATA
[+] POLARSSL_ERR_MPI_BUFFER_TOO_SMALL
[+] POLARSSL_ERR_MPI_DIVISION_BY_ZERO
[+] POLARSSL_ERR_MPI_FILE_IO_ERROR
[+] POLARSSL_ERR_MPI_INVALID_CHARACTER
[+] POLARSSL_ERR_MPI_NEGATIVE_VALUE
[+] POLARSSL_ERR_MPI_NOT_ACCEPTABLE

dhm.h
[+] POLARSSL_ERR_DHM_BAD_INPUT_DATA
[+] POLARSSL_ERR_DHM_CALC_SECRET_FAILED
[+] POLARSSL_ERR_DHM_MAKE_PARAMS_FAILED
[+] POLARSSL_ERR_DHM_MAKE_PUBLIC_FAILED
[+] POLARSSL_ERR_DHM_READ_PARAMS_FAILED
[+] POLARSSL_ERR_DHM_READ_PUBLIC_FAILED

ssl.h
[+] SSL_RSA_AES_128_SHA
[+] SSL_RSA_DES_168_SHA

x509.h
[+] POLARSSL_ERR_ASN1_INVALID_DATA
[+] POLARSSL_ERR_ASN1_INVALID_LENGTH
[+] POLARSSL_ERR_ASN1_LENGTH_MISMATCH
[+] POLARSSL_ERR_ASN1_OUT_OF_DATA
[+] POLARSSL_ERR_ASN1_UNEXPECTED_TAG

to the top

Header Files (25)


aes.h
arc4.h
base64.h
bignum.h
bn_mul.h
camellia.h
certs.h
config.h
debug.h
des.h
dhm.h
havege.h
md2.h
md4.h
md5.h
net.h
padlock.h
rsa.h
sha1.h
sha2.h
sha4.h
ssl.h
timing.h
x509.h
xtea.h

to the top

Shared Libraries (1)


libpolarssl.so

to the top




Generated on Tue Dec 25 17:27:45 2012 for PolarSSL by ABI Compliance Checker 1.98.7  
A tool for checking backward compatibility of a C/C++ library API