Binary compatibility report for OpenSSH: 7.4p1 vs 7.5p1
Tracker / OpenSSH / 7.4p1 vs 7.5p1 / libssh
Test Info
| Module Name | libssh |
| Version #1 | 7.4p1 |
| Version #2 | 7.5p1 |
| Arch | x86_64 |
| GCC Version | 4.9.2 |
Test Results
| Total Header Files | 52 |
| Total Source Files | 82 |
| Total Objects | 1 |
| Total Symbols / Types | 757 / 91 |
| Compatibility |
90.8% |
Problem Summary
| Severity | Count |
|---|
| Added Symbols | - | 2 |
| Removed Symbols | High | 0 |
Problems with Data Types | High | 0 |
| Medium | 1 |
| Low | 1 |
Problems with Symbols | High | 2 |
| Medium | 2 |
| Low | 0 |
Problems with Constants | Low | 0 |
Added Symbols 2
match.h,
libssh.so
match_filter_list ( char const* proposal, char const* filter )
packet.h,
libssh.so
ssh_packet_set_log_preamble ( struct ssh* ssh, char const* fmt, ... )
to the top
Problems with Symbols, High Severity 2
packet.h,
libssh.so
[+] ssh_packet_set_rekey_limits ( struct ssh* ssh, u_int64_t bytes, time_t seconds ) 1
⇣
ssh_packet_set_rekey_limits ( struct ssh* ssh, u_int64_t bytes, u_int32_t seconds )
|
Change |
Effect |
| 1 |
Type of 3rd parameter seconds has been changed from time_t (8 bytes) to u_int32_t (4 bytes). |
Layout of parameter's stack has been changed and therefore parameters at higher positions in the stack may be incorrectly initialized by applications. |
sshkey.h,
libssh.so
[+] sshkey_alg_list ( int certs_only, int plain_only, char sep ) 1
⇣
sshkey_alg_list ( int certs_only, int plain_only, int include_sigonly, char sep )
|
Change |
Effect |
| 1 |
Parameter include_sigonly of type int has been added to the calling stack at the middle position. |
Layout of parameter's stack has been changed and therefore parameters at higher positions in the stack may be incorrectly initialized by applications. |
to the top
Problems with Data Types, Medium Severity 1
packet.h
[+] struct ssh 1
|
Change |
Effect |
| 1 |
Field log_preamble has been added at the middle position of this structural type. |
1) Size of the inclusive type has been changed. 2) Layout of structure fields has been changed and therefore fields at higher positions of the structure definition may be incorrectly accessed by applications. |
[+] affected symbols: 136 (18%)
active_state [data]
Return value (pointer) has base type 'struct ssh'.
kex_derive_keys ( struct ssh* ssh, u_char* hash, u_int hashlen, struct sshbuf const* shared_secret )
1st parameter 'ssh' (pointer) has base type 'struct ssh'.
kex_derive_keys_bn ( struct ssh* ssh, u_char* hash, u_int hashlen, BIGNUM const* secret )
1st parameter 'ssh' (pointer) has base type 'struct ssh'.
kex_new ( struct ssh* ssh, char** proposal, struct kex** kexp )
1st parameter 'ssh' (pointer) has base type 'struct ssh'.
kex_send_kexinit ( struct ssh* ssh )
1st parameter 'ssh' (pointer) has base type 'struct ssh'.
kex_send_newkeys ( struct ssh* ssh )
1st parameter 'ssh' (pointer) has base type 'struct ssh'.
kex_setup ( struct ssh* ssh, char** proposal )
1st parameter 'ssh' (pointer) has base type 'struct ssh'.
kex_start_rekex ( struct ssh* ssh )
1st parameter 'ssh' (pointer) has base type 'struct ssh'.
kexc25519_client ( struct ssh* ssh )
1st parameter 'ssh' (pointer) has base type 'struct ssh'.
kexc25519_server ( struct ssh* ssh )
1st parameter 'ssh' (pointer) has base type 'struct ssh'.
...
to the top
Problems with Symbols, Medium Severity 2
channels.h,
libssh.so
[+] channel_connect_to_port ( char const* host, u_short port, char* ctype, char* rname ) 2
⇣
channel_connect_to_port ( char const* host, u_short port, char* ctype, char* rname, int* reason, char const** errmsg )
|
Change |
Effect |
| 1 |
Parameter reason of type int* has been added to the calling stack. |
This parameter will not be initialized by old clients. |
| 2 |
Parameter errmsg of type char const** has been added to the calling stack. |
This parameter will not be initialized by old clients. |
to the top
Problems with Data Types, Low Severity 1
packet.h
[+] struct ssh 1
|
Change |
Effect |
| 1 |
Size of this type has been changed from 2136 bytes to 2144 bytes. |
The fields or parameters of such data type may be incorrectly initialized or accessed by old client applications. |
[+] affected symbols: 136 (18%)
active_state [data]
Return value (pointer) has base type 'struct ssh'.
kex_derive_keys ( struct ssh* ssh, u_char* hash, u_int hashlen, struct sshbuf const* shared_secret )
1st parameter 'ssh' (pointer) has base type 'struct ssh'.
kex_derive_keys_bn ( struct ssh* ssh, u_char* hash, u_int hashlen, BIGNUM const* secret )
1st parameter 'ssh' (pointer) has base type 'struct ssh'.
kex_new ( struct ssh* ssh, char** proposal, struct kex** kexp )
1st parameter 'ssh' (pointer) has base type 'struct ssh'.
kex_send_kexinit ( struct ssh* ssh )
1st parameter 'ssh' (pointer) has base type 'struct ssh'.
kex_send_newkeys ( struct ssh* ssh )
1st parameter 'ssh' (pointer) has base type 'struct ssh'.
kex_setup ( struct ssh* ssh, char** proposal )
1st parameter 'ssh' (pointer) has base type 'struct ssh'.
kex_start_rekex ( struct ssh* ssh )
1st parameter 'ssh' (pointer) has base type 'struct ssh'.
kexc25519_client ( struct ssh* ssh )
1st parameter 'ssh' (pointer) has base type 'struct ssh'.
kexc25519_server ( struct ssh* ssh )
1st parameter 'ssh' (pointer) has base type 'struct ssh'.
...
to the top
Header Files 52
atomicio.h
authfd.h
authfile.h
bitmap.h
buffer.h
canohost.h
chacha.h
channels.h
cipher-aesctr.h
cipher-chachapoly.h
cipher.h
compat.h
crc32.h
crypto_api.h
deattack.h
dh.h
digest.h
dispatch.h
dns.h
entropy.h
fe25519.h
ge25519.h
hmac.h
hostfile.h
kex.h
key.h
krl.h
log.h
mac.h
match.h
misc.h
monitor_fdpass.h
monitor_wrap.h
msg.h
opacket.h
packet.h
platform.h
poly1305.h
progressmeter.h
rijndael.h
rsa.h
sc25519.h
ssh-pkcs11.h
ssh_api.h
sshbuf.h
ssherr.h
sshkey.h
uidswap.h
umac.h
utf8.h
uuencode.h
xmalloc.h
to the top
Source Files 82
addrmatch.c
atomicio.c
authfd.c
authfile.c
bitmap.c
blocks.c
bufaux.c
bufbn.c
bufec.c
buffer.c
canohost.c
chacha.c
channels.c
cipher-chachapoly.c
cipher.c
cleanup.c
compat.c
crc32.c
deattack.c
dh.c
digest-openssl.c
dispatch.c
dns.c
ed25519.c
entropy.c
fatal.c
fe25519.c
ge25519.c
hash.c
hmac.c
hostfile.c
kex.c
kexc25519.c
kexc25519c.c
kexc25519s.c
kexdh.c
kexdhc.c
kexdhs.c
kexecdh.c
kexecdhc.c
kexecdhs.c
kexgex.c
kexgexc.c
kexgexs.c
key.c
krl.c
log.c
mac.c
match.c
misc.c
monitor_fdpass.c
msg.c
nchan.c
opacket.c
packet.c
platform-pledge.c
platform-tracing.c
poly1305.c
progressmeter.c
readpass.c
rijndael.c
rsa.c
sc25519.c
ssh-dss.c
ssh-ecdsa.c
ssh-ed25519.c
ssh-pkcs11.c
ssh-rsa.c
ssh_api.c
sshbuf-getput-basic.c
sshbuf-getput-crypto.c
sshbuf-misc.c
sshbuf.c
ssherr.c
sshkey.c
ttymodes.c
uidswap.c
umac.c
utf8.c
uuencode.c
verify.c
xmalloc.c
to the top
Objects 1
libssh.so
to the top