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