Binary compatibility report for the Barry library between 0.5 and 0.6 versions on x86
Test Info
Library Name | Barry |
Version #1 | 0.5 |
Version #2 | 0.6 |
CPU Type | x86 |
GCC Version | 4.6.1 |
Test Results
Total Header Files | 16 |
Total Shared Libraries | 1 |
Total Symbols / Types | 192 / 154 |
Verdict | Incompatible (19%) |
Problem Summary
| Severity | Count |
---|
Added Symbols | - | 91 |
Removed Symbols | High | 14 |
Problems with Data Types | High | 2 |
Medium | 1 |
Low | 9 |
Problems with Symbols | High | 10 |
Medium | 0 |
Low | 0 |
Problems with Constants | Low | 0 |
Added Symbols (91)
controller.h,
libbarry.so.0.0.6
namespace Barry
Controller::OpenMode ( Controller::ModeType mode, char const* password )
[symbol: _ZN5Barry10Controller8OpenModeENS0_8ModeTypeEPKc]
Controller::RetryPassword ( char const* password )
[symbol: _ZN5Barry10Controller13RetryPasswordEPKc]
Controller::SelectMode ( Controller::ModeType mode )
[symbol: _ZN5Barry10Controller10SelectModeENS0_8ModeTypeE]
data.h,
libbarry.so.0.0.6
namespace Barry
Data::AppendHexString ( char const* str )
[symbol: _ZN5Barry4Data15AppendHexStringEPKc]
error.h,
libbarry.so.0.0.6
namespace Barry
Error::Error [in-charge] ( int libusb_errno, std::string const& str )
[symbol: _ZN5Barry5ErrorC1EiRKSs]
Error::Error [not-in-charge] ( int libusb_errno, std::string const& str )
[symbol: _ZN5Barry5ErrorC2EiRKSs]
Error::~Error [in-charge-deleting] ( )
[symbol: _ZN5Barry5ErrorD0Ev]
Error::~Error [in-charge] ( )
[symbol: _ZN5Barry5ErrorD1Ev]
ldif.h,
libbarry.so.0.0.6
namespace Barry
ContactLdif::Address1 ( Contact const& con ) const
[symbol: _ZNK5Barry11ContactLdif8Address1ERKNS_7ContactE]
ContactLdif::Address2 ( Contact const& con ) const
[symbol: _ZNK5Barry11ContactLdif8Address2ERKNS_7ContactE]
ContactLdif::Address3 ( Contact const& con ) const
[symbol: _ZNK5Barry11ContactLdif8Address3ERKNS_7ContactE]
ContactLdif::City ( Contact const& con ) const
[symbol: _ZNK5Barry11ContactLdif4CityERKNS_7ContactE]
ContactLdif::ClearHeuristics ( )
[symbol: _ZN5Barry11ContactLdif15ClearHeuristicsEv]
ContactLdif::Company ( Contact const& con ) const
[symbol: _ZNK5Barry11ContactLdif7CompanyERKNS_7ContactE]
ContactLdif::ContactLdif [in-charge] ( std::string const& baseDN )
[symbol: _ZN5Barry11ContactLdifC1ERKSs]
ContactLdif::ContactLdif [not-in-charge] ( std::string const& baseDN )
[symbol: _ZN5Barry11ContactLdifC2ERKSs]
ContactLdif::Country ( Contact const& con ) const
[symbol: _ZNK5Barry11ContactLdif7CountryERKNS_7ContactE]
ContactLdif::DefaultCommunicationsMethod ( Contact const& con ) const
[symbol: _ZNK5Barry11ContactLdif27DefaultCommunicationsMethodERKNS_7ContactE]
ContactLdif::DoWrite ( Contact& con, std::string const& attr, std::string const& data )
[symbol: _ZN5Barry11ContactLdif7DoWriteERNS_7ContactERKSsS4_]
ContactLdif::DumpLdif ( std::ostream& os, Contact const& contact ) const
[symbol: _ZNK5Barry11ContactLdif8DumpLdifERSoRKNS_7ContactE]
ContactLdif::DumpMap ( std::ostream& os ) const
[symbol: _ZNK5Barry11ContactLdif7DumpMapERSo]
ContactLdif::Email ( Contact const& con ) const
[symbol: _ZNK5Barry11ContactLdif5EmailERKNS_7ContactE]
ContactLdif::Fax ( Contact const& con ) const
[symbol: _ZNK5Barry11ContactLdif3FaxERKNS_7ContactE]
ContactLdif::FieldMap [data]
[symbol: _ZN5Barry11ContactLdif8FieldMapE]
ContactLdif::FirstName ( Contact const& con ) const
[symbol: _ZNK5Barry11ContactLdif9FirstNameERKNS_7ContactE]
ContactLdif::FQDN ( Contact const& con ) const
[symbol: _ZNK5Barry11ContactLdif4FQDNERKNS_7ContactE]
ContactLdif::FullName ( Contact const& con ) const
[symbol: _ZNK5Barry11ContactLdif8FullNameERKNS_7ContactE]
ContactLdif::GetField ( std::string const& fieldname ) const
[symbol: _ZNK5Barry11ContactLdif8GetFieldERKSs]
ContactLdif::GetFieldReadName ( ContactLdif::GetFunctionType read ) const
[symbol: _ZNK5Barry11ContactLdif16GetFieldReadNameEMS0_KFSsRKNS_7ContactEE]
ContactLdif::GetFieldWriteName ( ContactLdif::SetFunctionType write ) const
[symbol: _ZNK5Barry11ContactLdif17GetFieldWriteNameEMS0_KFvRNS_7ContactERKSsE]
ContactLdif::HomePhone ( Contact const& con ) const
[symbol: _ZNK5Barry11ContactLdif9HomePhoneERKNS_7ContactE]
ContactLdif::Hook ( std::string const& ldifname, std::string* var )
[symbol: _ZN5Barry11ContactLdif4HookERKSsPSs]
ContactLdif::LastName ( Contact const& con ) const
[symbol: _ZNK5Barry11ContactLdif8LastNameERKNS_7ContactE]
ContactLdif::LdifAttribute::operator< ( ContactLdif::LdifAttribute const& other ) const
[symbol: _ZNK5Barry11ContactLdif13LdifAttributeltERKS1_]
ContactLdif::LdifAttribute::operator == ( ContactLdif::LdifAttribute const& other ) const
[symbol: _ZNK5Barry11ContactLdif13LdifAttributeeqERKS1_]
ContactLdif::MakeLdifData ( std::string const& str ) [static]
[symbol: _ZN5Barry11ContactLdif12MakeLdifDataERKSs]
ContactLdif::Map ( ContactLdif::LdifAttribute const& ldifname, ContactLdif::GetFunctionType read, ContactLdif::SetFunctionType write )
[symbol: _ZN5Barry11ContactLdif3MapERKNS0_13LdifAttributeEMS0_KFSsRKNS_7ContactEEMS0_KFvRS4_RKSsE]
ContactLdif::Map ( ContactLdif::LdifAttribute const& ldifname, std::string const& readField, std::string const& writeField )
[symbol: _ZN5Barry11ContactLdif3MapERKNS0_13LdifAttributeERKSsS5_]
ContactLdif::MobilePhone ( Contact const& con ) const
[symbol: _ZNK5Barry11ContactLdif11MobilePhoneERKNS_7ContactE]
ContactLdif::NeedsEncoding ( std::string const& str ) [static]
[symbol: _ZN5Barry11ContactLdif13NeedsEncodingERKSs]
ContactLdif::Notes ( Contact const& con ) const
[symbol: _ZNK5Barry11ContactLdif5NotesERKNS_7ContactE]
ContactLdif::Pager ( Contact const& con ) const
[symbol: _ZNK5Barry11ContactLdif5PagerERKNS_7ContactE]
ContactLdif::Phone ( Contact const& con ) const
[symbol: _ZNK5Barry11ContactLdif5PhoneERKNS_7ContactE]
ContactLdif::PIN ( Contact const& con ) const
[symbol: _ZNK5Barry11ContactLdif3PINERKNS_7ContactE]
ContactLdif::PostalAddress ( Contact const& con ) const
[symbol: _ZNK5Barry11ContactLdif13PostalAddressERKNS_7ContactE]
ContactLdif::PostalCode ( Contact const& con ) const
[symbol: _ZNK5Barry11ContactLdif10PostalCodeERKNS_7ContactE]
ContactLdif::Province ( Contact const& con ) const
[symbol: _ZNK5Barry11ContactLdif8ProvinceERKNS_7ContactE]
ContactLdif::PublicKey ( Contact const& con ) const
[symbol: _ZNK5Barry11ContactLdif9PublicKeyERKNS_7ContactE]
ContactLdif::ReadLdif ( std::istream& is, Contact& contact )
[symbol: _ZN5Barry11ContactLdif8ReadLdifERSiRNS_7ContactE]
ContactLdif::RunHeuristics ( Contact& con )
[symbol: _ZN5Barry11ContactLdif13RunHeuristicsERNS_7ContactE]
ContactLdif::SetAddress1 ( Contact& con, std::string const& val ) const
[symbol: _ZNK5Barry11ContactLdif11SetAddress1ERNS_7ContactERKSs]
ContactLdif::SetAddress2 ( Contact& con, std::string const& val ) const
[symbol: _ZNK5Barry11ContactLdif11SetAddress2ERNS_7ContactERKSs]
ContactLdif::SetAddress3 ( Contact& con, std::string const& val ) const
[symbol: _ZNK5Barry11ContactLdif11SetAddress3ERNS_7ContactERKSs]
ContactLdif::SetCity ( Contact& con, std::string const& val ) const
[symbol: _ZNK5Barry11ContactLdif7SetCityERNS_7ContactERKSs]
ContactLdif::SetCompany ( Contact& con, std::string const& val ) const
[symbol: _ZNK5Barry11ContactLdif10SetCompanyERNS_7ContactERKSs]
ContactLdif::SetCountry ( Contact& con, std::string const& val ) const
[symbol: _ZNK5Barry11ContactLdif10SetCountryERNS_7ContactERKSs]
ContactLdif::SetDefaultCommunicationsMethod ( Contact& con, std::string const& val ) const
[symbol: _ZNK5Barry11ContactLdif30SetDefaultCommunicationsMethodERNS_7ContactERKSs]
ContactLdif::SetDNAttr ( ContactLdif::LdifAttribute const& name )
[symbol: _ZN5Barry11ContactLdif9SetDNAttrERKNS0_13LdifAttributeE]
ContactLdif::SetEmail ( Contact& con, std::string const& val ) const
[symbol: _ZNK5Barry11ContactLdif8SetEmailERNS_7ContactERKSs]
ContactLdif::SetFax ( Contact& con, std::string const& val ) const
[symbol: _ZNK5Barry11ContactLdif6SetFaxERNS_7ContactERKSs]
ContactLdif::SetFirstName ( Contact& con, std::string const& val ) const
[symbol: _ZNK5Barry11ContactLdif12SetFirstNameERNS_7ContactERKSs]
ContactLdif::SetFQDN ( Contact& con, std::string const& val ) const
[symbol: _ZNK5Barry11ContactLdif7SetFQDNERNS_7ContactERKSs]
ContactLdif::SetFullName ( Contact& con, std::string const& val ) const
[symbol: _ZNK5Barry11ContactLdif11SetFullNameERNS_7ContactERKSs]
ContactLdif::SetHomePhone ( Contact& con, std::string const& val ) const
[symbol: _ZNK5Barry11ContactLdif12SetHomePhoneERNS_7ContactERKSs]
ContactLdif::SetLastName ( Contact& con, std::string const& val ) const
[symbol: _ZNK5Barry11ContactLdif11SetLastNameERNS_7ContactERKSs]
ContactLdif::SetMobilePhone ( Contact& con, std::string const& val ) const
[symbol: _ZNK5Barry11ContactLdif14SetMobilePhoneERNS_7ContactERKSs]
ContactLdif::SetNotes ( Contact& con, std::string const& val ) const
[symbol: _ZNK5Barry11ContactLdif8SetNotesERNS_7ContactERKSs]
ContactLdif::SetObjectClass ( ContactLdif::LdifAttribute const& name, std::string const& objectClass )
[symbol: _ZN5Barry11ContactLdif14SetObjectClassERKNS0_13LdifAttributeERKSs]
ContactLdif::SetObjectOrder ( ContactLdif::LdifAttribute const& name, int order )
[symbol: _ZN5Barry11ContactLdif14SetObjectOrderERKNS0_13LdifAttributeEi]
ContactLdif::SetPager ( Contact& con, std::string const& val ) const
[symbol: _ZNK5Barry11ContactLdif8SetPagerERNS_7ContactERKSs]
ContactLdif::SetPhone ( Contact& con, std::string const& val ) const
[symbol: _ZNK5Barry11ContactLdif8SetPhoneERNS_7ContactERKSs]
ContactLdif::SetPIN ( Contact& con, std::string const& val ) const
[symbol: _ZNK5Barry11ContactLdif6SetPINERNS_7ContactERKSs]
ContactLdif::SetPostalAddress ( Contact& con, std::string const& val ) const
[symbol: _ZNK5Barry11ContactLdif16SetPostalAddressERNS_7ContactERKSs]
ContactLdif::SetPostalCode ( Contact& con, std::string const& val ) const
[symbol: _ZNK5Barry11ContactLdif13SetPostalCodeERNS_7ContactERKSs]
ContactLdif::SetProvince ( Contact& con, std::string const& val ) const
[symbol: _ZNK5Barry11ContactLdif11SetProvinceERNS_7ContactERKSs]
ContactLdif::SetPublicKey ( Contact& con, std::string const& val ) const
[symbol: _ZNK5Barry11ContactLdif12SetPublicKeyERNS_7ContactERKSs]
ContactLdif::SetTitle ( Contact& con, std::string const& val ) const
[symbol: _ZNK5Barry11ContactLdif8SetTitleERNS_7ContactERKSs]
ContactLdif::SetWorkPhone ( Contact& con, std::string const& val ) const
[symbol: _ZNK5Barry11ContactLdif12SetWorkPhoneERNS_7ContactERKSs]
ContactLdif::Title ( Contact const& con ) const
[symbol: _ZNK5Barry11ContactLdif5TitleERKNS_7ContactE]
ContactLdif::Unmap ( ContactLdif::LdifAttribute const& ldifname )
[symbol: _ZN5Barry11ContactLdif5UnmapERKNS0_13LdifAttributeE]
ContactLdif::WorkPhone ( Contact const& con ) const
[symbol: _ZNK5Barry11ContactLdif9WorkPhoneERKNS_7ContactE]
ContactLdif::~ContactLdif [in-charge-deleting] ( )
[symbol: _ZN5Barry11ContactLdifD0Ev]
ContactLdif::~ContactLdif [in-charge] ( )
[symbol: _ZN5Barry11ContactLdifD1Ev]
ContactLdif::~ContactLdif [not-in-charge] ( )
[symbol: _ZN5Barry11ContactLdifD2Ev]
socket.h,
libbarry.so.0.0.6
namespace Barry
Socket::Open ( uint16_t socket, char const* password )
[symbol: _ZN5Barry6Socket4OpenEtPKc]
Socket::Packet ( Data& send, Data& receive, int timeout )
[symbol: _ZN5Barry6Socket6PacketERNS_4DataES2_i]
Socket::Send ( Data& send, Data& receive, int timeout )
[symbol: _ZN5Barry6Socket4SendERNS_4DataES2_i]
Socket::Send ( Packet& packet, int timeout )
[symbol: _ZN5Barry6Socket4SendERNS_6PacketEi]
Socket::Socket [in-charge] ( Usb::Device& dev, int writeEndpoint, int readEndpoint, uint8_t zeroSocketSequenceStart )
[symbol: _ZN5Barry6SocketC1ERN3Usb6DeviceEiih]
Socket::Socket [not-in-charge] ( Usb::Device& dev, int writeEndpoint, int readEndpoint, uint8_t zeroSocketSequenceStart )
[symbol: _ZN5Barry6SocketC2ERN3Usb6DeviceEiih]
usbwrap.h,
libbarry.so.0.0.6
namespace Usb
Device::BulkDrain ( int ep )
[symbol: _ZN3Usb6Device9BulkDrainEi]
to the top
Removed Symbols (14)
controller.h,
libbarry.so.0.0.5
namespace Barry
Controller::OpenMode ( Controller::ModeType mode )
[symbol: _ZN5Barry10Controller8OpenModeENS0_8ModeTypeE]
Controller::SelectMode ( Controller::ModeType mode, uint16_t& socket, uint8_t& flag )
[symbol: _ZN5Barry10Controller10SelectModeENS0_8ModeTypeERtRh]
error.h,
libbarry.so.0.0.5
namespace Barry
BError::BError [in-charge] ( int libusb_errno, std::string const& str )
[symbol: _ZN5Barry6BErrorC1EiRKSs]
BError::BError [not-in-charge] ( int libusb_errno, std::string const& str )
[symbol: _ZN5Barry6BErrorC2EiRKSs]
BError::~BError [in-charge-deleting] ( )
[symbol: _ZN5Barry6BErrorD0Ev]
BError::~BError [in-charge] ( )
[symbol: _ZN5Barry6BErrorD1Ev]
vtable for BError [data]
[symbol: _ZTVN5Barry6BErrorE]
record.h,
libbarry.so.0.0.5
namespace Barry
Contact::DumpLdif ( std::ostream& os, std::string const& baseDN ) const
[symbol: _ZNK5Barry7Contact8DumpLdifERSoRKSs]
Contact::ReadLdif ( std::istream& is )
[symbol: _ZN5Barry7Contact8ReadLdifERSi]
socket.h,
libbarry.so.0.0.5
namespace Barry
Socket::Open ( uint16_t socket, uint8_t flag )
[symbol: _ZN5Barry6Socket4OpenEth]
Socket::Packet ( Data const& send, Data& receive, int timeout )
[symbol: _ZN5Barry6Socket6PacketERKNS_4DataERS1_i]
Socket::Send ( Data const& send, Data& receive, int timeout )
[symbol: _ZN5Barry6Socket4SendERKNS_4DataERS1_i]
Socket::Socket [in-charge] ( Usb::Device& dev, int writeEndpoint, int readEndpoint )
[symbol: _ZN5Barry6SocketC1ERN3Usb6DeviceEii]
Socket::Socket [not-in-charge] ( Usb::Device& dev, int writeEndpoint, int readEndpoint )
[symbol: _ZN5Barry6SocketC2ERN3Usb6DeviceEii]
to the top
Problems with Data Types, High Severity (2)
controller.h
namespace Barry
[+] class Controller (1)
| Change |
Effect |
1 | Size of this class has been increased from 76 bytes to 88 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 neighbouring objects on the stack or heap. 2) The memory layout and size of subclasses will be changed. |
[+] affected symbols (14)
Controller::AddRecord ( unsigned int dbId, Builder& build )This method is from 'Controller' class.
Controller::ClearDirty ( unsigned int dbId, unsigned int stateTableIndex )This method is from 'Controller' class.
Controller::Controller [in-charge] ( ProbeResult const& device )This constructor is from 'Controller' class.
Controller::DeleteRecord ( unsigned int dbId, unsigned int stateTableIndex )This method is from 'Controller' class.
Controller::GetCommand ( Controller::CommandType ct )This method is from 'Controller' class.
Controller::GetDBID ( std::string const& name ) constThis method is from 'Controller' class.
Controller::GetRecord ( unsigned int dbId, unsigned int stateTableIndex, Parser& parser )This method is from 'Controller' class.
Controller::GetRecordStateTable ( unsigned int dbId, RecordStateTable& result )This method is from 'Controller' class.
Controller::LoadCommandTable ( )This method is from 'Controller' class.
Controller::LoadDatabase ( unsigned int dbId, Parser& parser )This method is from 'Controller' class.
Controller::LoadDBDB ( )This method is from 'Controller' class.
Controller::SaveDatabase ( unsigned int dbId, Builder& builder )This method is from 'Controller' class.
Controller::SetRecord ( unsigned int dbId, unsigned int stateTableIndex, Builder& build )This method is from 'Controller' class.
Controller::~Controller [in-charge] ( )This method is from 'Controller' class.
socket.h
namespace Barry
[+] class Socket (1)
| Change |
Effect |
1 | Size of this class has been increased from 24 bytes to 32 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 neighbouring objects on the stack or heap. 2) The memory layout and size of subclasses will be changed. |
[+] affected symbols (5)
Socket::Close ( )This method is from 'Socket' class.
Socket::NextRecord ( Data& receive )This method is from 'Socket' class.
Socket::Packet ( Packet& packet, int timeout )This method is from 'Socket' class.
Socket::Receive ( Data& receive, int timeout )This method is from 'Socket' class.
Socket::~Socket [in-charge] ( )This method is from 'Socket' class.
to the top
Problems with Symbols, High Severity (10)
controller.h,
libbarry.so.0.0.5
namespace Barry
[+] Controller::OpenMode ( Controller::ModeType mode ) (1)
changed to:Controller::OpenMode ( Controller::ModeType mode, char const* password )
[symbol: _ZN5Barry10Controller8OpenModeENS0_8ModeTypeE]
| Change | Effect |
---|
1 | Parameters list has been changed. | The name of the appropriate symbol for this function on binary level has been changed from _ZN5Barry10Controller8OpenModeENS0_8ModeTypeE to _ZN5Barry10Controller8OpenModeENS0_8ModeTypeEPKc. This may cause "undefined reference" linker error in old client applications. |
[+] Controller::SelectMode ( Controller::ModeType mode, uint16_t& socket, uint8_t& flag ) (1)
changed to:Controller::SelectMode ( Controller::ModeType mode )
[symbol: _ZN5Barry10Controller10SelectModeENS0_8ModeTypeERtRh]
| Change | Effect |
---|
1 | Parameters list has been changed. | The name of the appropriate symbol for this function on binary level has been changed from _ZN5Barry10Controller10SelectModeENS0_8ModeTypeERtRh to _ZN5Barry10Controller10SelectModeENS0_8ModeTypeE. This may cause "undefined reference" linker error in old client applications. |
socket.h,
libbarry.so.0.0.5
namespace Barry
[+] Socket::NextRecord ( Data& receive ) (1)
[symbol: _ZN5Barry6Socket10NextRecordERNS_4DataE]
| Change | Effect |
---|
1 | Type of return value has been changed from bool (1 byte) to void. | 1) Applications will not obtain a return value and execution may change. 2) Layout of parameter's stack has been shifted by 4 bytes because the hidden first parameter (return value) has been removed. All the parameters will be incorrectly initialized by applications. |
[+] Socket::Open ( uint16_t socket, uint8_t flag ) (1)
changed to:Socket::Open ( uint16_t socket, char const* password )
[symbol: _ZN5Barry6Socket4OpenEth]
| Change | Effect |
---|
1 | Parameters list has been changed. | The name of the appropriate symbol for this function on binary level has been changed from _ZN5Barry6Socket4OpenEth to _ZN5Barry6Socket4OpenEtPKc. This may cause "undefined reference" linker error in old client applications. |
[+] Socket::Packet ( Data const& send, Data& receive, int timeout ) (1)
changed to:Socket::Packet ( Data& send, Data& receive, int timeout )
[symbol: _ZN5Barry6Socket6PacketERKNS_4DataERS1_i]
| Change | Effect |
---|
1 | Parameters list has been changed. | The name of the appropriate symbol for this function on binary level has been changed from _ZN5Barry6Socket6PacketERKNS_4DataERS1_i to _ZN5Barry6Socket6PacketERNS_4DataES2_i. This may cause "undefined reference" linker error in old client applications. |
[+] Socket::Packet ( Packet& packet, int timeout ) (1)
[symbol: _ZN5Barry6Socket6PacketERNS_6PacketEi]
| Change | Effect |
---|
1 | Type of return value has been changed from bool (1 byte) to void. | 1) Applications will not obtain a return value and execution may change. 2) Layout of parameter's stack has been shifted by 4 bytes because the hidden first parameter (return value) has been removed. All the parameters will be incorrectly initialized by applications. |
[+] Socket::Receive ( Data& receive, int timeout ) (1)
[symbol: _ZN5Barry6Socket7ReceiveERNS_4DataEi]
| Change | Effect |
---|
1 | Type of return value has been changed from bool (1 byte) to void. | 1) Applications will not obtain a return value and execution may change. 2) Layout of parameter's stack has been shifted by 4 bytes because the hidden first parameter (return value) has been removed. All the parameters will be incorrectly initialized by applications. |
[+] Socket::Send ( Data const& send, Data& receive, int timeout ) (1)
changed to:Socket::Send ( Data& send, Data& receive, int timeout )
[symbol: _ZN5Barry6Socket4SendERKNS_4DataERS1_i]
| Change | Effect |
---|
1 | Parameters list has been changed. | The name of the appropriate symbol for this function on binary level has been changed from _ZN5Barry6Socket4SendERKNS_4DataERS1_i to _ZN5Barry6Socket4SendERNS_4DataES2_i. This may cause "undefined reference" linker error in old client applications. |
[+] Socket::Socket [in-charge] ( Usb::Device& dev, int writeEndpoint, int readEndpoint ) (1)
changed to:Socket::Socket [in-charge] ( Usb::Device& dev, int writeEndpoint, int readEndpoint, uint8_t zeroSocketSequenceStart )
[symbol: _ZN5Barry6SocketC1ERN3Usb6DeviceEii]
| Change | Effect |
---|
1 | Parameters list has been changed. | The name of the appropriate symbol for this function on binary level has been changed from _ZN5Barry6SocketC1ERN3Usb6DeviceEii to _ZN5Barry6SocketC1ERN3Usb6DeviceEiih. This may cause "undefined reference" linker error in old client applications. |
[+] Socket::Socket [not-in-charge] ( Usb::Device& dev, int writeEndpoint, int readEndpoint ) (1)
changed to:Socket::Socket [not-in-charge] ( Usb::Device& dev, int writeEndpoint, int readEndpoint, uint8_t zeroSocketSequenceStart )
[symbol: _ZN5Barry6SocketC2ERN3Usb6DeviceEii]
| Change | Effect |
---|
1 | Parameters list has been changed. | The name of the appropriate symbol for this function on binary level has been changed from _ZN5Barry6SocketC2ERN3Usb6DeviceEii to _ZN5Barry6SocketC2ERN3Usb6DeviceEiih. This may cause "undefined reference" linker error in old client applications. |
to the top
Problems with Data Types, Medium Severity (1)
probe.h
namespace Barry
[+] struct ProbeResult (1)
| Change |
Effect |
1 | Field m_interface 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 (2)
Controller::Controller [in-charge] ( ProbeResult const& device )1st parameter 'device' (reference) has base type 'ProbeResult'.
operator<< ( std::ostream& os, ProbeResult const& pr )2nd parameter 'pr' (reference) has base type 'ProbeResult'.
to the top
Problems with Data Types, Low Severity (9)
controller.h
namespace Barry
[+] class Controller (2)
| Change |
Effect |
1 | Field m_modeSocket 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 | Size of field m_socket has been changed from 24 bytes to 32 bytes. | Size of the inclusive type has been changed. |
[+] affected symbols (14)
Controller::AddRecord ( unsigned int dbId, Builder& build )This method is from 'Controller' class.
Controller::ClearDirty ( unsigned int dbId, unsigned int stateTableIndex )This method is from 'Controller' class.
Controller::Controller [in-charge] ( ProbeResult const& device )This constructor is from 'Controller' class.
Controller::DeleteRecord ( unsigned int dbId, unsigned int stateTableIndex )This method is from 'Controller' class.
Controller::GetCommand ( Controller::CommandType ct )This method is from 'Controller' class.
Controller::GetDBID ( std::string const& name ) constThis method is from 'Controller' class.
Controller::GetRecord ( unsigned int dbId, unsigned int stateTableIndex, Parser& parser )This method is from 'Controller' class.
Controller::GetRecordStateTable ( unsigned int dbId, RecordStateTable& result )This method is from 'Controller' class.
Controller::LoadCommandTable ( )This method is from 'Controller' class.
Controller::LoadDatabase ( unsigned int dbId, Parser& parser )This method is from 'Controller' class.
Controller::LoadDBDB ( )This method is from 'Controller' class.
Controller::SaveDatabase ( unsigned int dbId, Builder& builder )This method is from 'Controller' class.
Controller::SetRecord ( unsigned int dbId, unsigned int stateTableIndex, Builder& build )This method is from 'Controller' class.
Controller::~Controller [in-charge] ( )This method is from 'Controller' class.
probe.h
namespace Barry
[+] struct ProbeResult (2)
| Change |
Effect |
1 | Size of this type has been changed from 12 bytes to 16 bytes. | The fields or parameters of such data type may be incorrectly initialized or accessed by old client applications. |
2 | Field m_zeroSocketSequence has been added to this type. | 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 (2)
Controller::Controller [in-charge] ( ProbeResult const& device )1st parameter 'device' (reference) has base type 'ProbeResult'.
operator<< ( std::ostream& os, ProbeResult const& pr )2nd parameter 'pr' (reference) has base type 'ProbeResult'.
socket.h
namespace Barry
[+] class Socket (5)
| Change |
Effect |
1 | Field m_challengeSeed 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 m_halfOpen 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 m_remainingTries 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 m_zeroSocketSequence 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 m_lastStatus has been removed from this type. | Size of the inclusive type has been changed. |
[+] affected symbols (5)
Socket::Close ( )This method is from 'Socket' class.
Socket::NextRecord ( Data& receive )This method is from 'Socket' class.
Socket::Packet ( Packet& packet, int timeout )This method is from 'Socket' class.
Socket::Receive ( Data& receive, int timeout )This method is from 'Socket' class.
Socket::~Socket [in-charge] ( )This method is from 'Socket' class.
to the top
Header Files (16)
barry.h
builder.h
common.h
controller.h
controllertmpl.h
data.h
error.h
parser.h
probe.h
protocol.h
record.h
s11n-boost.h
socket.h
time.h
usbwrap.h
version.h
to the top
Shared Libraries (1)
libbarry.so.0.0.5
to the top