Binary compatibility report for the libgnutls.so object between 2.12.23 and 3.0.1 versions on x86_64

Test Info


Module Namelibgnutls
Version #12.12.23
Version #23.0.1
CPU Typex86_64
GCC Version4.9.2

Test Results


Total Header Files7
Total Source Files68
Total Objects1
Total Symbols / Types602 / 272
VerdictIncompatible
(4%)

Problem Summary


SeverityCount
Added Symbols-41
Removed SymbolsHigh24
Problems with
Data Types
High0
Medium0
Low4
Problems with
Symbols
High0
Medium0
Low24
Problems with
Constants
Low0
Other Changes
in Data Types
-17

Added Symbols (41)


abstract.h, libgnutls.so.28.0.1
gnutls_certificate_set_retrieve_function2 ( gnutls_certificate_credentials_t cred, gnutls_certificate_retrieve_function2* func ) @@ GNUTLS_3_0_0
gnutls_pcert_deinit gnutls_pcert_st* pcert ) @@ GNUTLS_3_0_0
gnutls_pcert_import_openpgp ( gnutls_pcert_st* pcert, gnutls_openpgp_crt_t crt, unsigned int flags ) @@ GNUTLS_3_0_0
gnutls_pcert_import_openpgp_raw ( gnutls_pcert_st* pcert, gnutls_datum_t const* cert, gnutls_openpgp_crt_fmt_t format, unsigned char* keyid, unsigned int flags ) @@ GNUTLS_3_0_0
gnutls_pcert_import_x509 ( gnutls_pcert_st* pcert, gnutls_x509_crt_t crt, unsigned int flags ) @@ GNUTLS_3_0_0
gnutls_pcert_import_x509_raw ( gnutls_pcert_st* pcert, gnutls_datum_t const* cert, enum gnutls_x509_crt_fmt_t format, unsigned int flags ) @@ GNUTLS_3_0_0
gnutls_pcert_list_import_x509_raw ( gnutls_pcert_st* pcerts, unsigned int* pcert_max, gnutls_datum_t const* data, enum gnutls_x509_crt_fmt_t format, unsigned int flags ) @@ GNUTLS_3_0_0
gnutls_pubkey_get_openpgp_key_id ( gnutls_pubkey_t key, unsigned int flags, unsigned char* output_data, size_t* output_data_size, unsigned int* subkey ) @@ GNUTLS_3_0_0
gnutls_pubkey_get_pk_ecc_raw ( gnutls_pubkey_t key, gnutls_ecc_curve_t* curve, gnutls_datum_t* x, gnutls_datum_t* y ) @@ GNUTLS_3_0_0
gnutls_pubkey_verify_data2 ( gnutls_pubkey_t pubkey, enum gnutls_sign_algorithm_t algo, unsigned int flags, gnutls_datum_t const* data, gnutls_datum_t const* signature ) @@ GNUTLS_3_0_0

crypto.h, libgnutls.so.28.0.1
gnutls_cipher_add_auth ( gnutls_cipher_hd_t handle, void const* text, size_t text_size ) @@ GNUTLS_3_0_0
gnutls_cipher_set_iv ( gnutls_cipher_hd_t handle, void* iv, size_t ivlen ) @@ GNUTLS_3_0_0
gnutls_cipher_tag ( gnutls_cipher_hd_t handle, void* tag, size_t tag_size ) @@ GNUTLS_3_0_0

