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