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