2004-04-22 Marcus Brinkmann <marcus@g10code.de>
[libgcrypt.git] / src / ChangeLog
1 2004-04-22  Marcus Brinkmann  <marcus@g10code.de>
2
3         * libgcrypt.m4: Quote first argument to AC_DEFUN.
4
5 2004-04-15  Werner Koch  <wk@gnupg.org>
6
7         * secmem.c (_gcry_secmem_malloc_internal): Removed old extra info
8         error output.
9         (_gcry_secmem_term): Use wipememory2 here.
10
11         * misc.c (_gcry_burn_stack): Use wipememory to avoid optimizations.
12
13         * string.c: Removed.  Was never used.
14         * global.c (gcry_strdup): Replaced by the version from string.c
15         (gcry_xstrdup): Rewritten.
16         * gcrypt.h: Removed duplicate prototype for gcry_strdup.
17
18 2004-03-29  Werner Koch  <wk@gnupg.org>
19
20         * secmem.c (_gcry_secmem_realloc): Fixed double unlock; bug
21         manifested itself due to the more rigorous checking in the changed
22         ath.h
23
24         * libgcrypt-config.in (Options): Ignore the obsolete --threads
25         option for now.
26
27 2004-03-17  Marcus Brinkmann  <marcus@g10code.de>
28
29         * libgcrypt-config.in (includedir, libdir): Quote'em.  Use
30         $gpg_error_cflags and $gpg_error_libs.  Fix construction of
31         $includes.
32
33 2004-03-14  Marcus Brinkmann  <marcus@g10code.de>
34
35         * libgcrypt-config.in (includedir, libdir): New variables.  For
36         --cflags, don't test $cflags.  Also check against /include for the
37         GNU/Hurd.  Don't overwrite but extend $cflags_final.  Likewise for
38         --libs.
39
40 2004-03-10  Marcus Brinkmann  <marcus@g10code.de>
41
42         * Makefile.am (ltlib_libgcrypt_pthread, ltlib_libgcrypt_pth): Removed.
43         (lib_LTLIBRARIES): Remove those variables from here.
44         (libgcrypt_pthread_la_SOURCES, libgcrypt_pthread_la_LDFLAGS,
45         (libgcrypt_pthread_la_DEPENDENCIES, libgcrypt_pthread_la_LIBADD,
46         (libgcrypt_pth_la_SOURCES, libgcrypt_pth_la_LDFLAGS,
47         (libgcrypt_pth_la_DEPENDENCIES, libgcrypt_pth_la_LIBADD,
48         (noinst_LTLIBRARIES): Removed.
49         (libgcrypt_real_la_SOURCES): Merge with ...
50         (libgcrypt_la_SOURCES): ... likewise.
51         (libgcrypt_real_la_DEPENDENCIES): Merge with ...
52         (libgcrypt_la_DEPENDENCIES): ... this.
53         (libgcrypt_real_la_LIBADD): Merge with ...
54         (libgcrypt_la_LIBADD): ... this.
55         * libgcrypt-config.in (libs_pthread, libs_pth, cflags_pth) 
56         (cflags_pthread, thread_module, thread_modules): Removed.
57         (Options): Remove --thread option from help output.  If the option
58         is specified, output an error and exit.
59         For --cflags and --libs option, remove pth and pthread from output.
60         * gcrypt.h: Include <sys/types.h> and <sys/socket.h>.
61         (enum gcry_ctl_cmds): Add GCRYCTL_SET_THREAD_CBS.
62         (gcry_thread_cbs): New struct.
63         * global.c (gcry_control): Implement GCRYCTL_SET_THREAD_CBS.
64         (global_init): Don't call ath_init here.
65         * ath.h: Rewritten.
66         * ath.c: Rewritten.
67
68 2004-03-06  Werner Koch  <wk@gnupg.org>
69
70         * libgcrypt-config.in: s/--soname-number/--api-version/
71         * libgcrypt.m4: Changed test for API version.
72
73 2004-03-05  Werner Koch  <wk@gnupg.org>
74
75         * libgcrypt.m4: Optionally check the SONAME number.
76
77         * libgcrypt-config.in: Add option --soname-number
78
79 2004-03-01  Marcus Brinkmann  <marcus@g10code.de>
80
81         * Makefile.am (libgcrypt_la_SOURCES): Add ath.c.
82         * ath.c (ath_init): Add missing function.
83
84         * Makefile.am (ath_pth_src): Removed.
85         (ath_pthread_src): Removed.
86         (libgcrypt_la_SOURCES): Remove ath-compat, $(ath_pth_src) and
87         $(ath_pthread_src).
88         * ath-compat.c, ath-pth-compat.c, ath-pthread-compat.c: Files
89         removed.
90         
91 2004-02-20  Werner Koch  <wk@gnupg.org>
92
93         * gcrypt.h (GCRY_PRIME_CHECK_AT_GOT_PRIME)
94         (GCRY_PRIME_CHECK_AT_FINISH),
95         (GCRY_PRIME_CHECK_AT_MAYBE_PRIME): New.
96
97 2004-02-18  Werner Koch  <wk@gnupg.org>
98
99         * libgcrypt-config.in: Ignore setting of --prefix.
100
101 2004-02-13  Werner Koch  <wk@gnupg.org>
102
103         * gcrypt.h: Added GCRY_CIPHER_RFC2268_128, alsthough not yet
104         supported.
105
106 2004-02-06  Werner Koch  <wk@gnupg.org>
107
108         * gcrypt.h: Added GCRY_CIPHER_RFC2268_40.
109
110 2004-02-03  Werner Koch  <wk@gnupg.org>
111
112         * secmem.c (_gcry_secmem_init): Do not print the "not locked into
113         core warning" if the NO_WARNING flag has been set.
114
115         * sexp.c (sexp_sscan): Allocate result in secure memory if BUFFER
116         is in secure memory. Switch to secure memory for the a secure %b
117         format item. Extra paranoid wipe on error.
118         (gcry_sexp_release): Added paranoid wiping for securely allocated
119         S-expressions.
120
121 2004-01-25  Moritz Schulte  <mo@g10code.com>
122
123         * ath.h: Include <config.h>.
124
125 2004-01-12  Moritz Schulte  <mo@g10code.com>
126
127         * gcrypt.h: Adjusted declarations of: gcry_ac_data_set,
128         gcry_ac_data_get_name, gcry_ac_data_get_index,
129         gcry_ac_key_pair_generate, gcry_ac_key_test,
130         gcry_ac_key_get_nbits, gcry_ac_key_get_grip.
131
132         * gcrypt.h (GCRY_AC_FLAG_DATA_NO_BLINDING): Removed symbol.
133         (GCRY_AC_FLAG_DEALLOC, GCRY_AC_FLAG_COPY) 
134         (GCRY_AC_FLAG_NO_BLINDING): New symbols.
135
136         * global.c (gcry_strdup): Removed function.
137         * string.c: New file.
138         * Makefile.am (libgcrypt_real_la_SOURCES): Added: string.c.
139         * string.c (gcry_strdup): New function.
140         * gcrypt.h (gcry_strdup): Declare.
141
142 2003-12-19  Werner Koch  <wk@gnupg.org>
143
144         * g10lib.h (wipememory, wipememory2): New; taken from gnupg.
145
146 2003-11-14  Werner Koch  <wk@gnupg.org>
147
148         * global.c (gcry_strdup): Don't copy the string after a malloc
149         error.
150
151 2003-11-11  Werner Koch  <wk@gnupg.org>
152
153         * sexp.c (sexp_sscan): Implemented "%b" format specifier.
154
155 2003-11-11  Moritz Schulte  <mo@g10code.com>
156
157         * libgcrypt.m4: Do not set prefix when calling libgcrypt-config.
158         Thanks to Nikos Mavroyanopoulos.
159
160 2003-11-08  Moritz Schulte  <mo@g10code.com>
161
162         * cipher.h (small_prime_numbers): Removed declaration.
163         (PUBKEY_FLAG_NO_BLINDING): Put braces around shift.
164
165 2003-11-04  Werner Koch  <wk@gnupg.org>
166
167         * cipher.h (_gcry_sha1_has_buffer): New.
168
169         * gcrypt.h (gcry_create_nonce): New.
170
171 2003-10-31  Werner Koch  <wk@gnupg.org>
172
173         * libgcrypt.vers (_gcry_generate_elg_prime): Removed this symbol;
174         gnutls does not need it anymore.
175
176         * secmem.c (mb_get_new): s/pool/block/ due to global pool.
177
178         * misc.c (gcry_set_log_handler): s/logf/f/ to avoid shadowing
179         warning against a builtin.
180
181         * ath-pth-compat.c: cast pth_connect to get rid of the const
182         prototype.
183
184 2003-10-27  Werner Koch  <wk@gnupg.org>
185
186         * ath.h (ATH_MUTEX_INITIALIZER): Removed spurious semicolon.
187
188 2003-10-27  Moritz Schulte  <mo@g10code.com>
189
190         * libgcrypt-config.in: Include libs/cflags of libgpg-error.
191
192         * sexp.c (sexp_sscan): Cleaned up, deallocate scanned sexp on
193         error.
194
195         * module.c (MODULE_ID_MIN): New symbol, use it.
196
197 2003-10-27  Werner Koch  <wk@gnupg.org>
198
199         * gcrypt.h (gcry_pk_testkey): Doc fix.
200
201 2003-09-29  Moritz Schulte  <mo@g10code.com>
202
203         * libgcrypt-config.in: Fix --algorithms option.
204
205 2003-10-23  Werner Koch  <wk@gnupg.org>
206
207         * gcrypt.h (gcry_err_code): Use GPG_ERR_INLINE instead of
208         __inline__.
209
210         * secmem.c (lock_pool): Don't print the warning for certain
211         systems, handle ENOMEM.
212
213 2003-10-21  Werner Koch  <wk@gnupg.org>
214
215         * secmem.c (_gcry_secmem_dump_stats): Fixed format sepcifier for a
216         size_t.  Reported by Stephane Corthesy.
217
218 2003-10-10  Werner Koch  <wk@gnupg.org>
219
220         * global.c (_gcry_malloc): Handle the no_secure_memory option.
221
222         * gcrypt.h (gcry_prime_group_generator): New.
223         (gcry_prime_release_factors): New.
224
225 2003-10-07  Werner Koch  <wk@gnupg.org>
226
227         * sexp.c (sexp_sscan): Check that parenthesis are matching.
228
229 2003-09-28  Moritz Schulte  <mo@g10code.com>
230
231         * g10lib.h: Declare: _gcry_malloc.
232         (GCRY_ALLOC_FLAG_SECURE): New symbol.
233
234         * global.c (_gcry_malloc): New function...
235         (gcry_malloc): ... use it.
236         (gcry_malloc_secure): Likewise.
237
238         * ath.c: Change License to LGPL.
239         * ath-pthread-compat.c: Likewise.
240         * ath-pthread.c: Likewise.
241         * ath-pth-compat.c: Likewise.
242         * ath-pth.c: Likewise.
243         * ath.h: Likewise.
244         * ath-compat.c: Likewise.
245
246         * secmem.c (_gcry_secmem_realloc): Do not forget to release secmem
247         lock.  Thanks to low halo for triggering this bug.
248
249 2003-09-04  Werner Koch  <wk@gnupg.org>
250
251         * gcrypt.h (_GCRY_ERR_SOURCE_DEFAULT): Removed cruft.
252         (gcry_prime_check_func_t): Renamed arg for clarity.
253
254 2003-09-02  Moritz Schulte  <mo@g10code.com>
255
256         * gcrypt.h (GCRY_PRIME_FLAG_SPECIAL_FACTOR): New symbol.
257
258 2003-09-01  Moritz Schulte  <mo@g10code.com>
259
260         * gcrypt.h (gcry_random_level_t): New type.
261         (gcry_prime_check_func_t): Likewise.
262         (GCRY_PRIME_FLAG_SECRET): New symbol.
263         (gcry_prime_generate, gcry_prime_check): Declare functions.
264
265 2003-08-28  Werner Koch  <wk@gnupg.org>
266
267         * Makefile.am (libgcrypt_pth_la_LDFLAGS): Removed PTH_CFLAGS cruft.
268
269 2003-08-27  Moritz Schulte  <mo@g10code.com>
270
271         * global.c (gcry_control): Remove call to ath_deinit.
272
273         * Makefile.am (libgcrypt_real_la_DEPENDENCIES): Fixed.
274         (libgcrypt_real_la_LIBADD): Fixed.
275         Removed unecessary variables.
276
277         * libgcrypt-config.in: Adjusted script for new thread handling.
278
279         * Makefile.am: New version, based on GPGMEs Makefile.am.
280
281         * ath.c, ath-compat.c, ath.h, ath-pth.c, ath-pth-compat.c,
282         ath-pthread.c, ath-pthread-compat.c: New files, merged from GPGME.
283         * ath.c, ath.h, ath-pthread.c, ath-pth.c: Removed files.
284
285 2003-08-08  Moritz Schulte  <moritz@g10code.com>
286
287         * global.c (gcry_realloc): Remove FIXME about `clearing out
288         realloced memory', since _gcry_secmem_realloc takes care of
289         overwriting old memory.
290
291 2003-08-07  Werner Koch  <wk@gnupg.org>
292
293         * module.c (_gcry_module_release): Don't act if module is NULL.
294
295 2003-07-30  Moritz Schulte  <moritz@g10code.com>
296
297         * gcrypt.h (enum gcry_ac_id): Added: GCRY_AC_ELG_E.
298         Reverted change: use gcry_md_flags enumeration list instead of
299         defines.
300
301 2003-07-29  Werner Koch  <wk@gnupg.org>
302
303         * global.c (gcry_control): Add GCRYCTL_SET_RANDOM_SEED_FILE and
304         GCRYCTL_UPDATE_RANDOM_SEED_FILE.
305         * gcrypt.h: Ditto.  Renamed index to idx, so avoid warning
306         related to the old index function.
307
308 2003-07-28  Moritz Schulte  <moritz@g10code.com>
309
310         * global.c (gcry_err_code_from_errno, gcry_err_code_to_errno)
311         (gcry_err_make_from_errno, gcry_error_from_errno): New functions.
312
313         * gcrypt.h: Declared: gcry_err_code_from_errno,
314         gcry_err_code_to_errno, gcry_err_make_from_errno,
315         gcry_error_from_errno.
316
317         * Makefile.am (include_HEADERS): Added: gcrypt-module.h.
318
319         * gcrypt.h: Include <gcrypt-module.h>.
320
321         * gcrypt-module.h: New file.
322
323 2003-07-27  Werner Koch  <wk@gnupg.org>
324
325         * gcrypt.h (gcry_mpi_scan, gcry_mpi_print): API change.
326         (gcry_mpi_dump): New.
327
328 2003-07-21  Moritz Schulte  <moritz@g10code.com>
329
330         * gcrypt.h: Declared: gcry_ac_key_data_get.
331         (gcry_pk_spec): Renamed member `sexp_names' into `aliases'.
332
333 2003-07-20  Moritz Schulte  <moritz@g10code.com>
334
335         * gcrypt.h (gcry_md_oid_spec_t): New type.
336         (gcry_md_spec): New member: oids.
337
338 2003-07-19  Moritz Schulte  <moritz@g10code.com>
339
340         * gcrypt.h (gcry_cipher_oid_spec_t): New type.
341         (gcry_cipher_spec): New member: oids;
342
343 2003-07-18  Werner Koch  <wk@gnupg.org>
344
345         * gcrypt.h (gcry_mpi_set_opaque): Add a warning comment.
346
347 2003-07-15  Moritz Schulte  <moritz@g10code.com>
348
349         * secmem.c (compress_pool): Remove function, since unused blocks
350         are automatically concatenad.
351
352         * gcrypt.h: Bumped version number up to 1.1.42-cvs.
353
354 2003-07-14  Moritz Schulte  <moritz@g10code.com>
355
356         * gcrypt.h (gcry_cipher_spec): New member: aliases.
357
358         * Makefile.am (noinst_PROGRAMS, testapi_SOURCES, testapai_LDADD,
359         benchmark_SOURCES, benchmark_LDADD): Removed.
360
361         * benchmark.c, testapi.c: Removed files.
362
363         * mpi.h: Removed disabled typedef.
364         * g10lib.h: Likewise.
365
366         * benchmark.c, g10lib.h, gcrypt.h, global.c, module.c, sexp.c:
367         Used gcry_err* wrappers for libgpg-error symbols.
368
369 2003-07-12  Moritz Schulte  <moritz@g10code.com>
370
371         * global.c: Likewise.
372
373         * gcrypt.h: New type: gcry_error_t, gcry_err_code_t and
374         gcry_err_source_t.
375         (gcry_err_make, gcry_error, gcry_err_code, gcry_err_source): New
376         functions.
377
378         * global.c (gcry_strerror): New function.
379         (gcry_strsource): New function.
380
381         * gcrypt.h: New symbol: GCRY_CIPHER_TWOFISH128.
382
383 2003-07-09  Moritz Schulte  <moritz@g10code.com>
384
385         * gcrypt.h (enum gcry_md_flags): Removed, used define instead,
386         since that is more common than an enumeration list when it comes
387         to flags that can be bitwise ORed.
388         
389 2003-07-08  Moritz Schulte  <moritz@g10code.com>
390
391         * global.c: Use new types for handlers.
392
393         * gcrypt.h: Declare: gcry_ac_data_copy.
394
395 2003-07-07  Moritz Schulte  <moritz@g10code.com>
396
397         * sexp.c (gcry_sexp_build_array): Use dummy argument pointer.
398         Thanks to Simon Josefsson <jas@extunde.com>.
399
400         * gcrypt.h: Declare: gcry_cipher_list, gcry_pk_list, gcry_md_list.
401         
402 2003-07-05  Moritz Schulte  <moritz@g10code.com>
403
404         * gcrypt.h: Declare: gcry_cipher_register, gcry_cipher_unregister,
405         gcry_md_register, gcry_md_unregister, gcry_pk_register,
406         gcry_pk_unregister.
407         (gcry_cipher_spec): Removed member: algorithm.
408         (gcry_pk_spec): Likewise.
409         (gcry_md_spec): Likewise.
410         Adjusted declarations: gcry_cipher_register, gcry_pk_register,
411         gcry_md_register.
412
413         * module.c: Replaced all occurences of `id' with `mod_id', since
414         `id' is a keyword in obj-c.
415
416         * gcrypt.h (gcry_cipher_spec): Renamed member `id' to `algorithm'.
417         (gcry_pk_spec): Likewise.
418         (gcry_md_spec): Likewise.
419
420         * cipher.h: Removed types: gcry_pubkey_generate_t,
421         gcry_pubkey_check_secret_key_t, gcry_pubkey_encrypt_t,
422         gcry_pubkey_decrypt_t, gcry_pubkey_sign_t, gcry_pubkey_verify_t,
423         gcry_pubkey_get_nbits_t, gcry_pk_spec_t, gcry_digest_init_t,
424         gcry_digest_write_t, gcry_digest_final_t, gcry_digest_read_t,
425         gcry_digest_spec_t, gcry_cipher_setkey_t, gcry_cipher_encrypt_t,
426         gcry_cipher_decrypt_t, gcry_cipher_stencrypt_t,
427         gcry_cipher_stdecrypt_t, gcry_cipher_spec_t.
428
429         * gcrypt.h: New types: gcry_pk_generate_t,
430         gcry_pk_check_secret_key_t, gcry_pk_encrypt_t, gcry_pk_decrypt_t,
431         gcry_pk_sign_t, gcry_pk_verify_t, gcry_pk_get_nbits_t,
432         gcry_pk_spec_t, gcry_md_init_t, gcry_md_write_t, gcry_md_final_t,
433         gcry_md_read_t, gcry_md_spec_t, gcry_cipher_setkey_t,
434         gcry_cipher_encrypt_t, gcry_cipher_decrypt_t,
435         gcry_cipher_stencrypt_t, gcry_cipher_stdecrypt_t,
436         gcry_cipher_spec_t, gcry_module_t.
437
438 2003-07-04  Moritz Schulte  <moritz@g10code.com>
439
440         * module.c (_gcry_module_list): New function.
441
442 2003-07-02  Moritz Schulte  <moritz@g10code.com>
443
444         * module.c (_gcry_module_lookup): Fixed typo.
445
446         * gcrypt.h: Added all definitions and declarations necessary for
447         the new ac interface.
448
449 2003-06-30  Moritz Schulte  <moritz@g10code.com>
450
451         * g10lib.h: Added declarations: _gcry_pk_module_lookup,
452         _gcry_pk_module_release.
453
454 2003-06-18  Werner Koch  <wk@gnupg.org>
455
456         * benchmark.c (cipher_bench): Adjusted for new API of get_blklen
457         and get_keylen.
458
459         * gcrypt.h (gcry_cipher_get_algo_blklen)
460         (gcry_cipher_get_algo_keylen): Replaced macro by funcion.
461
462 2003-06-18  Moritz Schulte  <moritz@g10code.com>
463
464         * cipher.h: Renamed types GcryDigestSpec, GcryCipherSpec and
465         GcryPubkeySpec into: gcry_digest_spec_t, gcry_cipher_spec_t and
466         gcry_pubkey_spec_t.
467         (gcry_pubkey_spec): Defined member `id' as unsigned.
468         (gcry_digest_spec): Likewise.
469         (gcry_cipher_spec): Likewise.
470
471         * module.c (_gcry_module_id_new): New function.
472         (_gcry_module_add): Generate a new ID via _gcry_module_id_new in
473         case `id' is zero.
474
475         * g10lib.h, module.c: Replace old type GcryModule with newer one:
476         gcry_module_t.
477
478         * module.c (_gcry_module_add): Added argument `id', use it.
479
480         * g10lib.h: Added declaration: _gcry_module_lookup_id.
481         (_gcry_module_add): Added argument `id'.
482
483         * module.c (_gcry_module_lookup_id): New function.
484
485         * g10lib.h (struct gcry_module): New member: id.
486
487         * gcrypt.h: New type: gcry_handler_progress_t,
488         gcry_handler_alloc_t, gcry_haandler_secure_check_t,
489         gcry_handler_realloc_t, gcry_handler_free_t,
490         gcry_handler_no_mem_t, gcry_handler_error_t, gcry_handler_log_t.
491         Use new types.
492
493         * cipher.h: Include <gcrypt.h>.
494         New types: gcry_pk_generate_t, gcry_pk_check_secret_key_t,
495         gcry_pk_encrypt_t, gcry_pk_decrypt_t, gcry_pk_sign_t,
496         gcry_pk_verify_t, gcry_pk_get_nbits_t, gcry_md_init_t,
497         gcry_md_write_t, gcry_md_final_t, gcry_md_read_t,
498         gcry_cipher_setkey_t, gcry_cipher_encrypt_t,
499         gcry_cipher_decrypt_t, gcry_cipher_stencrypt_t,
500         gcry_cipher_stdecrypt_t.
501         Use new types.
502
503 2003-06-17  Moritz Schulte  <moritz@g10code.com>
504
505         * Makefile.am (AM_CFLAGS): Added: @GPG_ERROR_CFLAGS@.
506
507 2003-06-16  Moritz Schulte  <moritz@g10code.com>
508
509         * g10lib.h: Replace last occurences of old type names with newer
510         names (i.e. replace MPI with gcry_mpi_t).
511         * mpi.h: Likewise.
512         * sexp.c: Likewise.
513
514 2003-06-15  Moritz Schulte  <moritz@g10code.com>
515
516         * testapi.c (test_genkey): Use gpg_strerror instead of
517         gcry_strerror.
518
519         * global.c (gcry_control): Fixed typo.
520
521         * misc.c (_gcry_fatal_error): Use gpg_strerror instead of
522         gcry_strerror.
523
524         * types.h (STRLIST): Removed type since it is not used.
525
526 2003-06-11  Moritz Schulte  <moritz@g10code.com>
527
528         * global.c (global_init): Call: _gcry_cipher_init, _gcry_md_init,
529         _gcry_pk_init.
530
531         * g10lib.h: Declare: _gcry_cipher_init, _gcry_md_init,
532         _gcry_pk_init.
533         
534         * global.c (gcry_strerror): Remove compatibility code.
535
536         * Makefile.am: Remove support libgpg-error special handling.
537         (AM_CPPFLAGS): Add @GPG_ERROR_CFLAGS@
538
539         * gcrypt.h: Likewise.
540
541 2003-06-13  Werner Koch  <wk@gnupg.org>
542
543         * gcrypt.h (gcry_md_get_algo): Reverted to old API.  This is a
544         convenience function anyway and error checking is not approriate.
545         (gcry_md_is_enabled): New.
546         (gcry_md_is_secure): Replaced macro by function and reverted to old
547         API.
548
549 2003-06-11  Werner Koch  <wk@gnupg.org>
550
551         * gcrypt.h (GCRYERR): Define _GCRY_ERR_SOURCE_DEFAULT instead of
552         GPG_ERR_SOURCE_DEFAULT, so that libgpg-error still works despite
553         the use of the old gcrypt error codes.
554         (gcry_md_copy): Swapped arguments.
555         
556 2003-06-09  Moritz Schulte  <moritz@g10code.com>
557
558         * Makefile.am: Support for libgpg-error.
559
560 2003-06-08  Moritz Schulte  <moritz@g10code.com>
561
562         * sexp.c (gcry_sexp_create): Expect sane error values from
563         gcry_sexp_canon_len instead of the `historical' values.
564
565 2003-06-07  Moritz Schulte  <moritz@g10code.com>
566
567         * ath.c, ath.c, ath-pth.c, ath-pthread.c, benchmark.c, cipher.h,
568         g10lib.h, gcrypt.h, global.c, misc.c, missing-string.c, module.c,
569         mpi.h, secmem.c, secmem.h, sexp.c, stdmem.c, stdmem.h, testapi.c,
570         types.h: Edited all preprocessor instructions to remove whitespace
571         before the '#'.  This is not required by C89, but there are some
572         compilers out there that don't like it.  Replaced any occurence of
573         the now deprecated type names with the new ones.
574         
575         * gcrypt.h: Re-organized checking for gcc features; New macro:
576         _GCRY_GCC_ATTR_DEPRECATED.
577         Include copy of libgpg-error's gpg-error.h in order to make it
578         easy to build libgcrypt without needing libgpg-error.h.
579
580         (GCRY_MPI, GcryMPI, GCRY_SEXP, GcrySexp, GCRY_CIPHER_HD,
581         GcryCipherHd, GCRY_MD_HD, GcryMDHd): Declared deprecated.
582         (gcry_mpi_t, gcry_sexp_t, gcry_cipher_hd_t, gcry_md_hd_t): New
583         types.
584
585 2003-06-04  Moritz Schulte  <moritz@g10code.com>
586
587         * sexp.c (sexp_sscan): New argument: arg_list, adjusted all
588         callers.
589         (ARG_NEXT): New macro.
590         (sexp_sscan): Use ARG_NEXT for receiving format string arguments.
591         (gcry_sexp_build_array): New function.
592
593 2003-06-02  Moritz Schulte  <moritz@g10code.com>
594
595         * gcrypt.h: Added some comments describing the gcry_sexp_*
596         functions.
597         Include <gpg-error.h> instead of <gpg/error.h>.
598
599 2003-06-01  Moritz Schulte  <moritz@g10code.com>
600
601         * sexp.c (OLDPARSECODE): Removed macro...
602         (gcry_sexp_canon_len): ... and do not use it.
603
604         * gcrypt.h (gcry_errno): Removed declaration.
605
606         * g10lib.h (string_to_pubkey_algo, pubkey_algo_to_string,
607         pubkey_nbits): Removed declarations for non-existing functions.
608
609 2003-05-31  Moritz Schulte  <moritz@g10code.com>
610
611         * cipher.h (is_RSA, is_ELGAMAL): Removed macros.
612
613         * g10lib.h (set_lasterr): Removed macro.
614         (_gcry_set_lasterr): Removed declaration.
615
616         * gcrypt.h: Changed declarations for: gcry_pk_algo_info,
617         gcry_md_open, gcry_md_copy, gcry_md_algo_info, gcry_md_info,
618         gcry_md_get_algo, gcry_random_add_bytes.
619         
620         (gcry_md_is_secure): Adjust macro for new API.
621
622 2003-05-29  Moritz Schulte  <moritz@g10code.com>
623
624         * gcrypt.h: Changed declarations for: gcry_cipher_open,
625         gcry_cipher_info, gcry_cipher_algo_info.
626         (gcry_cipher_get_algo_keylen): Adjuster for new
627         gcry_cipher_algo_info interface.
628         (gcry_cipher_get_algo_blklen): Likewise.
629
630         * global.c (gcry_errno): Removed function.
631         (gcry_strerror): Do not use gcry_errno.
632         (_gcry_set_lasterr): Removed function.
633         (last_ec): Removed variable.
634
635 2003-05-27  Moritz Schulte  <moritz@g10code.com>
636
637         * gcrypt.h (enum gcry_cipher_algos): Make Serpent IDs do not
638         conflict with OpenPGP.  Reported by Timo Schulz.
639
640         * global.c (gcry_control): Fixed name of enum list.
641
642 2003-05-25  Moritz Schulte  <moritz@g10code.com>
643
644         * cipher.h (gcry_cipher_spec): Adjust return type of `setkey' for
645         libgpg-error.
646         (gcry_pubkey_spec): Adjust return type of `generate',
647         `check_secret_key', `encrypt', `decrypt', `sign' and `verify' for
648         libgpg-error.
649
650         * sexp.c (gcry_sexp_canon_len): Adjusted for libgpg-error.
651         (gcry_sexp_create): Likewise.
652         (gcry_sexp_new): Likewise.
653         (sexp_sscan): Likewise.
654         (gcry_sexp_build): Likewise.
655         (gcry_sexp_sscan): Likewise.
656
657         * module.c (_gcry_module_add): Likewise.
658
659         * global.c (last_ec): Change type to gpg_error_t.
660         (gcry_control): Adjust for libgpg-error.
661         (gcry_errno): Likewise.
662         (gcry_strerror): Likewise.
663         (_gcry_set_lasterr): Likewise.
664         (gcry_xmalloc): Likewise.
665         (gcry_xrealloc): Likewise.
666
667 2003-05-22  Moritz Schulte  <moritz@g10code.com>
668
669         * types.h: Merged code from GnuPG regarding U64_C.
670
671         * missing-string.c (strsep): Removed function.
672
673         * g10lib.h: Removed declarations: strsep, strlwr.
674
675         * secmem.c (secmem_lock): New variable.
676         (SECMEM_LOCK, SECMEM_UNLOCK): New macros.
677         (_gcry_secmem_set_flags): Use SECMEM_LOCK and SECMEM_UNLOCK.
678         (_gcry_secmem_get_flags): Likewise.
679         (_gcry_secmem_init): Likewie.
680         (_gcry_secmem_malloc): Likewise.
681         (_gcry_secmem_free): Likewise.
682         (_gcry_secmem_malloc): Renamed to ...
683         (_gcry_secmem_malloc_internal): ... this.
684         (_gcry_secmem_malloc): New function, use SECMEM_LOCK,
685         SECMEM_UNLOCK, call _gcry_secmem_malloc_internal.
686         (_gcry_secmem_free): Renamed to ...
687         (_gcry_secmem_free_internal): ... this.
688         (_gcry_secmem_free): New function, use SECMEM_LOCK, SECMEM_UNLOCK,
689         call _gcry_secmem_free_internal.
690         (_gcry_secmem_realloc): Use SECMEM_LOCK, SECMEM_UNLOCK, call
691         _gcry_secmem_malloc_internal and _gcry_secmem_free_internal.
692         (_gcry_private_is_secure): Use SECMEM_LOCK, SECMEM_UNLOCK.
693         (_gcry_secmem_dump_stats): Likewise.
694         (_gcry_secmem_malloc_internal): Removed unused variable:
695         compressed.
696         Include "ath.h".
697
698 2003-05-21  Moritz Schulte  <moritz@g10code.com>
699
700         * gcrypt.h (GCRY_CIPHER_SERPENT128, GCRY_CIPHER_SERPENT192,
701         GCRY_CIPHER_SERPENT256): New symbols.
702
703 2003-05-19  Moritz Schulte  <moritz@g10code.com>
704
705         * gcrypt.h: Reversed changes from 2003-03-03 since they would have
706         been an unnecessary ABI break.
707
708 2003-05-13  Moritz Schulte  <moritz@g10code.com>
709
710         * secmem.c (stats_update): New function.
711         (BLOCK_HEAD_SIZE): New symbol.
712         (MB_FLAG_ACTIVE): New symbol.
713         (ADDR_TO_BLOCK, BLOCK_VALID): New macros.
714         (mb_get_next): New function.
715         (mb_get_prev): New function.
716         (mb_merge): New function.
717         (mb_get_new): New function.
718         (unused_blocks): Removed variable.
719         (init_pool): Initialize new memory pool.
720         (_gcry_secmem_malloc): Use new heap management code.
721         (_gcry_secmem_free): Likewise.
722         (_gcry_secmem_realloc): Likewise.
723         Renamed type MEMBLOCK to memblock_t.
724
725 2003-04-27  Moritz Schulte  <moritz@g10code.com>
726
727         * cipher.h (gcry_pubkey_spec): New member: sexp_names.
728
729 2003-04-23  Moritz Schulte  <moritz@g10code.com>
730
731         * cipher.h (gcry_pubkey_spec): Removed members: npkey, nskey,
732         nenc, nsig.
733         (gcry_pubkey_spec): Added members: elements_pkey, elements_skey,
734         elements_enc, elements_sig, elements_grip.
735
736 2003-04-17  Moritz Schulte  <moritz@g10code.com>
737
738         * g10lib.h (GcryModule): New typedef.
739
740         * gcrypt.h (gcry_cipher_register, gcry_cipher_unregister,
741         gcry_digest_register, gcry_digest_unregister,
742         gcry_pubkey_register, gcry_pubkey_unregister): Function
743         declarations removed - for now.
744         
745         * gcrypt.h (GcryModule): Declaration removed.
746         * gcrypt.h (GcryPubkeySpec, GcryDigestSpec, GcryCipherSpec):
747         Types Moved... 
748         * cipher.h: ... here.
749
750 2003-04-17  Moritz Schulte  <moritz@g10code.com>
751
752         * cipher.h: Declare digest_spec_sha512 and digest_spec_384.
753
754 2003-04-16  Moritz Schulte  <moritz@g10code.com>
755
756         * module.c (_gcry_module_use): New function.
757         * g10lib.h (_gcry_module_use): Declare function.
758
759         * libgcrypt-config.in: Support for --algorithms switch, which
760         prints the algorithms included in the built libgcrypt.
761
762         * global.c (gcry_set_progress_handler): Register progress
763         functions depending on the enabled algorithms.
764
765 2003-04-07  Moritz Schulte  <moritz@g10code.com>
766
767         * Makefile.am (libgcrypt_la_SOURCES): Added module.c
768
769         * module.c: New file.
770         (_gcry_module_add): New function.
771         (_gcry_module_drop): New function.
772         (_gcry_module_lookup): New function.
773         (_gcry_module_release): New function.
774
775         * g10lib.h (GcryModule): New types.
776         (FLAG_MODULE_DISABLED): New symbol.
777         Added declarations for _gcry_module_add, _gcry_module_release and
778         _gcry_module_lookup.
779
780         * gcrypt.h: New types: GcryPubkeySpec, GcryDigestSpec,
781         GcryCipherSpec.
782         Added declarations for: gcry_cipher_register,
783         gcry_cipher_unregister, gcry_digest_register,
784         gcry_digest_unregister, gcry_pubkey_register and
785         gcry_pubkey_unregister.
786
787         * cipher.h: Removed symbols: CIPHER_ALGO_NONE, CIPHER_ALGO_IDEA,
788         CIPHER_ALGO_3DES, CIPHER_ALGO_CAST5, CIPHER_ALGO_BLOWFISH,
789         CIPHER_ALGO_SAFER_SK128, CIPHER_ALGO_DES_SK, CIPHER_ALGO_TWOFISH,
790         CIPHER_ALGO_TWOFISH_OLD, CIPHER_ALGO_DUMMY, PUBKEY_USAGE_SIG,
791         PUBKEY_USAGE_ENC, DIGEST_ALGO_MD5, DIGEST_ALGO_SHA1,
792         DIGEST_ALGO_RMD160, DIGEST_ALGO_TIGER, PUBKEY_ALGO_RSA,
793         PUBKEY_ALGO_RSA_E, PUBKEY_ALGO_RSA_S, PUBKEY_ALGO_DSA,
794         PUBKEY_ALGO_ELGAMAL, PUBKEY_ALGO_ELGAMAL_E.
795
796 2003-04-02  Moritz Schulte  <moritz@g10code.com>
797
798         * benchmark.c (md_bench): Fix error message.
799
800 2003-03-31  Moritz Schulte  <moritz@g10code.com>
801
802         * benchmark.c (cipher_bench): Added CTR mode.
803
804 2003-03-30  Simon Josefsson  <jas@extundo.com>
805
806         * gcrypt.h (enum gcry_control_cmds): Add GCRY_SET_CTR.
807         (enum gcry_cipher_modes): Add GCRY_CIPHER_MODE_CTR.
808         (gcry_cipher_setctr): New macro to set counter.
809
810 2003-03-19  Moritz Schulte  <moritz@g10code.com>
811
812         * cipher.h (PUBKEY_FLAG_NO_BLINDING): New symbol.
813
814 2003-03-22  Simon Josefsson  <jas@extundo.com>
815
816         * gcrypt.h: Add GCRYCTL_SET_CBC_MAC and GCRY_CIPHER_CBC_MAC.
817
818 2003-03-19  Werner Koch  <wk@gnupg.org>
819
820         * g10lib.h: Adjusted primegen.c prototypes.
821
822 2003-03-12  Werner Koch  <wk@gnupg.org>
823
824         * sexp.c (sexp_sscan): Initialize NM.  Thanks to Ian Peters for
825         valgrinding this.
826
827 2003-03-06  Moritz Schulte  <mo@g10code.com>
828
829         * secmem.h (GCRY_SECMEM_FLAG_NO_WARNING,
830         GCRY_SECMEM_FLAG_SUSPEND_WARNING): New symbols.
831
832         * global.c (gcry_control): Use
833         GCRY_SECMEM_FLAG_{NO,SUSPEND}_WARNING, instead of hard-coded
834         values.
835         * secmem.c (_gcry_secmem_set_flags): Likewise.
836         * secmem.c (_gcry_secmem_get_flags): Likewise.
837         
838 2003-03-03  Moritz Schulte  <moritz@g10code.com>
839
840         * misc.c: Removed old FIXME, since there is already a function to
841         set the value of `verbosity_level'.
842
843         * gcrypt.h: Removed enumeration list: gcry_ctl_cmds.
844         New enumeration lists: gcry_global_control_cmds,
845         gcry_control_cmds, gcry_info_cmds, gcry_algo_info_cmds.
846
847 2003-03-02  Moritz Schulte  <moritz@g10code.com>
848
849         * gcrypt.h (gcry_cipher_reset): New macro for resetting a handle.
850
851 2003-02-28  Moritz Schulte  <moritz@g10code.com>
852
853         * secmem.c (DEFAULT_PAGESIZE): New symbol.
854         (init_pool): Use DEFAULT_PAGESIZE.
855
856 2003-02-23  Moritz Schulte  <moritz@g10code.com>
857
858         * secmem.h: Fix typo in declaration of _gcry_secmem_term.
859
860         * sexp.c: Move macro definitions of `digitp', `octdigit', `alphap'
861         and `hexdigit' ...
862         * g10lib.h: ... here.
863
864         * misc.c (_gcry_burn_stack): New function (former name:
865         burn_stack).
866
867         * g10lib.h (burn_stack): Declare _gcry_burn_stack().
868
869 2003-01-24  Werner Koch  <wk@gnupg.org>
870
871         * global.c (gcry_set_progress_handler): Register a random progress
872         handler.
873
874 2003-01-23  Werner Koch  <wk@gnupg.org>
875
876         * gcrypt.h (GCRY_ENABLE_QUICK_RANDOM): New. 
877         * global.c (gcry_control): Make use of it.
878
879 2003-01-21  Werner Koch  <wk@gnupg.org>
880
881         * gcrypt.h (gcry_random_add_bytes): Add QUALITY argument.
882
883 2003-01-21  Timo Schulz  <twoaday@freakmail.de>
884
885         * gcrypt.h (gcry_random_add_bytes): New.
886         
887 2003-01-20  Simon Josefsson  <jas@extundo.com>
888
889         * gcrypt.h (gcry_md_algos): Add GCRY_MD_CRC32,
890         GCRY_MD_CRC32_RFC1510, GCRY_MD_CRC24_RFC2440.
891
892 2003-01-16  Werner Koch  <wk@gnupg.org>
893
894         * gcrypt.h (gcry_md_write): Changed type of 2nd argument to void*.
895         (gcry_md_hash_buffer): Changed type of both buffers to void*.
896         (gcry_md_setkey): Changed type of 2nd argument to void*.
897         (gcry_md_get_asnoid): New.
898
899 2003-01-15  Werner Koch  <wk@gnupg.org>
900
901         * sexp.c (gcry_sexp_length): Fixed.  This was seriously broken.
902
903 2003-01-14  Werner Koch  <wk@gnupg.org>
904
905         * gcrypt.h (GCRYERR_INV_FLAG), global.c (gcry_strerror): New.
906
907 2003-01-02  Werner Koch  <wk@gnupg.org>
908
909         * libgcrypt.vers: Temporary export _gcry_generate_elg_prime for
910         use by GNUTLS. 
911
912 2002-12-21  Werner Koch  <wk@gnupg.org>
913
914         * gcrypt.h: Make use of gcc's pure and malloc attributes 
915         (gcry_md_putc): Use a helper variable to avoid multiple
916         evaluation of H. 
917         * g10lib.h, stdmem.h, secmem.h: Use gcc attributes pure and malloc.
918
919         * stdmem.c (use_m_guard): Don't default to yes.
920
921 2002-12-19  Werner Koch  <wk@gnupg.org>
922
923         * global.c (global_init): The meat was never run due to a faulty
924         check. Thanks to Nikos for pointing this out.
925         
926         * global.c (gcry_control): Return 1 and not -1 for the
927         initialization tests.
928
929         * libgcrypt.vers: New.
930         * Makefile.am: Use this instead of the build symbol file.
931
932         * global.c (gcry_control) <initialization>: Call the random module
933         initializer to make sure that the pool lock flag has been
934         initialized.
935
936 2002-12-09  Werner Koch  <wk@gnupg.org>
937
938         * global.c (gcry_calloc,gcry_calloc_secure): Check for overflow.
939         Noted by Florian Weimer. 
940
941 2002-11-10  Simon Josefsson  <jas@extundo.com>
942
943         * gcrypt.h (gcry_ctl_cmds): New GCRYCTL_SET_CBC_CTS control flag.
944         (gcry_cipher_flags): New GCRY_CIPHER_CBC_CTS gcry_cipher_open() flag.
945         (gcry_cipher_cts): New macro for toggling CTS.
946
947 2002-11-10  Werner Koch  <wk@gnupg.org>
948
949         * gcrypt.h (GCRY_MD_MD4): New.  We use a non OpenPGP value here. 
950
951 2002-09-20  Werner Koch  <wk@gnupg.org>
952
953         * ath.c: Include sys.time.h if sys/select.h does not exist.
954         (ath_select, ath_waitpid): Shortcut for Windows.
955         * ath.h: Include some Windows headers.  By Timo.
956
957 2002-09-18  Werner Koch  <wk@gnupg.org>
958
959         * ath.h: Prefix ath_deinit.
960
961 2002-09-17  Werner Koch  <wk@gnupg.org>
962
963         * benchmark.c: New.
964         (mpi_bench, do_powm): Add a a simple test for RSA.
965
966         * global.c (global_init): New.  Use it instead of the setting
967         any_init_done.  Initialize the ATH system.
968         (gcry_check_version): Hook global_init in.  This is the suggested
969         way to initialize the library.
970         (_gcry_no_internal_locking): Removed.  We simply call a ath_deinit
971         and leave it to ATH to disbale the locking.
972
973         * ath.c, ath.h, ath-pth.c, ath-pthread.c: New. Taken from GPGME.
974         * mutex.h: Removed.
975         * Makefile.am (ath_components): New.
976
977 2002-09-16  Werner Koch  <wk@gnupg.org>
978
979         * secmem.c (_gcry_secmem_dump_stats): Replaced fprintf by log_*.
980
981 2002-08-23  Werner Koch  <wk@gnupg.org>
982
983         * missing-string.c: Removed unneeded strlwr.
984
985         * libgcrypt.m4: Made much more simple.
986         * libgcrypt-config.in: Made --prefix work for --libs.
987
988 2002-08-14  Werner Koch  <wk@gnupg.org>
989
990         * gcrypt.h: Add GCRY_CIPGER_DES.  Included string.h for size_t.
991         Suggested by Simon Josefsson.
992
993 2002-07-25  Werner Koch  <wk@gnupg.org>
994
995         * cipher.h: Added prototypes for progress functions.
996         * global.c: Include cipher.h for those prototypes.
997
998         * stdmem.c (_gcry_private_realloc): Replaced void* by char * for
999         pointer arithmetic reasons.  Noted by Stephan Austermuehle.
1000
1001 2002-06-24  Werner Koch  <wk@gnupg.org>
1002
1003         * missing-string.c: Include ctype.h.
1004
1005         * gcrypt.h (gcry_mpi_invm, gcry_mpi_div, gcry_mpi_mod)
1006         (gcry_mpi_swap): New.
1007
1008 2002-06-18  Werner Koch  <wk@gnupg.org>
1009
1010         * gcrypt.h: Added a bunch of brief function descriptions.
1011
1012 2002-05-21  Werner Koch  <wk@gnupg.org>
1013
1014         * misc.c (_gcry_log_printf): Don't initialize a va_list.  Noted by
1015         Jeff Johnson.
1016
1017         * global.c (gcry_set_progress_handler): New.
1018
1019         * gcrypt.h: Replaced the typedef for byte.
1020
1021 2002-05-16  Werner Koch  <wk@gnupg.org>
1022
1023         * missing-string.c: New.
1024
1025         * gcrypt.h: Add new error codes GCRYERR_SEXP_ and typedefs
1026         GcryMPI, GcrySexp, GcryCipherHd, GcryMDHd as aliases for the old
1027         ones using an underscore.
1028
1029         * global.c (gcry_strerror): Add strings fro the new error codes.
1030         * sexp.c (gcry_sexp_canon_len): Use a macro to convert from new to
1031         old error codes.
1032         (gcry_sexp_create,gcry_sexp_new): New.
1033
1034 2002-05-15  Werner Koch  <wk@gnupg.org>
1035
1036         * mutex.h (DEFINE_LOCAL_MUTEX): Macro to define a mutex and
1037         initialize it so that we can detect an unitialized mutex and don't
1038         read from stdin.
1039
1040 2002-05-14  Werner Koch  <wk@gnupg.org>
1041
1042         Changed license of all files to the LGPL.
1043
1044 2002-05-07  Werner Koch  <wk@gnupg.org>
1045
1046         * global.c (gcry_control): Add commands
1047         GCRYCTL_ANY_INITIALIZATION_P and GCRYCTL_INITIALIZATION_FINISHED_P
1048         so that other libraries are able to check for required
1049         initializations.
1050
1051 2002-05-02  Werner Koch  <wk@gnupg.org>
1052
1053         * gcrypt.h (GCRYCTL_DISABLE_INTERNAL_LOCKING): New.
1054         * global.c (gcry_control): Implement it.
1055         (_gcry_no_internal_locking): New.
1056         * mutex.h: Prefixed all fucntions with _gcry_.  Bypass all
1057         functions when desired.
1058
1059         * gcrypt.h (GCRYCTL_DISABLE_SECMEM): New.
1060         * global.c (gcry_control,gcry_malloc_secure,gcry_is_secure):
1061         Implement it here.
1062         * secmem.c (_gcry_private_is_secure): Return false if the pool is
1063         not initialized.
1064
1065         * gcrypt.h (GCRYCTL_INITIALIZATION_FINISHED): New.
1066
1067         * gcrypt.h (gcry_cipher_algos): Replaced RINDAEL by AES and change
1068         the macros to expand from rijdael to aes.
1069
1070         * stdmem.c (_gcry_private_malloc): Return NULL for 0 byte allocation.
1071         (_gcry_private_malloc_secure): Ditto.
1072
1073         * g10lib.h:  Copied the JNLIB_GCC macros from ../jnlib/mischelp.h
1074         and removed the inclusion of that file.
1075
1076 2002-04-15  Werner Koch  <wk@gnupg.org>
1077
1078         * global.c (gcry_strdup): New.
1079
1080 2002-03-18  Werner Koch  <wk@gnupg.org>
1081
1082         * mutex.h: New file with a portable thread mutex implementation
1083         written by Marcus Brinkmann.  Taken from GPGME.
1084
1085 2002-02-18  Werner Koch  <wk@gnupg.org>
1086
1087         * sexp.c (gcry_sexp_sscan): Don't initialize the dummy
1088         variable.  Suggested by Jordi Mallach.
1089
1090 2002-01-31  Werner Koch  <wk@gnupg.org>
1091
1092         * sexp.c (suitable_encoding,convert_to_hex,convert_to_string)
1093         (convert_to_token): New.
1094         (gcry_sexp_sprint): Better formatting of advanced encoding, does
1095         now insert LFs and escapes all unprintable characters.
1096         (unquote_string): New.
1097         (sexp_sscan): Implemented the missing conversion of quoted strings.
1098
1099 2002-01-26  Werner Koch  <wk@gnupg.org>
1100
1101         * libgcrypt-config.in: Add copyright notice.
1102
1103 2002-01-11  Werner Koch  <wk@gnupg.org>
1104
1105         * sexp.c (gcry_sexp_canon_len): Fixed last change.
1106
1107 2002-01-01  Timo Schulz <ts@winpt.org>
1108
1109         * stdmem.c (_gcry_private_realloc): If pointer is NULL now realloc
1110         behaves like malloc.
1111
1112 2001-12-20  Werner Koch  <wk@gnupg.org>
1113
1114         * sexp.c (gcry_sexp_canon_len): Describe the error codes and
1115         return an error if this is not a S-Exp; i.e. it does not start
1116         with an open parenthesis.
1117
1118 2001-12-18  Werner Koch  <wk@gnupg.org>
1119
1120         * sexp.c (gcry_sexp_canon_len): Fixed the test on NULL buffer.
1121
1122         * Makefile.am (DISTCLEANFILES): Include libgcrypt.sym
1123
1124         * sexp.c: Removed the commented test code because we now have a
1125         test in ../tests/
1126
1127 2001-12-17  Werner Koch  <wk@gnupg.org>
1128
1129         * sexp.c (gcry_sexp_canon_len): New.
1130
1131 2001-12-11  Werner Koch  <wk@gnupg.org>
1132
1133         * gcrypt.h: Fixed AES128 macro, add enum for OFB mode.
1134
1135 2001-12-05  Werner Koch  <wk@gnupg.org>
1136
1137         * misc.c (_gcry_log_printf): New.
1138         * sexp.c (dump_string,gcry_sexp_dump): Use logging functions
1139         instead of stderr.
1140
1141 2001-11-16  Werner Koch  <wk@gnupg.org>
1142
1143         * gcrypt.h: New constant GCRYCTL_IS_ALGO_ENABLED.
1144
1145 2001-10-02  Werner Koch  <wk@gnupg.org>
1146
1147         * gcrypt.h: Removed a couple of trailing commas.
1148
1149 2001-08-28  Werner Koch  <wk@gnupg.org>
1150
1151         * sexp.c (sexp_sscan): Add an argument to enable the
1152         arg_ptr. Changed all callers.  Suggested by Tom Holroyd.
1153
1154 2001-08-03  Werner Koch  <wk@gnupg.org>
1155
1156         * global.c (gcry_strerror): Updated list of error codes.
1157
1158 2001-07-23  Werner Koch  <wk@gnupg.org>
1159
1160         * gcrypt.h: Replaced the last ulong.  Noted by Rami Lehti.
1161
1162 2001-05-31  Werner Koch  <wk@gnupg.org>
1163
1164         * gcrypt.h, mpi.h: Made some mpi functions public.
1165
1166         * wrapper.c: Removed.
1167         * global.c: Renamed all g10_ prefixed functions which had wrappers 
1168         to gcry_xxx. So we now use the exported memory functions inernally.
1169
1170         Renamed all g10_ prefixed functions to _gcry_ prefixed ones.
1171         
1172         * g10lib.h (_GCRYPT_IN_LIBGCRYPT): Replace defintion by a test on it.
1173
1174 2001-05-28  Werner Koch  <wk@gnupg.org>
1175
1176         * libgcrypt.m4: Check GCRYPT_VERSION macro and not LIBGCRYPT_VERSION.
1177
1178         * mpi.h: Removed mpi_fromstr prototype.
1179
1180 2001-01-11  Werner Koch  <wk@gnupg.org>
1181
1182         * Makefile.am (libgcrypt_la_SOURCES): Add mpi.h
1183
1184 2000-12-19  Werner Koch  <wk@gnupg.org>
1185
1186         * types.h: Moved from ../include to here.
1187
1188         Major change:
1189         Removed all GnuPG stuff and renamed this piece of software
1190         to gcrypt. 
1191
1192 2000-11-14  Werner Koch  <wk@gnupg.org>
1193
1194         * mpi.h: Moved to ../mpi.
1195
1196         * Makefile.am (OMIT_DEPENDENCIES): Hack to work around dependency
1197         problems.
1198
1199 2000-10-11  Werner Koch  <wk@gnupg.org>
1200
1201         * mpi.h: Changed the way mpi_limb_t is defined.
1202
1203 2000-10-10  Werner Koch  <wk@gnupg.org>
1204
1205         * Makefile.am: Take version-info from configure.
1206
1207 2000-10-09  Werner Koch  <wk@gnupg.org>
1208
1209         * gcrypt.h: New cipher mode, new algo Arcfour and new error code
1210         GCRYERR_INV_CIPHER_MODE.
1211         * global.c (gcry_strerror): New errorcode.
1212
1213 Wed Oct  4 13:16:18 CEST 2000  Werner Koch  <wk@openit.de>
1214
1215         * gcrypt.h (gcry_md_setkey): Replaced macro by function prototype.
1216
1217 Mon Sep 18 16:35:45 CEST 2000  Werner Koch  <wk@openit.de>
1218
1219         * gcrypt.h (GCRYCTL_GET_ALGO_USAGE): New.
1220
1221         * secmem.c (secmem_realloc): check for failed secmem_malloc.  By
1222         Matt Kraai.
1223
1224 Mon Jul 31 10:04:47 CEST 2000  Werner Koch  <wk@openit.de>
1225
1226   * sexp.c: Removed the datalen fields from list tags.
1227   (gcry_sexp_car_data,gcry_sexp_cdr_data,gcry_sexp_car_mpi,
1228    gcry_sexp_cdr_mpi): Removed.
1229   (gcry_sexp_nth,gcry_sexp_nth_data,gcry_sexp_nth_mpi): New.
1230
1231 Fri Jul 28 18:19:11 CEST 2000  Werner Koch  <wk@openit.de>
1232
1233   * sexp.c (sexp_sscan): Fixed reallocation to secure memory.
1234   (new_empty_list): Removed
1235   (gcry_sexp_length): New.
1236   (gcry_sexp_enum): Removed.
1237   (normalize): New. Reworked the whole thing to use NULL for an empty list.
1238   (make_space): New instead of the macro.
1239
1240 Tue Jul 25 17:44:15 CEST 2000  Werner Koch  <wk@openit.de>
1241
1242   * sexp.c: Major rewrite.
1243   (gcry_sexp_sscan): Reordered arguments.  Moved functionality to ..
1244   (sexp_sscan): .. this.
1245   (gcry_sexp_build): New.
1246   (gcry_sexp_new_name_mpi, gcry_sexp_new_name_data, gcry_sexp_new_data,
1247    gcry_sexp_new_mpi): Removed.
1248
1249 Fri Jul 14 19:38:23 CEST 2000  Werner Koch  <wk@>
1250
1251   * gcrypt.h (gcry_md_start_debug, gcry_md_stop_debug): New.
1252   (gcry_ctl_cmds): New control values
1253
1254   * sexp.c (gcry_sexp_sscan): Add hex format parsing.
1255
1256   * secmem.c (lock_pool): Check for ENOSYS return my mlock() on old SCOs.
1257   (pool_is_mmapped): Made volatile.
1258   (lock_pool): No more warning for QNX. By Sam Roberts.
1259   (lock_pool,secmem_init): Additional check for dropped privs.
1260
1261 2000-03-21 09:18:48  Werner Koch  (wk@habibti.gnupg.de)
1262
1263         * gcrypt.h (gcry_md_setkey): New.
1264         (GCRY_MD_FLAG_HMAC): New.
1265
1266 Mon Jan 31 16:37:34 CET 2000  Werner Koch  <wk@gnupg.de>
1267
1268         * Makefile.am: Add g10lib.h
1269
1270 Thu Jan 27 18:00:44 CET 2000  Werner Koch  <wk@gnupg.de>
1271
1272         * sexp.c (gcry_sexp_sscan): Allow NULL for erroff.
1273
1274 Mon Jan 24 22:24:38 CET 2000  Werner Koch  <wk@gnupg.de>
1275
1276         * sexp.c (gcry_sexp_alist): New.
1277
1278 Mon Jan 24 13:04:28 CET 2000  Werner Koch  <wk@gnupg.de>
1279
1280         * secmem.c: Moved from ../util to here.
1281         * secmem.h: New.
1282         * stdmem.c: New. Based on the old ../util/memory.c.
1283         * stdmem.h: New.
1284
1285 Wed Dec  8 21:58:32 CET 1999  Werner Koch  <wk@gnupg.de>
1286
1287         * gcrypt.m4: New.
1288         * gcrypt-config: New.
1289
1290         * mpi.h (mpi_get_nbit_info): Removed
1291         (mpi_set_nbit_info): Removed.
1292         (struct gcry_mpi): Removed the nbits field.
1293
1294         * misc.c (g10_log_verbosity): New.
1295
1296         * global.c (g10_xstrdup): New.
1297
1298         * mpiapi.c: Removed.
1299
1300         * mpi.h: Moved from ../include to here.  Removed some obsolete
1301         prototypes and the iobuf.h header.
1302         * cipher.h: Moved from ../include to here. Removed the mpi.h header.
1303         * g10lib.h: Moved from ../include to here.
1304
1305 Fri Nov 19 17:15:20 CET 1999  Werner Koch  <wk@gnupg.de>
1306
1307         * sexp.c (dump_string): New.  Taken from gnupg/util/miscutil.c.
1308         (do_dump_list): s/print_string/dump_string/.
1309
1310         * testapi.c: New.
1311
1312         * mpiapi.c (gcry_mpi_randomize): Use new random API.
1313
1314 Sat Nov 13 17:44:23 CET 1999  Werner Koch  <wk@gnupg.de>
1315
1316         * gloabl.c (gcry_control): Add cases for dumping random
1317         and secmem stats.
1318
1319 Tue Oct 26 14:10:21 CEST 1999  Werner Koch  <wk@gnupg.de>
1320
1321         * pkapi.c: Removed.
1322
1323         * symapi.c: Removed.
1324
1325         * g10lib.h:  Moved to ../include.
1326
1327         * mdapi.c: Removed.
1328
1329 Wed Jul  7 13:08:40 CEST 1999  Werner Koch  <wk@isil.d.shuttle.de>
1330
1331         * sexp.c: New.
1332
1333 Tue Dec  8 13:15:16 CET 1998  Werner Koch  <wk@isil.d.shuttle.de>
1334
1335         * gcrypt.h: New
1336         * mpiapi.c: New
1337
1338         
1339  Copyright (C) 1998,1999,2000,2001,2002,2003
1340                2004 Free Software Foundation, Inc.
1341
1342  This file is free software; as a special exception the author gives
1343  unlimited permission to copy and/or distribute it, with or without
1344  modifications, as long as this notice is preserved.
1345
1346  This file is distributed in the hope that it will be useful, but
1347  WITHOUT ANY WARRANTY, to the extent permitted by law; without even the
1348  implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.