NEWS 21.8 KB
Newer Older
Simon Josefsson's avatar
Simon Josefsson committed
1
GNU Libtasn1 NEWS                                     -*- outline -*-
2

Nikos Mavrogiannopoulos's avatar
Nikos Mavrogiannopoulos committed
3 4 5 6 7
* Noteworthy changes in release 4.14 (unreleased) [stable]
- Simplify ordering of SET OF elements.
- Several fixes in gtk-doc generation.


Nikos Mavrogiannopoulos's avatar
Nikos Mavrogiannopoulos committed
8
* Noteworthy changes in release 4.13 (released 2018-01-16) [stable]
Nikos Mavrogiannopoulos's avatar
Nikos Mavrogiannopoulos committed
9 10 11
- On indefinite string decoding, set a maximum level of allowed recursions
  (3) to protect the BER decoder from a stack exhaustion.

Nikos Mavrogiannopoulos's avatar
Nikos Mavrogiannopoulos committed
12 13 14
* Noteworthy changes in release 4.12 (released 2017-05-29) [stable]
- Corrected so-name version

Nikos Mavrogiannopoulos's avatar
Nikos Mavrogiannopoulos committed
15
* Noteworthy changes in release 4.11 (released 2017-05-27) [stable]
Nikos Mavrogiannopoulos's avatar
Nikos Mavrogiannopoulos committed
16 17
- Introduced the ASN1_TIME_ENCODING_ERROR error code to indicate
  an invalid encoding in the DER time fields.
Nikos Mavrogiannopoulos's avatar
Nikos Mavrogiannopoulos committed
18 19 20 21 22
- Introduced flag ASN1_DECODE_FLAG_ALLOW_INCORRECT_TIME. This flag
  allows decoding errors in time fields even when in strict DER mode.
  That is introduced in order to allow toleration of invalid times in
  X.509 certificates (which are common) even though strict DER adherence
  is enforced in other fields.
Nikos Mavrogiannopoulos's avatar
Nikos Mavrogiannopoulos committed
23 24 25 26 27 28 29
- Added safety check in asn1_find_node(). That prevents a crash
  when a very long variable name is provided by the developer.
  Note that this to be exploited requires controlling the ASN.1
  definitions used by the developer, i.e., the 'name' parameter of
  asn1_write_value() or asn1_read_value(). The library is
  not designed to protect against malicious manipulation of the
  developer assigned variable names. Reported by Jakub Jirasek.
Nikos Mavrogiannopoulos's avatar
Nikos Mavrogiannopoulos committed
30

Nikos Mavrogiannopoulos's avatar
Nikos Mavrogiannopoulos committed
31
* Noteworthy changes in release 4.10 (released 2017-01-16) [stable]
Nikos Mavrogiannopoulos's avatar
Nikos Mavrogiannopoulos committed
32 33
- Updated gnulib
- Removed -Werror from default compiler flags
Nikos Mavrogiannopoulos's avatar
Nikos Mavrogiannopoulos committed
34 35 36
- Fixed undefined behavior when negating integers in _asn1_ltostr().
  Issue found by oss-fuzz project (via gnutls):
  https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=388
Nikos Mavrogiannopoulos's avatar
Nikos Mavrogiannopoulos committed
37 38
- Pass the correct length to _asn1_get_indefinite_length_string in
  asn1_get_length_ber. This addresses reading 1-byte past the end
Nikos Mavrogiannopoulos's avatar
Nikos Mavrogiannopoulos committed
39 40 41
  of data. Issue found by oss-fuzz project (via gnutls):
  https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=330
  https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=331
Nikos Mavrogiannopoulos's avatar
Nikos Mavrogiannopoulos committed
42

Nikos Mavrogiannopoulos's avatar
Nikos Mavrogiannopoulos committed
43
* Noteworthy changes in release 4.9 (released 2016-07-25) [stable]
Nikos Mavrogiannopoulos's avatar
Nikos Mavrogiannopoulos committed
44 45
- Fixes to OID encoding of OIDs which have elements which exceed 2^32

Nikos Mavrogiannopoulos's avatar
Nikos Mavrogiannopoulos committed
46
* Noteworthy changes in release 4.8 (released 2016-04-11) [stable]
Nikos Mavrogiannopoulos's avatar
Nikos Mavrogiannopoulos committed
47
- Fixes to avoid reliance on C undefined behavior.
Nikos Mavrogiannopoulos's avatar
Nikos Mavrogiannopoulos committed
48 49
- Fixes to avoid an infinite recursion when decoding without
  the ASN1_DECODE_FLAG_STRICT_DER flag. Reported by Pascal Cuoq.
Nikos Mavrogiannopoulos's avatar
Nikos Mavrogiannopoulos committed
50 51
- Combined all the BER octet string decoding functions to a single
  one based on asn1_decode_simple_ber().
Nikos Mavrogiannopoulos's avatar
Nikos Mavrogiannopoulos committed
52

Nikos Mavrogiannopoulos's avatar
Nikos Mavrogiannopoulos committed
53
* Noteworthy changes in release 4.7 (released 2015-09-14) [stable]
Nikos Mavrogiannopoulos's avatar
Nikos Mavrogiannopoulos committed
54 55 56
- Fixed regression introduced in the decoding of multi-byte tags
  fix.

