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