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