aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/linden/indra/libgcrypt/libgcrypt-1.2.2/cipher/ChangeLog
diff options
context:
space:
mode:
Diffstat (limited to 'linden/indra/libgcrypt/libgcrypt-1.2.2/cipher/ChangeLog')
-rw-r--r--[-rwxr-xr-x]linden/indra/libgcrypt/libgcrypt-1.2.2/cipher/ChangeLog5780
1 files changed, 2890 insertions, 2890 deletions
diff --git a/linden/indra/libgcrypt/libgcrypt-1.2.2/cipher/ChangeLog b/linden/indra/libgcrypt/libgcrypt-1.2.2/cipher/ChangeLog
index c93f0f7..6f03a1c 100755..100644
--- a/linden/indra/libgcrypt/libgcrypt-1.2.2/cipher/ChangeLog
+++ b/linden/indra/libgcrypt/libgcrypt-1.2.2/cipher/ChangeLog
@@ -1,2890 +1,2890 @@
12005-09-13 Werner Koch <wk@g10code.com> 12005-09-13 Werner Koch <wk@g10code.com>
2 2
3 * random.c (gcry_create_nonce): Detect a fork and re-seed. 3 * random.c (gcry_create_nonce): Detect a fork and re-seed.
4 (read_pool): Fixed the fork detection; it used to work only for 4 (read_pool): Fixed the fork detection; it used to work only for
5 multi-threaded processes. 5 multi-threaded processes.
6 6
72005-06-16 Werner Koch <wk@g10code.com> 72005-06-16 Werner Koch <wk@g10code.com>
8 8
9 * cipher.c (gcry_cipher_register): Changed arg ALGORITHM_ID 9 * cipher.c (gcry_cipher_register): Changed arg ALGORITHM_ID
10 from unsigned int * to int*. 10 from unsigned int * to int*.
11 * rmd160.c (_gcry_rmd160_mixblock): Applied cast. 11 * rmd160.c (_gcry_rmd160_mixblock): Applied cast.
12 * tiger.c (round): Renamed to R to avoid conflict with builtin. 12 * tiger.c (round): Renamed to R to avoid conflict with builtin.
13 * crc.c (crc32_write): Applied cast. 13 * crc.c (crc32_write): Applied cast.
14 * dsa.c (gen_k): Made RNDBUF unsigned. 14 * dsa.c (gen_k): Made RNDBUF unsigned.
15 * elgamal.c (gen_k): Ditto. 15 * elgamal.c (gen_k): Ditto.
16 * blowfish.c (selftest): Added cast to constants. 16 * blowfish.c (selftest): Added cast to constants.
17 * random.c (rndpool, keypool): Made unsigned. 17 * random.c (rndpool, keypool): Made unsigned.
18 (mix_pool): Changed char* to unsigned char*. 18 (mix_pool): Changed char* to unsigned char*.
19 * md.c (gcry_md_ctl): Use cast to fix signed/unsigned mismatch. 19 * md.c (gcry_md_ctl): Use cast to fix signed/unsigned mismatch.
20 * primegen.c (prime_generate_internal): Ditto. 20 * primegen.c (prime_generate_internal): Ditto.
21 (is_prime): Made COUNT unsigned. 21 (is_prime): Made COUNT unsigned.
22 22
232005-06-15 Werner Koch <wk@g10code.com> 232005-06-15 Werner Koch <wk@g10code.com>
24 24
25 * cipher.c (gcry_cipher_encrypt, gcry_cipher_decrypt): Changed OUT 25 * cipher.c (gcry_cipher_encrypt, gcry_cipher_decrypt): Changed OUT
26 and IN to void*. 26 and IN to void*.
27 27
28 * md.c (gcry_md_ctl): Changed arg BUFFER to void*. 28 * md.c (gcry_md_ctl): Changed arg BUFFER to void*.
29 * random.c (gcry_randomize): Ditto. 29 * random.c (gcry_randomize): Ditto.
30 (gcry_create_nonce): Ditto. 30 (gcry_create_nonce): Ditto.
31 31
322005-04-16 Moritz Schulte <moritz@g10code.com> 322005-04-16 Moritz Schulte <moritz@g10code.com>
33 33
34 * ac.c (_gcry_ac_init): New function. 34 * ac.c (_gcry_ac_init): New function.
35 Replace strdup calls with calls to gcry_strdup. 35 Replace strdup calls with calls to gcry_strdup.
36 36
372005-03-23 Werner Koch <wk@g10code.com> 372005-03-23 Werner Koch <wk@g10code.com>
38 38
39 * rndw32.c (_gcry_rndw32_gather_random_fast): While adding data 39 * rndw32.c (_gcry_rndw32_gather_random_fast): While adding data
40 use the size of the object and not the one of its address. Bug 40 use the size of the object and not the one of its address. Bug
41 reported by Sascha Kiefer. 41 reported by Sascha Kiefer.
42 42
432005-03-19 Moritz Schulte <moritz@g10code.com> 432005-03-19 Moritz Schulte <moritz@g10code.com>
44 44
45 * cipher.c (do_cbc_encrypt): Be careful to not overwrite data, 45 * cipher.c (do_cbc_encrypt): Be careful to not overwrite data,
46 which is to be used later on. This happend, in case CTS is 46 which is to be used later on. This happend, in case CTS is
47 enabled and OUTBUF is equal to INBUF. 47 enabled and OUTBUF is equal to INBUF.
48 48
492005-03-19 Moritz Schulte <moritz@g10code.com> 492005-03-19 Moritz Schulte <moritz@g10code.com>
50 50
51 * ac.c (gcry_ac_data_copy_internal): Use gcry_strdup instead of 51 * ac.c (gcry_ac_data_copy_internal): Use gcry_strdup instead of
52 strdup. 52 strdup.
53 (gcry_ac_data_set): Likewise. 53 (gcry_ac_data_set): Likewise.
54 (gcry_ac_data_get_index): Likewise. 54 (gcry_ac_data_get_index): Likewise.
55 55
562005-02-25 Werner Koch <wk@g10code.com> 562005-02-25 Werner Koch <wk@g10code.com>
57 57
58 * pubkey.c (gcry_pk_get_keygrip): Allow for shadowed-private-key. 58 * pubkey.c (gcry_pk_get_keygrip): Allow for shadowed-private-key.
59 59
602005-01-05 Werner Koch <wk@g10code.com> 602005-01-05 Werner Koch <wk@g10code.com>
61 61
62 * serpent.c: s/u32_t/u32/ and s/byte_t/byte/. Too match what we 62 * serpent.c: s/u32_t/u32/ and s/byte_t/byte/. Too match what we
63 have always used and are using in all other files too. 63 have always used and are using in all other files too.
64 64
652004-12-09 Werner Koch <wk@g10code.com> 652004-12-09 Werner Koch <wk@g10code.com>
66 66
67 * serpent.c (serpent_test): Moved prototype out of a fucntion. 67 * serpent.c (serpent_test): Moved prototype out of a fucntion.
68 68
692004-09-17 Moritz Schulte <moritz@g10code.com> 692004-09-17 Moritz Schulte <moritz@g10code.com>
70 70
71 * serpent.c: Use "u32_t" instead of "unsigned long", do not 71 * serpent.c: Use "u32_t" instead of "unsigned long", do not
72 declare S-Box variables as "register". Fixes failure on 72 declare S-Box variables as "register". Fixes failure on
73 OpenBSD/sparc64, reported by Nikolay Sturm. 73 OpenBSD/sparc64, reported by Nikolay Sturm.
74 74
752004-09-16 Moritz Schulte <moritz@g10code.com> 752004-09-16 Moritz Schulte <moritz@g10code.com>
76 76
77 * pubkey.c (pubkey_table): Added an alias entry for GCRY_PK_ELG_E; 77 * pubkey.c (pubkey_table): Added an alias entry for GCRY_PK_ELG_E;
78 merged from HEAD. 78 merged from HEAD.
79 79
802004-09-15 Werner Koch <wk@g10code.de> 802004-09-15 Werner Koch <wk@g10code.de>
81 81
82 * random.c (read_pool): Fixed dropping of the volatile warning when 82 * random.c (read_pool): Fixed dropping of the volatile warning when
83 passing MY_PID to add_random. 83 passing MY_PID to add_random.
84 84
85 * pubkey.c (sexp_data_to_mpi): Fixed syntax error. Aiih committing 85 * pubkey.c (sexp_data_to_mpi): Fixed syntax error. Aiih committing
86 changes without compiling is a real brown paper bag bug. 86 changes without compiling is a real brown paper bag bug.
87 87
882004-08-19 Werner Koch <wk@g10code.de> 882004-08-19 Werner Koch <wk@g10code.de>
89 89
90 * pubkey.c (sexp_data_to_mpi): Changed the zero random byte 90 * pubkey.c (sexp_data_to_mpi): Changed the zero random byte
91 substituting code to actually do clever things. Thanks to 91 substituting code to actually do clever things. Thanks to
92 Matthias Urlichs for noting the implementation problem. 92 Matthias Urlichs for noting the implementation problem.
93 93
942004-08-09 Moritz Schulte <moritz@g10code.com> 942004-08-09 Moritz Schulte <moritz@g10code.com>
95 95
96 * pubkey.c (gcry_pk_sign): Fixed memory leak; fix provided by 96 * pubkey.c (gcry_pk_sign): Fixed memory leak; fix provided by
97 Modestas Vainius. 97 Modestas Vainius.
98 98
992004-07-16 Werner Koch <wk@gnupg.org> 992004-07-16 Werner Koch <wk@gnupg.org>
100 100
101 * rijndael.c (do_encrypt): Fix alignment problem. Bugs found by 101 * rijndael.c (do_encrypt): Fix alignment problem. Bugs found by
102 Matthias Urlichs. 102 Matthias Urlichs.
103 (do_decrypt): Ditto. 103 (do_decrypt): Ditto.
104 (keySched, keySched2): Use 2 macros along with unions in the key 104 (keySched, keySched2): Use 2 macros along with unions in the key
105 schedule context. 105 schedule context.
106 106
1072004-07-14 Moritz Schulte <moritz@g10code.com> 1072004-07-14 Moritz Schulte <moritz@g10code.com>
108 108
109 * rsa.c (_gcry_rsa_decrypt): Don't forget to free "a". Thanks to 109 * rsa.c (_gcry_rsa_decrypt): Don't forget to free "a". Thanks to
110 Nikos Mavroyanopoulos. 110 Nikos Mavroyanopoulos.
111 111
1122004-05-09 Werner Koch <wk@gnupg.org> 1122004-05-09 Werner Koch <wk@gnupg.org>
113 113
114 * random.c (read_pool): Mix the PID in to better protect after a 114 * random.c (read_pool): Mix the PID in to better protect after a
115 fork. 115 fork.
116 116
1172004-07-04 Moritz Schulte <moritz@g10code.com> 1172004-07-04 Moritz Schulte <moritz@g10code.com>
118 118
119 * serpent.c: Use "u32_t" instead of "unsigned long", do not 119 * serpent.c: Use "u32_t" instead of "unsigned long", do not
120 declare S-Box variables as "register". Fixes failure on 120 declare S-Box variables as "register". Fixes failure on
121 OpenBSD/sparc64, reported by Nikolay Sturm. 121 OpenBSD/sparc64, reported by Nikolay Sturm.
122 122
1232004-05-07 Werner Koch <wk@gnupg.org> 1232004-05-07 Werner Koch <wk@gnupg.org>
124 124
125 * random.c (initialize): Factored out some code to .. 125 * random.c (initialize): Factored out some code to ..
126 (initialize_basics): .. new function. 126 (initialize_basics): .. new function.
127 (_gcry_random_initialize): Just call initialize_basics unless the 127 (_gcry_random_initialize): Just call initialize_basics unless the
128 new arg FULL is set to TRUE. 128 new arg FULL is set to TRUE.
129 (_gcry_fast_random_poll): Don't do anything unless the random 129 (_gcry_fast_random_poll): Don't do anything unless the random
130 system has been really initialized. 130 system has been really initialized.
131 131
1322004-05-07 Moritz Schulte <moritz@g10code.de> 1322004-05-07 Moritz Schulte <moritz@g10code.de>
133 133
134 * ac.c (gcry_ac_open): Do not dereference NULL pointer. Reported 134 * ac.c (gcry_ac_open): Do not dereference NULL pointer. Reported
135 by Umberto Salsi. 135 by Umberto Salsi.
136 136
1372004-02-20 Werner Koch <wk@gnupg.org> 1372004-02-20 Werner Koch <wk@gnupg.org>
138 138
139 * primegen.c (check_prime): New args CB_FUNC and CB_ARG; call them 139 * primegen.c (check_prime): New args CB_FUNC and CB_ARG; call them
140 at different stages. Pass these arguments through all callers. 140 at different stages. Pass these arguments through all callers.
141 141
1422004-02-06 Werner Koch <wk@gnupg.org> 1422004-02-06 Werner Koch <wk@gnupg.org>
143 143
144 * des.c: Add a new OID as used by pkcs#12. 144 * des.c: Add a new OID as used by pkcs#12.
145 145
146 * rfc2268.c: New. Taken from libgcrypt. 146 * rfc2268.c: New. Taken from libgcrypt.
147 * cipher.c: Setup the rfc2268 algorithm. 147 * cipher.c: Setup the rfc2268 algorithm.
148 148
1492004-01-25 Moritz Schulte <mo@g10code.com> 1492004-01-25 Moritz Schulte <mo@g10code.com>
150 150
151 * primegen.c (prime_generate_internal): Do not forget to free 151 * primegen.c (prime_generate_internal): Do not forget to free
152 `q_factor'; fixed by Brieuc Jeunhomme. 152 `q_factor'; fixed by Brieuc Jeunhomme.
153 (prime_generate_internal): Do not forget to free `prime'. 153 (prime_generate_internal): Do not forget to free `prime'.
154 154
1552004-01-14 Moritz Schulte <mo@g10code.com> 1552004-01-14 Moritz Schulte <mo@g10code.com>
156 156
157 * ac.c (gcry_ac_data_set): New argument: flags; slightly 157 * ac.c (gcry_ac_data_set): New argument: flags; slightly
158 rewritten. 158 rewritten.
159 (gcry_ac_data_get_name, gcry_ac_data_get_index): Likewise. 159 (gcry_ac_data_get_name, gcry_ac_data_get_index): Likewise.
160 (gcry_ac_key_pair_generate): New argument: misc_data; modified 160 (gcry_ac_key_pair_generate): New argument: misc_data; modified
161 order of arguments. 161 order of arguments.
162 (gcry_ac_key_test): New argument: handle. 162 (gcry_ac_key_test): New argument: handle.
163 (gcry_ac_key_get_nbits, gcry_ac_key_get_grip): Likewise. 163 (gcry_ac_key_get_nbits, gcry_ac_key_get_grip): Likewise.
164 Use GCRY_AC_FLAG_NO_BLINDING instead of 164 Use GCRY_AC_FLAG_NO_BLINDING instead of
165 GCRY_AC_DATA_FLAG_NO_BLINDING. 165 GCRY_AC_DATA_FLAG_NO_BLINDING.
166 (gcry_ac_mpi): New member: flags. 166 (gcry_ac_mpi): New member: flags.
167 (gcry_ac_data_search, gcry_ac_data_add): Removed functions. 167 (gcry_ac_data_search, gcry_ac_data_add): Removed functions.
168 168
1692003-12-22 Werner Koch <wk@gnupg.org> 1692003-12-22 Werner Koch <wk@gnupg.org>
170 170
171 * primegen.c (is_prime): Release A2. 171 * primegen.c (is_prime): Release A2.
172 172
1732003-12-19 Werner Koch <wk@gnupg.org> 1732003-12-19 Werner Koch <wk@gnupg.org>
174 174
175 * md.c: Moved a couple of functions down below the data structure 175 * md.c: Moved a couple of functions down below the data structure
176 definitions. 176 definitions.
177 (struct gcry_md_context): New field ACTUAL_HANDLE_SIZE. 177 (struct gcry_md_context): New field ACTUAL_HANDLE_SIZE.
178 (md_open): Set it here. 178 (md_open): Set it here.
179 (strcut gcry_md_list): New field ACTUAL_STRUCT_SIZE. 179 (strcut gcry_md_list): New field ACTUAL_STRUCT_SIZE.
180 (md_enable): Set it here. 180 (md_enable): Set it here.
181 (md_close): Wipe the context memory. 181 (md_close): Wipe the context memory.
182 secure memory. 182 secure memory.
183 * cipher.c (struct gcry_cipher_handle): New field ACTUAL_HANDLE_SIZE. 183 * cipher.c (struct gcry_cipher_handle): New field ACTUAL_HANDLE_SIZE.
184 (gcry_cipher_open): Set it here. 184 (gcry_cipher_open): Set it here.
185 (gcry_cipher_close): Use it to always wipe out the handle data. 185 (gcry_cipher_close): Use it to always wipe out the handle data.
186 186
187 * ac.c (gcry_ac_open): Make sure HANDLE gets initialized even when 187 * ac.c (gcry_ac_open): Make sure HANDLE gets initialized even when
188 the function is not successful. 188 the function is not successful.
189 (gcry_ac_close): Allow a NULL handle. 189 (gcry_ac_close): Allow a NULL handle.
190 (gcry_ac_key_destroy, gcry_ac_key_pair_destroy): Ditto. 190 (gcry_ac_key_destroy, gcry_ac_key_pair_destroy): Ditto.
191 (gcry_ac_key_get_grip): Return INV_OBJ on error. 191 (gcry_ac_key_get_grip): Return INV_OBJ on error.
192 192
193 * primegen.c (prime_generate_internal): Fixed error code for 193 * primegen.c (prime_generate_internal): Fixed error code for
194 failed malloc. Replaced the !err if chain by gotos. 194 failed malloc. Replaced the !err if chain by gotos.
195 (gcry_prime_group_generator): Remove the extra sanity check. 195 (gcry_prime_group_generator): Remove the extra sanity check.
196 196
197 * md.c: Minor code and comment cleanups. 197 * md.c: Minor code and comment cleanups.
198 198
1992003-12-16 Werner Koch <wk@gnupg.org> 1992003-12-16 Werner Koch <wk@gnupg.org>
200 200
201 * primegen.c (gen_prime): Doc fix. Thanks to Newton Hammet. 201 * primegen.c (gen_prime): Doc fix. Thanks to Newton Hammet.
202 202
2032003-12-11 Werner Koch <wk@gnupg.org> 2032003-12-11 Werner Koch <wk@gnupg.org>
204 204
205 * rndunix.c (slow_poll): Don't use #warning but #error. 205 * rndunix.c (slow_poll): Don't use #warning but #error.
206 206
207 * rndegd.c: Changed indentation. 207 * rndegd.c: Changed indentation.
208 (my_make_filename): Removd the var_arg cruft becuase we 208 (my_make_filename): Removd the var_arg cruft becuase we
209 don't need it here. Changed caller. 209 don't need it here. Changed caller.
210 210
211 * rndlinux.c: Changed indentation. 211 * rndlinux.c: Changed indentation.
212 (open_device): Remove the superfluous stat call and clarify 212 (open_device): Remove the superfluous stat call and clarify
213 comment. 213 comment.
214 214
215 * rsa.c: Changed indentation. 215 * rsa.c: Changed indentation.
216 (secret): Use the standard algorithm if p, q and u are not 216 (secret): Use the standard algorithm if p, q and u are not
217 available. 217 available.
218 (rsa_blind, rsa_unblind): Renamed from _gcry_rsa_blind, 218 (rsa_blind, rsa_unblind): Renamed from _gcry_rsa_blind,
219 _gcry_rsa_unblind and moved more to the top. 219 _gcry_rsa_unblind and moved more to the top.
220 220
221 * md4.c: Changed indentation. Removed unnecessary casts. 221 * md4.c: Changed indentation. Removed unnecessary casts.
222 * md5.c, rmd160.c, sha1.c, tiger.c: Ditto. 222 * md5.c, rmd160.c, sha1.c, tiger.c: Ditto.
223 * rijndael.c, twofish.c: Ditto. 223 * rijndael.c, twofish.c: Ditto.
224 * serpent.c: Removed unnecessary casts. 224 * serpent.c: Removed unnecessary casts.
225 * sha256.c, sha512.c: Ditto. 225 * sha256.c, sha512.c: Ditto.
226 226
2272003-12-09 Werner Koch <wk@gnupg.org> 2272003-12-09 Werner Koch <wk@gnupg.org>
228 228
229 * dsa.c: Unified indentation style. 229 * dsa.c: Unified indentation style.
230 * elgamal.c: Ditto. 230 * elgamal.c: Ditto.
231 * des.c (des_key_schedule): Code beautifications. 231 * des.c (des_key_schedule): Code beautifications.
232 * blowfish.c: Changed indentation style. 232 * blowfish.c: Changed indentation style.
233 * cast5.c (do_cast_setkey): Ditto. 233 * cast5.c (do_cast_setkey): Ditto.
234 234
235 * pubkey.c (gcry_pk_encrypt): Replaced the chain of if(!err) tests 235 * pubkey.c (gcry_pk_encrypt): Replaced the chain of if(!err) tests
236 by straightforward gotos. Other cleanups. 236 by straightforward gotos. Other cleanups.
237 (gcry_pk_decrypt): Ditto. 237 (gcry_pk_decrypt): Ditto.
238 (gcry_pk_sign): Ditto. 238 (gcry_pk_sign): Ditto.
239 (gcry_pk_verify): Ditto. 239 (gcry_pk_verify): Ditto.
240 (gcry_pk_genkey): Ditto. Use strtoul instead of strtol. 240 (gcry_pk_genkey): Ditto. Use strtoul instead of strtol.
241 (gcry_pk_ctl): Use GPG_ERR_INV_ARG to indicate bad arguments. 241 (gcry_pk_ctl): Use GPG_ERR_INV_ARG to indicate bad arguments.
242 242
2432003-12-07 Werner Koch <wk@gnupg.org> 2432003-12-07 Werner Koch <wk@gnupg.org>
244 244
245 * pubkey.c (gcry_pk_register_default): Undef the helper macro. 245 * pubkey.c (gcry_pk_register_default): Undef the helper macro.
246 (gcry_pk_map_name): Allow NULL for string. 246 (gcry_pk_map_name): Allow NULL for string.
247 (sexp_to_key): Use memcpy and not strncpy. Use gcry_free and not 247 (sexp_to_key): Use memcpy and not strncpy. Use gcry_free and not
248 free. 248 free.
249 (sexp_to_sig): Ditto. 249 (sexp_to_sig): Ditto.
250 (sexp_to_enc): Ditto. Replaced the chain of if(!err) tests by 250 (sexp_to_enc): Ditto. Replaced the chain of if(!err) tests by
251 straightforward gotos. 251 straightforward gotos.
252 252
2532003-12-05 Werner Koch <wk@gnupg.org> 2532003-12-05 Werner Koch <wk@gnupg.org>
254 254
255 * cipher.c: Documentation cleanups. 255 * cipher.c: Documentation cleanups.
256 (gcry_cipher_mode_from_oid): Allow NULL for STRING. 256 (gcry_cipher_mode_from_oid): Allow NULL for STRING.
257 257
2582003-12-03 Werner Koch <wk@gnupg.org> 2582003-12-03 Werner Koch <wk@gnupg.org>
259 259
260 * elgamal.c (sign, do_encrypt, gen_k): Make sure that a small K is 260 * elgamal.c (sign, do_encrypt, gen_k): Make sure that a small K is
261 only used for encryption. 261 only used for encryption.
262 262
2632003-11-18 Werner Koch <wk@gnupg.org> 2632003-11-18 Werner Koch <wk@gnupg.org>
264 264
265 * random.h (rndw32_set_dll_name): Removed unused prototype. 265 * random.h (rndw32_set_dll_name): Removed unused prototype.
266 266
267 * Makefile.am (EXTRA_DIST): Added Manifest. 267 * Makefile.am (EXTRA_DIST): Added Manifest.
268 268
2692003-11-11 Werner Koch <wk@gnupg.org> 2692003-11-11 Werner Koch <wk@gnupg.org>
270 270
271 * Manifest: New. 271 * Manifest: New.
272 272
2732003-11-04 Werner Koch <wk@gnupg.org> 2732003-11-04 Werner Koch <wk@gnupg.org>
274 274
275 * md.c (gcry_md_hash_buffer): Use shortcut for SHA1 275 * md.c (gcry_md_hash_buffer): Use shortcut for SHA1
276 * sha1.c (_gcry_sha1_hash_buffer): New. 276 * sha1.c (_gcry_sha1_hash_buffer): New.
277 277
278 * random.c: Reformatted most functions. 278 * random.c: Reformatted most functions.
279 (mix_pool): Moved the failsafe_digest from global 279 (mix_pool): Moved the failsafe_digest from global
280 scope to here. 280 scope to here.
281 (do_fast_random_poll): Use the generic fucntions even if a fast 281 (do_fast_random_poll): Use the generic fucntions even if a fast
282 gathering function has been used. 282 gathering function has been used.
283 (read_pool): Detect a fork and retry. 283 (read_pool): Detect a fork and retry.
284 (gcry_randomize, get_random_bytes): Don't distinguish anymore 284 (gcry_randomize, get_random_bytes): Don't distinguish anymore
285 between weak and strong random. 285 between weak and strong random.
286 (gcry_create_nonce): New. 286 (gcry_create_nonce): New.
287 287
2882003-10-31 Werner Koch <wk@gnupg.org> 2882003-10-31 Werner Koch <wk@gnupg.org>
289 289
290 * rndw32.c (slow_gatherer_windowsNT): Use a plain buffer for the 290 * rndw32.c (slow_gatherer_windowsNT): Use a plain buffer for the
291 disk performance values and not the W32 API structure. 291 disk performance values and not the W32 API structure.
292 292
293 * dsa.c (verify): s/exp/ex/ due to shadowing of a builtin. 293 * dsa.c (verify): s/exp/ex/ due to shadowing of a builtin.
294 * elgamal.c (verify): Ditto. 294 * elgamal.c (verify): Ditto.
295 295
296 * ac.c (gcry_ac_data_get_index): s/index/idx/ 296 * ac.c (gcry_ac_data_get_index): s/index/idx/
297 (gcry_ac_data_copy_internal): Remove the cast in _gcry_malloc. 297 (gcry_ac_data_copy_internal): Remove the cast in _gcry_malloc.
298 (gcry_ac_data_add): Must use gcry_realloc instead of realloc. 298 (gcry_ac_data_add): Must use gcry_realloc instead of realloc.
299 * pubkey.c (sexp_elements_extract): s/index/idx/ as tribute to the 299 * pubkey.c (sexp_elements_extract): s/index/idx/ as tribute to the
300 forehackers. 300 forehackers.
301 (gcry_pk_encrypt): Removed shadowed definition of I. Reordered 301 (gcry_pk_encrypt): Removed shadowed definition of I. Reordered
302 arguments to malloc for clarity. 302 arguments to malloc for clarity.
303 (gcry_pk_sign, gcry_pk_genkey): Ditto. 303 (gcry_pk_sign, gcry_pk_genkey): Ditto.
304 * primegen.c (prime_generate_internal): s/random/randomlevel/. 304 * primegen.c (prime_generate_internal): s/random/randomlevel/.
305 305
3062003-10-27 Moritz Schulte <mo@g10code.com> 3062003-10-27 Moritz Schulte <mo@g10code.com>
307 307
308 * pubkey.c (gcry_pk_encrypt): Don't forget to deallocate pkey. 308 * pubkey.c (gcry_pk_encrypt): Don't forget to deallocate pkey.
309 309
3102003-10-27 Werner Koch <wk@gnupg.org> 3102003-10-27 Werner Koch <wk@gnupg.org>
311 311
312 * random.c (gcry_random_add_bytes): Return if buflen is zero to 312 * random.c (gcry_random_add_bytes): Return if buflen is zero to
313 avoid gcc warning about unsed parameter. 313 avoid gcc warning about unsed parameter.
314 (MASK_LEVEL): Simplified; does now work for signed and unsigned 314 (MASK_LEVEL): Simplified; does now work for signed and unsigned
315 w/o warnings. 315 w/o warnings.
316 316
317 * md.c (md_start_debug): Removed the const from SUFFIX, because 317 * md.c (md_start_debug): Removed the const from SUFFIX, because
318 this function is called from the control fucntion which does not 318 this function is called from the control fucntion which does not
319 require const. 319 require const.
320 320
321 Prefixed all (pubkey,digest,cipher}_spec_* globale variables with 321 Prefixed all (pubkey,digest,cipher}_spec_* globale variables with
322 _gcry_. 322 _gcry_.
323 323
324 * ac.c (ac_key_identifiers): Made static. 324 * ac.c (ac_key_identifiers): Made static.
325 325
326 * random.c (getfnc_gather_random,getfnc_fast_random_poll): Move 326 * random.c (getfnc_gather_random,getfnc_fast_random_poll): Move
327 prototypes to .. 327 prototypes to ..
328 * rand-internal.h: .. here 328 * rand-internal.h: .. here
329 * random.c (getfnc_gather_random): Include rndw32 gatherer. 329 * random.c (getfnc_gather_random): Include rndw32 gatherer.
330 * rndunix.c, rndw32.c, rndegd.c: Include them here. 330 * rndunix.c, rndw32.c, rndegd.c: Include them here.
331 * rndlinux.c (_gcry_rndlinux_gather_random): Prepend the _gcry_ 331 * rndlinux.c (_gcry_rndlinux_gather_random): Prepend the _gcry_
332 prefix. Changed all callers. 332 prefix. Changed all callers.
333 * rndegd.c (_gcry_rndegd_gather_random): Likewise. 333 * rndegd.c (_gcry_rndegd_gather_random): Likewise.
334 (_gcry_rndegd_connect_socket): Likewise. 334 (_gcry_rndegd_connect_socket): Likewise.
335 * rndunix.c (_gcry_rndunix_gather_random): Likewise. 335 * rndunix.c (_gcry_rndunix_gather_random): Likewise.
336 (waitpid): Made static. 336 (waitpid): Made static.
337 * rndw32.c: Removed the old and unused winseed.dll cruft. 337 * rndw32.c: Removed the old and unused winseed.dll cruft.
338 (_gcry_rndw32_gather_random_fast): Renamed from 338 (_gcry_rndw32_gather_random_fast): Renamed from
339 gather_random_fast. 339 gather_random_fast.
340 (_gcry_rndw32_gather_random): Renamed from gather_random. Note, 340 (_gcry_rndw32_gather_random): Renamed from gather_random. Note,
341 that the changes 2003-04-08 somehow got lost. 341 that the changes 2003-04-08 somehow got lost.
342 342
343 * sha512.c (sha512_init, sha384_init): Made static. 343 * sha512.c (sha512_init, sha384_init): Made static.
344 344
345 * cipher.c (do_ctr_decrypt): Removed "return" from this void 345 * cipher.c (do_ctr_decrypt): Removed "return" from this void
346 function. 346 function.
347 347
3482003-10-24 Moritz Schulte <mo@g10code.com> 3482003-10-24 Moritz Schulte <mo@g10code.com>
349 349
350 * serpent.c: Fix an issue on big-endian systems. 350 * serpent.c: Fix an issue on big-endian systems.
351 351
352 * rndw32.c: Removed IS_MODULE -cruft. 352 * rndw32.c: Removed IS_MODULE -cruft.
353 * rndlinux.c (rndlinux_gather_random): Likewise. 353 * rndlinux.c (rndlinux_gather_random): Likewise.
354 354
3552003-10-10 Werner Koch <wk@gnupg.org> 3552003-10-10 Werner Koch <wk@gnupg.org>
356 356
357 * primegen.c (gen_prime): Bail out if NBITS is less than 16. 357 * primegen.c (gen_prime): Bail out if NBITS is less than 16.
358 (prime_generate_internal): Initialize prime variable to suppress 358 (prime_generate_internal): Initialize prime variable to suppress
359 compiler warning. Check pbits, initialize qbits when passed as 359 compiler warning. Check pbits, initialize qbits when passed as
360 zero. 360 zero.
361 361
362 * primegen.c (prime_generate_internal): New arg 362 * primegen.c (prime_generate_internal): New arg
363 ALL_FACTORS. Changed all callers. 363 ALL_FACTORS. Changed all callers.
364 (gcry_prime_generate): Make the factors arg optional. Request 364 (gcry_prime_generate): Make the factors arg optional. Request
365 all_factors. Make sure PRIME is set to NULL even on error. 365 all_factors. Make sure PRIME is set to NULL even on error.
366 (gcry_prime_group_generator): New. 366 (gcry_prime_group_generator): New.
367 (gcry_prime_release_factors): New. 367 (gcry_prime_release_factors): New.
368 368
3692003-10-06 Werner Koch <wk@gnupg.org> 3692003-10-06 Werner Koch <wk@gnupg.org>
370 370
371 * primegen.c (gen_prime): Assert that NBITS is never zero, it 371 * primegen.c (gen_prime): Assert that NBITS is never zero, it
372 would cause a segv. 372 would cause a segv.
373 373
3742003-09-28 Moritz Schulte <mo@g10code.com> 3742003-09-28 Moritz Schulte <mo@g10code.com>
375 375
376 * ac.c: Include "cipher.h". 376 * ac.c: Include "cipher.h".
377 377
3782003-09-27 Moritz Schulte <mo@g10code.com> 3782003-09-27 Moritz Schulte <mo@g10code.com>
379 379
380 * rndegd.c (do_read): Return nread instead of nbytes; thanks to 380 * rndegd.c (do_read): Return nread instead of nbytes; thanks to
381 Michael Caerwyn. 381 Michael Caerwyn.
382 382
3832003-09-04 Werner Koch <wk@gnupg.org> 3832003-09-04 Werner Koch <wk@gnupg.org>
384 384
385 * pubkey.c (_gcry_pk_aliased_algo_name): New. 385 * pubkey.c (_gcry_pk_aliased_algo_name): New.
386 * ac.c (gcry_ac_open): Use it here. 386 * ac.c (gcry_ac_open): Use it here.
387 387
388 * Makefile.am (EXTRA_libcipher_la_SOURCES): Add serpent.c 388 * Makefile.am (EXTRA_libcipher_la_SOURCES): Add serpent.c
389 389
3902003-09-02 Moritz Schulte <mo@g10code.com> 3902003-09-02 Moritz Schulte <mo@g10code.com>
391 391
392 * primegen.c (gcry_prime_check, gcry_prime_generate): New 392 * primegen.c (gcry_prime_check, gcry_prime_generate): New
393 functions. 393 functions.
394 (prime_generate_internal): New function, based on 394 (prime_generate_internal): New function, based on
395 _gcry_generate_elg_prime. 395 _gcry_generate_elg_prime.
396 (_gcry_generate_elg_prime): Rewritten as a wrapper for 396 (_gcry_generate_elg_prime): Rewritten as a wrapper for
397 prime_generate_internal. 397 prime_generate_internal.
398 398
3992003-08-28 Werner Koch <wk@gnupg.org> 3992003-08-28 Werner Koch <wk@gnupg.org>
400 400
401 * pubkey.c (gcry_pk_encrypt): Don't include the flags list in the 401 * pubkey.c (gcry_pk_encrypt): Don't include the flags list in the
402 return value. This does not make sense and breaks any programs 402 return value. This does not make sense and breaks any programs
403 parsing the output strictly (e.g. current gpgsm). 403 parsing the output strictly (e.g. current gpgsm).
404 (gcry_pk_encrypt): If aliases for the algorithm name exists, take 404 (gcry_pk_encrypt): If aliases for the algorithm name exists, take
405 the first one instead of the regular name to adhere to SPKI 405 the first one instead of the regular name to adhere to SPKI
406 conventions. 406 conventions.
407 (gcry_pk_genkey): Ditto. 407 (gcry_pk_genkey): Ditto.
408 (gcry_pk_sign): Ditto. Removed unused KEY_ALGO_NAME. 408 (gcry_pk_sign): Ditto. Removed unused KEY_ALGO_NAME.
409 409
4102003-08-19 Moritz Schulte <mo@g10code.com> 4102003-08-19 Moritz Schulte <mo@g10code.com>
411 411
412 * cipher.c: Add support for Serpent 412 * cipher.c: Add support for Serpent
413 * serpent.c: New file. 413 * serpent.c: New file.
414 414
4152003-08-10 Moritz Schulte <moritz@g10code.com> 4152003-08-10 Moritz Schulte <moritz@g10code.com>
416 416
417 * rsa.c (_gcry_rsa_blind, _gcry_rsa_unblind): Declare static. 417 * rsa.c (_gcry_rsa_blind, _gcry_rsa_unblind): Declare static.
418 418
4192003-08-09 Timo Schulz <twoaday@freakmail.de> 4192003-08-09 Timo Schulz <twoaday@freakmail.de>
420 420
421 * random.c (getfnc_gather_random): Don't check NAME_OF_DEV_RANDOM 421 * random.c (getfnc_gather_random): Don't check NAME_OF_DEV_RANDOM
422 two times, but also the NAME_OF_DEV_URANDOM device. 422 two times, but also the NAME_OF_DEV_URANDOM device.
423 423
4242003-08-08 Moritz Schulte <moritz@g10code.com> 4242003-08-08 Moritz Schulte <moritz@g10code.com>
425 425
426 * pubkey.c (sexp_to_enc): Fixed extraction of S-Expression: do not 426 * pubkey.c (sexp_to_enc): Fixed extraction of S-Expression: do not
427 fail if no `flags' sub S-Expression is found. 427 fail if no `flags' sub S-Expression is found.
428 428
4292003-07-27 Werner Koch <wk@gnupg.org> 4292003-07-27 Werner Koch <wk@gnupg.org>
430 430
431 * md.c (gcry_md_lookup_func_oid): Allow for empty OID lists. 431 * md.c (gcry_md_lookup_func_oid): Allow for empty OID lists.
432 432
4332003-07-23 Moritz Schulte <moritz@g10code.com> 4332003-07-23 Moritz Schulte <moritz@g10code.com>
434 434
435 * ac.c (gcry_ac_data_construct): New argument: include_flags, only 435 * ac.c (gcry_ac_data_construct): New argument: include_flags, only
436 include `flags' S-expression, if include_flags is true. Adjust 436 include `flags' S-expression, if include_flags is true. Adjust
437 callers. Thanks for triggering a bug caused by `flags' 437 callers. Thanks for triggering a bug caused by `flags'
438 sub-S-expression where they are not expected to Ralf Schneider. 438 sub-S-expression where they are not expected to Ralf Schneider.
439 439
4402003-07-21 Moritz Schulte <moritz@g10code.com> 4402003-07-21 Moritz Schulte <moritz@g10code.com>
441 441
442 * pubkey.c (gcry_pk_lookup_func_name): Use new member name 442 * pubkey.c (gcry_pk_lookup_func_name): Use new member name
443 `aliases' instead of `sexp_names'. 443 `aliases' instead of `sexp_names'.
444 444
445 * ac.c (gcry_ac_key_data_get): New function. 445 * ac.c (gcry_ac_key_data_get): New function.
446 446
447 * cipher.c (gcry_cipher_lookup_func_name): Fix return value. 447 * cipher.c (gcry_cipher_lookup_func_name): Fix return value.
448 448
4492003-07-20 Moritz Schulte <moritz@g10code.com> 4492003-07-20 Moritz Schulte <moritz@g10code.com>
450 450
451 * blowfish.c: Adjusted for new gcry_cipher_spec_t structure. 451 * blowfish.c: Adjusted for new gcry_cipher_spec_t structure.
452 * cast5.c: Likewise. 452 * cast5.c: Likewise.
453 * twofish.c: Likewise. 453 * twofish.c: Likewise.
454 * arcfour.c: Likewise. 454 * arcfour.c: Likewise.
455 * rijndael.c (rijndael_oids, rijndael192_oids, rijndael256_oids): 455 * rijndael.c (rijndael_oids, rijndael192_oids, rijndael256_oids):
456 New variables, adjust for new gcry_cipher_spec_t structure. 456 New variables, adjust for new gcry_cipher_spec_t structure.
457 * des.c (oids_tripledes): New variable, adjust for new 457 * des.c (oids_tripledes): New variable, adjust for new
458 gcry_cipher_spec_t structure. 458 gcry_cipher_spec_t structure.
459 459
460 * md.c (oid_table): Removed. 460 * md.c (oid_table): Removed.
461 461
462 * tiger.c (oid_spec_tiger): New variable. 462 * tiger.c (oid_spec_tiger): New variable.
463 (digest_spec_tiger): Adjusted for new gry_md_spec_t structure. 463 (digest_spec_tiger): Adjusted for new gry_md_spec_t structure.
464 464
465 * sha512.c (oid_spec_sha512): New variable. 465 * sha512.c (oid_spec_sha512): New variable.
466 (digest_spec_sha512): Adjusted for new gry_md_spec_t structure. 466 (digest_spec_sha512): Adjusted for new gry_md_spec_t structure.
467 467
468 * sha512.c (oid_spec_sha384): New variable. 468 * sha512.c (oid_spec_sha384): New variable.
469 (digest_spec_sha384): Adjusted for new gry_md_spec_t structure. 469 (digest_spec_sha384): Adjusted for new gry_md_spec_t structure.
470 470
471 * sha256.c (oid_spec_sha256): New variable. 471 * sha256.c (oid_spec_sha256): New variable.
472 (digest_spec_sha256): Adjusted for new gry_md_spec_t structure. 472 (digest_spec_sha256): Adjusted for new gry_md_spec_t structure.
473 473
474 * sha1.c (oid_spec_sha1): New variable. 474 * sha1.c (oid_spec_sha1): New variable.
475 (digest_spec_sha1): Adjusted for new gry_md_spec_t structure. 475 (digest_spec_sha1): Adjusted for new gry_md_spec_t structure.
476 476
477 * rmd160.c (oid_spec_rmd160): New variable. 477 * rmd160.c (oid_spec_rmd160): New variable.
478 (digest_spec_rnd160): Adjusted for new gry_md_spec_t structure. 478 (digest_spec_rnd160): Adjusted for new gry_md_spec_t structure.
479 479
480 * md5.c (oid_spec_md5): New variable. 480 * md5.c (oid_spec_md5): New variable.
481 (digest_spec_md5): Adjusted for new gry_md_spec_t structure. 481 (digest_spec_md5): Adjusted for new gry_md_spec_t structure.
482 482
483 * md4.c (oid_spec_md4): New variable. 483 * md4.c (oid_spec_md4): New variable.
484 (digest_spec_md4): Adjusted for new gry_md_spec_t structure. 484 (digest_spec_md4): Adjusted for new gry_md_spec_t structure.
485 485
486 * crc.c (digest_spec_crc32, digest_spec_crc32_rfc1510, 486 * crc.c (digest_spec_crc32, digest_spec_crc32_rfc1510,
487 digest_spec_crc32_rfc2440): Adjusted for new gry_md_spec_t 487 digest_spec_crc32_rfc2440): Adjusted for new gry_md_spec_t
488 structure. 488 structure.
489 489
4902003-07-19 Moritz Schulte <moritz@g10code.com> 4902003-07-19 Moritz Schulte <moritz@g10code.com>
491 491
492 * md.c (gcry_md_lookup_func_oid): New function. 492 * md.c (gcry_md_lookup_func_oid): New function.
493 (search_oid): New function, copied from cipher.c. 493 (search_oid): New function, copied from cipher.c.
494 (gcry_md_map_name): Adjust for new search_oid_interface. 494 (gcry_md_map_name): Adjust for new search_oid_interface.
495 495
496 * cipher.c (oid_table): Removed table. 496 * cipher.c (oid_table): Removed table.
497 (gcry_cipher_lookup_func_oid): New function. 497 (gcry_cipher_lookup_func_oid): New function.
498 (search_oid): Rewritten to use the module functions. 498 (search_oid): Rewritten to use the module functions.
499 (gcry_cipher_map_name): Adjust for new search_oid interface. 499 (gcry_cipher_map_name): Adjust for new search_oid interface.
500 (gcry_cipher_mode_from_oid): Likewise. 500 (gcry_cipher_mode_from_oid): Likewise.
501 501
5022003-07-18 Werner Koch <wk@gnupg.org> 5022003-07-18 Werner Koch <wk@gnupg.org>
503 503
504 * md.c (gcry_md_hash_buffer): Convert ERR to gpg_error_t in 504 * md.c (gcry_md_hash_buffer): Convert ERR to gpg_error_t in
505 gpg_strerror. 505 gpg_strerror.
506 506
5072003-07-14 Moritz Schulte <moritz@g10code.com> 5072003-07-14 Moritz Schulte <moritz@g10code.com>
508 508
509 * cipher.c (gcry_cipher_lookup_func_name): Also check the cipher 509 * cipher.c (gcry_cipher_lookup_func_name): Also check the cipher
510 name aliases, not just the primary name. 510 name aliases, not just the primary name.
511 (gcry_cipher_map_name): Remove kludge for aliasing Rijndael to 511 (gcry_cipher_map_name): Remove kludge for aliasing Rijndael to
512 AES. 512 AES.
513 513
514 * arcfour.c, blowfish.c, cast5.c, des.c, twofish.c: Adjust cipher 514 * arcfour.c, blowfish.c, cast5.c, des.c, twofish.c: Adjust cipher
515 specification structures. 515 specification structures.
516 516
517 * rijndael.c (rijndael_names, rijndael192_names, 517 * rijndael.c (rijndael_names, rijndael192_names,
518 rijndael256_names): New variables, use them in the cipher 518 rijndael256_names): New variables, use them in the cipher
519 specifications. 519 specifications.
520 520
521 * rmd160test.c: Removed file. 521 * rmd160test.c: Removed file.
522 522
523 * ac.c, arcfour.c, blowfish.c, cast5.c, cipher.c, des.c, dsa.c, 523 * ac.c, arcfour.c, blowfish.c, cast5.c, cipher.c, des.c, dsa.c,
524 elgamal.c, md.c, pubkey.c, random.c, rijndael.c, rsa.c, twofish.c: 524 elgamal.c, md.c, pubkey.c, random.c, rijndael.c, rsa.c, twofish.c:
525 Used gcry_err* wrappers for libgpg symbols. 525 Used gcry_err* wrappers for libgpg symbols.
526 526
527 * primegen.c (gen_prime): Correct the order arguments to 527 * primegen.c (gen_prime): Correct the order arguments to
528 extra_check. 528 extra_check.
529 529
5302003-07-12 Moritz Schulte <moritz@g10code.com> 5302003-07-12 Moritz Schulte <moritz@g10code.com>
531 531
532 * ac.c: Replaced all public occurences of gpg_error_t with 532 * ac.c: Replaced all public occurences of gpg_error_t with
533 gcry_error_t. 533 gcry_error_t.
534 * cipher.c: Likewise. 534 * cipher.c: Likewise.
535 * md.c: Likewise. 535 * md.c: Likewise.
536 * pubkey.c: Likewise. 536 * pubkey.c: Likewise.
537 * random.c: Likewise. 537 * random.c: Likewise.
538 538
539 * cipher.c: Added support for TWOFISH128. 539 * cipher.c: Added support for TWOFISH128.
540 540
5412003-07-08 Moritz Schulte <moritz@g10code.com> 5412003-07-08 Moritz Schulte <moritz@g10code.com>
542 542
543 * ac.c (gcry_ac_data_copy_internal): New function, based on 543 * ac.c (gcry_ac_data_copy_internal): New function, based on
544 gcry_ac_data_copy. 544 gcry_ac_data_copy.
545 (gcry_ac_data_copy): Made public, use gcry_ac_data_copy_internal. 545 (gcry_ac_data_copy): Made public, use gcry_ac_data_copy_internal.
546 (gcry_ac_key_init): Use gcry_ac_data_copy_internal. 546 (gcry_ac_key_init): Use gcry_ac_data_copy_internal.
547 547
5482003-07-07 Moritz Schulte <moritz@g10code.com> 5482003-07-07 Moritz Schulte <moritz@g10code.com>
549 549
550 * ac.c (gcry_ac_data_set): Only release old MPI value if it is 550 * ac.c (gcry_ac_data_set): Only release old MPI value if it is
551 different from the new value. Bug reported by Simon Josefsson 551 different from the new value. Bug reported by Simon Josefsson
552 <jas@extundo.com>. 552 <jas@extundo.com>.
553 553
554 * pubkey.c (gcry_pk_list): New function. 554 * pubkey.c (gcry_pk_list): New function.
555 * md.c (gcry_md_list): New function. 555 * md.c (gcry_md_list): New function.
556 556
557 * ac.c (gcry_ac_key_pair_generate): Fix calculation of format 557 * ac.c (gcry_ac_key_pair_generate): Fix calculation of format
558 string size. 558 string size.
559 559
5602003-07-05 Moritz Schulte <moritz@g10code.com> 5602003-07-05 Moritz Schulte <moritz@g10code.com>
561 561
562 * md.c: Named struct of digest_table `digest_table_entry'. 562 * md.c: Named struct of digest_table `digest_table_entry'.
563 (digest_table_entry): New member: algorithm; filled in. 563 (digest_table_entry): New member: algorithm; filled in.
564 (digest_table_entry): Removed unused member: flags. 564 (digest_table_entry): Removed unused member: flags.
565 (gcry_md_register): New argument: algorithm_id, filled in. 565 (gcry_md_register): New argument: algorithm_id, filled in.
566 (gcry_md_register_default): Used algorithm ID from module 566 (gcry_md_register_default): Used algorithm ID from module
567 structure. 567 structure.
568 (gcry_md_map_name): Likewise. 568 (gcry_md_map_name): Likewise.
569 (md_enable): Likewise. 569 (md_enable): Likewise.
570 (md_read): Likewise. 570 (md_read): Likewise.
571 (gcry_md_info): Likewise. 571 (gcry_md_info): Likewise.
572 572
573 * pubkey.c: Named truct for pubkey_table `pubkey_table_entry'. 573 * pubkey.c: Named truct for pubkey_table `pubkey_table_entry'.
574 (pubkey_table_entry): New member: algorithm; filled in. 574 (pubkey_table_entry): New member: algorithm; filled in.
575 (gcry_pk_register_default): Used algorithm ID from pubkey_table. 575 (gcry_pk_register_default): Used algorithm ID from pubkey_table.
576 (gcry_pk_register): New argument: algorithm_id, filled in. 576 (gcry_pk_register): New argument: algorithm_id, filled in.
577 (gcry_pk_map_name): Used algorithm ID from module structure. 577 (gcry_pk_map_name): Used algorithm ID from module structure.
578 (gcry_pk_decrypt): Likewise. 578 (gcry_pk_decrypt): Likewise.
579 (gcry_pk_encrypt): Likewise. 579 (gcry_pk_encrypt): Likewise.
580 (gcry_pk_verify): Likewise. 580 (gcry_pk_verify): Likewise.
581 (gcry_pk_sign): Likewise. 581 (gcry_pk_sign): Likewise.
582 (gcry_pk_testkey): Likewise. 582 (gcry_pk_testkey): Likewise.
583 (gcry_pk_genkey): Likewise. 583 (gcry_pk_genkey): Likewise.
584 (gcry_pk_get_nbits): Likewise. 584 (gcry_pk_get_nbits): Likewise.
585 (sexp_to_key): Removed unused variable: algo. 585 (sexp_to_key): Removed unused variable: algo.
586 (sexp_to_sig): Likewise. 586 (sexp_to_sig): Likewise.
587 587
588 * cipher.c: Named struct for cipher_table `cipher_table_entry'. 588 * cipher.c: Named struct for cipher_table `cipher_table_entry'.
589 (cipher_table_entry): New member: algorithm; filled in. 589 (cipher_table_entry): New member: algorithm; filled in.
590 (gcry_cipher_register_default): Used algorithm ID from 590 (gcry_cipher_register_default): Used algorithm ID from
591 cipher_table. 591 cipher_table.
592 (gcry_cipher_register): New argument: algorithm_id, filled in. 592 (gcry_cipher_register): New argument: algorithm_id, filled in.
593 (gcry_cipher_map_name): Used algorithm ID from module structure. 593 (gcry_cipher_map_name): Used algorithm ID from module structure.
594 594
595 * arcfour.c (cipher_spec_arcfour): Removed algorithm ID. 595 * arcfour.c (cipher_spec_arcfour): Removed algorithm ID.
596 * blowfish.c (cipher_spec_blowfish): Likewise. 596 * blowfish.c (cipher_spec_blowfish): Likewise.
597 * cast5.c (cipher_spec_cast5): Likewise. 597 * cast5.c (cipher_spec_cast5): Likewise.
598 * crc.c (digest_spec_crc32): Likewise. 598 * crc.c (digest_spec_crc32): Likewise.
599 * crc.c (digest_spec_crc32_rfc1510): Likewise. 599 * crc.c (digest_spec_crc32_rfc1510): Likewise.
600 * crc.c (digest_spec_crc32_rfc2440): Likewise. 600 * crc.c (digest_spec_crc32_rfc2440): Likewise.
601 * des.c (cipher_spec_des): Likewise. 601 * des.c (cipher_spec_des): Likewise.
602 * des.c (cipher_spec_tripledes): Likewise. 602 * des.c (cipher_spec_tripledes): Likewise.
603 * dsa.c (pubkey_spec_dsa): Likewise. 603 * dsa.c (pubkey_spec_dsa): Likewise.
604 * elgamal.c (pubkey_spec_elg): Likewise. 604 * elgamal.c (pubkey_spec_elg): Likewise.
605 * md4.c (digest_spec_md4): Likewise. 605 * md4.c (digest_spec_md4): Likewise.
606 * md5.c (digest_spec_md5): Likewise. 606 * md5.c (digest_spec_md5): Likewise.
607 * aes.c (cipher_spec_aes): Likewise. 607 * aes.c (cipher_spec_aes): Likewise.
608 * aes.c (cipher_spec_aes192): Likewise. 608 * aes.c (cipher_spec_aes192): Likewise.
609 * aes.c (cipher_spec_aes256): Likewise. 609 * aes.c (cipher_spec_aes256): Likewise.
610 * rsa.c (pubkey_spec_rsa): Likewise. 610 * rsa.c (pubkey_spec_rsa): Likewise.
611 * sha1.c (digest_spec_sha1): Likewise. 611 * sha1.c (digest_spec_sha1): Likewise.
612 * sha256.c (digest_spec_sha256): Likewise. 612 * sha256.c (digest_spec_sha256): Likewise.
613 * sha512.c (digest_spec_sha512): Likewise. 613 * sha512.c (digest_spec_sha512): Likewise.
614 * tiger.c (digest_spec_tiger): Likewise. 614 * tiger.c (digest_spec_tiger): Likewise.
615 * twofish.c (cipher_spec_twofish): Likewise. 615 * twofish.c (cipher_spec_twofish): Likewise.
616 * twofish.c (cipher_spec_twofish128): Likewise. 616 * twofish.c (cipher_spec_twofish128): Likewise.
617 617
618 * Makefile.am (EXTRA_libcipher_la_SOURCES): Fix list of source 618 * Makefile.am (EXTRA_libcipher_la_SOURCES): Fix list of source
619 files; reported by Simon Josefsson <jas@extundo.com>. 619 files; reported by Simon Josefsson <jas@extundo.com>.
620 620
621 * pubkey.c: Replaced all occurences of `id' with `algorithm', 621 * pubkey.c: Replaced all occurences of `id' with `algorithm',
622 since `id' is a keyword in obj-c. 622 since `id' is a keyword in obj-c.
623 * md.c: Likewise. 623 * md.c: Likewise.
624 * cipher.c: Likewise. 624 * cipher.c: Likewise.
625 625
626 * crc.c, md4.c, md5.c, rmd160.c, sha1.c, sha256.c, tiger.c: 626 * crc.c, md4.c, md5.c, rmd160.c, sha1.c, sha256.c, tiger.c:
627 Replaced all occurences of gcry_digest_spec_t with gcry_md_spec_t. 627 Replaced all occurences of gcry_digest_spec_t with gcry_md_spec_t.
628 628
629 * dsa.c, rsa.c, elgamal.c: Replaced all occurencens of 629 * dsa.c, rsa.c, elgamal.c: Replaced all occurencens of
630 gcry_pubkey_spec_t with gcry_pk_spec_t. 630 gcry_pubkey_spec_t with gcry_pk_spec_t.
631 631
632 * md.c: Replaced all occurences of gcry_digest_spec_t with 632 * md.c: Replaced all occurences of gcry_digest_spec_t with
633 gcry_md_spec_t. 633 gcry_md_spec_t.
634 (gcry_digest_register_default): Renamed to ... 634 (gcry_digest_register_default): Renamed to ...
635 (gcry_md_register_default): ... this; adjusted callers. 635 (gcry_md_register_default): ... this; adjusted callers.
636 (gcry_digest_lookup_func_name): Renamed to ... 636 (gcry_digest_lookup_func_name): Renamed to ...
637 (gcry_md_lookup_func_name): ... this; adjusted callers. 637 (gcry_md_lookup_func_name): ... this; adjusted callers.
638 (gcry_digest_lookup_name): Renamed to ... 638 (gcry_digest_lookup_name): Renamed to ...
639 (gcry_md_lookup_name): ... this; adjusted callers. 639 (gcry_md_lookup_name): ... this; adjusted callers.
640 (gcry_digest_register): Renamed to ... 640 (gcry_digest_register): Renamed to ...
641 (gcry_md_register): ... this. 641 (gcry_md_register): ... this.
642 (gcry_digest_unregister): Renamed to ... 642 (gcry_digest_unregister): Renamed to ...
643 (gcry_md_unregister): ... this. 643 (gcry_md_unregister): ... this.
644 644
645 * pubkey.c (gcry_pubkey_register): Renamed to ... 645 * pubkey.c (gcry_pubkey_register): Renamed to ...
646 (gcry_pk_register): ... this. 646 (gcry_pk_register): ... this.
647 (gcry_pubkey_unregister): Renamed to ... 647 (gcry_pubkey_unregister): Renamed to ...
648 (gcry_pk_unregister): ... this. 648 (gcry_pk_unregister): ... this.
649 Replaced all occurences of gcry_pubkey_spec_t with gcry_pk_spec_t. 649 Replaced all occurences of gcry_pubkey_spec_t with gcry_pk_spec_t.
650 (gcry_pubkey_register_default): Renamed to ... 650 (gcry_pubkey_register_default): Renamed to ...
651 (gcry_pk_register_default): ... this; adjusted callers. 651 (gcry_pk_register_default): ... this; adjusted callers.
652 (gcry_pubkey_lookup_func_name): Renamed to ... 652 (gcry_pubkey_lookup_func_name): Renamed to ...
653 (gcry_pk_lookup_func_name): ... this; adjusted callers. 653 (gcry_pk_lookup_func_name): ... this; adjusted callers.
654 (gcry_pubkey_lookup_name): Renamed to ... 654 (gcry_pubkey_lookup_name): Renamed to ...
655 (gcry_pk_lookup_name): ... this; adjusted callers. 655 (gcry_pk_lookup_name): ... this; adjusted callers.
656 656
657 * md.c (gcry_md_hash_buffer): Fix error checking. Thanks to Simon 657 * md.c (gcry_md_hash_buffer): Fix error checking. Thanks to Simon
658 Josefsson <jas@extunde.com>. 658 Josefsson <jas@extunde.com>.
659 659
6602003-07-04 Moritz Schulte <moritz@g10code.com> 6602003-07-04 Moritz Schulte <moritz@g10code.com>
661 661
662 * cipher.c (gcry_cipher_list): New function. 662 * cipher.c (gcry_cipher_list): New function.
663 663
6642003-07-01 Moritz Schulte <moritz@g10code.com> 6642003-07-01 Moritz Schulte <moritz@g10code.com>
665 665
666 * pubkey.c (sexp_to_sig): Accept a `flags' S-expression to be more 666 * pubkey.c (sexp_to_sig): Accept a `flags' S-expression to be more
667 consistent with sexp_to_enc. 667 consistent with sexp_to_enc.
668 668
6692003-06-30 Moritz Schulte <moritz@g10code.com> 6692003-06-30 Moritz Schulte <moritz@g10code.com>
670 670
671 * Makefile.am (libcipher_la_SOURCES): Added: ac.c. 671 * Makefile.am (libcipher_la_SOURCES): Added: ac.c.
672 672
673 * pubkey.c (_gcry_pk_module_lookup): New function. 673 * pubkey.c (_gcry_pk_module_lookup): New function.
674 (_gcry_pk_module_release): New function. 674 (_gcry_pk_module_release): New function.
675 675
6762003-06-29 Moritz Schulte <moritz@g10code.com> 6762003-06-29 Moritz Schulte <moritz@g10code.com>
677 677
678 * ac.c: New file. 678 * ac.c: New file.
679 679
6802003-06-26 Werner Koch <wk@gnupg.org> 6802003-06-26 Werner Koch <wk@gnupg.org>
681 681
682 * md.c (gcry_md_hash_buffer): Trigger BUG correcly with new API. 682 * md.c (gcry_md_hash_buffer): Trigger BUG correcly with new API.
683 683
6842003-06-19 Werner Koch <wk@gnupg.org> 6842003-06-19 Werner Koch <wk@gnupg.org>
685 685
686 * md.c (gcry_md_is_enabled): Fixed. 686 * md.c (gcry_md_is_enabled): Fixed.
687 687
6882003-06-18 Werner Koch <wk@gnupg.org> 6882003-06-18 Werner Koch <wk@gnupg.org>
689 689
690 * cipher.c (gcry_cipher_get_algo_keylen): New. 690 * cipher.c (gcry_cipher_get_algo_keylen): New.
691 (gcry_cipher_get_algo_blklen): New. 691 (gcry_cipher_get_algo_blklen): New.
692 692
6932003-06-18 Moritz Schulte <moritz@g10code.com> 6932003-06-18 Moritz Schulte <moritz@g10code.com>
694 694
695 * arcfour.c, cipher.c, blowfish.c, md.c, cast5.c, pubkey.c, crc.c, 695 * arcfour.c, cipher.c, blowfish.c, md.c, cast5.c, pubkey.c, crc.c,
696 des.c, dsa.c, elgamal.c, md4.c, md5.c, random.c, rijndael.c, 696 des.c, dsa.c, elgamal.c, md4.c, md5.c, random.c, rijndael.c,
697 rmd160.c, rsa.c, sha1.c, sha256.c, sha512.c, tiger.c, twofish.c: 697 rmd160.c, rsa.c, sha1.c, sha256.c, sha512.c, tiger.c, twofish.c:
698 Replaced older types GcryDigestSpec, GcryCipherSpec and 698 Replaced older types GcryDigestSpec, GcryCipherSpec and
699 GcryPubkeySpec with newer types: gcry_digest_spec_t, 699 GcryPubkeySpec with newer types: gcry_digest_spec_t,
700 gcry_cipher_spec_t and gcry_pubkey_spec_t. 700 gcry_cipher_spec_t and gcry_pubkey_spec_t.
701 701
702 * md.c (gcry_digest_id_new): Removed function. 702 * md.c (gcry_digest_id_new): Removed function.
703 (gcry_digest_register): Removed code for generating a new module 703 (gcry_digest_register): Removed code for generating a new module
704 ID. 704 ID.
705 705
706 * pubkey.c (gcry_pubkey_id_new): Removed function. 706 * pubkey.c (gcry_pubkey_id_new): Removed function.
707 (gcry_pubkey_register): Removed code for generating a new module 707 (gcry_pubkey_register): Removed code for generating a new module
708 ID. 708 ID.
709 709
710 * cipher.c, md.c, pubkey.c: Replace old type GcryModule with newer 710 * cipher.c, md.c, pubkey.c: Replace old type GcryModule with newer
711 one: gcry_module_t. 711 one: gcry_module_t.
712 (gcry_cipher_id_new): Removed function. 712 (gcry_cipher_id_new): Removed function.
713 (gcry_cipher_register): Removed code for generating a new module 713 (gcry_cipher_register): Removed code for generating a new module
714 ID. 714 ID.
715 715
716 * cipher.c (gcry_cipher_register): Adjust call to 716 * cipher.c (gcry_cipher_register): Adjust call to
717 _gcry_module_add. 717 _gcry_module_add.
718 (gcry_cipher_register_default): Likewise. 718 (gcry_cipher_register_default): Likewise.
719 * pubkey.c (gcry_pubkey_register_default): Likewise. 719 * pubkey.c (gcry_pubkey_register_default): Likewise.
720 (gcry_pubkey_register): Likewise. 720 (gcry_pubkey_register): Likewise.
721 * md.c (gcry_digest_register_default): Likewise. 721 * md.c (gcry_digest_register_default): Likewise.
722 (gcry_digest_register): Likewise. 722 (gcry_digest_register): Likewise.
723 723
724 * md.c (gcry_digest_lookup_func_id): Removed function. 724 * md.c (gcry_digest_lookup_func_id): Removed function.
725 (gcry_digest_lookup_id): Likewise. 725 (gcry_digest_lookup_id): Likewise.
726 (gcry_digest_id_new): Use _gcry_module_lookup_id instead of 726 (gcry_digest_id_new): Use _gcry_module_lookup_id instead of
727 gcry_digest_lookup_id. 727 gcry_digest_lookup_id.
728 (digest_algo_to_string): Likewise. 728 (digest_algo_to_string): Likewise.
729 (check_digest_algo): Likewise. 729 (check_digest_algo): Likewise.
730 (md_enable): Likewise. 730 (md_enable): Likewise.
731 (md_digest_length): Likewise. 731 (md_digest_length): Likewise.
732 (md_asn_oid): Likewise. 732 (md_asn_oid): Likewise.
733 733
734 * pubkey.c (gcry_pubkey_lookup_id): Removed function. 734 * pubkey.c (gcry_pubkey_lookup_id): Removed function.
735 (gcry_pubkey_lookup_func_id): Likewise. 735 (gcry_pubkey_lookup_func_id): Likewise.
736 (gcry_pubkey_id_new): Use _gcry_module_lookup_id instead of 736 (gcry_pubkey_id_new): Use _gcry_module_lookup_id instead of
737 gcry_pubkey_id_new. 737 gcry_pubkey_id_new.
738 (gcry_pk_algo_name): Likewise. 738 (gcry_pk_algo_name): Likewise.
739 (disable_pubkey_algo): Likewise. 739 (disable_pubkey_algo): Likewise.
740 (check_pubkey_algo): Likewise. 740 (check_pubkey_algo): Likewise.
741 (pubkey_get_npkey): Likewise. 741 (pubkey_get_npkey): Likewise.
742 (pubkey_get_nskey): Likewise. 742 (pubkey_get_nskey): Likewise.
743 (pubkey_get_nsig): Likewise. 743 (pubkey_get_nsig): Likewise.
744 (pubkey_get_nenc): Likewise. 744 (pubkey_get_nenc): Likewise.
745 (pubkey_generate): Likewise. 745 (pubkey_generate): Likewise.
746 (pubkey_check_secret_key): Likewise. 746 (pubkey_check_secret_key): Likewise.
747 (pubkey_encrypt): Likewise. 747 (pubkey_encrypt): Likewise.
748 (pubkey_decrypt): Likewise. 748 (pubkey_decrypt): Likewise.
749 (pubkey_sign): Likewise. 749 (pubkey_sign): Likewise.
750 (pubkey_verify): Likewise. 750 (pubkey_verify): Likewise.
751 (gcry_pk_algo_info): Likewise. 751 (gcry_pk_algo_info): Likewise.
752 752
753 * cipher.c (gcry_cipher_lookup_func_id): Removed function. 753 * cipher.c (gcry_cipher_lookup_func_id): Removed function.
754 (gcry_cipher_lookup_id): Likewise. 754 (gcry_cipher_lookup_id): Likewise.
755 (cipher_algo_to_string): use _gcry_module_lookup_id instead of 755 (cipher_algo_to_string): use _gcry_module_lookup_id instead of
756 gcry_cipher_lookup_id. 756 gcry_cipher_lookup_id.
757 (disable_cipher_algo): Likewise. 757 (disable_cipher_algo): Likewise.
758 (check_cipher_algo): Likewise. 758 (check_cipher_algo): Likewise.
759 (cipher_get_blocksize): Likewise. 759 (cipher_get_blocksize): Likewise.
760 (gcry_cipher_open): Likewise. 760 (gcry_cipher_open): Likewise.
761 (gcry_cipher_id_new): Likewise. 761 (gcry_cipher_id_new): Likewise.
762 762
7632003-06-17 Moritz Schulte <moritz@g10code.com> 7632003-06-17 Moritz Schulte <moritz@g10code.com>
764 764
765 * Makefile.am (GCRYPT_MODULES): Set to @GCRYPT_CIPHERS@, 765 * Makefile.am (GCRYPT_MODULES): Set to @GCRYPT_CIPHERS@,
766 @GCRYPT_PUBKEY_CIPHERS@, @GCRYPT_DIGESTS@ and @GCRYPT_RANDOM@. 766 @GCRYPT_PUBKEY_CIPHERS@, @GCRYPT_DIGESTS@ and @GCRYPT_RANDOM@.
767 (libcipher_la_DEPENDENCIES): Set to $(GCRYPT_MODULES). 767 (libcipher_la_DEPENDENCIES): Set to $(GCRYPT_MODULES).
768 (libcipher_la_LIBADD): Likewise. 768 (libcipher_la_LIBADD): Likewise.
769 (AM_CFLAGS): Added: @GPG_ERROR_CFLAGS@. 769 (AM_CFLAGS): Added: @GPG_ERROR_CFLAGS@.
770 (EXTRA_libcipher_la_SOURCES): Added all conditional sources. 770 (EXTRA_libcipher_la_SOURCES): Added all conditional sources.
771 771
772 * md.c (md_open): Use _gcry_fast_random_poll instead of 772 * md.c (md_open): Use _gcry_fast_random_poll instead of
773 fast_random_poll. 773 fast_random_poll.
774 * cipher.c (gcry_cipher_open): Likewise. 774 * cipher.c (gcry_cipher_open): Likewise.
775 775
776 * random.h (fast_random_poll): Removed macro. 776 * random.h (fast_random_poll): Removed macro.
777 777
778 * blowfish.c, md4.c, md5.c, rmd160.c, sha1.c, sha256.c, sha512.c, 778 * blowfish.c, md4.c, md5.c, rmd160.c, sha1.c, sha256.c, sha512.c,
779 tiger.c: Use Autoconf's WORDS_BIGENDIAN instead of our own 779 tiger.c: Use Autoconf's WORDS_BIGENDIAN instead of our own
780 BIG_ENDIAN_HOST. 780 BIG_ENDIAN_HOST.
781 781
7822003-06-16 Moritz Schulte <moritz@g10code.com> 7822003-06-16 Moritz Schulte <moritz@g10code.com>
783 783
784 * random.c (getfnc_gather_random): Do not special-case 784 * random.c (getfnc_gather_random): Do not special-case
785 USE_ALL_RANDOM_MODULES, make it the default. 785 USE_ALL_RANDOM_MODULES, make it the default.
786 786
787 * dsa.c: Replace last occurences of old type names with newer 787 * dsa.c: Replace last occurences of old type names with newer
788 names (i.e. replace MPI with gcry_mpi_t). 788 names (i.e. replace MPI with gcry_mpi_t).
789 * elgamal.c: Likewise. 789 * elgamal.c: Likewise.
790 * primegen.c: Likewise. 790 * primegen.c: Likewise.
791 * pubkey.c: Likewise. 791 * pubkey.c: Likewise.
792 * rsa.c: Likewise. 792 * rsa.c: Likewise.
793 793
7942003-06-14 Moritz Schulte <moritz@g10code.com> 7942003-06-14 Moritz Schulte <moritz@g10code.com>
795 795
796 * des.c (des_setkey): Add selftest check. 796 * des.c (des_setkey): Add selftest check.
797 (tripledes_set3keys): Likewise. 797 (tripledes_set3keys): Likewise.
798 (do_tripledes_setkey): Remove selftest check. 798 (do_tripledes_setkey): Remove selftest check.
799 (do_des_setkey): Likewise. 799 (do_des_setkey): Likewise.
800 800
8012003-06-11 Moritz Schulte <moritz@g10code.com> 8012003-06-11 Moritz Schulte <moritz@g10code.com>
802 802
803 * md.c (_gcry_md_init): New function. 803 * md.c (_gcry_md_init): New function.
804 * cipher.c (_gcry_cipher_init): New function. 804 * cipher.c (_gcry_cipher_init): New function.
805 * pubkey.c (_gcry_pk_init): New function. 805 * pubkey.c (_gcry_pk_init): New function.
806 806
8072003-06-13 Werner Koch <wk@gnupg.org> 8072003-06-13 Werner Koch <wk@gnupg.org>
808 808
809 * md.c (gcry_md_get_algo): Reverted to old API. This is a 809 * md.c (gcry_md_get_algo): Reverted to old API. This is a
810 convenience function anyway and error checking is not approriate. 810 convenience function anyway and error checking is not approriate.
811 (gcry_md_is_secure): New. 811 (gcry_md_is_secure): New.
812 (gcry_md_is_enabled): New. 812 (gcry_md_is_enabled): New.
813 813
8142003-06-12 Werner Koch <wk@gnupg.org> 8142003-06-12 Werner Koch <wk@gnupg.org>
815 815
816 * cipher.c (gcry_cipher_open): Make sure HANDLE is set to NULL on 816 * cipher.c (gcry_cipher_open): Make sure HANDLE is set to NULL on
817 error. 817 error.
818 818
8192003-06-11 Werner Koch <wk@gnupg.org> 8192003-06-11 Werner Koch <wk@gnupg.org>
820 820
821 * md.c (gcry_md_open): Make sure H receives either NULL or an 821 * md.c (gcry_md_open): Make sure H receives either NULL or an
822 valid handle. 822 valid handle.
823 (gcry_md_copy): Swapped arguments so that it is more in lione with 823 (gcry_md_copy): Swapped arguments so that it is more in lione with
824 md_open and most other API fucntions like memcpy (destination 824 md_open and most other API fucntions like memcpy (destination
825 comes first). Make sure HANDLE is set to NULL on error. 825 comes first). Make sure HANDLE is set to NULL on error.
826 826
827 * rijndael.c (do_encrypt): Hack to force correct alignment. It 827 * rijndael.c (do_encrypt): Hack to force correct alignment. It
828 seems not to be not sufficient, though. We should rework this 828 seems not to be not sufficient, though. We should rework this
829 fucntions and remove all these ugly casts. Let the compiler 829 fucntions and remove all these ugly casts. Let the compiler
830 optimize or have an assembler implementation. 830 optimize or have an assembler implementation.
831 831
8322003-06-09 Moritz Schulte <moritz@g10code.com> 8322003-06-09 Moritz Schulte <moritz@g10code.com>
833 833
834 * Makefile.am: Removed rules serpent, since that is not commited 834 * Makefile.am: Removed rules serpent, since that is not commited
835 yet. 835 yet.
836 836
8372003-06-08 Moritz Schulte <moritz@g10code.com> 8372003-06-08 Moritz Schulte <moritz@g10code.com>
838 838
839 * pubkey.c (gcry_pk_encrypt): Improve calculation for size of the 839 * pubkey.c (gcry_pk_encrypt): Improve calculation for size of the
840 format string. 840 format string.
841 841
8422003-06-07 Moritz Schulte <moritz@g10code.com> 8422003-06-07 Moritz Schulte <moritz@g10code.com>
843 843
844 * arcfour.c, bithelp.h, blowfish.c, cast5.c, cipher.c, crc.c, 844 * arcfour.c, bithelp.h, blowfish.c, cast5.c, cipher.c, crc.c,
845 des.c, dsa.c, elgamal.c, md4.c, md5.c, md.c, primegen.c, pubkey.c, 845 des.c, dsa.c, elgamal.c, md4.c, md5.c, md.c, primegen.c, pubkey.c,
846 rand-internal.h, random.c, random.h, rijndael.c, rmd160.c, 846 rand-internal.h, random.c, random.h, rijndael.c, rmd160.c,
847 rmd160test.c, rmd.h, rndeged.c, rndlinux.c, rndunix.c, rndw32.c, 847 rmd160test.c, rmd.h, rndeged.c, rndlinux.c, rndunix.c, rndw32.c,
848 rsa.c, sha1.c, sha256.c, sha512.c, tiger.c, twofish.c: Edited all 848 rsa.c, sha1.c, sha256.c, sha512.c, tiger.c, twofish.c: Edited all
849 preprocessor instructions to remove whitespace before the '#'. 849 preprocessor instructions to remove whitespace before the '#'.
850 This is not required by C89, but there are some compilers out 850 This is not required by C89, but there are some compilers out
851 there that don't like it. Replaced any occurence of the now 851 there that don't like it. Replaced any occurence of the now
852 deprecated type names with the new ones. 852 deprecated type names with the new ones.
853 853
8542003-06-04 Moritz Schulte <moritz@g10code.com> 8542003-06-04 Moritz Schulte <moritz@g10code.com>
855 855
856 * pubkey.c (gcry_pk_encrypt): Construct an arg_list and use 856 * pubkey.c (gcry_pk_encrypt): Construct an arg_list and use
857 gcry_sexp_build_array instead of gcry_sexp_build. 857 gcry_sexp_build_array instead of gcry_sexp_build.
858 (gcry_pk_sign): Likewise. 858 (gcry_pk_sign): Likewise.
859 (gcry_pk_genkey): Likewise. 859 (gcry_pk_genkey): Likewise.
860 860
8612003-06-01 Moritz Schulte <moritz@g10code.com> 8612003-06-01 Moritz Schulte <moritz@g10code.com>
862 862
863 * dsa.c (_gcry_dsa_generate): Do not check wether the algorithm ID 863 * dsa.c (_gcry_dsa_generate): Do not check wether the algorithm ID
864 does indeed belong to DSA. 864 does indeed belong to DSA.
865 (_gcry_dsa_sign): Likewise. 865 (_gcry_dsa_sign): Likewise.
866 (_gcry_dsa_verify): Likewise. 866 (_gcry_dsa_verify): Likewise.
867 (_gcry_dsa_get_nbits): Likewise. 867 (_gcry_dsa_get_nbits): Likewise.
868 868
869 * elgamal.c (_gcry_elg_check_secret_key): Do not check wether the 869 * elgamal.c (_gcry_elg_check_secret_key): Do not check wether the
870 algorithm ID does indeed belong to ElGamal. 870 algorithm ID does indeed belong to ElGamal.
871 (_gcry_elg_encrypt): Likewise. 871 (_gcry_elg_encrypt): Likewise.
872 (_gcry_elg_decrypt): Likewise. 872 (_gcry_elg_decrypt): Likewise.
873 (_gcry_elg_sign): Likewise. 873 (_gcry_elg_sign): Likewise.
874 (_gcry_elg_verify): Likewise. 874 (_gcry_elg_verify): Likewise.
875 (_gcry_elg_get_nbits): Likewise. 875 (_gcry_elg_get_nbits): Likewise.
876 (_gcry_elg_generate): Likewise. 876 (_gcry_elg_generate): Likewise.
877 877
878 * rsa.c (_gcry_rsa_generate): Do not check wether the algorithm ID 878 * rsa.c (_gcry_rsa_generate): Do not check wether the algorithm ID
879 does indeed belong to RSA. 879 does indeed belong to RSA.
880 (_gcry_rsa_encrypt): Likewise. 880 (_gcry_rsa_encrypt): Likewise.
881 (_gcry_rsa_decrypt): Likewise. 881 (_gcry_rsa_decrypt): Likewise.
882 (_gcry_rsa_sign): Likewise. 882 (_gcry_rsa_sign): Likewise.
883 (_gcry_rsa_verify): Likewise. 883 (_gcry_rsa_verify): Likewise.
884 (_gcry_rsa_get_nbits): Likewise. 884 (_gcry_rsa_get_nbits): Likewise.
885 885
8862003-05-30 Moritz Schulte <moritz@g10code.com> 8862003-05-30 Moritz Schulte <moritz@g10code.com>
887 887
888 * md.c (md_get_algo): Return zero in case to algorithm is enabled. 888 * md.c (md_get_algo): Return zero in case to algorithm is enabled.
889 889
890 * md.c (gcry_md_info): Adjusted for new no-errno-API. 890 * md.c (gcry_md_info): Adjusted for new no-errno-API.
891 (md_final): Likewise. 891 (md_final): Likewise.
892 (gcry_md_get_algo): Likewise. 892 (gcry_md_get_algo): Likewise.
893 * pubkey.c (gcry_pk_get_keygrip): Likewise. 893 * pubkey.c (gcry_pk_get_keygrip): Likewise.
894 (gcry_pk_ctl): Likewise. 894 (gcry_pk_ctl): Likewise.
895 (gcry_pk_algo_info): Likewise. 895 (gcry_pk_algo_info): Likewise.
896 * des.c (selftest): Likewise. 896 * des.c (selftest): Likewise.
897 897
8982003-05-29 Moritz Schulte <moritz@g10code.com> 8982003-05-29 Moritz Schulte <moritz@g10code.com>
899 899
900 * md.c (md_enable): Do not forget to release module on error. 900 * md.c (md_enable): Do not forget to release module on error.
901 (gcry_md_open): Adjusted for new no-errno-API. 901 (gcry_md_open): Adjusted for new no-errno-API.
902 (md_open): Likewise. 902 (md_open): Likewise.
903 (md_copy): Likewise. 903 (md_copy): Likewise.
904 (gcry_md_copy): Likewise. 904 (gcry_md_copy): Likewise.
905 (gcry_md_setkey): Likewise. 905 (gcry_md_setkey): Likewise.
906 (gcry_md_algo_info): Likewise. 906 (gcry_md_algo_info): Likewise.
907 907
908 * cipher.c (gcry_cipher_open): Adjusted for new no-errno-API and 908 * cipher.c (gcry_cipher_open): Adjusted for new no-errno-API and
909 also fixed a locking bug. 909 also fixed a locking bug.
910 (gcry_cipher_encrypt): Adjusted for new no-errno-API. 910 (gcry_cipher_encrypt): Adjusted for new no-errno-API.
911 (gcry_cipher_decrypt): Likewise. 911 (gcry_cipher_decrypt): Likewise.
912 (gcry_cipher_ctl): Likewise. 912 (gcry_cipher_ctl): Likewise.
913 (gcry_cipher_info): Likewise. 913 (gcry_cipher_info): Likewise.
914 (gcry_cipher_algo_info): Likewise. 914 (gcry_cipher_algo_info): Likewise.
915 915
9162003-05-28 Moritz Schulte <moritz@g10code.com> 9162003-05-28 Moritz Schulte <moritz@g10code.com>
917 917
918 * md.c (md_enable): Adjusted for libgpg-error. 918 * md.c (md_enable): Adjusted for libgpg-error.
919 (gcry_md_enable): Likewise. 919 (gcry_md_enable): Likewise.
920 (gcry_digest_register_default): Likewise. 920 (gcry_digest_register_default): Likewise.
921 (gcry_digest_register): Likewise. 921 (gcry_digest_register): Likewise.
922 (check_digest_algo): Likewise. 922 (check_digest_algo): Likewise.
923 (prepare_macpads): Likewise. 923 (prepare_macpads): Likewise.
924 (gcry_md_setkey): Likewise. 924 (gcry_md_setkey): Likewise.
925 (gcry_md_ctl): Likewise. 925 (gcry_md_ctl): Likewise.
926 (gcry_md_get): Likewise. 926 (gcry_md_get): Likewise.
927 (gcry_md_algo_info): Likewise. 927 (gcry_md_algo_info): Likewise.
928 (gcry_md_info): Likewise. 928 (gcry_md_info): Likewise.
929 * dsa.c (_gcry_dsa_generate): Likewise. 929 * dsa.c (_gcry_dsa_generate): Likewise.
930 (_gcry_dsa_check_secret_key): Likewise. 930 (_gcry_dsa_check_secret_key): Likewise.
931 (_gcry_dsa_sign): Likewie. 931 (_gcry_dsa_sign): Likewie.
932 (_gcry_dsa_verify): Likewise. 932 (_gcry_dsa_verify): Likewise.
933 * twofish.c (do_twofish_setkey): Likewise. 933 * twofish.c (do_twofish_setkey): Likewise.
934 (twofish_setkey): Likewise. 934 (twofish_setkey): Likewise.
935 * cipher.c (gcry_cipher_register): Likewise. 935 * cipher.c (gcry_cipher_register): Likewise.
936 936
9372003-05-25 Moritz Schulte <moritz@g10code.com> 9372003-05-25 Moritz Schulte <moritz@g10code.com>
938 938
939 * rijndael.c (do_setkey): Adjusted for libgpg-error. 939 * rijndael.c (do_setkey): Adjusted for libgpg-error.
940 (rijndael_setkey): Likewise. 940 (rijndael_setkey): Likewise.
941 * random.c (gcry_random_add_bytes): Likewise. 941 * random.c (gcry_random_add_bytes): Likewise.
942 * elgamal.c (_gcry_elg_generate): Likewise. 942 * elgamal.c (_gcry_elg_generate): Likewise.
943 (_gcry_elg_check_secret_key): Likewise. 943 (_gcry_elg_check_secret_key): Likewise.
944 (_gcry_elg_encrypt): Likewise. 944 (_gcry_elg_encrypt): Likewise.
945 (_gcry_elg_decrypt): Likewise. 945 (_gcry_elg_decrypt): Likewise.
946 (_gcry_elg_sign): Likewise. 946 (_gcry_elg_sign): Likewise.
947 (_gcry_elg_verify): Likewise. 947 (_gcry_elg_verify): Likewise.
948 * rsa.c (_gcry_rsa_generate): Likewise. 948 * rsa.c (_gcry_rsa_generate): Likewise.
949 (_gcry_rsa_check_secret_key): Likewise. 949 (_gcry_rsa_check_secret_key): Likewise.
950 (_gcry_rsa_encrypt): Likewise. 950 (_gcry_rsa_encrypt): Likewise.
951 (_gcry_rsa_decrypt): Likewise. 951 (_gcry_rsa_decrypt): Likewise.
952 (_gcry_rsa_sign): Likewise. 952 (_gcry_rsa_sign): Likewise.
953 (_gcry_rsa_verify): Likewise. 953 (_gcry_rsa_verify): Likewise.
954 * pubkey.c (dummy_generate, dummy_check_secret_key, dummy_encrypt, 954 * pubkey.c (dummy_generate, dummy_check_secret_key, dummy_encrypt,
955 dummy_decrypt, dummy_sign, dummy_verify): Likewise. 955 dummy_decrypt, dummy_sign, dummy_verify): Likewise.
956 (gcry_pubkey_register): Likewise. 956 (gcry_pubkey_register): Likewise.
957 (check_pubkey_algo): Likewise. 957 (check_pubkey_algo): Likewise.
958 (pubkey_generate): Likewise. 958 (pubkey_generate): Likewise.
959 (pubkey_check_secret_key): Likewise. 959 (pubkey_check_secret_key): Likewise.
960 (pubkey_encrypt): Likewise. 960 (pubkey_encrypt): Likewise.
961 (pubkey_decrypt): Likewise. 961 (pubkey_decrypt): Likewise.
962 (pubkey_sign): Likewise. 962 (pubkey_sign): Likewise.
963 (pubkey_verify): Likewise. 963 (pubkey_verify): Likewise.
964 (sexp_elements_extract): Likewise. 964 (sexp_elements_extract): Likewise.
965 (sexp_to_key): Likewise. 965 (sexp_to_key): Likewise.
966 (sexp_to_sig): Likewise. 966 (sexp_to_sig): Likewise.
967 (sexp_to_enc): Likewise. 967 (sexp_to_enc): Likewise.
968 (sexp_data_to_mpi): Likewise. 968 (sexp_data_to_mpi): Likewise.
969 (gcry_pk_encrypt): Likewise. 969 (gcry_pk_encrypt): Likewise.
970 (gcry_pk_decrypt): Likewise. 970 (gcry_pk_decrypt): Likewise.
971 (gcry_pk_sign): Likewise. 971 (gcry_pk_sign): Likewise.
972 (gcry_pk_verify): Likewise. 972 (gcry_pk_verify): Likewise.
973 (gcry_pk_testkey): Likewise. 973 (gcry_pk_testkey): Likewise.
974 (gcry_pk_genkey): Likewise. 974 (gcry_pk_genkey): Likewise.
975 (gcry_pk_ctl): Likewise. 975 (gcry_pk_ctl): Likewise.
976 * cipher.c (dummy_setkey): Likewise. 976 * cipher.c (dummy_setkey): Likewise.
977 (check_cipher_algo): Likewise. 977 (check_cipher_algo): Likewise.
978 (gcry_cipher_open): Likewise. 978 (gcry_cipher_open): Likewise.
979 (cipher_setkey): Likewise. 979 (cipher_setkey): Likewise.
980 (gcry_cipher_ctl): Likewise. 980 (gcry_cipher_ctl): Likewise.
981 (cipher_encrypt): Likewise. 981 (cipher_encrypt): Likewise.
982 (gcry_cipher_encrypt): Likewise. 982 (gcry_cipher_encrypt): Likewise.
983 (cipher_decrypt): Likewise. 983 (cipher_decrypt): Likewise.
984 (gcry_cipher_decrypt): Likewise. 984 (gcry_cipher_decrypt): Likewise.
985 (gcry_cipher_info): Likewise. 985 (gcry_cipher_info): Likewise.
986 (gcry_cipher_algo_info): Likewise. 986 (gcry_cipher_algo_info): Likewise.
987 * cast5.c (cast_setkey): Likewise. 987 * cast5.c (cast_setkey): Likewise.
988 (do_cast_setkey): Likewise. 988 (do_cast_setkey): Likewise.
989 * arcfour.c (arcfour_setkey): Likewise. 989 * arcfour.c (arcfour_setkey): Likewise.
990 (do_arcfour_setkey): Likewise. 990 (do_arcfour_setkey): Likewise.
991 * blowfish.c (do_bf_setkey): Likewise. 991 * blowfish.c (do_bf_setkey): Likewise.
992 (bf_setkey): Likewise. 992 (bf_setkey): Likewise.
993 * des.c (do_des_setkey): Likewise. 993 * des.c (do_des_setkey): Likewise.
994 (do_tripledes_setkey): Likewise. 994 (do_tripledes_setkey): Likewise.
995 995
9962003-05-22 Moritz Schulte <moritz@g10code.com> 9962003-05-22 Moritz Schulte <moritz@g10code.com>
997 997
998 * tiger.c: Merged code ussing the U64_C macro from GnuPG. 998 * tiger.c: Merged code ussing the U64_C macro from GnuPG.
999 999
1000 * sha512.c: Likewise. 1000 * sha512.c: Likewise.
1001 1001
10022003-05-17 Moritz Schulte <moritz@g10code.com> 10022003-05-17 Moritz Schulte <moritz@g10code.com>
1003 1003
1004 * pubkey.c (gcry_pk_genkey): Fix type: acquire a lock, instead of 1004 * pubkey.c (gcry_pk_genkey): Fix type: acquire a lock, instead of
1005 releasing it. 1005 releasing it.
1006 1006
10072003-05-11 Moritz Schulte <moritz@g10code.com> 10072003-05-11 Moritz Schulte <moritz@g10code.com>
1008 1008
1009 * pubkey.c (gcry_pk_testkey): Call REGISTER_DEFAULT_CIPHERS. 1009 * pubkey.c (gcry_pk_testkey): Call REGISTER_DEFAULT_CIPHERS.
1010 (gcry_pk_ctl): Likewise. 1010 (gcry_pk_ctl): Likewise.
1011 1011
10122003-04-27 Moritz Schulte <moritz@g10code.com> 10122003-04-27 Moritz Schulte <moritz@g10code.com>
1013 1013
1014 * pubkey.c (gcry_pk_genkey): Release sexp after extracted data has 1014 * pubkey.c (gcry_pk_genkey): Release sexp after extracted data has
1015 been used. 1015 been used.
1016 1016
1017 * md.c (gcry_md_get_algo_dlen): Simplified, simply call 1017 * md.c (gcry_md_get_algo_dlen): Simplified, simply call
1018 md_digest_length to do the job. 1018 md_digest_length to do the job.
1019 1019
1020 * des.c (do_des_setkey): Check for selftest failure not only 1020 * des.c (do_des_setkey): Check for selftest failure not only
1021 during initialization. 1021 during initialization.
1022 (do_tripledes_setkey): Include check for selftest failure. 1022 (do_tripledes_setkey): Include check for selftest failure.
1023 1023
1024 * pubkey.c (gcry_pubkey_register_default): New macro 1024 * pubkey.c (gcry_pubkey_register_default): New macro
1025 `pubkey_use_dummy', use it. 1025 `pubkey_use_dummy', use it.
1026 1026
1027 * elgamal.c (elg_names): New variable. 1027 * elgamal.c (elg_names): New variable.
1028 (pubkey_spec_elg): Include elg_names. 1028 (pubkey_spec_elg): Include elg_names.
1029 1029
1030 * dsa.c (dsa_names): New variable. 1030 * dsa.c (dsa_names): New variable.
1031 (pubkey_spec_dsa): Include dsa_names. 1031 (pubkey_spec_dsa): Include dsa_names.
1032 1032
1033 * rsa.c (rsa_names): New variable. 1033 * rsa.c (rsa_names): New variable.
1034 (pubkey_spec_rsa): Include rsa_names. 1034 (pubkey_spec_rsa): Include rsa_names.
1035 1035
1036 * pubkey.c (gcry_pubkey_lookup_func_name): Compare name also with 1036 * pubkey.c (gcry_pubkey_lookup_func_name): Compare name also with
1037 the names listed in `sexp_names'. 1037 the names listed in `sexp_names'.
1038 1038
10392003-04-24 Moritz Schulte <moritz@g10code.com> 10392003-04-24 Moritz Schulte <moritz@g10code.com>
1040 1040
1041 * pubkey.c (sexp_to_key): New variables: module, pubkey. Adjusted 1041 * pubkey.c (sexp_to_key): New variables: module, pubkey. Adjusted
1042 to new module interface. 1042 to new module interface.
1043 (sexp_to_key): Changend type of argument `retalgo' from `int *' to 1043 (sexp_to_key): Changend type of argument `retalgo' from `int *' to
1044 `GcryModule **'. Adjusted all callers. Removed argument: 1044 `GcryModule **'. Adjusted all callers. Removed argument:
1045 r_algotblidx. 1045 r_algotblidx.
1046 (sexp_to_sig): Changend type of argument `retalgo' from `int *' to 1046 (sexp_to_sig): Changend type of argument `retalgo' from `int *' to
1047 `GcryModule **'. Adjusted all callers. 1047 `GcryModule **'. Adjusted all callers.
1048 (sexp_to_enc): Likewise. 1048 (sexp_to_enc): Likewise.
1049 1049
1050 (pubkey_get_npkey, pubkey_get_nskey, pubkey_get_nsig, 1050 (pubkey_get_npkey, pubkey_get_nskey, pubkey_get_nsig,
1051 pubkey_get_nenc): Use strlen to find out the number. 1051 pubkey_get_nenc): Use strlen to find out the number.
1052 1052
1053 * rsa.c: Adjust pubkey_spec_rsa to new internal interface. 1053 * rsa.c: Adjust pubkey_spec_rsa to new internal interface.
1054 * dsa.c: Likewise. 1054 * dsa.c: Likewise.
1055 * elgamal.c: Likewise. 1055 * elgamal.c: Likewise.
1056 1056
10572003-04-17 Moritz Schulte <moritz@g10code.com> 10572003-04-17 Moritz Schulte <moritz@g10code.com>
1058 1058
1059 * pubkey.c (sexp_elements_extract): New function. 1059 * pubkey.c (sexp_elements_extract): New function.
1060 * pubkey.c (sexp_to_key): Removed variable `idx', added `err', use 1060 * pubkey.c (sexp_to_key): Removed variable `idx', added `err', use
1061 sexp_elements_extract. 1061 sexp_elements_extract.
1062 (sexp_to_sig): Likewise. 1062 (sexp_to_sig): Likewise.
1063 (sexp_to_enc): Likewise. 1063 (sexp_to_enc): Likewise.
1064 1064
1065 * pubkey.c: Terminate list correctly. 1065 * pubkey.c: Terminate list correctly.
1066 * md.c: Include sha512/sha384 in digest_table. 1066 * md.c: Include sha512/sha384 in digest_table.
1067 1067
10682003-04-16 Moritz Schulte <moritz@g10code.com> 10682003-04-16 Moritz Schulte <moritz@g10code.com>
1069 1069
1070 * Makefile.am: Include support for sha512.c. 1070 * Makefile.am: Include support for sha512.c.
1071 1071
1072 * sha512.c: New file, merged from GnuPG, with few modifications 1072 * sha512.c: New file, merged from GnuPG, with few modifications
1073 for libgcrypt. 1073 for libgcrypt.
1074 1074
1075 * rand-internal.h: Removed declarations for constructor functions. 1075 * rand-internal.h: Removed declarations for constructor functions.
1076 1076
1077 * md.c (md_copy): Call _gcry_module_use for incrementing the usage 1077 * md.c (md_copy): Call _gcry_module_use for incrementing the usage
1078 counter of the digest modules. 1078 counter of the digest modules.
1079 1079
1080 * rsa.c: Do not include "rsa.h". 1080 * rsa.c: Do not include "rsa.h".
1081 * dsa.c: Do not include "dsa.h". 1081 * dsa.c: Do not include "dsa.h".
1082 * elgamal.c: Do not include "elgamal.h". 1082 * elgamal.c: Do not include "elgamal.h".
1083 * des.c: Do not include "des.h". 1083 * des.c: Do not include "des.h".
1084 * cast5.c: Do not include "cast5.h". 1084 * cast5.c: Do not include "cast5.h".
1085 * blowfish.c: Do not include "blowfish.h". 1085 * blowfish.c: Do not include "blowfish.h".
1086 * arcfour.c: Do not include "arcfour.h". 1086 * arcfour.c: Do not include "arcfour.h".
1087 1087
1088 * Makefile.am (libcipher_la_DEPENDENCIES): Removed. 1088 * Makefile.am (libcipher_la_DEPENDENCIES): Removed.
1089 (libcipher_la_LIBADD): Removed. 1089 (libcipher_la_LIBADD): Removed.
1090 Use Automake conditionals for conditional compilation. 1090 Use Automake conditionals for conditional compilation.
1091 1091
10922003-04-13 Moritz Schulte <moritz@g10code.com> 10922003-04-13 Moritz Schulte <moritz@g10code.com>
1093 1093
1094 * cipher.c (gcry_cipher_open): Call REGISTER_DEFAULT_CIPHERS. 1094 * cipher.c (gcry_cipher_open): Call REGISTER_DEFAULT_CIPHERS.
1095 1095
1096 * md.c (gcry_md_list): New member: module. 1096 * md.c (gcry_md_list): New member: module.
1097 (md_enable): New variable: module, changed use of module and 1097 (md_enable): New variable: module, changed use of module and
1098 digest. 1098 digest.
1099 (md_enable): Initialize member: module. 1099 (md_enable): Initialize member: module.
1100 (md_close): Call _gcry_module_release. 1100 (md_close): Call _gcry_module_release.
1101 1101
1102 * cipher.c (gcry_cipher_open): New variable: module, changed use of 1102 * cipher.c (gcry_cipher_open): New variable: module, changed use of
1103 module and cipher. 1103 module and cipher.
1104 (struct gcry_cipher_handle): New member: module. 1104 (struct gcry_cipher_handle): New member: module.
1105 (gcry_cipher_open): Initialize member: module. 1105 (gcry_cipher_open): Initialize member: module.
1106 (gcry_cipher_close): Call _gcry_module_release. 1106 (gcry_cipher_close): Call _gcry_module_release.
1107 1107
11082003-04-09 Moritz Schulte <moritz@g10code.com> 11082003-04-09 Moritz Schulte <moritz@g10code.com>
1109 1109
1110 * cipher.c: Include "ath.h". 1110 * cipher.c: Include "ath.h".
1111 * md.c: Likewise. 1111 * md.c: Likewise.
1112 * pubkey.c: Likewise. 1112 * pubkey.c: Likewise.
1113 1113
1114 * cipher.c (ciphers_registered_lock): New variable. 1114 * cipher.c (ciphers_registered_lock): New variable.
1115 * md.c (digests_registered_lock): New variable. 1115 * md.c (digests_registered_lock): New variable.
1116 * pubkey.c (pubkeys_registered_lock): New variable. 1116 * pubkey.c (pubkeys_registered_lock): New variable.
1117 1117
1118 * rndlinux.c (gnupgext_version, func_table): Removed definitions. 1118 * rndlinux.c (gnupgext_version, func_table): Removed definitions.
1119 (gnupgext_enum_func): Removed function. 1119 (gnupgext_enum_func): Removed function.
1120 (_gcry_rndlinux_constructor): Removed function. 1120 (_gcry_rndlinux_constructor): Removed function.
1121 1121
1122 * rndegd.c (gnupgext_version, func_table): Removed definitions. 1122 * rndegd.c (gnupgext_version, func_table): Removed definitions.
1123 (gnupgext_enum_func): Removed function. 1123 (gnupgext_enum_func): Removed function.
1124 (_gcry_rndegd_constructor): Removed function. 1124 (_gcry_rndegd_constructor): Removed function.
1125 1125
1126 * rndunix.c (gnupgext_version, func_table): Removed definitions. 1126 * rndunix.c (gnupgext_version, func_table): Removed definitions.
1127 (gnupgext_enum_func): Removed function. 1127 (gnupgext_enum_func): Removed function.
1128 (_gcry_rndunix_constructor): Removed function. 1128 (_gcry_rndunix_constructor): Removed function.
1129 1129
1130 * rndw32.c (gnupgext_version, func_table): Removed definitions. 1130 * rndw32.c (gnupgext_version, func_table): Removed definitions.
1131 (gnupgext_enum_func): Removed function. 1131 (gnupgext_enum_func): Removed function.
1132 (_gcry_rndw32_constructor): Removed function. 1132 (_gcry_rndw32_constructor): Removed function.
1133 1133
1134 * rndegd.c (rndegd_connect_socket): Simplify code for creating the 1134 * rndegd.c (rndegd_connect_socket): Simplify code for creating the
1135 egd socket address. 1135 egd socket address.
1136 (rndegd_connect_socket): Call log_fatal use instead of 1136 (rndegd_connect_socket): Call log_fatal use instead of
1137 g10_log_fatal. 1137 g10_log_fatal.
1138 (egd_gather_random): Renamed to ... 1138 (egd_gather_random): Renamed to ...
1139 (rndegd_gather_random): ... here. 1139 (rndegd_gather_random): ... here.
1140 1140
11412003-04-08 Moritz Schulte <moritz@g10code.com> 11412003-04-08 Moritz Schulte <moritz@g10code.com>
1142 1142
1143 * rndlinux.c: Do not include "dynload.h". 1143 * rndlinux.c: Do not include "dynload.h".
1144 * rndunix.c: Likewise. 1144 * rndunix.c: Likewise.
1145 * rndw32.c: Likewise. 1145 * rndw32.c: Likewise.
1146 1146
1147 * rndegd.c (rndegd_connect_socket): Factored out from ... 1147 * rndegd.c (rndegd_connect_socket): Factored out from ...
1148 (egd_gather_random): here; call it. 1148 (egd_gather_random): here; call it.
1149 (egd_socket): New variable. 1149 (egd_socket): New variable.
1150 (egd_gather_random): Initialize fd with egd_socket, do not declare 1150 (egd_gather_random): Initialize fd with egd_socket, do not declare
1151 fd static. 1151 fd static.
1152 (do_read): Merged few changes from GnuPG. FIXME - not finished? 1152 (do_read): Merged few changes from GnuPG. FIXME - not finished?
1153 Do not include "dynload.h". 1153 Do not include "dynload.h".
1154 1154
1155 * rndw32.c (gather_random): Renamed to rndw32_gather_random, do 1155 * rndw32.c (gather_random): Renamed to rndw32_gather_random, do
1156 not declare static. 1156 not declare static.
1157 (gather_random_fast): Renamed to rndw32_gather_random_fast, do not 1157 (gather_random_fast): Renamed to rndw32_gather_random_fast, do not
1158 declare static. 1158 declare static.
1159 1159
1160 * rndunix.c (gather_random): Renamed to rndunix_gather_random, do 1160 * rndunix.c (gather_random): Renamed to rndunix_gather_random, do
1161 not declare static. 1161 not declare static.
1162 * rndegd.c (gather_random): Renamed to rndegd_gather_random, do 1162 * rndegd.c (gather_random): Renamed to rndegd_gather_random, do
1163 not declare static. 1163 not declare static.
1164 * rndlinux.c (gather_random): Renamed to rndlinux_gather_random, 1164 * rndlinux.c (gather_random): Renamed to rndlinux_gather_random,
1165 do not declare static. 1165 do not declare static.
1166 1166
11672003-04-07 Moritz Schulte <moritz@g10code.com> 11672003-04-07 Moritz Schulte <moritz@g10code.com>
1168 1168
1169 * Makefile.am (libcipher_la_SOURCES): Removed construct.c. 1169 * Makefile.am (libcipher_la_SOURCES): Removed construct.c.
1170 (libcipher_la_SOURCES): Added sha1.c, sha256.c, rmd160.c, md4.c, 1170 (libcipher_la_SOURCES): Added sha1.c, sha256.c, rmd160.c, md4.c,
1171 md5.c, tiger.c and crc.c 1171 md5.c, tiger.c and crc.c
1172 (EXTRA_PROGRAMS): Removed sha1, sha256, rmd160, md4, md5, tiger 1172 (EXTRA_PROGRAMS): Removed sha1, sha256, rmd160, md4, md5, tiger
1173 and crc. Removed definitions: EXTRA_md4_SOURCES, 1173 and crc. Removed definitions: EXTRA_md4_SOURCES,
1174 EXTRA_md5_SOURCES, EXTRA_rmd160_SOURCES, EXTRA_sha1_SOURCES, 1174 EXTRA_md5_SOURCES, EXTRA_rmd160_SOURCES, EXTRA_sha1_SOURCES,
1175 EXTRA_sha256_SOURCES, EXTRA_tiger_SOURCES and EXTRA_crc_SOURCES, 1175 EXTRA_sha256_SOURCES, EXTRA_tiger_SOURCES and EXTRA_crc_SOURCES,
1176 BUILT_SOURCES, DISTCLEANFILES. 1176 BUILT_SOURCES, DISTCLEANFILES.
1177 1177
1178 * pubkey.c: Do not include "elgamal.h", "dsa.h" and "rsa.h". 1178 * pubkey.c: Do not include "elgamal.h", "dsa.h" and "rsa.h".
1179 1179
1180 * Makefile.am (libcipher_la_SOURCES): Removed rsa.h, elgamal.h, 1180 * Makefile.am (libcipher_la_SOURCES): Removed rsa.h, elgamal.h,
1181 dsa.h, des.h, cast5.h, arcfour.h and blowfish.h. 1181 dsa.h, des.h, cast5.h, arcfour.h and blowfish.h.
1182 1182
1183 * rsa.h: Removed file. 1183 * rsa.h: Removed file.
1184 * elgamal.h: Removed file. 1184 * elgamal.h: Removed file.
1185 * dsa.h: Removed file. 1185 * dsa.h: Removed file.
1186 * des.h: Removed file. 1186 * des.h: Removed file.
1187 * cast5.h: Removed file. 1187 * cast5.h: Removed file.
1188 * arcfour.h: Removed file. 1188 * arcfour.h: Removed file.
1189 * blowfish.h: Removed file. 1189 * blowfish.h: Removed file.
1190 1190
1191 * Makefile.am (libcipher_la_SOURCES): Removed dynload.c and 1191 * Makefile.am (libcipher_la_SOURCES): Removed dynload.c and
1192 dynload.h. 1192 dynload.h.
1193 1193
1194 * rsa.c (pubkey_spec_rsa): New variable. 1194 * rsa.c (pubkey_spec_rsa): New variable.
1195 * dsa.c (pubkey_spec_rsa): New variable. 1195 * dsa.c (pubkey_spec_rsa): New variable.
1196 * elgamal.c (pubkey_spec_elg): New variable. 1196 * elgamal.c (pubkey_spec_elg): New variable.
1197 1197
1198 * rsa.c (_gcry_rsa_get_info): Removed function. 1198 * rsa.c (_gcry_rsa_get_info): Removed function.
1199 * elgamal.c (_gcry_elg_get_info): Removed function. 1199 * elgamal.c (_gcry_elg_get_info): Removed function.
1200 * dsa.c (_gcry_dsa_get_info): Removed function. 1200 * dsa.c (_gcry_dsa_get_info): Removed function.
1201 1201
1202 * tiger.c (tiger_get_info): Removed function. 1202 * tiger.c (tiger_get_info): Removed function.
1203 (gnupgext_version, func_table): Removed definitions. 1203 (gnupgext_version, func_table): Removed definitions.
1204 (gnupgext_enum_func): Removed function. 1204 (gnupgext_enum_func): Removed function.
1205 (_gcry_tiger_constructor): Removed function. 1205 (_gcry_tiger_constructor): Removed function.
1206 1206
1207 * sha1.c (sha1_get_info): Removed function. 1207 * sha1.c (sha1_get_info): Removed function.
1208 (gnupgext_version, func_table): Removed definitions. 1208 (gnupgext_version, func_table): Removed definitions.
1209 (gnupgext_enum_func): Removed function. 1209 (gnupgext_enum_func): Removed function.
1210 (_gcry_sha1_constructor): Removed function. 1210 (_gcry_sha1_constructor): Removed function.
1211 1211
1212 * sha256.c (sha256_get_info): Removed function. 1212 * sha256.c (sha256_get_info): Removed function.
1213 (gnupgext_version, func_table): Removed definitions. 1213 (gnupgext_version, func_table): Removed definitions.
1214 (gnupgext_enum_func): Removed function. 1214 (gnupgext_enum_func): Removed function.
1215 (_gcry_sha256_constructor): Removed function. 1215 (_gcry_sha256_constructor): Removed function.
1216 1216
1217 * rmd160.c (rmd160_get_info): Removed function. 1217 * rmd160.c (rmd160_get_info): Removed function.
1218 (gnupgext_version, func_table): Removed definitions. 1218 (gnupgext_version, func_table): Removed definitions.
1219 (gnupgext_enum_func): Removed function. 1219 (gnupgext_enum_func): Removed function.
1220 (_gcry_rmd160_constructor): Removed function. 1220 (_gcry_rmd160_constructor): Removed function.
1221 1221
1222 * md5.c (md5_get_info): Removed function. 1222 * md5.c (md5_get_info): Removed function.
1223 (gnupgext_version, func_table): Removed definitions. 1223 (gnupgext_version, func_table): Removed definitions.
1224 (gnupgext_enum_func): Removed function. 1224 (gnupgext_enum_func): Removed function.
1225 (_gcry_md5_constructor): Removed function. 1225 (_gcry_md5_constructor): Removed function.
1226 1226
1227 * md4.c (md4_get_info): Removed function. 1227 * md4.c (md4_get_info): Removed function.
1228 (gnupgext_version, func_table): Removed definitions. 1228 (gnupgext_version, func_table): Removed definitions.
1229 (gnupgext_enum_func): Removed function. 1229 (gnupgext_enum_func): Removed function.
1230 (_gcry_md4_constructor): Removed function. 1230 (_gcry_md4_constructor): Removed function.
1231 1231
1232 * crc.c (crc_get_info): Removed function. 1232 * crc.c (crc_get_info): Removed function.
1233 1233
1234 * arcfour.c (do_arcfour_setkey): Changed type of context argument 1234 * arcfour.c (do_arcfour_setkey): Changed type of context argument
1235 to `void *', added local variable for cast, adjusted callers. 1235 to `void *', added local variable for cast, adjusted callers.
1236 (arcfour_setkey): Likewise. 1236 (arcfour_setkey): Likewise.
1237 (encrypt_stream): Likewise. 1237 (encrypt_stream): Likewise.
1238 * cast5.c (cast_setkey): Likewise. 1238 * cast5.c (cast_setkey): Likewise.
1239 (encrypt_block): Likewise. 1239 (encrypt_block): Likewise.
1240 * rijndael.c (rijndael_setkey): Likewise. 1240 * rijndael.c (rijndael_setkey): Likewise.
1241 (rijndael_encrypt): Likewise. 1241 (rijndael_encrypt): Likewise.
1242 (rijndael_decrypt): Likewise. 1242 (rijndael_decrypt): Likewise.
1243 * twofish.c (twofish_setkey): Likewise. 1243 * twofish.c (twofish_setkey): Likewise.
1244 (twofish_encrypt): Likewise. 1244 (twofish_encrypt): Likewise.
1245 (twofish_decrypt): Likewise. 1245 (twofish_decrypt): Likewise.
1246 * des.c (do_des_setkey): Likewise. 1246 * des.c (do_des_setkey): Likewise.
1247 (do_des_encrypt): Likewise. 1247 (do_des_encrypt): Likewise.
1248 (do_des_encrypt): Likewise. 1248 (do_des_encrypt): Likewise.
1249 (do_tripledes_encrypt): Likewise. 1249 (do_tripledes_encrypt): Likewise.
1250 (do_tripledes_encrypt): Likewise. 1250 (do_tripledes_encrypt): Likewise.
1251 * blowfish.c (bf_setkey: Likewise. 1251 * blowfish.c (bf_setkey: Likewise.
1252 (encrypt_block): Likewise. 1252 (encrypt_block): Likewise.
1253 (decrypt_block): Likewise. 1253 (decrypt_block): Likewise.
1254 1254
1255 * arcfour.c (encrypt_stream): Likewise. 1255 * arcfour.c (encrypt_stream): Likewise.
1256 1256
1257 * rijndael.c (gnupgext_version, func_table): Removed definitions. 1257 * rijndael.c (gnupgext_version, func_table): Removed definitions.
1258 (gnupgext_enum_func) Removed function. 1258 (gnupgext_enum_func) Removed function.
1259 1259
1260 * twofish.c (gnupgext_version, func_table): Removed definitions. 1260 * twofish.c (gnupgext_version, func_table): Removed definitions.
1261 (gnupgext_enum_func) Removed function. 1261 (gnupgext_enum_func) Removed function.
1262 1262
1263 * cast5.c (CIPHER_ALGO_CAST5): Removed. 1263 * cast5.c (CIPHER_ALGO_CAST5): Removed.
1264 1264
1265 * blowfish.c (FNCCAST_SETKEY, FNCCAST_CRYPT): Removed macros. 1265 * blowfish.c (FNCCAST_SETKEY, FNCCAST_CRYPT): Removed macros.
1266 (CIPHER_ALGO_BLOWFISH): Removed symbol. 1266 (CIPHER_ALGO_BLOWFISH): Removed symbol.
1267 * cast5.c (FNCCAST_SETKEY, FNCCAST_CRYPT): Likewise. 1267 * cast5.c (FNCCAST_SETKEY, FNCCAST_CRYPT): Likewise.
1268 * des.c (selftest_failed): Removed. 1268 * des.c (selftest_failed): Removed.
1269 (initialized): New variable. 1269 (initialized): New variable.
1270 (do_des_setkey): Run selftest, if not yet done. 1270 (do_des_setkey): Run selftest, if not yet done.
1271 (FNCCAST_SETKEY, FNCCAST_CRYPT): Removed macros. 1271 (FNCCAST_SETKEY, FNCCAST_CRYPT): Removed macros.
1272 1272
1273 * arcfour.c (_gcry_arcfour_get_info): Removed function. 1273 * arcfour.c (_gcry_arcfour_get_info): Removed function.
1274 * blowfish.c (_gcry_blowfish_get_info): Removed function. 1274 * blowfish.c (_gcry_blowfish_get_info): Removed function.
1275 * cast5.c (_gcry_cast5_get_info): Removed function. 1275 * cast5.c (_gcry_cast5_get_info): Removed function.
1276 * des.c (_gcry_des_get_info): Removed function. 1276 * des.c (_gcry_des_get_info): Removed function.
1277 * rijndael.c (_gcry_rijndael_get_info): Removed function. 1277 * rijndael.c (_gcry_rijndael_get_info): Removed function.
1278 * twofish.c (_gcry_twofish_get_info): Removed function. 1278 * twofish.c (_gcry_twofish_get_info): Removed function.
1279 1279
1280 * arcfour.c (cipher_spec_arcfour): New variable. 1280 * arcfour.c (cipher_spec_arcfour): New variable.
1281 * twofish.c (cipher_spec_twofish, cipher_spec_twofish128): New 1281 * twofish.c (cipher_spec_twofish, cipher_spec_twofish128): New
1282 variables. 1282 variables.
1283 * rijndael.c (cipher_spec_aes, cipher_spec_aes192, 1283 * rijndael.c (cipher_spec_aes, cipher_spec_aes192,
1284 cipher_spec256): New variables. 1284 cipher_spec256): New variables.
1285 * des.c (cipher_spec_des, cipher_spec_tripledes): New variables. 1285 * des.c (cipher_spec_des, cipher_spec_tripledes): New variables.
1286 * cast5.c (cipher_spec_cast5): New variable. 1286 * cast5.c (cipher_spec_cast5): New variable.
1287 * blowfish.c (cipher_spec_blowfish): Likewise. 1287 * blowfish.c (cipher_spec_blowfish): Likewise.
1288 1288
1289 * twofish.c: Do not include "dynload.h". 1289 * twofish.c: Do not include "dynload.h".
1290 * rijndael.c: Likewise. 1290 * rijndael.c: Likewise.
1291 * des.c: Likewise. 1291 * des.c: Likewise.
1292 * cast5.c: Likewise. 1292 * cast5.c: Likewise.
1293 * blowfish.c: Likewise. 1293 * blowfish.c: Likewise.
1294 * cipher.c: Likewise. 1294 * cipher.c: Likewise.
1295 * crc.c: Likewise. 1295 * crc.c: Likewise.
1296 * md4.c: Likewise. 1296 * md4.c: Likewise.
1297 * md5.c: Likewise. 1297 * md5.c: Likewise.
1298 * md.c: Likewise. 1298 * md.c: Likewise.
1299 * pubkey.c: Likewise. 1299 * pubkey.c: Likewise.
1300 * rijndael.c: Likewise. 1300 * rijndael.c: Likewise.
1301 * sha1.c: Likewise. 1301 * sha1.c: Likewise.
1302 * sha256.c: Likewise. 1302 * sha256.c: Likewise.
1303 1303
1304 * arcfour.c: Include "cipher.h". 1304 * arcfour.c: Include "cipher.h".
1305 * twofish.c: Likewise. 1305 * twofish.c: Likewise.
1306 * rijndael.c: Likewise. 1306 * rijndael.c: Likewise.
1307 * des.c: Likewise. 1307 * des.c: Likewise.
1308 * cast5.c: Likewise. 1308 * cast5.c: Likewise.
1309 * blowfish.c: Likewise. 1309 * blowfish.c: Likewise.
1310 1310
1311 * twofish.c (twofish_setkey): Declared argument `key' const. 1311 * twofish.c (twofish_setkey): Declared argument `key' const.
1312 (twofish_encrypt): Declared argument `inbuf' const. 1312 (twofish_encrypt): Declared argument `inbuf' const.
1313 (twofish_decrypt): Likewise. 1313 (twofish_decrypt): Likewise.
1314 1314
1315 * rijndael.c (rijndael_setkey): Declared argument `key' const. 1315 * rijndael.c (rijndael_setkey): Declared argument `key' const.
1316 (rijndael_encrypt): Declared argument `inbuf' const. 1316 (rijndael_encrypt): Declared argument `inbuf' const.
1317 (rijndael_decrypt): Likewise. 1317 (rijndael_decrypt): Likewise.
1318 1318
1319 * des.c (do_des_setkey): Declared argument `key' const. 1319 * des.c (do_des_setkey): Declared argument `key' const.
1320 (do_tripledes_setkey): Likewise. 1320 (do_tripledes_setkey): Likewise.
1321 (do_des_encrypt): Declared argument `inbuf' const. 1321 (do_des_encrypt): Declared argument `inbuf' const.
1322 (do_des_decrypt): Likewise. 1322 (do_des_decrypt): Likewise.
1323 (do_tripledes_encrypt): Likewise. 1323 (do_tripledes_encrypt): Likewise.
1324 (do_tripledes_decrypt): Likewise. 1324 (do_tripledes_decrypt): Likewise.
1325 1325
1326 * cast5.c (encrypt_block): Declared argument `inbuf' const. 1326 * cast5.c (encrypt_block): Declared argument `inbuf' const.
1327 (decrypt_block): Likewise. 1327 (decrypt_block): Likewise.
1328 (cast_setkey): Declared argument `key' const. 1328 (cast_setkey): Declared argument `key' const.
1329 1329
1330 * blowfish.c (do_bf_setkey): Declared argument `key' const. 1330 * blowfish.c (do_bf_setkey): Declared argument `key' const.
1331 (encrypt_block): Declared argument `inbuf' const. 1331 (encrypt_block): Declared argument `inbuf' const.
1332 (encrypt_block): Likewise. 1332 (encrypt_block): Likewise.
1333 1333
1334 1334
1335 1335
1336 * cipher.c: Remove CIPHER_ALGO_DUMMY related code. 1336 * cipher.c: Remove CIPHER_ALGO_DUMMY related code.
1337 Removed struct cipher_table_s. 1337 Removed struct cipher_table_s.
1338 Changed definition of cipher_table. 1338 Changed definition of cipher_table.
1339 Removed definition of disabled_algos. 1339 Removed definition of disabled_algos.
1340 (ciphers_registered, default_ciphers_registered): New variables. 1340 (ciphers_registered, default_ciphers_registered): New variables.
1341 (REGISTER_DEFAULT_CIPHERS): New macro. 1341 (REGISTER_DEFAULT_CIPHERS): New macro.
1342 (dummy_setkey): Declared argument `key' const. 1342 (dummy_setkey): Declared argument `key' const.
1343 (dummy_encrypt_block): Declared argument `inbuf' const. 1343 (dummy_encrypt_block): Declared argument `inbuf' const.
1344 (dummy_encrypt_block): Likewise. 1344 (dummy_encrypt_block): Likewise.
1345 (dummy_encrypt_stream): Likewise. 1345 (dummy_encrypt_stream): Likewise.
1346 (dummy_encrypt_stream): Likewise. 1346 (dummy_encrypt_stream): Likewise.
1347 (dummy_setkey): Use `unsigned char' instead of `byte'. 1347 (dummy_setkey): Use `unsigned char' instead of `byte'.
1348 (dummy_encrypt_block): Likewise. 1348 (dummy_encrypt_block): Likewise.
1349 (dummy_decrypt_block): Likewise. 1349 (dummy_decrypt_block): Likewise.
1350 (dummy_encrypt_stream): Likewise. 1350 (dummy_encrypt_stream): Likewise.
1351 (dummy_decrypt_stream): Likewise. 1351 (dummy_decrypt_stream): Likewise.
1352 (gcry_cipher_register_default): New function. 1352 (gcry_cipher_register_default): New function.
1353 (gcry_cipher_lookup_func_id): New function. 1353 (gcry_cipher_lookup_func_id): New function.
1354 (gcry_cipher_lookup_func_name): New function. 1354 (gcry_cipher_lookup_func_name): New function.
1355 (gcry_cipher_lookup_id): New function. 1355 (gcry_cipher_lookup_id): New function.
1356 (gcry_cipher_lookup_name): New function. 1356 (gcry_cipher_lookup_name): New function.
1357 (gcry_cipher_id_new): New function. 1357 (gcry_cipher_id_new): New function.
1358 (gcry_cipher_register): New function. 1358 (gcry_cipher_register): New function.
1359 (gcry_cipher_unregister): New function. 1359 (gcry_cipher_unregister): New function.
1360 (setup_cipher_table): Removed function. 1360 (setup_cipher_table): Removed function.
1361 (load_cipher_modules): Removed function. 1361 (load_cipher_modules): Removed function.
1362 (gcry_cipher_map_name): Adjusted to use new module management. 1362 (gcry_cipher_map_name): Adjusted to use new module management.
1363 (cipher_algo_to_string): Likewise. 1363 (cipher_algo_to_string): Likewise.
1364 (disable_cipher_algo): Likewise. 1364 (disable_cipher_algo): Likewise.
1365 (check_cipher_algo): Likewise. 1365 (check_cipher_algo): Likewise.
1366 (cipher_get_keylen): Likewise. 1366 (cipher_get_keylen): Likewise.
1367 (cipher_get_blocksize): Likewise. 1367 (cipher_get_blocksize): Likewise.
1368 (gcry_cipher_open): Likewise. 1368 (gcry_cipher_open): Likewise.
1369 (struct gcry_cipher_handle): Replaced members algo, algo_index, 1369 (struct gcry_cipher_handle): Replaced members algo, algo_index,
1370 blocksize, setkey, encrypt, decrypt, stencrypt, stdecrypt with one 1370 blocksize, setkey, encrypt, decrypt, stencrypt, stdecrypt with one
1371 member: cipher. 1371 member: cipher.
1372 (gcry_cipher_open): Adjusted code for new handle structure. 1372 (gcry_cipher_open): Adjusted code for new handle structure.
1373 (cipher_setkey): Likewise. 1373 (cipher_setkey): Likewise.
1374 (cipher_setiv): Likewise. 1374 (cipher_setiv): Likewise.
1375 (cipher_reset): Likewise. 1375 (cipher_reset): Likewise.
1376 (do_ecb_encrypt): Likewise. 1376 (do_ecb_encrypt): Likewise.
1377 (do_ecb_decrypt): Likewise. 1377 (do_ecb_decrypt): Likewise.
1378 (do_cbc_encrypt): Likewise. 1378 (do_cbc_encrypt): Likewise.
1379 (do_cbc_decrypt): Likewise. 1379 (do_cbc_decrypt): Likewise.
1380 (do_cfb_encrypt): Likewise. 1380 (do_cfb_encrypt): Likewise.
1381 (do_cfb_decrypt): Likewise. 1381 (do_cfb_decrypt): Likewise.
1382 (do_ctr_encrypt): Likewise. 1382 (do_ctr_encrypt): Likewise.
1383 (cipher_encrypt): Likewise. 1383 (cipher_encrypt): Likewise.
1384 (gcry_cipher_encrypt): Likewise. 1384 (gcry_cipher_encrypt): Likewise.
1385 (cipher_decrypt): Likewise. 1385 (cipher_decrypt): Likewise.
1386 (gcry_cipher_decrypt): Likewise. 1386 (gcry_cipher_decrypt): Likewise.
1387 (cipher_sync): Likewise. 1387 (cipher_sync): Likewise.
1388 (gcry_cipher_ctl): Likewise. 1388 (gcry_cipher_ctl): Likewise.
1389 1389
1390 * pubkey.c: Removed struct pubkey_table_s. 1390 * pubkey.c: Removed struct pubkey_table_s.
1391 Changed definition of pubkey_table. 1391 Changed definition of pubkey_table.
1392 Removed definition of disabled_algos. 1392 Removed definition of disabled_algos.
1393 (pubkeys_registered, default_pubkeys_registered): New variables. 1393 (pubkeys_registered, default_pubkeys_registered): New variables.
1394 (REGISTER_DEFAULT_PUBKEYS): New macro. 1394 (REGISTER_DEFAULT_PUBKEYS): New macro.
1395 (setup_pubkey_table): Removed function. 1395 (setup_pubkey_table): Removed function.
1396 (load_pubkey_modules): Removed function. 1396 (load_pubkey_modules): Removed function.
1397 (gcry_pubkey_register_default): New function. 1397 (gcry_pubkey_register_default): New function.
1398 (gcry_pubkey_lookup_func_id): New function. 1398 (gcry_pubkey_lookup_func_id): New function.
1399 (gcry_pubkey_lookup_func_name): New function. 1399 (gcry_pubkey_lookup_func_name): New function.
1400 (gcry_pubkey_lookup_id): New function. 1400 (gcry_pubkey_lookup_id): New function.
1401 (gcry_pubkey_lookup_name): New function. 1401 (gcry_pubkey_lookup_name): New function.
1402 (gcry_pubkey_id_new): New function. 1402 (gcry_pubkey_id_new): New function.
1403 (gcry_pubkey_register): New function. 1403 (gcry_pubkey_register): New function.
1404 (gcry_pubkey_unregister): New function. 1404 (gcry_pubkey_unregister): New function.
1405 (gcry_pk_map_name): Adjusted to use new module management. 1405 (gcry_pk_map_name): Adjusted to use new module management.
1406 (gcry_pk_algo_name): Likewise. 1406 (gcry_pk_algo_name): Likewise.
1407 (disable_pubkey_algo): Likewise. 1407 (disable_pubkey_algo): Likewise.
1408 (check_pubkey_algo): Likewise. 1408 (check_pubkey_algo): Likewise.
1409 (pubkey_get_npkey): Likewise. 1409 (pubkey_get_npkey): Likewise.
1410 (pubkey_get_nskey): Likewise. 1410 (pubkey_get_nskey): Likewise.
1411 (pubkey_get_nsig): Likewise. 1411 (pubkey_get_nsig): Likewise.
1412 (pubkey_get_nenc): Likewise. 1412 (pubkey_get_nenc): Likewise.
1413 (pubkey_generate): Likewise. 1413 (pubkey_generate): Likewise.
1414 (pubkey_check_secret_key): Likewise. 1414 (pubkey_check_secret_key): Likewise.
1415 (pubkey_encrypt): Likewise. 1415 (pubkey_encrypt): Likewise.
1416 (pubkey_decrypt): Likewise. 1416 (pubkey_decrypt): Likewise.
1417 (pubkey_sign): Likewise. 1417 (pubkey_sign): Likewise.
1418 (pubkey_verify): Likewise. 1418 (pubkey_verify): Likewise.
1419 (gcry_pk_get_nbits): Likewise. 1419 (gcry_pk_get_nbits): Likewise.
1420 (gcry_pk_algo_info): Likewise. 1420 (gcry_pk_algo_info): Likewise.
1421 1421
1422 * md.c: Removed struct md_digest_list_s. 1422 * md.c: Removed struct md_digest_list_s.
1423 (digest_list): Changed definition. 1423 (digest_list): Changed definition.
1424 (digests_registered, default_digests_registered): New variables. 1424 (digests_registered, default_digests_registered): New variables.
1425 (REGISTER_DEFAULT_DIGESTS): New macro. 1425 (REGISTER_DEFAULT_DIGESTS): New macro.
1426 (new_list_item): Removed function. 1426 (new_list_item): Removed function.
1427 (setup_md_table): Removed function. 1427 (setup_md_table): Removed function.
1428 (load_digest_module): Removed function. 1428 (load_digest_module): Removed function.
1429 (gcry_digest_register_default): New function. 1429 (gcry_digest_register_default): New function.
1430 (gcry_digest_lookup_func_id): New function. 1430 (gcry_digest_lookup_func_id): New function.
1431 (gcry_digest_lookup_func_name): New function. 1431 (gcry_digest_lookup_func_name): New function.
1432 (gcry_digest_lookup_id): New function. 1432 (gcry_digest_lookup_id): New function.
1433 (gcry_digest_lookup_name): New function. 1433 (gcry_digest_lookup_name): New function.
1434 (gcry_digest_id_new): New function. 1434 (gcry_digest_id_new): New function.
1435 (gcry_digest_register): New function. 1435 (gcry_digest_register): New function.
1436 (gcry_digest_unregister): New function. 1436 (gcry_digest_unregister): New function.
1437 (GcryDigestEntry): New type. 1437 (GcryDigestEntry): New type.
1438 (struct gcry_md_context): Adjusted type of `list'. 1438 (struct gcry_md_context): Adjusted type of `list'.
1439 (gcry_md_map_name): Adjusted to use new module management. 1439 (gcry_md_map_name): Adjusted to use new module management.
1440 (digest_algo_to_string): Likewise. 1440 (digest_algo_to_string): Likewise.
1441 (check_digest_algo): Likewise. 1441 (check_digest_algo): Likewise.
1442 (md_enable): Likewise. 1442 (md_enable): Likewise.
1443 (md_digest_length): Likewise. 1443 (md_digest_length): Likewise.
1444 (md_asn_oid): Likewise. 1444 (md_asn_oid): Likewise.
1445 1445
14462003-04-07 Moritz Schulte <moritz@g10code.com> 14462003-04-07 Moritz Schulte <moritz@g10code.com>
1447 1447
1448 * pubkey.c: Replaced PUBKEY_ALGO_DSA with GCRY_PK_DSA, 1448 * pubkey.c: Replaced PUBKEY_ALGO_DSA with GCRY_PK_DSA,
1449 PUBKEY_ALGO_RSA with GCRY_PK_RSA and PUBKEY_ALGO_ELGAMAL with 1449 PUBKEY_ALGO_RSA with GCRY_PK_RSA and PUBKEY_ALGO_ELGAMAL with
1450 GCRY_PK_ELG. 1450 GCRY_PK_ELG.
1451 1451
1452 * dsa.c: Replaced PUBKEY_ALGO_DSA with GCRY_PK_DSA. 1452 * dsa.c: Replaced PUBKEY_ALGO_DSA with GCRY_PK_DSA.
1453 1453
14542003-04-01 Moritz Schulte <moritz@g10code.com> 14542003-04-01 Moritz Schulte <moritz@g10code.com>
1455 1455
1456 * des.c: Removed checks for GCRY_CIPHER_3DES and GCRY_CIPHER_DES. 1456 * des.c: Removed checks for GCRY_CIPHER_3DES and GCRY_CIPHER_DES.
1457 1457
14582003-03-31 Moritz Schulte <moritz@g10code.com> 14582003-03-31 Moritz Schulte <moritz@g10code.com>
1459 1459
1460 * tiger.c (tiger_get_info): Do not declare static. 1460 * tiger.c (tiger_get_info): Do not declare static.
1461 * sha256.c (sha256_get_info): Likewise. 1461 * sha256.c (sha256_get_info): Likewise.
1462 * sha1.c (sha1_get_info): Likewise. 1462 * sha1.c (sha1_get_info): Likewise.
1463 * rmd160.c (rmd160_get_info): Likewise. 1463 * rmd160.c (rmd160_get_info): Likewise.
1464 * md5.c (md5_get_info): Likewise. 1464 * md5.c (md5_get_info): Likewise.
1465 * md4.c (md4_get_info): Likewise. 1465 * md4.c (md4_get_info): Likewise.
1466 * crc.c (crc_get_info): Likewise. 1466 * crc.c (crc_get_info): Likewise.
1467 1467
1468 * md.c (load_digest_module): Call setup_md_table during 1468 * md.c (load_digest_module): Call setup_md_table during
1469 initialization. 1469 initialization.
1470 (new_list_item): Link new element into digest_list. 1470 (new_list_item): Link new element into digest_list.
1471 1471
1472 * cipher.c (do_ctr_decrypt): Made do_ctr_encrypt act as a wrapper 1472 * cipher.c (do_ctr_decrypt): Made do_ctr_encrypt act as a wrapper
1473 for do_ctr_encrypt, since these functions are identical. 1473 for do_ctr_encrypt, since these functions are identical.
1474 1474
14752003-03-30 Simon Josefsson <jas@extundo.com> 14752003-03-30 Simon Josefsson <jas@extundo.com>
1476 1476
1477 * cipher.c (struct gcry_cipher_handle): Add counter field. 1477 * cipher.c (struct gcry_cipher_handle): Add counter field.
1478 (gcry_cipher_open): Add CTR. 1478 (gcry_cipher_open): Add CTR.
1479 (cipher_reset): Clear counter field. 1479 (cipher_reset): Clear counter field.
1480 (do_ctr_encrypt, do_ctr_decrypt): New functions. 1480 (do_ctr_encrypt, do_ctr_decrypt): New functions.
1481 (cipher_encrypt, cipher_decrypt): Call CTR functions. 1481 (cipher_encrypt, cipher_decrypt): Call CTR functions.
1482 (gcry_cipher_ctl): Add SET_CTR to set counter. 1482 (gcry_cipher_ctl): Add SET_CTR to set counter.
1483 1483
14842003-03-30 Moritz Schulte <moritz@g10code.com> 14842003-03-30 Moritz Schulte <moritz@g10code.com>
1485 1485
1486 * rsa.c (_gcry_rsa_blind): New function. 1486 * rsa.c (_gcry_rsa_blind): New function.
1487 (_gcry_rsa_unblind): New function. 1487 (_gcry_rsa_unblind): New function.
1488 (_gcry_rsa_decrypt): Use _gcry_rsa_blind and _gcry_rsa_decrypt. 1488 (_gcry_rsa_decrypt): Use _gcry_rsa_blind and _gcry_rsa_decrypt.
1489 1489
14902003-03-26 Moritz Schulte <moritz@g10code.com> 14902003-03-26 Moritz Schulte <moritz@g10code.com>
1491 1491
1492 * dynload.c (_gcry_enum_gnupgext_pubkeys): Adjust `encrypt' and 1492 * dynload.c (_gcry_enum_gnupgext_pubkeys): Adjust `encrypt' and
1493 `decrypt' function arguments. 1493 `decrypt' function arguments.
1494 (_gcry_enum_gnupgext_pubkeys): Likewise. 1494 (_gcry_enum_gnupgext_pubkeys): Likewise.
1495 * dynload.h: Likewise. 1495 * dynload.h: Likewise.
1496 1496
1497 * pubkey.c (dummy_decrypt): Add argument: int flags. 1497 * pubkey.c (dummy_decrypt): Add argument: int flags.
1498 (dummy_encrypt): Likewise. 1498 (dummy_encrypt): Likewise.
1499 1499
1500 * elgamal.c (_gcry_elg_encrypt): Add argument: int flags. 1500 * elgamal.c (_gcry_elg_encrypt): Add argument: int flags.
1501 (_gcry_elg_decrypt): Likewise. 1501 (_gcry_elg_decrypt): Likewise.
1502 1502
1503 * rsa.c (_gcry_rsa_encrypt): Add argument: int flags. 1503 * rsa.c (_gcry_rsa_encrypt): Add argument: int flags.
1504 (_gcry_rsa_decrypt): Likewise. 1504 (_gcry_rsa_decrypt): Likewise.
1505 1505
1506 * pubkey.c: Add `flags' argument to members `encrypt' and 1506 * pubkey.c: Add `flags' argument to members `encrypt' and
1507 `decrypt' of struct `pubkey_table_s'. 1507 `decrypt' of struct `pubkey_table_s'.
1508 1508
1509 * rsa.h: Add `flags' argument to function declarations. 1509 * rsa.h: Add `flags' argument to function declarations.
1510 * elgamal.h: Likewise. 1510 * elgamal.h: Likewise.
1511 1511
1512 * pubkey.c (sexp_data_to_mpi): New variable: int parsed_flags. 1512 * pubkey.c (sexp_data_to_mpi): New variable: int parsed_flags.
1513 (sexp_data_to_mpi): Set `parsed_flags'. 1513 (sexp_data_to_mpi): Set `parsed_flags'.
1514 (sexp_data_to_mpi): New argument: int *flags. 1514 (sexp_data_to_mpi): New argument: int *flags.
1515 (gcry_pk_encrypt): New variable: int flags. 1515 (gcry_pk_encrypt): New variable: int flags.
1516 (gcry_pk_encrypt): Pass `flags' to pubkey_encrypt. 1516 (gcry_pk_encrypt): Pass `flags' to pubkey_encrypt.
1517 (pubkey_encrypt): New variable: int flags. 1517 (pubkey_encrypt): New variable: int flags.
1518 (pubkey_encrypt): Pass `flags' to pubkey encrypt function. 1518 (pubkey_encrypt): Pass `flags' to pubkey encrypt function.
1519 (pubkey_decrypt): Likewise. 1519 (pubkey_decrypt): Likewise.
1520 (pubkey_decrypt): Pass `flags' to pubkey encrypt function. 1520 (pubkey_decrypt): Pass `flags' to pubkey encrypt function.
1521 (gcry_pk_encrypt): Include `flags' s-exp in return list. 1521 (gcry_pk_encrypt): Include `flags' s-exp in return list.
1522 (sexp_to_enc): New argument: int *flags. 1522 (sexp_to_enc): New argument: int *flags.
1523 (gcry_pk_decrypt): New variable: int flags. 1523 (gcry_pk_decrypt): New variable: int flags.
1524 (gcry_pk_decrypt): Pass `flags' to pubkey_decrypt. 1524 (gcry_pk_decrypt): Pass `flags' to pubkey_decrypt.
1525 (sexp_to_enc): New variable: int parsed_flags. 1525 (sexp_to_enc): New variable: int parsed_flags.
1526 (sexp_to_enc): Set `parsed_flags'. 1526 (sexp_to_enc): Set `parsed_flags'.
1527 1527
15282003-03-22 Simon Josefsson <jas@extundo.com> 15282003-03-22 Simon Josefsson <jas@extundo.com>
1529 1529
1530 * cipher.c (gcry_cipher_open, do_cbc_encrypt) 1530 * cipher.c (gcry_cipher_open, do_cbc_encrypt)
1531 (gcry_cipher_encrypt): Support GCRY_CIPHER_CBC_MAC. 1531 (gcry_cipher_encrypt): Support GCRY_CIPHER_CBC_MAC.
1532 (gcry_cipher_ctl): Support GCRYCTL_SET_CBC_MAC. 1532 (gcry_cipher_ctl): Support GCRYCTL_SET_CBC_MAC.
1533 1533
15342003-03-19 Werner Koch <wk@gnupg.org> 15342003-03-19 Werner Koch <wk@gnupg.org>
1535 1535
1536 * primegen.c (gen_prime): New args EXTRA_CHECK and EXTRA_CHECK_ARG 1536 * primegen.c (gen_prime): New args EXTRA_CHECK and EXTRA_CHECK_ARG
1537 to allow for a user callback. Changed all callers. 1537 to allow for a user callback. Changed all callers.
1538 (_gcry_generate_secret_prime) 1538 (_gcry_generate_secret_prime)
1539 (_gcry_generate_public_prime): Ditto, pass them to gen_prime. 1539 (_gcry_generate_public_prime): Ditto, pass them to gen_prime.
1540 * rsa.c (check_exponent): New. 1540 * rsa.c (check_exponent): New.
1541 (generate): Use a callback to ensure that a given exponent is 1541 (generate): Use a callback to ensure that a given exponent is
1542 actually generated. 1542 actually generated.
1543 1543
15442003-03-12 Moritz Schulte <moritz@g10code.com> 15442003-03-12 Moritz Schulte <moritz@g10code.com>
1545 1545
1546 * primegen.c: Initialize `no_of_small_prime_numbers' statically. 1546 * primegen.c: Initialize `no_of_small_prime_numbers' statically.
1547 (gen_prime): Remove calculation of `no_of_small_prime_numbers'. 1547 (gen_prime): Remove calculation of `no_of_small_prime_numbers'.
1548 1548
15492003-03-03 Moritz Schulte <moritz@g10code.com> 15492003-03-03 Moritz Schulte <moritz@g10code.com>
1550 1550
1551 * md.c (gcry_md_ctl): Rewritten to use same style like the other 1551 * md.c (gcry_md_ctl): Rewritten to use same style like the other
1552 functions dispatchers. 1552 functions dispatchers.
1553 1553
15542003-03-02 Moritz Schulte <moritz@g10code.com> 15542003-03-02 Moritz Schulte <moritz@g10code.com>
1555 1555
1556 * cipher.c (struct gcry_cipher_handle): New member: algo_index. 1556 * cipher.c (struct gcry_cipher_handle): New member: algo_index.
1557 (gcry_cipher_open): Allocate memory for two cipher contexts. 1557 (gcry_cipher_open): Allocate memory for two cipher contexts.
1558 Initialize algo_index. 1558 Initialize algo_index.
1559 (cipher_setkey): Duplicate context into reserved memory. 1559 (cipher_setkey): Duplicate context into reserved memory.
1560 (cipher_reset): New function, which resets the context and clear 1560 (cipher_reset): New function, which resets the context and clear
1561 the IV. 1561 the IV.
1562 (gcry_cipher_ctl): Call cipher_reset. 1562 (gcry_cipher_ctl): Call cipher_reset.
1563 1563
15642003-02-23 Moritz Schulte <moritz@g10code.com> 15642003-02-23 Moritz Schulte <moritz@g10code.com>
1565 1565
1566 * cipher.c: Remove (bogus) `digitp' macro definition. 1566 * cipher.c: Remove (bogus) `digitp' macro definition.
1567 * md.c: Likewise. 1567 * md.c: Likewise.
1568 1568
1569 * blowfish.c (burn_stack): Removed. 1569 * blowfish.c (burn_stack): Removed.
1570 * arcfour.c (burn_stack): Likewise. 1570 * arcfour.c (burn_stack): Likewise.
1571 * cast5.c (burn_stack): Likewise. 1571 * cast5.c (burn_stack): Likewise.
1572 * des.c (burn_stack): Likewise. 1572 * des.c (burn_stack): Likewise.
1573 * md4.c (burn_stack): Likewise. 1573 * md4.c (burn_stack): Likewise.
1574 * md5.c (burn_stack): Likewise. 1574 * md5.c (burn_stack): Likewise.
1575 * random.c (burn_stack): Likewise. 1575 * random.c (burn_stack): Likewise.
1576 * rijndael.c (burn_stack): Likewise. 1576 * rijndael.c (burn_stack): Likewise.
1577 * rmd160.c (burn_stack): Likewise. 1577 * rmd160.c (burn_stack): Likewise.
1578 * sha1.c (burn_stack): Likewise. 1578 * sha1.c (burn_stack): Likewise.
1579 * sha256.c (burn_stack): Likewise. 1579 * sha256.c (burn_stack): Likewise.
1580 * tiger.c (burn_stack): Likewise. 1580 * tiger.c (burn_stack): Likewise.
1581 * twofish.c (burn_stack): Likewise. 1581 * twofish.c (burn_stack): Likewise.
1582 1582
1583 * blowfish.c: Changed all occurences of burn_stack to 1583 * blowfish.c: Changed all occurences of burn_stack to
1584 _gcry_burn_stack. 1584 _gcry_burn_stack.
1585 * arcfour.c: Likewise. 1585 * arcfour.c: Likewise.
1586 * cast5.c: Likewise. 1586 * cast5.c: Likewise.
1587 * des.c: Likewise. 1587 * des.c: Likewise.
1588 * md4.c: Likewise. 1588 * md4.c: Likewise.
1589 * md5.c: Likewise. 1589 * md5.c: Likewise.
1590 * random.c: Likewise. 1590 * random.c: Likewise.
1591 * rijndael.c: Likewise. 1591 * rijndael.c: Likewise.
1592 * rmd160.c: Likewise. 1592 * rmd160.c: Likewise.
1593 * sha1.c: Likewise. 1593 * sha1.c: Likewise.
1594 * sha256.c: Likewise. 1594 * sha256.c: Likewise.
1595 * tiger.c: Likewise. 1595 * tiger.c: Likewise.
1596 * twofish.c: Likewise. 1596 * twofish.c: Likewise.
1597 1597
1598 * arcfour.c (_gcry_arcfour_get_info): Use GCRY_CIPHER_ARCFOUR 1598 * arcfour.c (_gcry_arcfour_get_info): Use GCRY_CIPHER_ARCFOUR
1599 instead of hard-coded value `301'. 1599 instead of hard-coded value `301'.
1600 1600
16012003-01-24 Werner Koch <wk@gnupg.org> 16012003-01-24 Werner Koch <wk@gnupg.org>
1602 1602
1603 * random.c (_gcry_register_random_progress): New. 1603 * random.c (_gcry_register_random_progress): New.
1604 (_gcry_random_progress): New. 1604 (_gcry_random_progress): New.
1605 1605
1606 * rndlinux.c (gather_random): Call the random progress function. 1606 * rndlinux.c (gather_random): Call the random progress function.
1607 1607
16082003-01-23 Werner Koch <wk@gnupg.org> 16082003-01-23 Werner Koch <wk@gnupg.org>
1609 1609
1610 * rsa.c (generate): New arg USE_E to request a specific public 1610 * rsa.c (generate): New arg USE_E to request a specific public
1611 exponent. 1611 exponent.
1612 (_gcry_rsa_generate): Ditto. 1612 (_gcry_rsa_generate): Ditto.
1613 * elgamal.c (_gcry_elg_generate): Must add an dummy argument 1613 * elgamal.c (_gcry_elg_generate): Must add an dummy argument
1614 instead of USE_E. 1614 instead of USE_E.
1615 * dsa.c (_gcry_dsa_generate): Ditto. 1615 * dsa.c (_gcry_dsa_generate): Ditto.
1616 * pubkey.c (dummy_generate): Ditto. 1616 * pubkey.c (dummy_generate): Ditto.
1617 (pubkey_generate): Add USE_E arg and pass it down. 1617 (pubkey_generate): Add USE_E arg and pass it down.
1618 (gcry_pk_genkey): Detect "rsa-use-e" parameter and pass it to generate. 1618 (gcry_pk_genkey): Detect "rsa-use-e" parameter and pass it to generate.
1619 1619
1620 * pubkey.c (sexp_to_enc): New arg RET_MODERN. 1620 * pubkey.c (sexp_to_enc): New arg RET_MODERN.
1621 (gcry_pk_decrypt): Make use of it to return a real S-expression. 1621 (gcry_pk_decrypt): Make use of it to return a real S-expression.
1622 Return better error codes. 1622 Return better error codes.
1623 (gcry_pk_verify): Return better error codes. 1623 (gcry_pk_verify): Return better error codes.
1624 1624
16252003-01-21 Werner Koch <wk@gnupg.org> 16252003-01-21 Werner Koch <wk@gnupg.org>
1626 1626
1627 * random.c (gcry_random_add_bytes): Add QUALITY argument, let 1627 * random.c (gcry_random_add_bytes): Add QUALITY argument, let
1628 function return an error code and disable its core for now. 1628 function return an error code and disable its core for now.
1629 1629
16302003-01-21 Timo Schulz <twoaday@freakmail.de> 16302003-01-21 Timo Schulz <twoaday@freakmail.de>
1631 1631
1632 * random.c (gcry_random_add_bytes): New. Function to add external 1632 * random.c (gcry_random_add_bytes): New. Function to add external
1633 random to the pool. 1633 random to the pool.
1634 1634
16352003-01-20 Simon Josefsson <jas@extundo.com> 16352003-01-20 Simon Josefsson <jas@extundo.com>
1636 1636
1637 * crc.c: New. 1637 * crc.c: New.
1638 * Makefile.am (EXTRA_PROGRAMS, EXTRA_crc_SOURCES): Add crc.c. 1638 * Makefile.am (EXTRA_PROGRAMS, EXTRA_crc_SOURCES): Add crc.c.
1639 * md.c (gcry_md_get_algo_dlen): Add values for CRC. 1639 * md.c (gcry_md_get_algo_dlen): Add values for CRC.
1640 1640
16412003-01-20 Werner Koch <wk@gnupg.org> 16412003-01-20 Werner Koch <wk@gnupg.org>
1642 1642
1643 * sha256.c: New. 1643 * sha256.c: New.
1644 * bithelp.h (ror): New. 1644 * bithelp.h (ror): New.
1645 * Makfile.am: Add sha256.c. 1645 * Makfile.am: Add sha256.c.
1646 * md.c (oid_table): Add values for SHA256 et al. 1646 * md.c (oid_table): Add values for SHA256 et al.
1647 (gcry_md_get_algo_dlen): Likewise 1647 (gcry_md_get_algo_dlen): Likewise
1648 1648
16492003-01-20 Werner Koch <wk@gnupg.org> 16492003-01-20 Werner Koch <wk@gnupg.org>
1650 1650
1651 * pubkey.c (gcry_pk_get_keygrip): Implemented keygrips for DSA 1651 * pubkey.c (gcry_pk_get_keygrip): Implemented keygrips for DSA
1652 and ElGamal. 1652 and ElGamal.
1653 1653
16542003-01-17 Werner Koch <wk@gnupg.org> 16542003-01-17 Werner Koch <wk@gnupg.org>
1655 1655
1656 * cipher.c (gcry_cipher_encrypt): Reworked so that the output will 1656 * cipher.c (gcry_cipher_encrypt): Reworked so that the output will
1657 never contain the plaintext even if the caller did not checked the 1657 never contain the plaintext even if the caller did not checked the
1658 return value. 1658 return value.
1659 1659
1660 * md.c (gcry_md_get_algo): Changed error code to GCRYERR_GENERAL 1660 * md.c (gcry_md_get_algo): Changed error code to GCRYERR_GENERAL
1661 because we don't have an invalid md algo but no algorithm enabled. 1661 because we don't have an invalid md algo but no algorithm enabled.
1662 1662
1663 * pubkey.c (gcry_pk_genkey): Changed error code for bounds check 1663 * pubkey.c (gcry_pk_genkey): Changed error code for bounds check
1664 of table parameters to GCRYERR_INTERNAL. 1664 of table parameters to GCRYERR_INTERNAL.
1665 1665
1666 * md.c (gcry_md_open): Partly reverted Timo's change from 1666 * md.c (gcry_md_open): Partly reverted Timo's change from
1667 2002-10-10 by removing the check for the algorithm. An algorithm 1667 2002-10-10 by removing the check for the algorithm. An algorithm
1668 of 0 is allowed and anyway we should not double check it or check 1668 of 0 is allowed and anyway we should not double check it or check
1669 it using a different function. Also fixed the flags check. 1669 it using a different function. Also fixed the flags check.
1670 1670
1671 * pubkey.c (gcry_pk_encrypt): Make sure that R_CIPH points to NULL 1671 * pubkey.c (gcry_pk_encrypt): Make sure that R_CIPH points to NULL
1672 on error. 1672 on error.
1673 (gcry_pk_decrypt): Ditto for R_PLAIN. 1673 (gcry_pk_decrypt): Ditto for R_PLAIN.
1674 (gcry_pk_sign): Ditto for R_SIG. 1674 (gcry_pk_sign): Ditto for R_SIG.
1675 (gcry_pk_genkey): Ditto for R_KEY. 1675 (gcry_pk_genkey): Ditto for R_KEY.
1676 1676
16772003-01-16 Werner Koch <wk@gnupg.org> 16772003-01-16 Werner Koch <wk@gnupg.org>
1678 1678
1679 * md.c (gcry_md_write): Changed 2nd argument type to void*. 1679 * md.c (gcry_md_write): Changed 2nd argument type to void*.
1680 (gcry_md_hash_buffer): Changed type of boths buffers to void*. 1680 (gcry_md_hash_buffer): Changed type of boths buffers to void*.
1681 (gcry_md_setkey): Changed 2nd argument type to void*. 1681 (gcry_md_setkey): Changed 2nd argument type to void*.
1682 1682
16832003-01-15 Werner Koch <wk@gnupg.org> 16832003-01-15 Werner Koch <wk@gnupg.org>
1684 1684
1685 * pubkey.c (sexp_data_to_mpi): New. This handles pkcs1 padding. 1685 * pubkey.c (sexp_data_to_mpi): New. This handles pkcs1 padding.
1686 (gcry_pk_sign, gcry_pk_verify): Use it here. 1686 (gcry_pk_sign, gcry_pk_verify): Use it here.
1687 (gcry_pk_encrypt): And here. 1687 (gcry_pk_encrypt): And here.
1688 (pubkey_verify): Add debug code. 1688 (pubkey_verify): Add debug code.
1689 (sexp_to_enc): Handle flags in the input and return the pkcs1 flag 1689 (sexp_to_enc): Handle flags in the input and return the pkcs1 flag
1690 in a new parameter. 1690 in a new parameter.
1691 (gcry_pk_decrypt): Prepare for future pkcs1 handling. 1691 (gcry_pk_decrypt): Prepare for future pkcs1 handling.
1692 1692
16932002-12-19 Werner Koch <wk@gnupg.org> 16932002-12-19 Werner Koch <wk@gnupg.org>
1694 1694
1695 * random.c (_gcry_random_initialize): New. 1695 * random.c (_gcry_random_initialize): New.
1696 1696
16972002-12-16 Werner Koch <wk@gnupg.org> 16972002-12-16 Werner Koch <wk@gnupg.org>
1698 1698
1699 * cipher.c: Added a Teletrust specific OID for 3DES. 1699 * cipher.c: Added a Teletrust specific OID for 3DES.
1700 1700
17012002-12-12 Werner Koch <wk@gnupg.org> 17012002-12-12 Werner Koch <wk@gnupg.org>
1702 1702
1703 * md.c: Added another oddball OIW OID (sha-1WithRSAEncryption). 1703 * md.c: Added another oddball OIW OID (sha-1WithRSAEncryption).
1704 1704
17052002-11-23 Werner Koch <wk@gnupg.org> 17052002-11-23 Werner Koch <wk@gnupg.org>
1706 1706
1707 * md.c (load_digest_module): Enlarged checked_algos bitmap. 1707 * md.c (load_digest_module): Enlarged checked_algos bitmap.
1708 * md4.c (func_table): Fixed entry for md4. 1708 * md4.c (func_table): Fixed entry for md4.
1709 Both by Simon Josephson. 1709 Both by Simon Josephson.
1710 (transform): Copy data to get the alignment straight. Tested only 1710 (transform): Copy data to get the alignment straight. Tested only
1711 on i386. 1711 on i386.
1712 1712
17132002-11-10 Simon Josefsson <jas@extundo.com> 17132002-11-10 Simon Josefsson <jas@extundo.com>
1714 1714
1715 * cipher.c (gcry_cipher_open): Don't reject CTS flag. 1715 * cipher.c (gcry_cipher_open): Don't reject CTS flag.
1716 (do_cbc_encrypt, do_cbc_decrypt, cipher_encrypt) 1716 (do_cbc_encrypt, do_cbc_decrypt, cipher_encrypt)
1717 (gcry_cipher_encrypt, cipher_decrypt) 1717 (gcry_cipher_encrypt, cipher_decrypt)
1718 (gcry_cipher_decrypt): Support CTS flag. 1718 (gcry_cipher_decrypt): Support CTS flag.
1719 (gcry_cipher_ctl): Toggle CTS flag. 1719 (gcry_cipher_ctl): Toggle CTS flag.
1720 1720
17212002-11-10 Werner Koch <wk@gnupg.org> 17212002-11-10 Werner Koch <wk@gnupg.org>
1722 1722
1723 * md4.c: New. By Simon Josefsson. 1723 * md4.c: New. By Simon Josefsson.
1724 * Makefile.am (EXTRA_PROGRAMS): Add md4.c. 1724 * Makefile.am (EXTRA_PROGRAMS): Add md4.c.
1725 * md.c (oid_table,gcry_md_get_algo_dlen): MD4 support. 1725 * md.c (oid_table,gcry_md_get_algo_dlen): MD4 support.
1726 1726
17272002-10-14 Werner Koch <wk@gnupg.org> 17272002-10-14 Werner Koch <wk@gnupg.org>
1728 1728
1729 * arcfour.c (do_encrypt_stream): Don't use increment op when 1729 * arcfour.c (do_encrypt_stream): Don't use increment op when
1730 assigning to the same variable. 1730 assigning to the same variable.
1731 1731
17322002-10-10 Timo Schulz <ts@winpt.org> 17322002-10-10 Timo Schulz <ts@winpt.org>
1733 1733
1734 * pubkey.c (gcry_pk_genkey): Check boundaries. 1734 * pubkey.c (gcry_pk_genkey): Check boundaries.
1735 1735
1736 * md.c (gcry_md_open): Check that algo is available and only 1736 * md.c (gcry_md_open): Check that algo is available and only
1737 valid flag values are used. 1737 valid flag values are used.
1738 (gcry_md_get_algo): Add error handling. 1738 (gcry_md_get_algo): Add error handling.
1739 1739
17402002-09-26 Werner Koch <wk@gnupg.org> 17402002-09-26 Werner Koch <wk@gnupg.org>
1741 1741
1742 * md.c: Include an OID for TIGER. 1742 * md.c: Include an OID for TIGER.
1743 * tiger.c (tiger_get_info): Use a regular OID. 1743 * tiger.c (tiger_get_info): Use a regular OID.
1744 1744
17452002-09-17 Werner Koch <wk@gnupg.org> 17452002-09-17 Werner Koch <wk@gnupg.org>
1746 1746
1747 * random.c: Replaced mutex.h by the new ath.h. Changed all calls. 1747 * random.c: Replaced mutex.h by the new ath.h. Changed all calls.
1748 1748
17492002-09-16 Werner Koch <wk@gnupg.org> 17492002-09-16 Werner Koch <wk@gnupg.org>
1750 1750
1751 * arcfour.c (do_encrypt_stream): Use register modifier and modulo. 1751 * arcfour.c (do_encrypt_stream): Use register modifier and modulo.
1752 According to Nikos Mavroyanopoulos this increases perfromace on 1752 According to Nikos Mavroyanopoulos this increases perfromace on
1753 i386 system noticable. And I always tought gcc is clever enough. 1753 i386 system noticable. And I always tought gcc is clever enough.
1754 * md5.c (transform): Use register modifier. 1754 * md5.c (transform): Use register modifier.
1755 * rmd160.c (transform): Ditto. 1755 * rmd160.c (transform): Ditto.
1756 * sha1.c (transform): Ditto. We hope that there are 6 free registers. 1756 * sha1.c (transform): Ditto. We hope that there are 6 free registers.
1757 * random.c (gcry_randomize): Rewrote to avoid malloc calls. 1757 * random.c (gcry_randomize): Rewrote to avoid malloc calls.
1758 1758
1759 * rndlinux.c (gather_random): Replaced remaining fprintfs by log_*. 1759 * rndlinux.c (gather_random): Replaced remaining fprintfs by log_*.
1760 * arcfour.c (do_arcfour_setkey): Ditto. 1760 * arcfour.c (do_arcfour_setkey): Ditto.
1761 * twofish.c (do_twofish_setkey): Ditto. 1761 * twofish.c (do_twofish_setkey): Ditto.
1762 * rndegd.c (gather_random): Ditto. 1762 * rndegd.c (gather_random): Ditto.
1763 * rijndael.c (do_setkey): Ditto. 1763 * rijndael.c (do_setkey): Ditto.
1764 * random.c (_gcry_random_dump_stats): Ditto. 1764 * random.c (_gcry_random_dump_stats): Ditto.
1765 * primegen.c (_gcry_generate_elg_prime): Ditto. 1765 * primegen.c (_gcry_generate_elg_prime): Ditto.
1766 * des.c (_gcry_des_get_info): Ditto. 1766 * des.c (_gcry_des_get_info): Ditto.
1767 * cast5.c (do_cast_setkey): Ditto. 1767 * cast5.c (do_cast_setkey): Ditto.
1768 * blowfish.c (do_bf_setkey): Ditto. 1768 * blowfish.c (do_bf_setkey): Ditto.
1769 1769
17702002-08-26 Werner Koch <wk@gnupg.org> 17702002-08-26 Werner Koch <wk@gnupg.org>
1771 1771
1772 * des.c (weak_keys): Fixed one entry in the table and compared 1772 * des.c (weak_keys): Fixed one entry in the table and compared
1773 all entries against the literature. 1773 all entries against the literature.
1774 (selftest): Checksum the weak key table. 1774 (selftest): Checksum the weak key table.
1775 1775
17762002-08-21 Werner Koch <wk@gnupg.org> 17762002-08-21 Werner Koch <wk@gnupg.org>
1777 1777
1778 * pubkey.c: Enable keygrip calculation for "openpgp-rsa". 1778 * pubkey.c: Enable keygrip calculation for "openpgp-rsa".
1779 1779
17802002-08-17 Werner Koch <wk@gnupg.org> 17802002-08-17 Werner Koch <wk@gnupg.org>
1781 1781
1782 * cipher.c (setup_cipher_table): Don't overwrite the DES entry 1782 * cipher.c (setup_cipher_table): Don't overwrite the DES entry
1783 with the entry for DUMMY. 1783 with the entry for DUMMY.
1784 1784
17852002-08-14 Werner Koch <wk@gnupg.org> 17852002-08-14 Werner Koch <wk@gnupg.org>
1786 1786
1787 * des.c (do_des_setkey,do_des_encrypt, do_des_decrypt): New. 1787 * des.c (do_des_setkey,do_des_encrypt, do_des_decrypt): New.
1788 (_gcry_des_get_info): Support plain old DES. 1788 (_gcry_des_get_info): Support plain old DES.
1789 * cipher.c (setup_cipher_table): Put DES into the table. 1789 * cipher.c (setup_cipher_table): Put DES into the table.
1790 1790
17912002-07-25 Werner Koch <wk@gnupg.org> 17912002-07-25 Werner Koch <wk@gnupg.org>
1792 1792
1793 * rndunix.c (_gcry_rndunix_constructor): Prefixed with _gcry_. 1793 * rndunix.c (_gcry_rndunix_constructor): Prefixed with _gcry_.
1794 Noted by Stephan Austermuehle. 1794 Noted by Stephan Austermuehle.
1795 1795
17962002-07-08 Timo Schulz <ts@winpt.org> 17962002-07-08 Timo Schulz <ts@winpt.org>
1797 1797
1798 * rndw32.c: Replaced the m_ memory functions with the real 1798 * rndw32.c: Replaced the m_ memory functions with the real
1799 gcry_ functions. Renamed all g10_ prefixed functions to log_. 1799 gcry_ functions. Renamed all g10_ prefixed functions to log_.
1800 1800
18012002-06-12 Werner Koch <wk@gnupg.org> 18012002-06-12 Werner Koch <wk@gnupg.org>
1802 1802
1803 * rsa.c (generate): Use e = 65537 for now. 1803 * rsa.c (generate): Use e = 65537 for now.
1804 1804
18052002-06-11 Werner Koch <wk@gnupg.org> 18052002-06-11 Werner Koch <wk@gnupg.org>
1806 1806
1807 * pubkey.c (gcry_pk_get_keygrip): Allow a "protected-private-key". 1807 * pubkey.c (gcry_pk_get_keygrip): Allow a "protected-private-key".
1808 1808
18092002-06-05 Timo Schulz <ts@winpt.org> 18092002-06-05 Timo Schulz <ts@winpt.org>
1810 1810
1811 * cipher.c (gcry_cipher_encrypt, gcry_cipher_decrypt): 1811 * cipher.c (gcry_cipher_encrypt, gcry_cipher_decrypt):
1812 Check that the input size is a multiple of the blocksize. 1812 Check that the input size is a multiple of the blocksize.
1813 1813
18142002-05-23 Werner Koch <wk@gnupg.org> 18142002-05-23 Werner Koch <wk@gnupg.org>
1815 1815
1816 * md.c (oid_table): Add an rsadsi OID for MD5. 1816 * md.c (oid_table): Add an rsadsi OID for MD5.
1817 1817
18182002-05-21 Werner Koch <wk@gnupg.org> 18182002-05-21 Werner Koch <wk@gnupg.org>
1819 1819
1820 * primegen.c, elgamal.c, dsa.c (progress): Do not print anything 1820 * primegen.c, elgamal.c, dsa.c (progress): Do not print anything
1821 by default. Pass an extra identifying string to the callback and 1821 by default. Pass an extra identifying string to the callback and
1822 reserved 2 argumenst for current and total counters. Changed the 1822 reserved 2 argumenst for current and total counters. Changed the
1823 register function prototype. 1823 register function prototype.
1824 1824
18252002-05-17 Werner Koch <wk@gnupg.org> 18252002-05-17 Werner Koch <wk@gnupg.org>
1826 1826
1827 * rndegd.c (rndegd_constructor): Fixed name of register function 1827 * rndegd.c (rndegd_constructor): Fixed name of register function
1828 and prefixed the function name with _gcry_. 1828 and prefixed the function name with _gcry_.
1829 * rndw32.c (rndw32_constructor): Ditto. 1829 * rndw32.c (rndw32_constructor): Ditto.
1830 * tiger.c (tiger_constructor): Ditto. 1830 * tiger.c (tiger_constructor): Ditto.
1831 1831
1832 * Makefile.am: Removed all dynamic loading stuff. 1832 * Makefile.am: Removed all dynamic loading stuff.
1833 * dynload.c: Ditto. Now only used for the constructor system. 1833 * dynload.c: Ditto. Now only used for the constructor system.
1834 1834
18352002-05-15 Werner Koch <wk@gnupg.org> 18352002-05-15 Werner Koch <wk@gnupg.org>
1836 1836
1837 * random.c (gcry_random_bytes,gcry_random_bytes_secure) 1837 * random.c (gcry_random_bytes,gcry_random_bytes_secure)
1838 (gcry_randomize): Make sure we are initialized. 1838 (gcry_randomize): Make sure we are initialized.
1839 1839
18402002-05-14 Werner Koch <wk@gnupg.org> 18402002-05-14 Werner Koch <wk@gnupg.org>
1841 1841
1842 Changed license of most files to the LGPL. 1842 Changed license of most files to the LGPL.
1843 1843
18442002-05-02 Werner Koch <wk@gnupg.org> 18442002-05-02 Werner Koch <wk@gnupg.org>
1845 1845
1846 * random.c (_gcry_fast_random_poll): Initialize the module so the 1846 * random.c (_gcry_fast_random_poll): Initialize the module so the
1847 mutex can be used. 1847 mutex can be used.
1848 1848
1849 * primegen.c (small_prime_numbers): Moved table from smallprime.c 1849 * primegen.c (small_prime_numbers): Moved table from smallprime.c
1850 * smallprime.c: File removed. 1850 * smallprime.c: File removed.
1851 1851
1852 * des.c (leftkey_swap, rightkey_swap, working_memcmp): Made static. 1852 * des.c (leftkey_swap, rightkey_swap, working_memcmp): Made static.
1853 1853
1854 * cipher.c (gcry_cipher_map_name): Map "RIJNDAEL" to "AES". 1854 * cipher.c (gcry_cipher_map_name): Map "RIJNDAEL" to "AES".
1855 * rijndael.c (rijndael_get_info): We do only support a 128 bit 1855 * rijndael.c (rijndael_get_info): We do only support a 128 bit
1856 blocksize so it makes sense to change the algorithm strings to 1856 blocksize so it makes sense to change the algorithm strings to
1857 AES. 1857 AES.
1858 1858
1859 * tiger.c (tiger_final): Removed superfluous token pasting operators. 1859 * tiger.c (tiger_final): Removed superfluous token pasting operators.
1860 * md5.c (md5_final): Ditto. 1860 * md5.c (md5_final): Ditto.
1861 1861
18622002-04-30 Werner Koch <wk@gnupg.org> 18622002-04-30 Werner Koch <wk@gnupg.org>
1863 1863
1864 * cipher.c: Fixed list of copyright years. 1864 * cipher.c: Fixed list of copyright years.
1865 1865
18662002-03-18 Werner Koch <wk@gnupg.org> 18662002-03-18 Werner Koch <wk@gnupg.org>
1867 1867
1868 * random.c (initialize): Initialize the new pool lock mutex. 1868 * random.c (initialize): Initialize the new pool lock mutex.
1869 (_gcry_fast_random_poll): Add locking and moved main 1869 (_gcry_fast_random_poll): Add locking and moved main
1870 code out to... 1870 code out to...
1871 (do_fast_random_poll): new function. 1871 (do_fast_random_poll): new function.
1872 (read_pool): Use the new function here. 1872 (read_pool): Use the new function here.
1873 (get_random_bytes): Add locking. 1873 (get_random_bytes): Add locking.
1874 (_gcry_update_random_seed_file): Ditto. 1874 (_gcry_update_random_seed_file): Ditto.
1875 1875
18762002-03-11 Werner Koch <wk@gnupg.org> 18762002-03-11 Werner Koch <wk@gnupg.org>
1877 1877
1878 * md.c: Add rsaSignatureWithripemd160 to OID table. 1878 * md.c: Add rsaSignatureWithripemd160 to OID table.
1879 1879
18802002-02-20 Werner Koch <wk@gnupg.org> 18802002-02-20 Werner Koch <wk@gnupg.org>
1881 1881
1882 * sha1.c: Removed a left over comment note. The code has been 1882 * sha1.c: Removed a left over comment note. The code has been
1883 rewritten from scratch in 1998. Thanks to Niels Möller for 1883 rewritten from scratch in 1998. Thanks to Niels Möller for
1884 reporting this misleading comment. 1884 reporting this misleading comment.
1885 1885
18862002-02-18 Werner Koch <wk@gnupg.org> 18862002-02-18 Werner Koch <wk@gnupg.org>
1887 1887
1888 * rndunix.c (rndunix_constructor): Use the the new prefixed 1888 * rndunix.c (rndunix_constructor): Use the the new prefixed
1889 function name. Reported by Jordi Mallach. 1889 function name. Reported by Jordi Mallach.
1890 1890
18912002-02-10 Werner Koch <wk@gnupg.org> 18912002-02-10 Werner Koch <wk@gnupg.org>
1892 1892
1893 * random.c (mix_pool): Carry an extra failsafe_digest buffer 1893 * random.c (mix_pool): Carry an extra failsafe_digest buffer
1894 around to make the function more robust. 1894 around to make the function more robust.
1895 1895
18962002-02-08 Werner Koch <wk@gnupg.org> 18962002-02-08 Werner Koch <wk@gnupg.org>
1897 1897
1898 * random.c (add_randomness): Xor new data into the pool and not 1898 * random.c (add_randomness): Xor new data into the pool and not
1899 just copy it. This avoids any choosen input attacks which are not 1899 just copy it. This avoids any choosen input attacks which are not
1900 serious in our setting because an outsider won't be able to mix 1900 serious in our setting because an outsider won't be able to mix
1901 data in and even then we keep going with a PRNG. Thanks to Stefan 1901 data in and even then we keep going with a PRNG. Thanks to Stefan
1902 Keller for pointing this out. 1902 Keller for pointing this out.
1903 1903
19042002-01-04 Werner Koch <wk@gnupg.org> 19042002-01-04 Werner Koch <wk@gnupg.org>
1905 1905
1906 * pubkey.c (gcry_pk_genkey): Do not release skey - it is static. 1906 * pubkey.c (gcry_pk_genkey): Do not release skey - it is static.
1907 1907
1908 * primegen.c (gen_prime): Of course we should use set_bit 1908 * primegen.c (gen_prime): Of course we should use set_bit
1909 and not set_highbit to set the second high bit. 1909 and not set_highbit to set the second high bit.
1910 1910
19112001-12-18 Werner Koch <wk@gnupg.org> 19112001-12-18 Werner Koch <wk@gnupg.org>
1912 1912
1913 * rsa.c (generate): Loop until we find the exact modulus size. 1913 * rsa.c (generate): Loop until we find the exact modulus size.
1914 Changed the exponent to 41. 1914 Changed the exponent to 41.
1915 (rsa_get_info): s/usage/r_usage/ to avoid shadow warnings. 1915 (rsa_get_info): s/usage/r_usage/ to avoid shadow warnings.
1916 * primegen.c (gen_prime): Set 2 high order bits for secret primes. 1916 * primegen.c (gen_prime): Set 2 high order bits for secret primes.
1917 1917
1918 * Makefile.am (DISTCLEANFILES): Include construct.c. 1918 * Makefile.am (DISTCLEANFILES): Include construct.c.
1919 1919
19202001-12-17 Werner Koch <wk@gnupg.org> 19202001-12-17 Werner Koch <wk@gnupg.org>
1921 1921
1922 * pubkey.c (gcry_pk_get_keygrip): New - experimental. 1922 * pubkey.c (gcry_pk_get_keygrip): New - experimental.
1923 1923
19242001-12-11 Werner Koch <wk@gnupg.org> 19242001-12-11 Werner Koch <wk@gnupg.org>
1925 1925
1926 * cipher.c: Added OIDs for AES. 1926 * cipher.c: Added OIDs for AES.
1927 (gcry_cipher_mode_from_oid): New. 1927 (gcry_cipher_mode_from_oid): New.
1928 (gcry_cipher_map_name): Moved OID search code to .. 1928 (gcry_cipher_map_name): Moved OID search code to ..
1929 (search_oid): .. new function. 1929 (search_oid): .. new function.
1930 1930
19312001-12-10 Werner Koch <wk@gnupg.org> 19312001-12-10 Werner Koch <wk@gnupg.org>
1932 1932
1933 * pubkey.c (gcry_pk_encrypt): Find the signature algorithm by name 1933 * pubkey.c (gcry_pk_encrypt): Find the signature algorithm by name
1934 and not by number. 1934 and not by number.
1935 1935
1936 * pubkey.c (gcry_pk_encrypt,gcry_pk_decrypt,gcry_pk_sign) 1936 * pubkey.c (gcry_pk_encrypt,gcry_pk_decrypt,gcry_pk_sign)
1937 (gcry_pk_verify,gcry_pk_testkey, gcry_pk_genkey) 1937 (gcry_pk_verify,gcry_pk_testkey, gcry_pk_genkey)
1938 (gcry_pk_get_nbits): Release the arrays. Noted by Nikos 1938 (gcry_pk_get_nbits): Release the arrays. Noted by Nikos
1939 Mavroyanopoulos. 1939 Mavroyanopoulos.
1940 1940
19412001-12-06 Werner Koch <wk@gnupg.org> 19412001-12-06 Werner Koch <wk@gnupg.org>
1942 1942
1943 * cipher.c (gcry_cipher_map_name): Look also for OIDs prefixed 1943 * cipher.c (gcry_cipher_map_name): Look also for OIDs prefixed
1944 with "oid." or "OID.". 1944 with "oid." or "OID.".
1945 1945
19462001-12-05 Werner Koch <wk@gnupg.org> 19462001-12-05 Werner Koch <wk@gnupg.org>
1947 1947
1948 * pubkey.c (algo_info_table): Fixed entry for openpgp-rsa. 1948 * pubkey.c (algo_info_table): Fixed entry for openpgp-rsa.
1949 1949
19502001-11-24 Werner Koch <wk@gnupg.org> 19502001-11-24 Werner Koch <wk@gnupg.org>
1951 1951
1952 * pubkey.c: Added the rsaEncryption OID to the tables. 1952 * pubkey.c: Added the rsaEncryption OID to the tables.
1953 (sexp_to_key): Add an arg to return the index of the algorithm, 1953 (sexp_to_key): Add an arg to return the index of the algorithm,
1954 changed all callers. 1954 changed all callers.
1955 (gcry_pk_sign): Find the signature algorithm by name and not by 1955 (gcry_pk_sign): Find the signature algorithm by name and not by
1956 number. 1956 number.
1957 (gcry_pk_get_nbits): Fixed so that we can now really pass a secret 1957 (gcry_pk_get_nbits): Fixed so that we can now really pass a secret
1958 key to get the result. 1958 key to get the result.
1959 1959
1960 * md.c (gcry_md_map_name): Look also for OIDs prefixed with "oid." 1960 * md.c (gcry_md_map_name): Look also for OIDs prefixed with "oid."
1961 or "OID." so that an OID string can be used as an S-Exp token. 1961 or "OID." so that an OID string can be used as an S-Exp token.
1962 1962
19632001-11-20 Werner Koch <wk@gnupg.org> 19632001-11-20 Werner Koch <wk@gnupg.org>
1964 1964
1965 * md.c (gcry_md_map_name): Lookup by OID if the the name begins 1965 * md.c (gcry_md_map_name): Lookup by OID if the the name begins
1966 with a digit. 1966 with a digit.
1967 (oid_table): New. 1967 (oid_table): New.
1968 1968
19692001-11-16 Werner Koch <wk@gnupg.org> 19692001-11-16 Werner Koch <wk@gnupg.org>
1970 1970
1971 * md.c (gcry_md_info): New operator GCRYCTL_IS_ALGO_ENABLED. 1971 * md.c (gcry_md_info): New operator GCRYCTL_IS_ALGO_ENABLED.
1972 1972
19732001-11-07 Werner Koch <wk@gnupg.org> 19732001-11-07 Werner Koch <wk@gnupg.org>
1974 1974
1975 * md.c (gcry_md_hash_buffer): Close the handle which was left open 1975 * md.c (gcry_md_hash_buffer): Close the handle which was left open
1976 for algorithms other than rmd160. 1976 for algorithms other than rmd160.
1977 1977
19782001-08-08 Werner Koch <wk@gnupg.org> 19782001-08-08 Werner Koch <wk@gnupg.org>
1979 1979
1980 * rndw32.c (gather_random): Use toolhelp in addition to the NT 1980 * rndw32.c (gather_random): Use toolhelp in addition to the NT
1981 gatherer for Windows2000. Suggested by Sami Tolvanen. 1981 gatherer for Windows2000. Suggested by Sami Tolvanen.
1982 1982
1983 * random.c (read_pool): Fixed length check, this used to be one 1983 * random.c (read_pool): Fixed length check, this used to be one
1984 byte to strict. Made an assert out of it because the caller has 1984 byte to strict. Made an assert out of it because the caller has
1985 already made sure that only poolsize bytes are requested. 1985 already made sure that only poolsize bytes are requested.
1986 Reported by Marcus Brinkmann. 1986 Reported by Marcus Brinkmann.
1987 1987
19882001-08-03 Werner Koch <wk@gnupg.org> 19882001-08-03 Werner Koch <wk@gnupg.org>
1989 1989
1990 * cipher.c (cipher_encrypt, cipher_decrypt): Prepare to return 1990 * cipher.c (cipher_encrypt, cipher_decrypt): Prepare to return
1991 errors. We have to change the interface to all ciphers to make 1991 errors. We have to change the interface to all ciphers to make
1992 this really work but we should do so to prepare for hardware 1992 this really work but we should do so to prepare for hardware
1993 encryption modules. 1993 encryption modules.
1994 (gcry_cipher_encrypt, gcry_cipher_decrypt): Return the error and 1994 (gcry_cipher_encrypt, gcry_cipher_decrypt): Return the error and
1995 set lasterr. 1995 set lasterr.
1996 (gcry_cipher_ctl): Make sure that errors from setkey are returned. 1996 (gcry_cipher_ctl): Make sure that errors from setkey are returned.
1997 1997
19982001-08-02 Werner Koch <wk@gnupg.org> 19982001-08-02 Werner Koch <wk@gnupg.org>
1999 1999
2000 * rndlinux.c (gather_random): casted a size_t arg to int so that 2000 * rndlinux.c (gather_random): casted a size_t arg to int so that
2001 the format string is correct. Casting is okay here and avoids 2001 the format string is correct. Casting is okay here and avoids
2002 translation changes. 2002 translation changes.
2003 2003
2004 * random.c (fast_random_poll): Do not check the return code of 2004 * random.c (fast_random_poll): Do not check the return code of
2005 getrusage. 2005 getrusage.
2006 2006
2007 * rndunix.c: Add a signal.h header to avoid warnings on Solaris 7 2007 * rndunix.c: Add a signal.h header to avoid warnings on Solaris 7
2008 and 8. 2008 and 8.
2009 2009
2010 * tiger.c (print_abc,print_data): Removed. 2010 * tiger.c (print_abc,print_data): Removed.
2011 2011
2012 * rijndael.c, des.c, blowfish.c, twofish.c, cast5.c, arcfour.c 2012 * rijndael.c, des.c, blowfish.c, twofish.c, cast5.c, arcfour.c
2013 (burn_stack): New. Add wrappers for most functions to be able to 2013 (burn_stack): New. Add wrappers for most functions to be able to
2014 call burn_stack after the function invocation. This methods seems 2014 call burn_stack after the function invocation. This methods seems
2015 to be the most portable way to zeroise the stack used. It does 2015 to be the most portable way to zeroise the stack used. It does
2016 only work on stack frame based machines but it is highly portable 2016 only work on stack frame based machines but it is highly portable
2017 and has no side effects. Just setting the automatic variables at 2017 and has no side effects. Just setting the automatic variables at
2018 the end of a function to zero does not work well because the 2018 the end of a function to zero does not work well because the
2019 compiler will optimize them away - marking them as volatile would 2019 compiler will optimize them away - marking them as volatile would
2020 be bad for performance. 2020 be bad for performance.
2021 * md5.c, sha1.c, rmd160.c, tiger.c (burn_stack): Likewise. 2021 * md5.c, sha1.c, rmd160.c, tiger.c (burn_stack): Likewise.
2022 * random.c (burn_stack): New. 2022 * random.c (burn_stack): New.
2023 (mix_pool): Use it here to burn the stack of the mixblock function. 2023 (mix_pool): Use it here to burn the stack of the mixblock function.
2024 2024
2025 * primegen.c (_gcry_generate_elg_prime): Freed q at 3 places. 2025 * primegen.c (_gcry_generate_elg_prime): Freed q at 3 places.
2026 Thanks to Tommi Komulainen. 2026 Thanks to Tommi Komulainen.
2027 2027
2028 * arcfour.c (arcfour_setkey): Check the minimim keylength against 2028 * arcfour.c (arcfour_setkey): Check the minimim keylength against
2029 bytes and not bits. 2029 bytes and not bits.
2030 (selftest): Must reset the key before decryption. 2030 (selftest): Must reset the key before decryption.
2031 2031
20322001-05-31 Werner Koch <wk@gnupg.org> 20322001-05-31 Werner Koch <wk@gnupg.org>
2033 2033
2034 * sha1.c (sha1_init): Made static. 2034 * sha1.c (sha1_init): Made static.
2035 2035
2036 Changed all g10_ prefixed function names as well as some mpi_ 2036 Changed all g10_ prefixed function names as well as some mpi_
2037 function names to cope with the introduced naming changes. 2037 function names to cope with the introduced naming changes.
2038 2038
2039 * md.c (prepare_macpads): Made key const. 2039 * md.c (prepare_macpads): Made key const.
2040 2040
20412001-05-28 Werner Koch <wk@gnupg.org> 20412001-05-28 Werner Koch <wk@gnupg.org>
2042 2042
2043 * rndegd.c (gather_random): Removed the use of tty_printf. 2043 * rndegd.c (gather_random): Removed the use of tty_printf.
2044 2044
20452001-03-29 Werner Koch <wk@gnupg.org> 20452001-03-29 Werner Koch <wk@gnupg.org>
2046 2046
2047 * md5.c (md5_final): Fixed calculation of hashed length. Thanks 2047 * md5.c (md5_final): Fixed calculation of hashed length. Thanks
2048 to disastry@saiknes.lv for pointing out that it was horrible wrong 2048 to disastry@saiknes.lv for pointing out that it was horrible wrong
2049 for more than 512MB of input. 2049 for more than 512MB of input.
2050 * sha1.c (sha1_final): Ditto. 2050 * sha1.c (sha1_final): Ditto.
2051 * rmd160.c (rmd160_final): Ditto. 2051 * rmd160.c (rmd160_final): Ditto.
2052 * tiger.c (tiger_final): Ditto. 2052 * tiger.c (tiger_final): Ditto.
2053 2053
2054 * blowfish.c (encrypt,do_encrypt): Changed name to do_encrypt to 2054 * blowfish.c (encrypt,do_encrypt): Changed name to do_encrypt to
2055 avoid name clashes with an encrypt function in stdlib.h of 2055 avoid name clashes with an encrypt function in stdlib.h of
2056 Dynix/PIX. Thanks to Gene Carter. 2056 Dynix/PIX. Thanks to Gene Carter.
2057 * elgamal.c (encrypt,do_encrypt): Ditto. 2057 * elgamal.c (encrypt,do_encrypt): Ditto.
2058 2058
2059 * twofish.c (gnupgext_enum_func): Use only when when compiled as a 2059 * twofish.c (gnupgext_enum_func): Use only when when compiled as a
2060 module. 2060 module.
2061 * rijndael.c (gnupgext_enum_func): Ditto. 2061 * rijndael.c (gnupgext_enum_func): Ditto.
2062 2062
2063 * tiger.c (tiger_get_info): Return "TIGER192" and not just 2063 * tiger.c (tiger_get_info): Return "TIGER192" and not just
2064 "TIGER". By Edwin Woudt. 2064 "TIGER". By Edwin Woudt.
2065 2065
2066 * random.c: Always include time.h - standard requirement. Thanks 2066 * random.c: Always include time.h - standard requirement. Thanks
2067 to James Troup. 2067 to James Troup.
2068 2068
2069 * rndw32.c: Fixes to the macros. 2069 * rndw32.c: Fixes to the macros.
2070 2070
20712001-01-11 Werner Koch <wk@gnupg.org> 20712001-01-11 Werner Koch <wk@gnupg.org>
2072 2072
2073 * cipher.c (cipher_encrypt,gcry_cipher_encrypt): Use blocksize and 2073 * cipher.c (cipher_encrypt,gcry_cipher_encrypt): Use blocksize and
2074 not 8. 2074 not 8.
2075 2075
20762000-12-19 Werner Koch <wk@gnupg.org> 20762000-12-19 Werner Koch <wk@gnupg.org>
2077 2077
2078 Major change: 2078 Major change:
2079 Removed all GnuPG stuff and renamed this piece of software 2079 Removed all GnuPG stuff and renamed this piece of software
2080 to gcrypt. 2080 to gcrypt.
2081 2081
20822000-11-14 Werner Koch <wk@gnupg.org> 20822000-11-14 Werner Koch <wk@gnupg.org>
2083 2083
2084 * dsa.c (test_keys): Replaced mpi_alloc by gcry_mpi_new and 2084 * dsa.c (test_keys): Replaced mpi_alloc by gcry_mpi_new and
2085 mpi_free by gcry_mpi_release. 2085 mpi_free by gcry_mpi_release.
2086 * elgamal.c (test_keys,generate): Ditto, also for mpi_alloc_secure. 2086 * elgamal.c (test_keys,generate): Ditto, also for mpi_alloc_secure.
2087 * rsa.c (test_keys,generate,rsa_verify): Ditto. 2087 * rsa.c (test_keys,generate,rsa_verify): Ditto.
2088 * primegen.c (generate_elg_prime): Ditto. 2088 * primegen.c (generate_elg_prime): Ditto.
2089 (gen_prime): Ditto and removed nlimbs. 2089 (gen_prime): Ditto and removed nlimbs.
2090 2090
2091 * rsa.c (generate): Allocate 2 more vars in secure memory. 2091 * rsa.c (generate): Allocate 2 more vars in secure memory.
2092 2092
2093 * Makefile.am (OMIT_DEPENDENCIES): Hack to work around dependency 2093 * Makefile.am (OMIT_DEPENDENCIES): Hack to work around dependency
2094 problems. 2094 problems.
2095 2095
20962000-10-09 Werner Koch <wk@gnupg.org> 20962000-10-09 Werner Koch <wk@gnupg.org>
2097 2097
2098 * arcfour.c, arcfour.h: New. 2098 * arcfour.c, arcfour.h: New.
2099 * cipher.c (cipher_encrypt, cipher_decrypt): Add stream mode. 2099 * cipher.c (cipher_encrypt, cipher_decrypt): Add stream mode.
2100 (setup_cipher_table): Add Arcfour. 2100 (setup_cipher_table): Add Arcfour.
2101 (gcry_cipher_open): Kludge to allow stream mode. 2101 (gcry_cipher_open): Kludge to allow stream mode.
2102 2102
2103Wed Oct 4 13:16:18 CEST 2000 Werner Koch <wk@openit.de> 2103Wed Oct 4 13:16:18 CEST 2000 Werner Koch <wk@openit.de>
2104 2104
2105 * sha1.c (transform): Use rol() macro. Actually this is not needed 2105 * sha1.c (transform): Use rol() macro. Actually this is not needed
2106 for a newer gcc but there are still aoter compilers. 2106 for a newer gcc but there are still aoter compilers.
2107 2107
2108 * rsa.c (test_keys): Use new random function. 2108 * rsa.c (test_keys): Use new random function.
2109 2109
2110 * md.c (gcry_md_setkey): New function to overcome problems with 2110 * md.c (gcry_md_setkey): New function to overcome problems with
2111 const conflics. 2111 const conflics.
2112 (gcry_md_ctl): Pass set key to the new functions. 2112 (gcry_md_ctl): Pass set key to the new functions.
2113 2113
2114 * rijndael.c: New. 2114 * rijndael.c: New.
2115 * cipher.c: Add Rijndael support. 2115 * cipher.c: Add Rijndael support.
2116 2116
2117Mon Sep 18 16:35:45 CEST 2000 Werner Koch <wk@openit.de> 2117Mon Sep 18 16:35:45 CEST 2000 Werner Koch <wk@openit.de>
2118 2118
2119 * rndlinux.c (open_device): Loose random device checking. 2119 * rndlinux.c (open_device): Loose random device checking.
2120 By Nils Ellmenreich. 2120 By Nils Ellmenreich.
2121 2121
2122 * random.c (fast_random_poll): Check ENOSYS for getrusage. 2122 * random.c (fast_random_poll): Check ENOSYS for getrusage.
2123 * rndunix.c: Add 2 sources for QNX. By Sam Roberts. 2123 * rndunix.c: Add 2 sources for QNX. By Sam Roberts.
2124 2124
2125 * pubkey.c (gcry_pk_algo_info): Add GCRYCTL_GET_ALGO_USAGE. 2125 * pubkey.c (gcry_pk_algo_info): Add GCRYCTL_GET_ALGO_USAGE.
2126 2126
2127 * rsa.c: Changed the comment about the patent. 2127 * rsa.c: Changed the comment about the patent.
2128 (secret): Speed up by using the CRT. For a 2k keys this 2128 (secret): Speed up by using the CRT. For a 2k keys this
2129 is about 3 times faster. 2129 is about 3 times faster.
2130 (stronger_key_check): New but unused code to check the secret key. 2130 (stronger_key_check): New but unused code to check the secret key.
2131 * Makefile.am: Included rsa.[ch]. 2131 * Makefile.am: Included rsa.[ch].
2132 * pubkey.c: Enabled RSA support. 2132 * pubkey.c: Enabled RSA support.
2133 (pubkey_get_npkey): Removed RSA workaround. 2133 (pubkey_get_npkey): Removed RSA workaround.
2134 2134
2135Mon Jul 31 10:04:47 CEST 2000 Werner Koch <wk@openit.de> 2135Mon Jul 31 10:04:47 CEST 2000 Werner Koch <wk@openit.de>
2136 2136
2137 * pubkey.c: Replaced all gcry_sexp_{car,cdr}_{data,mpi} by the new 2137 * pubkey.c: Replaced all gcry_sexp_{car,cdr}_{data,mpi} by the new
2138 gcry_sexp_nth_{data,mpi} functions. 2138 gcry_sexp_nth_{data,mpi} functions.
2139 2139
2140Tue Jul 25 17:44:15 CEST 2000 Werner Koch <wk@openit.de> 2140Tue Jul 25 17:44:15 CEST 2000 Werner Koch <wk@openit.de>
2141 2141
2142 * pubkey.c (exp_to_key,sexp_to_sig,sexp_to_enc,gcry_pk_encrypt, 2142 * pubkey.c (exp_to_key,sexp_to_sig,sexp_to_enc,gcry_pk_encrypt,
2143 gcry_pk_decrypt,gcry_pk_sign,gcry_pk_genkey): Changed to work with 2143 gcry_pk_decrypt,gcry_pk_sign,gcry_pk_genkey): Changed to work with
2144 the new S-Exp interface. 2144 the new S-Exp interface.
2145 2145
2146Mon Jul 17 16:35:47 CEST 2000 Werner Koch <wk@> 2146Mon Jul 17 16:35:47 CEST 2000 Werner Koch <wk@>
2147 2147
2148 * random.c (gather_faked): Replaced make_timestamp by time(2) again. 2148 * random.c (gather_faked): Replaced make_timestamp by time(2) again.
2149 2149
2150Fri Jul 14 19:38:23 CEST 2000 Werner Koch <wk@> 2150Fri Jul 14 19:38:23 CEST 2000 Werner Koch <wk@>
2151 2151
2152 * md.c (gcry_md_ctl): Support GCRYCTL_{START,STOP}_DUMP. 2152 * md.c (gcry_md_ctl): Support GCRYCTL_{START,STOP}_DUMP.
2153 2153
2154 * Makefile.am: Never compile mingw32 as module. 2154 * Makefile.am: Never compile mingw32 as module.
2155 2155
2156 * Makefile.am: Tweaked module build and removed libtool 2156 * Makefile.am: Tweaked module build and removed libtool
2157 2157
2158 * Makefile.am: Replaced -O1 by -O. Suggested by Alec Habig. 2158 * Makefile.am: Replaced -O1 by -O. Suggested by Alec Habig.
2159 2159
2160 * elgamal.c (sign): Removed inactive code. 2160 * elgamal.c (sign): Removed inactive code.
2161 2161
2162 * rsa.c, rsa.h: New based on the old module version (only in CVS for now). 2162 * rsa.c, rsa.h: New based on the old module version (only in CVS for now).
2163 * pubkey.c (setup_pubkey_table): Added commented support for RSA. 2163 * pubkey.c (setup_pubkey_table): Added commented support for RSA.
2164 2164
2165 * rndunix.c (waitpid): New. For UTS 2.1. All by Dave Dykstra. 2165 * rndunix.c (waitpid): New. For UTS 2.1. All by Dave Dykstra.
2166 (my_popen): Do the FD_CLOEXEC only if it is available 2166 (my_popen): Do the FD_CLOEXEC only if it is available
2167 (start_gatherer): Cope with missing _SC_OPEN_MAX 2167 (start_gatherer): Cope with missing _SC_OPEN_MAX
2168 2168
2169 * rndunix.c: Add some more headers for QNX. By Sam Roberts. 2169 * rndunix.c: Add some more headers for QNX. By Sam Roberts.
2170 2170
2171 * rndegd.c (gather_random): Shortcut level 0. 2171 * rndegd.c (gather_random): Shortcut level 0.
2172 * rndunix.c (gather_random): Ditto. 2172 * rndunix.c (gather_random): Ditto.
2173 * rndw32.c (gather_random): Ditto. 2173 * rndw32.c (gather_random): Ditto.
2174 2174
2175 * rndw32.c: Replaced with code from Cryptlib and commented the old stuff. 2175 * rndw32.c: Replaced with code from Cryptlib and commented the old stuff.
2176 * rndw32.c: Add some debuging code enabled by an environment variable. 2176 * rndw32.c: Add some debuging code enabled by an environment variable.
2177 2177
2178 * random.c (read_seed_file): Binary open for DOSish system 2178 * random.c (read_seed_file): Binary open for DOSish system
2179 (update_random_seed_file): Ditto. 2179 (update_random_seed_file): Ditto.
2180 * random.c [MINGW32]: Include process.h for getpid. 2180 * random.c [MINGW32]: Include process.h for getpid.
2181 * random.c (fast_random_poll): Add clock_gettime() as fallback for 2181 * random.c (fast_random_poll): Add clock_gettime() as fallback for
2182 system which support this POSIX.4 fucntion. By Sam Roberts. 2182 system which support this POSIX.4 fucntion. By Sam Roberts.
2183 2183
2184 * random.c (read_seed_file): Removed the S_ISLNK test becuase it 2184 * random.c (read_seed_file): Removed the S_ISLNK test becuase it
2185 is already covered by !S_ISREG and is not defined in Unixware. 2185 is already covered by !S_ISREG and is not defined in Unixware.
2186 Reported by Dave Dykstra. 2186 Reported by Dave Dykstra.
2187 (update_random_seed_file): Silently ignore update request when pool 2187 (update_random_seed_file): Silently ignore update request when pool
2188 is not filled. 2188 is not filled.
2189 2189
2190 * random.c (read_seed_file): New. 2190 * random.c (read_seed_file): New.
2191 (set_random_seed_file): New. 2191 (set_random_seed_file): New.
2192 (read_pool): Try to read the seeding file. 2192 (read_pool): Try to read the seeding file.
2193 (update_random_seed_file): New. 2193 (update_random_seed_file): New.
2194 2194
2195 (read_pool): Do an initial extra seeding when level 2 quality random 2195 (read_pool): Do an initial extra seeding when level 2 quality random
2196 is requested the first time. This requestes at least POOLSIZE/2 bytes 2196 is requested the first time. This requestes at least POOLSIZE/2 bytes
2197 of entropy. Compined with the seeding file this should make normal 2197 of entropy. Compined with the seeding file this should make normal
2198 random bytes cheaper and increase the quality of the random bytes 2198 random bytes cheaper and increase the quality of the random bytes
2199 used for key generation. 2199 used for key generation.
2200 2200
2201 * random.c (read_pool): Print a more friendly error message in 2201 * random.c (read_pool): Print a more friendly error message in
2202 cases when too much random is requested in one call. 2202 cases when too much random is requested in one call.
2203 2203
2204 * random.c (fast_random_poll): Check whether RUSAGE_SELF is defined; 2204 * random.c (fast_random_poll): Check whether RUSAGE_SELF is defined;
2205 this is not the case for some ESIX and Unixware, although they have 2205 this is not the case for some ESIX and Unixware, although they have
2206 getrusage(). 2206 getrusage().
2207 2207
2208 * primegen.c (generate_elg_prime): All primes are now generated with 2208 * primegen.c (generate_elg_prime): All primes are now generated with
2209 the lowest random quality level. Because they are public anyway we 2209 the lowest random quality level. Because they are public anyway we
2210 don't need stronger random and by this we do not drain the systems 2210 don't need stronger random and by this we do not drain the systems
2211 entropy so much. 2211 entropy so much.
2212 2212
2213 * primegen.c (register_primegen_progress): New. 2213 * primegen.c (register_primegen_progress): New.
2214 * dsa.c (register_pk_dsa_progress): New. 2214 * dsa.c (register_pk_dsa_progress): New.
2215 * elgamal.c (register_pk_elg_progress): New. 2215 * elgamal.c (register_pk_elg_progress): New.
2216 2216
2217 * elgamal.c (wiener_map): New. 2217 * elgamal.c (wiener_map): New.
2218 (gen_k): Use a much smaller k. 2218 (gen_k): Use a much smaller k.
2219 (generate): Calculate the qbits using the wiener map and 2219 (generate): Calculate the qbits using the wiener map and
2220 choose an x at a size comparable to the one choosen in gen_k 2220 choose an x at a size comparable to the one choosen in gen_k
2221 2221
2222 * rmd160.c (rmd160_get_info): Moved casting to the left side due to a 2222 * rmd160.c (rmd160_get_info): Moved casting to the left side due to a
2223 problem with UTS4.3. Suggested by Dave Dykstra. 2223 problem with UTS4.3. Suggested by Dave Dykstra.
2224 * sha1.c (sha1_get_info): Ditto. 2224 * sha1.c (sha1_get_info): Ditto.
2225 * tiger.c (tiger_get_info): Ditto. 2225 * tiger.c (tiger_get_info): Ditto.
2226 * md5.c (md5_get_info): Ditto 2226 * md5.c (md5_get_info): Ditto
2227 * des.c (des_get_info): Ditto. 2227 * des.c (des_get_info): Ditto.
2228 * blowfish.c (blowfish_get_info): Ditto. 2228 * blowfish.c (blowfish_get_info): Ditto.
2229 * cast5.c (cast5_get_info): Ditto. 2229 * cast5.c (cast5_get_info): Ditto.
2230 * twofish.c (twofish_get_info): Ditto. 2230 * twofish.c (twofish_get_info): Ditto.
2231 2231
2232Fri Mar 24 11:25:45 CET 2000 Werner Koch <wk@openit.de> 2232Fri Mar 24 11:25:45 CET 2000 Werner Koch <wk@openit.de>
2233 2233
2234 * md.c (md_open): Add hmac arg and allocate space for the pads. 2234 * md.c (md_open): Add hmac arg and allocate space for the pads.
2235 (md_finalize): Add HMAC support. 2235 (md_finalize): Add HMAC support.
2236 (md_copy): Ditto. 2236 (md_copy): Ditto.
2237 (md_close): Ditto. 2237 (md_close): Ditto.
2238 (gcry_md_reset): Ditto. 2238 (gcry_md_reset): Ditto.
2239 (gcry_md_ctl): Ditto. 2239 (gcry_md_ctl): Ditto.
2240 (prepare_macpdas): New. 2240 (prepare_macpdas): New.
2241 2241
2242Mon Mar 13 19:22:46 CET 2000 Werner Koch <wk@openit.de> 2242Mon Mar 13 19:22:46 CET 2000 Werner Koch <wk@openit.de>
2243 2243
2244 * md.c (gcry_md_hash_buffer): Add support for the other algorithms. 2244 * md.c (gcry_md_hash_buffer): Add support for the other algorithms.
2245 2245
2246Mon Jan 31 16:37:34 CET 2000 Werner Koch <wk@gnupg.de> 2246Mon Jan 31 16:37:34 CET 2000 Werner Koch <wk@gnupg.de>
2247 2247
2248 * genprime.c (generate_elg_prime): Fixed returned factors which never 2248 * genprime.c (generate_elg_prime): Fixed returned factors which never
2249 worked for non-DSA keys. 2249 worked for non-DSA keys.
2250 2250
2251Thu Jan 27 18:00:44 CET 2000 Werner Koch <wk@gnupg.de> 2251Thu Jan 27 18:00:44 CET 2000 Werner Koch <wk@gnupg.de>
2252 2252
2253 * pubkey.c (sexp_to_key): Fixed mem leaks in case of errors. 2253 * pubkey.c (sexp_to_key): Fixed mem leaks in case of errors.
2254 2254
2255Mon Jan 24 22:24:38 CET 2000 Werner Koch <wk@gnupg.de> 2255Mon Jan 24 22:24:38 CET 2000 Werner Koch <wk@gnupg.de>
2256 2256
2257 * pubkey.c (gcry_pk_decrypt): Implemented. 2257 * pubkey.c (gcry_pk_decrypt): Implemented.
2258 (gcry_pk_encrypt): Implemented. 2258 (gcry_pk_encrypt): Implemented.
2259 (gcry_pk_testkey): New. 2259 (gcry_pk_testkey): New.
2260 (gcry_pk_genkey): New. 2260 (gcry_pk_genkey): New.
2261 (pubkey_decrypt): Made static. 2261 (pubkey_decrypt): Made static.
2262 (pubkey_encrypt): Ditto. 2262 (pubkey_encrypt): Ditto.
2263 (pubkey_check_secret_key): Ditto. 2263 (pubkey_check_secret_key): Ditto.
2264 (pubkey_generate): Ditto. 2264 (pubkey_generate): Ditto.
2265 2265
2266Mon Jan 24 13:04:28 CET 2000 Werner Koch <wk@gnupg.de> 2266Mon Jan 24 13:04:28 CET 2000 Werner Koch <wk@gnupg.de>
2267 2267
2268 * pubkey.c (pubkey_nbits): Removed and replaced by ... 2268 * pubkey.c (pubkey_nbits): Removed and replaced by ...
2269 (gcry_pk_get_nbits): this new one. 2269 (gcry_pk_get_nbits): this new one.
2270 2270
2271Wed Dec 8 21:58:32 CET 1999 Werner Koch <wk@gnupg.de> 2271Wed Dec 8 21:58:32 CET 1999 Werner Koch <wk@gnupg.de>
2272 2272
2273 * dsa.c: s/mpi_powm/gcry_mpi_powm/g 2273 * dsa.c: s/mpi_powm/gcry_mpi_powm/g
2274 * elgamal.c: Ditto. 2274 * elgamal.c: Ditto.
2275 * primegen.c: Ditto. 2275 * primegen.c: Ditto.
2276 2276
2277 * : Replaced g10_opt_verbose by g10_log_verbosity(). 2277 * : Replaced g10_opt_verbose by g10_log_verbosity().
2278 2278
2279 * Makefile.am (INCLUDES): removed intl, add ../gcrypt 2279 * Makefile.am (INCLUDES): removed intl, add ../gcrypt
2280 2280
2281Fri Nov 19 17:15:20 CET 1999 Werner Koch <wk@gnupg.de> 2281Fri Nov 19 17:15:20 CET 1999 Werner Koch <wk@gnupg.de>
2282 2282
2283 * dynload.c (cmp_filenames): New to replaced compare_filename() in 2283 * dynload.c (cmp_filenames): New to replaced compare_filename() in
2284 module. 2284 module.
2285 (register_cipher_extension): Removed the tilde expansion stuff. 2285 (register_cipher_extension): Removed the tilde expansion stuff.
2286 * rndeg.c (my_make_filename): New. 2286 * rndeg.c (my_make_filename): New.
2287 2287
2288 * : Replaced header util.h by g10lib.h 2288 * : Replaced header util.h by g10lib.h
2289 2289
2290 * random.c (gather_faked): Replaced make_timestamp by time(2). 2290 * random.c (gather_faked): Replaced make_timestamp by time(2).
2291 Disabled wrning printed with tty_printf. 2291 Disabled wrning printed with tty_printf.
2292 * rndlinux.c (gather_random): Always use fprintf instead of tty_xxx; 2292 * rndlinux.c (gather_random): Always use fprintf instead of tty_xxx;
2293 this should be replaced by a callback function. 2293 this should be replaced by a callback function.
2294 2294
2295 * primegen.c (gen_prime): Use gcry_mpi_randomize. 2295 * primegen.c (gen_prime): Use gcry_mpi_randomize.
2296 (is_prime): Ditto. 2296 (is_prime): Ditto.
2297 * elgamal.c (test_keys): Ditto. 2297 * elgamal.c (test_keys): Ditto.
2298 * dsa.c (test_keys): Ditto. 2298 * dsa.c (test_keys): Ditto.
2299 2299
2300 * cipher.c (gcry_cipher_close): Die on invalid handle. 2300 * cipher.c (gcry_cipher_close): Die on invalid handle.
2301 2301
2302Mon Nov 15 21:36:02 CET 1999 Werner Koch <wk@gnupg.de> 2302Mon Nov 15 21:36:02 CET 1999 Werner Koch <wk@gnupg.de>
2303 2303
2304 * elgamal.c (gen_k): Use the new random API. 2304 * elgamal.c (gen_k): Use the new random API.
2305 (generate): Ditto. 2305 (generate): Ditto.
2306 * dsa.c (gen_k): Ditto. 2306 * dsa.c (gen_k): Ditto.
2307 (generate): Ditto. 2307 (generate): Ditto.
2308 2308
2309Sat Nov 13 17:44:23 CET 1999 Werner Koch <wk@gnupg.de> 2309Sat Nov 13 17:44:23 CET 1999 Werner Koch <wk@gnupg.de>
2310 2310
2311 * pubkey.c (disable_pubkey_algo): Made static. 2311 * pubkey.c (disable_pubkey_algo): Made static.
2312 (gcry_pk_ctl): New. 2312 (gcry_pk_ctl): New.
2313 2313
2314 * random.c (get_random_bits): Renamed to ... 2314 * random.c (get_random_bits): Renamed to ...
2315 (get_random_bytes): ... this and made static. 2315 (get_random_bytes): ... this and made static.
2316 (gcry_random_bytes): New. 2316 (gcry_random_bytes): New.
2317 (gcry_random_bytes_secure): New. 2317 (gcry_random_bytes_secure): New.
2318 (randomize_buffer): Renamed to ... 2318 (randomize_buffer): Renamed to ...
2319 (gcry_randomize): ...this. 2319 (gcry_randomize): ...this.
2320 2320
2321 * md.c (gcry_md_hash_buffer): New. 2321 * md.c (gcry_md_hash_buffer): New.
2322 2322
2323 * pubkey.c (gcry_pk_algo_info): 4 new commands. 2323 * pubkey.c (gcry_pk_algo_info): 4 new commands.
2324 (pubkey_get_npkey): Made static. 2324 (pubkey_get_npkey): Made static.
2325 (pubkey_get_nskey): Made static. 2325 (pubkey_get_nskey): Made static.
2326 (pubkey_get_nsig): Made static. 2326 (pubkey_get_nsig): Made static.
2327 (pubkey_get_nenc): Made static. 2327 (pubkey_get_nenc): Made static.
2328 2328
2329 * pubkey.c: Removed all G10ERR_xxx. 2329 * pubkey.c: Removed all G10ERR_xxx.
2330 * cipher.c: Changed all GCRYERR_INV_ALGO to GCRYERR_INV_CIPHER_ALGO. 2330 * cipher.c: Changed all GCRYERR_INV_ALGO to GCRYERR_INV_CIPHER_ALGO.
2331 * md.c: Changed all GCRYERR_INV_ALGO to GCRYERR_INV_MD_ALGO. 2331 * md.c: Changed all GCRYERR_INV_ALGO to GCRYERR_INV_MD_ALGO.
2332 * cast5.c (cast_setkey): Changed errocodes to GCRYERR_xxx. 2332 * cast5.c (cast_setkey): Changed errocodes to GCRYERR_xxx.
2333 * blowfish.c: Ditto. 2333 * blowfish.c: Ditto.
2334 * des.c: Ditto. 2334 * des.c: Ditto.
2335 * twofish.c: Ditto. 2335 * twofish.c: Ditto.
2336 * dsa.c: Ditto. 2336 * dsa.c: Ditto.
2337 * elgamal.c: Ditto. 2337 * elgamal.c: Ditto.
2338 2338
2339 * g10c.c: Removed 2339 * g10c.c: Removed
2340 2340
2341 * cipher.c (gcry_cipher_open): Replaced alloc functions and return NULL 2341 * cipher.c (gcry_cipher_open): Replaced alloc functions and return NULL
2342 if we are out of core. 2342 if we are out of core.
2343 * dynload.c: Replaced all memory allocation functions. 2343 * dynload.c: Replaced all memory allocation functions.
2344 * md.c: Ditto. 2344 * md.c: Ditto.
2345 * primegen.c: Ditto. 2345 * primegen.c: Ditto.
2346 * pubkey.c: Ditto. 2346 * pubkey.c: Ditto.
2347 * random.c: Ditto. 2347 * random.c: Ditto.
2348 * rndw32.c: Ditto. 2348 * rndw32.c: Ditto.
2349 * elgamal.c: Ditto. 2349 * elgamal.c: Ditto.
2350 * dsa.c: Ditto. 2350 * dsa.c: Ditto.
2351 2351
2352Tue Oct 26 14:10:21 CEST 1999 Werner Koch <wk@gnupg.de> 2352Tue Oct 26 14:10:21 CEST 1999 Werner Koch <wk@gnupg.de>
2353 2353
2354 * elgamal.c (sign): Hugh found strange code here. Replaced by BUG(). 2354 * elgamal.c (sign): Hugh found strange code here. Replaced by BUG().
2355 2355
2356 * cipher.c: Merged with gcrypt/symapi.c. 2356 * cipher.c: Merged with gcrypt/symapi.c.
2357 2357
2358 * pubkey.c (string_to_pubkey_algo): Renamed function to ... 2358 * pubkey.c (string_to_pubkey_algo): Renamed function to ...
2359 (gcry_pk_map_name): ... this. 2359 (gcry_pk_map_name): ... this.
2360 (pubkey_algo_to_string): Renamed function to ... 2360 (pubkey_algo_to_string): Renamed function to ...
2361 (gcry_pk_algo_name): ... this. 2361 (gcry_pk_algo_name): ... this.
2362 (gcry_pk_algo_info): New. 2362 (gcry_pk_algo_info): New.
2363 * pubkey.c: Merged with gcrypt/pkapi.c. 2363 * pubkey.c: Merged with gcrypt/pkapi.c.
2364 2364
2365 * md.c (md_reset): Clear finalized; thanks to Ulf Moeller for 2365 * md.c (md_reset): Clear finalized; thanks to Ulf Moeller for
2366 fixing this bug. 2366 fixing this bug.
2367 2367
2368 * md.c: Merged with gcrypt/mdapi.c 2368 * md.c: Merged with gcrypt/mdapi.c
2369 2369
2370Wed Sep 15 14:39:59 CEST 1999 Michael Roth <mroth@nessie.de> 2370Wed Sep 15 14:39:59 CEST 1999 Michael Roth <mroth@nessie.de>
2371 2371
2372 * des.c: Various speed improvements: One bit pre rotation 2372 * des.c: Various speed improvements: One bit pre rotation
2373 trick after initial permutation (Richard Outerbridge). 2373 trick after initial permutation (Richard Outerbridge).
2374 Finished test of SSLeay Tripple-DES patterns. 2374 Finished test of SSLeay Tripple-DES patterns.
2375 2375
2376Wed Sep 15 16:22:17 CEST 1999 Werner Koch <wk@isil.d.shuttle.de> 2376Wed Sep 15 16:22:17 CEST 1999 Werner Koch <wk@isil.d.shuttle.de>
2377 2377
2378 * rndw32.c: New. 2378 * rndw32.c: New.
2379 2379
2380Mon Sep 13 10:51:29 CEST 1999 Werner Koch <wk@isil.d.shuttle.de> 2380Mon Sep 13 10:51:29 CEST 1999 Werner Koch <wk@isil.d.shuttle.de>
2381 2381
2382 * bithelp.h: New. 2382 * bithelp.h: New.
2383 * rmd160.h, sha1.h, md5.h: Use the rol macro from bithelp.h 2383 * rmd160.h, sha1.h, md5.h: Use the rol macro from bithelp.h
2384 2384
2385Tue Sep 7 16:23:36 CEST 1999 Werner Koch <wk@isil.d.shuttle.de> 2385Tue Sep 7 16:23:36 CEST 1999 Werner Koch <wk@isil.d.shuttle.de>
2386 2386
2387 * Makefile.am: Fixed seds for latest egcc. By Ollivier Robert. 2387 * Makefile.am: Fixed seds for latest egcc. By Ollivier Robert.
2388 2388
2389Mon Sep 6 19:59:08 CEST 1999 Werner Koch <wk@isil.d.shuttle.de> 2389Mon Sep 6 19:59:08 CEST 1999 Werner Koch <wk@isil.d.shuttle.de>
2390 2390
2391 * des.c (selftest): Add some testpattern 2391 * des.c (selftest): Add some testpattern
2392 2392
2393Mon Aug 30 20:38:33 CEST 1999 Werner Koch <wk@isil.d.shuttle.de> 2393Mon Aug 30 20:38:33 CEST 1999 Werner Koch <wk@isil.d.shuttle.de>
2394 2394
2395 * cipher.c (do_cbc_encrypt): Fixed serious bug occuring when not using 2395 * cipher.c (do_cbc_encrypt): Fixed serious bug occuring when not using
2396 in place encryption. Pointed out by Frank Stajano. 2396 in place encryption. Pointed out by Frank Stajano.
2397 2397
2398Mon Jul 26 09:34:46 CEST 1999 Werner Koch <wk@isil.d.shuttle.de> 2398Mon Jul 26 09:34:46 CEST 1999 Werner Koch <wk@isil.d.shuttle.de>
2399 2399
2400 * md5.c (md5_final): Fix for a SCO cpp bug. 2400 * md5.c (md5_final): Fix for a SCO cpp bug.
2401 2401
2402Thu Jul 15 10:15:35 CEST 1999 Werner Koch <wk@isil.d.shuttle.de> 2402Thu Jul 15 10:15:35 CEST 1999 Werner Koch <wk@isil.d.shuttle.de>
2403 2403
2404 * elgamal.c (elg_check_secret_key,elg_encrypt 2404 * elgamal.c (elg_check_secret_key,elg_encrypt
2405 elg_decrypt,elg_sign,elg_verify): Sanity check on the args. 2405 elg_decrypt,elg_sign,elg_verify): Sanity check on the args.
2406 * dsa.c (dsa_check_secret_key,dsa_sign,dsa_verify): Ditto. 2406 * dsa.c (dsa_check_secret_key,dsa_sign,dsa_verify): Ditto.
2407 2407
2408 * pubkey.c (disable_pubkey_algo): New. 2408 * pubkey.c (disable_pubkey_algo): New.
2409 (check_pubkey_algo2): Look at disabled algo table. 2409 (check_pubkey_algo2): Look at disabled algo table.
2410 * cipher.c (disable_cipher_algo): New. 2410 * cipher.c (disable_cipher_algo): New.
2411 (check_cipher_algo): Look at disabled algo table. 2411 (check_cipher_algo): Look at disabled algo table.
2412 2412
2413Wed Jul 7 13:08:40 CEST 1999 Werner Koch <wk@isil.d.shuttle.de> 2413Wed Jul 7 13:08:40 CEST 1999 Werner Koch <wk@isil.d.shuttle.de>
2414 2414
2415 * Makefile.am: Support for libtool. 2415 * Makefile.am: Support for libtool.
2416 2416
2417Fri Jul 2 11:45:54 CEST 1999 Werner Koch <wk@isil.d.shuttle.de> 2417Fri Jul 2 11:45:54 CEST 1999 Werner Koch <wk@isil.d.shuttle.de>
2418 2418
2419 * dsa.c (gen_k): Changed algorithm to consume less random bytes 2419 * dsa.c (gen_k): Changed algorithm to consume less random bytes
2420 * elgamal.c (gen_k): Ditto. 2420 * elgamal.c (gen_k): Ditto.
2421 2421
2422 * random.c (random_dump_stats): New. 2422 * random.c (random_dump_stats): New.
2423 2423
2424Thu Jul 1 12:47:31 CEST 1999 Werner Koch <wk@isil.d.shuttle.de> 2424Thu Jul 1 12:47:31 CEST 1999 Werner Koch <wk@isil.d.shuttle.de>
2425 2425
2426 * primegen.c, elgamal.c, dsa.c (progess): New and replaced all 2426 * primegen.c, elgamal.c, dsa.c (progess): New and replaced all
2427 fputc with a call to this function. 2427 fputc with a call to this function.
2428 2428
2429Sat Jun 26 12:15:59 CEST 1999 Werner Koch <wk@isil.d.shuttle.de> 2429Sat Jun 26 12:15:59 CEST 1999 Werner Koch <wk@isil.d.shuttle.de>
2430 2430
2431 * rndegd.c (do_write): s/ssize_t/int/ due to SunOS 4.1 probs. 2431 * rndegd.c (do_write): s/ssize_t/int/ due to SunOS 4.1 probs.
2432 2432
2433 * cipher.c (do_cbc_encrypt, do_cbc_decrypt): New. 2433 * cipher.c (do_cbc_encrypt, do_cbc_decrypt): New.
2434 2434
2435 * dynload.c (HAVE_DL_SHL_LOAD): Map hpux API to dlopen (Dave Dykstra). 2435 * dynload.c (HAVE_DL_SHL_LOAD): Map hpux API to dlopen (Dave Dykstra).
2436 * Makefile.am (install-exec-hook): Removed. 2436 * Makefile.am (install-exec-hook): Removed.
2437 2437
2438Sun May 23 14:20:22 CEST 1999 Werner Koch <wk@isil.d.shuttle.de> 2438Sun May 23 14:20:22 CEST 1999 Werner Koch <wk@isil.d.shuttle.de>
2439 2439
2440 * cipher.c (setup_cipher_table): Enable Twofish 2440 * cipher.c (setup_cipher_table): Enable Twofish
2441 2441
2442 * random.c (fast_random_poll): Disable use of times() for mingw32. 2442 * random.c (fast_random_poll): Disable use of times() for mingw32.
2443 2443
2444Mon May 17 21:54:43 CEST 1999 Werner Koch <wk@isil.d.shuttle.de> 2444Mon May 17 21:54:43 CEST 1999 Werner Koch <wk@isil.d.shuttle.de>
2445 2445
2446 * dynload.c (register_internal_cipher_extension): Minor init fix. 2446 * dynload.c (register_internal_cipher_extension): Minor init fix.
2447 2447
2448Tue May 4 15:47:53 CEST 1999 Werner Koch <wk@isil.d.shuttle.de> 2448Tue May 4 15:47:53 CEST 1999 Werner Koch <wk@isil.d.shuttle.de>
2449 2449
2450 * primegen.c (gen_prime): Readded the Fermat test. Fixed the bug 2450 * primegen.c (gen_prime): Readded the Fermat test. Fixed the bug
2451 that we didn't correct for step when passing the prime to the 2451 that we didn't correct for step when passing the prime to the
2452 Rabin-Miller test which led to bad performance (Stefan Keller). 2452 Rabin-Miller test which led to bad performance (Stefan Keller).
2453 (check_prime): Add a first Fermat test. 2453 (check_prime): Add a first Fermat test.
2454 2454
2455Sun Apr 18 10:11:28 CEST 1999 Werner Koch <wk@isil.d.shuttle.de> 2455Sun Apr 18 10:11:28 CEST 1999 Werner Koch <wk@isil.d.shuttle.de>
2456 2456
2457 * cipher.c (cipher_setiv): Add ivlen arg, changed all callers. 2457 * cipher.c (cipher_setiv): Add ivlen arg, changed all callers.
2458 2458
2459 * random.c (randomize_buffer): alway use secure memory because 2459 * random.c (randomize_buffer): alway use secure memory because
2460 we can't use m_is_secure() on a statically allocated buffer. 2460 we can't use m_is_secure() on a statically allocated buffer.
2461 2461
2462 * twofish.c: Replaced some macros by a loop to reduce text size. 2462 * twofish.c: Replaced some macros by a loop to reduce text size.
2463 * Makefile.am (twofish): No more need for sed editing. 2463 * Makefile.am (twofish): No more need for sed editing.
2464 2464
2465Fri Apr 9 12:26:25 CEST 1999 Werner Koch <wk@isil.d.shuttle.de> 2465Fri Apr 9 12:26:25 CEST 1999 Werner Koch <wk@isil.d.shuttle.de>
2466 2466
2467 * cipher.c (cipher_open): Reversed the changes for AUTO_CFB. 2467 * cipher.c (cipher_open): Reversed the changes for AUTO_CFB.
2468 2468
2469 * blowfish.c: Dropped the Blowfish 160 mode. 2469 * blowfish.c: Dropped the Blowfish 160 mode.
2470 * cipher.c (cipher_open): Ditto. 2470 * cipher.c (cipher_open): Ditto.
2471 (setup_cipher_table): Ditto. And removed support of twofish128 2471 (setup_cipher_table): Ditto. And removed support of twofish128
2472 2472
2473Wed Apr 7 20:51:39 CEST 1999 Werner Koch <wk@isil.d.shuttle.de> 2473Wed Apr 7 20:51:39 CEST 1999 Werner Koch <wk@isil.d.shuttle.de>
2474 2474
2475 * random.c (get_random_bits): Can now handle requests > POOLSIZE 2475 * random.c (get_random_bits): Can now handle requests > POOLSIZE
2476 2476
2477 * cipher.c (cipher_open): Now uses standard CFB for automode if 2477 * cipher.c (cipher_open): Now uses standard CFB for automode if
2478 the blocksize is gt 8 (according to rfc2440). 2478 the blocksize is gt 8 (according to rfc2440).
2479 2479
2480 * twofish.c: Applied Matthew Skala's patches for 256 bit key. 2480 * twofish.c: Applied Matthew Skala's patches for 256 bit key.
2481 2481
2482Tue Apr 6 19:58:12 CEST 1999 Werner Koch <wk@isil.d.shuttle.de> 2482Tue Apr 6 19:58:12 CEST 1999 Werner Koch <wk@isil.d.shuttle.de>
2483 2483
2484 * random.c (get_random_bits): Can now handle requests > POOLSIZE 2484 * random.c (get_random_bits): Can now handle requests > POOLSIZE
2485 2485
2486 * cipher.c (cipher_open): Now uses standard CFB for automode if 2486 * cipher.c (cipher_open): Now uses standard CFB for automode if
2487 the blocksize is gt 8 (according to rfc2440). 2487 the blocksize is gt 8 (according to rfc2440).
2488 2488
2489Sat Mar 20 11:44:21 CET 1999 Werner Koch <wk@isil.d.shuttle.de> 2489Sat Mar 20 11:44:21 CET 1999 Werner Koch <wk@isil.d.shuttle.de>
2490 2490
2491 * rndlinux.c (tty_printf) [IS_MODULE]: Removed. 2491 * rndlinux.c (tty_printf) [IS_MODULE]: Removed.
2492 2492
2493 * rndegd.c (gather_random): Some fixes. 2493 * rndegd.c (gather_random): Some fixes.
2494 2494
2495Wed Mar 17 13:09:03 CET 1999 Werner Koch <wk@isil.d.shuttle.de> 2495Wed Mar 17 13:09:03 CET 1999 Werner Koch <wk@isil.d.shuttle.de>
2496 2496
2497 * rndegd.c (do_read): New. 2497 * rndegd.c (do_read): New.
2498 (gather_random): Changed the implementation. 2498 (gather_random): Changed the implementation.
2499 2499
2500Mon Mar 8 20:47:17 CET 1999 Werner Koch <wk@isil.d.shuttle.de> 2500Mon Mar 8 20:47:17 CET 1999 Werner Koch <wk@isil.d.shuttle.de>
2501 2501
2502 * dynload.c (DLSYM_NEEDS_UNDERSCORE): Renamed. 2502 * dynload.c (DLSYM_NEEDS_UNDERSCORE): Renamed.
2503 2503
2504Fri Feb 26 17:55:41 CET 1999 Werner Koch <wk@isil.d.shuttle.de> 2504Fri Feb 26 17:55:41 CET 1999 Werner Koch <wk@isil.d.shuttle.de>
2505 2505
2506 * md.c: Nearly a total rewrote. 2506 * md.c: Nearly a total rewrote.
2507 2507
2508Wed Feb 24 11:07:27 CET 1999 Werner Koch <wk@isil.d.shuttle.de> 2508Wed Feb 24 11:07:27 CET 1999 Werner Koch <wk@isil.d.shuttle.de>
2509 2509
2510 * cipher.c (context): Fixed alignment 2510 * cipher.c (context): Fixed alignment
2511 * md.c: Ditto. 2511 * md.c: Ditto.
2512 2512
2513 * rndegd.c: New 2513 * rndegd.c: New
2514 2514
2515Mon Feb 22 20:04:00 CET 1999 Werner Koch <wk@isil.d.shuttle.de> 2515Mon Feb 22 20:04:00 CET 1999 Werner Koch <wk@isil.d.shuttle.de>
2516 2516
2517 * rndegd.c: New. 2517 * rndegd.c: New.
2518 2518
2519Wed Feb 10 17:15:39 CET 1999 Werner Koch <wk@isil.d.shuttle.de> 2519Wed Feb 10 17:15:39 CET 1999 Werner Koch <wk@isil.d.shuttle.de>
2520 2520
2521 * Makefile.am: Modules are now figured out by configure 2521 * Makefile.am: Modules are now figured out by configure
2522 * construct.c: New. Generated by configure. Changed all modules 2522 * construct.c: New. Generated by configure. Changed all modules
2523 to work with that. 2523 to work with that.
2524 * sha1.h: Removed. 2524 * sha1.h: Removed.
2525 * md5.h: Removed. 2525 * md5.h: Removed.
2526 2526
2527 * twofish.c: Changed interface to allow Twofish/256 2527 * twofish.c: Changed interface to allow Twofish/256
2528 2528
2529 * rndunix.c (start_gatherer): Die on SIGPIPE. 2529 * rndunix.c (start_gatherer): Die on SIGPIPE.
2530 2530
2531Wed Jan 20 18:59:49 CET 1999 Werner Koch <wk@isil.d.shuttle.de> 2531Wed Jan 20 18:59:49 CET 1999 Werner Koch <wk@isil.d.shuttle.de>
2532 2532
2533 * rndunix.c (gather_random): Fix to avoid infinite loop. 2533 * rndunix.c (gather_random): Fix to avoid infinite loop.
2534 2534
2535Sun Jan 17 11:04:33 CET 1999 Werner Koch <wk@isil.d.shuttle.de> 2535Sun Jan 17 11:04:33 CET 1999 Werner Koch <wk@isil.d.shuttle.de>
2536 2536
2537 * des.c (is_weak_key): Replace system memcmp due to bugs 2537 * des.c (is_weak_key): Replace system memcmp due to bugs
2538 in SunOS's memcmp. 2538 in SunOS's memcmp.
2539 (des_get_info): Return error on failed selftest. 2539 (des_get_info): Return error on failed selftest.
2540 * twofish.c (twofish_setkey): Return error on failed selftest or 2540 * twofish.c (twofish_setkey): Return error on failed selftest or
2541 invalid keylength. 2541 invalid keylength.
2542 * cast5.c (cast_setkey): Ditto. 2542 * cast5.c (cast_setkey): Ditto.
2543 * blowfish.c (bf_setkey): Return error on failed selftest. 2543 * blowfish.c (bf_setkey): Return error on failed selftest.
2544 2544
2545Tue Jan 12 11:17:18 CET 1999 Werner Koch <wk@isil.d.shuttle.de> 2545Tue Jan 12 11:17:18 CET 1999 Werner Koch <wk@isil.d.shuttle.de>
2546 2546
2547 * random.c (random_is_faked): New. 2547 * random.c (random_is_faked): New.
2548 2548
2549 * tiger.c: Only compile if we have the u64 type 2549 * tiger.c: Only compile if we have the u64 type
2550 2550
2551Sat Jan 9 16:02:23 CET 1999 Werner Koch <wk@isil.d.shuttle.de> 2551Sat Jan 9 16:02:23 CET 1999 Werner Koch <wk@isil.d.shuttle.de>
2552 2552
2553 * rndunix.c (gather_random): check for setuid. 2553 * rndunix.c (gather_random): check for setuid.
2554 2554
2555 * Makefile.am: Add a way to staically link random modules 2555 * Makefile.am: Add a way to staically link random modules
2556 2556
2557Thu Jan 7 18:00:58 CET 1999 Werner Koch <wk@isil.d.shuttle.de> 2557Thu Jan 7 18:00:58 CET 1999 Werner Koch <wk@isil.d.shuttle.de>
2558 2558
2559 * md.c (md_stop_debug): Do a flush first. 2559 * md.c (md_stop_debug): Do a flush first.
2560 (md_open): size of buffer now depends on the secure parameter 2560 (md_open): size of buffer now depends on the secure parameter
2561 2561
2562Sun Jan 3 15:28:44 CET 1999 Werner Koch <wk@isil.d.shuttle.de> 2562Sun Jan 3 15:28:44 CET 1999 Werner Koch <wk@isil.d.shuttle.de>
2563 2563
2564 * rndunix.c (start_gatherer): Fixed stupid ==/= bug 2564 * rndunix.c (start_gatherer): Fixed stupid ==/= bug
2565 2565
25661998-12-31 Geoff Keating <geoffk@ozemail.com.au> 25661998-12-31 Geoff Keating <geoffk@ozemail.com.au>
2567 2567
2568 * des.c (is_weak_key): Rewrite loop end condition. 2568 * des.c (is_weak_key): Rewrite loop end condition.
2569 2569
2570Tue Dec 29 14:41:47 CET 1998 Werner Koch <wk@isil.d.shuttle.de> 2570Tue Dec 29 14:41:47 CET 1998 Werner Koch <wk@isil.d.shuttle.de>
2571 2571
2572 * random.c: add unistd.h for getpid(). 2572 * random.c: add unistd.h for getpid().
2573 (RAND_MAX): Fallback value for Sun. 2573 (RAND_MAX): Fallback value for Sun.
2574 2574
2575Wed Dec 23 17:12:24 CET 1998 Werner Koch <wk@isil.d.shuttle.de> 2575Wed Dec 23 17:12:24 CET 1998 Werner Koch <wk@isil.d.shuttle.de>
2576 2576
2577 * md.c (md_copy): Reset debug. 2577 * md.c (md_copy): Reset debug.
2578 2578
2579Mon Dec 14 21:18:49 CET 1998 Werner Koch <wk@isil.d.shuttle.de> 2579Mon Dec 14 21:18:49 CET 1998 Werner Koch <wk@isil.d.shuttle.de>
2580 2580
2581 * random.c (read_random_source): Changed the interface to the 2581 * random.c (read_random_source): Changed the interface to the
2582 random gathering function. 2582 random gathering function.
2583 (gather_faked): Use new interface. 2583 (gather_faked): Use new interface.
2584 * dynload.c (dynload_getfnc_fast_random_poll): Ditto. 2584 * dynload.c (dynload_getfnc_fast_random_poll): Ditto.
2585 (dynload_getfnc_gather_random): Ditto. 2585 (dynload_getfnc_gather_random): Ditto.
2586 * rndlinux.c (gather_random): Ditto. 2586 * rndlinux.c (gather_random): Ditto.
2587 * rndunix.c (gather_random): Ditto. 2587 * rndunix.c (gather_random): Ditto.
2588 2588
2589Sat Dec 12 18:40:32 CET 1998 Werner Koch <wk@isil.d.shuttle.de> 2589Sat Dec 12 18:40:32 CET 1998 Werner Koch <wk@isil.d.shuttle.de>
2590 2590
2591 * dynload.c (SYMBOL_VERSION): New to cope with system which needs 2591 * dynload.c (SYMBOL_VERSION): New to cope with system which needs
2592 underscores. 2592 underscores.
2593 2593
2594 * rndunix.c: Rewrote large parts 2594 * rndunix.c: Rewrote large parts
2595 2595
2596Thu Dec 10 20:15:36 CET 1998 Werner Koch <wk@isil.d.shuttle.de> 2596Thu Dec 10 20:15:36 CET 1998 Werner Koch <wk@isil.d.shuttle.de>
2597 2597
2598 * dynload.c (load_extension): increased needed verbosity level. 2598 * dynload.c (load_extension): increased needed verbosity level.
2599 2599
2600 * random.c (fast_random_poll): Fallback to a default fast random 2600 * random.c (fast_random_poll): Fallback to a default fast random
2601 poll function. 2601 poll function.
2602 (read_random_source): Always use the faked entroy gatherer if no 2602 (read_random_source): Always use the faked entroy gatherer if no
2603 gather module is available. 2603 gather module is available.
2604 * rndlinux.c (fast_poll): Removed. 2604 * rndlinux.c (fast_poll): Removed.
2605 * rndunix.c (fast_poll): Removed. 2605 * rndunix.c (fast_poll): Removed.
2606 2606
2607 2607
2608Wed Nov 25 12:33:41 1998 Werner Koch (wk@isil.d.shuttle.de) 2608Wed Nov 25 12:33:41 1998 Werner Koch (wk@isil.d.shuttle.de)
2609 2609
2610 * rand-*.c: Removed. 2610 * rand-*.c: Removed.
2611 * rndlinux.c : New. 2611 * rndlinux.c : New.
2612 * rndunix.c : New. 2612 * rndunix.c : New.
2613 * random.c : Restructured the interface to the gather modules. 2613 * random.c : Restructured the interface to the gather modules.
2614 (intialize): Call constructor functions 2614 (intialize): Call constructor functions
2615 (read_radnom_source): Moved to here. 2615 (read_radnom_source): Moved to here.
2616 * dynload.c (dynload_getfnc_gather_random): New. 2616 * dynload.c (dynload_getfnc_gather_random): New.
2617 (dynload_getfnc_fast_random_poll): New. 2617 (dynload_getfnc_fast_random_poll): New.
2618 (register_internal_cipher_extension): New. 2618 (register_internal_cipher_extension): New.
2619 (register_cipher_extension): Support of internal modules. 2619 (register_cipher_extension): Support of internal modules.
2620 2620
2621Sun Nov 8 17:44:36 1998 Werner Koch (wk@isil.d.shuttle.de) 2621Sun Nov 8 17:44:36 1998 Werner Koch (wk@isil.d.shuttle.de)
2622 2622
2623 * rand-unix.c (read_random_source): Removed the assert. 2623 * rand-unix.c (read_random_source): Removed the assert.
2624 2624
2625Mon Oct 19 18:34:30 1998 me,,, (wk@tobold) 2625Mon Oct 19 18:34:30 1998 me,,, (wk@tobold)
2626 2626
2627 * pubkey.c: Hack to allow us to give some info about RSA keys back. 2627 * pubkey.c: Hack to allow us to give some info about RSA keys back.
2628 2628
2629Thu Oct 15 11:47:57 1998 Werner Koch (wk@isil.d.shuttle.de) 2629Thu Oct 15 11:47:57 1998 Werner Koch (wk@isil.d.shuttle.de)
2630 2630
2631 * dynload.c: Support for DLD 2631 * dynload.c: Support for DLD
2632 2632
2633Wed Oct 14 12:13:07 1998 Werner Koch (wk@isil.d.shuttle.de) 2633Wed Oct 14 12:13:07 1998 Werner Koch (wk@isil.d.shuttle.de)
2634 2634
2635 * rand-unix.c: Now uses names from configure for /dev/random. 2635 * rand-unix.c: Now uses names from configure for /dev/random.
2636 2636
26371998-10-10 SL Baur <steve@altair.xemacs.org> 26371998-10-10 SL Baur <steve@altair.xemacs.org>
2638 2638
2639 * Makefile.am: fix sed -O substitutions to catch -O6, etc. 2639 * Makefile.am: fix sed -O substitutions to catch -O6, etc.
2640 2640
2641Tue Oct 6 10:06:32 1998 Werner Koch (wk@isil.d.shuttle.de) 2641Tue Oct 6 10:06:32 1998 Werner Koch (wk@isil.d.shuttle.de)
2642 2642
2643 * rand-unix.c (HAVE_GETTIMEOFDAY): Fixed (was ..GETTIMEOFTIME :-) 2643 * rand-unix.c (HAVE_GETTIMEOFDAY): Fixed (was ..GETTIMEOFTIME :-)
2644 * rand-dummy.c (HAVE_GETTIMEOFDAY): Ditto. 2644 * rand-dummy.c (HAVE_GETTIMEOFDAY): Ditto.
2645 2645
2646Mon Sep 28 13:23:09 1998 Werner Koch (wk@isil.d.shuttle.de) 2646Mon Sep 28 13:23:09 1998 Werner Koch (wk@isil.d.shuttle.de)
2647 2647
2648 * md.c (md_digest): New. 2648 * md.c (md_digest): New.
2649 (md_reset): New. 2649 (md_reset): New.
2650 2650
2651Wed Sep 23 12:27:02 1998 Werner Koch (wk@isil.d.shuttle.de) 2651Wed Sep 23 12:27:02 1998 Werner Koch (wk@isil.d.shuttle.de)
2652 2652
2653 * tiger.c (TIGER_CONTEXT): moved "buf", so that it is 64 bit aligned. 2653 * tiger.c (TIGER_CONTEXT): moved "buf", so that it is 64 bit aligned.
2654 2654
2655Mon Sep 21 06:22:53 1998 Werner Koch (wk@(none)) 2655Mon Sep 21 06:22:53 1998 Werner Koch (wk@(none))
2656 2656
2657 * des.c: Some patches from Michael. 2657 * des.c: Some patches from Michael.
2658 2658
2659Thu Sep 17 19:00:06 1998 Werner Koch (wk@(none)) 2659Thu Sep 17 19:00:06 1998 Werner Koch (wk@(none))
2660 2660
2661 * des.c : New file from Michael Roth <mroth@nessie.de> 2661 * des.c : New file from Michael Roth <mroth@nessie.de>
2662 2662
2663Mon Sep 14 11:10:55 1998 Werner Koch (wk@(none)) 2663Mon Sep 14 11:10:55 1998 Werner Koch (wk@(none))
2664 2664
2665 * blowfish.c (bf_setkey): Niklas Hernaeus patch to detect weak keys. 2665 * blowfish.c (bf_setkey): Niklas Hernaeus patch to detect weak keys.
2666 2666
2667Mon Sep 14 09:19:25 1998 Werner Koch (wk@(none)) 2667Mon Sep 14 09:19:25 1998 Werner Koch (wk@(none))
2668 2668
2669 * dynload.c (RTLD_NOW): Now defined to 1 if it is undefined. 2669 * dynload.c (RTLD_NOW): Now defined to 1 if it is undefined.
2670 2670
2671Mon Sep 7 17:04:33 1998 Werner Koch (wk@(none)) 2671Mon Sep 7 17:04:33 1998 Werner Koch (wk@(none))
2672 2672
2673 * Makefile.am: Fixes to allow a different build directory 2673 * Makefile.am: Fixes to allow a different build directory
2674 2674
2675Thu Aug 6 17:25:38 1998 Werner Koch,mobil,,, (wk@tobold) 2675Thu Aug 6 17:25:38 1998 Werner Koch,mobil,,, (wk@tobold)
2676 2676
2677 * random.c (get_random_byte): Removed and changed all callers 2677 * random.c (get_random_byte): Removed and changed all callers
2678 to use get_random_bits() 2678 to use get_random_bits()
2679 2679
2680Mon Jul 27 10:30:22 1998 Werner Koch (wk@(none)) 2680Mon Jul 27 10:30:22 1998 Werner Koch (wk@(none))
2681 2681
2682 * cipher.c : Support for other blocksizes 2682 * cipher.c : Support for other blocksizes
2683 (cipher_get_blocksize): New. 2683 (cipher_get_blocksize): New.
2684 * twofish.c: New. 2684 * twofish.c: New.
2685 * Makefile.am: Add twofish module. 2685 * Makefile.am: Add twofish module.
2686 2686
2687Mon Jul 13 21:30:52 1998 Werner Koch (wk@isil.d.shuttle.de) 2687Mon Jul 13 21:30:52 1998 Werner Koch (wk@isil.d.shuttle.de)
2688 2688
2689 * random.c (read_pool): Simple alloc if secure_alloc is not set. 2689 * random.c (read_pool): Simple alloc if secure_alloc is not set.
2690 (get_random_bits): Ditto. 2690 (get_random_bits): Ditto.
2691 2691
2692Thu Jul 9 13:01:14 1998 Werner Koch (wk@isil.d.shuttle.de) 2692Thu Jul 9 13:01:14 1998 Werner Koch (wk@isil.d.shuttle.de)
2693 2693
2694 * dynload.c (load_extension): Function now nbails out if 2694 * dynload.c (load_extension): Function now nbails out if
2695 the program is run setuid. 2695 the program is run setuid.
2696 2696
2697Wed Jul 8 18:58:23 1998 Werner Koch (wk@isil.d.shuttle.de) 2697Wed Jul 8 18:58:23 1998 Werner Koch (wk@isil.d.shuttle.de)
2698 2698
2699 * rmd160.c (rmd160_hash_buffer): New. 2699 * rmd160.c (rmd160_hash_buffer): New.
2700 2700
2701Thu Jul 2 10:50:30 1998 Werner Koch (wk@isil.d.shuttle.de) 2701Thu Jul 2 10:50:30 1998 Werner Koch (wk@isil.d.shuttle.de)
2702 2702
2703 * cipher.c (cipher_open): algos >=100 use standard CFB 2703 * cipher.c (cipher_open): algos >=100 use standard CFB
2704 2704
2705Thu Jun 25 11:18:25 1998 Werner Koch (wk@isil.d.shuttle.de) 2705Thu Jun 25 11:18:25 1998 Werner Koch (wk@isil.d.shuttle.de)
2706 2706
2707 * Makefile.am: Support for extensions 2707 * Makefile.am: Support for extensions
2708 2708
2709Thu Jun 18 12:09:38 1998 Werner Koch (wk@isil.d.shuttle.de) 2709Thu Jun 18 12:09:38 1998 Werner Koch (wk@isil.d.shuttle.de)
2710 2710
2711 * random.c (mix_pool): simpler handling for level 0 2711 * random.c (mix_pool): simpler handling for level 0
2712 2712
2713Mon Jun 15 14:40:48 1998 Werner Koch (wk@isil.d.shuttle.de) 2713Mon Jun 15 14:40:48 1998 Werner Koch (wk@isil.d.shuttle.de)
2714 2714
2715 * tiger.c: Removed from dist, will reappear as dynload module 2715 * tiger.c: Removed from dist, will reappear as dynload module
2716 2716
2717Sat Jun 13 14:16:57 1998 Werner Koch (wk@isil.d.shuttle.de) 2717Sat Jun 13 14:16:57 1998 Werner Koch (wk@isil.d.shuttle.de)
2718 2718
2719 * pubkey.c: Major changes to allow extensions. Changed the inteface 2719 * pubkey.c: Major changes to allow extensions. Changed the inteface
2720 of all public key ciphers and added the ability to load extensions 2720 of all public key ciphers and added the ability to load extensions
2721 on demand. 2721 on demand.
2722 2722
2723 * misc.c: Removed. 2723 * misc.c: Removed.
2724 2724
2725Wed Jun 10 07:52:08 1998 Werner Koch,mobil,,, (wk@tobold) 2725Wed Jun 10 07:52:08 1998 Werner Koch,mobil,,, (wk@tobold)
2726 2726
2727 * dynload.c: New. 2727 * dynload.c: New.
2728 * cipher.c: Major changes to allow extensions. 2728 * cipher.c: Major changes to allow extensions.
2729 2729
2730Mon Jun 8 22:43:00 1998 Werner Koch (wk@isil.d.shuttle.de) 2730Mon Jun 8 22:43:00 1998 Werner Koch (wk@isil.d.shuttle.de)
2731 2731
2732 * cipher.c: Major internal chnages to support extensions. 2732 * cipher.c: Major internal chnages to support extensions.
2733 * blowfish.c (blowfish_get_info): New and made all internal 2733 * blowfish.c (blowfish_get_info): New and made all internal
2734 functions static, changed heder. 2734 functions static, changed heder.
2735 * cast5.c (cast5_get_info): Likewise. 2735 * cast5.c (cast5_get_info): Likewise.
2736 2736
2737Mon Jun 8 12:27:52 1998 Werner Koch (wk@isil.d.shuttle.de) 2737Mon Jun 8 12:27:52 1998 Werner Koch (wk@isil.d.shuttle.de)
2738 2738
2739 * tiger.c (transform): Fix for big endian 2739 * tiger.c (transform): Fix for big endian
2740 2740
2741 * cipher.c (do_cfb_decrypt): Big endian fix. 2741 * cipher.c (do_cfb_decrypt): Big endian fix.
2742 2742
2743Fri May 22 07:30:39 1998 Werner Koch (wk@isil.d.shuttle.de) 2743Fri May 22 07:30:39 1998 Werner Koch (wk@isil.d.shuttle.de)
2744 2744
2745 * md.c (md_get_oid): Add a new one for TIGER. 2745 * md.c (md_get_oid): Add a new one for TIGER.
2746 2746
2747Thu May 21 13:24:52 1998 Werner Koch (wk@isil.d.shuttle.de) 2747Thu May 21 13:24:52 1998 Werner Koch (wk@isil.d.shuttle.de)
2748 2748
2749 * cipher.c: Add support for a dummy cipher 2749 * cipher.c: Add support for a dummy cipher
2750 2750
2751Thu May 14 15:40:36 1998 Werner Koch (wk@isil.d.shuttle.de) 2751Thu May 14 15:40:36 1998 Werner Koch (wk@isil.d.shuttle.de)
2752 2752
2753 * rmd160.c (transform): fixed sigbus - I should better 2753 * rmd160.c (transform): fixed sigbus - I should better
2754 add Christian von Roques's new implemenation of rmd160_write. 2754 add Christian von Roques's new implemenation of rmd160_write.
2755 2755
2756Fri May 8 18:07:44 1998 Werner Koch (wk@isil.d.shuttle.de) 2756Fri May 8 18:07:44 1998 Werner Koch (wk@isil.d.shuttle.de)
2757 2757
2758 * rand-internal.h, rand-unix.c, rand-w32.c, rand_dummy.c: New 2758 * rand-internal.h, rand-unix.c, rand-w32.c, rand_dummy.c: New
2759 * random.c: Moved system specific functions to rand-****.c 2759 * random.c: Moved system specific functions to rand-****.c
2760 2760
2761Fri May 8 14:01:17 1998 Werner Koch (wk@isil.d.shuttle.de) 2761Fri May 8 14:01:17 1998 Werner Koch (wk@isil.d.shuttle.de)
2762 2762
2763 * random.c (fast_random_poll): add call to gethrtime. 2763 * random.c (fast_random_poll): add call to gethrtime.
2764 2764
2765Tue May 5 21:28:55 1998 Werner Koch (wk@isil.d.shuttle.de) 2765Tue May 5 21:28:55 1998 Werner Koch (wk@isil.d.shuttle.de)
2766 2766
2767 * elgamal.c (elg_generate): choosing x was not correct, could 2767 * elgamal.c (elg_generate): choosing x was not correct, could
2768 yield 6 bytes which are not from the random pool, tsss, tsss.. 2768 yield 6 bytes which are not from the random pool, tsss, tsss..
2769 2769
2770Tue May 5 14:09:06 1998 Werner Koch (wk@isil.d.shuttle.de) 2770Tue May 5 14:09:06 1998 Werner Koch (wk@isil.d.shuttle.de)
2771 2771
2772 * primegen.c (generate_elg_prime): Add arg mode, changed all 2772 * primegen.c (generate_elg_prime): Add arg mode, changed all
2773 callers and implemented mode 1. 2773 callers and implemented mode 1.
2774 2774
2775Mon Apr 27 14:41:58 1998 Werner Koch (wk@isil.d.shuttle.de) 2775Mon Apr 27 14:41:58 1998 Werner Koch (wk@isil.d.shuttle.de)
2776 2776
2777 * cipher.c (cipher_get_keylen): New. 2777 * cipher.c (cipher_get_keylen): New.
2778 2778
2779Sun Apr 26 14:44:52 1998 Werner Koch (wk@isil.d.shuttle.de) 2779Sun Apr 26 14:44:52 1998 Werner Koch (wk@isil.d.shuttle.de)
2780 2780
2781 * tiger.c, tiger.h: New. 2781 * tiger.c, tiger.h: New.
2782 2782
2783Wed Apr 8 14:57:11 1998 Werner Koch (wk@isil.d.shuttle.de) 2783Wed Apr 8 14:57:11 1998 Werner Koch (wk@isil.d.shuttle.de)
2784 2784
2785 * misc.c (check_pubkey_algo2): New. 2785 * misc.c (check_pubkey_algo2): New.
2786 2786
2787Tue Apr 7 18:46:49 1998 Werner Koch (wk@isil.d.shuttle.de) 2787Tue Apr 7 18:46:49 1998 Werner Koch (wk@isil.d.shuttle.de)
2788 2788
2789 * cipher.c: New 2789 * cipher.c: New
2790 * misc.c (check_cipher_algo): Moved to cipher.c 2790 * misc.c (check_cipher_algo): Moved to cipher.c
2791 * cast5.c: Moved many functions to cipher.c 2791 * cast5.c: Moved many functions to cipher.c
2792 * blowfish.c: Likewise. 2792 * blowfish.c: Likewise.
2793 2793
2794Sat Apr 4 19:52:08 1998 Werner Koch (wk@isil.d.shuttle.de) 2794Sat Apr 4 19:52:08 1998 Werner Koch (wk@isil.d.shuttle.de)
2795 2795
2796 * cast5.c: Implemented and tested. 2796 * cast5.c: Implemented and tested.
2797 2797
2798Wed Apr 1 16:38:27 1998 Werner Koch (wk@isil.d.shuttle.de) 2798Wed Apr 1 16:38:27 1998 Werner Koch (wk@isil.d.shuttle.de)
2799 2799
2800 * elgamal.c (elg_generate): Faster generation of x in some cases. 2800 * elgamal.c (elg_generate): Faster generation of x in some cases.
2801 2801
2802Thu Mar 19 13:54:48 1998 Werner Koch (wk@isil.d.shuttle.de) 2802Thu Mar 19 13:54:48 1998 Werner Koch (wk@isil.d.shuttle.de)
2803 2803
2804 * blowfish.c (blowfish_decode_cfb): changed XOR operation 2804 * blowfish.c (blowfish_decode_cfb): changed XOR operation
2805 (blowfish_encode_cfb): Ditto. 2805 (blowfish_encode_cfb): Ditto.
2806 2806
2807Thu Mar 12 14:04:05 1998 Werner Koch (wk@isil.d.shuttle.de) 2807Thu Mar 12 14:04:05 1998 Werner Koch (wk@isil.d.shuttle.de)
2808 2808
2809 * sha1.c (transform): Rewrote 2809 * sha1.c (transform): Rewrote
2810 2810
2811 * blowfish.c (encrypt): Unrolled for rounds == 16 2811 * blowfish.c (encrypt): Unrolled for rounds == 16
2812 (decrypt): Ditto. 2812 (decrypt): Ditto.
2813 2813
2814Tue Mar 10 16:32:08 1998 Werner Koch (wk@isil.d.shuttle.de) 2814Tue Mar 10 16:32:08 1998 Werner Koch (wk@isil.d.shuttle.de)
2815 2815
2816 * rmd160.c (transform): Unrolled the loop. 2816 * rmd160.c (transform): Unrolled the loop.
2817 2817
2818Tue Mar 10 13:05:14 1998 Werner Koch (wk@isil.d.shuttle.de) 2818Tue Mar 10 13:05:14 1998 Werner Koch (wk@isil.d.shuttle.de)
2819 2819
2820 * random.c (read_pool): Add pool_balance stuff. 2820 * random.c (read_pool): Add pool_balance stuff.
2821 (get_random_bits): New. 2821 (get_random_bits): New.
2822 2822
2823 * elgamal.c (elg_generate): Now uses get_random_bits to generate x. 2823 * elgamal.c (elg_generate): Now uses get_random_bits to generate x.
2824 2824
2825 2825
2826Tue Mar 10 11:33:51 1998 Werner Koch (wk@isil.d.shuttle.de) 2826Tue Mar 10 11:33:51 1998 Werner Koch (wk@isil.d.shuttle.de)
2827 2827
2828 * md.c (md_digest_length): New. 2828 * md.c (md_digest_length): New.
2829 2829
2830Tue Mar 10 11:27:41 1998 Werner Koch (wk@isil.d.shuttle.de) 2830Tue Mar 10 11:27:41 1998 Werner Koch (wk@isil.d.shuttle.de)
2831 2831
2832 * dsa.c (dsa_verify): Works. 2832 * dsa.c (dsa_verify): Works.
2833 2833
2834Mon Mar 9 12:59:08 1998 Werner Koch (wk@isil.d.shuttle.de) 2834Mon Mar 9 12:59:08 1998 Werner Koch (wk@isil.d.shuttle.de)
2835 2835
2836 * dsa.c, dsa.h: Removed some unused code. 2836 * dsa.c, dsa.h: Removed some unused code.
2837 2837
2838Wed Mar 4 10:39:22 1998 Werner Koch (wk@isil.d.shuttle.de) 2838Wed Mar 4 10:39:22 1998 Werner Koch (wk@isil.d.shuttle.de)
2839 2839
2840 * md.c (md_open): Add call to fast_random_poll. 2840 * md.c (md_open): Add call to fast_random_poll.
2841 blowfish.c (blowfish_setkey): Ditto. 2841 blowfish.c (blowfish_setkey): Ditto.
2842 2842
2843Tue Mar 3 13:32:54 1998 Werner Koch (wk@isil.d.shuttle.de) 2843Tue Mar 3 13:32:54 1998 Werner Koch (wk@isil.d.shuttle.de)
2844 2844
2845 * rmd160.c (rmd160_mixblock): New. 2845 * rmd160.c (rmd160_mixblock): New.
2846 * random.c: Restructured to start with a new RNG implementation. 2846 * random.c: Restructured to start with a new RNG implementation.
2847 * random.h: New. 2847 * random.h: New.
2848 2848
2849Mon Mar 2 19:21:46 1998 Werner Koch (wk@isil.d.shuttle.de) 2849Mon Mar 2 19:21:46 1998 Werner Koch (wk@isil.d.shuttle.de)
2850 2850
2851 * gost.c, gost.h: Removed because they did only conatin trash. 2851 * gost.c, gost.h: Removed because they did only conatin trash.
2852 2852
2853Sun Mar 1 16:42:29 1998 Werner Koch (wk@isil.d.shuttle.de) 2853Sun Mar 1 16:42:29 1998 Werner Koch (wk@isil.d.shuttle.de)
2854 2854
2855 * random.c (fill_buffer): removed error message if n == -1. 2855 * random.c (fill_buffer): removed error message if n == -1.
2856 2856
2857Fri Feb 27 16:39:34 1998 Werner Koch (wk@isil.d.shuttle.de) 2857Fri Feb 27 16:39:34 1998 Werner Koch (wk@isil.d.shuttle.de)
2858 2858
2859 * md.c (md_enable): No init if called twice. 2859 * md.c (md_enable): No init if called twice.
2860 2860
2861Thu Feb 26 07:57:02 1998 Werner Koch (wk@isil.d.shuttle.de) 2861Thu Feb 26 07:57:02 1998 Werner Koch (wk@isil.d.shuttle.de)
2862 2862
2863 * primegen.c (generate_elg_prime): Changed the progress printing. 2863 * primegen.c (generate_elg_prime): Changed the progress printing.
2864 (gen_prime): Ditto. 2864 (gen_prime): Ditto.
2865 2865
2866Tue Feb 24 12:28:42 1998 Werner Koch (wk@isil.d.shuttle.de) 2866Tue Feb 24 12:28:42 1998 Werner Koch (wk@isil.d.shuttle.de)
2867 2867
2868 * md5.c, md.5 : Replaced by a modified version of md5.c from 2868 * md5.c, md.5 : Replaced by a modified version of md5.c from
2869 GNU textutils 1.22. 2869 GNU textutils 1.22.
2870 2870
2871Wed Feb 18 14:08:30 1998 Werner Koch (wk@isil.d.shuttle.de) 2871Wed Feb 18 14:08:30 1998 Werner Koch (wk@isil.d.shuttle.de)
2872 2872
2873 * md.c, md.h : New debugging support 2873 * md.c, md.h : New debugging support
2874 2874
2875Mon Feb 16 10:08:47 1998 Werner Koch (wk@isil.d.shuttle.de) 2875Mon Feb 16 10:08:47 1998 Werner Koch (wk@isil.d.shuttle.de)
2876 2876
2877 * misc.c (cipher_algo_to_string): New 2877 * misc.c (cipher_algo_to_string): New
2878 (pubkey_algo_to_string): New. 2878 (pubkey_algo_to_string): New.
2879 (digest_algo_to_string): New. 2879 (digest_algo_to_string): New.
2880 2880
2881 2881
2882 Copyright 1998,1999,2000,2001,2002,2003,2005 Free Software Foundation, Inc. 2882 Copyright 1998,1999,2000,2001,2002,2003,2005 Free Software Foundation, Inc.
2883 2883
2884 This file is free software; as a special exception the author gives 2884 This file is free software; as a special exception the author gives
2885 unlimited permission to copy and/or distribute it, with or without 2885 unlimited permission to copy and/or distribute it, with or without
2886 modifications, as long as this notice is preserved. 2886 modifications, as long as this notice is preserved.
2887 2887
2888 This file is distributed in the hope that it will be useful, but 2888 This file is distributed in the hope that it will be useful, but
2889 WITHOUT ANY WARRANTY, to the extent permitted by law; without even the 2889 WITHOUT ANY WARRANTY, to the extent permitted by law; without even the
2890 implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 2890 implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.