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