dtls.h, libgnutls.so.28.0.1
gnutls_dtls_cookie_send ( gnutls_datum_t* key, void* client_data, size_t client_data_size, gnutls_dtls_prestate_st* prestate, gnutls_transport_ptr_t ptr, gnutls_push_func push_func ) @@ GNUTLS_3_0_0
gnutls_dtls_cookie_verify ( gnutls_datum_t* key, void* client_data, size_t client_data_size, void* _msg, size_t msg_size, gnutls_dtls_prestate_st* prestate ) @@ GNUTLS_3_0_0
gnutls_dtls_get_data_mtu gnutls_session_t session ) @@ GNUTLS_3_0_0
gnutls_dtls_get_mtu gnutls_session_t session ) @@ GNUTLS_3_0_0
gnutls_dtls_prestate_set ( gnutls_session_t session, gnutls_dtls_prestate_st* prestate ) @@ GNUTLS_3_0_0
gnutls_dtls_set_mtu ( gnutls_session_t session, unsigned int mtu ) @@ GNUTLS_3_0_0
gnutls_dtls_set_timeouts ( gnutls_session_t session, unsigned int retrans_timeout, unsigned int total_timeout ) @@ GNUTLS_3_0_0

gnutls.h, libgnutls.so.28.0.1
gnutls_alert_get_strname enum gnutls_alert_description_t alert ) @@ GNUTLS_3_0_0
gnutls_ecc_curve_get gnutls_session_t session ) @@ GNUTLS_3_0_0
gnutls_ecc_curve_get_name enum gnutls_ecc_curve_t curve ) @@ GNUTLS_3_0_0
gnutls_ecc_curve_get_size enum gnutls_ecc_curve_t curve ) @@ GNUTLS_3_0_0
gnutls_global_set_audit_log_function gnutls_audit_log_func log_func ) @@ GNUTLS_3_0_0
gnutls_key_generate ( gnutls_datum_t* key, unsigned int key_size ) @@ GNUTLS_3_0_0
gnutls_record_recv_seq ( gnutls_session_t session, void* data, size_t data_size, unsigned char* seq ) @@ GNUTLS_3_0_0
gnutls_transport_set_pull_timeout_function ( gnutls_session_t session, gnutls_pull_timeout_func func ) @@ GNUTLS_3_0_0

x509.h, libgnutls.so.28.0.1
gnutls_x509_crl_list_import ( gnutls_x509_crl_t* crls, unsigned int* crl_max, gnutls_datum_t const* data, enum gnutls_x509_crt_fmt_t format, unsigned int flags ) @@ GNUTLS_3_0_0
gnutls_x509_crl_list_import2 ( gnutls_x509_crl_t** crls, unsigned int* size, gnutls_datum_t const* data, enum gnutls_x509_crt_fmt_t format, unsigned int flags ) @@ GNUTLS_3_0_0
gnutls_x509_crt_list_import2 ( gnutls_x509_crt_t** certs, unsigned int* size, gnutls_datum_t const* data, enum gnutls_x509_crt_fmt_t format, unsigned int flags ) @@ GNUTLS_3_0_0
gnutls_x509_privkey_export_ecc_raw ( gnutls_x509_privkey_t key, gnutls_ecc_curve_t* curve, gnutls_datum_t* x, gnutls_datum_t* y, gnutls_datum_t* k ) @@ GNUTLS_3_0_0
gnutls_x509_privkey_import_ecc_raw ( gnutls_x509_privkey_t key, enum gnutls_ecc_curve_t curve, gnutls_datum_t const* x, gnutls_datum_t const* y, gnutls_datum_t const* k ) @@ GNUTLS_3_0_0
gnutls_x509_trust_list_add_cas ( gnutls_x509_trust_list_t list, gnutls_x509_crt_t const* clist, int clist_size, unsigned int flags ) @@ GNUTLS_3_0_0
gnutls_x509_trust_list_add_crls ( gnutls_x509_trust_list_t list, gnutls_x509_crl_t const* crl_list, int crl_size, unsigned int flags, unsigned int verification_flags ) @@ GNUTLS_3_0_0
gnutls_x509_trust_list_add_named_crt ( gnutls_x509_trust_list_t list, gnutls_x509_crt_t cert, void const* name, size_t name_size, unsigned int flags ) @@ GNUTLS_3_0_0
gnutls_x509_trust_list_deinit ( gnutls_x509_trust_list_t list, unsigned int all ) @@ GNUTLS_3_0_0
gnutls_x509_trust_list_get_issuer ( gnutls_x509_trust_list_t list, gnutls_x509_crt_t cert, gnutls_x509_crt_t* issuer, unsigned int flags ) @@ GNUTLS_3_0_0
gnutls_x509_trust_list_init ( gnutls_x509_trust_list_t* list, unsigned int size ) @@ GNUTLS_3_0_0
gnutls_x509_trust_list_verify_crt ( gnutls_x509_trust_list_t list, gnutls_x509_crt_t* cert_list, unsigned int cert_list_size, unsigned int flags, unsigned int* verify, gnutls_verify_output_function* func ) @@ GNUTLS_3_0_0
gnutls_x509_trust_list_verify_named_crt ( gnutls_x509_trust_list_t list, gnutls_x509_crt_t cert, void const* name, size_t name_size, unsigned int flags, unsigned int* verify, gnutls_verify_output_function* func ) @@ GNUTLS_3_0_0

