fixes for msvc compiler
[libgcrypt.git] / src / ChangeLog
1 2010-06-24  Werner Koch  <wk@g10code.com>
2
3         * gcrypt.h.in [W32]: Include time.h and not sys/time.h.
4
5 2010-04-19  Marcus Brinkmann  <marcus@g10code.de>
6
7         * misc.c (write2stderr): Dummy variable to silence gcc warning.
8
9 2010-04-16  Marcus Brinkmann  <marcus@g10code.de>
10
11         * sexp.c: (sexp_sscan): Make it variable length, and rename the old version to ...
12         (vsexp_sscan): ... this new function.  Also swap last two arguments.
13         (gcry_sexp_create): Remove dummy va_list.
14         (gcry_sexp_build): Use vsexp_sscan instead of sexp_sscan.
15         (_gcry_sexp_vbuild): Likewise.
16         (gcry_sexp_build_array): Remove dummy va_list.
17         (gcry_sexp_sscan): Likewise.
18
19 2010-04-12  Brad Hards  <bradh@frogmouth.net>  (wk)
20
21         Spelling fixes.
22
23 2010-03-15  Werner Koch  <wk@g10code.com>
24
25         * gcrypt.h.in: Add autoconf template to set generated file to
26         read-only in an Emacs buffer.
27
28 2010-01-21  Werner Koch  <wk@g10code.com>
29
30         * Makefile.am (arch_gpg_error_cflags, arch_gpg_error_libs): New.
31         (dumpsexp_CFLAGS): New.
32         (dumpsexp_LDADD): Add arch_gpg_error_libs.
33         (hmac256_CFLAGS, hmac256_LDADD): Add the arch variables.
34         (libgcrypt_la_DEPENDENCIES): Add libcompat.
35         * secmem.c (lock_pool): Mark unused args.
36         * global.c (do_malloc, gcry_realloc, gcry_free, gcry_calloc)
37         (gcry_calloc_secure, gcry_xcalloc, gcry_xcalloc_secure): Use
38         gpg_err_set_errno.
39         (_gcry_vcontrol): Call _gcry_compat_identification.
40         * hmac256.c [__MINGW32CE__]: Include gpg-error.h.
41         (_gcry_hmac256_file): Use gpg_err_set_errno.
42         (gpg_err_set_errno) [!GPG_ERR_INLINE]: Add macro.
43         * g10lib.h: Include libcompat.h.
44
45 2010-01-05  Werner Koch  <wk@g10code.com>
46
47         * gcrypt.h.in (GCRY_PK_ECDH): New.
48
49 2009-12-08  Werner Koch  <wk@g10code.com>
50
51         * gcrypt.h.in (GCRY_CIPHER_MODE_AESWRAP): New.
52
53 2009-12-08  Marcus Brinkmann  <marcus@g10code.de>
54
55         * Makefile.am (LTRCCOMPILE): Refactor with ...
56         (RCCOMPILE): ... this new macro.  Add $(libgcrypt_la_CPPFLAGS).
57         (SUFFIXES): Add .lo.
58         (.rc.o): Change to ...
59         (.rc.lo): ... this implicit rule.
60         (gcrypt_res_ldflag): Removed.
61         (gcrypt_res): Use libtool object file name here.
62         (libgcrypt_la_LDFLAGS): Remove gcrypt_res_ldflag usage.
63         (libgcrypt_la_LIBADD): Add gcrypt_res.
64
65 2009-11-29  Werner Koch  <wk@g10code.com>
66
67         * hwfeatures.c (detect_ia32_gnuc): Repalce "=r" by "+r" so that
68         HAS-CPUDID is always initialized.  Thanks to Ben Hutchings for
69         pointing out this problem.
70
71 2009-08-05  Werner Koch  <wk@g10code.com>
72
73         * ath.h: Include sys/msg.h.
74
75 2009-07-02  Werner Koch  <wk@g10code.com>
76
77         * fips.c (_gcry_initialize_fips_mode): Do not use FIPS mode if
78         /proc/.../fips_enabled has insufficient permissions.
79
80         * dumpsexp.c (main): Fix handling multiple files.
81         (parse_and_print): Implement hex and octal escaping.
82
83         * sexp.c (unquote_string): Remove superfluous clearing of ESC.
84         * dumpsexp.c (parse_and_print): Add missing break.
85         (main): Fix return value.
86         Reported by Fabian Keil.
87
88 2009-02-16  Werner Koch  <wk@g10code.com>
89
90         * ath.h [HAVE_SYS_SELECT_H]: Include <sys/select.h> for fd_set.
91         [!HAVE_SYS_SELECT_H]: Include <sys/time.h>.  Move inclusion of
92         config.h to the top.  The actual configure check was already
93         there.
94
95         * sexp.c: Remove memory.h.
96         * mpi.h: Remove memory.h.  Add string.h.
97
98 2009-02-02  Werner Koch  <wk@g10code.com>
99
100         * ath.h: Include sys/time.h.  Fixes bug#993.
101
102 2009-01-22  Werner Koch  <wk@g10code.com>
103
104         * fips.c (_gcry_initialize_fips_mode): Remove superfluous const
105         from static string.  Reported by Albert Chin.
106         * hmac256.c (selftest): Ditto and change to unsigned char.
107
108 2008-12-10  Werner Koch  <wk@g10code.com>
109
110         * hmac256.c (finalize): Fix for big endian hosts.
111
112 2008-12-05  Werner Koch  <wk@g10code.com>
113
114         * global.c (gcry_free): Save and restore ERRNO if set.
115
116 2008-11-24  Werner Koch  <wk@g10code.com>
117
118         * sexp.c (get_internal_buffer): New.
119         (sexp_sscan): Add format character S.
120         * cipher-proto.h (pk_ext_generate_t): Add field EXTRAINFO  changed
121         all implementors.
122
123         * cipher-proto.h (pk_ext_generate_t): Simplify. 
124         (pk_get_param): New.
125         (pk_extra_spec_t): Add field GET_PARAM.
126         * cipher.h (PUBKEY_FLAG_TRANSIENT_KEY): Remove.
127         (_gcry_pubkey_extraspec_elg): New.
128
129 2008-11-05  Werner Koch  <wk@g10code.com>
130
131         * cipher.h (CIPHER_INFO_NO_WEAK_KEY): New.
132
133         * cipher-proto.h (cipher_set_extra_info_t): New.
134         (cipher_extra_spec): Add field SET_EXTRA_INFO.
135
136 2008-10-30  Werner Koch  <wk@g10code.com>
137
138         * g10lib.h (GCC_ATTR_FORMAT_ARG): New.
139         (_gcry_gettext): Use it.
140
141 2008-10-24  Werner Koch  <wk@g10code.com>
142
143         * global.c (inactive_fips_mode): Move to fips.c. 
144         (gcry_set_allocation_handler): Factor code out to ...
145         * fips.c (_gcry_inactivate_fips_mode): New.
146         (_gcry_is_fips_mode_inactive): New.
147
148 2008-09-29  Werner Koch  <wk@g10code.com>
149
150         * gcrypt-module.h (GCRY_MODULE_ID_USER, GCRY_MODULE_ID_USER_LAST):
151         New.
152         * module.c (MODULE_ID_USER, MODULE_ID_USER_LAST): Define using new
153         macros.
154
155 2008-09-20  Werner Koch  <wk@g10code.com>
156
157         * hmac256.c (finalize) [WORDS_BIGENDIAN]: Fix sigbus problem.
158
159 2008-09-18  Werner Koch  <wk@g10code.com>
160
161         * cipher-proto.h (pk_ext_generate_t): Add args QBITS, NAME, DOMAIN.
162
163         * fips.c (fips_new_state): Allow Error => Error transition.
164
165 2008-09-18  Werner Koch  <wk@g10code.com>
166
167         * gcrypt.h.in (gcry_fips_mode_active): New.
168
169         * secmem.c (_gcry_secmem_init): Factor most code out to ..
170         (secmem_init): .. new.
171         (DEFAULT_POOL_SIZE): Rename to MINIMUM_POOL_SIZE.
172         (STANDARD_POOL_SIZE): New.
173         (_gcry_secmem_malloc_internal): Don't abort if the pool is not
174         initialized but try to out intialize it first and only then print
175         an error message and return NULL.  If the pool is not locked while
176         in FIPS mode, return NULL.
177
178         * fips.c (FIPS_FORCE_FILE): New constant.  Change the file name to
179         "/etc/gcrypt/fips_enabled".
180         (enforced_fips_mode): New.
181         (_gcry_initialize_fips_mode): Set that flag.
182         (_gcry_enforced_fips_mode): New.
183         * global.c (inactive_fips_mode): New.
184         (_gcry_vcontrol): Take that flag in account for GCRYCTL_FIPS_MODE_P.
185         (gcry_set_allocation_handler): Take care of the enforced fips mdoe
186         flag.
187         (get_no_secure_memory): New.
188         (do_malloc, gcry_is_secure): Use it.
189
190 2008-09-16  Werner Koch  <wk@g10code.com>
191
192         * global.c (print_config): Use y/n for fips mode.
193
194         * fips.c (fips_new_state): Allow transition to Error and
195         Fatal-error from Init.
196
197 2008-09-15  Werner Koch  <wk@g10code.com>
198
199         * fips.c [HAVE_SYSLOG]: Include syslog.h.
200         (_gcry_initialize_fips_mode, lock_fsm, unlock_fsm)
201         (_gcry_fips_signal_error, fips_new_state)
202         (_gcry_fips_noreturn) [HAVE_SYSLOG]: Also log via syslog.
203         (check_binary_integrity) [HAVE_SYSLOG]: Log failure.
204         * global.h [HAVE_SYSLOG]: Include syslog.h.
205         (_gcry_global_is_operational) [HAVE_SYSLOG]: Print warning.
206
207         * global.c (_gcry_vcontrol): Use GCRYCTL_INITIALIZATION_FINISHED
208         to run power-up tests.  Add unpublished control commands 58-60.
209
210         * global.c (_gcry_global_is_operational): New.
211         * g10lib.h (fips_is_operational): Change to call this function.
212
213 2008-09-12  Werner Koch  <wk@g10code.com>
214
215         * fips.c (_gcry_fips_run_selftests): Add arg EXTENDED.
216         (run_cipher_selftests, run_digest_selftests, run_hmac_selftests) 
217         (run_pubkey_selftests): Ditto.
218         * cipher-proto.h (selftest_func_t): Add arg EXTENDED
219
220 2008-09-11  Werner Koch  <wk@g10code.com>
221
222         * fips.c: Include string.h.
223         (loxtoi_1, loxtoi_2, loxdigit_p): New.
224         (check_binary_integrity): Change the format of the expected file.
225
226         * fips.c (_gcry_fips_run_selftests): Run random tests before the
227         pubkey tests.
228
229 2008-09-05  Werner Koch  <wk@g10code.com>
230
231         * gcrypt.h.in (GCYRCTL_SELFTEST): New.
232         * global.c (_gcry_vcontrol): Implement.
233         * fips.c (_gcry_fips_run_selftests): Do state transitions only if
234         in fips mode.  Return an error code.
235
236 2008-09-01  Werner Koch  <wk@g10code.com>
237
238         * stdmem.c: Re-indented.
239
240 2008-08-29  Werner Koch  <wk@g10code.com>
241
242         * fips.c (_gcry_initialize_fips_mode): Changed /proc file to test
243         for FIPS mode.
244
245         * cipher-proto.h (pk_compute_keygrip_t): New.
246         (pk_extra_spec): Add field comp_keygrip.
247
248 2008-08-28  Werner Koch  <wk@g10code.com>
249
250         * hwfeatures.c (_gcry_detect_hw_features): Disable hardware
251         detection in FIPS mode.
252
253 2008-08-27  Werner Koch  <wk@g10code.com>
254
255         * global.c (_gcry_vcontrol): Allow running selftests from error
256         state.
257         (gcry_set_outofcore_handler): Only print a warning if used in FIPS
258         mode.
259         (gcry_xmalloc, gcry_xrealloc, gcry_xmalloc_secure, gcry_xstrdup):
260         Ignore an outofcore handler in FIPS mode.
261
262         * fips.c (_gcry_fips_test_error_or_operational): New.
263         (fips_new_state): Allow transition from error into selftest.
264         Disallow error to init.
265
266 2008-08-26  Werner Koch  <wk@g10code.com>
267
268         * fips.c (fips_new_state): Print state transitions only at
269         verbosity level of 2.
270         (reporter): Likewise.
271
272         * cipher-proto.h (pk_ext_generate_t): New.
273         (pk_extra_spec): Add member ext_generate.
274         * cipher.h (PUBKEY_FLAG_TRANSIENT_KEY): New.
275
276 2008-08-22  Werner Koch  <wk@g10code.com>
277
278         * hmac256.c (_gcry_hmac256_file): New.
279         (main): New option --binary.
280         * fips.c (check_binary_integrity): New.
281         (_gcry_fips_run_selftests): Run it.
282
283         * global.c (_gcry_vcontrol) <GCRYCTL_UPDATE_RANDOM_SEED_FILE>:
284         Check for fips operational state.
285         (_gcry_vcontrol) <GCRYCTL_FAST_POLL>: Ditt.
286
287 2008-08-21  Werner Koch  <wk@g10code.com>
288
289         * misc.c (_gcry_log_printhex): New.
290
291 2008-08-20  Werner Koch  <wk@g10code.com>
292
293         * g10lib.h (gcry_assert): New.  use this at almost all places
294         where we used a plain assert.
295         * misc.c (_gcry_assert_failed): New.
296         (_gcry_bug): Also use func variant for ISO-C99.
297
298 2008-08-19  Werner Koch  <wk@g10code.com>
299
300         * visibility.c, visibility.h (gcry_mpi_lshift): New.
301         * libgcrypt.vers, libgcrypt.def, gcrypt.h.in: Ditto.
302
303 2008-08-15  Werner Koch  <wk@g10code.com>
304
305         * gcrypt.h.in (gcry_cipher_setkey): Replace macro by function.
306         (gcry_cipher_setiv):  Ditto.
307         (gcry_cipher_setctr): Ditto.
308         * visibility.c (gcry_cipher_setkey, gcry_cipher_setiv) 
309         (gcry_cipher_setctr): New.
310         * visibility.h (gcry_cipher_setkey, gcry_cipher_setiv) 
311         (gcry_cipher_setctr): New.
312         * libgcrypt.vers (gcry_cipher_setkey, gcry_cipher_setiv)
313         (gcry_cipher_setctr): New.
314         * libgcrypt.def (gcry_cipher_setkey, gcry_cipher_setiv) 
315         (gcry_cipher_setctr): New.
316
317         * hmac256.h, hmac256.c: New.
318         * Makefile.am (hmac256_SOURCES): New. 
319         * Makefile.am (bin_PROGRAMS): Add hmac256.
320
321         * gcrypt.h.in (struct gcry_thread_cbs): Change type of OPTION to
322         unsigned int.  Although this is a type change it does not make a
323         difference.
324         * ath.c (ath_install): Take the version of the option field in
325         account.
326         
327         * visibility.c (gcry_pk_encrypt, gcry_pk_decrypt, gcry_pk_sign)
328         (gcry_pk_verify, gcry_pk_testkey, gcry_pk_genkey)
329         (gcry_pk_get_nbits, gcry_pk_get_keygrip)
330         (gcry_md_open, gcry_md_copy, gcry_md_enable) 
331         (gcry_md_write, md_final, gcry_md_ctl, gcry_md_setkey) 
332         (gcry_md_hash_buffer, gcry_md_get_algo, gcry_md_info) 
333         (gcry_md_is_enabled)
334         (gcry_cipher_open, gcry_cipher_encrypt)
335         (gcry_cipher_decrypt, gcry_cipher_ctl)
336         (gcry_cipher_algo_info): Check whether the library is operational.
337
338         * cipher-proto.h: New.
339         * cipher.h: Include cipher-proto.h.
340         * visibility.h: Remove duplicate macro definitions.  Remove
341         gcry_cipher_register, gcry_md_register, gcry_pk_register macros.
342         * visibility.c: Include cipher-proto.h. 
343         (gcry_cipher_register): Pass dummy extra args to the internal
344         register function.
345         (gcry_md_register, gcry_pk_register): Ditto.
346         * g10lib.h (struct gcry_module): Add field EXTRASPEC.
347         * module.c (_gcry_module_add): Add arg EXTRASPEC.  Changed all
348         callers to pass NULL.
349
350         * fips.c: New.
351         * gcrypt.h.in (GCRYCTL_FIPS_MODE_P): New.
352         * global.c (global_init): Call fips initialization.
353         (_gcry_vcontrol): Add GCRYCTL_FIPS_MODE_P code.
354         (print_config): Add config item fips-mode.
355         (gcry_set_allocation_handler): Do not allow the use of custom
356         allocation handlers.
357         (gcry_set_outofcore_handler): Ditto.
358         (_gcry_get_debug_flag): Do not return any debug flags in fips mode.
359         * misc.c (_gcry_logv): Signal fips error on BUG or FATAL.
360         (_gcry_fatal_error): Ditto.
361
362 2008-07-05  Werner Koch  <wk@g10code.com>
363
364         * Makefile.am: Include librandom.la.
365
366 2008-04-18  Werner Koch  <wk@g10code.com>
367
368         * missing-string.c (vasprintf): Remove.  It is not used.  Reported
369         by Simon Josefsson.
370
371 2008-03-11  Werner Koch  <wk@g10code.com>
372
373         * gcrypt.h.in (gcry_ac_em_t, gcry_ac_scheme_t): Remove trailing
374         comma for full C-89 compatibility.
375         
376 2008-01-21  Marcus Brinkmann  <marcus@g10code.de>
377
378         * hwfeatures.c (detect_ia32_gnuc): Fix inline asm.
379
380 2007-12-11  Werner Koch  <wk@g10code.com>
381
382         * visibility.c (gcry_md_hash_buffer): Don't use return vor a void
383         function.  Hey, why does gcc not complain about this?
384         (gcry_ac_io_init_va): Ditto.
385
386 2007-12-05  Werner Koch  <wk@g10code.com>
387
388         * hwfeatures.c (detect_ia32_gnuc): Depend on ENABLE_PADLOCK_SUPPORT.
389
390 2007-12-03  Werner Koch  <wk@g10code.com>
391
392         * misc.c (_gcry_logv): Use abort for error levels fatal and bug as
393         this is more approriate for a library.  Terminate the secmem
394         before doing so.
395         (_gcry_fatal_error): Terminate secmem before abort.
396         * secmem.c (_gcry_secmem_malloc_internal): Use log_bug instead of
397         exit.
398
399 2007-11-29  Werner Koch  <wk@g10code.com>
400
401         * hwfeatures.c (detect_ia32_gnuc): Detect Padlock engine.
402
403 2007-11-13  Werner Koch  <wk@g10code.com>
404
405         * gcrypt.h.in (_GCRY_GCC_ATTR_MALLOC): Fixed gcc version check.
406         Reported by Gabriele Monti.
407
408 2007-10-31  Werner Koch  <wk@g10code.com>
409
410         * global.c (gcry_control): Factor most code out to ..
411         (_gcry_vcontrol): .. new.
412         * sexp.c (_gcry_sexp_vbuild): New.
413         * mpi.h (_gcry_mpi_set, _gcry_mpi_set_ui, _gcry_mpi_invm): Remove
414         prototypes as they are already in gcrypt.h.
415
416 2007-10-30  Werner Koch  <wk@g10code.com>
417
418         * sexp.c (gcry_sexp_nth_string): Replace by _gcry_sexp_nth_string.
419
420         * visibility.h, visibility.c: New.
421         * g10lib.h: Include visibility.h instead of gcrypt.h.
422         * globals.c (_gcry_malloc): Rename to ..
423         (do_malloc): .. this.
424
425         * hwfeatures.c: New.
426         * global.c (global_init): Detect features.
427         (print_config): Print them.
428
429 2007-08-22  Werner Koch  <wk@g10code.com>
430
431         * dumpsexp.c: New.
432         * Makefile.am (bin_PROGRAMS): Install it.
433
434         * getrandom.c (print_version): Use new standard license line.
435         * gcryptrnd.c (print_version): Ditto.
436
437 2007-06-06  Werner Koch  <wk@g10code.com>
438
439         * gcrypt.h.in (GCRY_THREAD_OPTION_PTH_IMPL): Factror network
440         related code out so that the prototypes can be adjusted for W32.
441         (_GCRY_THREAD_OPTION_PTH_IMPL_NET): New.
442
443 2007-05-09  Werner Koch  <wk@g10code.com>
444
445         * libgcrypt.m4: Print found version on success.
446
447 2007-05-09  Marcus Brinkmann  <marcus@g10code.de>
448
449         * gcrypt.h.in (gcry_ac_io_t): Add name for anonymous union, and mark
450         all members as internal (actually: deprecated).
451
452 2007-05-04  Werner Koch  <wk@g10code.com>
453
454         * Makefile.am (.rc.lo): New to replace gmake specific suffix rule.
455
456 2007-05-03  Werner Koch  <wk@g10code.com>
457
458         * libgcrypt.def (gcry_sexp_nth_string): New.
459         * Makefile.am (EXTRA_DIST): Add libgcrypt.def.
460
461 2007-05-02  Werner Koch  <wk@g10code.com>
462
463         * global.c (print_config): Print ciphers, digests and pubkeys.
464
465 2007-05-02  David Shaw  <dshaw@jabberwocky.com>
466
467         * cipher.h, gcrypt.h.in: Add Camellia.
468
469 2007-04-30  Werner Koch  <wk@g10code.com>
470
471         * gcrypt.h.in (GCRYCTL_PRINT_CONFIG): New.
472         (GCRYCTL_SET_RNDEGD_SOCKET): New.
473         * global.c (gcry_control): Add GCRYCTL_PRINT_CONFIG and
474         GCRYCTL_SET_RNDEGD_SOCKET.
475         (print_config): New.
476         * misc.c (_gcry_log_info_with_dummy_fp): New.
477
478 2007-04-18  Werner Koch  <wk@g10code.com>
479
480         * gcrypt.h.in (gcry_sexp_nth_string): New.
481
482         * sexp.c (gcry_sexp_nth_data): Factored code out to ...
483         (sexp_nth_data): ... new.
484         (gcry_sexp_nth_string): New.
485         (gcry_sexp_nth_mpi): Reimplemented in terms of sexp_ntd_data.
486
487 2007-04-16  Werner Koch  <wk@g10code.com>
488
489         * secmem.c (init_pool): Use sysconf() if available to determine
490         page size.
491         
492 2007-03-22  Werner Koch  <wk@g10code.com>
493
494         * mpi.h (mpi_mod): New.
495         (mpi_new, mpi_snew): New.
496
497         * gcrypt.h.in: Add GCRY_PK_ECDSA.
498
499 2007-03-16  Werner Koch  <wk@g10code.com>
500
501         * gcrypt.h.in (GCRY_THREAD_OPTION_PTHREAD_IMPL): Fixed typo
502         introduced by me on 2006-10-23.
503
504 2007-02-22  Werner Koch  <wk@g10code.com>
505
506         * gcrypt.h.in (gcry_ac_id_to_name, gcry_ac_name_to_id): Mark as
507         deprecated.
508
509         * libgcrypt.def (gcry_fast_random_poll): Removed - it is a macro.
510         (gcry_cipher_register, gcry_cipher_unregister): New.
511         (gcry_md_register, gcry_md_unregister): New.
512         (gcry_pk_register, gcry_pk_unregister): New.
513         (gcry_ac_data_from_sexp, gcry_ac_data_to_sexp): New.
514         (gcry_ac_io_init, gcry_ac_io_init_va): New.
515         (gcry_ac_data_encrypt_scheme, gcry_ac_data_decrypt_scheme): New.
516         (gcry_ac_data_sign_scheme, gcry_ac_data_verify_scheme): New.
517
518         * missing-string.c: Include stdio.h for the vsprintf prototype.
519
520         * ath.h (struct ath_ops) [_WIN32]: Use int instead of socklen_t.
521
522 2007-02-21  Werner Koch  <wk@g10code.com>
523
524         * libgcrypt.def (gcry_create_nonce, gcry_fast_random_poll)
525         (gcry_md_debug): New.
526
527         * libgcrypt-config.in: Remove duplicates from --cflags and --libs.
528         Print a error for option --thread.
529
530         * gcrypt.h.in (gcry_sexp_sprint): Change BUFFER from char* to void*.
531         (gcry_md_ctl): Change BUFFER from unsigned char* to void*.
532         (gcry_md_debug): New.
533         (gcry_cipher_encrypt, gcry_cipher_decrypt): Change buffer args to
534         void*.
535         (gcry_randomize): Change BUFFER to void.
536         (gcry_create_nonce): Ditto.
537
538         * libgcrypt.vers (gcry_md_debug): New.
539
540         * sexp.c (gcry_sexp_sprint): Ditto.
541         (normalize): Make P unsigned.
542         (gcry_sexp_nth_data): Cast return value to char*.
543         (sexp_sscan): Fix sign/unsigned conflicts.
544         (whitespacep): Change P to char*.
545         (unquote_string): Change STRING to char*.
546         (convert_to_hex): Change DEST to char*.
547         (convert_to_string): Change DEST and P to char*.
548         (convert_to_token): Chnage DEST to char*.
549         (gcry_sexp_canon_len): Change DISPHINT to unsigned char*.
550
551         * gcrypt-module.h (gcry_pk_spec): Made ALIASES a const.
552         (gcry_md_write_t): Changed BUF to a const void*.
553
554 2007-02-12  Werner Koch  <wk@g10code.com>
555
556         * gcrypt.h.in: Include stdlib.h for the sake fo the trheading
557         macros.  Suggested by Andreas Metzler.
558
559         * secmem.c (ptr_into_pool_p): New.
560         (_gcry_private_is_secure): Implement in terms of new function.
561         (BLOCK_VALID): Removed.  Replaced all users by new function.
562
563 2007-01-31  Werner Koch  <wk@g10code.com>
564
565         * secmem.c (_gcry_private_is_secure): Fixed severe implementation
566         flaw.  Might be the reason for some of the more obscure bugs.
567         (MB_WIPE_OUT): Use wipememory2.
568
569 2006-10-23  Werner Koch  <wk@g10code.com>
570
571         * gcrypt.h.in (GCRY_THREAD_OPTION_PTHREAD_IMPL): Add some cast for
572         use by C-doubleplus.  In general I don't like this but due to
573         public demand I give up ;-)
574
575 2006-10-19  Werner Koch  <wk@g10code.com>
576
577         * global.c (gcry_control) <GCRYCTL_INIT_SECMEM>: Return an error
578         if the memory could not be locked.
579         * secmem.c (not_locked): New.
580         (_gcry_secmem_get_flags): Return that flag.
581         * secmem.h (GCRY_SECMEM_FLAG_NOT_LOCKED): New.
582
583 2006-10-05  Werner Koch  <wk@g10code.com>
584
585         * module.c (_gcry_module_id_new): Don't assign modules in the range
586         the range of 1024..4096.
587         * gcrypt.h (GCRY_MD_USER, GCRY_MD_USER_LAST): New
588         (GCRY_PK_USER, GCRY_PK_USER_LAST): New.
589         (GCRY_CIPHER_USER, GCRY_CIPHER_USER_LAST): New.
590
591 2006-10-12  Marcus Brinkmann  <marcus@g10code.de>
592
593         * gcrypt.h.in: Replace socklen_t with gcry_socklen_t.
594
595 2006-10-11  Marcus Brinkmann  <marcus@g10code.de>
596
597         * gcrypt.h.in: Replace version by @VERSION@.
598
599 2006-10-10  Marcus Brinkmann  <marcus@g10code.de>
600
601         * gcrypt.h: Add fallback type for socklen_t.  Move to ...
602         * gcrypt.h.in: ... this file.
603         * Makefile.am (EXTRA_DIST): Add gcrypt.h.in.
604
605 2006-09-04  Werner Koch  <wk@g10code.com>
606
607         * gcrypt.h: Removed some trailing comma in enums.
608
609 2006-08-29  Werner Koch  <wk@g10code.com>
610
611         * global.c (gcry_xrealloc): Pass secure flag to outofcore handler.
612
613         * gcrypt.h (GCRY_CIPHER_SEED): New.
614
615 2006-08-21  Werner Koch  <wk@g10code.com>
616
617         * gcrypt.h (GCRYCTL_FAKED_RANDOM_P): New.
618
619 2006-07-29  Marcus Brinkmann  <marcus@g10code.de>
620
621         * secmem.c (init_pool): Close FD after establishing the mapping.
622
623 2006-07-12  Marcus Brinkmann  <marcus@g10code.de>
624
625         * ath.c (ath_mutex_destroy): Microoptimize destruction of unused
626         statitically initialized mutexes.  Suggested by Victor Stinner
627         <victor.stinner@inl.fr>.
628
629         * gcrypt.h (GCRY_THREAD_OPTION_PTHREAD_IMPL,
630         (GCRY_THREAD_OPTION_PTH_IMPL): Add missing initializers to
631         suppress gcc warning.
632         Submitted by Victor Stinner <victor.stinner@inl.fr>.
633
634 2006-07-04  Marcus Brinkmann  <marcus@g10code.de>
635
636         * ath.c: Avoid warning about double defined type byte and other
637         hacks to let it build for W32 (backported from LIBGCRYPT-1-2-BRANCH).
638         * ath.h, gcrypt.h, tests/benchmark.c, src/types.h: Likewise.
639
640         * gcrypt.h: Revert last change, and instead:
641         [_WIN32 || __WIN32__]: Do not include <sys/socket.h>, but
642         <winsock2.h> and <ws2tcpip.h>.
643         Suggested by Simon Josefsson <jas@extundo.com>.
644         
645         * Makefile.am (install-data-local, uninstall-local, %.lo,
646         (install-def-file, uninstall-def-file): New targets.
647         (LTRCCOMPILE, gcrypt_res, gcrypt_res_ldflag, no_undefined,
648         (export_symbols, gcrypt_deps): New variables.
649         * versioninfo.rc.in: New file.
650         * libgcrypt.def: New file from ../w32-dll/libgcrypt.def.
651
652         * gcrypt.h [!HAVE_SYS_SOCKET_H]: Do not include sys/socket.h, but
653         the appropriate windows socket header.
654
655 2006-06-21  Werner Koch  <wk@g10code.com>
656
657         * global.c (gcry_xcalloc, gcry_xcalloc_secure): Made safe against
658         integer overflow.
659
660         * sexp.c (make_space): Return an error on out of core.
661         (sexp_sscan): Remove all xmalloc style calls and return proper
662         error codes on allocation failures.
663         (gcry_sexp_find_token): Ditto.
664         (gcry_sexp_nth): 
665         
666         * sexp.c (gcry_sexp_find_token): Re-indented and removed a cruft
667         "while(level);" which fortunately had no effect.
668
669 2006-04-28  Werner Koch  <wk@g10code.com>
670
671         * gcrypt.h (GCRY_MD_SHA224): Change value from 306 to 11 to match
672         the use in OpenPGP.  There has been no release yet, so we can
673         safely do it.
674
675 2006-04-22  Moritz Schulte  <moritz@g10code.com>
676
677         * gcrypt.h (gcry_ctl_cmds): New commands:
678         GCRYCTL_SET_RANDOM_DAEMON_SOCKET, GCRYCTL_USE_RANDOM_DAEMON.  
679         * global.c (gcry_control): Handle new commands, calling
680         _gcry_set_random_daemon_socket() and _gcry_use_random_daemon().
681
682 2006-04-18  Werner Koch  <wk@g10code.com>
683
684         * gcrypt.h (GCRY_PK_USAGE_CERT, GCRY_PK_USAGE_AUTH)
685         (GCRY_PK_USAGE_UNKN): New.
686
687 2006-04-01  Moritz Schulte  <moritz@g10code.com>
688
689         * gcrypt.h (gcry_ac_eme_pkcs_v1_5): Removed members: key, handle;
690         added member: key_size.
691
692         * secmem.c (MB_FLAG_ACTIVE): Write braces around MB_FLAG_ACTIVE
693         definition.
694
695 2006-03-15  Werner Koch  <wk@g10code.com>
696
697         * getrandom.c: New.
698
699 2006-03-14  Werner Koch  <wk@g10code.com>
700
701         * gcryptrnd.c: New.
702
703 2006-03-10  Werner Koch  <wk@g10code.com>
704
705         * gcrypt.h: Add GCRY_MD_SHA224.
706
707 2005-11-02  Moritz Schulte  <moritz@g10code.com>
708
709         * gcrypt.h: Update comments for functions: gcry_cipher_algo_name,
710         gcry_pk_algo_name.
711
712 2005-10-31  Moritz Schulte  <moritz@g10code.com>
713
714         * global.c: Added documentation.
715
716 2005-10-16  Moritz Schulte  <moritz@g10code.com>
717
718         * global.c (global_init): Use gcry_error_t instead of
719         gcry_err_code_t; use goto instead of if constructs.
720
721         * stdmem.c: Inserted description of the layered memory management
722         in Libgcrypt.
723
724         * g10lib.h: Removed G10_I18N_H related check; it seems to be a
725         GnuPG relict (Libgcrypt does not define this symbol anywhere).
726         (FLAG_MODULE_DISABLED): Don't forget parantheses around shifted
727         value.
728         
729         Removed GCC_ATTR_PURE macro definitions, since gcrypt.h does
730         already contain such a macro named _GCRY_GCC_ATTR_PURE, which we
731         can use here as well.
732
733         Likewise for GCC_ATTR_MALLOC and _GCRY_GCC_ATTR_MALLOC.
734
735         * stdmem.h: Use _GCRY_GCC_ATTR_MALLOC instead of GCC_ATTR_MALLOC.
736         * secmem.h: Likewise.
737
738 2005-10-09  Moritz Schulte  <moritz@g10code.com>
739
740         * global.c (gcry_control): Call global_init() after passing thread
741         cbs to ath.  global_init() MUST to be called AFTER passing the cbs
742         to ath and BEFORE calling library functions, which make use of
743         ath.  This change combines cbs installing with ath initialization
744         and thus removes the need to call other library initialization
745         functions inbetween like e.g. gcry_check_version().
746
747 2005-10-01  Moritz Schulte  <moritz@g10code.com>
748
749         * ath.c: Assign copyright to FSF.
750         * ath.h: Likewise.
751
752 2005-06-25  Moritz Schulte  <moritz@g10code.com>
753
754         * Makefile.am (pkgconfigdir, pkgconfig_DATA): Removed variables.
755         * libgcrypt.pc.in: Removed file - we do not want to support a
756         second, foreign configuration system.
757
758 2005-06-17  Moritz Schulte  <moritz@g10code.com>
759
760         * global.c (gcry_xstrdup): Removed superfluous strcpy call.
761
762 2005-04-22  Moritz Schulte  <moritz@g10code.com>
763
764         * Makefile.am (pkgconfigdir, pkgconfig_DATA): New; support for
765         pkgconfig provided by Albert Chin.
766         * libgcrypt.pc.in (Cflags): New file.
767
768 2005-04-16  Moritz Schulte  <moritz@g10code.com>
769
770         * g10lib.h (_gcry_ac_init): Declare.
771         * global.c (global_init): Call _gcry_ac_init; don't forget to set
772         err.
773
774 2005-04-14  Werner Koch  <wk@g10code.com>
775
776         * sexp.c (whitespacep): New.
777         (sexp_sscan): Replaced isdigit and isspace by whitespacep and
778         digitp.
779
780 2005-04-11  Moritz Schulte  <moritz@g10code.com>
781
782         * gcrypt.h (gcry_md_algos): Added: GCRY_MD_WHIRLPOOL.
783         * cipher.h (_gcry_digest_spec_whirlpool): Declare.
784
785 2005-03-30  Moritz Schulte  <moritz@g10code.com>
786
787         * libgcrypt.vers: Added: gcry_ac_io_init, gry_ac_io_init_va.
788
789         * gcrypt.h (gcry_ac_data_read_cb_t, gcry_ac_data_write_cb_t,
790         gcry_ac_io_mode_t, gcry_ac_io_type_t, gcry_ac_io_t): New types.
791         (gcry_ac_io_init_va): Declare function.
792         (gcry_ac_data_encode, gcry_ac_data_decode,
793         gcry_ac_data_encrypt_scheme, gcry_ac_data_decrypt_scheme,
794         gcry_ac_data_sign_scheme, gcry_ac_data_verify_scheme): Use
795         gcry_ac_io_type_t objects instead of memory strings directly.
796
797 2005-03-03  Moritz Schulte  <moritz@g10code.com>
798
799         * libgcrypt.vers: Added: gcry_ac_data_to_sexp() and
800         gcry_ac_data_from_sexp().
801
802 2005-02-22  Werner Koch  <wk@g10code.com>
803
804         * global.c (_gcry_malloc): Make sure ERRNO is set if we return
805         NULL.  Remove unneeded initialization of M to allow the compiler
806         to catch errors.
807         (gcry_realloc): Make sure ERRNO is set if we return NULL>
808
809 2005-02-13  Moritz Schulte  <moritz@g10code.com>
810
811         * gcrypt.h: Declare new functions: gcry_ac_data_encrypt_scheme,
812         gcry_ac_data_decrypt_scheme, gcry_ac_data_sign_scheme,
813         gcry_ac_data_verify_scheme, gcry_ac_data_encode,
814         gcry_ac_data_decode, gcry_ac_data_to_sexp, gcry_ac_data_from_sexp.
815         New types: gcry_ac_emsa_pkcs_v1_5_t, gcry_ac_ssa_pkcs_v1_5_t,
816         gcry_md_algo_t.
817         New enumeration lists: gcry_ac_scheme_t, gcry_ac_em_t.
818         * libgcrypt.vers: Added new ac functions.
819         * g10lib.h: Declare function: _gcry_pk_get_elements.
820         * mpi.h (mpi_get_ui): New macro.
821         Declare function: _gcry_mpi_get_ui.
822
823 2004-11-09  Werner Koch  <wk@g10code.com>
824
825         * gcrypt.h: Removed 3 trailing commas from enums.  Noted by Heiko
826         Stamer.
827
828 2004-09-21  Werner Koch  <wk@g10code.de>
829
830         * sexp.c (sexp_sscan): Removed C++ style comments.  Noted by Yoann
831         Vandoorselaere.
832
833 2004-08-23  Moritz Schulte  <moritz@g10code.com>
834
835         * global.c: Do not include <assert.h>. 
836         * sexp.c: Likewise.
837         * module.c: Likewise.
838         * misc.c: Likewise.
839
840 2004-08-18  Moritz Schulte  <moritz@g10code.com>
841
842         * secmem.c (_gcry_secmem_init): Try to lock pool into core not
843         only when running with root privileges.
844
845 2004-08-16  Werner Koch  <wk@g10code.de>
846
847         * secmem.h (_gcry_secmem_set_flags,_gcry_secmem_get_flags):
848         Removed __pure__.
849         (GCRY_SECMEM_FLAG_NO_WARNING): Put macro value into parens.
850
851         * secmem.c (_gcry_secmem_init): Defer printing of the warning.
852
853 2004-08-10  Moritz Schulte  <moritz@g10code.com>
854
855         * gcrypt.h: Include <sys/time.h>, thanks to Simon Josefsson.
856
857 2004-05-07  Werner Koch  <wk@gnupg.org>
858
859         * gcrypt.h: Added GCRYCTL_FAST_POLL.
860         (gcry_fast_random_poll): New.
861         * global.c (gcry_control) <INITIALIZATION_FINISHED>: Do only basic
862         random subsystem init.
863         (gcry_control) <FAST_POLL>: New.
864
865 2004-04-22  Marcus Brinkmann  <marcus@g10code.de>
866
867         * libgcrypt.m4: Quote first argument to AC_DEFUN.
868
869 2004-04-15  Werner Koch  <wk@gnupg.org>
870
871         * secmem.c (_gcry_secmem_malloc_internal): Removed old extra info
872         error output.
873         (_gcry_secmem_term): Use wipememory2 here.
874
875         * misc.c (_gcry_burn_stack): Use wipememory to avoid optimizations.
876
877         * string.c: Removed.  Was never used.
878         * global.c (gcry_strdup): Replaced by the version from string.c
879         (gcry_xstrdup): Rewritten.
880         * gcrypt.h: Removed duplicate prototype for gcry_strdup.
881
882 2004-03-29  Werner Koch  <wk@gnupg.org>
883
884         * secmem.c (_gcry_secmem_realloc): Fixed double unlock; bug
885         manifested itself due to the more rigorous checking in the changed
886         ath.h
887
888         * libgcrypt-config.in (Options): Ignore the obsolete --threads
889         option for now.
890
891 2004-03-17  Marcus Brinkmann  <marcus@g10code.de>
892
893         * libgcrypt-config.in (includedir, libdir): Quote'em.  Use
894         $gpg_error_cflags and $gpg_error_libs.  Fix construction of
895         $includes.
896
897 2004-03-14  Marcus Brinkmann  <marcus@g10code.de>
898
899         * libgcrypt-config.in (includedir, libdir): New variables.  For
900         --cflags, don't test $cflags.  Also check against /include for the
901         GNU/Hurd.  Don't overwrite but extend $cflags_final.  Likewise for
902         --libs.
903
904 2004-03-10  Marcus Brinkmann  <marcus@g10code.de>
905
906         * Makefile.am (ltlib_libgcrypt_pthread, ltlib_libgcrypt_pth): Removed.
907         (lib_LTLIBRARIES): Remove those variables from here.
908         (libgcrypt_pthread_la_SOURCES, libgcrypt_pthread_la_LDFLAGS,
909         (libgcrypt_pthread_la_DEPENDENCIES, libgcrypt_pthread_la_LIBADD,
910         (libgcrypt_pth_la_SOURCES, libgcrypt_pth_la_LDFLAGS,
911         (libgcrypt_pth_la_DEPENDENCIES, libgcrypt_pth_la_LIBADD,
912         (noinst_LTLIBRARIES): Removed.
913         (libgcrypt_real_la_SOURCES): Merge with ...
914         (libgcrypt_la_SOURCES): ... likewise.
915         (libgcrypt_real_la_DEPENDENCIES): Merge with ...
916         (libgcrypt_la_DEPENDENCIES): ... this.
917         (libgcrypt_real_la_LIBADD): Merge with ...
918         (libgcrypt_la_LIBADD): ... this.
919         * libgcrypt-config.in (libs_pthread, libs_pth, cflags_pth) 
920         (cflags_pthread, thread_module, thread_modules): Removed.
921         (Options): Remove --thread option from help output.  If the option
922         is specified, output an error and exit.
923         For --cflags and --libs option, remove pth and pthread from output.
924         * gcrypt.h: Include <sys/types.h> and <sys/socket.h>.
925         (enum gcry_ctl_cmds): Add GCRYCTL_SET_THREAD_CBS.
926         (gcry_thread_cbs): New struct.
927         * global.c (gcry_control): Implement GCRYCTL_SET_THREAD_CBS.
928         (global_init): Don't call ath_init here.
929         * ath.h: Rewritten.
930         * ath.c: Rewritten.
931
932 2004-03-06  Werner Koch  <wk@gnupg.org>
933
934         * libgcrypt-config.in: s/--soname-number/--api-version/
935         * libgcrypt.m4: Changed test for API version.
936
937 2004-03-05  Werner Koch  <wk@gnupg.org>
938
939         * libgcrypt.m4: Optionally check the SONAME number.
940
941         * libgcrypt-config.in: Add option --soname-number
942
943 2004-03-01  Marcus Brinkmann  <marcus@g10code.de>
944
945         * Makefile.am (libgcrypt_la_SOURCES): Add ath.c.
946         * ath.c (ath_init): Add missing function.
947
948         * Makefile.am (ath_pth_src): Removed.
949         (ath_pthread_src): Removed.
950         (libgcrypt_la_SOURCES): Remove ath-compat, $(ath_pth_src) and
951         $(ath_pthread_src).
952         * ath-compat.c, ath-pth-compat.c, ath-pthread-compat.c: Files
953         removed.
954         
955 2004-02-20  Werner Koch  <wk@gnupg.org>
956
957         * gcrypt.h (GCRY_PRIME_CHECK_AT_GOT_PRIME)
958         (GCRY_PRIME_CHECK_AT_FINISH),
959         (GCRY_PRIME_CHECK_AT_MAYBE_PRIME): New.
960
961 2004-02-18  Werner Koch  <wk@gnupg.org>
962
963         * libgcrypt-config.in: Ignore setting of --prefix.
964
965 2004-02-13  Werner Koch  <wk@gnupg.org>
966
967         * gcrypt.h: Added GCRY_CIPHER_RFC2268_128, alsthough not yet
968         supported.
969
970 2004-02-06  Werner Koch  <wk@gnupg.org>
971
972         * gcrypt.h: Added GCRY_CIPHER_RFC2268_40.
973
974 2004-02-03  Werner Koch  <wk@gnupg.org>
975
976         * secmem.c (_gcry_secmem_init): Do not print the "not locked into
977         core warning" if the NO_WARNING flag has been set.
978
979         * sexp.c (sexp_sscan): Allocate result in secure memory if BUFFER
980         is in secure memory. Switch to secure memory for the a secure %b
981         format item. Extra paranoid wipe on error.
982         (gcry_sexp_release): Added paranoid wiping for securely allocated
983         S-expressions.
984
985 2004-01-25  Moritz Schulte  <mo@g10code.com>
986
987         * ath.h: Include <config.h>.
988
989 2004-01-12  Moritz Schulte  <mo@g10code.com>
990
991         * gcrypt.h: Adjusted declarations of: gcry_ac_data_set,
992         gcry_ac_data_get_name, gcry_ac_data_get_index,
993         gcry_ac_key_pair_generate, gcry_ac_key_test,
994         gcry_ac_key_get_nbits, gcry_ac_key_get_grip.
995
996         * gcrypt.h (GCRY_AC_FLAG_DATA_NO_BLINDING): Removed symbol.
997         (GCRY_AC_FLAG_DEALLOC, GCRY_AC_FLAG_COPY) 
998         (GCRY_AC_FLAG_NO_BLINDING): New symbols.
999
1000         * global.c (gcry_strdup): Removed function.
1001         * string.c: New file.
1002         * Makefile.am (libgcrypt_real_la_SOURCES): Added: string.c.
1003         * string.c (gcry_strdup): New function.
1004         * gcrypt.h (gcry_strdup): Declare.
1005
1006 2003-12-19  Werner Koch  <wk@gnupg.org>
1007
1008         * g10lib.h (wipememory, wipememory2): New; taken from gnupg.
1009
1010 2003-11-14  Werner Koch  <wk@gnupg.org>
1011
1012         * global.c (gcry_strdup): Don't copy the string after a malloc
1013         error.
1014
1015 2003-11-11  Werner Koch  <wk@gnupg.org>
1016
1017         * sexp.c (sexp_sscan): Implemented "%b" format specifier.
1018
1019 2003-11-11  Moritz Schulte  <mo@g10code.com>
1020
1021         * libgcrypt.m4: Do not set prefix when calling libgcrypt-config.
1022         Thanks to Nikos Mavroyanopoulos.
1023
1024 2003-11-08  Moritz Schulte  <mo@g10code.com>
1025
1026         * cipher.h (small_prime_numbers): Removed declaration.
1027         (PUBKEY_FLAG_NO_BLINDING): Put braces around shift.
1028
1029 2003-11-04  Werner Koch  <wk@gnupg.org>
1030
1031         * cipher.h (_gcry_sha1_has_buffer): New.
1032
1033         * gcrypt.h (gcry_create_nonce): New.
1034
1035 2003-10-31  Werner Koch  <wk@gnupg.org>
1036
1037         * libgcrypt.vers (_gcry_generate_elg_prime): Removed this symbol;
1038         gnutls does not need it anymore.
1039
1040         * secmem.c (mb_get_new): s/pool/block/ due to global pool.
1041
1042         * misc.c (gcry_set_log_handler): s/logf/f/ to avoid shadowing
1043         warning against a builtin.
1044
1045         * ath-pth-compat.c: cast pth_connect to get rid of the const
1046         prototype.
1047
1048 2003-10-27  Werner Koch  <wk@gnupg.org>
1049
1050         * ath.h (ATH_MUTEX_INITIALIZER): Removed spurious semicolon.
1051
1052 2003-10-27  Moritz Schulte  <mo@g10code.com>
1053
1054         * libgcrypt-config.in: Include libs/cflags of libgpg-error.
1055
1056         * sexp.c (sexp_sscan): Cleaned up, deallocate scanned sexp on
1057         error.
1058
1059         * module.c (MODULE_ID_MIN): New symbol, use it.
1060
1061 2003-10-27  Werner Koch  <wk@gnupg.org>
1062
1063         * gcrypt.h (gcry_pk_testkey): Doc fix.
1064
1065 2003-09-29  Moritz Schulte  <mo@g10code.com>
1066
1067         * libgcrypt-config.in: Fix --algorithms option.
1068
1069 2003-10-23  Werner Koch  <wk@gnupg.org>
1070
1071         * gcrypt.h (gcry_err_code): Use GPG_ERR_INLINE instead of
1072         __inline__.
1073
1074         * secmem.c (lock_pool): Don't print the warning for certain
1075         systems, handle ENOMEM.
1076
1077 2003-10-21  Werner Koch  <wk@gnupg.org>
1078
1079         * secmem.c (_gcry_secmem_dump_stats): Fixed format sepcifier for a
1080         size_t.  Reported by Stephane Corthesy.
1081
1082 2003-10-10  Werner Koch  <wk@gnupg.org>
1083
1084         * global.c (_gcry_malloc): Handle the no_secure_memory option.
1085
1086         * gcrypt.h (gcry_prime_group_generator): New.
1087         (gcry_prime_release_factors): New.
1088
1089 2003-10-07  Werner Koch  <wk@gnupg.org>
1090
1091         * sexp.c (sexp_sscan): Check that parenthesis are matching.
1092
1093 2003-09-28  Moritz Schulte  <mo@g10code.com>
1094
1095         * g10lib.h: Declare: _gcry_malloc.
1096         (GCRY_ALLOC_FLAG_SECURE): New symbol.
1097
1098         * global.c (_gcry_malloc): New function...
1099         (gcry_malloc): ... use it.
1100         (gcry_malloc_secure): Likewise.
1101
1102         * ath.c: Change License to LGPL.
1103         * ath-pthread-compat.c: Likewise.
1104         * ath-pthread.c: Likewise.
1105         * ath-pth-compat.c: Likewise.
1106         * ath-pth.c: Likewise.
1107         * ath.h: Likewise.
1108         * ath-compat.c: Likewise.
1109
1110         * secmem.c (_gcry_secmem_realloc): Do not forget to release secmem
1111         lock.  Thanks to low halo for triggering this bug.
1112
1113 2003-09-04  Werner Koch  <wk@gnupg.org>
1114
1115         * gcrypt.h (_GCRY_ERR_SOURCE_DEFAULT): Removed cruft.
1116         (gcry_prime_check_func_t): Renamed arg for clarity.
1117
1118 2003-09-02  Moritz Schulte  <mo@g10code.com>
1119
1120         * gcrypt.h (GCRY_PRIME_FLAG_SPECIAL_FACTOR): New symbol.
1121
1122 2003-09-01  Moritz Schulte  <mo@g10code.com>
1123
1124         * gcrypt.h (gcry_random_level_t): New type.
1125         (gcry_prime_check_func_t): Likewise.
1126         (GCRY_PRIME_FLAG_SECRET): New symbol.
1127         (gcry_prime_generate, gcry_prime_check): Declare functions.
1128
1129 2003-08-28  Werner Koch  <wk@gnupg.org>
1130
1131         * Makefile.am (libgcrypt_pth_la_LDFLAGS): Removed PTH_CFLAGS cruft.
1132
1133 2003-08-27  Moritz Schulte  <mo@g10code.com>
1134
1135         * global.c (gcry_control): Remove call to ath_deinit.
1136
1137         * Makefile.am (libgcrypt_real_la_DEPENDENCIES): Fixed.
1138         (libgcrypt_real_la_LIBADD): Fixed.
1139         Removed unecessary variables.
1140
1141         * libgcrypt-config.in: Adjusted script for new thread handling.
1142
1143         * Makefile.am: New version, based on GPGMEs Makefile.am.
1144
1145         * ath.c, ath-compat.c, ath.h, ath-pth.c, ath-pth-compat.c,
1146         ath-pthread.c, ath-pthread-compat.c: New files, merged from GPGME.
1147         * ath.c, ath.h, ath-pthread.c, ath-pth.c: Removed files.
1148
1149 2003-08-08  Moritz Schulte  <moritz@g10code.com>
1150
1151         * global.c (gcry_realloc): Remove FIXME about `clearing out
1152         realloced memory', since _gcry_secmem_realloc takes care of
1153         overwriting old memory.
1154
1155 2003-08-07  Werner Koch  <wk@gnupg.org>
1156
1157         * module.c (_gcry_module_release): Don't act if module is NULL.
1158
1159 2003-07-30  Moritz Schulte  <moritz@g10code.com>
1160
1161         * gcrypt.h (enum gcry_ac_id): Added: GCRY_AC_ELG_E.
1162         Reverted change: use gcry_md_flags enumeration list instead of
1163         defines.
1164
1165 2003-07-29  Werner Koch  <wk@gnupg.org>
1166
1167         * global.c (gcry_control): Add GCRYCTL_SET_RANDOM_SEED_FILE and
1168         GCRYCTL_UPDATE_RANDOM_SEED_FILE.
1169         * gcrypt.h: Ditto.  Renamed index to idx, so avoid warning
1170         related to the old index function.
1171
1172 2003-07-28  Moritz Schulte  <moritz@g10code.com>
1173
1174         * global.c (gcry_err_code_from_errno, gcry_err_code_to_errno)
1175         (gcry_err_make_from_errno, gcry_error_from_errno): New functions.
1176
1177         * gcrypt.h: Declared: gcry_err_code_from_errno,
1178         gcry_err_code_to_errno, gcry_err_make_from_errno,
1179         gcry_error_from_errno.
1180
1181         * Makefile.am (include_HEADERS): Added: gcrypt-module.h.
1182
1183         * gcrypt.h: Include <gcrypt-module.h>.
1184
1185         * gcrypt-module.h: New file.
1186
1187 2003-07-27  Werner Koch  <wk@gnupg.org>
1188
1189         * gcrypt.h (gcry_mpi_scan, gcry_mpi_print): API change.
1190         (gcry_mpi_dump): New.
1191
1192 2003-07-21  Moritz Schulte  <moritz@g10code.com>
1193
1194         * gcrypt.h: Declared: gcry_ac_key_data_get.
1195         (gcry_pk_spec): Renamed member `sexp_names' into `aliases'.
1196
1197 2003-07-20  Moritz Schulte  <moritz@g10code.com>
1198
1199         * gcrypt.h (gcry_md_oid_spec_t): New type.
1200         (gcry_md_spec): New member: oids.
1201
1202 2003-07-19  Moritz Schulte  <moritz@g10code.com>
1203
1204         * gcrypt.h (gcry_cipher_oid_spec_t): New type.
1205         (gcry_cipher_spec): New member: oids;
1206
1207 2003-07-18  Werner Koch  <wk@gnupg.org>
1208
1209         * gcrypt.h (gcry_mpi_set_opaque): Add a warning comment.
1210
1211 2003-07-15  Moritz Schulte  <moritz@g10code.com>
1212
1213         * secmem.c (compress_pool): Remove function, since unused blocks
1214         are automatically concatenad.
1215
1216         * gcrypt.h: Bumped version number up to 1.1.42-cvs.
1217
1218 2003-07-14  Moritz Schulte  <moritz@g10code.com>
1219
1220         * gcrypt.h (gcry_cipher_spec): New member: aliases.
1221
1222         * Makefile.am (noinst_PROGRAMS, testapi_SOURCES, testapai_LDADD,
1223         benchmark_SOURCES, benchmark_LDADD): Removed.
1224
1225         * benchmark.c, testapi.c: Removed files.
1226
1227         * mpi.h: Removed disabled typedef.
1228         * g10lib.h: Likewise.
1229
1230         * benchmark.c, g10lib.h, gcrypt.h, global.c, module.c, sexp.c:
1231         Used gcry_err* wrappers for libgpg-error symbols.
1232
1233 2003-07-12  Moritz Schulte  <moritz@g10code.com>
1234
1235         * global.c: Likewise.
1236
1237         * gcrypt.h: New type: gcry_error_t, gcry_err_code_t and
1238         gcry_err_source_t.
1239         (gcry_err_make, gcry_error, gcry_err_code, gcry_err_source): New
1240         functions.
1241
1242         * global.c (gcry_strerror): New function.
1243         (gcry_strsource): New function.
1244
1245         * gcrypt.h: New symbol: GCRY_CIPHER_TWOFISH128.
1246
1247 2003-07-09  Moritz Schulte  <moritz@g10code.com>
1248
1249         * gcrypt.h (enum gcry_md_flags): Removed, used define instead,
1250         since that is more common than an enumeration list when it comes
1251         to flags that can be bitwise ORed.
1252         
1253 2003-07-08  Moritz Schulte  <moritz@g10code.com>
1254
1255         * global.c: Use new types for handlers.
1256
1257         * gcrypt.h: Declare: gcry_ac_data_copy.
1258
1259 2003-07-07  Moritz Schulte  <moritz@g10code.com>
1260
1261         * sexp.c (gcry_sexp_build_array): Use dummy argument pointer.
1262         Thanks to Simon Josefsson <jas@extunde.com>.
1263
1264         * gcrypt.h: Declare: gcry_cipher_list, gcry_pk_list, gcry_md_list.
1265         
1266 2003-07-05  Moritz Schulte  <moritz@g10code.com>
1267
1268         * gcrypt.h: Declare: gcry_cipher_register, gcry_cipher_unregister,
1269         gcry_md_register, gcry_md_unregister, gcry_pk_register,
1270         gcry_pk_unregister.
1271         (gcry_cipher_spec): Removed member: algorithm.
1272         (gcry_pk_spec): Likewise.
1273         (gcry_md_spec): Likewise.
1274         Adjusted declarations: gcry_cipher_register, gcry_pk_register,
1275         gcry_md_register.
1276
1277         * module.c: Replaced all occurences of `id' with `mod_id', since
1278         `id' is a keyword in obj-c.
1279
1280         * gcrypt.h (gcry_cipher_spec): Renamed member `id' to `algorithm'.
1281         (gcry_pk_spec): Likewise.
1282         (gcry_md_spec): Likewise.
1283
1284         * cipher.h: Removed types: gcry_pubkey_generate_t,
1285         gcry_pubkey_check_secret_key_t, gcry_pubkey_encrypt_t,
1286         gcry_pubkey_decrypt_t, gcry_pubkey_sign_t, gcry_pubkey_verify_t,
1287         gcry_pubkey_get_nbits_t, gcry_pk_spec_t, gcry_digest_init_t,
1288         gcry_digest_write_t, gcry_digest_final_t, gcry_digest_read_t,
1289         gcry_digest_spec_t, gcry_cipher_setkey_t, gcry_cipher_encrypt_t,
1290         gcry_cipher_decrypt_t, gcry_cipher_stencrypt_t,
1291         gcry_cipher_stdecrypt_t, gcry_cipher_spec_t.
1292
1293         * gcrypt.h: New types: gcry_pk_generate_t,
1294         gcry_pk_check_secret_key_t, gcry_pk_encrypt_t, gcry_pk_decrypt_t,
1295         gcry_pk_sign_t, gcry_pk_verify_t, gcry_pk_get_nbits_t,
1296         gcry_pk_spec_t, gcry_md_init_t, gcry_md_write_t, gcry_md_final_t,
1297         gcry_md_read_t, gcry_md_spec_t, gcry_cipher_setkey_t,
1298         gcry_cipher_encrypt_t, gcry_cipher_decrypt_t,
1299         gcry_cipher_stencrypt_t, gcry_cipher_stdecrypt_t,
1300         gcry_cipher_spec_t, gcry_module_t.
1301
1302 2003-07-04  Moritz Schulte  <moritz@g10code.com>
1303
1304         * module.c (_gcry_module_list): New function.
1305
1306 2003-07-02  Moritz Schulte  <moritz@g10code.com>
1307
1308         * module.c (_gcry_module_lookup): Fixed typo.
1309
1310         * gcrypt.h: Added all definitions and declarations necessary for
1311         the new ac interface.
1312
1313 2003-06-30  Moritz Schulte  <moritz@g10code.com>
1314
1315         * g10lib.h: Added declarations: _gcry_pk_module_lookup,
1316         _gcry_pk_module_release.
1317
1318 2003-06-18  Werner Koch  <wk@gnupg.org>
1319
1320         * benchmark.c (cipher_bench): Adjusted for new API of get_blklen
1321         and get_keylen.
1322
1323         * gcrypt.h (gcry_cipher_get_algo_blklen)
1324         (gcry_cipher_get_algo_keylen): Replaced macro by funcion.
1325
1326 2003-06-18  Moritz Schulte  <moritz@g10code.com>
1327
1328         * cipher.h: Renamed types GcryDigestSpec, GcryCipherSpec and
1329         GcryPubkeySpec into: gcry_digest_spec_t, gcry_cipher_spec_t and
1330         gcry_pubkey_spec_t.
1331         (gcry_pubkey_spec): Defined member `id' as unsigned.
1332         (gcry_digest_spec): Likewise.
1333         (gcry_cipher_spec): Likewise.
1334
1335         * module.c (_gcry_module_id_new): New function.
1336         (_gcry_module_add): Generate a new ID via _gcry_module_id_new in
1337         case `id' is zero.
1338
1339         * g10lib.h, module.c: Replace old type GcryModule with newer one:
1340         gcry_module_t.
1341
1342         * module.c (_gcry_module_add): Added argument `id', use it.
1343
1344         * g10lib.h: Added declaration: _gcry_module_lookup_id.
1345         (_gcry_module_add): Added argument `id'.
1346
1347         * module.c (_gcry_module_lookup_id): New function.
1348
1349         * g10lib.h (struct gcry_module): New member: id.
1350
1351         * gcrypt.h: New type: gcry_handler_progress_t,
1352         gcry_handler_alloc_t, gcry_haandler_secure_check_t,
1353         gcry_handler_realloc_t, gcry_handler_free_t,
1354         gcry_handler_no_mem_t, gcry_handler_error_t, gcry_handler_log_t.
1355         Use new types.
1356
1357         * cipher.h: Include <gcrypt.h>.
1358         New types: gcry_pk_generate_t, gcry_pk_check_secret_key_t,
1359         gcry_pk_encrypt_t, gcry_pk_decrypt_t, gcry_pk_sign_t,
1360         gcry_pk_verify_t, gcry_pk_get_nbits_t, gcry_md_init_t,
1361         gcry_md_write_t, gcry_md_final_t, gcry_md_read_t,
1362         gcry_cipher_setkey_t, gcry_cipher_encrypt_t,
1363         gcry_cipher_decrypt_t, gcry_cipher_stencrypt_t,
1364         gcry_cipher_stdecrypt_t.
1365         Use new types.
1366
1367 2003-06-17  Moritz Schulte  <moritz@g10code.com>
1368
1369         * Makefile.am (AM_CFLAGS): Added: @GPG_ERROR_CFLAGS@.
1370
1371 2003-06-16  Moritz Schulte  <moritz@g10code.com>
1372
1373         * g10lib.h: Replace last occurences of old type names with newer
1374         names (i.e. replace MPI with gcry_mpi_t).
1375         * mpi.h: Likewise.
1376         * sexp.c: Likewise.
1377
1378 2003-06-15  Moritz Schulte  <moritz@g10code.com>
1379
1380         * testapi.c (test_genkey): Use gpg_strerror instead of
1381         gcry_strerror.
1382
1383         * global.c (gcry_control): Fixed typo.
1384
1385         * misc.c (_gcry_fatal_error): Use gpg_strerror instead of
1386         gcry_strerror.
1387
1388         * types.h (STRLIST): Removed type since it is not used.
1389
1390 2003-06-11  Moritz Schulte  <moritz@g10code.com>
1391
1392         * global.c (global_init): Call: _gcry_cipher_init, _gcry_md_init,
1393         _gcry_pk_init.
1394
1395         * g10lib.h: Declare: _gcry_cipher_init, _gcry_md_init,
1396         _gcry_pk_init.
1397         
1398         * global.c (gcry_strerror): Remove compatibility code.
1399
1400         * Makefile.am: Remove support libgpg-error special handling.
1401         (AM_CPPFLAGS): Add @GPG_ERROR_CFLAGS@
1402
1403         * gcrypt.h: Likewise.
1404
1405 2003-06-13  Werner Koch  <wk@gnupg.org>
1406
1407         * gcrypt.h (gcry_md_get_algo): Reverted to old API.  This is a
1408         convenience function anyway and error checking is not approriate.
1409         (gcry_md_is_enabled): New.
1410         (gcry_md_is_secure): Replaced macro by function and reverted to old
1411         API.
1412
1413 2003-06-11  Werner Koch  <wk@gnupg.org>
1414
1415         * gcrypt.h (GCRYERR): Define _GCRY_ERR_SOURCE_DEFAULT instead of
1416         GPG_ERR_SOURCE_DEFAULT, so that libgpg-error still works despite
1417         the use of the old gcrypt error codes.
1418         (gcry_md_copy): Swapped arguments.
1419         
1420 2003-06-09  Moritz Schulte  <moritz@g10code.com>
1421
1422         * Makefile.am: Support for libgpg-error.
1423
1424 2003-06-08  Moritz Schulte  <moritz@g10code.com>
1425
1426         * sexp.c (gcry_sexp_create): Expect sane error values from
1427         gcry_sexp_canon_len instead of the `historical' values.
1428
1429 2003-06-07  Moritz Schulte  <moritz@g10code.com>
1430
1431         * ath.c, ath.c, ath-pth.c, ath-pthread.c, benchmark.c, cipher.h,
1432         g10lib.h, gcrypt.h, global.c, misc.c, missing-string.c, module.c,
1433         mpi.h, secmem.c, secmem.h, sexp.c, stdmem.c, stdmem.h, testapi.c,
1434         types.h: Edited all preprocessor instructions to remove whitespace
1435         before the '#'.  This is not required by C89, but there are some
1436         compilers out there that don't like it.  Replaced any occurence of
1437         the now deprecated type names with the new ones.
1438         
1439         * gcrypt.h: Re-organized checking for gcc features; New macro:
1440         _GCRY_GCC_ATTR_DEPRECATED.
1441         Include copy of libgpg-error's gpg-error.h in order to make it
1442         easy to build libgcrypt without needing libgpg-error.h.
1443
1444         (GCRY_MPI, GcryMPI, GCRY_SEXP, GcrySexp, GCRY_CIPHER_HD,
1445         GcryCipherHd, GCRY_MD_HD, GcryMDHd): Declared deprecated.
1446         (gcry_mpi_t, gcry_sexp_t, gcry_cipher_hd_t, gcry_md_hd_t): New
1447         types.
1448
1449 2003-06-04  Moritz Schulte  <moritz@g10code.com>
1450
1451         * sexp.c (sexp_sscan): New argument: arg_list, adjusted all
1452         callers.
1453         (ARG_NEXT): New macro.
1454         (sexp_sscan): Use ARG_NEXT for receiving format string arguments.
1455         (gcry_sexp_build_array): New function.
1456
1457 2003-06-02  Moritz Schulte  <moritz@g10code.com>
1458
1459         * gcrypt.h: Added some comments describing the gcry_sexp_*
1460         functions.
1461         Include <gpg-error.h> instead of <gpg/error.h>.
1462
1463 2003-06-01  Moritz Schulte  <moritz@g10code.com>
1464
1465         * sexp.c (OLDPARSECODE): Removed macro...
1466         (gcry_sexp_canon_len): ... and do not use it.
1467
1468         * gcrypt.h (gcry_errno): Removed declaration.
1469
1470         * g10lib.h (string_to_pubkey_algo, pubkey_algo_to_string,
1471         pubkey_nbits): Removed declarations for non-existing functions.
1472
1473 2003-05-31  Moritz Schulte  <moritz@g10code.com>
1474
1475         * cipher.h (is_RSA, is_ELGAMAL): Removed macros.
1476
1477         * g10lib.h (set_lasterr): Removed macro.
1478         (_gcry_set_lasterr): Removed declaration.
1479
1480         * gcrypt.h: Changed declarations for: gcry_pk_algo_info,
1481         gcry_md_open, gcry_md_copy, gcry_md_algo_info, gcry_md_info,
1482         gcry_md_get_algo, gcry_random_add_bytes.
1483         
1484         (gcry_md_is_secure): Adjust macro for new API.
1485
1486 2003-05-29  Moritz Schulte  <moritz@g10code.com>
1487
1488         * gcrypt.h: Changed declarations for: gcry_cipher_open,
1489         gcry_cipher_info, gcry_cipher_algo_info.
1490         (gcry_cipher_get_algo_keylen): Adjuster for new
1491         gcry_cipher_algo_info interface.
1492         (gcry_cipher_get_algo_blklen): Likewise.
1493
1494         * global.c (gcry_errno): Removed function.
1495         (gcry_strerror): Do not use gcry_errno.
1496         (_gcry_set_lasterr): Removed function.
1497         (last_ec): Removed variable.
1498
1499 2003-05-27  Moritz Schulte  <moritz@g10code.com>
1500
1501         * gcrypt.h (enum gcry_cipher_algos): Make Serpent IDs do not
1502         conflict with OpenPGP.  Reported by Timo Schulz.
1503
1504         * global.c (gcry_control): Fixed name of enum list.
1505
1506 2003-05-25  Moritz Schulte  <moritz@g10code.com>
1507
1508         * cipher.h (gcry_cipher_spec): Adjust return type of `setkey' for
1509         libgpg-error.
1510         (gcry_pubkey_spec): Adjust return type of `generate',
1511         `check_secret_key', `encrypt', `decrypt', `sign' and `verify' for
1512         libgpg-error.
1513
1514         * sexp.c (gcry_sexp_canon_len): Adjusted for libgpg-error.
1515         (gcry_sexp_create): Likewise.
1516         (gcry_sexp_new): Likewise.
1517         (sexp_sscan): Likewise.
1518         (gcry_sexp_build): Likewise.
1519         (gcry_sexp_sscan): Likewise.
1520
1521         * module.c (_gcry_module_add): Likewise.
1522
1523         * global.c (last_ec): Change type to gpg_error_t.
1524         (gcry_control): Adjust for libgpg-error.
1525         (gcry_errno): Likewise.
1526         (gcry_strerror): Likewise.
1527         (_gcry_set_lasterr): Likewise.
1528         (gcry_xmalloc): Likewise.
1529         (gcry_xrealloc): Likewise.
1530
1531 2003-05-22  Moritz Schulte  <moritz@g10code.com>
1532
1533         * types.h: Merged code from GnuPG regarding U64_C.
1534
1535         * missing-string.c (strsep): Removed function.
1536
1537         * g10lib.h: Removed declarations: strsep, strlwr.
1538
1539         * secmem.c (secmem_lock): New variable.
1540         (SECMEM_LOCK, SECMEM_UNLOCK): New macros.
1541         (_gcry_secmem_set_flags): Use SECMEM_LOCK and SECMEM_UNLOCK.
1542         (_gcry_secmem_get_flags): Likewise.
1543         (_gcry_secmem_init): Likewie.
1544         (_gcry_secmem_malloc): Likewise.
1545         (_gcry_secmem_free): Likewise.
1546         (_gcry_secmem_malloc): Renamed to ...
1547         (_gcry_secmem_malloc_internal): ... this.
1548         (_gcry_secmem_malloc): New function, use SECMEM_LOCK,
1549         SECMEM_UNLOCK, call _gcry_secmem_malloc_internal.
1550         (_gcry_secmem_free): Renamed to ...
1551         (_gcry_secmem_free_internal): ... this.
1552         (_gcry_secmem_free): New function, use SECMEM_LOCK, SECMEM_UNLOCK,
1553         call _gcry_secmem_free_internal.
1554         (_gcry_secmem_realloc): Use SECMEM_LOCK, SECMEM_UNLOCK, call
1555         _gcry_secmem_malloc_internal and _gcry_secmem_free_internal.
1556         (_gcry_private_is_secure): Use SECMEM_LOCK, SECMEM_UNLOCK.
1557         (_gcry_secmem_dump_stats): Likewise.
1558         (_gcry_secmem_malloc_internal): Removed unused variable:
1559         compressed.
1560         Include "ath.h".
1561
1562 2003-05-21  Moritz Schulte  <moritz@g10code.com>
1563
1564         * gcrypt.h (GCRY_CIPHER_SERPENT128, GCRY_CIPHER_SERPENT192,
1565         GCRY_CIPHER_SERPENT256): New symbols.
1566
1567 2003-05-19  Moritz Schulte  <moritz@g10code.com>
1568
1569         * gcrypt.h: Reversed changes from 2003-03-03 since they would have
1570         been an unnecessary ABI break.
1571
1572 2003-05-13  Moritz Schulte  <moritz@g10code.com>
1573
1574         * secmem.c (stats_update): New function.
1575         (BLOCK_HEAD_SIZE): New symbol.
1576         (MB_FLAG_ACTIVE): New symbol.
1577         (ADDR_TO_BLOCK, BLOCK_VALID): New macros.
1578         (mb_get_next): New function.
1579         (mb_get_prev): New function.
1580         (mb_merge): New function.
1581         (mb_get_new): New function.
1582         (unused_blocks): Removed variable.
1583         (init_pool): Initialize new memory pool.
1584         (_gcry_secmem_malloc): Use new heap management code.
1585         (_gcry_secmem_free): Likewise.
1586         (_gcry_secmem_realloc): Likewise.
1587         Renamed type MEMBLOCK to memblock_t.
1588
1589 2003-04-27  Moritz Schulte  <moritz@g10code.com>
1590
1591         * cipher.h (gcry_pubkey_spec): New member: sexp_names.
1592
1593 2003-04-23  Moritz Schulte  <moritz@g10code.com>
1594
1595         * cipher.h (gcry_pubkey_spec): Removed members: npkey, nskey,
1596         nenc, nsig.
1597         (gcry_pubkey_spec): Added members: elements_pkey, elements_skey,
1598         elements_enc, elements_sig, elements_grip.
1599
1600 2003-04-17  Moritz Schulte  <moritz@g10code.com>
1601
1602         * g10lib.h (GcryModule): New typedef.
1603
1604         * gcrypt.h (gcry_cipher_register, gcry_cipher_unregister,
1605         gcry_digest_register, gcry_digest_unregister,
1606         gcry_pubkey_register, gcry_pubkey_unregister): Function
1607         declarations removed - for now.
1608         
1609         * gcrypt.h (GcryModule): Declaration removed.
1610         * gcrypt.h (GcryPubkeySpec, GcryDigestSpec, GcryCipherSpec):
1611         Types Moved... 
1612         * cipher.h: ... here.
1613
1614 2003-04-17  Moritz Schulte  <moritz@g10code.com>
1615
1616         * cipher.h: Declare digest_spec_sha512 and digest_spec_384.
1617
1618 2003-04-16  Moritz Schulte  <moritz@g10code.com>
1619
1620         * module.c (_gcry_module_use): New function.
1621         * g10lib.h (_gcry_module_use): Declare function.
1622
1623         * libgcrypt-config.in: Support for --algorithms switch, which
1624         prints the algorithms included in the built libgcrypt.
1625
1626         * global.c (gcry_set_progress_handler): Register progress
1627         functions depending on the enabled algorithms.
1628
1629 2003-04-07  Moritz Schulte  <moritz@g10code.com>
1630
1631         * Makefile.am (libgcrypt_la_SOURCES): Added module.c
1632
1633         * module.c: New file.
1634         (_gcry_module_add): New function.
1635         (_gcry_module_drop): New function.
1636         (_gcry_module_lookup): New function.
1637         (_gcry_module_release): New function.
1638
1639         * g10lib.h (GcryModule): New types.
1640         (FLAG_MODULE_DISABLED): New symbol.
1641         Added declarations for _gcry_module_add, _gcry_module_release and
1642         _gcry_module_lookup.
1643
1644         * gcrypt.h: New types: GcryPubkeySpec, GcryDigestSpec,
1645         GcryCipherSpec.
1646         Added declarations for: gcry_cipher_register,
1647         gcry_cipher_unregister, gcry_digest_register,
1648         gcry_digest_unregister, gcry_pubkey_register and
1649         gcry_pubkey_unregister.
1650
1651         * cipher.h: Removed symbols: CIPHER_ALGO_NONE, CIPHER_ALGO_IDEA,
1652         CIPHER_ALGO_3DES, CIPHER_ALGO_CAST5, CIPHER_ALGO_BLOWFISH,
1653         CIPHER_ALGO_SAFER_SK128, CIPHER_ALGO_DES_SK, CIPHER_ALGO_TWOFISH,
1654         CIPHER_ALGO_TWOFISH_OLD, CIPHER_ALGO_DUMMY, PUBKEY_USAGE_SIG,
1655         PUBKEY_USAGE_ENC, DIGEST_ALGO_MD5, DIGEST_ALGO_SHA1,
1656         DIGEST_ALGO_RMD160, DIGEST_ALGO_TIGER, PUBKEY_ALGO_RSA,
1657         PUBKEY_ALGO_RSA_E, PUBKEY_ALGO_RSA_S, PUBKEY_ALGO_DSA,
1658         PUBKEY_ALGO_ELGAMAL, PUBKEY_ALGO_ELGAMAL_E.
1659
1660 2003-04-02  Moritz Schulte  <moritz@g10code.com>
1661
1662         * benchmark.c (md_bench): Fix error message.
1663
1664 2003-03-31  Moritz Schulte  <moritz@g10code.com>
1665
1666         * benchmark.c (cipher_bench): Added CTR mode.
1667
1668 2003-03-30  Simon Josefsson  <jas@extundo.com>
1669
1670         * gcrypt.h (enum gcry_control_cmds): Add GCRY_SET_CTR.
1671         (enum gcry_cipher_modes): Add GCRY_CIPHER_MODE_CTR.
1672         (gcry_cipher_setctr): New macro to set counter.
1673
1674 2003-03-19  Moritz Schulte  <moritz@g10code.com>
1675
1676         * cipher.h (PUBKEY_FLAG_NO_BLINDING): New symbol.
1677
1678 2003-03-22  Simon Josefsson  <jas@extundo.com>
1679
1680         * gcrypt.h: Add GCRYCTL_SET_CBC_MAC and GCRY_CIPHER_CBC_MAC.
1681
1682 2003-03-19  Werner Koch  <wk@gnupg.org>
1683
1684         * g10lib.h: Adjusted primegen.c prototypes.
1685
1686 2003-03-12  Werner Koch  <wk@gnupg.org>
1687
1688         * sexp.c (sexp_sscan): Initialize NM.  Thanks to Ian Peters for
1689         valgrinding this.
1690
1691 2003-03-06  Moritz Schulte  <mo@g10code.com>
1692
1693         * secmem.h (GCRY_SECMEM_FLAG_NO_WARNING,
1694         GCRY_SECMEM_FLAG_SUSPEND_WARNING): New symbols.
1695
1696         * global.c (gcry_control): Use
1697         GCRY_SECMEM_FLAG_{NO,SUSPEND}_WARNING, instead of hard-coded
1698         values.
1699         * secmem.c (_gcry_secmem_set_flags): Likewise.
1700         * secmem.c (_gcry_secmem_get_flags): Likewise.
1701         
1702 2003-03-03  Moritz Schulte  <moritz@g10code.com>
1703
1704         * misc.c: Removed old FIXME, since there is already a function to
1705         set the value of `verbosity_level'.
1706
1707         * gcrypt.h: Removed enumeration list: gcry_ctl_cmds.
1708         New enumeration lists: gcry_global_control_cmds,
1709         gcry_control_cmds, gcry_info_cmds, gcry_algo_info_cmds.
1710
1711 2003-03-02  Moritz Schulte  <moritz@g10code.com>
1712
1713         * gcrypt.h (gcry_cipher_reset): New macro for resetting a handle.
1714
1715 2003-02-28  Moritz Schulte  <moritz@g10code.com>
1716
1717         * secmem.c (DEFAULT_PAGESIZE): New symbol.
1718         (init_pool): Use DEFAULT_PAGESIZE.
1719
1720 2003-02-23  Moritz Schulte  <moritz@g10code.com>
1721
1722         * secmem.h: Fix typo in declaration of _gcry_secmem_term.
1723
1724         * sexp.c: Move macro definitions of `digitp', `octdigit', `alphap'
1725         and `hexdigit' ...
1726         * g10lib.h: ... here.
1727
1728         * misc.c (_gcry_burn_stack): New function (former name:
1729         burn_stack).
1730
1731         * g10lib.h (burn_stack): Declare _gcry_burn_stack().
1732
1733 2003-01-24  Werner Koch  <wk@gnupg.org>
1734
1735         * global.c (gcry_set_progress_handler): Register a random progress
1736         handler.
1737
1738 2003-01-23  Werner Koch  <wk@gnupg.org>
1739
1740         * gcrypt.h (GCRY_ENABLE_QUICK_RANDOM): New. 
1741         * global.c (gcry_control): Make use of it.
1742
1743 2003-01-21  Werner Koch  <wk@gnupg.org>
1744
1745         * gcrypt.h (gcry_random_add_bytes): Add QUALITY argument.
1746
1747 2003-01-21  Timo Schulz  <twoaday@freakmail.de>
1748
1749         * gcrypt.h (gcry_random_add_bytes): New.
1750         
1751 2003-01-20  Simon Josefsson  <jas@extundo.com>
1752
1753         * gcrypt.h (gcry_md_algos): Add GCRY_MD_CRC32,
1754         GCRY_MD_CRC32_RFC1510, GCRY_MD_CRC24_RFC2440.
1755
1756 2003-01-16  Werner Koch  <wk@gnupg.org>
1757
1758         * gcrypt.h (gcry_md_write): Changed type of 2nd argument to void*.
1759         (gcry_md_hash_buffer): Changed type of both buffers to void*.
1760         (gcry_md_setkey): Changed type of 2nd argument to void*.
1761         (gcry_md_get_asnoid): New.
1762
1763 2003-01-15  Werner Koch  <wk@gnupg.org>
1764
1765         * sexp.c (gcry_sexp_length): Fixed.  This was seriously broken.
1766
1767 2003-01-14  Werner Koch  <wk@gnupg.org>
1768
1769         * gcrypt.h (GCRYERR_INV_FLAG), global.c (gcry_strerror): New.
1770
1771 2003-01-02  Werner Koch  <wk@gnupg.org>
1772
1773         * libgcrypt.vers: Temporary export _gcry_generate_elg_prime for
1774         use by GNUTLS. 
1775
1776 2002-12-21  Werner Koch  <wk@gnupg.org>
1777
1778         * gcrypt.h: Make use of gcc's pure and malloc attributes 
1779         (gcry_md_putc): Use a helper variable to avoid multiple
1780         evaluation of H. 
1781         * g10lib.h, stdmem.h, secmem.h: Use gcc attributes pure and malloc.
1782
1783         * stdmem.c (use_m_guard): Don't default to yes.
1784
1785 2002-12-19  Werner Koch  <wk@gnupg.org>
1786
1787         * global.c (global_init): The meat was never run due to a faulty
1788         check. Thanks to Nikos for pointing this out.
1789         
1790         * global.c (gcry_control): Return 1 and not -1 for the
1791         initialization tests.
1792
1793         * libgcrypt.vers: New.
1794         * Makefile.am: Use this instead of the build symbol file.
1795
1796         * global.c (gcry_control) <initialization>: Call the random module
1797         initializer to make sure that the pool lock flag has been
1798         initialized.
1799
1800 2002-12-09  Werner Koch  <wk@gnupg.org>
1801
1802         * global.c (gcry_calloc,gcry_calloc_secure): Check for overflow.
1803         Noted by Florian Weimer. 
1804
1805 2002-11-10  Simon Josefsson  <jas@extundo.com>
1806
1807         * gcrypt.h (gcry_ctl_cmds): New GCRYCTL_SET_CBC_CTS control flag.
1808         (gcry_cipher_flags): New GCRY_CIPHER_CBC_CTS gcry_cipher_open() flag.
1809         (gcry_cipher_cts): New macro for toggling CTS.
1810
1811 2002-11-10  Werner Koch  <wk@gnupg.org>
1812
1813         * gcrypt.h (GCRY_MD_MD4): New.  We use a non OpenPGP value here. 
1814
1815 2002-09-20  Werner Koch  <wk@gnupg.org>
1816
1817         * ath.c: Include sys.time.h if sys/select.h does not exist.
1818         (ath_select, ath_waitpid): Shortcut for Windows.
1819         * ath.h: Include some Windows headers.  By Timo.
1820
1821 2002-09-18  Werner Koch  <wk@gnupg.org>
1822
1823         * ath.h: Prefix ath_deinit.
1824
1825 2002-09-17  Werner Koch  <wk@gnupg.org>
1826
1827         * benchmark.c: New.
1828         (mpi_bench, do_powm): Add a a simple test for RSA.
1829
1830         * global.c (global_init): New.  Use it instead of the setting
1831         any_init_done.  Initialize the ATH system.
1832         (gcry_check_version): Hook global_init in.  This is the suggested
1833         way to initialize the library.
1834         (_gcry_no_internal_locking): Removed.  We simply call a ath_deinit
1835         and leave it to ATH to disbale the locking.
1836
1837         * ath.c, ath.h, ath-pth.c, ath-pthread.c: New. Taken from GPGME.
1838         * mutex.h: Removed.
1839         * Makefile.am (ath_components): New.
1840
1841 2002-09-16  Werner Koch  <wk@gnupg.org>
1842
1843         * secmem.c (_gcry_secmem_dump_stats): Replaced fprintf by log_*.
1844
1845 2002-08-23  Werner Koch  <wk@gnupg.org>
1846
1847         * missing-string.c: Removed unneeded strlwr.
1848
1849         * libgcrypt.m4: Made much more simple.
1850         * libgcrypt-config.in: Made --prefix work for --libs.
1851
1852 2002-08-14  Werner Koch  <wk@gnupg.org>
1853
1854         * gcrypt.h: Add GCRY_CIPGER_DES.  Included string.h for size_t.
1855         Suggested by Simon Josefsson.
1856
1857 2002-07-25  Werner Koch  <wk@gnupg.org>
1858
1859         * cipher.h: Added prototypes for progress functions.
1860         * global.c: Include cipher.h for those prototypes.
1861
1862         * stdmem.c (_gcry_private_realloc): Replaced void* by char * for
1863         pointer arithmetic reasons.  Noted by Stephan Austermuehle.
1864
1865 2002-06-24  Werner Koch  <wk@gnupg.org>
1866
1867         * missing-string.c: Include ctype.h.
1868
1869         * gcrypt.h (gcry_mpi_invm, gcry_mpi_div, gcry_mpi_mod)
1870         (gcry_mpi_swap): New.
1871
1872 2002-06-18  Werner Koch  <wk@gnupg.org>
1873
1874         * gcrypt.h: Added a bunch of brief function descriptions.
1875
1876 2002-05-21  Werner Koch  <wk@gnupg.org>
1877
1878         * misc.c (_gcry_log_printf): Don't initialize a va_list.  Noted by
1879         Jeff Johnson.
1880
1881         * global.c (gcry_set_progress_handler): New.
1882
1883         * gcrypt.h: Replaced the typedef for byte.
1884
1885 2002-05-16  Werner Koch  <wk@gnupg.org>
1886
1887         * missing-string.c: New.
1888
1889         * gcrypt.h: Add new error codes GCRYERR_SEXP_ and typedefs
1890         GcryMPI, GcrySexp, GcryCipherHd, GcryMDHd as aliases for the old
1891         ones using an underscore.
1892
1893         * global.c (gcry_strerror): Add strings fro the new error codes.
1894         * sexp.c (gcry_sexp_canon_len): Use a macro to convert from new to
1895         old error codes.
1896         (gcry_sexp_create,gcry_sexp_new): New.
1897
1898 2002-05-15  Werner Koch  <wk@gnupg.org>
1899
1900         * mutex.h (DEFINE_LOCAL_MUTEX): Macro to define a mutex and
1901         initialize it so that we can detect an unitialized mutex and don't
1902         read from stdin.
1903
1904 2002-05-14  Werner Koch  <wk@gnupg.org>
1905
1906         Changed license of all files to the LGPL.
1907
1908 2002-05-07  Werner Koch  <wk@gnupg.org>
1909
1910         * global.c (gcry_control): Add commands
1911         GCRYCTL_ANY_INITIALIZATION_P and GCRYCTL_INITIALIZATION_FINISHED_P
1912         so that other libraries are able to check for required
1913         initializations.
1914
1915 2002-05-02  Werner Koch  <wk@gnupg.org>
1916
1917         * gcrypt.h (GCRYCTL_DISABLE_INTERNAL_LOCKING): New.
1918         * global.c (gcry_control): Implement it.
1919         (_gcry_no_internal_locking): New.
1920         * mutex.h: Prefixed all fucntions with _gcry_.  Bypass all
1921         functions when desired.
1922
1923         * gcrypt.h (GCRYCTL_DISABLE_SECMEM): New.
1924         * global.c (gcry_control,gcry_malloc_secure,gcry_is_secure):
1925         Implement it here.
1926         * secmem.c (_gcry_private_is_secure): Return false if the pool is
1927         not initialized.
1928
1929         * gcrypt.h (GCRYCTL_INITIALIZATION_FINISHED): New.
1930
1931         * gcrypt.h (gcry_cipher_algos): Replaced RINDAEL by AES and change
1932         the macros to expand from rijdael to aes.
1933
1934         * stdmem.c (_gcry_private_malloc): Return NULL for 0 byte allocation.
1935         (_gcry_private_malloc_secure): Ditto.
1936
1937         * g10lib.h:  Copied the JNLIB_GCC macros from ../jnlib/mischelp.h
1938         and removed the inclusion of that file.
1939
1940 2002-04-15  Werner Koch  <wk@gnupg.org>
1941
1942         * global.c (gcry_strdup): New.
1943
1944 2002-03-18  Werner Koch  <wk@gnupg.org>
1945
1946         * mutex.h: New file with a portable thread mutex implementation
1947         written by Marcus Brinkmann.  Taken from GPGME.
1948
1949 2002-02-18  Werner Koch  <wk@gnupg.org>
1950
1951         * sexp.c (gcry_sexp_sscan): Don't initialize the dummy
1952         variable.  Suggested by Jordi Mallach.
1953
1954 2002-01-31  Werner Koch  <wk@gnupg.org>
1955
1956         * sexp.c (suitable_encoding,convert_to_hex,convert_to_string)
1957         (convert_to_token): New.
1958         (gcry_sexp_sprint): Better formatting of advanced encoding, does
1959         now insert LFs and escapes all unprintable characters.
1960         (unquote_string): New.
1961         (sexp_sscan): Implemented the missing conversion of quoted strings.
1962
1963 2002-01-26  Werner Koch  <wk@gnupg.org>
1964
1965         * libgcrypt-config.in: Add copyright notice.
1966
1967 2002-01-11  Werner Koch  <wk@gnupg.org>
1968
1969         * sexp.c (gcry_sexp_canon_len): Fixed last change.
1970
1971 2002-01-01  Timo Schulz <ts@winpt.org>
1972
1973         * stdmem.c (_gcry_private_realloc): If pointer is NULL now realloc
1974         behaves like malloc.
1975
1976 2001-12-20  Werner Koch  <wk@gnupg.org>
1977
1978         * sexp.c (gcry_sexp_canon_len): Describe the error codes and
1979         return an error if this is not a S-Exp; i.e. it does not start
1980         with an open parenthesis.
1981
1982 2001-12-18  Werner Koch  <wk@gnupg.org>
1983
1984         * sexp.c (gcry_sexp_canon_len): Fixed the test on NULL buffer.
1985
1986         * Makefile.am (DISTCLEANFILES): Include libgcrypt.sym
1987
1988         * sexp.c: Removed the commented test code because we now have a
1989         test in ../tests/
1990
1991 2001-12-17  Werner Koch  <wk@gnupg.org>
1992
1993         * sexp.c (gcry_sexp_canon_len): New.
1994
1995 2001-12-11  Werner Koch  <wk@gnupg.org>
1996
1997         * gcrypt.h: Fixed AES128 macro, add enum for OFB mode.
1998
1999 2001-12-05  Werner Koch  <wk@gnupg.org>
2000
2001         * misc.c (_gcry_log_printf): New.
2002         * sexp.c (dump_string,gcry_sexp_dump): Use logging functions
2003         instead of stderr.
2004
2005 2001-11-16  Werner Koch  <wk@gnupg.org>
2006
2007         * gcrypt.h: New constant GCRYCTL_IS_ALGO_ENABLED.
2008
2009 2001-10-02  Werner Koch  <wk@gnupg.org>
2010
2011         * gcrypt.h: Removed a couple of trailing commas.
2012
2013 2001-08-28  Werner Koch  <wk@gnupg.org>
2014
2015         * sexp.c (sexp_sscan): Add an argument to enable the
2016         arg_ptr. Changed all callers.  Suggested by Tom Holroyd.
2017
2018 2001-08-03  Werner Koch  <wk@gnupg.org>
2019
2020         * global.c (gcry_strerror): Updated list of error codes.
2021
2022 2001-07-23  Werner Koch  <wk@gnupg.org>
2023
2024         * gcrypt.h: Replaced the last ulong.  Noted by Rami Lehti.
2025
2026 2001-05-31  Werner Koch  <wk@gnupg.org>
2027
2028         * gcrypt.h, mpi.h: Made some mpi functions public.
2029
2030         * wrapper.c: Removed.
2031         * global.c: Renamed all g10_ prefixed functions which had wrappers 
2032         to gcry_xxx. So we now use the exported memory functions inernally.
2033
2034         Renamed all g10_ prefixed functions to _gcry_ prefixed ones.
2035         
2036         * g10lib.h (_GCRYPT_IN_LIBGCRYPT): Replace defintion by a test on it.
2037
2038 2001-05-28  Werner Koch  <wk@gnupg.org>
2039
2040         * libgcrypt.m4: Check GCRYPT_VERSION macro and not LIBGCRYPT_VERSION.
2041
2042         * mpi.h: Removed mpi_fromstr prototype.
2043
2044 2001-01-11  Werner Koch  <wk@gnupg.org>
2045
2046         * Makefile.am (libgcrypt_la_SOURCES): Add mpi.h
2047
2048 2000-12-19  Werner Koch  <wk@gnupg.org>
2049
2050         * types.h: Moved from ../include to here.
2051
2052         Major change:
2053         Removed all GnuPG stuff and renamed this piece of software
2054         to gcrypt. 
2055
2056 2000-11-14  Werner Koch  <wk@gnupg.org>
2057
2058         * mpi.h: Moved to ../mpi.
2059
2060         * Makefile.am (OMIT_DEPENDENCIES): Hack to work around dependency
2061         problems.
2062
2063 2000-10-11  Werner Koch  <wk@gnupg.org>
2064
2065         * mpi.h: Changed the way mpi_limb_t is defined.
2066
2067 2000-10-10  Werner Koch  <wk@gnupg.org>
2068
2069         * Makefile.am: Take version-info from configure.
2070
2071 2000-10-09  Werner Koch  <wk@gnupg.org>
2072
2073         * gcrypt.h: New cipher mode, new algo Arcfour and new error code
2074         GCRYERR_INV_CIPHER_MODE.
2075         * global.c (gcry_strerror): New errorcode.
2076
2077 Wed Oct  4 13:16:18 CEST 2000  Werner Koch  <wk@openit.de>
2078
2079         * gcrypt.h (gcry_md_setkey): Replaced macro by function prototype.
2080
2081 Mon Sep 18 16:35:45 CEST 2000  Werner Koch  <wk@openit.de>
2082
2083         * gcrypt.h (GCRYCTL_GET_ALGO_USAGE): New.
2084
2085         * secmem.c (secmem_realloc): check for failed secmem_malloc.  By
2086         Matt Kraai.
2087
2088 Mon Jul 31 10:04:47 CEST 2000  Werner Koch  <wk@openit.de>
2089
2090   * sexp.c: Removed the datalen fields from list tags.
2091   (gcry_sexp_car_data,gcry_sexp_cdr_data,gcry_sexp_car_mpi,
2092    gcry_sexp_cdr_mpi): Removed.
2093   (gcry_sexp_nth,gcry_sexp_nth_data,gcry_sexp_nth_mpi): New.
2094
2095 Fri Jul 28 18:19:11 CEST 2000  Werner Koch  <wk@openit.de>
2096
2097   * sexp.c (sexp_sscan): Fixed reallocation to secure memory.
2098   (new_empty_list): Removed
2099   (gcry_sexp_length): New.
2100   (gcry_sexp_enum): Removed.
2101   (normalize): New. Reworked the whole thing to use NULL for an empty list.
2102   (make_space): New instead of the macro.
2103
2104 Tue Jul 25 17:44:15 CEST 2000  Werner Koch  <wk@openit.de>
2105
2106   * sexp.c: Major rewrite.
2107   (gcry_sexp_sscan): Reordered arguments.  Moved functionality to ..
2108   (sexp_sscan): .. this.
2109   (gcry_sexp_build): New.
2110   (gcry_sexp_new_name_mpi, gcry_sexp_new_name_data, gcry_sexp_new_data,
2111    gcry_sexp_new_mpi): Removed.
2112
2113 Fri Jul 14 19:38:23 CEST 2000  Werner Koch  <wk@>
2114
2115   * gcrypt.h (gcry_md_start_debug, gcry_md_stop_debug): New.
2116   (gcry_ctl_cmds): New control values
2117
2118   * sexp.c (gcry_sexp_sscan): Add hex format parsing.
2119
2120   * secmem.c (lock_pool): Check for ENOSYS return my mlock() on old SCOs.
2121   (pool_is_mmapped): Made volatile.
2122   (lock_pool): No more warning for QNX. By Sam Roberts.
2123   (lock_pool,secmem_init): Additional check for dropped privs.
2124
2125 2000-03-21 09:18:48  Werner Koch  (wk@habibti.gnupg.de)
2126
2127         * gcrypt.h (gcry_md_setkey): New.
2128         (GCRY_MD_FLAG_HMAC): New.
2129
2130 Mon Jan 31 16:37:34 CET 2000  Werner Koch  <wk@gnupg.de>
2131
2132         * Makefile.am: Add g10lib.h
2133
2134 Thu Jan 27 18:00:44 CET 2000  Werner Koch  <wk@gnupg.de>
2135
2136         * sexp.c (gcry_sexp_sscan): Allow NULL for erroff.
2137
2138 Mon Jan 24 22:24:38 CET 2000  Werner Koch  <wk@gnupg.de>
2139
2140         * sexp.c (gcry_sexp_alist): New.
2141
2142 Mon Jan 24 13:04:28 CET 2000  Werner Koch  <wk@gnupg.de>
2143
2144         * secmem.c: Moved from ../util to here.
2145         * secmem.h: New.
2146         * stdmem.c: New. Based on the old ../util/memory.c.
2147         * stdmem.h: New.
2148
2149 Wed Dec  8 21:58:32 CET 1999  Werner Koch  <wk@gnupg.de>
2150
2151         * gcrypt.m4: New.
2152         * gcrypt-config: New.
2153
2154         * mpi.h (mpi_get_nbit_info): Removed
2155         (mpi_set_nbit_info): Removed.
2156         (struct gcry_mpi): Removed the nbits field.
2157
2158         * misc.c (g10_log_verbosity): New.
2159
2160         * global.c (g10_xstrdup): New.
2161
2162         * mpiapi.c: Removed.
2163
2164         * mpi.h: Moved from ../include to here.  Removed some obsolete
2165         prototypes and the iobuf.h header.
2166         * cipher.h: Moved from ../include to here. Removed the mpi.h header.
2167         * g10lib.h: Moved from ../include to here.
2168
2169 Fri Nov 19 17:15:20 CET 1999  Werner Koch  <wk@gnupg.de>
2170
2171         * sexp.c (dump_string): New.  Taken from gnupg/util/miscutil.c.
2172         (do_dump_list): s/print_string/dump_string/.
2173
2174         * testapi.c: New.
2175
2176         * mpiapi.c (gcry_mpi_randomize): Use new random API.
2177
2178 Sat Nov 13 17:44:23 CET 1999  Werner Koch  <wk@gnupg.de>
2179
2180         * gloabl.c (gcry_control): Add cases for dumping random
2181         and secmem stats.
2182
2183 Tue Oct 26 14:10:21 CEST 1999  Werner Koch  <wk@gnupg.de>
2184
2185         * pkapi.c: Removed.
2186
2187         * symapi.c: Removed.
2188
2189         * g10lib.h:  Moved to ../include.
2190
2191         * mdapi.c: Removed.
2192
2193 Wed Jul  7 13:08:40 CEST 1999  Werner Koch  <wk@isil.d.shuttle.de>
2194
2195         * sexp.c: New.
2196
2197 Tue Dec  8 13:15:16 CET 1998  Werner Koch  <wk@isil.d.shuttle.de>
2198
2199         * gcrypt.h: New
2200         * mpiapi.c: New
2201
2202         
2203  Copyright (C) 1998,1999,2000,2001,2002,2003
2204                2004, 2005, 2008, 2009 Free Software Foundation, Inc.
2205
2206  This file is free software; as a special exception the author gives
2207  unlimited permission to copy and/or distribute it, with or without
2208  modifications, as long as this notice is preserved.
2209
2210  This file is distributed in the hope that it will be useful, but
2211  WITHOUT ANY WARRANTY, to the extent permitted by law; without even the
2212  implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.