Binary compatibility report for the CppCMS library between 0.99.8 and 0.99.9 versions on x86
Test Info
Library Name | CppCMS |
Version #1 | 0.99.8 |
Version #2 | 0.99.9 |
CPU Architecture | x86 |
GCC Version | 4.5 |
Test Results
Total Header Files | 48 |
Total Shared Libraries | 2 |
Total Symbols / Types | 1400 / 670 |
Verdict | Incompatible (0.43%) |
---|
Problem Summary
| Severity | Count |
---|
Added Symbols | - | 28 |
Removed Symbols | High | 3 |
Problems with Data Types | High | 0 |
Medium | 0 |
Low | 1 |
Problems with Symbols | High | 3 |
Medium | 0 |
Low | 2 |
Problems with Constants | Low | 0 |
Added Symbols (28)
applications_pool.h,
libcppcms.so.1.0.0
namespace cppcms
applications_pool::get ( char const* h, char const* s, char const* path_info, std::string& match )
[ symbol: _ZN6cppcms17applications_pool3getEPKcS2_S2_RSs ]
base64.h,
libcppcms.so.1.0.0
namespace cppcms::b64url
encode ( unsigned char const* begin, unsigned char const* end, std::ostream& output )
[ symbol: _ZN6cppcms6b64url6encodeEPKhS2_RSo ]
forwarder.h,
libcppcms.so.1.0.0
namespace cppcms
forwarder::check_forwading_rules ( char const* h, char const* s, char const* p )
[ symbol: _ZN6cppcms9forwarder21check_forwading_rulesEPKcS2_S2_ ]
http_content_type.h,
libcppcms.so.1.0.0
namespace cppcms::http
content_type::content_type [in-charge] ( char const* begin, char const* end )
[ symbol: _ZN6cppcms4http12content_typeC1EPKcS3_ ]
content_type::content_type [in-charge] ( char const* ct )
[ symbol: _ZN6cppcms4http12content_typeC1EPKc ]
content_type::content_type [not-in-charge] ( char const* begin, char const* end )
[ symbol: _ZN6cppcms4http12content_typeC2EPKcS3_ ]
content_type::content_type [not-in-charge] ( char const* ct )
[ symbol: _ZN6cppcms4http12content_typeC2EPKc ]
http_request.h,
libcppcms.so.1.0.0
namespace cppcms::http
request::cgetenv ( char const* p1 )
[ symbol: _ZN6cppcms4http7request7cgetenvEPKc ]
request::getenv ( char const* p1 )
[ symbol: _ZN6cppcms4http7request6getenvEPKc ]
json.h,
libcppcms.so.1.0.0
namespace cppcms::json
value::at ( char const* path )
[ symbol: _ZN6cppcms4json5value2atEPKc ]
value::at ( char const* path ) const
[ symbol: _ZNK6cppcms4json5value2atEPKc ]
value::at ( char const* path, value const& v )
[ symbol: _ZN6cppcms4json5value2atEPKcRKS1_ ]
value::find ( char const* path ) const
[ symbol: _ZNK6cppcms4json5value4findEPKc ]
value::object ( std::map<cppcms::string_key, value> const& p1 )
[ symbol: _ZN6cppcms4json5value6objectERKSt3mapINS_10string_keyES1_St4lessIS3_ESaISt4pairIKS3_S1_EEE ]
mount_point.h,
libcppcms.so.1.0.0
namespace cppcms
mount_point::match ( char const* h, char const* s, char const* p ) const
[ symbol: _ZNK6cppcms11mount_point5matchEPKcS2_S2_ ]
url_mapper.h,
libcppcms.so.1.0.0
namespace cppcms
url_mapper::map ( std::ostream& out, char const* path )
[ symbol: _ZN6cppcms10url_mapper3mapERSoPKc ]
url_mapper::map ( std::ostream& out, char const* path, filters::streamable const& p1 )
[ symbol: _ZN6cppcms10url_mapper3mapERSoPKcRKNS_7filters10streamableE ]
url_mapper::map ( std::ostream& out, char const* path, filters::streamable const& p1, filters::streamable const& p2 )
[ symbol: _ZN6cppcms10url_mapper3mapERSoPKcRKNS_7filters10streamableES7_ ]
url_mapper::map ( std::ostream& out, char const* path, filters::streamable const& p1, filters::streamable const& p2, filters::streamable const& p3 )
[ symbol: _ZN6cppcms10url_mapper3mapERSoPKcRKNS_7filters10streamableES7_S7_ ]
url_mapper::map ( std::ostream& out, char const* path, filters::streamable const& p1, filters::streamable const& p2, filters::streamable const& p3, filters::streamable const& p4 )
[ symbol: _ZN6cppcms10url_mapper3mapERSoPKcRKNS_7filters10streamableES7_S7_S7_ ]
url_mapper::map ( std::ostream& out, char const* path, filters::streamable const& p1, filters::streamable const& p2, filters::streamable const& p3, filters::streamable const& p4, filters::streamable const& p5 )
[ symbol: _ZN6cppcms10url_mapper3mapERSoPKcRKNS_7filters10streamableES7_S7_S7_S7_ ]
url_mapper::map ( std::ostream& out, char const* path, filters::streamable const& p1, filters::streamable const& p2, filters::streamable const& p3, filters::streamable const& p4, filters::streamable const& p5, filters::streamable const& p6 )
[ symbol: _ZN6cppcms10url_mapper3mapERSoPKcRKNS_7filters10streamableES7_S7_S7_S7_S7_ ]
util.h,
libcppcms.so.1.0.0
namespace cppcms::util
escape ( char const* begin, char const* end, std::ostream& output )
[ symbol: _ZN6cppcms4util6escapeEPKcS2_RSo ]
urlencode ( char const* begin, char const* end, std::ostream& output )
[ symbol: _ZN6cppcms4util9urlencodeEPKcS2_RSo ]
xss.h,
libcppcms.so.1.0.0
namespace cppcms::xss
rules::add_property ( std::string const& tag_name, std::string const& property, rules::validator_type const& val )
[ symbol: _ZN6cppcms3xss5rules12add_propertyERKSsS3_RKN7booster8functionIFbPKcS7_EEE ]
rules::relative_uri_validator ( ) [static]
[ symbol: _ZN6cppcms3xss5rules22relative_uri_validatorEv ]
rules::uri_validator ( ) [static]
[ symbol: _ZN6cppcms3xss5rules13uri_validatorEv ]
rules::uri_validator ( std::string const& scheme, bool absolute_only ) [static]
[ symbol: _ZN6cppcms3xss5rules13uri_validatorERKSsb ]
to the top
Removed Symbols (3)
applications_pool.h,
libcppcms.so.1.0.0
namespace cppcms
applications_pool::get ( std::string const& h, std::string const& s, std::string const& path_info, std::string& match )
[ symbol: _ZN6cppcms17applications_pool3getERKSsS2_S2_RSs ]
http_request.h,
libcppcms.so.1.0.0
namespace cppcms::http
request::getenv ( std::string const& p1 )
[ symbol: _ZN6cppcms4http7request6getenvERKSs ]
json.h,
libcppcms.so.1.0.0
namespace cppcms::json
value::object ( std::map<std::string, value> const& p1 )
[ symbol: _ZN6cppcms4json5value6objectERKSt3mapISsS1_St4lessISsESaISt4pairIKSsS1_EEE ]
to the top
Problems with Symbols, High Severity (3)
applications_pool.h,
libcppcms.so.1.0.0
namespace cppcms
[+] applications_pool::get ( std::string const& h, std::string const& s, std::string const& path_info, std::string& match ) (1)
changed to:applications_pool::get ( char const* h, char const* s, char const* path_info, std::string& match )
| Change | Effect |
---|
1 | Parameters list has been changed. | The name of the appropriate symbol for this function on binary level has been changed from _ZN6cppcms17applications_pool3getERKSsS2_S2_RSs to _ZN6cppcms17applications_pool3getEPKcS2_S2_RSs. This may cause "undefined reference" linker error in old client applications. |
http_request.h,
libcppcms.so.1.0.0
namespace cppcms::http
[+] request::getenv ( std::string const& p1 ) (1)
changed to:request::getenv ( char const* p1 )
| Change | Effect |
---|
1 | Parameters list has been changed. | The name of the appropriate symbol for this function on binary level has been changed from _ZN6cppcms4http7request6getenvERKSs to _ZN6cppcms4http7request6getenvEPKc. This may cause "undefined reference" linker error in old client applications. |
json.h,
libcppcms.so.1.0.0
namespace cppcms::json
[+] value::object ( std::map<std::string, value> const& p1 ) (1)
changed to:value::object ( std::map<cppcms::string_key, value> const& p1 )
| Change | Effect |
---|
1 | Parameters list has been changed. | The name of the appropriate symbol for this function on binary level has been changed from _ZN6cppcms4json5value6objectERKSt3mapISsS1_St4lessISsESaISt4pairIKSsS1_EEE to _ZN6cppcms4json5value6objectERKSt3mapINS_10string_keyES1_St4lessIS3_ESaISt4pairIKS3_S1_EEE. This may cause "undefined reference" linker error in old client applications. |
to the top
Problems with Data Types, Low Severity (1)
json.h
namespace cppcms::json
[+] typedef object (1)
| Change |
Effect |
1 | Base type has been changed from std::map<std::string,value> to std::map<cppcms::string_key,value>. | Possible incorrect initialization of parameters by applications. |
[+] affected symbols (2)
value::object ( )Return value (reference) has base type 'object'.
value::object ( ) constReturn value (reference) has base type 'object'.
to the top
Problems with Symbols, Low Severity (2)
json.h,
libcppcms.so.1.0.0
namespace cppcms::json
[+] value::object ( ) (1)
[ symbol: _ZN6cppcms4json5value6objectEv ]
| Change | Effect |
---|
1 | Base type of return value has been changed from std::map<std::string,value> to std::map<cppcms::string_key,value> of different format. | This parameter may be incorrectly initialized by applications. |
[+] value::object ( ) const (1)
[ symbol: _ZNK6cppcms4json5value6objectEv ]
| Change | Effect |
---|
1 | Base type of return value has been changed from std::map<std::string,value> to std::map<cppcms::string_key,value> of different format. | This parameter may be incorrectly initialized by applications. |
to the top
Header Files (48)
application.h
applications_pool.h
archive_traits.h
base64.h
base_content.h
base_view.h
cache_interface.h
cache_pool.h
config.h
copy_filter.h
cppcms_error.h
crypto.h
cstdint.h
defs.h
encoding.h
filters.h
form.h
forwarder.h
http_content_type.h
http_context.h
http_cookie.h
http_file.h
http_request.h
http_response.h
json.h
locale_fwd.h
localization.h
mem_bind.h
mount_point.h
rpc_json.h
serialization.h
serialization_classes.h
service.h
session_api.h
session_cookies.h
session_dual.h
session_interface.h
session_pool.h
session_sid.h
session_storage.h
thread_pool.h
urandom.h
url_dispatcher.h
url_mapper.h
util.h
view.h
views_pool.h
xss.h
to the top
Shared Libraries (2)
libbooster.so.0.0.0
libcppcms.so.1.0.0
to the top