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