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