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