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