A lot of cleanups as well as minor API changes.
[libgcrypt.git] / src / ChangeLog
1 2007-02-21  Werner Koch  <wk@g10code.com>
2
3         * gcrypt.h.in (gcry_sexp_sprint): Change BUFFER from char* to void*.
4         (gcry_md_ctl): Change BUFFER from unsigned char* to void*.
5         (gcry_md_debug): New.
6         (gcry_cipher_encrypt, gcry_cipher_decrypt): Change buffer args to
7         void*.
8         (gcry_randomize): Change BUFFER to void.
9         (gcry_create_nonce): Ditto.
10
11         * libgcrypt.vers (gcry_md_debug): New.
12
13         * sexp.c (gcry_sexp_sprint): Ditto.
14         (normalize): Make P unsigned.
15         (gcry_sexp_nth_data): Cast return value to char*.
16         (sexp_sscan): Fix sign/unsigned conflicts.
17         (whitespacep): Change P to char*.
18         (unquote_string): Change STRING to char*.
19         (convert_to_hex): Change DEST to char*.
20         (convert_to_string): Change DEST and P to char*.
21         (convert_to_token): Chnage DEST to char*.
22         (gcry_sexp_canon_len): Change DISPHINT to unsigned char*.
23
24         * gcrypt-module.h (gcry_pk_spec): Made ALIASES a const.
25         (gcry_md_write_t): Changed BUF to a const void*.
26
27 2007-02-12  Werner Koch  <wk@g10code.com>
28
29         * gcrypt.h.in: Include stdlib.h for the sake fo the trheading
30         macros.  Suggested by Andreas Metzler.
31
32         * secmem.c (ptr_into_pool_p): New.
33         (_gcry_private_is_secure): Implement in terms of new function.
34         (BLOCK_VALID): Removed.  Replaced all users by new function.
35
36 2007-01-31  Werner Koch  <wk@g10code.com>
37
38         * secmem.c (_gcry_private_is_secure): Fixed severe implementation
39         flaw.  Might be the reason for some of the more obscure bugs.
40         (MB_WIPE_OUT): Use wipememory2.
41
42 2006-10-23  Werner Koch  <wk@g10code.com>
43
44         * gcrypt.h.in (GCRY_THREAD_OPTION_PTHREAD_IMPL): Add some cast for
45         use by C-doubleplus.  In general I don't like this but due to
46         public demand I give up ;-)
47
48 2006-10-19  Werner Koch  <wk@g10code.com>
49
50         * global.c (gcry_control) <GCRYCTL_INIT_SECMEM>: Return an error
51         if the memory could not be locked.
52         * secmem.c (not_locked): New.
53         (_gcry_secmem_get_flags): Return that flag.
54         * secmem.h (GCRY_SECMEM_FLAG_NOT_LOCKED): New.
55
56 2006-10-05  Werner Koch  <wk@g10code.com>
57
58         * module.c (_gcry_module_id_new): Don't assign modules in the range
59         the range of 1024..4096.
60         * gcrypt.h (GCRY_MD_USER, GCRY_MD_USER_LAST): New
61         (GCRY_PK_USER, GCRY_PK_USER_LAST): New.
62         (GCRY_CIPHER_USER, GCRY_CIPHER_USER_LAST): New.
63
64 2006-10-12  Marcus Brinkmann  <marcus@g10code.de>
65
66         * gcrypt.h.in: Replace socklen_t with gcry_socklen_t.
67
68 2006-10-11  Marcus Brinkmann  <marcus@g10code.de>
69
70         * gcrypt.h.in: Replace version by @VERSION@.
71
72 2006-10-10  Marcus Brinkmann  <marcus@g10code.de>
73
74         * gcrypt.h: Add fallback type for socklen_t.  Move to ...
75         * gcrypt.h.in: ... this file.
76         * Makefile.am (EXTRA_DIST): Add gcrypt.h.in.
77
78 2006-09-04  Werner Koch  <wk@g10code.com>
79
80         * gcrypt.h: Removed some trailing comma in enums.
81
82 2006-08-29  Werner Koch  <wk@g10code.com>
83
84         * global.c (gcry_xrealloc): Pass secure flag to outofcore handler.
85
86         * gcrypt.h (GCRY_CIPHER_SEED): New.
87
88 2006-08-21  Werner Koch  <wk@g10code.com>
89
90         * gcrypt.h (GCRYCTL_FAKED_RANDOM_P): New.
91
92 2006-07-29  Marcus Brinkmann  <marcus@g10code.de>
93
94         * secmem.c (init_pool): Close FD after establishing the mapping.
95
96 2006-07-12  Marcus Brinkmann  <marcus@g10code.de>
97
98         * ath.c (ath_mutex_destroy): Microoptimize destruction of unused
99         statitically initialized mutexes.  Suggested by Victor Stinner
100         <victor.stinner@inl.fr>.
101
102         * gcrypt.h (GCRY_THREAD_OPTION_PTHREAD_IMPL,
103         (GCRY_THREAD_OPTION_PTH_IMPL): Add missing initializers to
104         suppress gcc warning.
105         Submitted by Victor Stinner <victor.stinner@inl.fr>.
106
107 2006-07-04  Marcus Brinkmann  <marcus@g10code.de>
108
109         * ath.c: Avoid warning about double defined type byte and other
110         hacks to let it build for W32 (backported from LIBGCRYPT-1-2-BRANCH).
111         * ath.h, gcrypt.h, tests/benchmark.c, src/types.h: Likewise.
112
113         * gcrypt.h: Revert last change, and instead:
114         [_WIN32 || __WIN32__]: Do not include <sys/socket.h>, but
115         <winsock2.h> and <ws2tcpip.h>.
116         Suggested by Simon Josefsson <jas@extundo.com>.
117         
118         * Makefile.am (install-data-local, uninstall-local, %.lo,
119         (install-def-file, uninstall-def-file): New targets.
120         (LTRCCOMPILE, gcrypt_res, gcrypt_res_ldflag, no_undefined,
121         (export_symbols, gcrypt_deps): New variables.
122         * versioninfo.rc.in: New file.
123         * libgcrypt.def: New file from ../w32-dll/libgcrypt.def.
124
125         * gcrypt.h [!HAVE_SYS_SOCKET_H]: Do not include sys/socket.h, but
126         the appropriate windows socket header.
127
128 2006-06-21  Werner Koch  <wk@g10code.com>
129
130         * global.c (gcry_xcalloc, gcry_xcalloc_secure): Made safe against
131         integer overflow.
132
133         * sexp.c (make_space): Return an error on out of core.
134         (sexp_sscan): Remove all xmalloc style calls and return proper
135         error codes on allocation failures.
136         (gcry_sexp_find_token): Ditto.
137         (gcry_sexp_nth): 
138         
139         * sexp.c (gcry_sexp_find_token): Re-indented and removed a cruft
140         "while(level);" which fortunately had no effect.
141
142 2006-04-28  Werner Koch  <wk@g10code.com>
143
144         * gcrypt.h (GCRY_MD_SHA224): Change value from 306 to 11 to match
145         the use in OpenPGP.  There has been no release yet, so we can
146         safely do it.
147
148 2006-04-22  Moritz Schulte  <moritz@g10code.com>
149
150         * gcrypt.h (gcry_ctl_cmds): New commands:
151         GCRYCTL_SET_RANDOM_DAEMON_SOCKET, GCRYCTL_USE_RANDOM_DAEMON.  
152         * global.c (gcry_control): Handle new commands, calling
153         _gcry_set_random_daemon_socket() and _gcry_use_random_daemon().
154
155 2006-04-18  Werner Koch  <wk@g10code.com>
156
157         * gcrypt.h (GCRY_PK_USAGE_CERT, GCRY_PK_USAGE_AUTH)
158         (GCRY_PK_USAGE_UNKN): New.
159
160 2006-04-01  Moritz Schulte  <moritz@g10code.com>
161
162         * gcrypt.h (gcry_ac_eme_pkcs_v1_5): Removed members: key, handle;
163         added member: key_size.
164
165         * secmem.c (MB_FLAG_ACTIVE): Write braces around MB_FLAG_ACTIVE
166         definition.
167
168 2006-03-15  Werner Koch  <wk@g10code.com>
169
170         * getrandom.c: New.
171
172 2006-03-14  Werner Koch  <wk@g10code.com>
173
174         * gcryptrnd.c: New.
175
176 2006-03-10  Werner Koch  <wk@g10code.com>
177
178         * gcrypt.h: Add GCRY_MD_SHA224.
179
180 2005-11-02  Moritz Schulte  <moritz@g10code.com>
181
182         * gcrypt.h: Update comments for functions: gcry_cipher_algo_name,
183         gcry_pk_algo_name.
184
185 2005-10-31  Moritz Schulte  <moritz@g10code.com>
186
187         * global.c: Added documentation.
188
189 2005-10-16  Moritz Schulte  <moritz@g10code.com>
190
191         * global.c (global_init): Use gcry_error_t instead of
192         gcry_err_code_t; use goto instead of if constructs.
193
194         * stdmem.c: Inserted description of the layered memory management
195         in Libgcrypt.
196
197         * g10lib.h: Removed G10_I18N_H related check; it seems to be a
198         GnuPG relict (Libgcrypt does not define this symbol anywhere).
199         (FLAG_MODULE_DISABLED): Don't forget parantheses around shifted
200         value.
201         
202         Removed GCC_ATTR_PURE macro definitions, since gcrypt.h does
203         already contain such a macro named _GCRY_GCC_ATTR_PURE, which we
204         can use here as well.
205
206         Likewise for GCC_ATTR_MALLOC and _GCRY_GCC_ATTR_MALLOC.
207
208         * stdmem.h: Use _GCRY_GCC_ATTR_MALLOC instead of GCC_ATTR_MALLOC.
209         * secmem.h: Likewise.
210
211 2005-10-09  Moritz Schulte  <moritz@g10code.com>
212
213         * global.c (gcry_control): Call global_init() after passing thread
214         cbs to ath.  global_init() MUST to be called AFTER passing the cbs
215         to ath and BEFORE calling library functions, which make use of
216         ath.  This change combines cbs installing with ath initialization
217         and thus removes the need to call other library initialization
218         functions inbetween like e.g. gcry_check_version().
219
220 2005-10-01  Moritz Schulte  <moritz@g10code.com>
221
222         * ath.c: Assign copyright to FSF.
223         * ath.h: Likewise.
224
225 2005-06-25  Moritz Schulte  <moritz@g10code.com>
226
227         * Makefile.am (pkgconfigdir, pkgconfig_DATA): Removed variables.
228         * libgcrypt.pc.in: Removed file - we do not want to support a
229         second, foreign configuration system.
230
231 2005-06-17  Moritz Schulte  <moritz@g10code.com>
232
233         * global.c (gcry_xstrdup): Removed superfluous strcpy call.
234
235 2005-04-22  Moritz Schulte  <moritz@g10code.com>
236
237         * Makefile.am (pkgconfigdir, pkgconfig_DATA): New; support for
238         pkgconfig provided by Albert Chin.
239         * libgcrypt.pc.in (Cflags): New file.
240
241 2005-04-16  Moritz Schulte  <moritz@g10code.com>
242
243         * g10lib.h (_gcry_ac_init): Declare.
244         * global.c (global_init): Call _gcry_ac_init; don't forget to set
245         err.
246
247 2005-04-14  Werner Koch  <wk@g10code.com>
248
249         * sexp.c (whitespacep): New.
250         (sexp_sscan): Replaced isdigit and isspace by whitespacep and
251         digitp.
252
253 2005-04-11  Moritz Schulte  <moritz@g10code.com>
254
255         * gcrypt.h (gcry_md_algos): Added: GCRY_MD_WHIRLPOOL.
256         * cipher.h (_gcry_digest_spec_whirlpool): Declare.
257
258 2005-03-30  Moritz Schulte  <moritz@g10code.com>
259
260         * libgcrypt.vers: Added: gcry_ac_io_init, gry_ac_io_init_va.
261
262         * gcrypt.h (gcry_ac_data_read_cb_t, gcry_ac_data_write_cb_t,
263         gcry_ac_io_mode_t, gcry_ac_io_type_t, gcry_ac_io_t): New types.
264         (gcry_ac_io_init_va): Declare function.
265         (gcry_ac_data_encode, gcry_ac_data_decode,
266         gcry_ac_data_encrypt_scheme, gcry_ac_data_decrypt_scheme,
267         gcry_ac_data_sign_scheme, gcry_ac_data_verify_scheme): Use
268         gcry_ac_io_type_t objects instead of memory strings directly.
269
270 2005-03-03  Moritz Schulte  <moritz@g10code.com>
271
272         * libgcrypt.vers: Added: gcry_ac_data_to_sexp() and
273         gcry_ac_data_from_sexp().
274
275 2005-02-22  Werner Koch  <wk@g10code.com>
276
277         * global.c (_gcry_malloc): Make sure ERRNO is set if we return
278         NULL.  Remove unneeded initialization of M to allow the compiler
279         to catch errors.
280         (gcry_realloc): Make sure ERRNO is set if we return NULL>
281
282 2005-02-13  Moritz Schulte  <moritz@g10code.com>
283
284         * gcrypt.h: Declare new functions: gcry_ac_data_encrypt_scheme,
285         gcry_ac_data_decrypt_scheme, gcry_ac_data_sign_scheme,
286         gcry_ac_data_verify_scheme, gcry_ac_data_encode,
287         gcry_ac_data_decode, gcry_ac_data_to_sexp, gcry_ac_data_from_sexp.
288         New types: gcry_ac_emsa_pkcs_v1_5_t, gcry_ac_ssa_pkcs_v1_5_t,
289         gcry_md_algo_t.
290         New enumeration lists: gcry_ac_scheme_t, gcry_ac_em_t.
291         * libgcrypt.vers: Added new ac functions.
292         * g10lib.h: Declare function: _gcry_pk_get_elements.
293         * mpi.h (mpi_get_ui): New macro.
294         Declare function: _gcry_mpi_get_ui.
295
296 2004-11-09  Werner Koch  <wk@g10code.com>
297
298         * gcrypt.h: Removed 3 trailing commas from enums.  Noted by Heiko
299         Stamer.
300
301 2004-09-21  Werner Koch  <wk@g10code.de>
302
303         * sexp.c (sexp_sscan): Removed C++ style comments.  Noted by Yoann
304         Vandoorselaere.
305
306 2004-08-23  Moritz Schulte  <moritz@g10code.com>
307
308         * global.c: Do not include <assert.h>. 
309         * sexp.c: Likewise.
310         * module.c: Likewise.
311         * misc.c: Likewise.
312
313 2004-08-18  Moritz Schulte  <moritz@g10code.com>
314
315         * secmem.c (_gcry_secmem_init): Try to lock pool into core not
316         only when running with root privileges.
317
318 2004-08-16  Werner Koch  <wk@g10code.de>
319
320         * secmem.h (_gcry_secmem_set_flags,_gcry_secmem_get_flags):
321         Removed __pure__.
322         (GCRY_SECMEM_FLAG_NO_WARNING): Put macro value into parens.
323
324         * secmem.c (_gcry_secmem_init): Defer printing of the warning.
325
326 2004-08-10  Moritz Schulte  <moritz@g10code.com>
327
328         * gcrypt.h: Include <sys/time.h>, thanks to Simon Josefsson.
329
330 2004-05-07  Werner Koch  <wk@gnupg.org>
331
332         * gcrypt.h: Added GCRYCTL_FAST_POLL.
333         (gcry_fast_random_poll): New.
334         * global.c (gcry_control) <INITIALIZATION_FINISHED>: Do only basic
335         random subsystem init.
336         (gcry_control) <FAST_POLL>: New.
337
338 2004-04-22  Marcus Brinkmann  <marcus@g10code.de>
339
340         * libgcrypt.m4: Quote first argument to AC_DEFUN.
341
342 2004-04-15  Werner Koch  <wk@gnupg.org>
343
344         * secmem.c (_gcry_secmem_malloc_internal): Removed old extra info
345         error output.
346         (_gcry_secmem_term): Use wipememory2 here.
347
348         * misc.c (_gcry_burn_stack): Use wipememory to avoid optimizations.
349
350         * string.c: Removed.  Was never used.
351         * global.c (gcry_strdup): Replaced by the version from string.c
352         (gcry_xstrdup): Rewritten.
353         * gcrypt.h: Removed duplicate prototype for gcry_strdup.
354
355 2004-03-29  Werner Koch  <wk@gnupg.org>
356
357         * secmem.c (_gcry_secmem_realloc): Fixed double unlock; bug
358         manifested itself due to the more rigorous checking in the changed
359         ath.h
360
361         * libgcrypt-config.in (Options): Ignore the obsolete --threads
362         option for now.
363
364 2004-03-17  Marcus Brinkmann  <marcus@g10code.de>
365
366         * libgcrypt-config.in (includedir, libdir): Quote'em.  Use
367         $gpg_error_cflags and $gpg_error_libs.  Fix construction of
368         $includes.
369
370 2004-03-14  Marcus Brinkmann  <marcus@g10code.de>
371
372         * libgcrypt-config.in (includedir, libdir): New variables.  For
373         --cflags, don't test $cflags.  Also check against /include for the
374         GNU/Hurd.  Don't overwrite but extend $cflags_final.  Likewise for
375         --libs.
376
377 2004-03-10  Marcus Brinkmann  <marcus@g10code.de>
378
379         * Makefile.am (ltlib_libgcrypt_pthread, ltlib_libgcrypt_pth): Removed.
380         (lib_LTLIBRARIES): Remove those variables from here.
381         (libgcrypt_pthread_la_SOURCES, libgcrypt_pthread_la_LDFLAGS,
382         (libgcrypt_pthread_la_DEPENDENCIES, libgcrypt_pthread_la_LIBADD,
383         (libgcrypt_pth_la_SOURCES, libgcrypt_pth_la_LDFLAGS,
384         (libgcrypt_pth_la_DEPENDENCIES, libgcrypt_pth_la_LIBADD,
385         (noinst_LTLIBRARIES): Removed.
386         (libgcrypt_real_la_SOURCES): Merge with ...
387         (libgcrypt_la_SOURCES): ... likewise.
388         (libgcrypt_real_la_DEPENDENCIES): Merge with ...
389         (libgcrypt_la_DEPENDENCIES): ... this.
390         (libgcrypt_real_la_LIBADD): Merge with ...
391         (libgcrypt_la_LIBADD): ... this.
392         * libgcrypt-config.in (libs_pthread, libs_pth, cflags_pth) 
393         (cflags_pthread, thread_module, thread_modules): Removed.
394         (Options): Remove --thread option from help output.  If the option
395         is specified, output an error and exit.
396         For --cflags and --libs option, remove pth and pthread from output.
397         * gcrypt.h: Include <sys/types.h> and <sys/socket.h>.
398         (enum gcry_ctl_cmds): Add GCRYCTL_SET_THREAD_CBS.
399         (gcry_thread_cbs): New struct.
400         * global.c (gcry_control): Implement GCRYCTL_SET_THREAD_CBS.
401         (global_init): Don't call ath_init here.
402         * ath.h: Rewritten.
403         * ath.c: Rewritten.
404
405 2004-03-06  Werner Koch  <wk@gnupg.org>
406
407         * libgcrypt-config.in: s/--soname-number/--api-version/
408         * libgcrypt.m4: Changed test for API version.
409
410 2004-03-05  Werner Koch  <wk@gnupg.org>
411
412         * libgcrypt.m4: Optionally check the SONAME number.
413
414         * libgcrypt-config.in: Add option --soname-number
415
416 2004-03-01  Marcus Brinkmann  <marcus@g10code.de>
417
418         * Makefile.am (libgcrypt_la_SOURCES): Add ath.c.
419         * ath.c (ath_init): Add missing function.
420
421         * Makefile.am (ath_pth_src): Removed.
422         (ath_pthread_src): Removed.
423         (libgcrypt_la_SOURCES): Remove ath-compat, $(ath_pth_src) and
424         $(ath_pthread_src).
425         * ath-compat.c, ath-pth-compat.c, ath-pthread-compat.c: Files
426         removed.
427         
428 2004-02-20  Werner Koch  <wk@gnupg.org>
429
430         * gcrypt.h (GCRY_PRIME_CHECK_AT_GOT_PRIME)
431         (GCRY_PRIME_CHECK_AT_FINISH),
432         (GCRY_PRIME_CHECK_AT_MAYBE_PRIME): New.
433
434 2004-02-18  Werner Koch  <wk@gnupg.org>
435
436         * libgcrypt-config.in: Ignore setting of --prefix.
437
438 2004-02-13  Werner Koch  <wk@gnupg.org>
439
440         * gcrypt.h: Added GCRY_CIPHER_RFC2268_128, alsthough not yet
441         supported.
442
443 2004-02-06  Werner Koch  <wk@gnupg.org>
444
445         * gcrypt.h: Added GCRY_CIPHER_RFC2268_40.
446
447 2004-02-03  Werner Koch  <wk@gnupg.org>
448
449         * secmem.c (_gcry_secmem_init): Do not print the "not locked into
450         core warning" if the NO_WARNING flag has been set.
451
452         * sexp.c (sexp_sscan): Allocate result in secure memory if BUFFER
453         is in secure memory. Switch to secure memory for the a secure %b
454         format item. Extra paranoid wipe on error.
455         (gcry_sexp_release): Added paranoid wiping for securely allocated
456         S-expressions.
457
458 2004-01-25  Moritz Schulte  <mo@g10code.com>
459
460         * ath.h: Include <config.h>.
461
462 2004-01-12  Moritz Schulte  <mo@g10code.com>
463
464         * gcrypt.h: Adjusted declarations of: gcry_ac_data_set,
465         gcry_ac_data_get_name, gcry_ac_data_get_index,
466         gcry_ac_key_pair_generate, gcry_ac_key_test,
467         gcry_ac_key_get_nbits, gcry_ac_key_get_grip.
468
469         * gcrypt.h (GCRY_AC_FLAG_DATA_NO_BLINDING): Removed symbol.
470         (GCRY_AC_FLAG_DEALLOC, GCRY_AC_FLAG_COPY) 
471         (GCRY_AC_FLAG_NO_BLINDING): New symbols.
472
473         * global.c (gcry_strdup): Removed function.
474         * string.c: New file.
475         * Makefile.am (libgcrypt_real_la_SOURCES): Added: string.c.
476         * string.c (gcry_strdup): New function.
477         * gcrypt.h (gcry_strdup): Declare.
478
479 2003-12-19  Werner Koch  <wk@gnupg.org>
480
481         * g10lib.h (wipememory, wipememory2): New; taken from gnupg.
482
483 2003-11-14  Werner Koch  <wk@gnupg.org>
484
485         * global.c (gcry_strdup): Don't copy the string after a malloc
486         error.
487
488 2003-11-11  Werner Koch  <wk@gnupg.org>
489
490         * sexp.c (sexp_sscan): Implemented "%b" format specifier.
491
492 2003-11-11  Moritz Schulte  <mo@g10code.com>
493
494         * libgcrypt.m4: Do not set prefix when calling libgcrypt-config.
495         Thanks to Nikos Mavroyanopoulos.
496
497 2003-11-08  Moritz Schulte  <mo@g10code.com>
498
499         * cipher.h (small_prime_numbers): Removed declaration.
500         (PUBKEY_FLAG_NO_BLINDING): Put braces around shift.
501
502 2003-11-04  Werner Koch  <wk@gnupg.org>
503
504         * cipher.h (_gcry_sha1_has_buffer): New.
505
506         * gcrypt.h (gcry_create_nonce): New.
507
508 2003-10-31  Werner Koch  <wk@gnupg.org>
509
510         * libgcrypt.vers (_gcry_generate_elg_prime): Removed this symbol;
511         gnutls does not need it anymore.
512
513         * secmem.c (mb_get_new): s/pool/block/ due to global pool.
514
515         * misc.c (gcry_set_log_handler): s/logf/f/ to avoid shadowing
516         warning against a builtin.
517
518         * ath-pth-compat.c: cast pth_connect to get rid of the const
519         prototype.
520
521 2003-10-27  Werner Koch  <wk@gnupg.org>
522
523         * ath.h (ATH_MUTEX_INITIALIZER): Removed spurious semicolon.
524
525 2003-10-27  Moritz Schulte  <mo@g10code.com>
526
527         * libgcrypt-config.in: Include libs/cflags of libgpg-error.
528
529         * sexp.c (sexp_sscan): Cleaned up, deallocate scanned sexp on
530         error.
531
532         * module.c (MODULE_ID_MIN): New symbol, use it.
533
534 2003-10-27  Werner Koch  <wk@gnupg.org>
535
536         * gcrypt.h (gcry_pk_testkey): Doc fix.
537
538 2003-09-29  Moritz Schulte  <mo@g10code.com>
539
540         * libgcrypt-config.in: Fix --algorithms option.
541
542 2003-10-23  Werner Koch  <wk@gnupg.org>
543
544         * gcrypt.h (gcry_err_code): Use GPG_ERR_INLINE instead of
545         __inline__.
546
547         * secmem.c (lock_pool): Don't print the warning for certain
548         systems, handle ENOMEM.
549
550 2003-10-21  Werner Koch  <wk@gnupg.org>
551
552         * secmem.c (_gcry_secmem_dump_stats): Fixed format sepcifier for a
553         size_t.  Reported by Stephane Corthesy.
554
555 2003-10-10  Werner Koch  <wk@gnupg.org>
556
557         * global.c (_gcry_malloc): Handle the no_secure_memory option.
558
559         * gcrypt.h (gcry_prime_group_generator): New.
560         (gcry_prime_release_factors): New.
561
562 2003-10-07  Werner Koch  <wk@gnupg.org>
563
564         * sexp.c (sexp_sscan): Check that parenthesis are matching.
565
566 2003-09-28  Moritz Schulte  <mo@g10code.com>
567
568         * g10lib.h: Declare: _gcry_malloc.
569         (GCRY_ALLOC_FLAG_SECURE): New symbol.
570
571         * global.c (_gcry_malloc): New function...
572         (gcry_malloc): ... use it.
573         (gcry_malloc_secure): Likewise.
574
575         * ath.c: Change License to LGPL.
576         * ath-pthread-compat.c: Likewise.
577         * ath-pthread.c: Likewise.
578         * ath-pth-compat.c: Likewise.
579         * ath-pth.c: Likewise.
580         * ath.h: Likewise.
581         * ath-compat.c: Likewise.
582
583         * secmem.c (_gcry_secmem_realloc): Do not forget to release secmem
584         lock.  Thanks to low halo for triggering this bug.
585
586 2003-09-04  Werner Koch  <wk@gnupg.org>
587
588         * gcrypt.h (_GCRY_ERR_SOURCE_DEFAULT): Removed cruft.
589         (gcry_prime_check_func_t): Renamed arg for clarity.
590
591 2003-09-02  Moritz Schulte  <mo@g10code.com>
592
593         * gcrypt.h (GCRY_PRIME_FLAG_SPECIAL_FACTOR): New symbol.
594
595 2003-09-01  Moritz Schulte  <mo@g10code.com>
596
597         * gcrypt.h (gcry_random_level_t): New type.
598         (gcry_prime_check_func_t): Likewise.
599         (GCRY_PRIME_FLAG_SECRET): New symbol.
600         (gcry_prime_generate, gcry_prime_check): Declare functions.
601
602 2003-08-28  Werner Koch  <wk@gnupg.org>
603
604         * Makefile.am (libgcrypt_pth_la_LDFLAGS): Removed PTH_CFLAGS cruft.
605
606 2003-08-27  Moritz Schulte  <mo@g10code.com>
607
608         * global.c (gcry_control): Remove call to ath_deinit.
609
610         * Makefile.am (libgcrypt_real_la_DEPENDENCIES): Fixed.
611         (libgcrypt_real_la_LIBADD): Fixed.
612         Removed unecessary variables.
613
614         * libgcrypt-config.in: Adjusted script for new thread handling.
615
616         * Makefile.am: New version, based on GPGMEs Makefile.am.
617
618         * ath.c, ath-compat.c, ath.h, ath-pth.c, ath-pth-compat.c,
619         ath-pthread.c, ath-pthread-compat.c: New files, merged from GPGME.
620         * ath.c, ath.h, ath-pthread.c, ath-pth.c: Removed files.
621
622 2003-08-08  Moritz Schulte  <moritz@g10code.com>
623
624         * global.c (gcry_realloc): Remove FIXME about `clearing out
625         realloced memory', since _gcry_secmem_realloc takes care of
626         overwriting old memory.
627
628 2003-08-07  Werner Koch  <wk@gnupg.org>
629
630         * module.c (_gcry_module_release): Don't act if module is NULL.
631
632 2003-07-30  Moritz Schulte  <moritz@g10code.com>
633
634         * gcrypt.h (enum gcry_ac_id): Added: GCRY_AC_ELG_E.
635         Reverted change: use gcry_md_flags enumeration list instead of
636         defines.
637
638 2003-07-29  Werner Koch  <wk@gnupg.org>
639
640         * global.c (gcry_control): Add GCRYCTL_SET_RANDOM_SEED_FILE and
641         GCRYCTL_UPDATE_RANDOM_SEED_FILE.
642         * gcrypt.h: Ditto.  Renamed index to idx, so avoid warning
643         related to the old index function.
644
645 2003-07-28  Moritz Schulte  <moritz@g10code.com>
646
647         * global.c (gcry_err_code_from_errno, gcry_err_code_to_errno)
648         (gcry_err_make_from_errno, gcry_error_from_errno): New functions.
649
650         * gcrypt.h: Declared: gcry_err_code_from_errno,
651         gcry_err_code_to_errno, gcry_err_make_from_errno,
652         gcry_error_from_errno.
653
654         * Makefile.am (include_HEADERS): Added: gcrypt-module.h.
655
656         * gcrypt.h: Include <gcrypt-module.h>.
657
658         * gcrypt-module.h: New file.
659
660 2003-07-27  Werner Koch  <wk@gnupg.org>
661
662         * gcrypt.h (gcry_mpi_scan, gcry_mpi_print): API change.
663         (gcry_mpi_dump): New.
664
665 2003-07-21  Moritz Schulte  <moritz@g10code.com>
666
667         * gcrypt.h: Declared: gcry_ac_key_data_get.
668         (gcry_pk_spec): Renamed member `sexp_names' into `aliases'.
669
670 2003-07-20  Moritz Schulte  <moritz@g10code.com>
671
672         * gcrypt.h (gcry_md_oid_spec_t): New type.
673         (gcry_md_spec): New member: oids.
674
675 2003-07-19  Moritz Schulte  <moritz@g10code.com>
676
677         * gcrypt.h (gcry_cipher_oid_spec_t): New type.
678         (gcry_cipher_spec): New member: oids;
679
680 2003-07-18  Werner Koch  <wk@gnupg.org>
681
682         * gcrypt.h (gcry_mpi_set_opaque): Add a warning comment.
683
684 2003-07-15  Moritz Schulte  <moritz@g10code.com>
685
686         * secmem.c (compress_pool): Remove function, since unused blocks
687         are automatically concatenad.
688
689         * gcrypt.h: Bumped version number up to 1.1.42-cvs.
690
691 2003-07-14  Moritz Schulte  <moritz@g10code.com>
692
693         * gcrypt.h (gcry_cipher_spec): New member: aliases.
694
695         * Makefile.am (noinst_PROGRAMS, testapi_SOURCES, testapai_LDADD,
696         benchmark_SOURCES, benchmark_LDADD): Removed.
697
698         * benchmark.c, testapi.c: Removed files.
699
700         * mpi.h: Removed disabled typedef.
701         * g10lib.h: Likewise.
702
703         * benchmark.c, g10lib.h, gcrypt.h, global.c, module.c, sexp.c:
704         Used gcry_err* wrappers for libgpg-error symbols.
705
706 2003-07-12  Moritz Schulte  <moritz@g10code.com>
707
708         * global.c: Likewise.
709
710         * gcrypt.h: New type: gcry_error_t, gcry_err_code_t and
711         gcry_err_source_t.
712         (gcry_err_make, gcry_error, gcry_err_code, gcry_err_source): New
713         functions.
714
715         * global.c (gcry_strerror): New function.
716         (gcry_strsource): New function.
717
718         * gcrypt.h: New symbol: GCRY_CIPHER_TWOFISH128.
719
720 2003-07-09  Moritz Schulte  <moritz@g10code.com>
721
722         * gcrypt.h (enum gcry_md_flags): Removed, used define instead,
723         since that is more common than an enumeration list when it comes
724         to flags that can be bitwise ORed.
725         
726 2003-07-08  Moritz Schulte  <moritz@g10code.com>
727
728         * global.c: Use new types for handlers.
729
730         * gcrypt.h: Declare: gcry_ac_data_copy.
731
732 2003-07-07  Moritz Schulte  <moritz@g10code.com>
733
734         * sexp.c (gcry_sexp_build_array): Use dummy argument pointer.
735         Thanks to Simon Josefsson <jas@extunde.com>.
736
737         * gcrypt.h: Declare: gcry_cipher_list, gcry_pk_list, gcry_md_list.
738         
739 2003-07-05  Moritz Schulte  <moritz@g10code.com>
740
741         * gcrypt.h: Declare: gcry_cipher_register, gcry_cipher_unregister,
742         gcry_md_register, gcry_md_unregister, gcry_pk_register,
743         gcry_pk_unregister.
744         (gcry_cipher_spec): Removed member: algorithm.
745         (gcry_pk_spec): Likewise.
746         (gcry_md_spec): Likewise.
747         Adjusted declarations: gcry_cipher_register, gcry_pk_register,
748         gcry_md_register.
749
750         * module.c: Replaced all occurences of `id' with `mod_id', since
751         `id' is a keyword in obj-c.
752
753         * gcrypt.h (gcry_cipher_spec): Renamed member `id' to `algorithm'.
754         (gcry_pk_spec): Likewise.
755         (gcry_md_spec): Likewise.
756
757         * cipher.h: Removed types: gcry_pubkey_generate_t,
758         gcry_pubkey_check_secret_key_t, gcry_pubkey_encrypt_t,
759         gcry_pubkey_decrypt_t, gcry_pubkey_sign_t, gcry_pubkey_verify_t,
760         gcry_pubkey_get_nbits_t, gcry_pk_spec_t, gcry_digest_init_t,
761         gcry_digest_write_t, gcry_digest_final_t, gcry_digest_read_t,
762         gcry_digest_spec_t, gcry_cipher_setkey_t, gcry_cipher_encrypt_t,
763         gcry_cipher_decrypt_t, gcry_cipher_stencrypt_t,
764         gcry_cipher_stdecrypt_t, gcry_cipher_spec_t.
765
766         * gcrypt.h: New types: gcry_pk_generate_t,
767         gcry_pk_check_secret_key_t, gcry_pk_encrypt_t, gcry_pk_decrypt_t,
768         gcry_pk_sign_t, gcry_pk_verify_t, gcry_pk_get_nbits_t,
769         gcry_pk_spec_t, gcry_md_init_t, gcry_md_write_t, gcry_md_final_t,
770         gcry_md_read_t, gcry_md_spec_t, gcry_cipher_setkey_t,
771         gcry_cipher_encrypt_t, gcry_cipher_decrypt_t,
772         gcry_cipher_stencrypt_t, gcry_cipher_stdecrypt_t,
773         gcry_cipher_spec_t, gcry_module_t.
774
775 2003-07-04  Moritz Schulte  <moritz@g10code.com>
776
777         * module.c (_gcry_module_list): New function.
778
779 2003-07-02  Moritz Schulte  <moritz@g10code.com>
780
781         * module.c (_gcry_module_lookup): Fixed typo.
782
783         * gcrypt.h: Added all definitions and declarations necessary for
784         the new ac interface.
785
786 2003-06-30  Moritz Schulte  <moritz@g10code.com>
787
788         * g10lib.h: Added declarations: _gcry_pk_module_lookup,
789         _gcry_pk_module_release.
790
791 2003-06-18  Werner Koch  <wk@gnupg.org>
792
793         * benchmark.c (cipher_bench): Adjusted for new API of get_blklen
794         and get_keylen.
795
796         * gcrypt.h (gcry_cipher_get_algo_blklen)
797         (gcry_cipher_get_algo_keylen): Replaced macro by funcion.
798
799 2003-06-18  Moritz Schulte  <moritz@g10code.com>
800
801         * cipher.h: Renamed types GcryDigestSpec, GcryCipherSpec and
802         GcryPubkeySpec into: gcry_digest_spec_t, gcry_cipher_spec_t and
803         gcry_pubkey_spec_t.
804         (gcry_pubkey_spec): Defined member `id' as unsigned.
805         (gcry_digest_spec): Likewise.
806         (gcry_cipher_spec): Likewise.
807
808         * module.c (_gcry_module_id_new): New function.
809         (_gcry_module_add): Generate a new ID via _gcry_module_id_new in
810         case `id' is zero.
811
812         * g10lib.h, module.c: Replace old type GcryModule with newer one:
813         gcry_module_t.
814
815         * module.c (_gcry_module_add): Added argument `id', use it.
816
817         * g10lib.h: Added declaration: _gcry_module_lookup_id.
818         (_gcry_module_add): Added argument `id'.
819
820         * module.c (_gcry_module_lookup_id): New function.
821
822         * g10lib.h (struct gcry_module): New member: id.
823
824         * gcrypt.h: New type: gcry_handler_progress_t,
825         gcry_handler_alloc_t, gcry_haandler_secure_check_t,
826         gcry_handler_realloc_t, gcry_handler_free_t,
827         gcry_handler_no_mem_t, gcry_handler_error_t, gcry_handler_log_t.
828         Use new types.
829
830         * cipher.h: Include <gcrypt.h>.
831         New types: gcry_pk_generate_t, gcry_pk_check_secret_key_t,
832         gcry_pk_encrypt_t, gcry_pk_decrypt_t, gcry_pk_sign_t,
833         gcry_pk_verify_t, gcry_pk_get_nbits_t, gcry_md_init_t,
834         gcry_md_write_t, gcry_md_final_t, gcry_md_read_t,
835         gcry_cipher_setkey_t, gcry_cipher_encrypt_t,
836         gcry_cipher_decrypt_t, gcry_cipher_stencrypt_t,
837         gcry_cipher_stdecrypt_t.
838         Use new types.
839
840 2003-06-17  Moritz Schulte  <moritz@g10code.com>
841
842         * Makefile.am (AM_CFLAGS): Added: @GPG_ERROR_CFLAGS@.
843
844 2003-06-16  Moritz Schulte  <moritz@g10code.com>
845
846         * g10lib.h: Replace last occurences of old type names with newer
847         names (i.e. replace MPI with gcry_mpi_t).
848         * mpi.h: Likewise.
849         * sexp.c: Likewise.
850
851 2003-06-15  Moritz Schulte  <moritz@g10code.com>
852
853         * testapi.c (test_genkey): Use gpg_strerror instead of
854         gcry_strerror.
855
856         * global.c (gcry_control): Fixed typo.
857
858         * misc.c (_gcry_fatal_error): Use gpg_strerror instead of
859         gcry_strerror.
860
861         * types.h (STRLIST): Removed type since it is not used.
862
863 2003-06-11  Moritz Schulte  <moritz@g10code.com>
864
865         * global.c (global_init): Call: _gcry_cipher_init, _gcry_md_init,
866         _gcry_pk_init.
867
868         * g10lib.h: Declare: _gcry_cipher_init, _gcry_md_init,
869         _gcry_pk_init.
870         
871         * global.c (gcry_strerror): Remove compatibility code.
872
873         * Makefile.am: Remove support libgpg-error special handling.
874         (AM_CPPFLAGS): Add @GPG_ERROR_CFLAGS@
875
876         * gcrypt.h: Likewise.
877
878 2003-06-13  Werner Koch  <wk@gnupg.org>
879
880         * gcrypt.h (gcry_md_get_algo): Reverted to old API.  This is a
881         convenience function anyway and error checking is not approriate.
882         (gcry_md_is_enabled): New.
883         (gcry_md_is_secure): Replaced macro by function and reverted to old
884         API.
885
886 2003-06-11  Werner Koch  <wk@gnupg.org>
887
888         * gcrypt.h (GCRYERR): Define _GCRY_ERR_SOURCE_DEFAULT instead of
889         GPG_ERR_SOURCE_DEFAULT, so that libgpg-error still works despite
890         the use of the old gcrypt error codes.
891         (gcry_md_copy): Swapped arguments.
892         
893 2003-06-09  Moritz Schulte  <moritz@g10code.com>
894
895         * Makefile.am: Support for libgpg-error.
896
897 2003-06-08  Moritz Schulte  <moritz@g10code.com>
898
899         * sexp.c (gcry_sexp_create): Expect sane error values from
900         gcry_sexp_canon_len instead of the `historical' values.
901
902 2003-06-07  Moritz Schulte  <moritz@g10code.com>
903
904         * ath.c, ath.c, ath-pth.c, ath-pthread.c, benchmark.c, cipher.h,
905         g10lib.h, gcrypt.h, global.c, misc.c, missing-string.c, module.c,
906         mpi.h, secmem.c, secmem.h, sexp.c, stdmem.c, stdmem.h, testapi.c,
907         types.h: Edited all preprocessor instructions to remove whitespace
908         before the '#'.  This is not required by C89, but there are some
909         compilers out there that don't like it.  Replaced any occurence of
910         the now deprecated type names with the new ones.
911         
912         * gcrypt.h: Re-organized checking for gcc features; New macro:
913         _GCRY_GCC_ATTR_DEPRECATED.
914         Include copy of libgpg-error's gpg-error.h in order to make it
915         easy to build libgcrypt without needing libgpg-error.h.
916
917         (GCRY_MPI, GcryMPI, GCRY_SEXP, GcrySexp, GCRY_CIPHER_HD,
918         GcryCipherHd, GCRY_MD_HD, GcryMDHd): Declared deprecated.
919         (gcry_mpi_t, gcry_sexp_t, gcry_cipher_hd_t, gcry_md_hd_t): New
920         types.
921
922 2003-06-04  Moritz Schulte  <moritz@g10code.com>
923
924         * sexp.c (sexp_sscan): New argument: arg_list, adjusted all
925         callers.
926         (ARG_NEXT): New macro.
927         (sexp_sscan): Use ARG_NEXT for receiving format string arguments.
928         (gcry_sexp_build_array): New function.
929
930 2003-06-02  Moritz Schulte  <moritz@g10code.com>
931
932         * gcrypt.h: Added some comments describing the gcry_sexp_*
933         functions.
934         Include <gpg-error.h> instead of <gpg/error.h>.
935
936 2003-06-01  Moritz Schulte  <moritz@g10code.com>
937
938         * sexp.c (OLDPARSECODE): Removed macro...
939         (gcry_sexp_canon_len): ... and do not use it.
940
941         * gcrypt.h (gcry_errno): Removed declaration.
942
943         * g10lib.h (string_to_pubkey_algo, pubkey_algo_to_string,
944         pubkey_nbits): Removed declarations for non-existing functions.
945
946 2003-05-31  Moritz Schulte  <moritz@g10code.com>
947
948         * cipher.h (is_RSA, is_ELGAMAL): Removed macros.
949
950         * g10lib.h (set_lasterr): Removed macro.
951         (_gcry_set_lasterr): Removed declaration.
952
953         * gcrypt.h: Changed declarations for: gcry_pk_algo_info,
954         gcry_md_open, gcry_md_copy, gcry_md_algo_info, gcry_md_info,
955         gcry_md_get_algo, gcry_random_add_bytes.
956         
957         (gcry_md_is_secure): Adjust macro for new API.
958
959 2003-05-29  Moritz Schulte  <moritz@g10code.com>
960
961         * gcrypt.h: Changed declarations for: gcry_cipher_open,
962         gcry_cipher_info, gcry_cipher_algo_info.
963         (gcry_cipher_get_algo_keylen): Adjuster for new
964         gcry_cipher_algo_info interface.
965         (gcry_cipher_get_algo_blklen): Likewise.
966
967         * global.c (gcry_errno): Removed function.
968         (gcry_strerror): Do not use gcry_errno.
969         (_gcry_set_lasterr): Removed function.
970         (last_ec): Removed variable.
971
972 2003-05-27  Moritz Schulte  <moritz@g10code.com>
973
974         * gcrypt.h (enum gcry_cipher_algos): Make Serpent IDs do not
975         conflict with OpenPGP.  Reported by Timo Schulz.
976
977         * global.c (gcry_control): Fixed name of enum list.
978
979 2003-05-25  Moritz Schulte  <moritz@g10code.com>
980
981         * cipher.h (gcry_cipher_spec): Adjust return type of `setkey' for
982         libgpg-error.
983         (gcry_pubkey_spec): Adjust return type of `generate',
984         `check_secret_key', `encrypt', `decrypt', `sign' and `verify' for
985         libgpg-error.
986
987         * sexp.c (gcry_sexp_canon_len): Adjusted for libgpg-error.
988         (gcry_sexp_create): Likewise.
989         (gcry_sexp_new): Likewise.
990         (sexp_sscan): Likewise.
991         (gcry_sexp_build): Likewise.
992         (gcry_sexp_sscan): Likewise.
993
994         * module.c (_gcry_module_add): Likewise.
995
996         * global.c (last_ec): Change type to gpg_error_t.
997         (gcry_control): Adjust for libgpg-error.
998         (gcry_errno): Likewise.
999         (gcry_strerror): Likewise.
1000         (_gcry_set_lasterr): Likewise.
1001         (gcry_xmalloc): Likewise.
1002         (gcry_xrealloc): Likewise.
1003
1004 2003-05-22  Moritz Schulte  <moritz@g10code.com>
1005
1006         * types.h: Merged code from GnuPG regarding U64_C.
1007
1008         * missing-string.c (strsep): Removed function.
1009
1010         * g10lib.h: Removed declarations: strsep, strlwr.
1011
1012         * secmem.c (secmem_lock): New variable.
1013         (SECMEM_LOCK, SECMEM_UNLOCK): New macros.
1014         (_gcry_secmem_set_flags): Use SECMEM_LOCK and SECMEM_UNLOCK.
1015         (_gcry_secmem_get_flags): Likewise.
1016         (_gcry_secmem_init): Likewie.
1017         (_gcry_secmem_malloc): Likewise.
1018         (_gcry_secmem_free): Likewise.
1019         (_gcry_secmem_malloc): Renamed to ...
1020         (_gcry_secmem_malloc_internal): ... this.
1021         (_gcry_secmem_malloc): New function, use SECMEM_LOCK,
1022         SECMEM_UNLOCK, call _gcry_secmem_malloc_internal.
1023         (_gcry_secmem_free): Renamed to ...
1024         (_gcry_secmem_free_internal): ... this.
1025         (_gcry_secmem_free): New function, use SECMEM_LOCK, SECMEM_UNLOCK,
1026         call _gcry_secmem_free_internal.
1027         (_gcry_secmem_realloc): Use SECMEM_LOCK, SECMEM_UNLOCK, call
1028         _gcry_secmem_malloc_internal and _gcry_secmem_free_internal.
1029         (_gcry_private_is_secure): Use SECMEM_LOCK, SECMEM_UNLOCK.
1030         (_gcry_secmem_dump_stats): Likewise.
1031         (_gcry_secmem_malloc_internal): Removed unused variable:
1032         compressed.
1033         Include "ath.h".
1034
1035 2003-05-21  Moritz Schulte  <moritz@g10code.com>
1036
1037         * gcrypt.h (GCRY_CIPHER_SERPENT128, GCRY_CIPHER_SERPENT192,
1038         GCRY_CIPHER_SERPENT256): New symbols.
1039
1040 2003-05-19  Moritz Schulte  <moritz@g10code.com>
1041
1042         * gcrypt.h: Reversed changes from 2003-03-03 since they would have
1043         been an unnecessary ABI break.
1044
1045 2003-05-13  Moritz Schulte  <moritz@g10code.com>
1046
1047         * secmem.c (stats_update): New function.
1048         (BLOCK_HEAD_SIZE): New symbol.
1049         (MB_FLAG_ACTIVE): New symbol.
1050         (ADDR_TO_BLOCK, BLOCK_VALID): New macros.
1051         (mb_get_next): New function.
1052         (mb_get_prev): New function.
1053         (mb_merge): New function.
1054         (mb_get_new): New function.
1055         (unused_blocks): Removed variable.
1056         (init_pool): Initialize new memory pool.
1057         (_gcry_secmem_malloc): Use new heap management code.
1058         (_gcry_secmem_free): Likewise.
1059         (_gcry_secmem_realloc): Likewise.
1060         Renamed type MEMBLOCK to memblock_t.
1061
1062 2003-04-27  Moritz Schulte  <moritz@g10code.com>
1063
1064         * cipher.h (gcry_pubkey_spec): New member: sexp_names.
1065
1066 2003-04-23  Moritz Schulte  <moritz@g10code.com>
1067
1068         * cipher.h (gcry_pubkey_spec): Removed members: npkey, nskey,
1069         nenc, nsig.
1070         (gcry_pubkey_spec): Added members: elements_pkey, elements_skey,
1071         elements_enc, elements_sig, elements_grip.
1072
1073 2003-04-17  Moritz Schulte  <moritz@g10code.com>
1074
1075         * g10lib.h (GcryModule): New typedef.
1076
1077         * gcrypt.h (gcry_cipher_register, gcry_cipher_unregister,
1078         gcry_digest_register, gcry_digest_unregister,
1079         gcry_pubkey_register, gcry_pubkey_unregister): Function
1080         declarations removed - for now.
1081         
1082         * gcrypt.h (GcryModule): Declaration removed.
1083         * gcrypt.h (GcryPubkeySpec, GcryDigestSpec, GcryCipherSpec):
1084         Types Moved... 
1085         * cipher.h: ... here.
1086
1087 2003-04-17  Moritz Schulte  <moritz@g10code.com>
1088
1089         * cipher.h: Declare digest_spec_sha512 and digest_spec_384.
1090
1091 2003-04-16  Moritz Schulte  <moritz@g10code.com>
1092
1093         * module.c (_gcry_module_use): New function.
1094         * g10lib.h (_gcry_module_use): Declare function.
1095
1096         * libgcrypt-config.in: Support for --algorithms switch, which
1097         prints the algorithms included in the built libgcrypt.
1098
1099         * global.c (gcry_set_progress_handler): Register progress
1100         functions depending on the enabled algorithms.
1101
1102 2003-04-07  Moritz Schulte  <moritz@g10code.com>
1103
1104         * Makefile.am (libgcrypt_la_SOURCES): Added module.c
1105
1106         * module.c: New file.
1107         (_gcry_module_add): New function.
1108         (_gcry_module_drop): New function.
1109         (_gcry_module_lookup): New function.
1110         (_gcry_module_release): New function.
1111
1112         * g10lib.h (GcryModule): New types.
1113         (FLAG_MODULE_DISABLED): New symbol.
1114         Added declarations for _gcry_module_add, _gcry_module_release and
1115         _gcry_module_lookup.
1116
1117         * gcrypt.h: New types: GcryPubkeySpec, GcryDigestSpec,
1118         GcryCipherSpec.
1119         Added declarations for: gcry_cipher_register,
1120         gcry_cipher_unregister, gcry_digest_register,
1121         gcry_digest_unregister, gcry_pubkey_register and
1122         gcry_pubkey_unregister.
1123
1124         * cipher.h: Removed symbols: CIPHER_ALGO_NONE, CIPHER_ALGO_IDEA,
1125         CIPHER_ALGO_3DES, CIPHER_ALGO_CAST5, CIPHER_ALGO_BLOWFISH,
1126         CIPHER_ALGO_SAFER_SK128, CIPHER_ALGO_DES_SK, CIPHER_ALGO_TWOFISH,
1127         CIPHER_ALGO_TWOFISH_OLD, CIPHER_ALGO_DUMMY, PUBKEY_USAGE_SIG,
1128         PUBKEY_USAGE_ENC, DIGEST_ALGO_MD5, DIGEST_ALGO_SHA1,
1129         DIGEST_ALGO_RMD160, DIGEST_ALGO_TIGER, PUBKEY_ALGO_RSA,
1130         PUBKEY_ALGO_RSA_E, PUBKEY_ALGO_RSA_S, PUBKEY_ALGO_DSA,
1131         PUBKEY_ALGO_ELGAMAL, PUBKEY_ALGO_ELGAMAL_E.
1132
1133 2003-04-02  Moritz Schulte  <moritz@g10code.com>
1134
1135         * benchmark.c (md_bench): Fix error message.
1136
1137 2003-03-31  Moritz Schulte  <moritz@g10code.com>
1138
1139         * benchmark.c (cipher_bench): Added CTR mode.
1140
1141 2003-03-30  Simon Josefsson  <jas@extundo.com>
1142
1143         * gcrypt.h (enum gcry_control_cmds): Add GCRY_SET_CTR.
1144         (enum gcry_cipher_modes): Add GCRY_CIPHER_MODE_CTR.
1145         (gcry_cipher_setctr): New macro to set counter.
1146
1147 2003-03-19  Moritz Schulte  <moritz@g10code.com>
1148
1149         * cipher.h (PUBKEY_FLAG_NO_BLINDING): New symbol.
1150
1151 2003-03-22  Simon Josefsson  <jas@extundo.com>
1152
1153         * gcrypt.h: Add GCRYCTL_SET_CBC_MAC and GCRY_CIPHER_CBC_MAC.
1154
1155 2003-03-19  Werner Koch  <wk@gnupg.org>
1156
1157         * g10lib.h: Adjusted primegen.c prototypes.
1158
1159 2003-03-12  Werner Koch  <wk@gnupg.org>
1160
1161         * sexp.c (sexp_sscan): Initialize NM.  Thanks to Ian Peters for
1162         valgrinding this.
1163
1164 2003-03-06  Moritz Schulte  <mo@g10code.com>
1165
1166         * secmem.h (GCRY_SECMEM_FLAG_NO_WARNING,
1167         GCRY_SECMEM_FLAG_SUSPEND_WARNING): New symbols.
1168
1169         * global.c (gcry_control): Use
1170         GCRY_SECMEM_FLAG_{NO,SUSPEND}_WARNING, instead of hard-coded
1171         values.
1172         * secmem.c (_gcry_secmem_set_flags): Likewise.
1173         * secmem.c (_gcry_secmem_get_flags): Likewise.
1174         
1175 2003-03-03  Moritz Schulte  <moritz@g10code.com>
1176
1177         * misc.c: Removed old FIXME, since there is already a function to
1178         set the value of `verbosity_level'.
1179
1180         * gcrypt.h: Removed enumeration list: gcry_ctl_cmds.
1181         New enumeration lists: gcry_global_control_cmds,
1182         gcry_control_cmds, gcry_info_cmds, gcry_algo_info_cmds.
1183
1184 2003-03-02  Moritz Schulte  <moritz@g10code.com>
1185
1186         * gcrypt.h (gcry_cipher_reset): New macro for resetting a handle.
1187
1188 2003-02-28  Moritz Schulte  <moritz@g10code.com>
1189
1190         * secmem.c (DEFAULT_PAGESIZE): New symbol.
1191         (init_pool): Use DEFAULT_PAGESIZE.
1192
1193 2003-02-23  Moritz Schulte  <moritz@g10code.com>
1194
1195         * secmem.h: Fix typo in declaration of _gcry_secmem_term.
1196
1197         * sexp.c: Move macro definitions of `digitp', `octdigit', `alphap'
1198         and `hexdigit' ...
1199         * g10lib.h: ... here.
1200
1201         * misc.c (_gcry_burn_stack): New function (former name:
1202         burn_stack).
1203
1204         * g10lib.h (burn_stack): Declare _gcry_burn_stack().
1205
1206 2003-01-24  Werner Koch  <wk@gnupg.org>
1207
1208         * global.c (gcry_set_progress_handler): Register a random progress
1209         handler.
1210
1211 2003-01-23  Werner Koch  <wk@gnupg.org>
1212
1213         * gcrypt.h (GCRY_ENABLE_QUICK_RANDOM): New. 
1214         * global.c (gcry_control): Make use of it.
1215
1216 2003-01-21  Werner Koch  <wk@gnupg.org>
1217
1218         * gcrypt.h (gcry_random_add_bytes): Add QUALITY argument.
1219
1220 2003-01-21  Timo Schulz  <twoaday@freakmail.de>
1221
1222         * gcrypt.h (gcry_random_add_bytes): New.
1223         
1224 2003-01-20  Simon Josefsson  <jas@extundo.com>
1225
1226         * gcrypt.h (gcry_md_algos): Add GCRY_MD_CRC32,
1227         GCRY_MD_CRC32_RFC1510, GCRY_MD_CRC24_RFC2440.
1228
1229 2003-01-16  Werner Koch  <wk@gnupg.org>
1230
1231         * gcrypt.h (gcry_md_write): Changed type of 2nd argument to void*.
1232         (gcry_md_hash_buffer): Changed type of both buffers to void*.
1233         (gcry_md_setkey): Changed type of 2nd argument to void*.
1234         (gcry_md_get_asnoid): New.
1235
1236 2003-01-15  Werner Koch  <wk@gnupg.org>
1237
1238         * sexp.c (gcry_sexp_length): Fixed.  This was seriously broken.
1239
1240 2003-01-14  Werner Koch  <wk@gnupg.org>
1241
1242         * gcrypt.h (GCRYERR_INV_FLAG), global.c (gcry_strerror): New.
1243
1244 2003-01-02  Werner Koch  <wk@gnupg.org>
1245
1246         * libgcrypt.vers: Temporary export _gcry_generate_elg_prime for
1247         use by GNUTLS. 
1248
1249 2002-12-21  Werner Koch  <wk@gnupg.org>
1250
1251         * gcrypt.h: Make use of gcc's pure and malloc attributes 
1252         (gcry_md_putc): Use a helper variable to avoid multiple
1253         evaluation of H. 
1254         * g10lib.h, stdmem.h, secmem.h: Use gcc attributes pure and malloc.
1255
1256         * stdmem.c (use_m_guard): Don't default to yes.
1257
1258 2002-12-19  Werner Koch  <wk@gnupg.org>
1259
1260         * global.c (global_init): The meat was never run due to a faulty
1261         check. Thanks to Nikos for pointing this out.
1262         
1263         * global.c (gcry_control): Return 1 and not -1 for the
1264         initialization tests.
1265
1266         * libgcrypt.vers: New.
1267         * Makefile.am: Use this instead of the build symbol file.
1268
1269         * global.c (gcry_control) <initialization>: Call the random module
1270         initializer to make sure that the pool lock flag has been
1271         initialized.
1272
1273 2002-12-09  Werner Koch  <wk@gnupg.org>
1274
1275         * global.c (gcry_calloc,gcry_calloc_secure): Check for overflow.
1276         Noted by Florian Weimer. 
1277
1278 2002-11-10  Simon Josefsson  <jas@extundo.com>
1279
1280         * gcrypt.h (gcry_ctl_cmds): New GCRYCTL_SET_CBC_CTS control flag.
1281         (gcry_cipher_flags): New GCRY_CIPHER_CBC_CTS gcry_cipher_open() flag.
1282         (gcry_cipher_cts): New macro for toggling CTS.
1283
1284 2002-11-10  Werner Koch  <wk@gnupg.org>
1285
1286         * gcrypt.h (GCRY_MD_MD4): New.  We use a non OpenPGP value here. 
1287
1288 2002-09-20  Werner Koch  <wk@gnupg.org>
1289
1290         * ath.c: Include sys.time.h if sys/select.h does not exist.
1291         (ath_select, ath_waitpid): Shortcut for Windows.
1292         * ath.h: Include some Windows headers.  By Timo.
1293
1294 2002-09-18  Werner Koch  <wk@gnupg.org>
1295
1296         * ath.h: Prefix ath_deinit.
1297
1298 2002-09-17  Werner Koch  <wk@gnupg.org>
1299
1300         * benchmark.c: New.
1301         (mpi_bench, do_powm): Add a a simple test for RSA.
1302
1303         * global.c (global_init): New.  Use it instead of the setting
1304         any_init_done.  Initialize the ATH system.
1305         (gcry_check_version): Hook global_init in.  This is the suggested
1306         way to initialize the library.
1307         (_gcry_no_internal_locking): Removed.  We simply call a ath_deinit
1308         and leave it to ATH to disbale the locking.
1309
1310         * ath.c, ath.h, ath-pth.c, ath-pthread.c: New. Taken from GPGME.
1311         * mutex.h: Removed.
1312         * Makefile.am (ath_components): New.
1313
1314 2002-09-16  Werner Koch  <wk@gnupg.org>
1315
1316         * secmem.c (_gcry_secmem_dump_stats): Replaced fprintf by log_*.
1317
1318 2002-08-23  Werner Koch  <wk@gnupg.org>
1319
1320         * missing-string.c: Removed unneeded strlwr.
1321
1322         * libgcrypt.m4: Made much more simple.
1323         * libgcrypt-config.in: Made --prefix work for --libs.
1324
1325 2002-08-14  Werner Koch  <wk@gnupg.org>
1326
1327         * gcrypt.h: Add GCRY_CIPGER_DES.  Included string.h for size_t.
1328         Suggested by Simon Josefsson.
1329
1330 2002-07-25  Werner Koch  <wk@gnupg.org>
1331
1332         * cipher.h: Added prototypes for progress functions.
1333         * global.c: Include cipher.h for those prototypes.
1334
1335         * stdmem.c (_gcry_private_realloc): Replaced void* by char * for
1336         pointer arithmetic reasons.  Noted by Stephan Austermuehle.
1337
1338 2002-06-24  Werner Koch  <wk@gnupg.org>
1339
1340         * missing-string.c: Include ctype.h.
1341
1342         * gcrypt.h (gcry_mpi_invm, gcry_mpi_div, gcry_mpi_mod)
1343         (gcry_mpi_swap): New.
1344
1345 2002-06-18  Werner Koch  <wk@gnupg.org>
1346
1347         * gcrypt.h: Added a bunch of brief function descriptions.
1348
1349 2002-05-21  Werner Koch  <wk@gnupg.org>
1350
1351         * misc.c (_gcry_log_printf): Don't initialize a va_list.  Noted by
1352         Jeff Johnson.
1353
1354         * global.c (gcry_set_progress_handler): New.
1355
1356         * gcrypt.h: Replaced the typedef for byte.
1357
1358 2002-05-16  Werner Koch  <wk@gnupg.org>
1359
1360         * missing-string.c: New.
1361
1362         * gcrypt.h: Add new error codes GCRYERR_SEXP_ and typedefs
1363         GcryMPI, GcrySexp, GcryCipherHd, GcryMDHd as aliases for the old
1364         ones using an underscore.
1365
1366         * global.c (gcry_strerror): Add strings fro the new error codes.
1367         * sexp.c (gcry_sexp_canon_len): Use a macro to convert from new to
1368         old error codes.
1369         (gcry_sexp_create,gcry_sexp_new): New.
1370
1371 2002-05-15  Werner Koch  <wk@gnupg.org>
1372
1373         * mutex.h (DEFINE_LOCAL_MUTEX): Macro to define a mutex and
1374         initialize it so that we can detect an unitialized mutex and don't
1375         read from stdin.
1376
1377 2002-05-14  Werner Koch  <wk@gnupg.org>
1378
1379         Changed license of all files to the LGPL.
1380
1381 2002-05-07  Werner Koch  <wk@gnupg.org>
1382
1383         * global.c (gcry_control): Add commands
1384         GCRYCTL_ANY_INITIALIZATION_P and GCRYCTL_INITIALIZATION_FINISHED_P
1385         so that other libraries are able to check for required
1386         initializations.
1387
1388 2002-05-02  Werner Koch  <wk@gnupg.org>
1389
1390         * gcrypt.h (GCRYCTL_DISABLE_INTERNAL_LOCKING): New.
1391         * global.c (gcry_control): Implement it.
1392         (_gcry_no_internal_locking): New.
1393         * mutex.h: Prefixed all fucntions with _gcry_.  Bypass all
1394         functions when desired.
1395
1396         * gcrypt.h (GCRYCTL_DISABLE_SECMEM): New.
1397         * global.c (gcry_control,gcry_malloc_secure,gcry_is_secure):
1398         Implement it here.
1399         * secmem.c (_gcry_private_is_secure): Return false if the pool is
1400         not initialized.
1401
1402         * gcrypt.h (GCRYCTL_INITIALIZATION_FINISHED): New.
1403
1404         * gcrypt.h (gcry_cipher_algos): Replaced RINDAEL by AES and change
1405         the macros to expand from rijdael to aes.
1406
1407         * stdmem.c (_gcry_private_malloc): Return NULL for 0 byte allocation.
1408         (_gcry_private_malloc_secure): Ditto.
1409
1410         * g10lib.h:  Copied the JNLIB_GCC macros from ../jnlib/mischelp.h
1411         and removed the inclusion of that file.
1412
1413 2002-04-15  Werner Koch  <wk@gnupg.org>
1414
1415         * global.c (gcry_strdup): New.
1416
1417 2002-03-18  Werner Koch  <wk@gnupg.org>
1418
1419         * mutex.h: New file with a portable thread mutex implementation
1420         written by Marcus Brinkmann.  Taken from GPGME.
1421
1422 2002-02-18  Werner Koch  <wk@gnupg.org>
1423
1424         * sexp.c (gcry_sexp_sscan): Don't initialize the dummy
1425         variable.  Suggested by Jordi Mallach.
1426
1427 2002-01-31  Werner Koch  <wk@gnupg.org>
1428
1429         * sexp.c (suitable_encoding,convert_to_hex,convert_to_string)
1430         (convert_to_token): New.
1431         (gcry_sexp_sprint): Better formatting of advanced encoding, does
1432         now insert LFs and escapes all unprintable characters.
1433         (unquote_string): New.
1434         (sexp_sscan): Implemented the missing conversion of quoted strings.
1435
1436 2002-01-26  Werner Koch  <wk@gnupg.org>
1437
1438         * libgcrypt-config.in: Add copyright notice.
1439
1440 2002-01-11  Werner Koch  <wk@gnupg.org>
1441
1442         * sexp.c (gcry_sexp_canon_len): Fixed last change.
1443
1444 2002-01-01  Timo Schulz <ts@winpt.org>
1445
1446         * stdmem.c (_gcry_private_realloc): If pointer is NULL now realloc
1447         behaves like malloc.
1448
1449 2001-12-20  Werner Koch  <wk@gnupg.org>
1450
1451         * sexp.c (gcry_sexp_canon_len): Describe the error codes and
1452         return an error if this is not a S-Exp; i.e. it does not start
1453         with an open parenthesis.
1454
1455 2001-12-18  Werner Koch  <wk@gnupg.org>
1456
1457         * sexp.c (gcry_sexp_canon_len): Fixed the test on NULL buffer.
1458
1459         * Makefile.am (DISTCLEANFILES): Include libgcrypt.sym
1460
1461         * sexp.c: Removed the commented test code because we now have a
1462         test in ../tests/
1463
1464 2001-12-17  Werner Koch  <wk@gnupg.org>
1465
1466         * sexp.c (gcry_sexp_canon_len): New.
1467
1468 2001-12-11  Werner Koch  <wk@gnupg.org>
1469
1470         * gcrypt.h: Fixed AES128 macro, add enum for OFB mode.
1471
1472 2001-12-05  Werner Koch  <wk@gnupg.org>
1473
1474         * misc.c (_gcry_log_printf): New.
1475         * sexp.c (dump_string,gcry_sexp_dump): Use logging functions
1476         instead of stderr.
1477
1478 2001-11-16  Werner Koch  <wk@gnupg.org>
1479
1480         * gcrypt.h: New constant GCRYCTL_IS_ALGO_ENABLED.
1481
1482 2001-10-02  Werner Koch  <wk@gnupg.org>
1483
1484         * gcrypt.h: Removed a couple of trailing commas.
1485
1486 2001-08-28  Werner Koch  <wk@gnupg.org>
1487
1488         * sexp.c (sexp_sscan): Add an argument to enable the
1489         arg_ptr. Changed all callers.  Suggested by Tom Holroyd.
1490
1491 2001-08-03  Werner Koch  <wk@gnupg.org>
1492
1493         * global.c (gcry_strerror): Updated list of error codes.
1494
1495 2001-07-23  Werner Koch  <wk@gnupg.org>
1496
1497         * gcrypt.h: Replaced the last ulong.  Noted by Rami Lehti.
1498
1499 2001-05-31  Werner Koch  <wk@gnupg.org>
1500
1501         * gcrypt.h, mpi.h: Made some mpi functions public.
1502
1503         * wrapper.c: Removed.
1504         * global.c: Renamed all g10_ prefixed functions which had wrappers 
1505         to gcry_xxx. So we now use the exported memory functions inernally.
1506
1507         Renamed all g10_ prefixed functions to _gcry_ prefixed ones.
1508         
1509         * g10lib.h (_GCRYPT_IN_LIBGCRYPT): Replace defintion by a test on it.
1510
1511 2001-05-28  Werner Koch  <wk@gnupg.org>
1512
1513         * libgcrypt.m4: Check GCRYPT_VERSION macro and not LIBGCRYPT_VERSION.
1514
1515         * mpi.h: Removed mpi_fromstr prototype.
1516
1517 2001-01-11  Werner Koch  <wk@gnupg.org>
1518
1519         * Makefile.am (libgcrypt_la_SOURCES): Add mpi.h
1520
1521 2000-12-19  Werner Koch  <wk@gnupg.org>
1522
1523         * types.h: Moved from ../include to here.
1524
1525         Major change:
1526         Removed all GnuPG stuff and renamed this piece of software
1527         to gcrypt. 
1528
1529 2000-11-14  Werner Koch  <wk@gnupg.org>
1530
1531         * mpi.h: Moved to ../mpi.
1532
1533         * Makefile.am (OMIT_DEPENDENCIES): Hack to work around dependency
1534         problems.
1535
1536 2000-10-11  Werner Koch  <wk@gnupg.org>
1537
1538         * mpi.h: Changed the way mpi_limb_t is defined.
1539
1540 2000-10-10  Werner Koch  <wk@gnupg.org>
1541
1542         * Makefile.am: Take version-info from configure.
1543
1544 2000-10-09  Werner Koch  <wk@gnupg.org>
1545
1546         * gcrypt.h: New cipher mode, new algo Arcfour and new error code
1547         GCRYERR_INV_CIPHER_MODE.
1548         * global.c (gcry_strerror): New errorcode.
1549
1550 Wed Oct  4 13:16:18 CEST 2000  Werner Koch  <wk@openit.de>
1551
1552         * gcrypt.h (gcry_md_setkey): Replaced macro by function prototype.
1553
1554 Mon Sep 18 16:35:45 CEST 2000  Werner Koch  <wk@openit.de>
1555
1556         * gcrypt.h (GCRYCTL_GET_ALGO_USAGE): New.
1557
1558         * secmem.c (secmem_realloc): check for failed secmem_malloc.  By
1559         Matt Kraai.
1560
1561 Mon Jul 31 10:04:47 CEST 2000  Werner Koch  <wk@openit.de>
1562
1563   * sexp.c: Removed the datalen fields from list tags.
1564   (gcry_sexp_car_data,gcry_sexp_cdr_data,gcry_sexp_car_mpi,
1565    gcry_sexp_cdr_mpi): Removed.
1566   (gcry_sexp_nth,gcry_sexp_nth_data,gcry_sexp_nth_mpi): New.
1567
1568 Fri Jul 28 18:19:11 CEST 2000  Werner Koch  <wk@openit.de>
1569
1570   * sexp.c (sexp_sscan): Fixed reallocation to secure memory.
1571   (new_empty_list): Removed
1572   (gcry_sexp_length): New.
1573   (gcry_sexp_enum): Removed.
1574   (normalize): New. Reworked the whole thing to use NULL for an empty list.
1575   (make_space): New instead of the macro.
1576
1577 Tue Jul 25 17:44:15 CEST 2000  Werner Koch  <wk@openit.de>
1578
1579   * sexp.c: Major rewrite.
1580   (gcry_sexp_sscan): Reordered arguments.  Moved functionality to ..
1581   (sexp_sscan): .. this.
1582   (gcry_sexp_build): New.
1583   (gcry_sexp_new_name_mpi, gcry_sexp_new_name_data, gcry_sexp_new_data,
1584    gcry_sexp_new_mpi): Removed.
1585
1586 Fri Jul 14 19:38:23 CEST 2000  Werner Koch  <wk@>
1587
1588   * gcrypt.h (gcry_md_start_debug, gcry_md_stop_debug): New.
1589   (gcry_ctl_cmds): New control values
1590
1591   * sexp.c (gcry_sexp_sscan): Add hex format parsing.
1592
1593   * secmem.c (lock_pool): Check for ENOSYS return my mlock() on old SCOs.
1594   (pool_is_mmapped): Made volatile.
1595   (lock_pool): No more warning for QNX. By Sam Roberts.
1596   (lock_pool,secmem_init): Additional check for dropped privs.
1597
1598 2000-03-21 09:18:48  Werner Koch  (wk@habibti.gnupg.de)
1599
1600         * gcrypt.h (gcry_md_setkey): New.
1601         (GCRY_MD_FLAG_HMAC): New.
1602
1603 Mon Jan 31 16:37:34 CET 2000  Werner Koch  <wk@gnupg.de>
1604
1605         * Makefile.am: Add g10lib.h
1606
1607 Thu Jan 27 18:00:44 CET 2000  Werner Koch  <wk@gnupg.de>
1608
1609         * sexp.c (gcry_sexp_sscan): Allow NULL for erroff.
1610
1611 Mon Jan 24 22:24:38 CET 2000  Werner Koch  <wk@gnupg.de>
1612
1613         * sexp.c (gcry_sexp_alist): New.
1614
1615 Mon Jan 24 13:04:28 CET 2000  Werner Koch  <wk@gnupg.de>
1616
1617         * secmem.c: Moved from ../util to here.
1618         * secmem.h: New.
1619         * stdmem.c: New. Based on the old ../util/memory.c.
1620         * stdmem.h: New.
1621
1622 Wed Dec  8 21:58:32 CET 1999  Werner Koch  <wk@gnupg.de>
1623
1624         * gcrypt.m4: New.
1625         * gcrypt-config: New.
1626
1627         * mpi.h (mpi_get_nbit_info): Removed
1628         (mpi_set_nbit_info): Removed.
1629         (struct gcry_mpi): Removed the nbits field.
1630
1631         * misc.c (g10_log_verbosity): New.
1632
1633         * global.c (g10_xstrdup): New.
1634
1635         * mpiapi.c: Removed.
1636
1637         * mpi.h: Moved from ../include to here.  Removed some obsolete
1638         prototypes and the iobuf.h header.
1639         * cipher.h: Moved from ../include to here. Removed the mpi.h header.
1640         * g10lib.h: Moved from ../include to here.
1641
1642 Fri Nov 19 17:15:20 CET 1999  Werner Koch  <wk@gnupg.de>
1643
1644         * sexp.c (dump_string): New.  Taken from gnupg/util/miscutil.c.
1645         (do_dump_list): s/print_string/dump_string/.
1646
1647         * testapi.c: New.
1648
1649         * mpiapi.c (gcry_mpi_randomize): Use new random API.
1650
1651 Sat Nov 13 17:44:23 CET 1999  Werner Koch  <wk@gnupg.de>
1652
1653         * gloabl.c (gcry_control): Add cases for dumping random
1654         and secmem stats.
1655
1656 Tue Oct 26 14:10:21 CEST 1999  Werner Koch  <wk@gnupg.de>
1657
1658         * pkapi.c: Removed.
1659
1660         * symapi.c: Removed.
1661
1662         * g10lib.h:  Moved to ../include.
1663
1664         * mdapi.c: Removed.
1665
1666 Wed Jul  7 13:08:40 CEST 1999  Werner Koch  <wk@isil.d.shuttle.de>
1667
1668         * sexp.c: New.
1669
1670 Tue Dec  8 13:15:16 CET 1998  Werner Koch  <wk@isil.d.shuttle.de>
1671
1672         * gcrypt.h: New
1673         * mpiapi.c: New
1674
1675         
1676  Copyright (C) 1998,1999,2000,2001,2002,2003
1677                2004, 2005 Free Software Foundation, Inc.
1678
1679  This file is free software; as a special exception the author gives
1680  unlimited permission to copy and/or distribute it, with or without
1681  modifications, as long as this notice is preserved.
1682
1683  This file is distributed in the hope that it will be useful, but
1684  WITHOUT ANY WARRANTY, to the extent permitted by law; without even the
1685  implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.