to the top

Removed Symbols (24)


compat.h, libgnutls.so.26.22.6
gnutls_certificate_get_openpgp_keyring ( gnutls_certificate_credentials_t sc, gnutls_openpgp_keyring_t* keyring ) @@ GNUTLS_1_4
gnutls_certificate_get_x509_cas ( gnutls_certificate_credentials_t sc, gnutls_x509_crt_t** x509_ca_list, unsigned int* ncas ) @@ GNUTLS_1_4
gnutls_certificate_get_x509_crls ( gnutls_certificate_credentials_t sc, gnutls_x509_crl_t** x509_crl_list, unsigned int* ncrls ) @@ GNUTLS_1_4
gnutls_certificate_verify_peers gnutls_session_t session ) @@ GNUTLS_1_4
gnutls_ext_register int type, char const* name, enum gnutls_ext_parse_type_t parse_type, gnutls_ext_recv_func recv_func, int(*send_func)(gnutls_session_t, unsigned char*, size_t) ) @@ GNUTLS_1_4
gnutls_openpgp_privkey_sign_hash ( gnutls_openpgp_privkey_t key, gnutls_datum_t const* hash, gnutls_datum_t* signature ) @@ GNUTLS_1_4
gnutls_psk_netconf_derive_key ( char const* password, char const* psk_identity, char const* psk_identity_hint, gnutls_datum_t* output_key ) @@ GNUTLS_1_4
gnutls_session_get_client_random gnutls_session_t session ) @@ GNUTLS_1_4
gnutls_session_get_master_secret gnutls_session_t session ) @@ GNUTLS_1_4
gnutls_session_get_server_random gnutls_session_t session ) @@ GNUTLS_1_4
gnutls_session_set_finished_function ( gnutls_session_t session, gnutls_finished_callback_func func ) @@ GNUTLS_1_4
gnutls_transport_set_global_errno int err ) @@ GNUTLS_1_4
gnutls_transport_set_lowat ( gnutls_session_t session, int num ) @@ GNUTLS_1_4
gnutls_x509_privkey_verify_data ( gnutls_x509_privkey_t key, unsigned int flags, gnutls_datum_t const* data, gnutls_datum_t const* signature ) @@ GNUTLS_1_4

crypto.h, libgnutls.so.26.22.6
gnutls_crypto_bigint_register2 int priority, int version, gnutls_crypto_bigint_st const* s ) @@ GNUTLS_1_4
gnutls_crypto_cipher_register2 int priority, int version, gnutls_crypto_cipher_st const* s ) @@ GNUTLS_1_4
gnutls_crypto_digest_register2 int priority, int version, gnutls_crypto_digest_st const* s ) @@ GNUTLS_1_4
gnutls_crypto_mac_register2 int priority, int version, gnutls_crypto_mac_st const* s ) @@ GNUTLS_1_4
gnutls_crypto_pk_register2 int priority, int version, gnutls_crypto_pk_st const* s ) @@ GNUTLS_1_4
gnutls_crypto_rnd_register2 int priority, int version, gnutls_crypto_rnd_st const* s ) @@ GNUTLS_1_4
gnutls_crypto_single_cipher_register2 ( gnutls_cipher_algorithm_t algorithm, int priority, int version, gnutls_crypto_cipher_st const* s ) @@ GNUTLS_1_4
gnutls_crypto_single_digest_register2 ( enum gnutls_digest_algorithm_t algorithm, int priority, int version, gnutls_crypto_digest_st const* s ) @@ GNUTLS_1_4
gnutls_crypto_single_mac_register2 ( enum gnutls_mac_algorithm_t algorithm, int priority, int version, gnutls_crypto_mac_st const* s ) @@ GNUTLS_1_4

