]> git.saurik.com Git - apple/security.git/blob - OSX/libsecurity_asn1/CHANGES.Apple
Security-59754.41.1.tar.gz
[apple/security.git] / OSX / libsecurity_asn1 / CHANGES.Apple
1 Per the terms of the Mozilla Public License, version 1.1, this file contains
2 a summary of the changes made by Apple Computer ("Apple") to source code
3 originally developed by Netscape.
4
5 General Notes
6 -------------
7
8 1. 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
16 2. 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
20 3. All Apple changes are flagged by the symbol __APPLE__, either
21 via "#ifdef __APPLE__" or in a comment.
22
23
24 Changes
25 -------
26
27 1. Basic platform-specific support is in nsprPub/Source/nsprPortX.c.
28 This support is specific to Mac OS X.
29
30 2. 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
34 3. 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
40 4. 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
45 5. 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
50 6. 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
54 7. Updated the prcpucfg.h file to nspr-4.8.9 version.
55
56 8. Changed various integer types for variables and functions arguments
57 to be 64 bits safe.
58