2004-01-25 Moritz Schulte <mo@g10code.com>
[libgcrypt.git] / src / ChangeLog
1 2004-01-25  Moritz Schulte  <mo@g10code.com>
2
3         * ath.h: Include <config.h>.
4
5 2004-01-12  Moritz Schulte  <mo@g10code.com>
6
7         * gcrypt.h: Adjusted declarations of: gcry_ac_data_set,
8         gcry_ac_data_get_name, gcry_ac_data_get_index,
9         gcry_ac_key_pair_generate, gcry_ac_key_test,
10         gcry_ac_key_get_nbits, gcry_ac_key_get_grip.
11
12         * gcrypt.h (GCRY_AC_FLAG_DATA_NO_BLINDING): Removed symbol.
13         (GCRY_AC_FLAG_DEALLOC, GCRY_AC_FLAG_COPY) 
14         (GCRY_AC_FLAG_NO_BLINDING): New symbols.
15
16         * global.c (gcry_strdup): Removed function.
17         * string.c: New file.
18         * Makefile.am (libgcrypt_real_la_SOURCES): Added: string.c.
19         * string.c (gcry_strdup): New function.
20         * gcrypt.h (gcry_strdup): Declare.
21
22 2003-12-19  Werner Koch  <wk@gnupg.org>
23
24         * g10lib.h (wipememory, wipememory2): New; taken from gnupg.
25
26 2003-11-14  Werner Koch  <wk@gnupg.org>
27
28         * global.c (gcry_strdup): Don't copy the string after a malloc
29         error.
30
31 2003-11-11  Werner Koch  <wk@gnupg.org>
32
33         * sexp.c (sexp_sscan): Implemented "%b" format specifier.
34
35 2003-11-11  Moritz Schulte  <mo@g10code.com>
36
37         * libgcrypt.m4: Do not set prefix when calling libgcrypt-config.
38         Thanks to Nikos Mavroyanopoulos.
39
40 2003-11-08  Moritz Schulte  <mo@g10code.com>
41
42         * cipher.h (small_prime_numbers): Removed declaration.
43         (PUBKEY_FLAG_NO_BLINDING): Put braces around shift.
44
45 2003-11-04  Werner Koch  <wk@gnupg.org>
46
47         * cipher.h (_gcry_sha1_has_buffer): New.
48
49         * gcrypt.h (gcry_create_nonce): New.
50
51 2003-10-31  Werner Koch  <wk@gnupg.org>
52
53         * libgcrypt.vers (_gcry_generate_elg_prime): Removed this symbol;
54         gnutls does not need it anymore.
55
56         * secmem.c (mb_get_new): s/pool/block/ due to global pool.
57
58         * misc.c (gcry_set_log_handler): s/logf/f/ to avoid shadowing
59         warning against a builtin.
60
61         * ath-pth-compat.c: cast pth_connect to get rid of the const
62         prototype.
63
64 2003-10-27  Werner Koch  <wk@gnupg.org>
65
66         * ath.h (ATH_MUTEX_INITIALIZER): Removed spurious semicolon.
67
68 2003-10-27  Moritz Schulte  <mo@g10code.com>
69
70         * libgcrypt-config.in: Include libs/cflags of libgpg-error.
71
72         * sexp.c (sexp_sscan): Cleaned up, deallocate scanned sexp on
73         error.
74
75         * module.c (MODULE_ID_MIN): New symbol, use it.
76
77 2003-10-27  Werner Koch  <wk@gnupg.org>
78
79         * gcrypt.h (gcry_pk_testkey): Doc fix.
80
81 2003-09-29  Moritz Schulte  <mo@g10code.com>
82
83         * libgcrypt-config.in: Fix --algorithms option.
84
85 2003-10-23  Werner Koch  <wk@gnupg.org>
86
87         * gcrypt.h (gcry_err_code): Use GPG_ERR_INLINE instead of
88         __inline__.
89
90         * secmem.c (lock_pool): Don't print the warning for certain
91         systems, handle ENOMEM.
92
93 2003-10-21  Werner Koch  <wk@gnupg.org>
94
95         * secmem.c (_gcry_secmem_dump_stats): Fixed format sepcifier for a
96         size_t.  Reported by Stephane Corthesy.
97
98 2003-10-10  Werner Koch  <wk@gnupg.org>
99
100         * global.c (_gcry_malloc): Handle the no_secure_memory option.
101
102         * gcrypt.h (gcry_prime_group_generator): New.
103         (gcry_prime_release_factors): New.
104
105 2003-10-07  Werner Koch  <wk@gnupg.org>
106
107         * sexp.c (sexp_sscan): Check that parenthesis are matching.
108
109 2003-09-28  Moritz Schulte  <mo@g10code.com>
110
111         * g10lib.h: Declare: _gcry_malloc.
112         (GCRY_ALLOC_FLAG_SECURE): New symbol.
113
114         * global.c (_gcry_malloc): New function...
115         (gcry_malloc): ... use it.
116         (gcry_malloc_secure): Likewise.
117
118         * ath.c: Change License to LGPL.
119         * ath-pthread-compat.c: Likewise.
120         * ath-pthread.c: Likewise.
121         * ath-pth-compat.c: Likewise.
122         * ath-pth.c: Likewise.
123         * ath.h: Likewise.
124         * ath-compat.c: Likewise.
125
126         * secmem.c (_gcry_secmem_realloc): Do not forget to release secmem
127         lock.  Thanks to low halo for triggering this bug.
128
129 2003-09-04  Werner Koch  <wk@gnupg.org>
130
131         * gcrypt.h (_GCRY_ERR_SOURCE_DEFAULT): Removed cruft.
132         (gcry_prime_check_func_t): Renamed arg for clarity.
133
134 2003-09-02  Moritz Schulte  <mo@g10code.com>
135
136         * gcrypt.h (GCRY_PRIME_FLAG_SPECIAL_FACTOR): New symbol.
137
138 2003-09-01  Moritz Schulte  <mo@g10code.com>
139
140         * gcrypt.h (gcry_random_level_t): New type.
141         (gcry_prime_check_func_t): Likewise.
142         (GCRY_PRIME_FLAG_SECRET): New symbol.
143         (gcry_prime_generate, gcry_prime_check): Declare functions.
144
145 2003-08-28  Werner Koch  <wk@gnupg.org>
146
147         * Makefile.am (libgcrypt_pth_la_LDFLAGS): Removed PTH_CFLAGS cruft.
148
149 2003-08-27  Moritz Schulte  <mo@g10code.com>
150
151         * global.c (gcry_control): Remove call to ath_deinit.
152
153         * Makefile.am (libgcrypt_real_la_DEPENDENCIES): Fixed.
154         (libgcrypt_real_la_LIBADD): Fixed.
155         Removed unecessary variables.
156
157         * libgcrypt-config.in: Adjusted script for new thread handling.
158
159         * Makefile.am: New version, based on GPGMEs Makefile.am.
160
161         * ath.c, ath-compat.c, ath.h, ath-pth.c, ath-pth-compat.c,
162         ath-pthread.c, ath-pthread-compat.c: New files, merged from GPGME.
163         * ath.c, ath.h, ath-pthread.c, ath-pth.c: Removed files.
164
165 2003-08-08  Moritz Schulte  <moritz@g10code.com>
166
167         * global.c (gcry_realloc): Remove FIXME about `clearing out
168         realloced memory', since _gcry_secmem_realloc takes care of
169         overwriting old memory.
170
171 2003-08-07  Werner Koch  <wk@gnupg.org>
172
173         * module.c (_gcry_module_release): Don't act if module is NULL.
174
175 2003-07-30  Moritz Schulte  <moritz@g10code.com>
176
177         * gcrypt.h (enum gcry_ac_id): Added: GCRY_AC_ELG_E.
178         Reverted change: use gcry_md_flags enumeration list instead of
179         defines.
180
181 2003-07-29  Werner Koch  <wk@gnupg.org>
182
183         * global.c (gcry_control): Add GCRYCTL_SET_RANDOM_SEED_FILE and
184         GCRYCTL_UPDATE_RANDOM_SEED_FILE.
185         * gcrypt.h: Ditto.  Renamed index to idx, so avoid warning
186         related to the old index function.
187
188 2003-07-28  Moritz Schulte  <moritz@g10code.com>
189
190         * global.c (gcry_err_code_from_errno, gcry_err_code_to_errno)
191         (gcry_err_make_from_errno, gcry_error_from_errno): New functions.
192
193         * gcrypt.h: Declared: gcry_err_code_from_errno,
194         gcry_err_code_to_errno, gcry_err_make_from_errno,
195         gcry_error_from_errno.
196
197         * Makefile.am (include_HEADERS): Added: gcrypt-module.h.
198
199         * gcrypt.h: Include <gcrypt-module.h>.
200
201         * gcrypt-module.h: New file.
202
203 2003-07-27  Werner Koch  <wk@gnupg.org>
204
205         * gcrypt.h (gcry_mpi_scan, gcry_mpi_print): API change.
206         (gcry_mpi_dump): New.
207
208 2003-07-21  Moritz Schulte  <moritz@g10code.com>
209
210         * gcrypt.h: Declared: gcry_ac_key_data_get.
211         (gcry_pk_spec): Renamed member `sexp_names' into `aliases'.
212
213 2003-07-20  Moritz Schulte  <moritz@g10code.com>
214
215         * gcrypt.h (gcry_md_oid_spec_t): New type.
216         (gcry_md_spec): New member: oids.
217
218 2003-07-19  Moritz Schulte  <moritz@g10code.com>
219
220         * gcrypt.h (gcry_cipher_oid_spec_t): New type.
221         (gcry_cipher_spec): New member: oids;
222
223 2003-07-18  Werner Koch  <wk@gnupg.org>
224
225         * gcrypt.h (gcry_mpi_set_opaque): Add a warning comment.
226
227 2003-07-15  Moritz Schulte  <moritz@g10code.com>
228
229         * secmem.c (compress_pool): Remove function, since unused blocks
230         are automatically concatenad.
231
232         * gcrypt.h: Bumped version number up to 1.1.42-cvs.
233
234 2003-07-14  Moritz Schulte  <moritz@g10code.com>
235
236         * gcrypt.h (gcry_cipher_spec): New member: aliases.
237
238         * Makefile.am (noinst_PROGRAMS, testapi_SOURCES, testapai_LDADD,
239         benchmark_SOURCES, benchmark_LDADD): Removed.
240
241         * benchmark.c, testapi.c: Removed files.
242
243         * mpi.h: Removed disabled typedef.
244         * g10lib.h: Likewise.
245
246         * benchmark.c, g10lib.h, gcrypt.h, global.c, module.c, sexp.c:
247         Used gcry_err* wrappers for libgpg-error symbols.
248
249 2003-07-12  Moritz Schulte  <moritz@g10code.com>
250
251         * global.c: Likewise.
252
253         * gcrypt.h: New type: gcry_error_t, gcry_err_code_t and
254         gcry_err_source_t.
255         (gcry_err_make, gcry_error, gcry_err_code, gcry_err_source): New
256         functions.
257
258         * global.c (gcry_strerror): New function.
259         (gcry_strsource): New function.
260
261         * gcrypt.h: New symbol: GCRY_CIPHER_TWOFISH128.
262
263 2003-07-09  Moritz Schulte  <moritz@g10code.com>
264
265         * gcrypt.h (enum gcry_md_flags): Removed, used define instead,
266         since that is more common than an enumeration list when it comes
267         to flags that can be bitwise ORed.
268         
269 2003-07-08  Moritz Schulte  <moritz@g10code.com>
270
271         * global.c: Use new types for handlers.
272
273         * gcrypt.h: Declare: gcry_ac_data_copy.
274
275 2003-07-07  Moritz Schulte  <moritz@g10code.com>
276
277         * sexp.c (gcry_sexp_build_array): Use dummy argument pointer.
278         Thanks to Simon Josefsson <jas@extunde.com>.
279
280         * gcrypt.h: Declare: gcry_cipher_list, gcry_pk_list, gcry_md_list.
281         
282 2003-07-05  Moritz Schulte  <moritz@g10code.com>
283
284         * gcrypt.h: Declare: gcry_cipher_register, gcry_cipher_unregister,
285         gcry_md_register, gcry_md_unregister, gcry_pk_register,
286         gcry_pk_unregister.
287         (gcry_cipher_spec): Removed member: algorithm.
288         (gcry_pk_spec): Likewise.
289         (gcry_md_spec): Likewise.
290         Adjusted declarations: gcry_cipher_register, gcry_pk_register,
291         gcry_md_register.
292
293         * module.c: Replaced all occurences of `id' with `mod_id', since
294         `id' is a keyword in obj-c.
295
296         * gcrypt.h (gcry_cipher_spec): Renamed member `id' to `algorithm'.
297         (gcry_pk_spec): Likewise.
298         (gcry_md_spec): Likewise.
299
300         * cipher.h: Removed types: gcry_pubkey_generate_t,
301         gcry_pubkey_check_secret_key_t, gcry_pubkey_encrypt_t,
302         gcry_pubkey_decrypt_t, gcry_pubkey_sign_t, gcry_pubkey_verify_t,
303         gcry_pubkey_get_nbits_t, gcry_pk_spec_t, gcry_digest_init_t,
304         gcry_digest_write_t, gcry_digest_final_t, gcry_digest_read_t,
305         gcry_digest_spec_t, gcry_cipher_setkey_t, gcry_cipher_encrypt_t,
306         gcry_cipher_decrypt_t, gcry_cipher_stencrypt_t,
307         gcry_cipher_stdecrypt_t, gcry_cipher_spec_t.
308
309         * gcrypt.h: New types: gcry_pk_generate_t,
310         gcry_pk_check_secret_key_t, gcry_pk_encrypt_t, gcry_pk_decrypt_t,
311         gcry_pk_sign_t, gcry_pk_verify_t, gcry_pk_get_nbits_t,
312         gcry_pk_spec_t, gcry_md_init_t, gcry_md_write_t, gcry_md_final_t,
313         gcry_md_read_t, gcry_md_spec_t, gcry_cipher_setkey_t,
314         gcry_cipher_encrypt_t, gcry_cipher_decrypt_t,
315         gcry_cipher_stencrypt_t, gcry_cipher_stdecrypt_t,
316         gcry_cipher_spec_t, gcry_module_t.
317
318 2003-07-04  Moritz Schulte  <moritz@g10code.com>
319
320         * module.c (_gcry_module_list): New function.
321
322 2003-07-02  Moritz Schulte  <moritz@g10code.com>
323
324         * module.c (_gcry_module_lookup): Fixed typo.
325
326         * gcrypt.h: Added all definitions and declarations necessary for
327         the new ac interface.
328
329 2003-06-30  Moritz Schulte  <moritz@g10code.com>
330
331         * g10lib.h: Added declarations: _gcry_pk_module_lookup,
332         _gcry_pk_module_release.
333
334 2003-06-18  Werner Koch  <wk@gnupg.org>
335
336         * benchmark.c (cipher_bench): Adjusted for new API of get_blklen
337         and get_keylen.
338
339         * gcrypt.h (gcry_cipher_get_algo_blklen)
340         (gcry_cipher_get_algo_keylen): Replaced macro by funcion.
341
342 2003-06-18  Moritz Schulte  <moritz@g10code.com>
343
344         * cipher.h: Renamed types GcryDigestSpec, GcryCipherSpec and
345         GcryPubkeySpec into: gcry_digest_spec_t, gcry_cipher_spec_t and
346         gcry_pubkey_spec_t.
347         (gcry_pubkey_spec): Defined member `id' as unsigned.
348         (gcry_digest_spec): Likewise.
349         (gcry_cipher_spec): Likewise.
350
351         * module.c (_gcry_module_id_new): New function.
352         (_gcry_module_add): Generate a new ID via _gcry_module_id_new in
353         case `id' is zero.
354
355         * g10lib.h, module.c: Replace old type GcryModule with newer one:
356         gcry_module_t.
357
358         * module.c (_gcry_module_add): Added argument `id', use it.
359
360         * g10lib.h: Added declaration: _gcry_module_lookup_id.
361         (_gcry_module_add): Added argument `id'.
362
363         * module.c (_gcry_module_lookup_id): New function.
364
365         * g10lib.h (struct gcry_module): New member: id.
366
367         * gcrypt.h: New type: gcry_handler_progress_t,
368         gcry_handler_alloc_t, gcry_haandler_secure_check_t,
369         gcry_handler_realloc_t, gcry_handler_free_t,
370         gcry_handler_no_mem_t, gcry_handler_error_t, gcry_handler_log_t.
371         Use new types.
372
373         * cipher.h: Include <gcrypt.h>.
374         New types: gcry_pk_generate_t, gcry_pk_check_secret_key_t,
375         gcry_pk_encrypt_t, gcry_pk_decrypt_t, gcry_pk_sign_t,
376         gcry_pk_verify_t, gcry_pk_get_nbits_t, gcry_md_init_t,
377         gcry_md_write_t, gcry_md_final_t, gcry_md_read_t,
378         gcry_cipher_setkey_t, gcry_cipher_encrypt_t,
379         gcry_cipher_decrypt_t, gcry_cipher_stencrypt_t,
380         gcry_cipher_stdecrypt_t.
381         Use new types.
382
383 2003-06-17  Moritz Schulte  <moritz@g10code.com>
384
385         * Makefile.am (AM_CFLAGS): Added: @GPG_ERROR_CFLAGS@.
386
387 2003-06-16  Moritz Schulte  <moritz@g10code.com>
388
389         * g10lib.h: Replace last occurences of old type names with newer
390         names (i.e. replace MPI with gcry_mpi_t).
391         * mpi.h: Likewise.
392         * sexp.c: Likewise.
393
394 2003-06-15  Moritz Schulte  <moritz@g10code.com>
395
396         * testapi.c (test_genkey): Use gpg_strerror instead of
397         gcry_strerror.
398
399         * global.c (gcry_control): Fixed typo.
400
401         * misc.c (_gcry_fatal_error): Use gpg_strerror instead of
402         gcry_strerror.
403
404         * types.h (STRLIST): Removed type since it is not used.
405
406 2003-06-11  Moritz Schulte  <moritz@g10code.com>
407
408         * global.c (global_init): Call: _gcry_cipher_init, _gcry_md_init,
409         _gcry_pk_init.
410
411         * g10lib.h: Declare: _gcry_cipher_init, _gcry_md_init,
412         _gcry_pk_init.
413         
414         * global.c (gcry_strerror): Remove compatibility code.
415
416         * Makefile.am: Remove support libgpg-error special handling.
417         (AM_CPPFLAGS): Add @GPG_ERROR_CFLAGS@
418
419         * gcrypt.h: Likewise.
420
421 2003-06-13  Werner Koch  <wk@gnupg.org>
422
423         * gcrypt.h (gcry_md_get_algo): Reverted to old API.  This is a
424         convenience function anyway and error checking is not approriate.
425         (gcry_md_is_enabled): New.
426         (gcry_md_is_secure): Replaced macro by function and reverted to old
427         API.
428
429 2003-06-11  Werner Koch  <wk@gnupg.org>
430
431         * gcrypt.h (GCRYERR): Define _GCRY_ERR_SOURCE_DEFAULT instead of
432         GPG_ERR_SOURCE_DEFAULT, so that libgpg-error still works despite
433         the use of the old gcrypt error codes.
434         (gcry_md_copy): Swapped arguments.
435         
436 2003-06-09  Moritz Schulte  <moritz@g10code.com>
437
438         * Makefile.am: Support for libgpg-error.
439
440 2003-06-08  Moritz Schulte  <moritz@g10code.com>
441
442         * sexp.c (gcry_sexp_create): Expect sane error values from
443         gcry_sexp_canon_len instead of the `historical' values.
444
445 2003-06-07  Moritz Schulte  <moritz@g10code.com>
446
447         * ath.c, ath.c, ath-pth.c, ath-pthread.c, benchmark.c, cipher.h,
448         g10lib.h, gcrypt.h, global.c, misc.c, missing-string.c, module.c,
449         mpi.h, secmem.c, secmem.h, sexp.c, stdmem.c, stdmem.h, testapi.c,
450         types.h: Edited all preprocessor instructions to remove whitespace
451         before the '#'.  This is not required by C89, but there are some
452         compilers out there that don't like it.  Replaced any occurence of
453         the now deprecated type names with the new ones.
454         
455         * gcrypt.h: Re-organized checking for gcc features; New macro:
456         _GCRY_GCC_ATTR_DEPRECATED.
457         Include copy of libgpg-error's gpg-error.h in order to make it
458         easy to build libgcrypt without needing libgpg-error.h.
459
460         (GCRY_MPI, GcryMPI, GCRY_SEXP, GcrySexp, GCRY_CIPHER_HD,
461         GcryCipherHd, GCRY_MD_HD, GcryMDHd): Declared deprecated.
462         (gcry_mpi_t, gcry_sexp_t, gcry_cipher_hd_t, gcry_md_hd_t): New
463         types.
464
465 2003-06-04  Moritz Schulte  <moritz@g10code.com>
466
467         * sexp.c (sexp_sscan): New argument: arg_list, adjusted all
468         callers.
469         (ARG_NEXT): New macro.
470         (sexp_sscan): Use ARG_NEXT for receiving format string arguments.
471         (gcry_sexp_build_array): New function.
472
473 2003-06-02  Moritz Schulte  <moritz@g10code.com>
474
475         * gcrypt.h: Added some comments describing the gcry_sexp_*
476         functions.
477         Include <gpg-error.h> instead of <gpg/error.h>.
478
479 2003-06-01  Moritz Schulte  <moritz@g10code.com>
480
481         * sexp.c (OLDPARSECODE): Removed macro...
482         (gcry_sexp_canon_len): ... and do not use it.
483
484         * gcrypt.h (gcry_errno): Removed declaration.
485
486         * g10lib.h (string_to_pubkey_algo, pubkey_algo_to_string,
487         pubkey_nbits): Removed declarations for non-existing functions.
488
489 2003-05-31  Moritz Schulte  <moritz@g10code.com>
490
491         * cipher.h (is_RSA, is_ELGAMAL): Removed macros.
492
493         * g10lib.h (set_lasterr): Removed macro.
494         (_gcry_set_lasterr): Removed declaration.
495
496         * gcrypt.h: Changed declarations for: gcry_pk_algo_info,
497         gcry_md_open, gcry_md_copy, gcry_md_algo_info, gcry_md_info,
498         gcry_md_get_algo, gcry_random_add_bytes.
499         
500         (gcry_md_is_secure): Adjust macro for new API.
501
502 2003-05-29  Moritz Schulte  <moritz@g10code.com>
503
504         * gcrypt.h: Changed declarations for: gcry_cipher_open,
505         gcry_cipher_info, gcry_cipher_algo_info.
506         (gcry_cipher_get_algo_keylen): Adjuster for new
507         gcry_cipher_algo_info interface.
508         (gcry_cipher_get_algo_blklen): Likewise.
509
510         * global.c (gcry_errno): Removed function.
511         (gcry_strerror): Do not use gcry_errno.
512         (_gcry_set_lasterr): Removed function.
513         (last_ec): Removed variable.
514
515 2003-05-27  Moritz Schulte  <moritz@g10code.com>
516
517         * gcrypt.h (enum gcry_cipher_algos): Make Serpent IDs do not
518         conflict with OpenPGP.  Reported by Timo Schulz.
519
520         * global.c (gcry_control): Fixed name of enum list.
521
522 2003-05-25  Moritz Schulte  <moritz@g10code.com>
523
524         * cipher.h (gcry_cipher_spec): Adjust return type of `setkey' for
525         libgpg-error.
526         (gcry_pubkey_spec): Adjust return type of `generate',
527         `check_secret_key', `encrypt', `decrypt', `sign' and `verify' for
528         libgpg-error.
529
530         * sexp.c (gcry_sexp_canon_len): Adjusted for libgpg-error.
531         (gcry_sexp_create): Likewise.
532         (gcry_sexp_new): Likewise.
533         (sexp_sscan): Likewise.
534         (gcry_sexp_build): Likewise.
535         (gcry_sexp_sscan): Likewise.
536
537         * module.c (_gcry_module_add): Likewise.
538
539         * global.c (last_ec): Change type to gpg_error_t.
540         (gcry_control): Adjust for libgpg-error.
541         (gcry_errno): Likewise.
542         (gcry_strerror): Likewise.
543         (_gcry_set_lasterr): Likewise.
544         (gcry_xmalloc): Likewise.
545         (gcry_xrealloc): Likewise.
546
547 2003-05-22  Moritz Schulte  <moritz@g10code.com>
548
549         * types.h: Merged code from GnuPG regarding U64_C.
550
551         * missing-string.c (strsep): Removed function.
552
553         * g10lib.h: Removed declarations: strsep, strlwr.
554
555         * secmem.c (secmem_lock): New variable.
556         (SECMEM_LOCK, SECMEM_UNLOCK): New macros.
557         (_gcry_secmem_set_flags): Use SECMEM_LOCK and SECMEM_UNLOCK.
558         (_gcry_secmem_get_flags): Likewise.
559         (_gcry_secmem_init): Likewie.
560         (_gcry_secmem_malloc): Likewise.
561         (_gcry_secmem_free): Likewise.
562         (_gcry_secmem_malloc): Renamed to ...
563         (_gcry_secmem_malloc_internal): ... this.
564         (_gcry_secmem_malloc): New function, use SECMEM_LOCK,
565         SECMEM_UNLOCK, call _gcry_secmem_malloc_internal.
566         (_gcry_secmem_free): Renamed to ...
567         (_gcry_secmem_free_internal): ... this.
568         (_gcry_secmem_free): New function, use SECMEM_LOCK, SECMEM_UNLOCK,
569         call _gcry_secmem_free_internal.
570         (_gcry_secmem_realloc): Use SECMEM_LOCK, SECMEM_UNLOCK, call
571         _gcry_secmem_malloc_internal and _gcry_secmem_free_internal.
572         (_gcry_private_is_secure): Use SECMEM_LOCK, SECMEM_UNLOCK.
573         (_gcry_secmem_dump_stats): Likewise.
574         (_gcry_secmem_malloc_internal): Removed unused variable:
575         compressed.
576         Include "ath.h".
577
578 2003-05-21  Moritz Schulte  <moritz@g10code.com>
579
580         * gcrypt.h (GCRY_CIPHER_SERPENT128, GCRY_CIPHER_SERPENT192,
581         GCRY_CIPHER_SERPENT256): New symbols.
582
583 2003-05-19  Moritz Schulte  <moritz@g10code.com>
584
585         * gcrypt.h: Reversed changes from 2003-03-03 since they would have
586         been an unnecessary ABI break.
587
588 2003-05-13  Moritz Schulte  <moritz@g10code.com>
589
590         * secmem.c (stats_update): New function.
591         (BLOCK_HEAD_SIZE): New symbol.
592         (MB_FLAG_ACTIVE): New symbol.
593         (ADDR_TO_BLOCK, BLOCK_VALID): New macros.
594         (mb_get_next): New function.
595         (mb_get_prev): New function.
596         (mb_merge): New function.
597         (mb_get_new): New function.
598         (unused_blocks): Removed variable.
599         (init_pool): Initialize new memory pool.
600         (_gcry_secmem_malloc): Use new heap management code.
601         (_gcry_secmem_free): Likewise.
602         (_gcry_secmem_realloc): Likewise.
603         Renamed type MEMBLOCK to memblock_t.
604
605 2003-04-27  Moritz Schulte  <moritz@g10code.com>
606
607         * cipher.h (gcry_pubkey_spec): New member: sexp_names.
608
609 2003-04-23  Moritz Schulte  <moritz@g10code.com>
610
611         * cipher.h (gcry_pubkey_spec): Removed members: npkey, nskey,
612         nenc, nsig.
613         (gcry_pubkey_spec): Added members: elements_pkey, elements_skey,
614         elements_enc, elements_sig, elements_grip.
615
616 2003-04-17  Moritz Schulte  <moritz@g10code.com>
617
618         * g10lib.h (GcryModule): New typedef.
619
620         * gcrypt.h (gcry_cipher_register, gcry_cipher_unregister,
621         gcry_digest_register, gcry_digest_unregister,
622         gcry_pubkey_register, gcry_pubkey_unregister): Function
623         declarations removed - for now.
624         
625         * gcrypt.h (GcryModule): Declaration removed.
626         * gcrypt.h (GcryPubkeySpec, GcryDigestSpec, GcryCipherSpec):
627         Types Moved... 
628         * cipher.h: ... here.
629
630 2003-04-17  Moritz Schulte  <moritz@g10code.com>
631
632         * cipher.h: Declare digest_spec_sha512 and digest_spec_384.
633
634 2003-04-16  Moritz Schulte  <moritz@g10code.com>
635
636         * module.c (_gcry_module_use): New function.
637         * g10lib.h (_gcry_module_use): Declare function.
638
639         * libgcrypt-config.in: Support for --algorithms switch, which
640         prints the algorithms included in the built libgcrypt.
641
642         * global.c (gcry_set_progress_handler): Register progress
643         functions depending on the enabled algorithms.
644
645 2003-04-07  Moritz Schulte  <moritz@g10code.com>
646
647         * Makefile.am (libgcrypt_la_SOURCES): Added module.c
648
649         * module.c: New file.
650         (_gcry_module_add): New function.
651         (_gcry_module_drop): New function.
652         (_gcry_module_lookup): New function.
653         (_gcry_module_release): New function.
654
655         * g10lib.h (GcryModule): New types.
656         (FLAG_MODULE_DISABLED): New symbol.
657         Added declarations for _gcry_module_add, _gcry_module_release and
658         _gcry_module_lookup.
659
660         * gcrypt.h: New types: GcryPubkeySpec, GcryDigestSpec,
661         GcryCipherSpec.
662         Added declarations for: gcry_cipher_register,
663         gcry_cipher_unregister, gcry_digest_register,
664         gcry_digest_unregister, gcry_pubkey_register and
665         gcry_pubkey_unregister.
666
667         * cipher.h: Removed symbols: CIPHER_ALGO_NONE, CIPHER_ALGO_IDEA,
668         CIPHER_ALGO_3DES, CIPHER_ALGO_CAST5, CIPHER_ALGO_BLOWFISH,
669         CIPHER_ALGO_SAFER_SK128, CIPHER_ALGO_DES_SK, CIPHER_ALGO_TWOFISH,
670         CIPHER_ALGO_TWOFISH_OLD, CIPHER_ALGO_DUMMY, PUBKEY_USAGE_SIG,
671         PUBKEY_USAGE_ENC, DIGEST_ALGO_MD5, DIGEST_ALGO_SHA1,
672         DIGEST_ALGO_RMD160, DIGEST_ALGO_TIGER, PUBKEY_ALGO_RSA,
673         PUBKEY_ALGO_RSA_E, PUBKEY_ALGO_RSA_S, PUBKEY_ALGO_DSA,
674         PUBKEY_ALGO_ELGAMAL, PUBKEY_ALGO_ELGAMAL_E.
675
676 2003-04-02  Moritz Schulte  <moritz@g10code.com>
677
678         * benchmark.c (md_bench): Fix error message.
679
680 2003-03-31  Moritz Schulte  <moritz@g10code.com>
681
682         * benchmark.c (cipher_bench): Added CTR mode.
683
684 2003-03-30  Simon Josefsson  <jas@extundo.com>
685
686         * gcrypt.h (enum gcry_control_cmds): Add GCRY_SET_CTR.
687         (enum gcry_cipher_modes): Add GCRY_CIPHER_MODE_CTR.
688         (gcry_cipher_setctr): New macro to set counter.
689
690 2003-03-19  Moritz Schulte  <moritz@g10code.com>
691
692         * cipher.h (PUBKEY_FLAG_NO_BLINDING): New symbol.
693
694 2003-03-22  Simon Josefsson  <jas@extundo.com>
695
696         * gcrypt.h: Add GCRYCTL_SET_CBC_MAC and GCRY_CIPHER_CBC_MAC.
697
698 2003-03-19  Werner Koch  <wk@gnupg.org>
699
700         * g10lib.h: Adjusted primegen.c prototypes.
701
702 2003-03-12  Werner Koch  <wk@gnupg.org>
703
704         * sexp.c (sexp_sscan): Initialize NM.  Thanks to Ian Peters for
705         valgrinding this.
706
707 2003-03-06  Moritz Schulte  <mo@g10code.com>
708
709         * secmem.h (GCRY_SECMEM_FLAG_NO_WARNING,
710         GCRY_SECMEM_FLAG_SUSPEND_WARNING): New symbols.
711
712         * global.c (gcry_control): Use
713         GCRY_SECMEM_FLAG_{NO,SUSPEND}_WARNING, instead of hard-coded
714         values.
715         * secmem.c (_gcry_secmem_set_flags): Likewise.
716         * secmem.c (_gcry_secmem_get_flags): Likewise.
717         
718 2003-03-03  Moritz Schulte  <moritz@g10code.com>
719
720         * misc.c: Removed old FIXME, since there is already a function to
721         set the value of `verbosity_level'.
722
723         * gcrypt.h: Removed enumeration list: gcry_ctl_cmds.
724         New enumeration lists: gcry_global_control_cmds,
725         gcry_control_cmds, gcry_info_cmds, gcry_algo_info_cmds.
726
727 2003-03-02  Moritz Schulte  <moritz@g10code.com>
728
729         * gcrypt.h (gcry_cipher_reset): New macro for resetting a handle.
730
731 2003-02-28  Moritz Schulte  <moritz@g10code.com>
732
733         * secmem.c (DEFAULT_PAGESIZE): New symbol.
734         (init_pool): Use DEFAULT_PAGESIZE.
735
736 2003-02-23  Moritz Schulte  <moritz@g10code.com>
737
738         * secmem.h: Fix typo in declaration of _gcry_secmem_term.
739
740         * sexp.c: Move macro definitions of `digitp', `octdigit', `alphap'
741         and `hexdigit' ...
742         * g10lib.h: ... here.
743
744         * misc.c (_gcry_burn_stack): New function (former name:
745         burn_stack).
746
747         * g10lib.h (burn_stack): Declare _gcry_burn_stack().
748
749 2003-01-24  Werner Koch  <wk@gnupg.org>
750
751         * global.c (gcry_set_progress_handler): Register a random progress
752         handler.
753
754 2003-01-23  Werner Koch  <wk@gnupg.org>
755
756         * gcrypt.h (GCRY_ENABLE_QUICK_RANDOM): New. 
757         * global.c (gcry_control): Make use of it.
758
759 2003-01-21  Werner Koch  <wk@gnupg.org>
760
761         * gcrypt.h (gcry_random_add_bytes): Add QUALITY argument.
762
763 2003-01-21  Timo Schulz  <twoaday@freakmail.de>
764
765         * gcrypt.h (gcry_random_add_bytes): New.
766         
767 2003-01-20  Simon Josefsson  <jas@extundo.com>
768
769         * gcrypt.h (gcry_md_algos): Add GCRY_MD_CRC32,
770         GCRY_MD_CRC32_RFC1510, GCRY_MD_CRC24_RFC2440.
771
772 2003-01-16  Werner Koch  <wk@gnupg.org>
773
774         * gcrypt.h (gcry_md_write): Changed type of 2nd argument to void*.
775         (gcry_md_hash_buffer): Changed type of both buffers to void*.
776         (gcry_md_setkey): Changed type of 2nd argument to void*.
777         (gcry_md_get_asnoid): New.
778
779 2003-01-15  Werner Koch  <wk@gnupg.org>
780
781         * sexp.c (gcry_sexp_length): Fixed.  This was seriously broken.
782
783 2003-01-14  Werner Koch  <wk@gnupg.org>
784
785         * gcrypt.h (GCRYERR_INV_FLAG), global.c (gcry_strerror): New.
786
787 2003-01-02  Werner Koch  <wk@gnupg.org>
788
789         * libgcrypt.vers: Temporary export _gcry_generate_elg_prime for
790         use by GNUTLS. 
791
792 2002-12-21  Werner Koch  <wk@gnupg.org>
793
794         * gcrypt.h: Make use of gcc's pure and malloc attributes 
795         (gcry_md_putc): Use a helper variable to avoid multiple
796         evaluation of H. 
797         * g10lib.h, stdmem.h, secmem.h: Use gcc attributes pure and malloc.
798
799         * stdmem.c (use_m_guard): Don't default to yes.
800
801 2002-12-19  Werner Koch  <wk@gnupg.org>
802
803         * global.c (global_init): The meat was never run due to a faulty
804         check. Thanks to Nikos for pointing this out.
805         
806         * global.c (gcry_control): Return 1 and not -1 for the
807         initialization tests.
808
809         * libgcrypt.vers: New.
810         * Makefile.am: Use this instead of the build symbol file.
811
812         * global.c (gcry_control) <initialization>: Call the random module
813         initializer to make sure that the pool lock flag has been
814         initialized.
815
816 2002-12-09  Werner Koch  <wk@gnupg.org>
817
818         * global.c (gcry_calloc,gcry_calloc_secure): Check for overflow.
819         Noted by Florian Weimer. 
820
821 2002-11-10  Simon Josefsson  <jas@extundo.com>
822
823         * gcrypt.h (gcry_ctl_cmds): New GCRYCTL_SET_CBC_CTS control flag.
824         (gcry_cipher_flags): New GCRY_CIPHER_CBC_CTS gcry_cipher_open() flag.
825         (gcry_cipher_cts): New macro for toggling CTS.
826
827 2002-11-10  Werner Koch  <wk@gnupg.org>
828
829         * gcrypt.h (GCRY_MD_MD4): New.  We use a non OpenPGP value here. 
830
831 2002-09-20  Werner Koch  <wk@gnupg.org>
832
833         * ath.c: Include sys.time.h if sys/select.h does not exist.
834         (ath_select, ath_waitpid): Shortcut for Windows.
835         * ath.h: Include some Windows headers.  By Timo.
836
837 2002-09-18  Werner Koch  <wk@gnupg.org>
838
839         * ath.h: Prefix ath_deinit.
840
841 2002-09-17  Werner Koch  <wk@gnupg.org>
842
843         * benchmark.c: New.
844         (mpi_bench, do_powm): Add a a simple test for RSA.
845
846         * global.c (global_init): New.  Use it instead of the setting
847         any_init_done.  Initialize the ATH system.
848         (gcry_check_version): Hook global_init in.  This is the suggested
849         way to initialize the library.
850         (_gcry_no_internal_locking): Removed.  We simply call a ath_deinit
851         and leave it to ATH to disbale the locking.
852
853         * ath.c, ath.h, ath-pth.c, ath-pthread.c: New. Taken from GPGME.
854         * mutex.h: Removed.
855         * Makefile.am (ath_components): New.
856
857 2002-09-16  Werner Koch  <wk@gnupg.org>
858
859         * secmem.c (_gcry_secmem_dump_stats): Replaced fprintf by log_*.
860
861 2002-08-23  Werner Koch  <wk@gnupg.org>
862
863         * missing-string.c: Removed unneeded strlwr.
864
865         * libgcrypt.m4: Made much more simple.
866         * libgcrypt-config.in: Made --prefix work for --libs.
867
868 2002-08-14  Werner Koch  <wk@gnupg.org>
869
870         * gcrypt.h: Add GCRY_CIPGER_DES.  Included string.h for size_t.
871         Suggested by Simon Josefsson.
872
873 2002-07-25  Werner Koch  <wk@gnupg.org>
874
875         * cipher.h: Added prototypes for progress functions.
876         * global.c: Include cipher.h for those prototypes.
877
878         * stdmem.c (_gcry_private_realloc): Replaced void* by char * for
879         pointer arithmetic reasons.  Noted by Stephan Austermuehle.
880
881 2002-06-24  Werner Koch  <wk@gnupg.org>
882
883         * missing-string.c: Include ctype.h.
884
885         * gcrypt.h (gcry_mpi_invm, gcry_mpi_div, gcry_mpi_mod)
886         (gcry_mpi_swap): New.
887
888 2002-06-18  Werner Koch  <wk@gnupg.org>
889
890         * gcrypt.h: Added a bunch of brief function descriptions.
891
892 2002-05-21  Werner Koch  <wk@gnupg.org>
893
894         * misc.c (_gcry_log_printf): Don't initialize a va_list.  Noted by
895         Jeff Johnson.
896
897         * global.c (gcry_set_progress_handler): New.
898
899         * gcrypt.h: Replaced the typedef for byte.
900
901 2002-05-16  Werner Koch  <wk@gnupg.org>
902
903         * missing-string.c: New.
904
905         * gcrypt.h: Add new error codes GCRYERR_SEXP_ and typedefs
906         GcryMPI, GcrySexp, GcryCipherHd, GcryMDHd as aliases for the old
907         ones using an underscore.
908
909         * global.c (gcry_strerror): Add strings fro the new error codes.
910         * sexp.c (gcry_sexp_canon_len): Use a macro to convert from new to
911         old error codes.
912         (gcry_sexp_create,gcry_sexp_new): New.
913
914 2002-05-15  Werner Koch  <wk@gnupg.org>
915
916         * mutex.h (DEFINE_LOCAL_MUTEX): Macro to define a mutex and
917         initialize it so that we can detect an unitialized mutex and don't
918         read from stdin.
919
920 2002-05-14  Werner Koch  <wk@gnupg.org>
921
922         Changed license of all files to the LGPL.
923
924 2002-05-07  Werner Koch  <wk@gnupg.org>
925
926         * global.c (gcry_control): Add commands
927         GCRYCTL_ANY_INITIALIZATION_P and GCRYCTL_INITIALIZATION_FINISHED_P
928         so that other libraries are able to check for required
929         initializations.
930
931 2002-05-02  Werner Koch  <wk@gnupg.org>
932
933         * gcrypt.h (GCRYCTL_DISABLE_INTERNAL_LOCKING): New.
934         * global.c (gcry_control): Implement it.
935         (_gcry_no_internal_locking): New.
936         * mutex.h: Prefixed all fucntions with _gcry_.  Bypass all
937         functions when desired.
938
939         * gcrypt.h (GCRYCTL_DISABLE_SECMEM): New.
940         * global.c (gcry_control,gcry_malloc_secure,gcry_is_secure):
941         Implement it here.
942         * secmem.c (_gcry_private_is_secure): Return false if the pool is
943         not initialized.
944
945         * gcrypt.h (GCRYCTL_INITIALIZATION_FINISHED): New.
946
947         * gcrypt.h (gcry_cipher_algos): Replaced RINDAEL by AES and change
948         the macros to expand from rijdael to aes.
949
950         * stdmem.c (_gcry_private_malloc): Return NULL for 0 byte allocation.
951         (_gcry_private_malloc_secure): Ditto.
952
953         * g10lib.h:  Copied the JNLIB_GCC macros from ../jnlib/mischelp.h
954         and removed the inclusion of that file.
955
956 2002-04-15  Werner Koch  <wk@gnupg.org>
957
958         * global.c (gcry_strdup): New.
959
960 2002-03-18  Werner Koch  <wk@gnupg.org>
961
962         * mutex.h: New file with a portable thread mutex implementation
963         written by Marcus Brinkmann.  Taken from GPGME.
964
965 2002-02-18  Werner Koch  <wk@gnupg.org>
966
967         * sexp.c (gcry_sexp_sscan): Don't initialize the dummy
968         variable.  Suggested by Jordi Mallach.
969
970 2002-01-31  Werner Koch  <wk@gnupg.org>
971
972         * sexp.c (suitable_encoding,convert_to_hex,convert_to_string)
973         (convert_to_token): New.
974         (gcry_sexp_sprint): Better formatting of advanced encoding, does
975         now insert LFs and escapes all unprintable characters.
976         (unquote_string): New.
977         (sexp_sscan): Implemented the missing conversion of quoted strings.
978
979 2002-01-26  Werner Koch  <wk@gnupg.org>
980
981         * libgcrypt-config.in: Add copyright notice.
982
983 2002-01-11  Werner Koch  <wk@gnupg.org>
984
985         * sexp.c (gcry_sexp_canon_len): Fixed last change.
986
987 2002-01-01  Timo Schulz <ts@winpt.org>
988
989         * stdmem.c (_gcry_private_realloc): If pointer is NULL now realloc
990         behaves like malloc.
991
992 2001-12-20  Werner Koch  <wk@gnupg.org>
993
994         * sexp.c (gcry_sexp_canon_len): Describe the error codes and
995         return an error if this is not a S-Exp; i.e. it does not start
996         with an open parenthesis.
997
998 2001-12-18  Werner Koch  <wk@gnupg.org>
999
1000         * sexp.c (gcry_sexp_canon_len): Fixed the test on NULL buffer.
1001
1002         * Makefile.am (DISTCLEANFILES): Include libgcrypt.sym
1003
1004         * sexp.c: Removed the commented test code because we now have a
1005         test in ../tests/
1006
1007 2001-12-17  Werner Koch  <wk@gnupg.org>
1008
1009         * sexp.c (gcry_sexp_canon_len): New.
1010
1011 2001-12-11  Werner Koch  <wk@gnupg.org>
1012
1013         * gcrypt.h: Fixed AES128 macro, add enum for OFB mode.
1014
1015 2001-12-05  Werner Koch  <wk@gnupg.org>
1016
1017         * misc.c (_gcry_log_printf): New.
1018         * sexp.c (dump_string,gcry_sexp_dump): Use logging functions
1019         instead of stderr.
1020
1021 2001-11-16  Werner Koch  <wk@gnupg.org>
1022
1023         * gcrypt.h: New constant GCRYCTL_IS_ALGO_ENABLED.
1024
1025 2001-10-02  Werner Koch  <wk@gnupg.org>
1026
1027         * gcrypt.h: Removed a couple of trailing commas.
1028
1029 2001-08-28  Werner Koch  <wk@gnupg.org>
1030
1031         * sexp.c (sexp_sscan): Add an argument to enable the
1032         arg_ptr. Changed all callers.  Suggested by Tom Holroyd.
1033
1034 2001-08-03  Werner Koch  <wk@gnupg.org>
1035
1036         * global.c (gcry_strerror): Updated list of error codes.
1037
1038 2001-07-23  Werner Koch  <wk@gnupg.org>
1039
1040         * gcrypt.h: Replaced the last ulong.  Noted by Rami Lehti.
1041
1042 2001-05-31  Werner Koch  <wk@gnupg.org>
1043
1044         * gcrypt.h, mpi.h: Made some mpi functions public.
1045
1046         * wrapper.c: Removed.
1047         * global.c: Renamed all g10_ prefixed functions which had wrappers 
1048         to gcry_xxx. So we now use the exported memory functions inernally.
1049
1050         Renamed all g10_ prefixed functions to _gcry_ prefixed ones.
1051         
1052         * g10lib.h (_GCRYPT_IN_LIBGCRYPT): Replace defintion by a test on it.
1053
1054 2001-05-28  Werner Koch  <wk@gnupg.org>
1055
1056         * libgcrypt.m4: Check GCRYPT_VERSION macro and not LIBGCRYPT_VERSION.
1057
1058         * mpi.h: Removed mpi_fromstr prototype.
1059
1060 2001-01-11  Werner Koch  <wk@gnupg.org>
1061
1062         * Makefile.am (libgcrypt_la_SOURCES): Add mpi.h
1063
1064 2000-12-19  Werner Koch  <wk@gnupg.org>
1065
1066         * types.h: Moved from ../include to here.
1067
1068         Major change:
1069         Removed all GnuPG stuff and renamed this piece of software
1070         to gcrypt. 
1071
1072 2000-11-14  Werner Koch  <wk@gnupg.org>
1073
1074         * mpi.h: Moved to ../mpi.
1075
1076         * Makefile.am (OMIT_DEPENDENCIES): Hack to work around dependency
1077         problems.
1078
1079 2000-10-11  Werner Koch  <wk@gnupg.org>
1080
1081         * mpi.h: Changed the way mpi_limb_t is defined.
1082
1083 2000-10-10  Werner Koch  <wk@gnupg.org>
1084
1085         * Makefile.am: Take version-info from configure.
1086
1087 2000-10-09  Werner Koch  <wk@gnupg.org>
1088
1089         * gcrypt.h: New cipher mode, new algo Arcfour and new error code
1090         GCRYERR_INV_CIPHER_MODE.
1091         * global.c (gcry_strerror): New errorcode.
1092
1093 Wed Oct  4 13:16:18 CEST 2000  Werner Koch  <wk@openit.de>
1094
1095         * gcrypt.h (gcry_md_setkey): Replaced macro by function prototype.
1096
1097 Mon Sep 18 16:35:45 CEST 2000  Werner Koch  <wk@openit.de>
1098
1099         * gcrypt.h (GCRYCTL_GET_ALGO_USAGE): New.
1100
1101         * secmem.c (secmem_realloc): check for failed secmem_malloc.  By
1102         Matt Kraai.
1103
1104 Mon Jul 31 10:04:47 CEST 2000  Werner Koch  <wk@openit.de>
1105
1106   * sexp.c: Removed the datalen fields from list tags.
1107   (gcry_sexp_car_data,gcry_sexp_cdr_data,gcry_sexp_car_mpi,
1108    gcry_sexp_cdr_mpi): Removed.
1109   (gcry_sexp_nth,gcry_sexp_nth_data,gcry_sexp_nth_mpi): New.
1110
1111 Fri Jul 28 18:19:11 CEST 2000  Werner Koch  <wk@openit.de>
1112
1113   * sexp.c (sexp_sscan): Fixed reallocation to secure memory.
1114   (new_empty_list): Removed
1115   (gcry_sexp_length): New.
1116   (gcry_sexp_enum): Removed.
1117   (normalize): New. Reworked the whole thing to use NULL for an empty list.
1118   (make_space): New instead of the macro.
1119
1120 Tue Jul 25 17:44:15 CEST 2000  Werner Koch  <wk@openit.de>
1121
1122   * sexp.c: Major rewrite.
1123   (gcry_sexp_sscan): Reordered arguments.  Moved functionality to ..
1124   (sexp_sscan): .. this.
1125   (gcry_sexp_build): New.
1126   (gcry_sexp_new_name_mpi, gcry_sexp_new_name_data, gcry_sexp_new_data,
1127    gcry_sexp_new_mpi): Removed.
1128
1129 Fri Jul 14 19:38:23 CEST 2000  Werner Koch  <wk@>
1130
1131   * gcrypt.h (gcry_md_start_debug, gcry_md_stop_debug): New.
1132   (gcry_ctl_cmds): New control values
1133
1134   * sexp.c (gcry_sexp_sscan): Add hex format parsing.
1135
1136   * secmem.c (lock_pool): Check for ENOSYS return my mlock() on old SCOs.
1137   (pool_is_mmapped): Made volatile.
1138   (lock_pool): No more warning for QNX. By Sam Roberts.
1139   (lock_pool,secmem_init): Additional check for dropped privs.
1140
1141 2000-03-21 09:18:48  Werner Koch  (wk@habibti.gnupg.de)
1142
1143         * gcrypt.h (gcry_md_setkey): New.
1144         (GCRY_MD_FLAG_HMAC): New.
1145
1146 Mon Jan 31 16:37:34 CET 2000  Werner Koch  <wk@gnupg.de>
1147
1148         * Makefile.am: Add g10lib.h
1149
1150 Thu Jan 27 18:00:44 CET 2000  Werner Koch  <wk@gnupg.de>
1151
1152         * sexp.c (gcry_sexp_sscan): Allow NULL for erroff.
1153
1154 Mon Jan 24 22:24:38 CET 2000  Werner Koch  <wk@gnupg.de>
1155
1156         * sexp.c (gcry_sexp_alist): New.
1157
1158 Mon Jan 24 13:04:28 CET 2000  Werner Koch  <wk@gnupg.de>
1159
1160         * secmem.c: Moved from ../util to here.
1161         * secmem.h: New.
1162         * stdmem.c: New. Based on the old ../util/memory.c.
1163         * stdmem.h: New.
1164
1165 Wed Dec  8 21:58:32 CET 1999  Werner Koch  <wk@gnupg.de>
1166
1167         * gcrypt.m4: New.
1168         * gcrypt-config: New.
1169
1170         * mpi.h (mpi_get_nbit_info): Removed
1171         (mpi_set_nbit_info): Removed.
1172         (struct gcry_mpi): Removed the nbits field.
1173
1174         * misc.c (g10_log_verbosity): New.
1175
1176         * global.c (g10_xstrdup): New.
1177
1178         * mpiapi.c: Removed.
1179
1180         * mpi.h: Moved from ../include to here.  Removed some obsolete
1181         prototypes and the iobuf.h header.
1182         * cipher.h: Moved from ../include to here. Removed the mpi.h header.
1183         * g10lib.h: Moved from ../include to here.
1184
1185 Fri Nov 19 17:15:20 CET 1999  Werner Koch  <wk@gnupg.de>
1186
1187         * sexp.c (dump_string): New.  Taken from gnupg/util/miscutil.c.
1188         (do_dump_list): s/print_string/dump_string/.
1189
1190         * testapi.c: New.
1191
1192         * mpiapi.c (gcry_mpi_randomize): Use new random API.
1193
1194 Sat Nov 13 17:44:23 CET 1999  Werner Koch  <wk@gnupg.de>
1195
1196         * gloabl.c (gcry_control): Add cases for dumping random
1197         and secmem stats.
1198
1199 Tue Oct 26 14:10:21 CEST 1999  Werner Koch  <wk@gnupg.de>
1200
1201         * pkapi.c: Removed.
1202
1203         * symapi.c: Removed.
1204
1205         * g10lib.h:  Moved to ../include.
1206
1207         * mdapi.c: Removed.
1208
1209 Wed Jul  7 13:08:40 CEST 1999  Werner Koch  <wk@isil.d.shuttle.de>
1210
1211         * sexp.c: New.
1212
1213 Tue Dec  8 13:15:16 CET 1998  Werner Koch  <wk@isil.d.shuttle.de>
1214
1215         * gcrypt.h: New
1216         * mpiapi.c: New
1217
1218         
1219  Copyright 1998,1999,2000,2001,2002,2003 Free Software Foundation, Inc.
1220
1221  This file is free software; as a special exception the author gives
1222  unlimited permission to copy and/or distribute it, with or without
1223  modifications, as long as this notice is preserved.
1224
1225  This file is distributed in the hope that it will be useful, but
1226  WITHOUT ANY WARRANTY, to the extent permitted by law; without even the
1227  implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.