gnutls.h, libgnutls.so.26.22.6
gnutls_sign_algorithm_get_name enum gnutls_sign_algorithm_t sign ) @@ GNUTLS_1_4

to the top

Problems with Data Types, Low Severity (4)


gnutls.h
[+] enum gnutls_alert_description_t (2)
[+] enum gnutls_compression_method_t (1)
[+] enum gnutls_protocol_t (1)

to the top

Problems with Symbols, Low Severity (24)


crypto.h, libgnutls.so.26.22.6
[+] gnutls_cipher_encrypt2 ( gnutls_cipher_hd_t handle, void* text, size_t textlen, void* ciphertext, size_t ciphertextlen ) @@ GNUTLS_2_12 (1)

gnutls.h, libgnutls.so.26.22.6
[+] gnutls_certificate_set_x509_trust_file ( gnutls_certificate_credentials_t res, char const* cafile, enum gnutls_x509_crt_fmt_t type ) @@ GNUTLS_1_4 (1)
[+] gnutls_init ( gnutls_session_t* session, enum gnutls_connection_end_t con_end ) @@ GNUTLS_1_4 (2)
[+] gnutls_record_recv ( gnutls_session_t session, void* data, size_t sizeofdata ) @@ GNUTLS_1_4 (1)
[+] gnutls_record_send ( gnutls_session_t session, void const* data, size_t sizeofdata ) @@ GNUTLS_1_4 (1)
[+] gnutls_rsa_params_export_raw ( gnutls_rsa_params_t params, gnutls_datum_t* m, gnutls_datum_t* e, gnutls_datum_t* d, gnutls_datum_t* p, gnutls_datum_t* q, gnutls_datum_t* u, unsigned int* bits ) @@ GNUTLS_1_4 (1)

openpgp.h, libgnutls.so.26.22.6
[+] gnutls_certificate_set_openpgp_keyring_file ( gnutls_certificate_credentials_t c, char const* file, gnutls_openpgp_crt_fmt_t format ) @@ GNUTLS_1_4 (1)

