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