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