57
* Noteworthy changes in release 4.6 (released 2015-09-05) [stable]
Nikos Mavrogiannopoulos's avatar
Nikos Mavrogiannopoulos committed
58
- Allow decoding OCTET STRINGs with multi-byte tags.
Nikos Mavrogiannopoulos's avatar
Nikos Mavrogiannopoulos committed
59 60 61
- API and ABI changes since last version:
  asn1_get_object_id_der: New function

Nikos Mavrogiannopoulos's avatar
Nikos Mavrogiannopoulos committed
62
* Noteworthy changes in release 4.5 (released 2015-04-29) [stable]
Nikos Mavrogiannopoulos's avatar
Nikos Mavrogiannopoulos committed
63 64 65
- Corrected an invalid memory access in octet string decoding.
  Reported by Hanno Böck.

66
* Noteworthy changes in release 4.4 (released 2015-03-29) [stable]
Nikos Mavrogiannopoulos's avatar
Nikos Mavrogiannopoulos committed
67
- Corrected a two-byte stack overflow in asn1_der_decoding. Reported
Nikos Mavrogiannopoulos's avatar
Nikos Mavrogiannopoulos committed
68 69
  by Hanno Böck.

Nikos Mavrogiannopoulos's avatar
Nikos Mavrogiannopoulos committed
70
* Noteworthy changes in release 4.3 (released 2015-03-09) [stable]
Nikos Mavrogiannopoulos's avatar
Nikos Mavrogiannopoulos committed
71 72
- Added asn1_decode_simple_ber()

Nikos Mavrogiannopoulos's avatar
Nikos Mavrogiannopoulos committed
73
* Noteworthy changes in release 4.2 (released 2014-09-15) [stable]
Nikos Mavrogiannopoulos's avatar
Nikos Mavrogiannopoulos committed
74 75
- Added sanity checks in the decoding of time when
  ASN1_DECODE_FLAG_STRICT_DER is used.
Nikos Mavrogiannopoulos's avatar
Nikos Mavrogiannopoulos committed
76 77
- Fixes in the decoding of OCTET STRING when close to the end
  of the structure.
Nikos Mavrogiannopoulos's avatar
Nikos Mavrogiannopoulos committed
78

Nikos Mavrogiannopoulos's avatar
Nikos Mavrogiannopoulos committed
79
* Noteworthy changes in release 4.1 (released 2014-08-23) [stable]
Nikos Mavrogiannopoulos's avatar
Nikos Mavrogiannopoulos committed
80
- Corrected indefinite tag check in ANY constructions. That allows
Nikos Mavrogiannopoulos's avatar
Nikos Mavrogiannopoulos committed
81
  the decoding of BER-encoded structures that contain indefinite
Nikos Mavrogiannopoulos's avatar
Nikos Mavrogiannopoulos committed
82
  encoding within an ANY element.
Nikos Mavrogiannopoulos's avatar
Nikos Mavrogiannopoulos committed
83 84 85
- Added DER decoding flag ASN1_DECODE_FLAG_STRICT_DER. Over the
  years BER functionality was added to the decoder and this flag
  provides the way to disable it.
Nikos Mavrogiannopoulos's avatar
Nikos Mavrogiannopoulos committed
86 87
- API and ABI changes since last version:
  ASN1_DECODE_FLAG_STRICT_DER: New definition
Nikos Mavrogiannopoulos's avatar
Nikos Mavrogiannopoulos committed
88

Nikos Mavrogiannopoulos's avatar
Nikos Mavrogiannopoulos committed
89
* Noteworthy changes in release 4.0 (released 2014-06-26) [stable]
Nikos Mavrogiannopoulos's avatar
Nikos Mavrogiannopoulos committed
90
- Optimized asn1_der_decoding_startEnd(). It no longer requires the
Nikos Mavrogiannopoulos's avatar
Nikos Mavrogiannopoulos committed
91
  additional decoding step.
Nikos Mavrogiannopoulos's avatar
Nikos Mavrogiannopoulos committed
92 93 94
- asn1_read_value() understands the ?CURRENT keyword, which can be used
  to indicate the current element of a sequence, when the provided node
  is a sequence element.
Nikos Mavrogiannopoulos's avatar
Nikos Mavrogiannopoulos committed
95 96
- Several optimizations in DER decoding of structures with sequences
  containing many elements.
Nikos Mavrogiannopoulos's avatar
Nikos Mavrogiannopoulos committed
97 98 99 100
- asn1_der_decoding2() is introduced and allows flags to be passed on
  the decoding process. Currently only ASN1_DECODE_FLAG_ALLOW_PADDING is
  defined and that allows decoding DER structures that contain arbitrary
  data past their end. Contributed by Karel Slany.
Nikos Mavrogiannopoulos's avatar
Nikos Mavrogiannopoulos committed
101
- API and ABI changes since last version:
Nikos Mavrogiannopoulos's avatar
Nikos Mavrogiannopoulos committed
102
  ASN1_DECODE_FLAG_ALLOW_PADDING: New definition
Nikos Mavrogiannopoulos's avatar
Nikos Mavrogiannopoulos committed
103
  asn1_dup_node: New function
Nikos Mavrogiannopoulos's avatar
Nikos Mavrogiannopoulos committed
104
  asn1_der_decoding2: New function
