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