Hi!
Infreedesktop-sdk[1] <https://gitlab.com/freedesktop-sdk> we're trying to keep ABI compatibility when updating elements like cups to new releases. In order to achieve this we use libabigail[2] <https://sourceware.org/libabigail/> tool to automate ABI compat checks. During update NSS from 3.39 to 3.41 (we missed 3.40 release) our tool produced following complaint:
┌───────────────────────────────┐│ ABI Break: libnss3.so:libnss3 │└───────────────────────────────┘Functions changes summary: 0 Removed, 1 Changed (64 filtered out), 0 Added functionsVariables changes summary: 0 Removed, 0 Changed, 0 Added variable1 function with some indirect sub-type change: [C]'function SECStatus CERT_AddOCSPAcceptableResponses(CERTOCSPRequest*, SECOidTag, ...)' at ocsp.c:2203:1 has some indirect sub-type changes: parameter 2 of type 'typedef SECOidTag' has sub-type changes: underlying type 'enum __anonymous_enum__' at secoidt.h:34:1 changed: type size hasn't changed 4 enumerator insertions: '__anonymous_enum__::SEC_OID_X509_ANY_EXT_KEY_USAGE' value '357' '__anonymous_enum__::SEC_OID_EXT_KEY_USAGE_IPSEC_IKE' value '358' '__anonymous_enum__::SEC_OID_IPSEC_IKE_END' value '359' '__anonymous_enum__::SEC_OID_IPSEC_IKE_INTERMEDIATE' value '360' 1 enumerator change: '__anonymous_enum__::SEC_OID_TOTAL' from value '357' to '361' at secoidt.h:34:1┌───────────────────────────────────────┐│ ABI Break: libnssutil3.so:libnssutil3 │└───────────────────────────────────────┘Functions changes summary: 0 Removed, 1 Changed (12 filtered out), 0 Added functionsVariables changes summary: 0 Removed, 0 Changed, 0 Added variable1 function with some indirect sub-type change: [C]'function SECStatus NSS_GetAlgorithmPolicy(SECOidTag, PRUint32*)' at secoid.c:2217:1 has some indirect sub-type changes: parameter 1 of type 'typedef SECOidTag' has sub-type changes: underlying type 'enum __anonymous_enum__' at secoidt.h:34:1 changed: type size hasn't changed 4 enumerator insertions: '__anonymous_enum__::SEC_OID_X509_ANY_EXT_KEY_USAGE' value '357' '__anonymous_enum__::SEC_OID_EXT_KEY_USAGE_IPSEC_IKE' value '358' '__anonymous_enum__::SEC_OID_IPSEC_IKE_END' value '359' '__anonymous_enum__::SEC_OID_IPSEC_IKE_INTERMEDIATE' value '360' 1 enumerator change: '__anonymous_enum__::SEC_OID_TOTAL' from value '357' to '361' at secoidt.h:34:1┌───────────────────────────────────┐│ ABI Break: libsmime3.so:libsmime3 │└───────────────────────────────────┘Functions changes summary: 0 Removed, 1 Changed (99 filtered out), 0 Added functionsVariables changes summary: 0 Removed, 0 Changed, 0 Added variable1 function with some indirect sub-type change: [C]'function PK11SymKey* NSS_CMSContentInfo_GetBulkKey(NSSCMSContentInfo*)' at cmscinfo.c:363:1 has some indirect sub-type changes: parameter 1 of type 'NSSCMSContentInfo*' has sub-type changes: in pointed to type 'typedef NSSCMSContentInfo' at cmst.h:54:1: underlying type 'struct NSSCMSContentInfoStr' at cmst.h:126:1 changed: type size hasn't changed 1 data member changes (2 filtered): type of 'NSSCMSContent NSSCMSContentInfoStr::content' changed: underlying type 'union NSSCMSContentUnion' at cmst.h:113:1 changed: type size hasn't changed 1 data member changes (3 filtered): type of 'NSSCMSEncryptedData* NSSCMSContentUnion::encryptedData' changed: in pointed to type 'typedef NSSCMSEncryptedData' at cmst.h:65:1: underlying type 'struct NSSCMSEncryptedDataStr' at cmst.h:463:1 changed: type size hasn't changed 1 data member changes (1 filtered): type of 'NSSCMSAttribute** NSSCMSEncryptedDataStr::unprotectedAttr' changed: in pointed to type 'NSSCMSAttribute*': in pointed to type 'typedef NSSCMSAttribute' at cmst.h:69:1: underlying type 'struct NSSCMSAttributeStr' at cmst.h:482:1 changed: type size hasn't changed 1 data member change: type of 'SECOidData* NSSCMSAttributeStr::typeTag' changed: in pointed to type 'typedef SECOidData' at secoidt.h:16:1: underlying type 'struct SECOidDataStr' at secoidt.h:513:1 changed: type size hasn't changed 1 data member change: type of 'SECOidTag SECOidDataStr::offset' changed: underlying type 'enum __anonymous_enum__' at secoidt.h:34:1 changed: type size hasn't changed 4 enumerator insertions: '__anonymous_enum__::SEC_OID_X509_ANY_EXT_KEY_USAGE' value '357' '__anonymous_enum__::SEC_OID_EXT_KEY_USAGE_IPSEC_IKE' value '358' '__anonymous_enum__::SEC_OID_IPSEC_IKE_END' value '359' '__anonymous_enum__::SEC_OID_IPSEC_IKE_INTERMEDIATE' value '360' 1 enumerator change: '__anonymous_enum__::SEC_OID_TOTAL' from value '357' to '361' at secoidt.h:34:1
As part of our discussion[3] <https://gitlab.com/freedesktop-sdk/freedesktop-sdk/merge_requests/874> about what to do with that we would like to ask about your opinion on the matter. Especially I wanted to ask if reported change was intentional and if it's safe for backward compatibility thus if above report is a false positive. I would be grateful if you can find time to respond. Thank you.
[1] https://gitlab.com/freedesktop-sdk <https://gitlab.com/freedesktop-sdk>
[2] https://sourceware.org/libabigail/ <https://sourceware.org/libabigail/>
[3] https://gitlab.com/freedesktop-sdk/freedesktop-sdk/merge_requests/825 <https://gitlab.com/freedesktop-sdk/freedesktop-sdk/merge_requests/825>
--
dev-tech-crypto mailing list
[email protected]
https://lists.mozilla.org/listinfo/dev-tech-crypto
lmpx.com only provides a reader for public news (NNTP) servers. It is not
affiliated with the servers or forums shown here and is not responsible for
the content of articles, which is written by their respective authors.