Nikos Mavrogiannopoulos's avatar
Nikos Mavrogiannopoulos committed
105
  asn1_der_decoding_element: It is now an alias to asn1_der_decoding
Nikos Mavrogiannopoulos's avatar
Nikos Mavrogiannopoulos committed
106

Nikos Mavrogiannopoulos's avatar
Nikos Mavrogiannopoulos committed
107
* Noteworthy changes in release 3.6 (released 2014-05-25) [stable]
Nikos Mavrogiannopoulos's avatar
Nikos Mavrogiannopoulos committed
108
- Corrected an off-by-one error in ASN.1 DER tag decoding.
Nikos Mavrogiannopoulos's avatar
Nikos Mavrogiannopoulos committed
109 110
- Several improvements and new safety checks on DER decoding;
  issues found using Codenomicon TLS test suite.
Nikos Mavrogiannopoulos's avatar
Nikos Mavrogiannopoulos committed
111 112 113
- Marked asn1_der_decoding_element() as deprecated. Use
  asn1_der_decoding() instead.

114
* Noteworthy changes in release 3.5 (released 2014-05-01) [stable]
Nikos Mavrogiannopoulos's avatar
Nikos Mavrogiannopoulos committed
115
- Correctly handle decoding of recursive CHOICE options.
Nikos Mavrogiannopoulos's avatar
Nikos Mavrogiannopoulos committed
116
- Allow deleting elements of SET OF. Patch by Jean-Louis Thekekara.
Nikos Mavrogiannopoulos's avatar
Nikos Mavrogiannopoulos committed
117
- Several small bug fixes found by coverity.
Nikos Mavrogiannopoulos's avatar
Nikos Mavrogiannopoulos committed
118
- Code improvements contributed by Kurt Roeckx.
Nikos Mavrogiannopoulos's avatar
Nikos Mavrogiannopoulos committed
119

Nikos Mavrogiannopoulos's avatar
Nikos Mavrogiannopoulos committed
120
* Noteworthy changes in release 3.4 (released 2013-11-25) [stable]
121 122
- Added asn1_delete_structure2() which allows zeroizing the contents
  of all values in the structure prior to deinitialization.
123 124
- The parser accepts negative numbers in an INTEGER range (but
  still does no enforce them).
Simon Josefsson's avatar
Simon Josefsson committed
125

Simon Josefsson's avatar
Simon Josefsson committed
126
* Noteworthy changes in release 3.3 (released 2013-03-23) [stable]
127
- More precise overflow checks using gnulib's intprops module.
Nikos Mavrogiannopoulos's avatar
Nikos Mavrogiannopoulos committed
128
- Updates to compile in Android systems.
129

Nikos Mavrogiannopoulos's avatar
Nikos Mavrogiannopoulos committed
130
* Noteworthy changes in release 3.2 (released 2012-11-30) [stable]
131
- Corrected buffer overflow in the error reporting of the parser (reported
132
  by Andreas Metzler).
133

Nikos Mavrogiannopoulos's avatar
Nikos Mavrogiannopoulos committed
134
* Noteworthy changes in release 3.1 (released 2012-11-24) [stable]
135 136
- Completed rename of types:
  ASN1_ARRAY_TYPE -> asn1_static_node (was asn1_static_node_t)
137 138
- Added new types: VisibleString, NumericString, IA5String, TeletexString,
  PrintableString, UniversalString, BMPString, UTF8String. When re-defined
Nikos Mavrogiannopoulos's avatar
Nikos Mavrogiannopoulos committed
139
  a warning is being print instead of failing.
Nikos Mavrogiannopoulos's avatar
Nikos Mavrogiannopoulos committed
140
- Parser outputs more detailed syntax error messages.
141
- Added asn1_decode_simple_der() and asn1_encode_simple_der().
142
- Added asn1_read_value_type() to return value and type.
143
- Introduced ASN1_ETYPE_UTC_TIME and ASN1_ETYPE_GENERALIZED_TIME
144

Nikos Mavrogiannopoulos's avatar
Nikos Mavrogiannopoulos committed
145
* Noteworthy changes in release 3.0 (2012-10-28) [stable]
Nikos Mavrogiannopoulos's avatar
Nikos Mavrogiannopoulos committed
146
- Added tool in tests/ to benchmark X.509 structure decoding.
147
- Added asn1_read_node_value() to obtain a node's value.
148
- Optimizations in internal tree allocation.
149
- Optimizations in tree search.
150
- libtasn1.h no longer exports internal structures.
151
- Types were renamed for consistency:
Nikos Mavrogiannopoulos's avatar
Nikos Mavrogiannopoulos committed
152
  ASN1_DATA_NODE -> asn1_data_node_st
153 154
  ASN1_ARRAY_TYPE -> asn1_static_node
  ASN1_TYPE -> asn1_node
155
  ASN1_TYPE_EMPTY -> NULL
Nikos Mavrogiannopoulos's avatar
Nikos Mavrogiannopoulos committed
156 157 158
  static_struct_asn -> asn1_static_node_st
  node_asn_struct -> asn1_node_st
  node_asn -> asn1_node_st
159
  (the old types are still available as definitions)
Simon Josefsson's avatar
Simon Josefsson committed
160

