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