Binary compatibility report for the ZRTP C++ library between 1.6.0 and 2.0.0 versions on x86
Test Info
Library Name | ZRTP C++ |
Version #1 | 1.6.0 |
Version #2 | 2.0.0 |
CPU Type | x86 |
GCC Version | 4.6.1 |
Test Results
Total Header Files | 8 |
Total Shared Libraries | 1 |
Total Symbols / Types | 160 / 16 |
Verdict | Incompatible (93.8%) |
Problem Summary
| Severity | Count |
---|
Added Symbols | - | 0 |
Removed Symbols | High | 145 |
Problems with Data Types | High | 1 |
Medium | 0 |
Low | 5 |
Problems with Symbols | High | 0 |
Medium | 0 |
Low | 0 |
Problems with Constants | Low | 0 |
Removed Symbols (145)
address.h,
libzrtpcpp-1.6.so.0.0.0
namespace ost
IPV4Host::~IPV4Host [in-charge-deleting] ( )
[symbol: _ZN3ost8IPV4HostD0Ev]
IPV4Host::~IPV4Host [in-charge] ( )
[symbol: _ZN3ost8IPV4HostD1Ev]
cqueue.h,
libzrtpcpp-1.6.so.0.0.0
namespace ost
AVPQueue::~AVPQueue [in-charge-deleting] ( )
[symbol: _ZN3ost8AVPQueueD0Ev]
AVPQueue::~AVPQueue [in-charge] ( )
[symbol: _ZN3ost8AVPQueueD1Ev]
QueueRTCPManager::onGotAPP ( SyncSource& p1, struct RTCPCompoundHandler::APPPacket& p2, size_t p3 )
[symbol: _ZN3ost16QueueRTCPManager8onGotAPPERNS_10SyncSourceERNS_19RTCPCompoundHandler9APPPacketEj]
ioqueue.h,
libzrtpcpp-1.6.so.0.0.0
namespace ost
RTPDataQueue::renewLocalSSRC ( )
[symbol: _ZN3ost12RTPDataQueue14renewLocalSSRCEv]
RTPDataQueue::timerTick ( )
[symbol: _ZN3ost12RTPDataQueue9timerTickEv]
RTPDataQueue::~RTPDataQueue [in-charge-deleting] ( )
[symbol: _ZN3ost12RTPDataQueueD0Ev]
RTPDataQueue::~RTPDataQueue [in-charge] ( )
[symbol: _ZN3ost12RTPDataQueueD1Ev]
iqueue.h,
libzrtpcpp-1.6.so.0.0.0
namespace ost
ApplicationHandler::~ApplicationHandler [in-charge-deleting] ( )
[symbol: _ZN3ost18ApplicationHandlerD0Ev]
ApplicationHandler::~ApplicationHandler [in-charge] ( )
[symbol: _ZN3ost18ApplicationHandlerD1Ev]
ConflictHandler::~ConflictHandler [in-charge-deleting] ( )
[symbol: _ZN3ost15ConflictHandlerD0Ev]
ConflictHandler::~ConflictHandler [in-charge] ( )
[symbol: _ZN3ost15ConflictHandlerD1Ev]
IncomingDataQueue::end2EndDelayed ( MembershipBookkeeping::IncomingRTPPktLink& p1 )
[symbol: _ZN3ost17IncomingDataQueue14end2EndDelayedERNS_21MembershipBookkeeping18IncomingRTPPktLinkE]
IncomingDataQueue::onExpireRecv ( IncomingRTPPkt& p1 )
[symbol: _ZN3ost17IncomingDataQueue12onExpireRecvERNS_14IncomingRTPPktE]
IncomingDataQueue::onNewSyncSource ( SyncSource const& p1 )
[symbol: _ZN3ost17IncomingDataQueue15onNewSyncSourceERKNS_10SyncSourceE]
IncomingDataQueue::onRTPPacketRecv ( IncomingRTPPkt& p1 )
[symbol: _ZN3ost17IncomingDataQueue15onRTPPacketRecvERNS_14IncomingRTPPktE]
IncomingDataQueue::onSRTPPacketError ( IncomingRTPPkt& pkt, int32 errorCode )
[symbol: _ZN3ost17IncomingDataQueue17onSRTPPacketErrorERNS_14IncomingRTPPktEi]
IncomingDataQueue::~IncomingDataQueue [in-charge-deleting] ( )
[symbol: _ZN3ost17IncomingDataQueueD0Ev]
IncomingDataQueue::~IncomingDataQueue [in-charge] ( )
[symbol: _ZN3ost17IncomingDataQueueD1Ev]
Members::~Members [in-charge-deleting] ( )
[symbol: _ZN3ost7MembersD0Ev]
Members::~Members [in-charge] ( )
[symbol: _ZN3ost7MembersD1Ev]
MembershipBookkeeping::~MembershipBookkeeping [in-charge-deleting] ( )
[symbol: _ZN3ost21MembershipBookkeepingD0Ev]
MembershipBookkeeping::~MembershipBookkeeping [in-charge] ( )
[symbol: _ZN3ost21MembershipBookkeepingD1Ev]
ParticipantHandler::~ParticipantHandler [in-charge-deleting] ( )
[symbol: _ZN3ost18ParticipantHandlerD0Ev]
ParticipantHandler::~ParticipantHandler [in-charge] ( )
[symbol: _ZN3ost18ParticipantHandlerD1Ev]
SyncSourceHandler::~SyncSourceHandler [in-charge-deleting] ( )
[symbol: _ZN3ost17SyncSourceHandlerD0Ev]
SyncSourceHandler::~SyncSourceHandler [in-charge] ( )
[symbol: _ZN3ost17SyncSourceHandlerD1Ev]
oqueue.h,
libzrtpcpp-1.6.so.0.0.0
namespace ost
OutgoingDataQueue::setControlPeer ( IPV4Address const& host, tpport_t port )
[symbol: _ZN3ost17OutgoingDataQueue14setControlPeerERKNS_11IPV4AddressEt]
OutgoingDataQueue::setControlPeerIPV6 ( IPV6Address const& host, tpport_t port )
[symbol: _ZN3ost17OutgoingDataQueue18setControlPeerIPV6ERKNS_11IPV6AddressEt]
OutgoingDataQueue::~OutgoingDataQueue [in-charge-deleting] ( )
[symbol: _ZN3ost17OutgoingDataQueueD0Ev]
OutgoingDataQueue::~OutgoingDataQueue [in-charge] ( )
[symbol: _ZN3ost17OutgoingDataQueueD1Ev]
queuebase.h,
libzrtpcpp-1.6.so.0.0.0
namespace ost
IncomingDataQueueBase::~IncomingDataQueueBase [in-charge-deleting] ( )
[symbol: _ZN3ost21IncomingDataQueueBaseD0Ev]
IncomingDataQueueBase::~IncomingDataQueueBase [in-charge] ( )
[symbol: _ZN3ost21IncomingDataQueueBaseD1Ev]
OutgoingDataQueueBase::~OutgoingDataQueueBase [in-charge-deleting] ( )
[symbol: _ZN3ost21OutgoingDataQueueBaseD0Ev]
OutgoingDataQueueBase::~OutgoingDataQueueBase [in-charge] ( )
[symbol: _ZN3ost21OutgoingDataQueueBaseD1Ev]
RTPQueueBase::dispatchBYE ( std::string const& p1 )
[symbol: _ZN3ost12RTPQueueBase11dispatchBYEERKSs]
RTPQueueBase::renewLocalSSRC ( )
[symbol: _ZN3ost12RTPQueueBase14renewLocalSSRCEv]
RTPQueueBase::~RTPQueueBase [in-charge-deleting] ( )
[symbol: _ZN3ost12RTPQueueBaseD0Ev]
RTPQueueBase::~RTPQueueBase [in-charge] ( )
[symbol: _ZN3ost12RTPQueueBaseD1Ev]
rtppkt.h,
libzrtpcpp-1.6.so.0.0.0
namespace ost
IncomingRTPPkt::~IncomingRTPPkt [in-charge-deleting] ( )
[symbol: _ZN3ost14IncomingRTPPktD0Ev]
IncomingRTPPkt::~IncomingRTPPkt [in-charge] ( )
[symbol: _ZN3ost14IncomingRTPPktD1Ev]
OutgoingRTPPkt::~OutgoingRTPPkt [in-charge-deleting] ( )
[symbol: _ZN3ost14OutgoingRTPPktD0Ev]
OutgoingRTPPkt::~OutgoingRTPPkt [in-charge] ( )
[symbol: _ZN3ost14OutgoingRTPPktD1Ev]
RTPPacket::~RTPPacket [in-charge-deleting] ( )
[symbol: _ZN3ost9RTPPacketD0Ev]
RTPPacket::~RTPPacket [in-charge] ( )
[symbol: _ZN3ost9RTPPacketD1Ev]
ZrtpCallback.h,
libzrtpcpp-1.6.so.0.0.0
ZrtpCallback::~ZrtpCallback [in-charge-deleting] ( )
[symbol: _ZN12ZrtpCallbackD0Ev]
ZrtpCallback::~ZrtpCallback [in-charge] ( )
[symbol: _ZN12ZrtpCallbackD1Ev]
ZrtpConfigure.h,
libzrtpcpp-1.6.so.0.0.0
AlgorithmEnum::AlgorithmEnum [in-charge] ( enum AlgoTypes const type, char const* name )
[symbol: _ZN13AlgorithmEnumC1E9AlgoTypesPKc]
AlgorithmEnum::AlgorithmEnum [not-in-charge] ( enum AlgoTypes const type, char const* name )
[symbol: _ZN13AlgorithmEnumC2E9AlgoTypesPKc]
AlgorithmEnum::getAlgoType ( )
[symbol: _ZN13AlgorithmEnum11getAlgoTypeEv]
AlgorithmEnum::getName ( )
[symbol: _ZN13AlgorithmEnum7getNameEv]
AlgorithmEnum::isValid ( )
[symbol: _ZN13AlgorithmEnum7isValidEv]
AlgorithmEnum::~AlgorithmEnum [in-charge] ( )
[symbol: _ZN13AlgorithmEnumD1Ev]
AlgorithmEnum::~AlgorithmEnum [not-in-charge] ( )
[symbol: _ZN13AlgorithmEnumD2Ev]
AuthLengthEnum::AuthLengthEnum [in-charge] ( )
[symbol: _ZN14AuthLengthEnumC1Ev]
AuthLengthEnum::AuthLengthEnum [not-in-charge] ( )
[symbol: _ZN14AuthLengthEnumC2Ev]
AuthLengthEnum::~AuthLengthEnum [in-charge] ( )
[symbol: _ZN14AuthLengthEnumD1Ev]
AuthLengthEnum::~AuthLengthEnum [not-in-charge] ( )
[symbol: _ZN14AuthLengthEnumD2Ev]
EnumBase::EnumBase [in-charge] ( enum AlgoTypes algo )
[symbol: _ZN8EnumBaseC1E9AlgoTypes]
EnumBase::EnumBase [not-in-charge] ( enum AlgoTypes algo )
[symbol: _ZN8EnumBaseC2E9AlgoTypes]
EnumBase::getAlgoType ( )
[symbol: _ZN8EnumBase11getAlgoTypeEv]
EnumBase::getAllNames ( )
[symbol: _ZN8EnumBase11getAllNamesEv]
EnumBase::getByName ( char const* name )
[symbol: _ZN8EnumBase9getByNameEPKc]
EnumBase::getByOrdinal ( int ord )
[symbol: _ZN8EnumBase12getByOrdinalEi]
EnumBase::getOrdinal ( AlgorithmEnum& algo )
[symbol: _ZN8EnumBase10getOrdinalER13AlgorithmEnum]
EnumBase::getSize ( )
[symbol: _ZN8EnumBase7getSizeEv]
EnumBase::insert ( char const* name )
[symbol: _ZN8EnumBase6insertEPKc]
EnumBase::~EnumBase [in-charge] ( )
[symbol: _ZN8EnumBaseD1Ev]
EnumBase::~EnumBase [not-in-charge] ( )
[symbol: _ZN8EnumBaseD2Ev]
HashEnum::HashEnum [in-charge] ( )
[symbol: _ZN8HashEnumC1Ev]
HashEnum::HashEnum [not-in-charge] ( )
[symbol: _ZN8HashEnumC2Ev]
HashEnum::~HashEnum [in-charge] ( )
[symbol: _ZN8HashEnumD1Ev]
HashEnum::~HashEnum [not-in-charge] ( )
[symbol: _ZN8HashEnumD2Ev]
PubKeyEnum::PubKeyEnum [in-charge] ( )
[symbol: _ZN10PubKeyEnumC1Ev]
PubKeyEnum::PubKeyEnum [not-in-charge] ( )
[symbol: _ZN10PubKeyEnumC2Ev]
PubKeyEnum::~PubKeyEnum [in-charge] ( )
[symbol: _ZN10PubKeyEnumD1Ev]
PubKeyEnum::~PubKeyEnum [not-in-charge] ( )
[symbol: _ZN10PubKeyEnumD2Ev]
SasTypeEnum::SasTypeEnum [in-charge] ( )
[symbol: _ZN11SasTypeEnumC1Ev]
SasTypeEnum::SasTypeEnum [not-in-charge] ( )
[symbol: _ZN11SasTypeEnumC2Ev]
SasTypeEnum::~SasTypeEnum [in-charge] ( )
[symbol: _ZN11SasTypeEnumD1Ev]
SasTypeEnum::~SasTypeEnum [not-in-charge] ( )
[symbol: _ZN11SasTypeEnumD2Ev]
SymCipherEnum::SymCipherEnum [in-charge] ( )
[symbol: _ZN13SymCipherEnumC1Ev]
SymCipherEnum::SymCipherEnum [not-in-charge] ( )
[symbol: _ZN13SymCipherEnumC2Ev]
SymCipherEnum::~SymCipherEnum [in-charge] ( )
[symbol: _ZN13SymCipherEnumD1Ev]
SymCipherEnum::~SymCipherEnum [not-in-charge] ( )
[symbol: _ZN13SymCipherEnumD2Ev]
zrtpAuthLengths [data]
zrtpHashes [data]
zrtpPubKeys [data]
zrtpSasTypes [data]
zrtpSymCiphers [data]
ZrtpCWrapper.h,
libzrtpcpp-1.6.so.0.0.0
zrtp_acceptEnrollment ( ZrtpContext* zrtpContext, int32_t accepted )
zrtp_addAlgo ( ZrtpContext* zrtpContext, Zrtp_AlgoTypes algoType, char const* algo )
zrtp_addAlgoAt ( ZrtpContext* zrtpContext, Zrtp_AlgoTypes algoType, char const* algo, int32_t index )
zrtp_CheckCksum ( uint8_t* buffer, uint16_t length, uint32_t crc )
zrtp_conf2AckSecure ( ZrtpContext* zrtpContext )
zrtp_containsAlgo ( ZrtpContext* zrtpContext, Zrtp_AlgoTypes algoType, char const* algo )
zrtp_CreateWrapper ( )
zrtp_DestroyWrapper ( ZrtpContext* zrtpContext )
zrtp_EndCksum ( uint32_t crc )
zrtp_freeAlgorithmNames ( char** names )
zrtp_GenerateCksum ( uint8_t* buffer, uint16_t length )
zrtp_getAlgoAt ( ZrtpContext* zrtpContext, Zrtp_AlgoTypes algoType, int32_t index )
zrtp_getAlgorithmNames ( ZrtpContext* zrtpContext, Zrtp_AlgoTypes type )
zrtp_getHelloHash ( ZrtpContext* zrtpContext )
zrtp_getMultiStrParams ( ZrtpContext* zrtpContext, int32_t* length )
zrtp_getNumConfiguredAlgos ( ZrtpContext* zrtpContext, Zrtp_AlgoTypes algoType )
zrtp_getSignatureData ( ZrtpContext* zrtpContext, uint8_t* data )
zrtp_getSignatureLength ( ZrtpContext* zrtpContext )
zrtp_getZid ( ZrtpContext* zrtpContext, uint8_t* data )
zrtp_InitializeConfig ( ZrtpContext* zrtpContext )
zrtp_initializeZrtpEngine ( ZrtpContext* zrtpContext, zrtp_Callbacks* cb, char* id, char const* zidFilename, void* userData )
zrtp_inState ( ZrtpContext* zrtpContext, int32_t state )
zrtp_isMultiStream ( ZrtpContext* zrtpContext )
zrtp_isMultiStreamAvailable ( ZrtpContext* zrtpContext )
zrtp_isSasSignature ( ZrtpContext* zrtpContext )
zrtp_isTrustedMitM ( ZrtpContext* zrtpContext )
zrtp_processTimeout ( ZrtpContext* zrtpContext )
zrtp_processZrtpMessage ( ZrtpContext* zrtpContext, uint8_t* extHeader, uint32_t peerSSRC )
zrtp_removeAlgo ( ZrtpContext* zrtpContext, Zrtp_AlgoTypes algoType, char const* algo )
zrtp_resetSASVerified ( ZrtpContext* zrtpContext )
zrtp_SASVerified ( ZrtpContext* zrtpContext )
zrtp_setAuxSecret ( ZrtpContext* zrtpContext, uint8_t* data, int32_t length )
zrtp_setMandatoryOnly ( ZrtpContext* zrtpContext )
zrtp_setMultiStrParams ( ZrtpContext* zrtpContext, char* parameters, int32_t length )
zrtp_setPBXEnrollment ( ZrtpContext* zrtpContext, int32_t yesNo )
zrtp_setPbxSecret ( ZrtpContext* zrtpContext, uint8_t* data, int32_t length )
zrtp_setSasSignature ( ZrtpContext* zrtpContext, int32_t yesNo )
zrtp_setSignatureData ( ZrtpContext* zrtpContext, uint8_t* data, int32_t length )
zrtp_setStandardConfig ( ZrtpContext* zrtpContext )
zrtp_setTrustedMitM ( ZrtpContext* zrtpContext, int32_t yesNo )
zrtp_startZrtpEngine ( ZrtpContext* zrtpContext )
zrtp_stopZrtpEngine ( ZrtpContext* zrtpContext )
ZrtpQueue.h,
libzrtpcpp-1.6.so.0.0.0
namespace ost
IncomingZRTPPkt::getSSRC ( ) const
[symbol: _ZNK3ost15IncomingZRTPPkt7getSSRCEv]
IncomingZRTPPkt::getZrtpMagic ( ) const
[symbol: _ZNK3ost15IncomingZRTPPkt12getZrtpMagicEv]
IncomingZRTPPkt::IncomingZRTPPkt [in-charge] ( unsigned char const* block, size_t len )
[symbol: _ZN3ost15IncomingZRTPPktC1EPKhj]
IncomingZRTPPkt::IncomingZRTPPkt [not-in-charge] ( unsigned char const* block, size_t len )
[symbol: _ZN3ost15IncomingZRTPPktC2EPKhj]
IncomingZRTPPkt::~IncomingZRTPPkt [in-charge-deleting] ( )
[symbol: _ZN3ost15IncomingZRTPPktD0Ev]
IncomingZRTPPkt::~IncomingZRTPPkt [in-charge] ( )
[symbol: _ZN3ost15IncomingZRTPPktD1Ev]
OutgoingZRTPPkt::OutgoingZRTPPkt [in-charge] ( unsigned char const*const hdrext, uint32 hdrextlen )
[symbol: _ZN3ost15OutgoingZRTPPktC1EPKhj]
OutgoingZRTPPkt::OutgoingZRTPPkt [not-in-charge] ( unsigned char const*const hdrext, uint32 hdrextlen )
[symbol: _ZN3ost15OutgoingZRTPPktC2EPKhj]
OutgoingZRTPPkt::~OutgoingZRTPPkt [in-charge-deleting] ( )
[symbol: _ZN3ost15OutgoingZRTPPktD0Ev]
OutgoingZRTPPkt::~OutgoingZRTPPkt [in-charge] ( )
[symbol: _ZN3ost15OutgoingZRTPPktD1Ev]
vtable for IncomingZRTPPkt [data]
[symbol: _ZTVN3ost15IncomingZRTPPktE]
vtable for OutgoingZRTPPkt [data]
[symbol: _ZTVN3ost15OutgoingZRTPPktE]
to the top
Problems with Data Types, High Severity (1)
ZrtpConfigure.h
[+] class AlgorithmEnum (1)
| Change |
Effect |
1 | Size of this class has been increased from 8 bytes to 28 bytes. | 1) An object of this class can be allocated by the applications and old size will be hardcoded at the compile time. Call of any exported constructor will break the memory of neighboring objects on the stack or heap. 2) The memory layout and size of subclasses will be changed. |
[+] affected symbols (5)
ZrtpConfigure::addAlgo ( enum AlgoTypes algoType, AlgorithmEnum& algo )3rd parameter 'algo' (reference) has base type 'AlgorithmEnum'.
ZrtpConfigure::addAlgoAt ( enum AlgoTypes algoType, AlgorithmEnum& algo, int32_t index )3rd parameter 'algo' (reference) has base type 'AlgorithmEnum'.
ZrtpConfigure::containsAlgo ( enum AlgoTypes algoType, AlgorithmEnum& algo )3rd parameter 'algo' (reference) has base type 'AlgorithmEnum'.
ZrtpConfigure::getAlgoAt ( enum AlgoTypes algoType, int32_t index )Return value (reference) has base type 'AlgorithmEnum'.
ZrtpConfigure::removeAlgo ( enum AlgoTypes algoType, AlgorithmEnum& algo )3rd parameter 'algo' (reference) has base type 'AlgorithmEnum'.
to the top
Problems with Data Types, Low Severity (5)
ZrtpConfigure.h
[+] class AlgorithmEnum (5)
| Change |
Effect |
1 | Field algoId has been added to this type. | Size of the inclusive type has been changed. NOTE: this field should be accessed only from the new library functions, otherwise it may result in crash or incorrect behavior of applications. |
2 | Field decrypt has been added to this type. | Size of the inclusive type has been changed. NOTE: this field should be accessed only from the new library functions, otherwise it may result in crash or incorrect behavior of applications. |
3 | Field encrypt has been added to this type. | Size of the inclusive type has been changed. NOTE: this field should be accessed only from the new library functions, otherwise it may result in crash or incorrect behavior of applications. |
4 | Field keyLen has been added to this type. | Size of the inclusive type has been changed. NOTE: this field should be accessed only from the new library functions, otherwise it may result in crash or incorrect behavior of applications. |
5 | Field readable has been added to this type. | Size of the inclusive type has been changed. NOTE: this field should be accessed only from the new library functions, otherwise it may result in crash or incorrect behavior of applications. |
[+] affected symbols (5)
ZrtpConfigure::addAlgo ( enum AlgoTypes algoType, AlgorithmEnum& algo )3rd parameter 'algo' (reference) has base type 'AlgorithmEnum'.
ZrtpConfigure::addAlgoAt ( enum AlgoTypes algoType, AlgorithmEnum& algo, int32_t index )3rd parameter 'algo' (reference) has base type 'AlgorithmEnum'.
ZrtpConfigure::containsAlgo ( enum AlgoTypes algoType, AlgorithmEnum& algo )3rd parameter 'algo' (reference) has base type 'AlgorithmEnum'.
ZrtpConfigure::getAlgoAt ( enum AlgoTypes algoType, int32_t index )Return value (reference) has base type 'AlgorithmEnum'.
ZrtpConfigure::removeAlgo ( enum AlgoTypes algoType, AlgorithmEnum& algo )3rd parameter 'algo' (reference) has base type 'AlgorithmEnum'.
to the top
Header Files (8)
TimeoutProvider.h
ZrtpCallback.h
zrtpccrtp.h
ZrtpCodes.h
ZrtpConfigure.h
ZrtpCWrapper.h
ZrtpQueue.h
ZrtpUserCallback.h
to the top
Shared Libraries (1)
libzrtpcpp-1.6.so.0.0.0
to the top