* basic.c (check_digests): Add CRC.
[libgcrypt.git] / src / ChangeLog
1 2003-01-20  Simon Josefsson  <jas@extundo.com>
2
3         * gcrypt.h (gcry_md_algos): Add GCRY_MD_CRC32,
4         GCRY_MD_CRC32_RFC1510, GCRY_MD_CRC24_RFC2440.
5
6 2003-01-16  Werner Koch  <wk@gnupg.org>
7
8         * gcrypt.h (gcry_md_write): Changed type of 2nd argument to void*.
9         (gcry_md_hash_buffer): Changed type of both buffers to void*.
10         (gcry_md_setkey): Changed type of 2nd argument to void*.
11         (gcry_md_get_asnoid): New.
12
13 2003-01-15  Werner Koch  <wk@gnupg.org>
14
15         * sexp.c (gcry_sexp_length): Fixed.  This was seriously broken.
16
17 2003-01-14  Werner Koch  <wk@gnupg.org>
18
19         * gcrypt.h (GCRYERR_INV_FLAG), global.c (gcry_strerror): New.
20
21 2003-01-02  Werner Koch  <wk@gnupg.org>
22
23         * libgcrypt.vers: Temporary export _gcry_generate_elg_prime for
24         use by GNUTLS. 
25
26 2002-12-21  Werner Koch  <wk@gnupg.org>
27
28         * gcrypt.h: Make use of gcc's pure and malloc attributes 
29         (gcry_md_putc): Use a helper variable to avoid multiple
30         evaluation of H. 
31         * g10lib.h, stdmem.h, secmem.h: Use gcc attributes pure and malloc.
32
33         * stdmem.c (use_m_guard): Don't default to yes.
34
35 2002-12-19  Werner Koch  <wk@gnupg.org>
36
37         * global.c (global_init): The meat was never run due to a faulty
38         check. Thanks to Nikos for pointing this out.
39         
40         * global.c (gcry_control): Return 1 and not -1 for the
41         initialization tests.
42
43         * libgcrypt.vers: New.
44         * Makefile.am: Use this instead of the build symbol file.
45
46         * global.c (gcry_control) <initialization>: Call the random module
47         initializer to make sure that the pool lock flag has been
48         initialized.
49
50 2002-12-09  Werner Koch  <wk@gnupg.org>
51
52         * global.c (gcry_calloc,gcry_calloc_secure): Check for overflow.
53         Noted by Florian Weimer. 
54
55 2002-11-10  Simon Josefsson  <jas@extundo.com>
56
57         * gcrypt.h (gcry_ctl_cmds): New GCRYCTL_SET_CBC_CTS control flag.
58         (gcry_cipher_flags): New GCRY_CIPHER_CBC_CTS gcry_cipher_open() flag.
59         (gcry_cipher_cts): New macro for toggling CTS.
60
61 2002-11-10  Werner Koch  <wk@gnupg.org>
62
63         * gcrypt.h (GCRY_MD_MD4): New.  We use a non OpenPGP value here. 
64
65 2002-09-20  Werner Koch  <wk@gnupg.org>
66
67         * ath.c: Include sys.time.h if sys/select.h does not exist.
68         (ath_select, ath_waitpid): Shortcut for Windows.
69         * ath.h: Include some Windows headers.  By Timo.
70
71 2002-09-18  Werner Koch  <wk@gnupg.org>
72
73         * ath.h: Prefix ath_deinit.
74
75 2002-09-17  Werner Koch  <wk@gnupg.org>
76
77         * benchmark.c: New.
78         (mpi_bench, do_powm): Add a a simple test for RSA.
79
80         * global.c (global_init): New.  Use it instead of the setting
81         any_init_done.  Initialize the ATH system.
82         (gcry_check_version): Hook global_init in.  This is the suggested
83         way to initialize the library.
84         (_gcry_no_internal_locking): Removed.  We simply call a ath_deinit
85         and leave it to ATH to disbale the locking.
86
87         * ath.c, ath.h, ath-pth.c, ath-pthread.c: New. Taken from GPGME.
88         * mutex.h: Removed.
89         * Makefile.am (ath_components): New.
90
91 2002-09-16  Werner Koch  <wk@gnupg.org>
92
93         * secmem.c (_gcry_secmem_dump_stats): Replaced fprintf by log_*.
94
95 2002-08-23  Werner Koch  <wk@gnupg.org>
96
97         * missing-string.c: Removed unneeded strlwr.
98
99         * libgcrypt.m4: Made much more simple.
100         * libgcrypt-config.in: Made --prefix work for --libs.
101
102 2002-08-14  Werner Koch  <wk@gnupg.org>
103
104         * gcrypt.h: Add GCRY_CIPGER_DES.  Included string.h for size_t.
105         Suggested by Simon Josefsson.
106
107 2002-07-25  Werner Koch  <wk@gnupg.org>
108
109         * cipher.h: Added prototypes for progress functions.
110         * global.c: Include cipher.h for those prototypes.
111
112         * stdmem.c (_gcry_private_realloc): Replaced void* by char * for
113         pointer arithmetic reasons.  Noted by Stephan Austermuehle.
114
115 2002-06-24  Werner Koch  <wk@gnupg.org>
116
117         * missing-string.c: Include ctype.h.
118
119         * gcrypt.h (gcry_mpi_invm, gcry_mpi_div, gcry_mpi_mod)
120         (gcry_mpi_swap): New.
121
122 2002-06-18  Werner Koch  <wk@gnupg.org>
123
124         * gcrypt.h: Added a bunch of brief function descriptions.
125
126 2002-05-21  Werner Koch  <wk@gnupg.org>
127
128         * misc.c (_gcry_log_printf): Don't initialize a va_list.  Noted by
129         Jeff Johnson.
130
131         * global.c (gcry_set_progress_handler): New.
132
133         * gcrypt.h: Replaced the typedef for byte.
134
135 2002-05-16  Werner Koch  <wk@gnupg.org>
136
137         * missing-string.c: New.
138
139         * gcrypt.h: Add new error codes GCRYERR_SEXP_ and typedefs
140         GcryMPI, GcrySexp, GcryCipherHd, GcryMDHd as aliases for the old
141         ones using an underscore.
142
143         * global.c (gcry_strerror): Add strings fro the new error codes.
144         * sexp.c (gcry_sexp_canon_len): Use a macro to convert from new to
145         old error codes.
146         (gcry_sexp_create,gcry_sexp_new): New.
147
148 2002-05-15  Werner Koch  <wk@gnupg.org>
149
150         * mutex.h (DEFINE_LOCAL_MUTEX): Macro to define a mutex and
151         initialize it so that we can detect an unitialized mutex and don't
152         read from stdin.
153
154 2002-05-14  Werner Koch  <wk@gnupg.org>
155
156         Changed license of all files to the LGPL.
157
158 2002-05-07  Werner Koch  <wk@gnupg.org>
159
160         * global.c (gcry_control): Add commands
161         GCRYCTL_ANY_INITIALIZATION_P and GCRYCTL_INITIALIZATION_FINISHED_P
162         so that other libraries are able to check for required
163         initializations.
164
165 2002-05-02  Werner Koch  <wk@gnupg.org>
166
167         * gcrypt.h (GCRYCTL_DISABLE_INTERNAL_LOCKING): New.
168         * global.c (gcry_control): Implement it.
169         (_gcry_no_internal_locking): New.
170         * mutex.h: Prefixed all fucntions with _gcry_.  Bypass all
171         functions when desired.
172
173         * gcrypt.h (GCRYCTL_DISABLE_SECMEM): New.
174         * global.c (gcry_control,gcry_malloc_secure,gcry_is_secure):
175         Implement it here.
176         * secmem.c (_gcry_private_is_secure): Return false if the pool is
177         not initialized.
178
179         * gcrypt.h (GCRYCTL_INITIALIZATION_FINISHED): New.
180
181         * gcrypt.h (gcry_cipher_algos): Replaced RINDAEL by AES and change
182         the macros to expand from rijdael to aes.
183
184         * stdmem.c (_gcry_private_malloc): Return NULL for 0 byte allocation.
185         (_gcry_private_malloc_secure): Ditto.
186
187         * g10lib.h:  Copied the JNLIB_GCC macros from ../jnlib/mischelp.h
188         and removed the inclusion of that file.
189
190 2002-04-15  Werner Koch  <wk@gnupg.org>
191
192         * global.c (gcry_strdup): New.
193
194 2002-03-18  Werner Koch  <wk@gnupg.org>
195
196         * mutex.h: New file with a portable thread mutex implementation
197         written by Marcus Brinkmann.  Taken from GPGME.
198
199 2002-02-18  Werner Koch  <wk@gnupg.org>
200
201         * sexp.c (gcry_sexp_sscan): Don't initialize the dummy
202         variable.  Suggested by Jordi Mallach.
203
204 2002-01-31  Werner Koch  <wk@gnupg.org>
205
206         * sexp.c (suitable_encoding,convert_to_hex,convert_to_string)
207         (convert_to_token): New.
208         (gcry_sexp_sprint): Better formatting of advanced encoding, does
209         now insert LFs and escapes all unprintable characters.
210         (unquote_string): New.
211         (sexp_sscan): Implemented the missing conversion of quoted strings.
212
213 2002-01-26  Werner Koch  <wk@gnupg.org>
214
215         * libgcrypt-config.in: Add copyright notice.
216
217 2002-01-11  Werner Koch  <wk@gnupg.org>
218
219         * sexp.c (gcry_sexp_canon_len): Fixed last change.
220
221 2002-01-01  Timo Schulz <ts@winpt.org>
222
223         * stdmem.c (_gcry_private_realloc): If pointer is NULL now realloc
224         behaves like malloc.
225
226 2001-12-20  Werner Koch  <wk@gnupg.org>
227
228         * sexp.c (gcry_sexp_canon_len): Describe the error codes and
229         return an error if this is not a S-Exp; i.e. it does not start
230         with an open parenthesis.
231
232 2001-12-18  Werner Koch  <wk@gnupg.org>
233
234         * sexp.c (gcry_sexp_canon_len): Fixed the test on NULL buffer.
235
236         * Makefile.am (DISTCLEANFILES): Include libgcrypt.sym
237
238         * sexp.c: Removed the commented test code because we now have a
239         test in ../tests/
240
241 2001-12-17  Werner Koch  <wk@gnupg.org>
242
243         * sexp.c (gcry_sexp_canon_len): New.
244
245 2001-12-11  Werner Koch  <wk@gnupg.org>
246
247         * gcrypt.h: Fixed AES128 macro, add enum for OFB mode.
248
249 2001-12-05  Werner Koch  <wk@gnupg.org>
250
251         * misc.c (_gcry_log_printf): New.
252         * sexp.c (dump_string,gcry_sexp_dump): Use logging functions
253         instead of stderr.
254
255 2001-11-16  Werner Koch  <wk@gnupg.org>
256
257         * gcrypt.h: New constant GCRYCTL_IS_ALGO_ENABLED.
258
259 2001-10-02  Werner Koch  <wk@gnupg.org>
260
261         * gcrypt.h: Removed a couple of trailing commas.
262
263 2001-08-28  Werner Koch  <wk@gnupg.org>
264
265         * sexp.c (sexp_sscan): Add an argument to enable the
266         arg_ptr. Changed all callers.  Suggested by Tom Holroyd.
267
268 2001-08-03  Werner Koch  <wk@gnupg.org>
269
270         * global.c (gcry_strerror): Updated list of error codes.
271
272 2001-07-23  Werner Koch  <wk@gnupg.org>
273
274         * gcrypt.h: Replaced the last ulong.  Noted by Rami Lehti.
275
276 2001-05-31  Werner Koch  <wk@gnupg.org>
277
278         * gcrypt.h, mpi.h: Made some mpi functions public.
279
280         * wrapper.c: Removed.
281         * global.c: Renamed all g10_ prefixed functions which had wrappers 
282         to gcry_xxx. So we now use the exported memory functions inernally.
283
284         Renamed all g10_ prefixed functions to _gcry_ prefixed ones.
285         
286         * g10lib.h (_GCRYPT_IN_LIBGCRYPT): Replace defintion by a test on it.
287
288 2001-05-28  Werner Koch  <wk@gnupg.org>
289
290         * libgcrypt.m4: Check GCRYPT_VERSION macro and not LIBGCRYPT_VERSION.
291
292         * mpi.h: Removed mpi_fromstr prototype.
293
294 2001-01-11  Werner Koch  <wk@gnupg.org>
295
296         * Makefile.am (libgcrypt_la_SOURCES): Add mpi.h
297
298 2000-12-19  Werner Koch  <wk@gnupg.org>
299
300         * types.h: Moved from ../include to here.
301
302         Major change:
303         Removed all GnuPG stuff and renamed this piece of software
304         to gcrypt. 
305
306 2000-11-14  Werner Koch  <wk@gnupg.org>
307
308         * mpi.h: Moved to ../mpi.
309
310         * Makefile.am (OMIT_DEPENDENCIES): Hack to work around dependency
311         problems.
312
313 2000-10-11  Werner Koch  <wk@gnupg.org>
314
315         * mpi.h: Changed the way mpi_limb_t is defined.
316
317 2000-10-10  Werner Koch  <wk@gnupg.org>
318
319         * Makefile.am: Take version-info from configure.
320
321 2000-10-09  Werner Koch  <wk@gnupg.org>
322
323         * gcrypt.h: New cipher mode, new algo Arcfour and new error code
324         GCRYERR_INV_CIPHER_MODE.
325         * global.c (gcry_strerror): New errorcode.
326
327 Wed Oct  4 13:16:18 CEST 2000  Werner Koch  <wk@openit.de>
328
329         * gcrypt.h (gcry_md_setkey): Replaced macro by function prototype.
330
331 Mon Sep 18 16:35:45 CEST 2000  Werner Koch  <wk@openit.de>
332
333         * gcrypt.h (GCRYCTL_GET_ALGO_USAGE): New.
334
335         * secmem.c (secmem_realloc): check for failed secmem_malloc.  By
336         Matt Kraai.
337
338 Mon Jul 31 10:04:47 CEST 2000  Werner Koch  <wk@openit.de>
339
340   * sexp.c: Removed the datalen fields from list tags.
341   (gcry_sexp_car_data,gcry_sexp_cdr_data,gcry_sexp_car_mpi,
342    gcry_sexp_cdr_mpi): Removed.
343   (gcry_sexp_nth,gcry_sexp_nth_data,gcry_sexp_nth_mpi): New.
344
345 Fri Jul 28 18:19:11 CEST 2000  Werner Koch  <wk@openit.de>
346
347   * sexp.c (sexp_sscan): Fixed reallocation to secure memory.
348   (new_empty_list): Removed
349   (gcry_sexp_length): New.
350   (gcry_sexp_enum): Removed.
351   (normalize): New. Reworked the whole thing to use NULL for an empty list.
352   (make_space): New instead of the macro.
353
354 Tue Jul 25 17:44:15 CEST 2000  Werner Koch  <wk@openit.de>
355
356   * sexp.c: Major rewrite.
357   (gcry_sexp_sscan): Reordered arguments.  Moved functionality to ..
358   (sexp_sscan): .. this.
359   (gcry_sexp_build): New.
360   (gcry_sexp_new_name_mpi, gcry_sexp_new_name_data, gcry_sexp_new_data,
361    gcry_sexp_new_mpi): Removed.
362
363 Fri Jul 14 19:38:23 CEST 2000  Werner Koch  <wk@>
364
365   * gcrypt.h (gcry_md_start_debug, gcry_md_stop_debug): New.
366   (gcry_ctl_cmds): New control values
367
368   * sexp.c (gcry_sexp_sscan): Add hex format parsing.
369
370   * secmem.c (lock_pool): Check for ENOSYS return my mlock() on old SCOs.
371   (pool_is_mmapped): Made volatile.
372   (lock_pool): No more warning for QNX. By Sam Roberts.
373   (lock_pool,secmem_init): Additional check for dropped privs.
374
375 2000-03-21 09:18:48  Werner Koch  (wk@habibti.gnupg.de)
376
377         * gcrypt.h (gcry_md_setkey): New.
378         (GCRY_MD_FLAG_HMAC): New.
379
380 Mon Jan 31 16:37:34 CET 2000  Werner Koch  <wk@gnupg.de>
381
382         * Makefile.am: Add g10lib.h
383
384 Thu Jan 27 18:00:44 CET 2000  Werner Koch  <wk@gnupg.de>
385
386         * sexp.c (gcry_sexp_sscan): Allow NULL for erroff.
387
388 Mon Jan 24 22:24:38 CET 2000  Werner Koch  <wk@gnupg.de>
389
390         * sexp.c (gcry_sexp_alist): New.
391
392 Mon Jan 24 13:04:28 CET 2000  Werner Koch  <wk@gnupg.de>
393
394         * secmem.c: Moved from ../util to here.
395         * secmem.h: New.
396         * stdmem.c: New. Based on the old ../util/memory.c.
397         * stdmem.h: New.
398
399 Wed Dec  8 21:58:32 CET 1999  Werner Koch  <wk@gnupg.de>
400
401         * gcrypt.m4: New.
402         * gcrypt-config: New.
403
404         * mpi.h (mpi_get_nbit_info): Removed
405         (mpi_set_nbit_info): Removed.
406         (struct gcry_mpi): Removed the nbits field.
407
408         * misc.c (g10_log_verbosity): New.
409
410         * global.c (g10_xstrdup): New.
411
412         * mpiapi.c: Removed.
413
414         * mpi.h: Moved from ../include to here.  Removed some obsolete
415         prototypes and the iobuf.h header.
416         * cipher.h: Moved from ../include to here. Removed the mpi.h header.
417         * g10lib.h: Moved from ../include to here.
418
419 Fri Nov 19 17:15:20 CET 1999  Werner Koch  <wk@gnupg.de>
420
421         * sexp.c (dump_string): New.  Taken from gnupg/util/miscutil.c.
422         (do_dump_list): s/print_string/dump_string/.
423
424         * testapi.c: New.
425
426         * mpiapi.c (gcry_mpi_randomize): Use new random API.
427
428 Sat Nov 13 17:44:23 CET 1999  Werner Koch  <wk@gnupg.de>
429
430         * gloabl.c (gcry_control): Add cases for dumping random
431         and secmem stats.
432
433 Tue Oct 26 14:10:21 CEST 1999  Werner Koch  <wk@gnupg.de>
434
435         * pkapi.c: Removed.
436
437         * symapi.c: Removed.
438
439         * g10lib.h:  Moved to ../include.
440
441         * mdapi.c: Removed.
442
443 Wed Jul  7 13:08:40 CEST 1999  Werner Koch  <wk@isil.d.shuttle.de>
444
445         * sexp.c: New.
446
447 Tue Dec  8 13:15:16 CET 1998  Werner Koch  <wk@isil.d.shuttle.de>
448
449         * gcrypt.h: New
450         * mpiapi.c: New
451
452         
453  Copyright 1998,1999,2000,2001,2002 Free Software Foundation, Inc.
454
455  This file is free software; as a special exception the author gives
456  unlimited permission to copy and/or distribute it, with or without
457  modifications, as long as this notice is preserved.
458
459  This file is distributed in the hope that it will be useful, but
460  WITHOUT ANY WARRANTY, to the extent permitted by law; without even the
461  implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.