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