Simon Josefsson's avatar
Simon Josefsson committed
161
* Noteworthy changes in release 2.13 (2012-05-31) [stable]
162
- Updated fix for DER decoding issue to not depend on specific compilers.
163
- Updated DER decoding check to apply to short form integers as well.
164

Simon Josefsson's avatar
Simon Josefsson committed
165
* Noteworthy changes in release 2.12 (2012-03-19) [stable]
Simon Josefsson's avatar
Simon Josefsson committed
166
- Cleanup license headers.
Simon Josefsson's avatar
Simon Josefsson committed
167
- build: Update gnulib files.
Nikos Mavrogiannopoulos's avatar
Nikos Mavrogiannopoulos committed
168
- Corrected DER decoding issue (reported by Matthew Hall).
Simon Josefsson's avatar
Simon Josefsson committed
169
  Added self check to detect the problem, see tests/Test_overflow.c.
Simon Josefsson's avatar
Simon Josefsson committed
170 171
  This problem can lead to at least remotely triggered crashes, see
  further analysis on the libtasn1 mailing list.
Simon Josefsson's avatar
Simon Josefsson committed
172

Simon Josefsson's avatar
Simon Josefsson committed
173
* Noteworthy changes in release 2.11 (2011-11-25) [stable]
Simon Josefsson's avatar
Simon Josefsson committed
174 175
- qa: Now builds without compiler warnings with Solaris CC.
- qa: Added clang analysis.  Fixed cyclomatic complexity output.
176
- tests: Added self-test of bit string functions.
177
- build: Added windows/libtasn14win.mk rules to produce Windows binaries.
178
- build: Don't hard code path to perl in doc/gdoc.
Simon Josefsson's avatar
Simon Josefsson committed
179
- Various minor fixes.
Simon Josefsson's avatar
Simon Josefsson committed
180

Simon Josefsson's avatar
Simon Josefsson committed
181
* Noteworthy changes in release 2.10 (2011-10-25) [stable]
Simon Josefsson's avatar
Simon Josefsson committed
182
- lib: Small optimization, possibly working around gcc/valgrind issue.
Simon Josefsson's avatar
Simon Josefsson committed
183
- build: Update gnulib files.
184
- asn1Coding: actually implement the -c parameter.
185
- asn1Decoding: the -c parameter serves no purpose, remove it.
Simon Josefsson's avatar
Simon Josefsson committed
186
- doc: Add examples to asn1Coding and asn1Decoding description.
Simon Josefsson's avatar
Simon Josefsson committed
187

Simon Josefsson's avatar
Simon Josefsson committed
188
* Noteworthy changes in release 2.9 (2010-12-06) [stable]
189 190
- tests: Link to gnulib to avoid build error related to 'rpl_ftello' on Solaris.
  Reported by Dagobert Michelsen.
191
- doc: Fix bug reporting address to point at help-libtasn1@gnu.org.
Simon Josefsson's avatar
Simon Josefsson committed
192
- doc: Fix Returns: documentation in Texinfo.  Reported by Jeffrey Walton.
Simon Josefsson's avatar
Simon Josefsson committed
193
- build: Update gnulib files.
Simon Josefsson's avatar
Simon Josefsson committed
194

Simon Josefsson's avatar
Simon Josefsson committed
195
* Noteworthy changes in release 2.8 (2010-09-25) [stable]
Simon Josefsson's avatar
Simon Josefsson committed
196 197
- Update gnulib files.
- Use Libtool 2.2.10 to ease MinGW64 builds.
Simon Josefsson's avatar
Simon Josefsson committed
198

Simon Josefsson's avatar
Simon Josefsson committed
199
* Noteworthy changes in release 2.7 (2010-05-20) [stable]
200
- Doc: Build a PDF manual using GTK-DOC.
Simon Josefsson's avatar
Simon Josefsson committed
201 202
- Doc: Fix of asn1_check_version, documentation was missing from last release.
- Build: Avoid warnings about ignored visibility attributes on Windows.
Simon Josefsson's avatar
Simon Josefsson committed
203

Simon Josefsson's avatar
Simon Josefsson committed
204
* Noteworthy changes in release 2.6 (2010-04-20) [stable]
Simon Josefsson's avatar
Simon Josefsson committed
205
- Fix build failure on platforms without support for GNU LD version scripts.
Simon Josefsson's avatar
Simon Josefsson committed
206
- libtasn1: Simplified implementation of asn1_check_version.
Simon Josefsson's avatar
Simon Josefsson committed
207
- tests: Improved self-checks.
Simon Josefsson's avatar
Simon Josefsson committed
208 209
- Update gnulib files, fix many syntax-check nits, indent code,
  fix license templates.
Simon Josefsson's avatar
Simon Josefsson committed
210

Simon Josefsson's avatar
Simon Josefsson committed
211
* Noteworthy changes in release 2.5 (2010-03-15) [stable]
Simon Josefsson's avatar
Simon Josefsson committed
212 213
- doc: Improve GTK-DOC comments.
- misc: Updated gnulib files.
Simon Josefsson's avatar
Simon Josefsson committed
214

Simon Josefsson's avatar
Simon Josefsson committed
215
* Noteworthy changes in release 2.4 (2010-01-18) [stable]
Simon Josefsson's avatar
Simon Josefsson committed
216
- Doc fixes.
Simon Josefsson's avatar
Simon Josefsson committed
217
- Updated gnulib files.
Simon Josefsson's avatar
Simon Josefsson committed
218
- Clean up copyright notices.
Simon Josefsson's avatar
Simon Josefsson committed
219

