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