]> git.saurik.com Git - apple/security.git/blob - SecuritySNACCRuntime/NEWS
Security-29.tar.gz
[apple/security.git] / SecuritySNACCRuntime / NEWS
1 =======================================================================
2
3 main changes between versions 1.1 and 1.2:
4
5 * ports to linux and alpha, which should make snacc both endianess and
6 64 bit clean.
7 * to complement the destructors, T::T (const T&) and
8 T &T::operator = (const T &) have been added to override the defaults
9 supplied by the compiler. reason: simple pointer duplication may lead
10 to unreferenced objects and to objects referenced more than once (on
11 which the destructors delete may choke).
12 * the files asn_useful.[hcC] and tbl.[ch] get regenerated automagically.
13 since the compiler itself is compiled with it, a bootstapping version
14 is included in the distribution.
15 * the choice selector and all pointer members get initialized to get
16 predictable behaviour from the destructors (C++ code only, the C code
17 may still be broken!).
18 * turned C++ inline functions into normal functions. this can reduce
19 the size of .o files and executables dramatically! (the change was
20 partially made by IBM ENC.)
21 * the c++ lib compiles under gcc 2.6 (which has the bool type built-in).
22 * GNU autoconf support added.
23 * makefiles rewritten to provide the usual phony targets.
24 * code duplication (4 config files, 3 c_libs) reduced.
25 * C++ destructors added (partially contributed by IBM ENC).
26
27 =======================================================================
28
29 Snacc Changes from version 1.0 to 1.1
30
31 Thanks to many bug reports from users of snacc 1.0, snacc 1.1 is more
32 reliable. Most of the changes between 1.0 and 1.1 are listed in the
33 "1.0-to-1.1-changes" file.
34
35 Type tables are the biggest addition. The rest were mostly bug fixes.
36 If you reported a bug and you don't see the fix, I either didn't have
37 time or simply forgot. Sorry.
38
39 See README.future for the status of snacc now that I have graduated.
40
41 The remainder of this file contains descriptions of many of the fixes
42 between version 1.0 and 1.1. I am sure there are fixes that are not
43 documented here.
44
45 =======================================================================
46
47 The GNU Library Public License (LGPL) has been punted.
48
49 =======================================================================
50 Added table generation the compiler
51
52 files: src/{ tbl.c tbl.h gen_tbls.c }
53 =======================================================================
54
55 Added table libraries and tools
56
57 files: tbl_include/* tbl_lib/* tbl_tools/* tbl_example/*
58 =======================================================================
59
60 Re-aligned data structure for parse tree with code generated by
61 newer version of snacc (yes, the parse tree was originally defined
62 in ASN.1 - see asn1specs/asn1module.asn1)
63
64 =======================================================================
65 defined T61String and ISO646String Tag codes.
66
67 files: snacc/c_inlcude/asn_tag.h and snacc/c++_inlcude/asn_tag.h
68
69 #define TT61STRING_TAG_CODE TELETEXSTRING_TAG_CODE
70 #define ISO646STRING_TAG_CODE VISIBLESTRING_TAG_CODE
71
72 =======================================================================
73
74 Named arcs in OBJECT IDENTIFER values no longer generate ASN.1 integers.
75 e.g. test OBJECT IDENTIFIER ::={2 3 4 ds(5) 1}
76
77 used to be equivalent to:
78 ds INTEGER ::= 5
79 test OBJECT IDENTIFER ::= {2 3 4 ds 1}
80
81 Snacc now ignores the name (ds in this case). Ideally the arc could
82 be entered into an object identifier tree maintained by snacc.
83
84 files: snacc/src/val_parser.c
85
86 =======================================================================
87
88 Fixed bug in macro definition parsing that threw off the line
89 number global.
90
91 file: asn1.lex
92
93 =======================================================================
94
95 Added file and line number information to import errors.
96
97 A lineNo field was added to the ImportElmt and ImportModule data
98 structures. The yacc code for the import elements & modules sets the
99 lineNo values correctly. The error reporting code in line_types.c and
100 line_values.c now prints the line number info.
101
102 files: link_types.c link_values.c asn1module.h asn1.yacc
103
104
105 =======================================================================
106
107 Added some line number info to multiply defined symbol error reports
108
109 file: err_chk.c - uses importElmt line number info
110
111 =======================================================================
112
113 Added line number info to export errors.
114
115 =======================================================================
116
117 Added file and line number info to typing errors for OBJECT
118 IDENTIFIER values. Also stopped errors that cascade from other
119 OID values referencing a malformed oid value.
120
121 file: normalize.c
122
123
124 =======================================================================
125
126 Error messages will be printed for recursively defined OBJECT
127 IDENTIIFER values.
128
129 file: link_values.c
130
131 =======================================================================
132
133 Fixed bug #20. ie Not grabbing EOC on tagged (by def or in parent)
134 CHOICEs embedded in other SET, SEQ, CHOICE, SET OF or SEQ OF types.
135
136 file: gen_c_dec.c
137
138 =======================================================================
139
140 Fixed bug #21. ie Value linking problem when assigning a value
141 to a choice with a named number from one of the choice's elmts.
142
143 file: link_values.c, snacc_util.c (added routine "GetAllNamedElmts")
144
145 =======================================================================
146
147
148 Fixed bug #22 - potentially not allocating enough space for
149 a C++ field name conflict
150
151 file: snacc/src/back_ends/c++_gen/cpp_types.c
152
153 =======================================================================
154
155 Fixed nibble alloc bug. curr pointer could be incremened past
156 end ptr which then caused problems with new allocs.
157
158 file: c_lib/nibble_alloc.c tbl_lib/nibble_alloc.c
159
160 =======================================================================