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