Simon Josefsson's avatar
Simon Josefsson committed
220
* Noteworthy changes in release 2.3 (2009-07-29) [stable]
Simon Josefsson's avatar
Simon Josefsson committed
221
- Libtasn1 is now an official GNU project.
Simon Josefsson's avatar
Simon Josefsson committed
222
- Solve build problem on Tru64 related to TRUE/FALSE.
223
- More careful decoding of OIDs.
Simon Josefsson's avatar
Simon Josefsson committed
224
- Fixed warning in ASN1.y.
Simon Josefsson's avatar
Simon Josefsson committed
225
- Use "Software libraries" info dircategory.
226
- Drop GPL/LGPL copies from the manual (not needed there).
Simon Josefsson's avatar
Simon Josefsson committed
227 228 229 230 231
- New configure parameters to set packaging specific information.
  The parameters are --with-packager, --with-packager-version, and
  --with-packager-bug-reports.  See
  <http://article.gmane.org/gmane.comp.lib.gnulib.bugs/17791> for more
  details.
Simon Josefsson's avatar
Simon Josefsson committed
232

233
* Noteworthy changes in release 2.2 (2009-05-20) [stable]
Simon Josefsson's avatar
Simon Josefsson committed
234
- Change how the ASN1_API decorator is used in libtasn1.h, for GTK-DOC.
235 236
- Changed license of libtasn1.pc from GPLv3+ to LGPLv2.1+.
  Reported by Jeff Cai <Jeff.Cai@Sun.COM>.
237
- Building with many warning flags now requires --enable-gcc-warnings.
Simon Josefsson's avatar
Simon Josefsson committed
238
- Some warnings fixed.
Simon Josefsson's avatar
Simon Josefsson committed
239

240
* Noteworthy changes in release 2.1 (2009-04-17) [stable]
Simon Josefsson's avatar
Simon Josefsson committed
241 242 243
- Fix compilation failure on platforms that can't generate empty archives,
  e.g., Mac OS X.  Reported by David Reiser <dbreiser@gmail.com>.

244
* Noteworthy changes in release 2.0 (2009-04-13) [stable]
245
- Optimized tree generation.
Simon Josefsson's avatar
Simon Josefsson committed
246
- ASN1 parser code re-generated using Bison 2.4.1.
Simon Josefsson's avatar
Simon Josefsson committed
247
- Build with more warning flags.  Many compiler warnings fixed.
248 249
- Compiled with -fvisibility=hidden by default if supported.
  See http://gcc.gnu.org/wiki/Visibility
Simon Josefsson's avatar
Simon Josefsson committed
250
- The libtasn1-config tool has been removed.
Simon Josefsson's avatar
Simon Josefsson committed
251 252 253 254 255
  For application developers, please stop using libtasn1-config for
  finding libtasn1, use proper autoconf checks or pkg-config instead.
  For users that need a libtasn1 that provides a libtasn1-config
  script (for use with older applications), use libtasn1 v1.x instead.
  Version 1.x is still supported.
256

257
* Noteworthy changes in release 1.8 (2009-01-16) [stable]
Simon Josefsson's avatar
Simon Josefsson committed
258 259 260 261 262
- Fix crlf self-test under Mingw+Wine.
- Fix build problems on platforms that lack stdint.h.
  Reported by Dagobert Michelsen <dam@opencsw.org> in
  <http://thread.gmane.org/gmane.comp.encryption.gpg.gnutls.devel/3377>.

263
* Noteworthy changes in release 1.7 (2008-11-17) [stable]
Simon Josefsson's avatar
Simon Josefsson committed
264 265 266 267 268 269
- Add libtasn1-config for compatibility.
  Please stop use it as it will disappear in v2.0!
  Use standard AC_CHECK_FUNCS autoconf tests or pkg-config instead.
