2003-06-11 Moritz Schulte <moritz@g10code.com>
[libgcrypt.git] / src / ChangeLog
1 2003-06-11  Moritz Schulte  <moritz@g10code.com>
2
3         * global.c (global_init): Call: _gcry_cipher_init, _gcry_md_init,
4         _gcry_pk_init.
5
6         * g10lib.h: Declare: _gcry_cipher_init, _gcry_md_init,
7         _gcry_pk_init.
8         
9         * global.c (gcry_strerror): Remove compatibility code.
10
11         * Makefile.am: Remove support libgpg-error special handling.
12         (AM_CPPFLAGS): Add @GPG_ERROR_CFLAGS@
13
14         * gcrypt.h: Likewise.
15
16 2003-06-13  Werner Koch  <wk@gnupg.org>
17
18         * gcrypt.h (gcry_md_get_algo): Reverted to old API.  This is a
19         convenience function anyway and error checking is not approriate.
20         (gcry_md_is_enabled): New.
21         (gcry_md_is_secure): Replaed macro by function and reverted to old
22         API.
23
24 2003-06-11  Werner Koch  <wk@gnupg.org>
25
26         * gcrypt.h (GCRYERR): Define _GCRY_ERR_SOURCE_DEFAULT instead of
27         GPG_ERR_SOURCE_DEFAULT, so that libgpg-error still works despite
28         the use of the old gcrypt error codes.
29         (gcry_md_copy): Swapped arguments.
30         
31 2003-06-09  Moritz Schulte  <moritz@g10code.com>
32
33         * Makefile.am: Support for libgpg-error.
34
35 2003-06-08  Moritz Schulte  <moritz@g10code.com>
36
37         * sexp.c (gcry_sexp_create): Expect sane error values from
38         gcry_sexp_canon_len instead of the `historical' values.
39
40 2003-06-07  Moritz Schulte  <moritz@g10code.com>
41
42         * ath.c, ath.c, ath-pth.c, ath-pthread.c, benchmark.c, cipher.h,
43         g10lib.h, gcrypt.h, global.c, misc.c, missing-string.c, module.c,
44         mpi.h, secmem.c, secmem.h, sexp.c, stdmem.c, stdmem.h, testapi.c,
45         types.h: Edited all preprocessor instructions to remove whitespace
46         before the '#'.  This is not required by C89, but there are some
47         compilers out there that don't like it.  Replaced any occurence of
48         the now deprecated type names with the new ones.
49         
50         * gcrypt.h: Re-organized checking for gcc features; New macro:
51         _GCRY_GCC_ATTR_DEPRECATED.
52         Include copy of libgpg-error's gpg-error.h in order to make it
53         easy to build libgcrypt without needing libgpg-error.h.
54
55         (GCRY_MPI, GcryMPI, GCRY_SEXP, GcrySexp, GCRY_CIPHER_HD,
56         GcryCipherHd, GCRY_MD_HD, GcryMDHd): Declared deprecated.
57         (gcry_mpi_t, gcry_sexp_t, gcry_cipher_hd_t, gcry_md_hd_t): New
58         types.
59
60 2003-06-04  Moritz Schulte  <moritz@g10code.com>
61
62         * sexp.c (sexp_sscan): New argument: arg_list, adjusted all
63         callers.
64         (ARG_NEXT): New macro.
65         (sexp_sscan): Use ARG_NEXT for receiving format string arguments.
66         (gcry_sexp_build_array): New function.
67
68 2003-06-02  Moritz Schulte  <moritz@g10code.com>
69
70         * gcrypt.h: Added some comments describing the gcry_sexp_*
71         functions.
72         Include <gpg-error.h> instead of <gpg/error.h>.
73
74 2003-06-01  Moritz Schulte  <moritz@g10code.com>
75
76         * sexp.c (OLDPARSECODE): Removed macro...
77         (gcry_sexp_canon_len): ... and do not use it.
78
79         * gcrypt.h (gcry_errno): Removed declaration.
80
81         * g10lib.h (string_to_pubkey_algo, pubkey_algo_to_string,
82         pubkey_nbits): Removed declarations for non-existing functions.
83
84 2003-05-31  Moritz Schulte  <moritz@g10code.com>
85
86         * cipher.h (is_RSA, is_ELGAMAL): Removed macros.
87
88         * g10lib.h (set_lasterr): Removed macro.
89         (_gcry_set_lasterr): Removed declaration.
90
91         * gcrypt.h: Changed declarations for: gcry_pk_algo_info,
92         gcry_md_open, gcry_md_copy, gcry_md_algo_info, gcry_md_info,
93         gcry_md_get_algo, gcry_random_add_bytes.
94         
95         (gcry_md_is_secure): Adjust macro for new API.
96
97 2003-05-29  Moritz Schulte  <moritz@g10code.com>
98
99         * gcrypt.h: Changed declarations for: gcry_cipher_open,
100         gcry_cipher_info, gcry_cipher_algo_info.
101         (gcry_cipher_get_algo_keylen): Adjuster for new
102         gcry_cipher_algo_info interface.
103         (gcry_cipher_get_algo_blklen): Likewise.
104
105         * global.c (gcry_errno): Removed function.
106         (gcry_strerror): Do not use gcry_errno.
107         (_gcry_set_lasterr): Removed function.
108         (last_ec): Removed variable.
109
110 2003-05-27  Moritz Schulte  <moritz@g10code.com>
111
112         * gcrypt.h (enum gcry_cipher_algos): Make Serpent IDs do not
113         conflict with OpenPGP.  Reported by Timo Schulz.
114
115         * global.c (gcry_control): Fixed name of enum list.
116
117 2003-05-25  Moritz Schulte  <moritz@g10code.com>
118
119         * cipher.h (gcry_cipher_spec): Adjust return type of `setkey' for
120         libgpg-error.
121         (gcry_pubkey_spec): Adjust return type of `generate',
122         `check_secret_key', `encrypt', `decrypt', `sign' and `verify' for
123         libgpg-error.
124
125         * sexp.c (gcry_sexp_canon_len): Adjusted for libgpg-error.
126         (gcry_sexp_create): Likewise.
127         (gcry_sexp_new): Likewise.
128         (sexp_sscan): Likewise.
129         (gcry_sexp_build): Likewise.
130         (gcry_sexp_sscan): Likewise.
131
132         * module.c (_gcry_module_add): Likewise.
133
134         * global.c (last_ec): Change type to gpg_error_t.
135         (gcry_control): Adjust for libgpg-error.
136         (gcry_errno): Likewise.
137         (gcry_strerror): Likewise.
138         (_gcry_set_lasterr): Likewise.
139         (gcry_xmalloc): Likewise.
140         (gcry_xrealloc): Likewise.
141
142 2003-05-22  Moritz Schulte  <moritz@g10code.com>
143
144         * types.h: Merged code from GnuPG regarding U64_C.
145
146         * missing-string.c (strsep): Removed function.
147
148         * g10lib.h: Removed declarations: strsep, strlwr.
149
150         * secmem.c (secmem_lock): New variable.
151         (SECMEM_LOCK, SECMEM_UNLOCK): New macros.
152         (_gcry_secmem_set_flags): Use SECMEM_LOCK and SECMEM_UNLOCK.
153         (_gcry_secmem_get_flags): Likewise.
154         (_gcry_secmem_init): Likewie.
155         (_gcry_secmem_malloc): Likewise.
156         (_gcry_secmem_free): Likewise.
157         (_gcry_secmem_malloc): Renamed to ...
158         (_gcry_secmem_malloc_internal): ... this.
159         (_gcry_secmem_malloc): New function, use SECMEM_LOCK,
160         SECMEM_UNLOCK, call _gcry_secmem_malloc_internal.
161         (_gcry_secmem_free): Renamed to ...
162         (_gcry_secmem_free_internal): ... this.
163         (_gcry_secmem_free): New function, use SECMEM_LOCK, SECMEM_UNLOCK,
164         call _gcry_secmem_free_internal.
165         (_gcry_secmem_realloc): Use SECMEM_LOCK, SECMEM_UNLOCK, call
166         _gcry_secmem_malloc_internal and _gcry_secmem_free_internal.
167         (_gcry_private_is_secure): Use SECMEM_LOCK, SECMEM_UNLOCK.
168         (_gcry_secmem_dump_stats): Likewise.
169         (_gcry_secmem_malloc_internal): Removed unused variable:
170         compressed.
171         Include "ath.h".
172
173 2003-05-21  Moritz Schulte  <moritz@g10code.com>
174
175         * gcrypt.h (GCRY_CIPHER_SERPENT128, GCRY_CIPHER_SERPENT192,
176         GCRY_CIPHER_SERPENT256): New symbols.
177
178 2003-05-19  Moritz Schulte  <moritz@g10code.com>
179
180         * gcrypt.h: Reversed changes from 2003-03-03 since they would have
181         been an unnecessary ABI break.
182
183 2003-05-13  Moritz Schulte  <moritz@g10code.com>
184
185         * secmem.c (stats_update): New function.
186         (BLOCK_HEAD_SIZE): New symbol.
187         (MB_FLAG_ACTIVE): New symbol.
188         (ADDR_TO_BLOCK, BLOCK_VALID): New macros.
189         (mb_get_next): New function.
190         (mb_get_prev): New function.
191         (mb_merge): New function.
192         (mb_get_new): New function.
193         (unused_blocks): Removed variable.
194         (init_pool): Initialize new memory pool.
195         (_gcry_secmem_malloc): Use new heap management code.
196         (_gcry_secmem_free): Likewise.
197         (_gcry_secmem_realloc): Likewise.
198         Renamed type MEMBLOCK to memblock_t.
199
200 2003-04-27  Moritz Schulte  <moritz@g10code.com>
201
202         * cipher.h (gcry_pubkey_spec): New member: sexp_names.
203
204 2003-04-23  Moritz Schulte  <moritz@g10code.com>
205
206         * cipher.h (gcry_pubkey_spec): Removed members: npkey, nskey,
207         nenc, nsig.
208         (gcry_pubkey_spec): Added members: elements_pkey, elements_skey,
209         elements_enc, elements_sig, elements_grip.
210
211 2003-04-17  Moritz Schulte  <moritz@g10code.com>
212
213         * g10lib.h (GcryModule): New typedef.
214
215         * gcrypt.h (gcry_cipher_register, gcry_cipher_unregister,
216         gcry_digest_register, gcry_digest_unregister,
217         gcry_pubkey_register, gcry_pubkey_unregister): Function
218         declarations removed - for now.
219         
220         * gcrypt.h (GcryModule): Declaration removed.
221         * gcrypt.h (GcryPubkeySpec, GcryDigestSpec, GcryCipherSpec):
222         Types Moved... 
223         * cipher.h: ... here.
224
225 2003-04-17  Moritz Schulte  <moritz@g10code.com>
226
227         * cipher.h: Declare digest_spec_sha512 and digest_spec_384.
228
229 2003-04-16  Moritz Schulte  <moritz@g10code.com>
230
231         * module.c (_gcry_module_use): New function.
232         * g10lib.h (_gcry_module_use): Declare function.
233
234         * libgcrypt-config.in: Support for --algorithms switch, which
235         prints the algorithms included in the built libgcrypt.
236
237         * global.c (gcry_set_progress_handler): Register progress
238         functions depending on the enabled algorithms.
239
240 2003-04-07  Moritz Schulte  <moritz@g10code.com>
241
242         * Makefile.am (libgcrypt_la_SOURCES): Added module.c
243
244         * module.c: New file.
245         (_gcry_module_add): New function.
246         (_gcry_module_drop): New function.
247         (_gcry_module_lookup): New function.
248         (_gcry_module_release): New function.
249
250         * g10lib.h (GcryModule): New types.
251         (FLAG_MODULE_DISABLED): New symbol.
252         Added declarations for _gcry_module_add, _gcry_module_release and
253         _gcry_module_lookup.
254
255         * gcrypt.h: New types: GcryPubkeySpec, GcryDigestSpec,
256         GcryCipherSpec.
257         Added declarations for: gcry_cipher_register,
258         gcry_cipher_unregister, gcry_digest_register,
259         gcry_digest_unregister, gcry_pubkey_register and
260         gcry_pubkey_unregister.
261
262         * cipher.h: Removed symbols: CIPHER_ALGO_NONE, CIPHER_ALGO_IDEA,
263         CIPHER_ALGO_3DES, CIPHER_ALGO_CAST5, CIPHER_ALGO_BLOWFISH,
264         CIPHER_ALGO_SAFER_SK128, CIPHER_ALGO_DES_SK, CIPHER_ALGO_TWOFISH,
265         CIPHER_ALGO_TWOFISH_OLD, CIPHER_ALGO_DUMMY, PUBKEY_USAGE_SIG,
266         PUBKEY_USAGE_ENC, DIGEST_ALGO_MD5, DIGEST_ALGO_SHA1,
267         DIGEST_ALGO_RMD160, DIGEST_ALGO_TIGER, PUBKEY_ALGO_RSA,
268         PUBKEY_ALGO_RSA_E, PUBKEY_ALGO_RSA_S, PUBKEY_ALGO_DSA,
269         PUBKEY_ALGO_ELGAMAL, PUBKEY_ALGO_ELGAMAL_E.
270
271 2003-04-02  Moritz Schulte  <moritz@g10code.com>
272
273         * benchmark.c (md_bench): Fix error message.
274
275 2003-03-31  Moritz Schulte  <moritz@g10code.com>
276
277         * benchmark.c (cipher_bench): Added CTR mode.
278
279 2003-03-30  Simon Josefsson  <jas@extundo.com>
280
281         * gcrypt.h (enum gcry_control_cmds): Add GCRY_SET_CTR.
282         (enum gcry_cipher_modes): Add GCRY_CIPHER_MODE_CTR.
283         (gcry_cipher_setctr): New macro to set counter.
284
285 2003-03-19  Moritz Schulte  <moritz@g10code.com>
286
287         * cipher.h (PUBKEY_FLAG_NO_BLINDING): New symbol.
288
289 2003-03-22  Simon Josefsson  <jas@extundo.com>
290
291         * gcrypt.h: Add GCRYCTL_SET_CBC_MAC and GCRY_CIPHER_CBC_MAC.
292
293 2003-03-19  Werner Koch  <wk@gnupg.org>
294
295         * g10lib.h: Adjusted primegen.c prototypes.
296
297 2003-03-12  Werner Koch  <wk@gnupg.org>
298
299         * sexp.c (sexp_sscan): Initialize NM.  Thanks to Ian Peters for
300         valgrinding this.
301
302 2003-03-06  Moritz Schulte  <mo@g10code.com>
303
304         * secmem.h (GCRY_SECMEM_FLAG_NO_WARNING,
305         GCRY_SECMEM_FLAG_SUSPEND_WARNING): New symbols.
306
307         * global.c (gcry_control): Use
308         GCRY_SECMEM_FLAG_{NO,SUSPEND}_WARNING, instead of hard-coded
309         values.
310         * secmem.c (_gcry_secmem_set_flags): Likewise.
311         * secmem.c (_gcry_secmem_get_flags): Likewise.
312         
313 2003-03-03  Moritz Schulte  <moritz@g10code.com>
314
315         * misc.c: Removed old FIXME, since there is already a function to
316         set the value of `verbosity_level'.
317
318         * gcrypt.h: Removed enumeration list: gcry_ctl_cmds.
319         New enumeration lists: gcry_global_control_cmds,
320         gcry_control_cmds, gcry_info_cmds, gcry_algo_info_cmds.
321
322 2003-03-02  Moritz Schulte  <moritz@g10code.com>
323
324         * gcrypt.h (gcry_cipher_reset): New macro for resetting a handle.
325
326 2003-02-28  Moritz Schulte  <moritz@g10code.com>
327
328         * secmem.c (DEFAULT_PAGESIZE): New symbol.
329         (init_pool): Use DEFAULT_PAGESIZE.
330
331 2003-02-23  Moritz Schulte  <moritz@g10code.com>
332
333         * secmem.h: Fix typo in declaration of _gcry_secmem_term.
334
335         * sexp.c: Move macro definitions of `digitp', `octdigit', `alphap'
336         and `hexdigit' ...
337         * g10lib.h: ... here.
338
339         * misc.c (_gcry_burn_stack): New function (former name:
340         burn_stack).
341
342         * g10lib.h (burn_stack): Declare _gcry_burn_stack().
343
344 2003-01-24  Werner Koch  <wk@gnupg.org>
345
346         * global.c (gcry_set_progress_handler): Register a random progress
347         handler.
348
349 2003-01-23  Werner Koch  <wk@gnupg.org>
350
351         * gcrypt.h (GCRY_ENABLE_QUICK_RANDOM): New. 
352         * global.c (gcry_control): Make use of it.
353
354 2003-01-21  Werner Koch  <wk@gnupg.org>
355
356         * gcrypt.h (gcry_random_add_bytes): Add QUALITY argument.
357
358 2003-01-21  Timo Schulz  <twoaday@freakmail.de>
359
360         * gcrypt.h (gcry_random_add_bytes): New.
361         
362 2003-01-20  Simon Josefsson  <jas@extundo.com>
363
364         * gcrypt.h (gcry_md_algos): Add GCRY_MD_CRC32,
365         GCRY_MD_CRC32_RFC1510, GCRY_MD_CRC24_RFC2440.
366
367 2003-01-16  Werner Koch  <wk@gnupg.org>
368
369         * gcrypt.h (gcry_md_write): Changed type of 2nd argument to void*.
370         (gcry_md_hash_buffer): Changed type of both buffers to void*.
371         (gcry_md_setkey): Changed type of 2nd argument to void*.
372         (gcry_md_get_asnoid): New.
373
374 2003-01-15  Werner Koch  <wk@gnupg.org>
375
376         * sexp.c (gcry_sexp_length): Fixed.  This was seriously broken.
377
378 2003-01-14  Werner Koch  <wk@gnupg.org>
379
380         * gcrypt.h (GCRYERR_INV_FLAG), global.c (gcry_strerror): New.
381
382 2003-01-02  Werner Koch  <wk@gnupg.org>
383
384         * libgcrypt.vers: Temporary export _gcry_generate_elg_prime for
385         use by GNUTLS. 
386
387 2002-12-21  Werner Koch  <wk@gnupg.org>
388
389         * gcrypt.h: Make use of gcc's pure and malloc attributes 
390         (gcry_md_putc): Use a helper variable to avoid multiple
391         evaluation of H. 
392         * g10lib.h, stdmem.h, secmem.h: Use gcc attributes pure and malloc.
393
394         * stdmem.c (use_m_guard): Don't default to yes.
395
396 2002-12-19  Werner Koch  <wk@gnupg.org>
397
398         * global.c (global_init): The meat was never run due to a faulty
399         check. Thanks to Nikos for pointing this out.
400         
401         * global.c (gcry_control): Return 1 and not -1 for the
402         initialization tests.
403
404         * libgcrypt.vers: New.
405         * Makefile.am: Use this instead of the build symbol file.
406
407         * global.c (gcry_control) <initialization>: Call the random module
408         initializer to make sure that the pool lock flag has been
409         initialized.
410
411 2002-12-09  Werner Koch  <wk@gnupg.org>
412
413         * global.c (gcry_calloc,gcry_calloc_secure): Check for overflow.
414         Noted by Florian Weimer. 
415
416 2002-11-10  Simon Josefsson  <jas@extundo.com>
417
418         * gcrypt.h (gcry_ctl_cmds): New GCRYCTL_SET_CBC_CTS control flag.
419         (gcry_cipher_flags): New GCRY_CIPHER_CBC_CTS gcry_cipher_open() flag.
420         (gcry_cipher_cts): New macro for toggling CTS.
421
422 2002-11-10  Werner Koch  <wk@gnupg.org>
423
424         * gcrypt.h (GCRY_MD_MD4): New.  We use a non OpenPGP value here. 
425
426 2002-09-20  Werner Koch  <wk@gnupg.org>
427
428         * ath.c: Include sys.time.h if sys/select.h does not exist.
429         (ath_select, ath_waitpid): Shortcut for Windows.
430         * ath.h: Include some Windows headers.  By Timo.
431
432 2002-09-18  Werner Koch  <wk@gnupg.org>
433
434         * ath.h: Prefix ath_deinit.
435
436 2002-09-17  Werner Koch  <wk@gnupg.org>
437
438         * benchmark.c: New.
439         (mpi_bench, do_powm): Add a a simple test for RSA.
440
441         * global.c (global_init): New.  Use it instead of the setting
442         any_init_done.  Initialize the ATH system.
443         (gcry_check_version): Hook global_init in.  This is the suggested
444         way to initialize the library.
445         (_gcry_no_internal_locking): Removed.  We simply call a ath_deinit
446         and leave it to ATH to disbale the locking.
447
448         * ath.c, ath.h, ath-pth.c, ath-pthread.c: New. Taken from GPGME.
449         * mutex.h: Removed.
450         * Makefile.am (ath_components): New.
451
452 2002-09-16  Werner Koch  <wk@gnupg.org>
453
454         * secmem.c (_gcry_secmem_dump_stats): Replaced fprintf by log_*.
455
456 2002-08-23  Werner Koch  <wk@gnupg.org>
457
458         * missing-string.c: Removed unneeded strlwr.
459
460         * libgcrypt.m4: Made much more simple.
461         * libgcrypt-config.in: Made --prefix work for --libs.
462
463 2002-08-14  Werner Koch  <wk@gnupg.org>
464
465         * gcrypt.h: Add GCRY_CIPGER_DES.  Included string.h for size_t.
466         Suggested by Simon Josefsson.
467
468 2002-07-25  Werner Koch  <wk@gnupg.org>
469
470         * cipher.h: Added prototypes for progress functions.
471         * global.c: Include cipher.h for those prototypes.
472
473         * stdmem.c (_gcry_private_realloc): Replaced void* by char * for
474         pointer arithmetic reasons.  Noted by Stephan Austermuehle.
475
476 2002-06-24  Werner Koch  <wk@gnupg.org>
477
478         * missing-string.c: Include ctype.h.
479
480         * gcrypt.h (gcry_mpi_invm, gcry_mpi_div, gcry_mpi_mod)
481         (gcry_mpi_swap): New.
482
483 2002-06-18  Werner Koch  <wk@gnupg.org>
484
485         * gcrypt.h: Added a bunch of brief function descriptions.
486
487 2002-05-21  Werner Koch  <wk@gnupg.org>
488
489         * misc.c (_gcry_log_printf): Don't initialize a va_list.  Noted by
490         Jeff Johnson.
491
492         * global.c (gcry_set_progress_handler): New.
493
494         * gcrypt.h: Replaced the typedef for byte.
495
496 2002-05-16  Werner Koch  <wk@gnupg.org>
497
498         * missing-string.c: New.
499
500         * gcrypt.h: Add new error codes GCRYERR_SEXP_ and typedefs
501         GcryMPI, GcrySexp, GcryCipherHd, GcryMDHd as aliases for the old
502         ones using an underscore.
503
504         * global.c (gcry_strerror): Add strings fro the new error codes.
505         * sexp.c (gcry_sexp_canon_len): Use a macro to convert from new to
506         old error codes.
507         (gcry_sexp_create,gcry_sexp_new): New.
508
509 2002-05-15  Werner Koch  <wk@gnupg.org>
510
511         * mutex.h (DEFINE_LOCAL_MUTEX): Macro to define a mutex and
512         initialize it so that we can detect an unitialized mutex and don't
513         read from stdin.
514
515 2002-05-14  Werner Koch  <wk@gnupg.org>
516
517         Changed license of all files to the LGPL.
518
519 2002-05-07  Werner Koch  <wk@gnupg.org>
520
521         * global.c (gcry_control): Add commands
522         GCRYCTL_ANY_INITIALIZATION_P and GCRYCTL_INITIALIZATION_FINISHED_P
523         so that other libraries are able to check for required
524         initializations.
525
526 2002-05-02  Werner Koch  <wk@gnupg.org>
527
528         * gcrypt.h (GCRYCTL_DISABLE_INTERNAL_LOCKING): New.
529         * global.c (gcry_control): Implement it.
530         (_gcry_no_internal_locking): New.
531         * mutex.h: Prefixed all fucntions with _gcry_.  Bypass all
532         functions when desired.
533
534         * gcrypt.h (GCRYCTL_DISABLE_SECMEM): New.
535         * global.c (gcry_control,gcry_malloc_secure,gcry_is_secure):
536         Implement it here.
537         * secmem.c (_gcry_private_is_secure): Return false if the pool is
538         not initialized.
539
540         * gcrypt.h (GCRYCTL_INITIALIZATION_FINISHED): New.
541
542         * gcrypt.h (gcry_cipher_algos): Replaced RINDAEL by AES and change
543         the macros to expand from rijdael to aes.
544
545         * stdmem.c (_gcry_private_malloc): Return NULL for 0 byte allocation.
546         (_gcry_private_malloc_secure): Ditto.
547
548         * g10lib.h:  Copied the JNLIB_GCC macros from ../jnlib/mischelp.h
549         and removed the inclusion of that file.
550
551 2002-04-15  Werner Koch  <wk@gnupg.org>
552
553         * global.c (gcry_strdup): New.
554
555 2002-03-18  Werner Koch  <wk@gnupg.org>
556
557         * mutex.h: New file with a portable thread mutex implementation
558         written by Marcus Brinkmann.  Taken from GPGME.
559
560 2002-02-18  Werner Koch  <wk@gnupg.org>
561
562         * sexp.c (gcry_sexp_sscan): Don't initialize the dummy
563         variable.  Suggested by Jordi Mallach.
564
565 2002-01-31  Werner Koch  <wk@gnupg.org>
566
567         * sexp.c (suitable_encoding,convert_to_hex,convert_to_string)
568         (convert_to_token): New.
569         (gcry_sexp_sprint): Better formatting of advanced encoding, does
570         now insert LFs and escapes all unprintable characters.
571         (unquote_string): New.
572         (sexp_sscan): Implemented the missing conversion of quoted strings.
573
574 2002-01-26  Werner Koch  <wk@gnupg.org>
575
576         * libgcrypt-config.in: Add copyright notice.
577
578 2002-01-11  Werner Koch  <wk@gnupg.org>
579
580         * sexp.c (gcry_sexp_canon_len): Fixed last change.
581
582 2002-01-01  Timo Schulz <ts@winpt.org>
583
584         * stdmem.c (_gcry_private_realloc): If pointer is NULL now realloc
585         behaves like malloc.
586
587 2001-12-20  Werner Koch  <wk@gnupg.org>
588
589         * sexp.c (gcry_sexp_canon_len): Describe the error codes and
590         return an error if this is not a S-Exp; i.e. it does not start
591         with an open parenthesis.
592
593 2001-12-18  Werner Koch  <wk@gnupg.org>
594
595         * sexp.c (gcry_sexp_canon_len): Fixed the test on NULL buffer.
596
597         * Makefile.am (DISTCLEANFILES): Include libgcrypt.sym
598
599         * sexp.c: Removed the commented test code because we now have a
600         test in ../tests/
601
602 2001-12-17  Werner Koch  <wk@gnupg.org>
603
604         * sexp.c (gcry_sexp_canon_len): New.
605
606 2001-12-11  Werner Koch  <wk@gnupg.org>
607
608         * gcrypt.h: Fixed AES128 macro, add enum for OFB mode.
609
610 2001-12-05  Werner Koch  <wk@gnupg.org>
611
612         * misc.c (_gcry_log_printf): New.
613         * sexp.c (dump_string,gcry_sexp_dump): Use logging functions
614         instead of stderr.
615
616 2001-11-16  Werner Koch  <wk@gnupg.org>
617
618         * gcrypt.h: New constant GCRYCTL_IS_ALGO_ENABLED.
619
620 2001-10-02  Werner Koch  <wk@gnupg.org>
621
622         * gcrypt.h: Removed a couple of trailing commas.
623
624 2001-08-28  Werner Koch  <wk@gnupg.org>
625
626         * sexp.c (sexp_sscan): Add an argument to enable the
627         arg_ptr. Changed all callers.  Suggested by Tom Holroyd.
628
629 2001-08-03  Werner Koch  <wk@gnupg.org>
630
631         * global.c (gcry_strerror): Updated list of error codes.
632
633 2001-07-23  Werner Koch  <wk@gnupg.org>
634
635         * gcrypt.h: Replaced the last ulong.  Noted by Rami Lehti.
636
637 2001-05-31  Werner Koch  <wk@gnupg.org>
638
639         * gcrypt.h, mpi.h: Made some mpi functions public.
640
641         * wrapper.c: Removed.
642         * global.c: Renamed all g10_ prefixed functions which had wrappers 
643         to gcry_xxx. So we now use the exported memory functions inernally.
644
645         Renamed all g10_ prefixed functions to _gcry_ prefixed ones.
646         
647         * g10lib.h (_GCRYPT_IN_LIBGCRYPT): Replace defintion by a test on it.
648
649 2001-05-28  Werner Koch  <wk@gnupg.org>
650
651         * libgcrypt.m4: Check GCRYPT_VERSION macro and not LIBGCRYPT_VERSION.
652
653         * mpi.h: Removed mpi_fromstr prototype.
654
655 2001-01-11  Werner Koch  <wk@gnupg.org>
656
657         * Makefile.am (libgcrypt_la_SOURCES): Add mpi.h
658
659 2000-12-19  Werner Koch  <wk@gnupg.org>
660
661         * types.h: Moved from ../include to here.
662
663         Major change:
664         Removed all GnuPG stuff and renamed this piece of software
665         to gcrypt. 
666
667 2000-11-14  Werner Koch  <wk@gnupg.org>
668
669         * mpi.h: Moved to ../mpi.
670
671         * Makefile.am (OMIT_DEPENDENCIES): Hack to work around dependency
672         problems.
673
674 2000-10-11  Werner Koch  <wk@gnupg.org>
675
676         * mpi.h: Changed the way mpi_limb_t is defined.
677
678 2000-10-10  Werner Koch  <wk@gnupg.org>
679
680         * Makefile.am: Take version-info from configure.
681
682 2000-10-09  Werner Koch  <wk@gnupg.org>
683
684         * gcrypt.h: New cipher mode, new algo Arcfour and new error code
685         GCRYERR_INV_CIPHER_MODE.
686         * global.c (gcry_strerror): New errorcode.
687
688 Wed Oct  4 13:16:18 CEST 2000  Werner Koch  <wk@openit.de>
689
690         * gcrypt.h (gcry_md_setkey): Replaced macro by function prototype.
691
692 Mon Sep 18 16:35:45 CEST 2000  Werner Koch  <wk@openit.de>
693
694         * gcrypt.h (GCRYCTL_GET_ALGO_USAGE): New.
695
696         * secmem.c (secmem_realloc): check for failed secmem_malloc.  By
697         Matt Kraai.
698
699 Mon Jul 31 10:04:47 CEST 2000  Werner Koch  <wk@openit.de>
700
701   * sexp.c: Removed the datalen fields from list tags.
702   (gcry_sexp_car_data,gcry_sexp_cdr_data,gcry_sexp_car_mpi,
703    gcry_sexp_cdr_mpi): Removed.
704   (gcry_sexp_nth,gcry_sexp_nth_data,gcry_sexp_nth_mpi): New.
705
706 Fri Jul 28 18:19:11 CEST 2000  Werner Koch  <wk@openit.de>
707
708   * sexp.c (sexp_sscan): Fixed reallocation to secure memory.
709   (new_empty_list): Removed
710   (gcry_sexp_length): New.
711   (gcry_sexp_enum): Removed.
712   (normalize): New. Reworked the whole thing to use NULL for an empty list.
713   (make_space): New instead of the macro.
714
715 Tue Jul 25 17:44:15 CEST 2000  Werner Koch  <wk@openit.de>
716
717   * sexp.c: Major rewrite.
718   (gcry_sexp_sscan): Reordered arguments.  Moved functionality to ..
719   (sexp_sscan): .. this.
720   (gcry_sexp_build): New.
721   (gcry_sexp_new_name_mpi, gcry_sexp_new_name_data, gcry_sexp_new_data,
722    gcry_sexp_new_mpi): Removed.
723
724 Fri Jul 14 19:38:23 CEST 2000  Werner Koch  <wk@>
725
726   * gcrypt.h (gcry_md_start_debug, gcry_md_stop_debug): New.
727   (gcry_ctl_cmds): New control values
728
729   * sexp.c (gcry_sexp_sscan): Add hex format parsing.
730
731   * secmem.c (lock_pool): Check for ENOSYS return my mlock() on old SCOs.
732   (pool_is_mmapped): Made volatile.
733   (lock_pool): No more warning for QNX. By Sam Roberts.
734   (lock_pool,secmem_init): Additional check for dropped privs.
735
736 2000-03-21 09:18:48  Werner Koch  (wk@habibti.gnupg.de)
737
738         * gcrypt.h (gcry_md_setkey): New.
739         (GCRY_MD_FLAG_HMAC): New.
740
741 Mon Jan 31 16:37:34 CET 2000  Werner Koch  <wk@gnupg.de>
742
743         * Makefile.am: Add g10lib.h
744
745 Thu Jan 27 18:00:44 CET 2000  Werner Koch  <wk@gnupg.de>
746
747         * sexp.c (gcry_sexp_sscan): Allow NULL for erroff.
748
749 Mon Jan 24 22:24:38 CET 2000  Werner Koch  <wk@gnupg.de>
750
751         * sexp.c (gcry_sexp_alist): New.
752
753 Mon Jan 24 13:04:28 CET 2000  Werner Koch  <wk@gnupg.de>
754
755         * secmem.c: Moved from ../util to here.
756         * secmem.h: New.
757         * stdmem.c: New. Based on the old ../util/memory.c.
758         * stdmem.h: New.
759
760 Wed Dec  8 21:58:32 CET 1999  Werner Koch  <wk@gnupg.de>
761
762         * gcrypt.m4: New.
763         * gcrypt-config: New.
764
765         * mpi.h (mpi_get_nbit_info): Removed
766         (mpi_set_nbit_info): Removed.
767         (struct gcry_mpi): Removed the nbits field.
768
769         * misc.c (g10_log_verbosity): New.
770
771         * global.c (g10_xstrdup): New.
772
773         * mpiapi.c: Removed.
774
775         * mpi.h: Moved from ../include to here.  Removed some obsolete
776         prototypes and the iobuf.h header.
777         * cipher.h: Moved from ../include to here. Removed the mpi.h header.
778         * g10lib.h: Moved from ../include to here.
779
780 Fri Nov 19 17:15:20 CET 1999  Werner Koch  <wk@gnupg.de>
781
782         * sexp.c (dump_string): New.  Taken from gnupg/util/miscutil.c.
783         (do_dump_list): s/print_string/dump_string/.
784
785         * testapi.c: New.
786
787         * mpiapi.c (gcry_mpi_randomize): Use new random API.
788
789 Sat Nov 13 17:44:23 CET 1999  Werner Koch  <wk@gnupg.de>
790
791         * gloabl.c (gcry_control): Add cases for dumping random
792         and secmem stats.
793
794 Tue Oct 26 14:10:21 CEST 1999  Werner Koch  <wk@gnupg.de>
795
796         * pkapi.c: Removed.
797
798         * symapi.c: Removed.
799
800         * g10lib.h:  Moved to ../include.
801
802         * mdapi.c: Removed.
803
804 Wed Jul  7 13:08:40 CEST 1999  Werner Koch  <wk@isil.d.shuttle.de>
805
806         * sexp.c: New.
807
808 Tue Dec  8 13:15:16 CET 1998  Werner Koch  <wk@isil.d.shuttle.de>
809
810         * gcrypt.h: New
811         * mpiapi.c: New
812
813         
814  Copyright 1998,1999,2000,2001,2002,2003 Free Software Foundation, Inc.
815
816  This file is free software; as a special exception the author gives
817  unlimited permission to copy and/or distribute it, with or without
818  modifications, as long as this notice is preserved.
819
820  This file is distributed in the hope that it will be useful, but
821  WITHOUT ANY WARRANTY, to the extent permitted by law; without even the
822  implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.