x509.h, libgnutls.so.26.22.6
[+] gnutls_x509_crl_check_issuer ( gnutls_x509_crl_t cert, gnutls_x509_crt_t issuer ) @@ GNUTLS_1_4 (1)
[+] gnutls_x509_crt_get_dn ( gnutls_x509_crt_t cert, char* buf, size_t* sizeof_buf ) @@ GNUTLS_1_4 (1)
[+] gnutls_x509_crt_get_dn_by_oid ( gnutls_x509_crt_t cert, char const* oid, int indx, unsigned int raw_flag, void* buf, size_t* sizeof_buf ) @@ GNUTLS_1_4 (1)
[+] gnutls_x509_crt_get_dn_oid ( gnutls_x509_crt_t cert, int indx, void* oid, size_t* sizeof_oid ) @@ GNUTLS_1_4 (1)
[+] gnutls_x509_crt_get_extension_by_oid ( gnutls_x509_crt_t cert, char const* oid, int indx, void* buf, size_t* sizeof_buf, unsigned int* critical ) @@ GNUTLS_1_4 (1)
[+] gnutls_x509_crt_get_extension_info ( gnutls_x509_crt_t cert, int indx, void* oid, size_t* sizeof_oid, int* critical ) @@ GNUTLS_1_4 (1)
[+] gnutls_x509_crt_get_extension_oid ( gnutls_x509_crt_t cert, int indx, void* oid, size_t* sizeof_oid ) @@ GNUTLS_1_4 (1)
[+] gnutls_x509_crt_get_fingerprint ( gnutls_x509_crt_t cert, enum gnutls_digest_algorithm_t algo, void* buf, size_t* sizeof_buf ) @@ GNUTLS_1_4 (1)
[+] gnutls_x509_crt_get_issuer_dn ( gnutls_x509_crt_t cert, char* buf, size_t* sizeof_buf ) @@ GNUTLS_1_4 (1)
[+] gnutls_x509_crt_get_issuer_dn_by_oid ( gnutls_x509_crt_t cert, char const* oid, int indx, unsigned int raw_flag, void* buf, size_t* sizeof_buf ) @@ GNUTLS_1_4 (1)
[+] gnutls_x509_crt_get_issuer_dn_oid ( gnutls_x509_crt_t cert, int indx, void* oid, size_t* sizeof_oid ) @@ GNUTLS_1_4 (1)
[+] gnutls_x509_crt_get_issuer_unique_id ( gnutls_x509_crt_t crt, char* buf, size_t* sizeof_buf ) @@ GNUTLS_1_4 (1)
[+] gnutls_x509_crt_get_key_purpose_oid ( gnutls_x509_crt_t cert, int indx, void* oid, size_t* sizeof_oid, unsigned int* critical ) @@ GNUTLS_1_4 (1)
[+] gnutls_x509_crt_get_subject_alt_othername_oid ( gnutls_x509_crt_t cert, unsigned int seq, void* ret, size_t* ret_size ) @@ GNUTLS_1_4 (2)
[+] gnutls_x509_crt_get_subject_unique_id ( gnutls_x509_crt_t crt, char* buf, size_t* sizeof_buf ) @@ GNUTLS_1_4 (1)

to the top

Other Changes in Data Types (17)


gnutls.h
[+] enum gnutls_cipher_algorithm (2)
[+] enum gnutls_handshake_description_t (3)
[+] enum gnutls_kx_algorithm_t (4)
[+] enum gnutls_mac_algorithm_t (1)
[+] enum gnutls_pk_algorithm_t (1)
[+] enum gnutls_protocol_t (1)
[+] enum gnutls_sign_algorithm_t (5)

to the top

Header Files (7)


abstract.h
compat.h
crypto.h
gnutls.h
openpgp.h
pkcs12.h
x509.h

to the top

Source Files (68)


auth_srp.c
auth_srp_sb64.c
common.c
crl.c
crl_write.c
crq.c
crypto-api.c
crypto.c
dn.c
ext_max_record.c
ext_safe_renegotiation.c
ext_server_name.c
ext_session_ticket.c
ext_signature.c
extras.c
gnutls_alert.c
gnutls_algorithms.c
gnutls_anon_cred.c
gnutls_auth.c
gnutls_buffers.c
gnutls_cert.c
gnutls_compress.c
gnutls_db.c
gnutls_dh.c
gnutls_dh_primes.c
gnutls_errors.c
gnutls_extensions.c
gnutls_global.c
gnutls_handshake.c
gnutls_hash_int.c
gnutls_mem.c
gnutls_mpi.c
gnutls_num.c
gnutls_openpgp.c
gnutls_pk.c
gnutls_priority.c
gnutls_privkey.c
gnutls_psk.c
gnutls_psk_netconf.c
gnutls_pubkey.c
gnutls_record.c
gnutls_rsa_export.c
gnutls_session.c
gnutls_srp.c
gnutls_state.c
gnutls_str.c
gnutls_supplemental.c
gnutls_ui.c
gnutls_x509.c
locks.c
mac.c
mpi.c
output.c
pbkdf2-sha1.c
pgp.c
pgpverify.c
pkcs12.c
pkcs12_bag.c
pkcs12_encr.c
pkcs7.c
privkey.c
privkey_pkcs8.c
random.c
rfc2818_hostname.c
verify.c
x509.c
x509_b64.c
x509_write.c

to the top

Objects (1)


libgnutls.so.26.22.6

to the top