26a2608a05db09d9de86e21370977b384079925c
[libgcrypt.git] / src / ChangeLog
1 2003-07-02  Moritz Schulte  <moritz@g10code.com>
2
3         * module.c (_gcry_module_lookup): Fixed typo.
4
5         * gcrypt.h: Added all definitions and declarations necessary for
6         the new ac interface.
7
8 2003-06-30  Moritz Schulte  <moritz@g10code.com>
9
10         * g10lib.h: Added declarations: _gcry_pk_module_lookup,
11         _gcry_pk_module_release.
12
13 2003-06-18  Werner Koch  <wk@gnupg.org>
14
15         * benchmark.c (cipher_bench): Adjusted for new API of get_blklen
16         and get_keylen.
17
18         * gcrypt.h (gcry_cipher_get_algo_blklen)
19         (gcry_cipher_get_algo_keylen): Replaced macro by funcion.
20
21 2003-06-18  Moritz Schulte  <moritz@g10code.com>
22
23         * cipher.h: Renamed types GcryDigestSpec, GcryCipherSpec and
24         GcryPubkeySpec into: gcry_digest_spec_t, gcry_cipher_spec_t and
25         gcry_pubkey_spec_t.
26         (gcry_pubkey_spec): Defined member `id' as unsigned.
27         (gcry_digest_spec): Likewise.
28         (gcry_cipher_spec): Likewise.
29
30         * module.c (_gcry_module_id_new): New function.
31         (_gcry_module_add): Generate a new ID via _gcry_module_id_new in
32         case `id' is zero.
33
34         * g10lib.h, module.c: Replace old type GcryModule with newer one:
35         gcry_module_t.
36
37         * module.c (_gcry_module_add): Added argument `id', use it.
38
39         * g10lib.h: Added declaration: _gcry_module_lookup_id.
40         (_gcry_module_add): Added argument `id'.
41
42         * module.c (_gcry_module_lookup_id): New function.
43
44         * g10lib.h (struct gcry_module): New member: id.
45
46         * gcrypt.h: New type: gcry_handler_progress_t,
47         gcry_handler_alloc_t, gcry_haandler_secure_check_t,
48         gcry_handler_realloc_t, gcry_handler_free_t,
49         gcry_handler_no_mem_t, gcry_handler_error_t, gcry_handler_log_t.
50         Use new types.
51
52         * cipher.h: Include <gcrypt.h>.
53         New types: gcry_pk_generate_t, gcry_pk_check_secret_key_t,
54         gcry_pk_encrypt_t, gcry_pk_decrypt_t, gcry_pk_sign_t,
55         gcry_pk_verify_t, gcry_pk_get_nbits_t, gcry_md_init_t,
56         gcry_md_write_t, gcry_md_final_t, gcry_md_read_t,
57         gcry_cipher_setkey_t, gcry_cipher_encrypt_t,
58         gcry_cipher_decrypt_t, gcry_cipher_stencrypt_t,
59         gcry_cipher_stdecrypt_t.
60         Use new types.
61
62 2003-06-17  Moritz Schulte  <moritz@g10code.com>
63
64         * Makefile.am (AM_CFLAGS): Added: @GPG_ERROR_CFLAGS@.
65
66 2003-06-16  Moritz Schulte  <moritz@g10code.com>
67
68         * g10lib.h: Replace last occurences of old type names with newer
69         names (i.e. replace MPI with gcry_mpi_t).
70         * mpi.h: Likewise.
71         * sexp.c: Likewise.
72
73 2003-06-15  Moritz Schulte  <moritz@g10code.com>
74
75         * testapi.c (test_genkey): Use gpg_strerror instead of
76         gcry_strerror.
77
78         * global.c (gcry_control): Fixed typo.
79
80         * misc.c (_gcry_fatal_error): Use gpg_strerror instead of
81         gcry_strerror.
82
83         * types.h (STRLIST): Removed type since it is not used.
84
85 2003-06-11  Moritz Schulte  <moritz@g10code.com>
86
87         * global.c (global_init): Call: _gcry_cipher_init, _gcry_md_init,
88         _gcry_pk_init.
89
90         * g10lib.h: Declare: _gcry_cipher_init, _gcry_md_init,
91         _gcry_pk_init.
92         
93         * global.c (gcry_strerror): Remove compatibility code.
94
95         * Makefile.am: Remove support libgpg-error special handling.
96         (AM_CPPFLAGS): Add @GPG_ERROR_CFLAGS@
97
98         * gcrypt.h: Likewise.
99
100 2003-06-13  Werner Koch  <wk@gnupg.org>
101
102         * gcrypt.h (gcry_md_get_algo): Reverted to old API.  This is a
103         convenience function anyway and error checking is not approriate.
104         (gcry_md_is_enabled): New.
105         (gcry_md_is_secure): Replaced macro by function and reverted to old
106         API.
107
108 2003-06-11  Werner Koch  <wk@gnupg.org>
109
110         * gcrypt.h (GCRYERR): Define _GCRY_ERR_SOURCE_DEFAULT instead of
111         GPG_ERR_SOURCE_DEFAULT, so that libgpg-error still works despite
112         the use of the old gcrypt error codes.
113         (gcry_md_copy): Swapped arguments.
114         
115 2003-06-09  Moritz Schulte  <moritz@g10code.com>
116
117         * Makefile.am: Support for libgpg-error.
118
119 2003-06-08  Moritz Schulte  <moritz@g10code.com>
120
121         * sexp.c (gcry_sexp_create): Expect sane error values from
122         gcry_sexp_canon_len instead of the `historical' values.
123
124 2003-06-07  Moritz Schulte  <moritz@g10code.com>
125
126         * ath.c, ath.c, ath-pth.c, ath-pthread.c, benchmark.c, cipher.h,
127         g10lib.h, gcrypt.h, global.c, misc.c, missing-string.c, module.c,
128         mpi.h, secmem.c, secmem.h, sexp.c, stdmem.c, stdmem.h, testapi.c,
129         types.h: Edited all preprocessor instructions to remove whitespace
130         before the '#'.  This is not required by C89, but there are some
131         compilers out there that don't like it.  Replaced any occurence of
132         the now deprecated type names with the new ones.
133         
134         * gcrypt.h: Re-organized checking for gcc features; New macro:
135         _GCRY_GCC_ATTR_DEPRECATED.
136         Include copy of libgpg-error's gpg-error.h in order to make it
137         easy to build libgcrypt without needing libgpg-error.h.
138
139         (GCRY_MPI, GcryMPI, GCRY_SEXP, GcrySexp, GCRY_CIPHER_HD,
140         GcryCipherHd, GCRY_MD_HD, GcryMDHd): Declared deprecated.
141         (gcry_mpi_t, gcry_sexp_t, gcry_cipher_hd_t, gcry_md_hd_t): New
142         types.
143
144 2003-06-04  Moritz Schulte  <moritz@g10code.com>
145
146         * sexp.c (sexp_sscan): New argument: arg_list, adjusted all
147         callers.
148         (ARG_NEXT): New macro.
149         (sexp_sscan): Use ARG_NEXT for receiving format string arguments.
150         (gcry_sexp_build_array): New function.
151
152 2003-06-02  Moritz Schulte  <moritz@g10code.com>
153
154         * gcrypt.h: Added some comments describing the gcry_sexp_*
155         functions.
156         Include <gpg-error.h> instead of <gpg/error.h>.
157
158 2003-06-01  Moritz Schulte  <moritz@g10code.com>
159
160         * sexp.c (OLDPARSECODE): Removed macro...
161         (gcry_sexp_canon_len): ... and do not use it.
162
163         * gcrypt.h (gcry_errno): Removed declaration.
164
165         * g10lib.h (string_to_pubkey_algo, pubkey_algo_to_string,
166         pubkey_nbits): Removed declarations for non-existing functions.
167
168 2003-05-31  Moritz Schulte  <moritz@g10code.com>
169
170         * cipher.h (is_RSA, is_ELGAMAL): Removed macros.
171
172         * g10lib.h (set_lasterr): Removed macro.
173         (_gcry_set_lasterr): Removed declaration.
174
175         * gcrypt.h: Changed declarations for: gcry_pk_algo_info,
176         gcry_md_open, gcry_md_copy, gcry_md_algo_info, gcry_md_info,
177         gcry_md_get_algo, gcry_random_add_bytes.
178         
179         (gcry_md_is_secure): Adjust macro for new API.
180
181 2003-05-29  Moritz Schulte  <moritz@g10code.com>
182
183         * gcrypt.h: Changed declarations for: gcry_cipher_open,
184         gcry_cipher_info, gcry_cipher_algo_info.
185         (gcry_cipher_get_algo_keylen): Adjuster for new
186         gcry_cipher_algo_info interface.
187         (gcry_cipher_get_algo_blklen): Likewise.
188
189         * global.c (gcry_errno): Removed function.
190         (gcry_strerror): Do not use gcry_errno.
191         (_gcry_set_lasterr): Removed function.
192         (last_ec): Removed variable.
193
194 2003-05-27  Moritz Schulte  <moritz@g10code.com>
195
196         * gcrypt.h (enum gcry_cipher_algos): Make Serpent IDs do not
197         conflict with OpenPGP.  Reported by Timo Schulz.
198
199         * global.c (gcry_control): Fixed name of enum list.
200
201 2003-05-25  Moritz Schulte  <moritz@g10code.com>
202
203         * cipher.h (gcry_cipher_spec): Adjust return type of `setkey' for
204         libgpg-error.
205         (gcry_pubkey_spec): Adjust return type of `generate',
206         `check_secret_key', `encrypt', `decrypt', `sign' and `verify' for
207         libgpg-error.
208
209         * sexp.c (gcry_sexp_canon_len): Adjusted for libgpg-error.
210         (gcry_sexp_create): Likewise.
211         (gcry_sexp_new): Likewise.
212         (sexp_sscan): Likewise.
213         (gcry_sexp_build): Likewise.
214         (gcry_sexp_sscan): Likewise.
215
216         * module.c (_gcry_module_add): Likewise.
217
218         * global.c (last_ec): Change type to gpg_error_t.
219         (gcry_control): Adjust for libgpg-error.
220         (gcry_errno): Likewise.
221         (gcry_strerror): Likewise.
222         (_gcry_set_lasterr): Likewise.
223         (gcry_xmalloc): Likewise.
224         (gcry_xrealloc): Likewise.
225
226 2003-05-22  Moritz Schulte  <moritz@g10code.com>
227
228         * types.h: Merged code from GnuPG regarding U64_C.
229
230         * missing-string.c (strsep): Removed function.
231
232         * g10lib.h: Removed declarations: strsep, strlwr.
233
234         * secmem.c (secmem_lock): New variable.
235         (SECMEM_LOCK, SECMEM_UNLOCK): New macros.
236         (_gcry_secmem_set_flags): Use SECMEM_LOCK and SECMEM_UNLOCK.
237         (_gcry_secmem_get_flags): Likewise.
238         (_gcry_secmem_init): Likewie.
239         (_gcry_secmem_malloc): Likewise.
240         (_gcry_secmem_free): Likewise.
241         (_gcry_secmem_malloc): Renamed to ...
242         (_gcry_secmem_malloc_internal): ... this.
243         (_gcry_secmem_malloc): New function, use SECMEM_LOCK,
244         SECMEM_UNLOCK, call _gcry_secmem_malloc_internal.
245         (_gcry_secmem_free): Renamed to ...
246         (_gcry_secmem_free_internal): ... this.
247         (_gcry_secmem_free): New function, use SECMEM_LOCK, SECMEM_UNLOCK,
248         call _gcry_secmem_free_internal.
249         (_gcry_secmem_realloc): Use SECMEM_LOCK, SECMEM_UNLOCK, call
250         _gcry_secmem_malloc_internal and _gcry_secmem_free_internal.
251         (_gcry_private_is_secure): Use SECMEM_LOCK, SECMEM_UNLOCK.
252         (_gcry_secmem_dump_stats): Likewise.
253         (_gcry_secmem_malloc_internal): Removed unused variable:
254         compressed.
255         Include "ath.h".
256
257 2003-05-21  Moritz Schulte  <moritz@g10code.com>
258
259         * gcrypt.h (GCRY_CIPHER_SERPENT128, GCRY_CIPHER_SERPENT192,
260         GCRY_CIPHER_SERPENT256): New symbols.
261
262 2003-05-19  Moritz Schulte  <moritz@g10code.com>
263
264         * gcrypt.h: Reversed changes from 2003-03-03 since they would have
265         been an unnecessary ABI break.
266
267 2003-05-13  Moritz Schulte  <moritz@g10code.com>
268
269         * secmem.c (stats_update): New function.
270         (BLOCK_HEAD_SIZE): New symbol.
271         (MB_FLAG_ACTIVE): New symbol.
272         (ADDR_TO_BLOCK, BLOCK_VALID): New macros.
273         (mb_get_next): New function.
274         (mb_get_prev): New function.
275         (mb_merge): New function.
276         (mb_get_new): New function.
277         (unused_blocks): Removed variable.
278         (init_pool): Initialize new memory pool.
279         (_gcry_secmem_malloc): Use new heap management code.
280         (_gcry_secmem_free): Likewise.
281         (_gcry_secmem_realloc): Likewise.
282         Renamed type MEMBLOCK to memblock_t.
283
284 2003-04-27  Moritz Schulte  <moritz@g10code.com>
285
286         * cipher.h (gcry_pubkey_spec): New member: sexp_names.
287
288 2003-04-23  Moritz Schulte  <moritz@g10code.com>
289
290         * cipher.h (gcry_pubkey_spec): Removed members: npkey, nskey,
291         nenc, nsig.
292         (gcry_pubkey_spec): Added members: elements_pkey, elements_skey,
293         elements_enc, elements_sig, elements_grip.
294
295 2003-04-17  Moritz Schulte  <moritz@g10code.com>
296
297         * g10lib.h (GcryModule): New typedef.
298
299         * gcrypt.h (gcry_cipher_register, gcry_cipher_unregister,
300         gcry_digest_register, gcry_digest_unregister,
301         gcry_pubkey_register, gcry_pubkey_unregister): Function
302         declarations removed - for now.
303         
304         * gcrypt.h (GcryModule): Declaration removed.
305         * gcrypt.h (GcryPubkeySpec, GcryDigestSpec, GcryCipherSpec):
306         Types Moved... 
307         * cipher.h: ... here.
308
309 2003-04-17  Moritz Schulte  <moritz@g10code.com>
310
311         * cipher.h: Declare digest_spec_sha512 and digest_spec_384.
312
313 2003-04-16  Moritz Schulte  <moritz@g10code.com>
314
315         * module.c (_gcry_module_use): New function.
316         * g10lib.h (_gcry_module_use): Declare function.
317
318         * libgcrypt-config.in: Support for --algorithms switch, which
319         prints the algorithms included in the built libgcrypt.
320
321         * global.c (gcry_set_progress_handler): Register progress
322         functions depending on the enabled algorithms.
323
324 2003-04-07  Moritz Schulte  <moritz@g10code.com>
325
326         * Makefile.am (libgcrypt_la_SOURCES): Added module.c
327
328         * module.c: New file.
329         (_gcry_module_add): New function.
330         (_gcry_module_drop): New function.
331         (_gcry_module_lookup): New function.
332         (_gcry_module_release): New function.
333
334         * g10lib.h (GcryModule): New types.
335         (FLAG_MODULE_DISABLED): New symbol.
336         Added declarations for _gcry_module_add, _gcry_module_release and
337         _gcry_module_lookup.
338
339         * gcrypt.h: New types: GcryPubkeySpec, GcryDigestSpec,
340         GcryCipherSpec.
341         Added declarations for: gcry_cipher_register,
342         gcry_cipher_unregister, gcry_digest_register,
343         gcry_digest_unregister, gcry_pubkey_register and
344         gcry_pubkey_unregister.
345
346         * cipher.h: Removed symbols: CIPHER_ALGO_NONE, CIPHER_ALGO_IDEA,
347         CIPHER_ALGO_3DES, CIPHER_ALGO_CAST5, CIPHER_ALGO_BLOWFISH,
348         CIPHER_ALGO_SAFER_SK128, CIPHER_ALGO_DES_SK, CIPHER_ALGO_TWOFISH,
349         CIPHER_ALGO_TWOFISH_OLD, CIPHER_ALGO_DUMMY, PUBKEY_USAGE_SIG,
350         PUBKEY_USAGE_ENC, DIGEST_ALGO_MD5, DIGEST_ALGO_SHA1,
351         DIGEST_ALGO_RMD160, DIGEST_ALGO_TIGER, PUBKEY_ALGO_RSA,
352         PUBKEY_ALGO_RSA_E, PUBKEY_ALGO_RSA_S, PUBKEY_ALGO_DSA,
353         PUBKEY_ALGO_ELGAMAL, PUBKEY_ALGO_ELGAMAL_E.
354
355 2003-04-02  Moritz Schulte  <moritz@g10code.com>
356
357         * benchmark.c (md_bench): Fix error message.
358
359 2003-03-31  Moritz Schulte  <moritz@g10code.com>
360
361         * benchmark.c (cipher_bench): Added CTR mode.
362
363 2003-03-30  Simon Josefsson  <jas@extundo.com>
364
365         * gcrypt.h (enum gcry_control_cmds): Add GCRY_SET_CTR.
366         (enum gcry_cipher_modes): Add GCRY_CIPHER_MODE_CTR.
367         (gcry_cipher_setctr): New macro to set counter.
368
369 2003-03-19  Moritz Schulte  <moritz@g10code.com>
370
371         * cipher.h (PUBKEY_FLAG_NO_BLINDING): New symbol.
372
373 2003-03-22  Simon Josefsson  <jas@extundo.com>
374
375         * gcrypt.h: Add GCRYCTL_SET_CBC_MAC and GCRY_CIPHER_CBC_MAC.
376
377 2003-03-19  Werner Koch  <wk@gnupg.org>
378
379         * g10lib.h: Adjusted primegen.c prototypes.
380
381 2003-03-12  Werner Koch  <wk@gnupg.org>
382
383         * sexp.c (sexp_sscan): Initialize NM.  Thanks to Ian Peters for
384         valgrinding this.
385
386 2003-03-06  Moritz Schulte  <mo@g10code.com>
387
388         * secmem.h (GCRY_SECMEM_FLAG_NO_WARNING,
389         GCRY_SECMEM_FLAG_SUSPEND_WARNING): New symbols.
390
391         * global.c (gcry_control): Use
392         GCRY_SECMEM_FLAG_{NO,SUSPEND}_WARNING, instead of hard-coded
393         values.
394         * secmem.c (_gcry_secmem_set_flags): Likewise.
395         * secmem.c (_gcry_secmem_get_flags): Likewise.
396         
397 2003-03-03  Moritz Schulte  <moritz@g10code.com>
398
399         * misc.c: Removed old FIXME, since there is already a function to
400         set the value of `verbosity_level'.
401
402         * gcrypt.h: Removed enumeration list: gcry_ctl_cmds.
403         New enumeration lists: gcry_global_control_cmds,
404         gcry_control_cmds, gcry_info_cmds, gcry_algo_info_cmds.
405
406 2003-03-02  Moritz Schulte  <moritz@g10code.com>
407
408         * gcrypt.h (gcry_cipher_reset): New macro for resetting a handle.
409
410 2003-02-28  Moritz Schulte  <moritz@g10code.com>
411
412         * secmem.c (DEFAULT_PAGESIZE): New symbol.
413         (init_pool): Use DEFAULT_PAGESIZE.
414
415 2003-02-23  Moritz Schulte  <moritz@g10code.com>
416
417         * secmem.h: Fix typo in declaration of _gcry_secmem_term.
418
419         * sexp.c: Move macro definitions of `digitp', `octdigit', `alphap'
420         and `hexdigit' ...
421         * g10lib.h: ... here.
422
423         * misc.c (_gcry_burn_stack): New function (former name:
424         burn_stack).
425
426         * g10lib.h (burn_stack): Declare _gcry_burn_stack().
427
428 2003-01-24  Werner Koch  <wk@gnupg.org>
429
430         * global.c (gcry_set_progress_handler): Register a random progress
431         handler.
432
433 2003-01-23  Werner Koch  <wk@gnupg.org>
434
435         * gcrypt.h (GCRY_ENABLE_QUICK_RANDOM): New. 
436         * global.c (gcry_control): Make use of it.
437
438 2003-01-21  Werner Koch  <wk@gnupg.org>
439
440         * gcrypt.h (gcry_random_add_bytes): Add QUALITY argument.
441
442 2003-01-21  Timo Schulz  <twoaday@freakmail.de>
443
444         * gcrypt.h (gcry_random_add_bytes): New.
445         
446 2003-01-20  Simon Josefsson  <jas@extundo.com>
447
448         * gcrypt.h (gcry_md_algos): Add GCRY_MD_CRC32,
449         GCRY_MD_CRC32_RFC1510, GCRY_MD_CRC24_RFC2440.
450
451 2003-01-16  Werner Koch  <wk@gnupg.org>
452
453         * gcrypt.h (gcry_md_write): Changed type of 2nd argument to void*.
454         (gcry_md_hash_buffer): Changed type of both buffers to void*.
455         (gcry_md_setkey): Changed type of 2nd argument to void*.
456         (gcry_md_get_asnoid): New.
457
458 2003-01-15  Werner Koch  <wk@gnupg.org>
459
460         * sexp.c (gcry_sexp_length): Fixed.  This was seriously broken.
461
462 2003-01-14  Werner Koch  <wk@gnupg.org>
463
464         * gcrypt.h (GCRYERR_INV_FLAG), global.c (gcry_strerror): New.
465
466 2003-01-02  Werner Koch  <wk@gnupg.org>
467
468         * libgcrypt.vers: Temporary export _gcry_generate_elg_prime for
469         use by GNUTLS. 
470
471 2002-12-21  Werner Koch  <wk@gnupg.org>
472
473         * gcrypt.h: Make use of gcc's pure and malloc attributes 
474         (gcry_md_putc): Use a helper variable to avoid multiple
475         evaluation of H. 
476         * g10lib.h, stdmem.h, secmem.h: Use gcc attributes pure and malloc.
477
478         * stdmem.c (use_m_guard): Don't default to yes.
479
480 2002-12-19  Werner Koch  <wk@gnupg.org>
481
482         * global.c (global_init): The meat was never run due to a faulty
483         check. Thanks to Nikos for pointing this out.
484         
485         * global.c (gcry_control): Return 1 and not -1 for the
486         initialization tests.
487
488         * libgcrypt.vers: New.
489         * Makefile.am: Use this instead of the build symbol file.
490
491         * global.c (gcry_control) <initialization>: Call the random module
492         initializer to make sure that the pool lock flag has been
493         initialized.
494
495 2002-12-09  Werner Koch  <wk@gnupg.org>
496
497         * global.c (gcry_calloc,gcry_calloc_secure): Check for overflow.
498         Noted by Florian Weimer. 
499
500 2002-11-10  Simon Josefsson  <jas@extundo.com>
501
502         * gcrypt.h (gcry_ctl_cmds): New GCRYCTL_SET_CBC_CTS control flag.
503         (gcry_cipher_flags): New GCRY_CIPHER_CBC_CTS gcry_cipher_open() flag.
504         (gcry_cipher_cts): New macro for toggling CTS.
505
506 2002-11-10  Werner Koch  <wk@gnupg.org>
507
508         * gcrypt.h (GCRY_MD_MD4): New.  We use a non OpenPGP value here. 
509
510 2002-09-20  Werner Koch  <wk@gnupg.org>
511
512         * ath.c: Include sys.time.h if sys/select.h does not exist.
513         (ath_select, ath_waitpid): Shortcut for Windows.
514         * ath.h: Include some Windows headers.  By Timo.
515
516 2002-09-18  Werner Koch  <wk@gnupg.org>
517
518         * ath.h: Prefix ath_deinit.
519
520 2002-09-17  Werner Koch  <wk@gnupg.org>
521
522         * benchmark.c: New.
523         (mpi_bench, do_powm): Add a a simple test for RSA.
524
525         * global.c (global_init): New.  Use it instead of the setting
526         any_init_done.  Initialize the ATH system.
527         (gcry_check_version): Hook global_init in.  This is the suggested
528         way to initialize the library.
529         (_gcry_no_internal_locking): Removed.  We simply call a ath_deinit
530         and leave it to ATH to disbale the locking.
531
532         * ath.c, ath.h, ath-pth.c, ath-pthread.c: New. Taken from GPGME.
533         * mutex.h: Removed.
534         * Makefile.am (ath_components): New.
535
536 2002-09-16  Werner Koch  <wk@gnupg.org>
537
538         * secmem.c (_gcry_secmem_dump_stats): Replaced fprintf by log_*.
539
540 2002-08-23  Werner Koch  <wk@gnupg.org>
541
542         * missing-string.c: Removed unneeded strlwr.
543
544         * libgcrypt.m4: Made much more simple.
545         * libgcrypt-config.in: Made --prefix work for --libs.
546
547 2002-08-14  Werner Koch  <wk@gnupg.org>
548
549         * gcrypt.h: Add GCRY_CIPGER_DES.  Included string.h for size_t.
550         Suggested by Simon Josefsson.
551
552 2002-07-25  Werner Koch  <wk@gnupg.org>
553
554         * cipher.h: Added prototypes for progress functions.
555         * global.c: Include cipher.h for those prototypes.
556
557         * stdmem.c (_gcry_private_realloc): Replaced void* by char * for
558         pointer arithmetic reasons.  Noted by Stephan Austermuehle.
559
560 2002-06-24  Werner Koch  <wk@gnupg.org>
561
562         * missing-string.c: Include ctype.h.
563
564         * gcrypt.h (gcry_mpi_invm, gcry_mpi_div, gcry_mpi_mod)
565         (gcry_mpi_swap): New.
566
567 2002-06-18  Werner Koch  <wk@gnupg.org>
568
569         * gcrypt.h: Added a bunch of brief function descriptions.
570
571 2002-05-21  Werner Koch  <wk@gnupg.org>
572
573         * misc.c (_gcry_log_printf): Don't initialize a va_list.  Noted by
574         Jeff Johnson.
575
576         * global.c (gcry_set_progress_handler): New.
577
578         * gcrypt.h: Replaced the typedef for byte.
579
580 2002-05-16  Werner Koch  <wk@gnupg.org>
581
582         * missing-string.c: New.
583
584         * gcrypt.h: Add new error codes GCRYERR_SEXP_ and typedefs
585         GcryMPI, GcrySexp, GcryCipherHd, GcryMDHd as aliases for the old
586         ones using an underscore.
587
588         * global.c (gcry_strerror): Add strings fro the new error codes.
589         * sexp.c (gcry_sexp_canon_len): Use a macro to convert from new to
590         old error codes.
591         (gcry_sexp_create,gcry_sexp_new): New.
592
593 2002-05-15  Werner Koch  <wk@gnupg.org>
594
595         * mutex.h (DEFINE_LOCAL_MUTEX): Macro to define a mutex and
596         initialize it so that we can detect an unitialized mutex and don't
597         read from stdin.
598
599 2002-05-14  Werner Koch  <wk@gnupg.org>
600
601         Changed license of all files to the LGPL.
602
603 2002-05-07  Werner Koch  <wk@gnupg.org>
604
605         * global.c (gcry_control): Add commands
606         GCRYCTL_ANY_INITIALIZATION_P and GCRYCTL_INITIALIZATION_FINISHED_P
607         so that other libraries are able to check for required
608         initializations.
609
610 2002-05-02  Werner Koch  <wk@gnupg.org>
611
612         * gcrypt.h (GCRYCTL_DISABLE_INTERNAL_LOCKING): New.
613         * global.c (gcry_control): Implement it.
614         (_gcry_no_internal_locking): New.
615         * mutex.h: Prefixed all fucntions with _gcry_.  Bypass all
616         functions when desired.
617
618         * gcrypt.h (GCRYCTL_DISABLE_SECMEM): New.
619         * global.c (gcry_control,gcry_malloc_secure,gcry_is_secure):
620         Implement it here.
621         * secmem.c (_gcry_private_is_secure): Return false if the pool is
622         not initialized.
623
624         * gcrypt.h (GCRYCTL_INITIALIZATION_FINISHED): New.
625
626         * gcrypt.h (gcry_cipher_algos): Replaced RINDAEL by AES and change
627         the macros to expand from rijdael to aes.
628
629         * stdmem.c (_gcry_private_malloc): Return NULL for 0 byte allocation.
630         (_gcry_private_malloc_secure): Ditto.
631
632         * g10lib.h:  Copied the JNLIB_GCC macros from ../jnlib/mischelp.h
633         and removed the inclusion of that file.
634
635 2002-04-15  Werner Koch  <wk@gnupg.org>
636
637         * global.c (gcry_strdup): New.
638
639 2002-03-18  Werner Koch  <wk@gnupg.org>
640
641         * mutex.h: New file with a portable thread mutex implementation
642         written by Marcus Brinkmann.  Taken from GPGME.
643
644 2002-02-18  Werner Koch  <wk@gnupg.org>
645
646         * sexp.c (gcry_sexp_sscan): Don't initialize the dummy
647         variable.  Suggested by Jordi Mallach.
648
649 2002-01-31  Werner Koch  <wk@gnupg.org>
650
651         * sexp.c (suitable_encoding,convert_to_hex,convert_to_string)
652         (convert_to_token): New.
653         (gcry_sexp_sprint): Better formatting of advanced encoding, does
654         now insert LFs and escapes all unprintable characters.
655         (unquote_string): New.
656         (sexp_sscan): Implemented the missing conversion of quoted strings.
657
658 2002-01-26  Werner Koch  <wk@gnupg.org>
659
660         * libgcrypt-config.in: Add copyright notice.
661
662 2002-01-11  Werner Koch  <wk@gnupg.org>
663
664         * sexp.c (gcry_sexp_canon_len): Fixed last change.
665
666 2002-01-01  Timo Schulz <ts@winpt.org>
667
668         * stdmem.c (_gcry_private_realloc): If pointer is NULL now realloc
669         behaves like malloc.
670
671 2001-12-20  Werner Koch  <wk@gnupg.org>
672
673         * sexp.c (gcry_sexp_canon_len): Describe the error codes and
674         return an error if this is not a S-Exp; i.e. it does not start
675         with an open parenthesis.
676
677 2001-12-18  Werner Koch  <wk@gnupg.org>
678
679         * sexp.c (gcry_sexp_canon_len): Fixed the test on NULL buffer.
680
681         * Makefile.am (DISTCLEANFILES): Include libgcrypt.sym
682
683         * sexp.c: Removed the commented test code because we now have a
684         test in ../tests/
685
686 2001-12-17  Werner Koch  <wk@gnupg.org>
687
688         * sexp.c (gcry_sexp_canon_len): New.
689
690 2001-12-11  Werner Koch  <wk@gnupg.org>
691
692         * gcrypt.h: Fixed AES128 macro, add enum for OFB mode.
693
694 2001-12-05  Werner Koch  <wk@gnupg.org>
695
696         * misc.c (_gcry_log_printf): New.
697         * sexp.c (dump_string,gcry_sexp_dump): Use logging functions
698         instead of stderr.
699
700 2001-11-16  Werner Koch  <wk@gnupg.org>
701
702         * gcrypt.h: New constant GCRYCTL_IS_ALGO_ENABLED.
703
704 2001-10-02  Werner Koch  <wk@gnupg.org>
705
706         * gcrypt.h: Removed a couple of trailing commas.
707
708 2001-08-28  Werner Koch  <wk@gnupg.org>
709
710         * sexp.c (sexp_sscan): Add an argument to enable the
711         arg_ptr. Changed all callers.  Suggested by Tom Holroyd.
712
713 2001-08-03  Werner Koch  <wk@gnupg.org>
714
715         * global.c (gcry_strerror): Updated list of error codes.
716
717 2001-07-23  Werner Koch  <wk@gnupg.org>
718
719         * gcrypt.h: Replaced the last ulong.  Noted by Rami Lehti.
720
721 2001-05-31  Werner Koch  <wk@gnupg.org>
722
723         * gcrypt.h, mpi.h: Made some mpi functions public.
724
725         * wrapper.c: Removed.
726         * global.c: Renamed all g10_ prefixed functions which had wrappers 
727         to gcry_xxx. So we now use the exported memory functions inernally.
728
729         Renamed all g10_ prefixed functions to _gcry_ prefixed ones.
730         
731         * g10lib.h (_GCRYPT_IN_LIBGCRYPT): Replace defintion by a test on it.
732
733 2001-05-28  Werner Koch  <wk@gnupg.org>
734
735         * libgcrypt.m4: Check GCRYPT_VERSION macro and not LIBGCRYPT_VERSION.
736
737         * mpi.h: Removed mpi_fromstr prototype.
738
739 2001-01-11  Werner Koch  <wk@gnupg.org>
740
741         * Makefile.am (libgcrypt_la_SOURCES): Add mpi.h
742
743 2000-12-19  Werner Koch  <wk@gnupg.org>
744
745         * types.h: Moved from ../include to here.
746
747         Major change:
748         Removed all GnuPG stuff and renamed this piece of software
749         to gcrypt. 
750
751 2000-11-14  Werner Koch  <wk@gnupg.org>
752
753         * mpi.h: Moved to ../mpi.
754
755         * Makefile.am (OMIT_DEPENDENCIES): Hack to work around dependency
756         problems.
757
758 2000-10-11  Werner Koch  <wk@gnupg.org>
759
760         * mpi.h: Changed the way mpi_limb_t is defined.
761
762 2000-10-10  Werner Koch  <wk@gnupg.org>
763
764         * Makefile.am: Take version-info from configure.
765
766 2000-10-09  Werner Koch  <wk@gnupg.org>
767
768         * gcrypt.h: New cipher mode, new algo Arcfour and new error code
769         GCRYERR_INV_CIPHER_MODE.
770         * global.c (gcry_strerror): New errorcode.
771
772 Wed Oct  4 13:16:18 CEST 2000  Werner Koch  <wk@openit.de>
773
774         * gcrypt.h (gcry_md_setkey): Replaced macro by function prototype.
775
776 Mon Sep 18 16:35:45 CEST 2000  Werner Koch  <wk@openit.de>
777
778         * gcrypt.h (GCRYCTL_GET_ALGO_USAGE): New.
779
780         * secmem.c (secmem_realloc): check for failed secmem_malloc.  By
781         Matt Kraai.
782
783 Mon Jul 31 10:04:47 CEST 2000  Werner Koch  <wk@openit.de>
784
785   * sexp.c: Removed the datalen fields from list tags.
786   (gcry_sexp_car_data,gcry_sexp_cdr_data,gcry_sexp_car_mpi,
787    gcry_sexp_cdr_mpi): Removed.
788   (gcry_sexp_nth,gcry_sexp_nth_data,gcry_sexp_nth_mpi): New.
789
790 Fri Jul 28 18:19:11 CEST 2000  Werner Koch  <wk@openit.de>
791
792   * sexp.c (sexp_sscan): Fixed reallocation to secure memory.
793   (new_empty_list): Removed
794   (gcry_sexp_length): New.
795   (gcry_sexp_enum): Removed.
796   (normalize): New. Reworked the whole thing to use NULL for an empty list.
797   (make_space): New instead of the macro.
798
799 Tue Jul 25 17:44:15 CEST 2000  Werner Koch  <wk@openit.de>
800
801   * sexp.c: Major rewrite.
802   (gcry_sexp_sscan): Reordered arguments.  Moved functionality to ..
803   (sexp_sscan): .. this.
804   (gcry_sexp_build): New.
805   (gcry_sexp_new_name_mpi, gcry_sexp_new_name_data, gcry_sexp_new_data,
806    gcry_sexp_new_mpi): Removed.
807
808 Fri Jul 14 19:38:23 CEST 2000  Werner Koch  <wk@>
809
810   * gcrypt.h (gcry_md_start_debug, gcry_md_stop_debug): New.
811   (gcry_ctl_cmds): New control values
812
813   * sexp.c (gcry_sexp_sscan): Add hex format parsing.
814
815   * secmem.c (lock_pool): Check for ENOSYS return my mlock() on old SCOs.
816   (pool_is_mmapped): Made volatile.
817   (lock_pool): No more warning for QNX. By Sam Roberts.
818   (lock_pool,secmem_init): Additional check for dropped privs.
819
820 2000-03-21 09:18:48  Werner Koch  (wk@habibti.gnupg.de)
821
822         * gcrypt.h (gcry_md_setkey): New.
823         (GCRY_MD_FLAG_HMAC): New.
824
825 Mon Jan 31 16:37:34 CET 2000  Werner Koch  <wk@gnupg.de>
826
827         * Makefile.am: Add g10lib.h
828
829 Thu Jan 27 18:00:44 CET 2000  Werner Koch  <wk@gnupg.de>
830
831         * sexp.c (gcry_sexp_sscan): Allow NULL for erroff.
832
833 Mon Jan 24 22:24:38 CET 2000  Werner Koch  <wk@gnupg.de>
834
835         * sexp.c (gcry_sexp_alist): New.
836
837 Mon Jan 24 13:04:28 CET 2000  Werner Koch  <wk@gnupg.de>
838
839         * secmem.c: Moved from ../util to here.
840         * secmem.h: New.
841         * stdmem.c: New. Based on the old ../util/memory.c.
842         * stdmem.h: New.
843
844 Wed Dec  8 21:58:32 CET 1999  Werner Koch  <wk@gnupg.de>
845
846         * gcrypt.m4: New.
847         * gcrypt-config: New.
848
849         * mpi.h (mpi_get_nbit_info): Removed
850         (mpi_set_nbit_info): Removed.
851         (struct gcry_mpi): Removed the nbits field.
852
853         * misc.c (g10_log_verbosity): New.
854
855         * global.c (g10_xstrdup): New.
856
857         * mpiapi.c: Removed.
858
859         * mpi.h: Moved from ../include to here.  Removed some obsolete
860         prototypes and the iobuf.h header.
861         * cipher.h: Moved from ../include to here. Removed the mpi.h header.
862         * g10lib.h: Moved from ../include to here.
863
864 Fri Nov 19 17:15:20 CET 1999  Werner Koch  <wk@gnupg.de>
865
866         * sexp.c (dump_string): New.  Taken from gnupg/util/miscutil.c.
867         (do_dump_list): s/print_string/dump_string/.
868
869         * testapi.c: New.
870
871         * mpiapi.c (gcry_mpi_randomize): Use new random API.
872
873 Sat Nov 13 17:44:23 CET 1999  Werner Koch  <wk@gnupg.de>
874
875         * gloabl.c (gcry_control): Add cases for dumping random
876         and secmem stats.
877
878 Tue Oct 26 14:10:21 CEST 1999  Werner Koch  <wk@gnupg.de>
879
880         * pkapi.c: Removed.
881
882         * symapi.c: Removed.
883
884         * g10lib.h:  Moved to ../include.
885
886         * mdapi.c: Removed.
887
888 Wed Jul  7 13:08:40 CEST 1999  Werner Koch  <wk@isil.d.shuttle.de>
889
890         * sexp.c: New.
891
892 Tue Dec  8 13:15:16 CET 1998  Werner Koch  <wk@isil.d.shuttle.de>
893
894         * gcrypt.h: New
895         * mpiapi.c: New
896
897         
898  Copyright 1998,1999,2000,2001,2002,2003 Free Software Foundation, Inc.
899
900  This file is free software; as a special exception the author gives
901  unlimited permission to copy and/or distribute it, with or without
902  modifications, as long as this notice is preserved.
903
904  This file is distributed in the hope that it will be useful, but
905  WITHOUT ANY WARRANTY, to the extent permitted by law; without even the
906  implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.