1Per the terms of the Mozilla Public License, version 1.1, this file contains 2a summary of the changes made by Apple Computer ("Apple") to source code 3originally developed by Netscape. 4 5General Notes 6------------- 7 81. This module, SecurityNssAsn1, is based on the Netscape Security 9 Services ("NSS") portion of the Mozilla Browser project. The 10 source upon which SecurityNssAsn1 was based was pulled from 11 the Mozilla CVS repository, top of tree as of January 21, 2003. 12 The SecurityNssAsn1 project contains only those portions of NSS 13 used to perform BER encoding and decoding, along with minimal 14 support required by the encode/decode routines. 15 162. The directory structure of SecurityNssAsn1 differs significantly 17 from that of NSS, rendering simple diffs to document changes 18 unwieldy. Diffs could still be performed on a file-by-file basis. 19 203. All Apple changes are flagged by the symbol __APPLE__, either 21 via "#ifdef __APPLE__" or in a comment. 22 23 24Changes 25------- 26 271. Basic platform-specific support is in nsprPub/Source/nsprPortX.c. 28 This support is specific to Mac OS X. 29 302. The fundamental data wrapper, SECItem, has been typedef'd to a 31 CSSM_DATA. This provides interoperability between the code in 32 this module with the code in the Apple Security framework. 33 343. Indication of signed integer types has moved from the 35 source/destination of encoding/decoding (SecItem.type) to a flag 36 in the template defining encoding/decoding rules 37 (SEC_ASN1_SIGNED_INT in SEC_ASN1Template.kind). The default 38 for ASN1 integer types, when this flag is not set, is unsigned. 39 404. The dynamic template resolution mechanism has been updated to 41 provide the template chooser routine specific access to the 42 SECItem being encoded to or decoded from. This faciliates 43 efficient inline processing of many ASN_ANY and CHOICE types. 44 455. The source of the core secasn1e.c and secasn1d.c files has been 46 reformatted to be legible with 4-space tabs. Contrary to the 47 comments at the top of these files, these files were actually 48 formatted for 8-space tabs. 49 506. Templates for encoding/decoding of fundamental ASN types was moved 51 from secasn1d.c to a new file, asn1Templates.c. All other 52 templates in the SecurityNssAsn1 source were written by Apple. 53 547. Updated the prcpucfg.h file to nspr-4.8.9 version. 55 568. Changed various integer types for variables and functions arguments 57 to be 64 bits safe. 58 59