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