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