- Read PKCS#12 blob as binary file, fixes self-tests under Mingw.
- Fix use of __attribute__ ((deprecated)) to work on non-GCC (#106548).

270
* Noteworthy changes in release 1.6 (2008-11-10) [stable]
271 272
- Fixed namespace violation for MAX_NAME_SIZE and MAX_ERROR_DESCRIPTION_SIZE.
  The new names are ASN1_MAX_NAME_SIZE and ASN1_MAX_ERROR_DESCRIPTION_SIZE.
273 274
- Fixed namespace violation for libtasn1_perror and libtasn1_strerror.
  The new names are asn1_perror and asn1_strerror.
275 276
- Fix namespace violation for LIBASN1_VERSION.
  The new name is ASN1_VERSION.
277
- Decoder can now decode BER encoded octet strings.
278
- doc: Change license on the manual to GFDLv1.3+.
Simon Josefsson's avatar
Simon Josefsson committed
279
- doc: Sync gdoc script with GnuTLS, changes license on man-pages to GAP.
Simon Josefsson's avatar
Simon Josefsson committed
280
- doc: Improve gtk-doc manual.
281
- Assumes system has strdup and string.h.
282 283
- Remove libtasn1-config and libtasn1.m4,
  use standard AC_CHECK_FUNCS autoconf tests or pkg-config instead.
284 285 286
- Change detection of when to use a linker version script,
  use --enable-ld-version-script or --disable-ld-version-script to
  override auto-detection logic.
287
- API and ABI changes since last version:
288
  asn1_get_length_ber: New function.
289
  ASN1_VERSION: New symbol, replaces LIBTASN1_VERSION.
290 291 292 293
  asn1_strerror: New function, replaces libtasn1_strerror.
  asn1_perror: New function, replaces libtasn1_perror.
  libtasn1_strerror: Marked as deprecated.
  libtasn1_perror: Marked as deprecated.
294
  LIBTASN1_VERSION: Deprecated.
Simon Josefsson's avatar
Simon Josefsson committed
295

296
* Noteworthy changes in release 1.5 (2008-07-29) [stable]
Simon Josefsson's avatar
Simon Josefsson committed
297
- Update gnulib files.
Simon Josefsson's avatar
Simon Josefsson committed
298
- Fix memory leaks, from Christian Grothoff <christian@grothoff.org>.
Simon Josefsson's avatar
Simon Josefsson committed
299

300
* Noteworthy changes in release 1.4 (2008-04-21) [stable]
Simon Josefsson's avatar
Simon Josefsson committed
301
- Update gnulib files.
302
- Replace uses of alloca with malloc.
Simon Josefsson's avatar
Simon Josefsson committed
303

304
* Noteworthy changes in release 1.3 (2008-02-01) [stable]
Simon Josefsson's avatar
Simon Josefsson committed
305 306
- Handle 'INTEGER { ... } (a..b)' regression.
  Revert parts of earlier fix.  asn1Parser can now again parse src/pkix.asn1.
Simon Josefsson's avatar
Simon Josefsson committed
307
  The ASN1.c file was generated using Bison 2.3.
Simon Josefsson's avatar
Simon Josefsson committed
308 309
- Move examples from src/ to new directory examples/.
- Duplicate copy of divergated pkix.asn removed.
Simon Josefsson's avatar
Simon Josefsson committed
310 311 312
- Merge unnecessary lib/defines.h into lib/int.h.
- Configure no longer tries to use gcc -pipe.
- Update gnulib files.
Simon Josefsson's avatar
Simon Josefsson committed
313
- Fix mem leak in self-test.
Simon Josefsson's avatar
Simon Josefsson committed
314

315
* Noteworthy changes in release 1.2 (2007-12-10) [stable]
Simon Josefsson's avatar
Simon Josefsson committed
316 317
- Update gnulib files.

318
* Noteworthy changes in release 1.1 (2007-08-31) [stable]
Simon Josefsson's avatar
Simon Josefsson committed
319 320
- Fix bug that made asn1_check_version believe that 1.0 is older than 0.3.10.

321
* Noteworthy changes in release 1.0 (2007-08-31) [stable]
Simon Josefsson's avatar
Simon Josefsson committed
322 323 324 325
- The self-tests, command line tools and build infrastructure have
  been re-licensed from GPLv2 to GPLv3.
- Doc fixes.
- Update gnulib files.
Simon Josefsson's avatar
Simon Josefsson committed
326

327
* Noteworthy changes in release 0.3.10 (2007-05-25)
Simon Josefsson's avatar
Simon Josefsson committed
328
- Update gnulib files.
Simon Josefsson's avatar
Simon Josefsson committed
329

330
* Noteworthy changes in release 0.3.9 (2007-03-02)
Simon Josefsson's avatar
Simon Josefsson committed
331
- In generated code, config.h is pulled in if HAVE_CONFIG_H.
Simon Josefsson's avatar
Simon Josefsson committed
332 333
- Development changes: changed from CVS to GIT as an experiment.
  I push my changes to <http://repo.or.cz/w/libtasn1.git>.
Simon Josefsson's avatar
Simon Josefsson committed
334
- Autoconf 2.61 and automake 1.10 is required.
Simon Josefsson's avatar
Simon Josefsson committed
335

336
* Noteworthy changes in release 0.3.8 (2006-11-16)
Simon Josefsson's avatar
Simon Josefsson committed
337
- Fix reading of binary files in asn1Decoding, for Windows.
338

339
* Noteworthy changes in release 0.3.7 (2006-10-19)
Simon Josefsson's avatar
Simon Josefsson committed
340 341 342 343
- When asn1_der_coding encoded a TYPE_NULL and the output buffer is
  NULL, it would not increment the counter properly, so the size of
  the required buffer would be off by one.  Fixed.  Reported by
  Stephen Wrobleski <steve@localtoast.org>.
Simon Josefsson's avatar
Simon Josefsson committed
344 345
- Fix configure to respect user-definable flags.  Reported by "Diego
  'Flameeyes' Pettenò" <flameeyes@gentoo.org>.
Simon Josefsson's avatar
Simon Josefsson committed
346
- The --help and --version outputs from the tools have been improved.
Simon Josefsson's avatar
Simon Josefsson committed
347

348
* Noteworthy changes in release 0.3.6 (2006-08-13)
Simon Josefsson's avatar
Simon Josefsson committed
349 350 351
- Fix man pages to use \- instead of - for negative signs (as in "-1").
- Add -I's when building in src/, so that unistd.h etc is found on
  systems that doesn't have them.
Simon Josefsson's avatar
Simon Josefsson committed
352 353 354 355
- Valgrind isn't used for cross-compilation by default, and there is
  also --disable-valgrind-tests to unconditionally disable it.
- Valgrind is invoked without parameters, put things you like into
  ~/.valgrindrc instead.
Simon Josefsson's avatar
Simon Josefsson committed
356

357
* Noteworthy changes in release 0.3.5 (2006-06-27)
Simon Josefsson's avatar
Simon Josefsson committed
358 359 360
- Fix asn1_octet_der to handle writes of zero-length buffers, before
  it did not write the ASN.1 length for a zero-length buffer.  This caused
  ASN.1 encodings to be incorrect on 64-bit platforms.
Simon Josefsson's avatar
Simon Josefsson committed
361
- Add self test that attempt to trigger the above bug.
Simon Josefsson's avatar
Simon Josefsson committed
362
- Fix test of -Wno-pointer-sign.
Simon Josefsson's avatar
Simon Josefsson committed
363
- Improve cross-compilation to MinGW by using AC_LIBTOOL_WIN32_DLL.
Simon Josefsson's avatar
Simon Josefsson committed
364

365
* Noteworthy changes in release 0.3.4 (2006-05-10)
Simon Josefsson's avatar
Simon Josefsson committed
366
- Really fix encodings.
Simon Josefsson's avatar
Simon Josefsson committed
367
- Add new self test, tests/Test_encoding.c.
Simon Josefsson's avatar
Simon Josefsson committed
368 369
- Self tests are ran under valgrind, if it is available.
- We test for the -Wno-pointer-sign parameter before using it.
Simon Josefsson's avatar
Simon Josefsson committed
370

371
* Noteworthy changes in release 0.3.3 (2006-05-07)
Simon Josefsson's avatar
Simon Josefsson committed
372 373
- Add some 'const' to prototypes.
- Remove some 'unsigned' keywords.
374 375
- Corrected asn1_der_coding() bug introduced when it became reentrant.
  Now it produces correct encodings.
Simon Josefsson's avatar
Simon Josefsson committed
376

377
* Noteworthy changes in release 0.3.2
378 379
- Corrected bug in asn1_der_coding() which overwrited some
  data in the original structure.
Simon Josefsson's avatar
Simon Josefsson committed
380
- The asn1Parser, asn1Coding and asn1Decoding programs are now installed.
381

382
* Noteworthy changes in release 0.3.1
Simon Josefsson's avatar
Simon Josefsson committed
383 384
- Support constant size bit strings, as in 'BIT STRING (SIZE(42))'.
  Reported by Cyril Holweck <cyril.holweck@q-free.com>.
Simon Josefsson's avatar
Simon Josefsson committed
385
- Add two more APIs required by GnuTLS.
Simon Josefsson's avatar
Simon Josefsson committed
386
- New public APIs:
Simon Josefsson's avatar
Simon Josefsson committed
387
  asn1_find_node function
Simon Josefsson's avatar
Simon Josefsson committed
388
  asn1_copy_node
Simon Josefsson's avatar
Simon Josefsson committed
389

390
* Noteworthy changes in release 0.3.0
Simon Josefsson's avatar
Simon Josefsson committed
391 392
- Export DER utility functions, mostly so that GnuTLS can avoid using
  libtasn1 internals.
Simon Josefsson's avatar
Simon Josefsson committed
393 394
- The _asn1* symbols are not exported in the shared library file (when
  using GNU ld).
Simon Josefsson's avatar
Simon Josefsson committed
395
- The library can now be built using Visual Studio, and the project
Simon Josefsson's avatar
Simon Josefsson committed
396
  files are included in windows/.
Simon Josefsson's avatar
Simon Josefsson committed
397 398 399 400 401 402 403 404
- New public APIs:
  asn1_get_tag_der
  asn1_octet_der
  asn1_get_octet_der
  asn1_bit_der
  asn1_get_bit_der
  asn1_get_length_der
  asn1_length_der
Simon Josefsson's avatar
Simon Josefsson committed
405

406
* Noteworthy changes in release 0.2.18
Simon Josefsson's avatar
Simon Josefsson committed
407
- Fix out-of-bounds access in DER decoding, reported by Evgeny Legerov.
Simon Josefsson's avatar
Simon Josefsson committed
408 409 410
- Add 'const' keyword to some prototypes, thanks to Frediano ZIGLIO.
- Fixed typo in src/Makefile.am to make it build with objdir != srcdir,
  thanks to Bernard Leak.
Simon Josefsson's avatar
Simon Josefsson committed
411
- Update of gnulib files.
Simon Josefsson's avatar
Simon Josefsson committed
412 413
- Typo fixes in comments, e.g. finish libasn1 to libtasn1 renaming,
  use LGPL boiler plate on some files in lib/.
Simon Josefsson's avatar
Simon Josefsson committed
414

415
* Noteworthy changes in release 0.2.17
Simon Josefsson's avatar
Simon Josefsson committed
416 417
- Fixed typo to make it build.

418 419
* Noteworthy changes in release 0.2.16
- * Noteworthy changes in release script added again.
Simon Josefsson's avatar
Simon Josefsson committed
420

421
* Noteworthy changes in release 0.2.15
Simon Josefsson's avatar
Simon Josefsson committed
422
- Gnulib is used to implement memmove if your system does not have it.
Simon Josefsson's avatar
Simon Josefsson committed
423
- Simplified assert/error handling slightly.
Simon Josefsson's avatar
Simon Josefsson committed
424

425
* Noteworthy changes in release 0.2.14
Simon Josefsson's avatar
Simon Josefsson committed
426
- Some build fixes.
Simon Josefsson's avatar
Simon Josefsson committed
427 428 429
- Pkg-config script 'libtasn1.pc' added.
- Postal address to FSF in license updated.

430 431
* Noteworthy changes in release 0.2.13
- * Noteworthy changes in release number in libtasn1.h updated properly.
Simon Josefsson's avatar
Simon Josefsson committed
432

433
* Noteworthy changes in release 0.2.12
Simon Josefsson's avatar
Simon Josefsson committed
434
- Manual converted to Texinfo format.
Simon Josefsson's avatar
Simon Josefsson committed
435
- Manual in GTK-DOC and DevHelp formats added.
Simon Josefsson's avatar
Simon Josefsson committed
436
- Man pages for all functions added.
Simon Josefsson's avatar
Simon Josefsson committed
437 438
- Various internal cleanups.

439
* Noteworthy changes in release 0.2.11
Fabio Fiorina's avatar
Fabio Fiorina committed
440 441
- Added the self test with "make check" target
- Added management of ANY type with null length
442
- Corrected some writes to invalid data.
443

444
* Noteworthy changes in release 0.2.10
445 446
- Added scripts to assist in libtasn1 version detection
  from configure scripts.
447 448
- Corrected a DER decoding bug which was reported
  by Max Vozeler <max@hinterhof.net>.
449

450
* Noteworthy changes in release 0.2.9
451 452
- Accept negative numbers as range in INTEGER declarations

453
* Noteworthy changes in release 0.2.8
454 455
- Add asn1_delete_element function

456
* Noteworthy changes in release 0.2.7
457 458
- Added versioned symbols.

459
* Noteworthy changes in release 0.2.6
460 461 462 463
- ASN.1 parser accepts these kinds of integer definitions:
  "INTEGER (5 | 10)" and
  "INTEGER (5)"
- Comments start at "--" and finish at the "end of line" or
464
  with another "--".
465

466
* Noteworthy changes in release 0.2.5
Fabio Fiorina's avatar
Fabio Fiorina committed
467 468 469
- Bug fix in ordering procedure for SET OF and SEQUENCE OF
  types coding.
- Manage structured format (BER encoding) in
470
  asn1_der_decoding, asn1_decoding_element and
Fabio Fiorina's avatar
Fabio Fiorina committed
471
  asn1_der_decoding_startEnd for OCTET STRING type.
472
- Manage SEQUENCE and SET empty structure.
Fabio Fiorina's avatar
Fabio Fiorina committed
473
- Manage "indefinite length method" in asn1_der_decoding,
474
  asn1_decoding_element and asn1_der_decoding_startEnd
Fabio Fiorina's avatar
Fabio Fiorina committed
475 476 477 478 479
  for the following types:
  SEQUENCE, SEQUENCE OF, SET, and SET OF.
- Bug fix in asn1_read_value with NULL parameter in case
  of BIT STRING

480
* Noteworthy changes in release 0.2.4
Fabio Fiorina's avatar
Fabio Fiorina committed
481 482 483
- Bug fix in asn1_der_coding with NULL parameter
- Manage DEFAULT option with OBJECT IDENTIFIER

484
* Noteworthy changes in release 0.2.3
485
- Chenge asn1_find_structure_from_oid prototype
Fabio Fiorina's avatar
Fabio Fiorina committed
486
- Chenge asn1_find_structure_from_oid prototype
487 488
- Add ASN1_MEM_ALLOC_ERROR return value

489
* Noteworthy changes in release 0.2.2
Fabio Fiorina's avatar
Fabio Fiorina committed
490
- Add vector length check in asn1_der_coding function
491
- Add vector length check in asn1_der_coding function
Fabio Fiorina's avatar
Fabio Fiorina committed
492 493 494
- Add vector length check in asn1_read_value function
- Add asn1_check_version function

495
* Noteworthy changes in release 0.2.1
496 497 498
- Add asn1_find_structure_from_oid function
- Add asn1_read_tag function

499
* Noteworthy changes in release 0.2.0
500 501
- Support for other platforms
- Change asn1_create_element function interface (dest_name not needed any more)
502
- Change OBJECT IDENTIFIER syntax: numbers must be separated by dot in
Fabio Fiorina's avatar
Fabio Fiorina committed
503
  asn1_write_element and asn1_read_element functions (e.g. "1.2.3.4")
504

505
* Noteworthy changes in release 0.1.2
506 507 508
- Added GeneralString type
- Fixed a DER encoding bug when nested tags are used

509
* Noteworthy changes in release 0.1.1
510 511 512
- Renamed to libtasn1
- Functions which return a string for error description
  now accept a NULL argument.
513
- License is now GNU Lesser GPL
514

515
* Noteworthy changes in release 0.1.0
516
- Initial release
517 518

----------------------------------------------------------------------
519
Copyright (C) 2002-2014 Free Software Foundation, Inc.
520 521 522
Copying and distribution of this file, with or without modification,
are permitted in any medium without royalty provided the copyright
notice and this notice are preserved.