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
dev-tech-crypto@lists.mozilla.org
https://lists.mozilla.org/listinfo/dev-tech-crypto

Reply via email to