* g10lib.h: Adjusted primegen.c prototypes.
[libgcrypt.git] / src / ChangeLog
1 2003-03-19  Werner Koch  <wk@gnupg.org>
2
3         * g10lib.h: Adjusted primegen.c prototypes.
4
5 2003-03-12  Werner Koch  <wk@gnupg.org>
6
7         * sexp.c (sexp_sscan): Initialize NM.  Thanks to Ian Peters for
8         valgrinding this.
9
10 2003-03-06  Moritz Schulte  <mo@g10code.com>
11
12         * secmem.h (GCRY_SECMEM_FLAG_NO_WARNING,
13         GCRY_SECMEM_FLAG_SUSPEND_WARNING): New symbols.
14
15         * global.c (gcry_control): Use
16         GCRY_SECMEM_FLAG_{NO,SUSPEND}_WARNING, instead of hard-coded
17         values.
18         * secmem.c (_gcry_secmem_set_flags): Likewise.
19         * secmem.c (_gcry_secmem_get_flags): Likewise.
20         
21 2003-03-03  Moritz Schulte  <moritz@g10code.com>
22
23         * misc.c: Removed old FIXME, since there is already a function to
24         set the value of `verbosity_level'.
25
26         * gcrypt.h: Removed enumeration list: gcry_ctl_cmds.
27         New enumeration lists: gcry_global_control_cmds,
28         gcry_control_cmds, gcry_info_cmds, gcry_algo_info_cmds.
29
30 2003-03-02  Moritz Schulte  <moritz@g10code.com>
31
32         * gcrypt.h (gcry_cipher_reset): New macro for resetting a handle.
33
34 2003-02-28  Moritz Schulte  <moritz@g10code.com>
35
36         * secmem.c (DEFAULT_PAGESIZE): New symbol.
37         (init_pool): Use DEFAULT_PAGESIZE.
38
39 2003-02-23  Moritz Schulte  <moritz@g10code.com>
40
41         * secmem.h: Fix typo in declaration of _gcry_secmem_term.
42
43         * sexp.c: Move macro definitions of `digitp', `octdigit', `alphap'
44         and `hexdigit' ...
45         * g10lib.h: ... here.
46
47         * misc.c (_gcry_burn_stack): New function (former name:
48         burn_stack).
49
50         * g10lib.h (burn_stack): Declare _gcry_burn_stack().
51
52 2003-01-24  Werner Koch  <wk@gnupg.org>
53
54         * global.c (gcry_set_progress_handler): Register a random progress
55         handler.
56
57 2003-01-23  Werner Koch  <wk@gnupg.org>
58
59         * gcrypt.h (GCRY_ENABLE_QUICK_RANDOM): New. 
60         * global.c (gcry_control): Make use of it.
61
62 2003-01-21  Werner Koch  <wk@gnupg.org>
63
64         * gcrypt.h (gcry_random_add_bytes): Add QUALITY argument.
65
66 2003-01-21  Timo Schulz  <twoaday@freakmail.de>
67
68         * gcrypt.h (gcry_random_add_bytes): New.
69         
70 2003-01-20  Simon Josefsson  <jas@extundo.com>
71
72         * gcrypt.h (gcry_md_algos): Add GCRY_MD_CRC32,
73         GCRY_MD_CRC32_RFC1510, GCRY_MD_CRC24_RFC2440.
74
75 2003-01-16  Werner Koch  <wk@gnupg.org>
76
77         * gcrypt.h (gcry_md_write): Changed type of 2nd argument to void*.
78         (gcry_md_hash_buffer): Changed type of both buffers to void*.
79         (gcry_md_setkey): Changed type of 2nd argument to void*.
80         (gcry_md_get_asnoid): New.
81
82 2003-01-15  Werner Koch  <wk@gnupg.org>
83
84         * sexp.c (gcry_sexp_length): Fixed.  This was seriously broken.
85
86 2003-01-14  Werner Koch  <wk@gnupg.org>
87
88         * gcrypt.h (GCRYERR_INV_FLAG), global.c (gcry_strerror): New.
89
90 2003-01-02  Werner Koch  <wk@gnupg.org>
91
92         * libgcrypt.vers: Temporary export _gcry_generate_elg_prime for
93         use by GNUTLS. 
94
95 2002-12-21  Werner Koch  <wk@gnupg.org>
96
97         * gcrypt.h: Make use of gcc's pure and malloc attributes 
98         (gcry_md_putc): Use a helper variable to avoid multiple
99         evaluation of H. 
100         * g10lib.h, stdmem.h, secmem.h: Use gcc attributes pure and malloc.
101
102         * stdmem.c (use_m_guard): Don't default to yes.
103
104 2002-12-19  Werner Koch  <wk@gnupg.org>
105
106         * global.c (global_init): The meat was never run due to a faulty
107         check. Thanks to Nikos for pointing this out.
108         
109         * global.c (gcry_control): Return 1 and not -1 for the
110         initialization tests.
111
112         * libgcrypt.vers: New.
113         * Makefile.am: Use this instead of the build symbol file.
114
115         * global.c (gcry_control) <initialization>: Call the random module
116         initializer to make sure that the pool lock flag has been
117         initialized.
118
119 2002-12-09  Werner Koch  <wk@gnupg.org>
120
121         * global.c (gcry_calloc,gcry_calloc_secure): Check for overflow.
122         Noted by Florian Weimer. 
123
124 2002-11-10  Simon Josefsson  <jas@extundo.com>
125
126         * gcrypt.h (gcry_ctl_cmds): New GCRYCTL_SET_CBC_CTS control flag.
127         (gcry_cipher_flags): New GCRY_CIPHER_CBC_CTS gcry_cipher_open() flag.
128         (gcry_cipher_cts): New macro for toggling CTS.
129
130 2002-11-10  Werner Koch  <wk@gnupg.org>
131
132         * gcrypt.h (GCRY_MD_MD4): New.  We use a non OpenPGP value here. 
133
134 2002-09-20  Werner Koch  <wk@gnupg.org>
135
136         * ath.c: Include sys.time.h if sys/select.h does not exist.
137         (ath_select, ath_waitpid): Shortcut for Windows.
138         * ath.h: Include some Windows headers.  By Timo.
139
140 2002-09-18  Werner Koch  <wk@gnupg.org>
141
142         * ath.h: Prefix ath_deinit.
143
144 2002-09-17  Werner Koch  <wk@gnupg.org>
145
146         * benchmark.c: New.
147         (mpi_bench, do_powm): Add a a simple test for RSA.
148
149         * global.c (global_init): New.  Use it instead of the setting
150         any_init_done.  Initialize the ATH system.
151         (gcry_check_version): Hook global_init in.  This is the suggested
152         way to initialize the library.
153         (_gcry_no_internal_locking): Removed.  We simply call a ath_deinit
154         and leave it to ATH to disbale the locking.
155
156         * ath.c, ath.h, ath-pth.c, ath-pthread.c: New. Taken from GPGME.
157         * mutex.h: Removed.
158         * Makefile.am (ath_components): New.
159
160 2002-09-16  Werner Koch  <wk@gnupg.org>
161
162         * secmem.c (_gcry_secmem_dump_stats): Replaced fprintf by log_*.
163
164 2002-08-23  Werner Koch  <wk@gnupg.org>
165
166         * missing-string.c: Removed unneeded strlwr.
167
168         * libgcrypt.m4: Made much more simple.
169         * libgcrypt-config.in: Made --prefix work for --libs.
170
171 2002-08-14  Werner Koch  <wk@gnupg.org>
172
173         * gcrypt.h: Add GCRY_CIPGER_DES.  Included string.h for size_t.
174         Suggested by Simon Josefsson.
175
176 2002-07-25  Werner Koch  <wk@gnupg.org>
177
178         * cipher.h: Added prototypes for progress functions.
179         * global.c: Include cipher.h for those prototypes.
180
181         * stdmem.c (_gcry_private_realloc): Replaced void* by char * for
182         pointer arithmetic reasons.  Noted by Stephan Austermuehle.
183
184 2002-06-24  Werner Koch  <wk@gnupg.org>
185
186         * missing-string.c: Include ctype.h.
187
188         * gcrypt.h (gcry_mpi_invm, gcry_mpi_div, gcry_mpi_mod)
189         (gcry_mpi_swap): New.
190
191 2002-06-18  Werner Koch  <wk@gnupg.org>
192
193         * gcrypt.h: Added a bunch of brief function descriptions.
194
195 2002-05-21  Werner Koch  <wk@gnupg.org>
196
197         * misc.c (_gcry_log_printf): Don't initialize a va_list.  Noted by
198         Jeff Johnson.
199
200         * global.c (gcry_set_progress_handler): New.
201
202         * gcrypt.h: Replaced the typedef for byte.
203
204 2002-05-16  Werner Koch  <wk@gnupg.org>
205
206         * missing-string.c: New.
207
208         * gcrypt.h: Add new error codes GCRYERR_SEXP_ and typedefs
209         GcryMPI, GcrySexp, GcryCipherHd, GcryMDHd as aliases for the old
210         ones using an underscore.
211
212         * global.c (gcry_strerror): Add strings fro the new error codes.
213         * sexp.c (gcry_sexp_canon_len): Use a macro to convert from new to
214         old error codes.
215         (gcry_sexp_create,gcry_sexp_new): New.
216
217 2002-05-15  Werner Koch  <wk@gnupg.org>
218
219         * mutex.h (DEFINE_LOCAL_MUTEX): Macro to define a mutex and
220         initialize it so that we can detect an unitialized mutex and don't
221         read from stdin.
222
223 2002-05-14  Werner Koch  <wk@gnupg.org>
224
225         Changed license of all files to the LGPL.
226
227 2002-05-07  Werner Koch  <wk@gnupg.org>
228
229         * global.c (gcry_control): Add commands
230         GCRYCTL_ANY_INITIALIZATION_P and GCRYCTL_INITIALIZATION_FINISHED_P
231         so that other libraries are able to check for required
232         initializations.
233
234 2002-05-02  Werner Koch  <wk@gnupg.org>
235
236         * gcrypt.h (GCRYCTL_DISABLE_INTERNAL_LOCKING): New.
237         * global.c (gcry_control): Implement it.
238         (_gcry_no_internal_locking): New.
239         * mutex.h: Prefixed all fucntions with _gcry_.  Bypass all
240         functions when desired.
241
242         * gcrypt.h (GCRYCTL_DISABLE_SECMEM): New.
243         * global.c (gcry_control,gcry_malloc_secure,gcry_is_secure):
244         Implement it here.
245         * secmem.c (_gcry_private_is_secure): Return false if the pool is
246         not initialized.
247
248         * gcrypt.h (GCRYCTL_INITIALIZATION_FINISHED): New.
249
250         * gcrypt.h (gcry_cipher_algos): Replaced RINDAEL by AES and change
251         the macros to expand from rijdael to aes.
252
253         * stdmem.c (_gcry_private_malloc): Return NULL for 0 byte allocation.
254         (_gcry_private_malloc_secure): Ditto.
255
256         * g10lib.h:  Copied the JNLIB_GCC macros from ../jnlib/mischelp.h
257         and removed the inclusion of that file.
258
259 2002-04-15  Werner Koch  <wk@gnupg.org>
260
261         * global.c (gcry_strdup): New.
262
263 2002-03-18  Werner Koch  <wk@gnupg.org>
264
265         * mutex.h: New file with a portable thread mutex implementation
266         written by Marcus Brinkmann.  Taken from GPGME.
267
268 2002-02-18  Werner Koch  <wk@gnupg.org>
269
270         * sexp.c (gcry_sexp_sscan): Don't initialize the dummy
271         variable.  Suggested by Jordi Mallach.
272
273 2002-01-31  Werner Koch  <wk@gnupg.org>
274
275         * sexp.c (suitable_encoding,convert_to_hex,convert_to_string)
276         (convert_to_token): New.
277         (gcry_sexp_sprint): Better formatting of advanced encoding, does
278         now insert LFs and escapes all unprintable characters.
279         (unquote_string): New.
280         (sexp_sscan): Implemented the missing conversion of quoted strings.
281
282 2002-01-26  Werner Koch  <wk@gnupg.org>
283
284         * libgcrypt-config.in: Add copyright notice.
285
286 2002-01-11  Werner Koch  <wk@gnupg.org>
287
288         * sexp.c (gcry_sexp_canon_len): Fixed last change.
289
290 2002-01-01  Timo Schulz <ts@winpt.org>
291
292         * stdmem.c (_gcry_private_realloc): If pointer is NULL now realloc
293         behaves like malloc.
294
295 2001-12-20  Werner Koch  <wk@gnupg.org>
296
297         * sexp.c (gcry_sexp_canon_len): Describe the error codes and
298         return an error if this is not a S-Exp; i.e. it does not start
299         with an open parenthesis.
300
301 2001-12-18  Werner Koch  <wk@gnupg.org>
302
303         * sexp.c (gcry_sexp_canon_len): Fixed the test on NULL buffer.
304
305         * Makefile.am (DISTCLEANFILES): Include libgcrypt.sym
306
307         * sexp.c: Removed the commented test code because we now have a
308         test in ../tests/
309
310 2001-12-17  Werner Koch  <wk@gnupg.org>
311
312         * sexp.c (gcry_sexp_canon_len): New.
313
314 2001-12-11  Werner Koch  <wk@gnupg.org>
315
316         * gcrypt.h: Fixed AES128 macro, add enum for OFB mode.
317
318 2001-12-05  Werner Koch  <wk@gnupg.org>
319
320         * misc.c (_gcry_log_printf): New.
321         * sexp.c (dump_string,gcry_sexp_dump): Use logging functions
322         instead of stderr.
323
324 2001-11-16  Werner Koch  <wk@gnupg.org>
325
326         * gcrypt.h: New constant GCRYCTL_IS_ALGO_ENABLED.
327
328 2001-10-02  Werner Koch  <wk@gnupg.org>
329
330         * gcrypt.h: Removed a couple of trailing commas.
331
332 2001-08-28  Werner Koch  <wk@gnupg.org>
333
334         * sexp.c (sexp_sscan): Add an argument to enable the
335         arg_ptr. Changed all callers.  Suggested by Tom Holroyd.
336
337 2001-08-03  Werner Koch  <wk@gnupg.org>
338
339         * global.c (gcry_strerror): Updated list of error codes.
340
341 2001-07-23  Werner Koch  <wk@gnupg.org>
342
343         * gcrypt.h: Replaced the last ulong.  Noted by Rami Lehti.
344
345 2001-05-31  Werner Koch  <wk@gnupg.org>
346
347         * gcrypt.h, mpi.h: Made some mpi functions public.
348
349         * wrapper.c: Removed.
350         * global.c: Renamed all g10_ prefixed functions which had wrappers 
351         to gcry_xxx. So we now use the exported memory functions inernally.
352
353         Renamed all g10_ prefixed functions to _gcry_ prefixed ones.
354         
355         * g10lib.h (_GCRYPT_IN_LIBGCRYPT): Replace defintion by a test on it.
356
357 2001-05-28  Werner Koch  <wk@gnupg.org>
358
359         * libgcrypt.m4: Check GCRYPT_VERSION macro and not LIBGCRYPT_VERSION.
360
361         * mpi.h: Removed mpi_fromstr prototype.
362
363 2001-01-11  Werner Koch  <wk@gnupg.org>
364
365         * Makefile.am (libgcrypt_la_SOURCES): Add mpi.h
366
367 2000-12-19  Werner Koch  <wk@gnupg.org>
368
369         * types.h: Moved from ../include to here.
370
371         Major change:
372         Removed all GnuPG stuff and renamed this piece of software
373         to gcrypt. 
374
375 2000-11-14  Werner Koch  <wk@gnupg.org>
376
377         * mpi.h: Moved to ../mpi.
378
379         * Makefile.am (OMIT_DEPENDENCIES): Hack to work around dependency
380         problems.
381
382 2000-10-11  Werner Koch  <wk@gnupg.org>
383
384         * mpi.h: Changed the way mpi_limb_t is defined.
385
386 2000-10-10  Werner Koch  <wk@gnupg.org>
387
388         * Makefile.am: Take version-info from configure.
389
390 2000-10-09  Werner Koch  <wk@gnupg.org>
391
392         * gcrypt.h: New cipher mode, new algo Arcfour and new error code
393         GCRYERR_INV_CIPHER_MODE.
394         * global.c (gcry_strerror): New errorcode.
395
396 Wed Oct  4 13:16:18 CEST 2000  Werner Koch  <wk@openit.de>
397
398         * gcrypt.h (gcry_md_setkey): Replaced macro by function prototype.
399
400 Mon Sep 18 16:35:45 CEST 2000  Werner Koch  <wk@openit.de>
401
402         * gcrypt.h (GCRYCTL_GET_ALGO_USAGE): New.
403
404         * secmem.c (secmem_realloc): check for failed secmem_malloc.  By
405         Matt Kraai.
406
407 Mon Jul 31 10:04:47 CEST 2000  Werner Koch  <wk@openit.de>
408
409   * sexp.c: Removed the datalen fields from list tags.
410   (gcry_sexp_car_data,gcry_sexp_cdr_data,gcry_sexp_car_mpi,
411    gcry_sexp_cdr_mpi): Removed.
412   (gcry_sexp_nth,gcry_sexp_nth_data,gcry_sexp_nth_mpi): New.
413
414 Fri Jul 28 18:19:11 CEST 2000  Werner Koch  <wk@openit.de>
415
416   * sexp.c (sexp_sscan): Fixed reallocation to secure memory.
417   (new_empty_list): Removed
418   (gcry_sexp_length): New.
419   (gcry_sexp_enum): Removed.
420   (normalize): New. Reworked the whole thing to use NULL for an empty list.
421   (make_space): New instead of the macro.
422
423 Tue Jul 25 17:44:15 CEST 2000  Werner Koch  <wk@openit.de>
424
425   * sexp.c: Major rewrite.
426   (gcry_sexp_sscan): Reordered arguments.  Moved functionality to ..
427   (sexp_sscan): .. this.
428   (gcry_sexp_build): New.
429   (gcry_sexp_new_name_mpi, gcry_sexp_new_name_data, gcry_sexp_new_data,
430    gcry_sexp_new_mpi): Removed.
431
432 Fri Jul 14 19:38:23 CEST 2000  Werner Koch  <wk@>
433
434   * gcrypt.h (gcry_md_start_debug, gcry_md_stop_debug): New.
435   (gcry_ctl_cmds): New control values
436
437   * sexp.c (gcry_sexp_sscan): Add hex format parsing.
438
439   * secmem.c (lock_pool): Check for ENOSYS return my mlock() on old SCOs.
440   (pool_is_mmapped): Made volatile.
441   (lock_pool): No more warning for QNX. By Sam Roberts.
442   (lock_pool,secmem_init): Additional check for dropped privs.
443
444 2000-03-21 09:18:48  Werner Koch  (wk@habibti.gnupg.de)
445
446         * gcrypt.h (gcry_md_setkey): New.
447         (GCRY_MD_FLAG_HMAC): New.
448
449 Mon Jan 31 16:37:34 CET 2000  Werner Koch  <wk@gnupg.de>
450
451         * Makefile.am: Add g10lib.h
452
453 Thu Jan 27 18:00:44 CET 2000  Werner Koch  <wk@gnupg.de>
454
455         * sexp.c (gcry_sexp_sscan): Allow NULL for erroff.
456
457 Mon Jan 24 22:24:38 CET 2000  Werner Koch  <wk@gnupg.de>
458
459         * sexp.c (gcry_sexp_alist): New.
460
461 Mon Jan 24 13:04:28 CET 2000  Werner Koch  <wk@gnupg.de>
462
463         * secmem.c: Moved from ../util to here.
464         * secmem.h: New.
465         * stdmem.c: New. Based on the old ../util/memory.c.
466         * stdmem.h: New.
467
468 Wed Dec  8 21:58:32 CET 1999  Werner Koch  <wk@gnupg.de>
469
470         * gcrypt.m4: New.
471         * gcrypt-config: New.
472
473         * mpi.h (mpi_get_nbit_info): Removed
474         (mpi_set_nbit_info): Removed.
475         (struct gcry_mpi): Removed the nbits field.
476
477         * misc.c (g10_log_verbosity): New.
478
479         * global.c (g10_xstrdup): New.
480
481         * mpiapi.c: Removed.
482
483         * mpi.h: Moved from ../include to here.  Removed some obsolete
484         prototypes and the iobuf.h header.
485         * cipher.h: Moved from ../include to here. Removed the mpi.h header.
486         * g10lib.h: Moved from ../include to here.
487
488 Fri Nov 19 17:15:20 CET 1999  Werner Koch  <wk@gnupg.de>
489
490         * sexp.c (dump_string): New.  Taken from gnupg/util/miscutil.c.
491         (do_dump_list): s/print_string/dump_string/.
492
493         * testapi.c: New.
494
495         * mpiapi.c (gcry_mpi_randomize): Use new random API.
496
497 Sat Nov 13 17:44:23 CET 1999  Werner Koch  <wk@gnupg.de>
498
499         * gloabl.c (gcry_control): Add cases for dumping random
500         and secmem stats.
501
502 Tue Oct 26 14:10:21 CEST 1999  Werner Koch  <wk@gnupg.de>
503
504         * pkapi.c: Removed.
505
506         * symapi.c: Removed.
507
508         * g10lib.h:  Moved to ../include.
509
510         * mdapi.c: Removed.
511
512 Wed Jul  7 13:08:40 CEST 1999  Werner Koch  <wk@isil.d.shuttle.de>
513
514         * sexp.c: New.
515
516 Tue Dec  8 13:15:16 CET 1998  Werner Koch  <wk@isil.d.shuttle.de>
517
518         * gcrypt.h: New
519         * mpiapi.c: New
520
521         
522  Copyright 1998,1999,2000,2001,2002,2003 Free Software Foundation, Inc.
523
524  This file is free software; as a special exception the author gives
525  unlimited permission to copy and/or distribute it, with or without
526  modifications, as long as this notice is preserved.
527
528  This file is distributed in the hope that it will be useful, but
529  WITHOUT ANY WARRANTY, to the extent permitted by law; without even the
530  implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.