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