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