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