The parser accepts negative numbers in INTEGER ranges. Use snprintf() instead of...
[platform/upstream/libtasn1.git] / NEWS
1 GNU Libtasn1 NEWS                                     -*- outline -*-
2
3 * Noteworthy changes in release 3.4 (unreleased) [stable]
4 - Added asn1_delete_structure2() which allows zeroizing the contents
5   of all values in the structure prior to deinitialization.
6 - The parser accepts negative numbers in an INTEGER range (but
7   still does no enforce them).
8
9 * Noteworthy changes in release 3.3 (released 2013-03-23) [stable]
10 - More precise overflow checks using gnulib's intprops module.
11 - Updates to compile in Android systems.
12
13 * Noteworthy changes in release 3.2 (released 2012-11-30) [stable]
14 - Corrected buffer overflow in the error reporting of the parser (reported
15   by Andreas Metzler).
16
17 * Noteworthy changes in release 3.1 (released 2012-11-24) [stable]
18 - Completed rename of types:
19   ASN1_ARRAY_TYPE -> asn1_static_node (was asn1_static_node_t)
20 - Added new types: VisibleString, NumericString, IA5String, TeletexString,
21   PrintableString, UniversalString, BMPString, UTF8String. When re-defined
22   a warning is being print instead of failing.
23 - Parser outputs more detailed syntax error messages.
24 - Added asn1_decode_simple_der() and asn1_encode_simple_der().
25 - Added asn1_read_value_type() to return value and type.
26 - Introduced ASN1_ETYPE_UTC_TIME and ASN1_ETYPE_GENERALIZED_TIME
27
28 * Noteworthy changes in release 3.0 (2012-10-28) [stable]
29 - Added tool in tests/ to benchmark X.509 structure decoding.
30 - Added asn1_read_node_value() to obtain a node's value.
31 - Optimizations in internal tree allocation.
32 - Optimizations in tree search.
33 - libtasn1.h no longer exports internal structures.
34 - Types were renamed for consistency:
35   ASN1_DATA_NODE -> asn1_data_node_st
36   ASN1_ARRAY_TYPE -> asn1_static_node
37   ASN1_TYPE -> asn1_node
38   ASN1_TYPE_EMPTY -> NULL
39   static_struct_asn -> asn1_static_node_st
40   node_asn_struct -> asn1_node_st
41   node_asn -> asn1_node_st
42   (the old types are still available as definitions)
43
44 * Noteworthy changes in release 2.13 (2012-05-31) [stable]
45 - Updated fix for DER decoding issue to not depend on specific compilers.
46 - Updated DER decoding check to apply to short form integers as well.
47
48 * Noteworthy changes in release 2.12 (2012-03-19) [stable]
49 - Cleanup license headers.
50 - build: Update gnulib files.
51 - Corrected DER decoding issue (reported by Matthew Hall).
52   Added self check to detect the problem, see tests/Test_overflow.c.
53   This problem can lead to at least remotely triggered crashes, see
54   further analysis on the libtasn1 mailing list.
55
56 * Noteworthy changes in release 2.11 (2011-11-25) [stable]
57 - qa: Now builds without compiler warnings with Solaris CC.
58 - qa: Added clang analysis.  Fixed cyclomatic complexity output.
59 - tests: Added self-test of bit string functions.
60 - build: Added windows/libtasn14win.mk rules to produce Windows binaries.
61 - build: Don't hard code path to perl in doc/gdoc.
62 - Various minor fixes.
63
64 * Noteworthy changes in release 2.10 (2011-10-25) [stable]
65 - lib: Small optimization, possibly working around gcc/valgrind issue.
66 - build: Update gnulib files.
67 - asn1Coding: actually implement the -c parameter.
68 - asn1Decoding: the -c parameter serves no purpose, remove it.
69 - doc: Add examples to asn1Coding and asn1Decoding description.
70
71 * Noteworthy changes in release 2.9 (2010-12-06) [stable]
72 - tests: Link to gnulib to avoid build error related to 'rpl_ftello' on Solaris.
73   Reported by Dagobert Michelsen.
74 - doc: Fix bug reporting address to point at help-libtasn1@gnu.org.
75 - doc: Fix Returns: documentation in Texinfo.  Reported by Jeffrey Walton.
76 - build: Update gnulib files.
77
78 * Noteworthy changes in release 2.8 (2010-09-25) [stable]
79 - Update gnulib files.
80 - Use Libtool 2.2.10 to ease MinGW64 builds.
81
82 * Noteworthy changes in release 2.7 (2010-05-20) [stable]
83 - Doc: Build a PDF manual using GTK-DOC.
84 - Doc: Fix of asn1_check_version, documentation was missing from last release.
85 - Build: Avoid warnings about ignored visibility attributes on Windows.
86
87 * Noteworthy changes in release 2.6 (2010-04-20) [stable]
88 - Fix build failure on platforms without support for GNU LD version scripts.
89 - libtasn1: Simplified implementation of asn1_check_version.
90 - tests: Improved self-checks.
91 - Update gnulib files, fix many syntax-check nits, indent code,
92   fix license templates.
93
94 * Noteworthy changes in release 2.5 (2010-03-15) [stable]
95 - doc: Improve GTK-DOC comments.
96 - misc: Updated gnulib files.
97
98 * Noteworthy changes in release 2.4 (2010-01-18) [stable]
99 - Doc fixes.
100 - Updated gnulib files.
101 - Clean up copyright notices.
102
103 * Noteworthy changes in release 2.3 (2009-07-29) [stable]
104 - Libtasn1 is now an official GNU project.
105 - Solve build problem on Tru64 related to TRUE/FALSE.
106 - More careful decoding of OIDs.
107 - Fixed warning in ASN1.y.
108 - Use "Software libraries" info dircategory.
109 - Drop GPL/LGPL copies from the manual (not needed there).
110 - New configure parameters to set packaging specific information.
111   The parameters are --with-packager, --with-packager-version, and
112   --with-packager-bug-reports.  See
113   <http://article.gmane.org/gmane.comp.lib.gnulib.bugs/17791> for more
114   details.
115
116 * Noteworthy changes in release 2.2 (2009-05-20) [stable]
117 - Change how the ASN1_API decorator is used in libtasn1.h, for GTK-DOC.
118 - Changed license of libtasn1.pc from GPLv3+ to LGPLv2.1+.
119   Reported by Jeff Cai <Jeff.Cai@Sun.COM>.
120 - Building with many warning flags now requires --enable-gcc-warnings.
121 - Some warnings fixed.
122
123 * Noteworthy changes in release 2.1 (2009-04-17) [stable]
124 - Fix compilation failure on platforms that can't generate empty archives,
125   e.g., Mac OS X.  Reported by David Reiser <dbreiser@gmail.com>.
126
127 * Noteworthy changes in release 2.0 (2009-04-13) [stable]
128 - Optimized tree generation.
129 - ASN1 parser code re-generated using Bison 2.4.1.
130 - Build with more warning flags.  Many compiler warnings fixed.
131 - Compiled with -fvisibility=hidden by default if supported.
132   See http://gcc.gnu.org/wiki/Visibility
133 - The libtasn1-config tool has been removed.
134   For application developers, please stop using libtasn1-config for
135   finding libtasn1, use proper autoconf checks or pkg-config instead.
136   For users that need a libtasn1 that provides a libtasn1-config
137   script (for use with older applications), use libtasn1 v1.x instead.
138   Version 1.x is still supported.
139
140 * Noteworthy changes in release 1.8 (2009-01-16) [stable]
141 - Fix crlf self-test under Mingw+Wine.
142 - Fix build problems on platforms that lack stdint.h.
143   Reported by Dagobert Michelsen <dam@opencsw.org> in
144   <http://thread.gmane.org/gmane.comp.encryption.gpg.gnutls.devel/3377>.
145
146 * Noteworthy changes in release 1.7 (2008-11-17) [stable]
147 - Add libtasn1-config for compatibility.
148   Please stop use it as it will disappear in v2.0!
149   Use standard AC_CHECK_FUNCS autoconf tests or pkg-config instead.
150 - Read PKCS#12 blob as binary file, fixes self-tests under Mingw.
151 - Fix use of __attribute__ ((deprecated)) to work on non-GCC (#106548).
152
153 * Noteworthy changes in release 1.6 (2008-11-10) [stable]
154 - Fixed namespace violation for MAX_NAME_SIZE and MAX_ERROR_DESCRIPTION_SIZE.
155   The new names are ASN1_MAX_NAME_SIZE and ASN1_MAX_ERROR_DESCRIPTION_SIZE.
156 - Fixed namespace violation for libtasn1_perror and libtasn1_strerror.
157   The new names are asn1_perror and asn1_strerror.
158 - Fix namespace violation for LIBASN1_VERSION.
159   The new name is ASN1_VERSION.
160 - Decoder can now decode BER encoded octet strings.
161 - doc: Change license on the manual to GFDLv1.3+.
162 - doc: Sync gdoc script with GnuTLS, changes license on man-pages to GAP.
163 - doc: Improve gtk-doc manual.
164 - Assumes system has strdup and string.h.
165 - Remove libtasn1-config and libtasn1.m4,
166   use standard AC_CHECK_FUNCS autoconf tests or pkg-config instead.
167 - Change detection of when to use a linker version script,
168   use --enable-ld-version-script or --disable-ld-version-script to
169   override auto-detection logic.
170 - API and ABI changes since last version:
171   asn1_get_length_ber: New function.
172   ASN1_VERSION: New symbol, replaces LIBTASN1_VERSION.
173   asn1_strerror: New function, replaces libtasn1_strerror.
174   asn1_perror: New function, replaces libtasn1_perror.
175   libtasn1_strerror: Marked as deprecated.
176   libtasn1_perror: Marked as deprecated.
177   LIBTASN1_VERSION: Deprecated.
178
179 * Noteworthy changes in release 1.5 (2008-07-29) [stable]
180 - Update gnulib files.
181 - Fix memory leaks, from Christian Grothoff <christian@grothoff.org>.
182
183 * Noteworthy changes in release 1.4 (2008-04-21) [stable]
184 - Update gnulib files.
185 - Replace uses of alloca with malloc.
186
187 * Noteworthy changes in release 1.3 (2008-02-01) [stable]
188 - Handle 'INTEGER { ... } (a..b)' regression.
189   Revert parts of earlier fix.  asn1Parser can now again parse src/pkix.asn1.
190   The ASN1.c file was generated using Bison 2.3.
191 - Move examples from src/ to new directory examples/.
192 - Duplicate copy of divergated pkix.asn removed.
193 - Merge unnecessary lib/defines.h into lib/int.h.
194 - Configure no longer tries to use gcc -pipe.
195 - Update gnulib files.
196 - Fix mem leak in self-test.
197
198 * Noteworthy changes in release 1.2 (2007-12-10) [stable]
199 - Update gnulib files.
200
201 * Noteworthy changes in release 1.1 (2007-08-31) [stable]
202 - Fix bug that made asn1_check_version believe that 1.0 is older than 0.3.10.
203
204 * Noteworthy changes in release 1.0 (2007-08-31) [stable]
205 - The self-tests, command line tools and build infrastructure have
206   been re-licensed from GPLv2 to GPLv3.
207 - Doc fixes.
208 - Update gnulib files.
209
210 * Noteworthy changes in release 0.3.10 (2007-05-25)
211 - Update gnulib files.
212
213 * Noteworthy changes in release 0.3.9 (2007-03-02)
214 - In generated code, config.h is pulled in if HAVE_CONFIG_H.
215 - Development changes: changed from CVS to GIT as an experiment.
216   I push my changes to <http://repo.or.cz/w/libtasn1.git>.
217 - Autoconf 2.61 and automake 1.10 is required.
218
219 * Noteworthy changes in release 0.3.8 (2006-11-16)
220 - Fix reading of binary files in asn1Decoding, for Windows.
221
222 * Noteworthy changes in release 0.3.7 (2006-10-19)
223 - When asn1_der_coding encoded a TYPE_NULL and the output buffer is
224   NULL, it would not increment the counter properly, so the size of
225   the required buffer would be off by one.  Fixed.  Reported by
226   Stephen Wrobleski <steve@localtoast.org>.
227 - Fix configure to respect user-definable flags.  Reported by "Diego
228   'Flameeyes' Pettenò" <flameeyes@gentoo.org>.
229 - The --help and --version outputs from the tools have been improved.
230
231 * Noteworthy changes in release 0.3.6 (2006-08-13)
232 - Fix man pages to use \- instead of - for negative signs (as in "-1").
233 - Add -I's when building in src/, so that unistd.h etc is found on
234   systems that doesn't have them.
235 - Valgrind isn't used for cross-compilation by default, and there is
236   also --disable-valgrind-tests to unconditionally disable it.
237 - Valgrind is invoked without parameters, put things you like into
238   ~/.valgrindrc instead.
239
240 * Noteworthy changes in release 0.3.5 (2006-06-27)
241 - Fix asn1_octet_der to handle writes of zero-length buffers, before
242   it did not write the ASN.1 length for a zero-length buffer.  This caused
243   ASN.1 encodings to be incorrect on 64-bit platforms.
244 - Add self test that attempt to trigger the above bug.
245 - Fix test of -Wno-pointer-sign.
246 - Improve cross-compilation to MinGW by using AC_LIBTOOL_WIN32_DLL.
247
248 * Noteworthy changes in release 0.3.4 (2006-05-10)
249 - Really fix encodings.
250 - Add new self test, tests/Test_encoding.c.
251 - Self tests are ran under valgrind, if it is available.
252 - We test for the -Wno-pointer-sign parameter before using it.
253
254 * Noteworthy changes in release 0.3.3 (2006-05-07)
255 - Add some 'const' to prototypes.
256 - Remove some 'unsigned' keywords.
257 - Corrected asn1_der_coding() bug introduced when it became reentrant.
258   Now it produces correct encodings.
259
260 * Noteworthy changes in release 0.3.2
261 - Corrected bug in asn1_der_coding() which overwrited some
262   data in the original structure.
263 - The asn1Parser, asn1Coding and asn1Decoding programs are now installed.
264
265 * Noteworthy changes in release 0.3.1
266 - Support constant size bit strings, as in 'BIT STRING (SIZE(42))'.
267   Reported by Cyril Holweck <cyril.holweck@q-free.com>.
268 - Add two more APIs required by GnuTLS.
269 - New public APIs:
270   asn1_find_node function
271   asn1_copy_node
272
273 * Noteworthy changes in release 0.3.0
274 - Export DER utility functions, mostly so that GnuTLS can avoid using
275   libtasn1 internals.
276 - The _asn1* symbols are not exported in the shared library file (when
277   using GNU ld).
278 - The library can now be built using Visual Studio, and the project
279   files are included in windows/.
280 - New public APIs:
281   asn1_get_tag_der
282   asn1_octet_der
283   asn1_get_octet_der
284   asn1_bit_der
285   asn1_get_bit_der
286   asn1_get_length_der
287   asn1_length_der
288
289 * Noteworthy changes in release 0.2.18
290 - Fix out-of-bounds access in DER decoding, reported by Evgeny Legerov.
291 - Add 'const' keyword to some prototypes, thanks to Frediano ZIGLIO.
292 - Fixed typo in src/Makefile.am to make it build with objdir != srcdir,
293   thanks to Bernard Leak.
294 - Update of gnulib files.
295 - Typo fixes in comments, e.g. finish libasn1 to libtasn1 renaming,
296   use LGPL boiler plate on some files in lib/.
297
298 * Noteworthy changes in release 0.2.17
299 - Fixed typo to make it build.
300
301 * Noteworthy changes in release 0.2.16
302 - * Noteworthy changes in release script added again.
303
304 * Noteworthy changes in release 0.2.15
305 - Gnulib is used to implement memmove if your system does not have it.
306 - Simplified assert/error handling slightly.
307
308 * Noteworthy changes in release 0.2.14
309 - Some build fixes.
310 - Pkg-config script 'libtasn1.pc' added.
311 - Postal address to FSF in license updated.
312
313 * Noteworthy changes in release 0.2.13
314 - * Noteworthy changes in release number in libtasn1.h updated properly.
315
316 * Noteworthy changes in release 0.2.12
317 - Manual converted to Texinfo format.
318 - Manual in GTK-DOC and DevHelp formats added.
319 - Man pages for all functions added.
320 - Various internal cleanups.
321
322 * Noteworthy changes in release 0.2.11
323 - Added the self test with "make check" target
324 - Added management of ANY type with null length
325 - Corrected some writes to invalid data.
326
327 * Noteworthy changes in release 0.2.10
328 - Added scripts to assist in libtasn1 version detection
329   from configure scripts.
330 - Corrected a DER decoding bug which was reported
331   by Max Vozeler <max@hinterhof.net>.
332
333 * Noteworthy changes in release 0.2.9
334 - Accept negative numbers as range in INTEGER declarations
335
336 * Noteworthy changes in release 0.2.8
337 - Add asn1_delete_element function
338
339 * Noteworthy changes in release 0.2.7
340 - Added versioned symbols.
341
342 * Noteworthy changes in release 0.2.6
343 - ASN.1 parser accepts these kinds of integer definitions:
344   "INTEGER (5 | 10)" and
345   "INTEGER (5)"
346 - Comments start at "--" and finish at the "end of line" or
347   with another "--".
348
349 * Noteworthy changes in release 0.2.5
350 - Bug fix in ordering procedure for SET OF and SEQUENCE OF
351   types coding.
352 - Manage structured format (BER encoding) in
353   asn1_der_decoding, asn1_decoding_element and
354   asn1_der_decoding_startEnd for OCTET STRING type.
355 - Manage SEQUENCE and SET empty structure.
356 - Manage "indefinite length method" in asn1_der_decoding,
357   asn1_decoding_element and asn1_der_decoding_startEnd
358   for the following types:
359   SEQUENCE, SEQUENCE OF, SET, and SET OF.
360 - Bug fix in asn1_read_value with NULL parameter in case
361   of BIT STRING
362
363 * Noteworthy changes in release 0.2.4
364 - Bug fix in asn1_der_coding with NULL parameter
365 - Manage DEFAULT option with OBJECT IDENTIFIER
366
367 * Noteworthy changes in release 0.2.3
368 - Chenge asn1_find_structure_from_oid prototype
369 - Chenge asn1_find_structure_from_oid prototype
370 - Add ASN1_MEM_ALLOC_ERROR return value
371
372 * Noteworthy changes in release 0.2.2
373 - Add vector length check in asn1_der_coding function
374 - Add vector length check in asn1_der_coding function
375 - Add vector length check in asn1_read_value function
376 - Add asn1_check_version function
377
378 * Noteworthy changes in release 0.2.1
379 - Add asn1_find_structure_from_oid function
380 - Add asn1_read_tag function
381
382 * Noteworthy changes in release 0.2.0
383 - Support for other platforms
384 - Change asn1_create_element function interface (dest_name not needed any more)
385 - Change OBJECT IDENTIFIER syntax: numbers must be separated by dot in
386   asn1_write_element and asn1_read_element functions (e.g. "1.2.3.4")
387
388 * Noteworthy changes in release 0.1.2
389 - Added GeneralString type
390 - Fixed a DER encoding bug when nested tags are used
391
392 * Noteworthy changes in release 0.1.1
393 - Renamed to libtasn1
394 - Functions which return a string for error description
395   now accept a NULL argument.
396 - License is now GNU Lesser GPL
397
398 * Noteworthy changes in release 0.1.0
399 - Initial release
400
401 ----------------------------------------------------------------------
402 Copyright (C) 2002-2013 Free Software Foundation, Inc.
403 Copying and distribution of this file, with or without modification,
404 are permitted in any medium without royalty provided the copyright
405 notice and this notice are preserved.