~darkmuggle-deactivatedaccount/ubuntu/quantal/grub2/fix-872244

« back to all changes in this revision

Viewing changes to lib/libgcrypt/cipher/ChangeLog

  • Committer: Bazaar Package Importer
  • Author(s): Colin Watson, Colin Watson, Evan Broder, Mario Limonciello
  • Date: 2010-11-24 13:59:55 UTC
  • mfrom: (1.17.6 upstream) (17.6.15 experimental)
  • Revision ID: james.westby@ubuntu.com-20101124135955-r6ii5sepayr7jt53
Tags: 1.99~20101124-1ubuntu1
[ Colin Watson ]
* Resynchronise with Debian experimental.  Remaining changes:
  - Adjust for default Ubuntu boot options ("quiet splash").
  - Default to hiding the menu; holding down Shift at boot will show it.
  - Set a monochromatic theme for Ubuntu.
  - Apply Ubuntu GRUB Legacy changes to legacy update-grub script: title,
    recovery mode, quiet option, tweak how memtest86+ is displayed, and
    use UUIDs where appropriate.
  - Fix backslash-escaping in merge_debconf_into_conf.
  - Remove "GNU/Linux" from default distributor string.
  - Add crashkernel= options if kdump and makedumpfile are available.
  - If other operating systems are installed, then automatically unhide
    the menu.  Otherwise, if GRUB_HIDDEN_TIMEOUT is 0, then use keystatus
    if available to check whether Shift is pressed.  If it is, show the
    menu, otherwise boot immediately.  If keystatus is not available, then
    fall back to a short delay interruptible with Escape.
  - Allow Shift to interrupt 'sleep --interruptible'.
  - Don't display introductory message about line editing unless we're
    actually offering a shell prompt.  Don't clear the screen just before
    booting if we never drew the menu in the first place.
  - Remove some verbose messages printed before reading the configuration
    file.
  - Suppress progress messages as the kernel and initrd load for
    non-recovery kernel menu entries.
  - Change prepare_grub_to_access_device to handle filesystems
    loop-mounted on file images.
  - Ignore devices loop-mounted from files in 10_linux.
  - Show the boot menu if the previous boot failed, that is if it failed
    to get to the end of one of the normal runlevels.
  - Don't generate /boot/grub/device.map during grub-install or
    grub-mkconfig by default.
  - Adjust upgrade version checks for Ubuntu.
  - Don't display "GRUB loading" unless Shift is held down.
  - Adjust versions of grub-doc and grub-legacy-doc conflicts to tolerate
    our backport of the grub-doc split.
  - Fix LVM/RAID probing in the absence of /boot/grub/device.map.
  - Look for .mo files in /usr/share/locale-langpack as well, in
    preference.
  - Make sure GRUB_TIMEOUT isn't quoted unnecessarily.
  - Probe all devices in 'grub-probe --target=drive' if
    /boot/grub/device.map is missing.
  - Build-depend on qemu-kvm rather than qemu-system for grub-pc tests.
  - Use qemu rather than qemu-system-i386.
  - Program vesafb on BIOS systems rather than efifb.
  - Add a grub-rescue-efi-amd64 package containing a rescue CD-ROM image
    for EFI-AMD64.
  - On Wubi, don't ask for an install device, but just update wubildr
    using the diverted grub-install.
  - When embedding the core image in a post-MBR gap, check for and avoid
    sectors matching any of a list of known signatures.
  - Disable video_bochs and video_cirrus on PC BIOS systems, as probing
    PCI space seems to break on some systems.
* Downgrade "ACPI shutdown failed" error to a debug message, since it can
  cause spurious test failures.

[ Evan Broder ]
* Enable lua from grub-extras.
* Incorporate the bitop library into lua.
* Add enum_pci function to grub module in lua.
* Switch back to gfxpayload=keep by default, unless the video hardware
  is known to not support it.

[ Mario Limonciello ]
* Built part_msdos and vfat into bootx64.efi (LP: #677758)

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
2009-01-22  Werner Koch  <wk@g10code.com>
2
 
 
3
 
        * ecc.c (compute_keygrip): Remove superfluous const.
4
 
 
5
 
2009-01-06  Werner Koch  <wk@g10code.com>
6
 
 
7
 
        * rmd160.c (oid_spec_rmd160): Add TeleTrust identifier.
8
 
 
9
 
2008-12-10  Werner Koch  <wk@g10code.com>
10
 
 
11
 
        * dsa.c (generate): Add arg DOMAIN and use it if specified.
12
 
        (generate_fips186): Ditto.
13
 
        (dsa_generate_ext): Parse and check the optional "domain"
14
 
        parameter and pass them to the generate functions.
15
 
 
16
 
        * rijndael.c (rijndael_names): Add "AES128" and "AES-128".
17
 
        (rijndael192_names): Add "AES-192".
18
 
        (rijndael256_names): Add "AES-256".
19
 
 
20
 
2008-12-05  Werner Koch  <wk@g10code.com>
21
 
 
22
 
        * dsa.c (generate): Add arg TRANSIENT_KEY and use it to detrmine
23
 
        the RNG quality needed.
24
 
        (dsa_generate_ext): Parse the transient-key flag und pass it to
25
 
        generate.
26
 
 
27
 
2008-11-28  Werner Koch  <wk@g10code.com>
28
 
 
29
 
        * dsa.c (generate_fips186): Add arg DERIVEPARMS and use the seed
30
 
        value if available.
31
 
 
32
 
        * primegen.c (_gcry_generate_fips186_2_prime): Fix inner p loop.
33
 
 
34
 
2008-11-26  Werner Koch  <wk@g10code.com>
35
 
 
36
 
        * primegen.c (_gcry_generate_fips186_3_prime): New.
37
 
        * dsa.c (generate_fips186): Add arg USE_FIPS186_2.
38
 
        (dsa_generate_ext): Parse new flag use-fips183-2.
39
 
 
40
 
2008-11-25  Werner Koch  <wk@g10code.com>
41
 
 
42
 
        * dsa.c (generate_fips186): New.
43
 
        (dsa_generate_ext): Use new function if derive-parms are given or
44
 
        if in FIPS mode.
45
 
        * primegen.c (_gcry_generate_fips186_2_prime): New.
46
 
 
47
 
2008-11-24  Werner Koch  <wk@g10code.com>
48
 
 
49
 
        * pubkey.c (gcry_pk_genkey): Insert code to output extrainfo.
50
 
        (pubkey_generate): Add arg R_EXTRAINFO and pass it to the extended
51
 
        key generation function.
52
 
        * rsa.c (gen_x931_parm_xp, gen_x931_parm_xi): New.
53
 
        (generate_x931): Generate params if not given.
54
 
        (rsa_generate_ext): Parse use-x931 flag.  Return p-q-swapped
55
 
        indicator.
56
 
        * dsa.c (dsa_generate_ext): Put RETFACTORS into R_EXTRAINFO if
57
 
        possible.
58
 
 
59
 
        * pubkey.c (gcry_pk_genkey): Remove parsing of almost all
60
 
        parameters and pass the parameter S-expression to pubkey_generate.
61
 
        (pubkey_generate): Simplify by requitring modules to parse the
62
 
        parameters. Remove the special cases for Elgamal and ECC.
63
 
        (sexp_elements_extract_ecc): Add arg EXTRASPEC and use it.  Fix
64
 
        small memory leak.
65
 
        (sexp_to_key): Pass EXTRASPEC to sexp_elements_extract_ecc.
66
 
        (pubkey_table) [USE_ELGAMAL]: Add real extraspec.
67
 
        * rsa.c (rsa_generate_ext): Adjust for new calling convention.
68
 
        * dsa.c (dsa_generate_ext): Ditto.
69
 
        * elgamal.c (_gcry_elg_generate): Ditto. Rename to elg_generate_ext.
70
 
        (elg_generate): New.
71
 
        (_gcry_elg_generate_using_x): Remove after merging code with
72
 
        elg_generate_ext.
73
 
        (_gcry_pubkey_extraspec_elg): New.
74
 
        (_gcry_elg_check_secret_key, _gcry_elg_encrypt, _gcry_elg_sign) 
75
 
        (_gcry_elg_verify, _gcry_elg_get_nbits): Make static and remove
76
 
        _gcry_ prefix.
77
 
        * ecc.c (_gcry_ecc_generate): Rename to ecc_generate_ext and
78
 
        adjust for new calling convention.
79
 
        (_gcry_ecc_get_param): Rename to ecc_get_param and make static.
80
 
        (_gcry_pubkey_extraspec_ecdsa): Add ecc_generate_ext and
81
 
        ecc_get_param.
82
 
        
83
 
2008-11-20  Werner Koch  <wk@g10code.com>
84
 
 
85
 
        * pubkey.c (pubkey_generate): Add arg DERIVEPARMS.
86
 
        (gcry_pk_genkey): Parse derive-parms and pass it to above.
87
 
        * rsa.c (generate_x931): New.
88
 
        (rsa_generate_ext): Add arg DERIVEPARMS and call new function in
89
 
        fips mode or if DERIVEPARMS is given.
90
 
        * primegen.c (_gcry_derive_x931_prime, find_x931_prime): New.
91
 
 
92
 
2008-11-19  Werner Koch  <wk@g10code.com>
93
 
 
94
 
        * rsa.c (rsa_decrypt): Use gcry_create_nonce for blinding.
95
 
        (generate): Rename to generate_std.
96
 
 
97
 
2008-11-05  Werner Koch  <wk@g10code.com>
98
 
 
99
 
        * md.c (md_open): Use a switch to set the Bsize.
100
 
        (prepare_macpads): Fix long key case for SHA384 and SHA512.
101
 
 
102
 
        * cipher.c (gcry_cipher_handle): Add field EXTRASPEC.
103
 
        (gcry_cipher_open): Set it.
104
 
        (gcry_cipher_ctl): Add private control code to disable weak key
105
 
        detection and to return the current input block.
106
 
        * des.c (_tripledes_ctx): Add field FLAGS.
107
 
        (do_tripledes_set_extra_info): New.
108
 
        (_gcry_cipher_extraspec_tripledes): Add new function.
109
 
        (do_tripledes_setkey): Disable weak key detection.
110
 
 
111
 
2008-10-24  Werner Koch  <wk@g10code.com>
112
 
 
113
 
        * md.c (digest_table): Allow MD5 in fips mode.
114
 
        (md_register_default): Take special action for MD5.
115
 
        (md_enable, gcry_md_hash_buffer): Ditto.
116
 
 
117
 
2008-09-30  Werner Koch  <wk@g10code.com>
118
 
 
119
 
        * rijndael.c (do_setkey): Properly align "t" and "tk".
120
 
        (prepare_decryption): Properly align "w".  Fixes bug #936.
121
 
 
122
 
2008-09-18  Werner Koch  <wk@g10code.com>
123
 
 
124
 
        * pubkey.c (gcry_pk_genkey): Parse domain parameter.
125
 
        (pubkey_generate): Add new arg DOMAIN and remove special case for
126
 
        DSA with qbits.
127
 
        * rsa.c (rsa_generate): Add dummy args QBITS, NAME and DOMAIN and
128
 
        rename to rsa_generate_ext.  Change caller.
129
 
        (_gcry_rsa_generate, _gcry_rsa_check_secret_key) 
130
 
        (_gcry_rsa_encrypt, _gcry_rsa_decrypt, _gcry_rsa_sign) 
131
 
        (_gcry_rsa_verify, _gcry_rsa_get_nbits): Make static and remove
132
 
        _gcry_ prefix.
133
 
        (_gcry_pubkey_spec_rsa, _gcry_pubkey_extraspec_rsa): Adjust names.
134
 
        * dsa.c (dsa_generate_ext): New.
135
 
        (_gcry_dsa_generate): Replace code by a call to dsa_generate.
136
 
        (_gcry_dsa_check_secret_key, _gcry_dsa_sign, _gcry_dsa_verify)
137
 
        (_gcry_dsa_get_nbits): Make static and remove _gcry prefix.
138
 
        (_gcry_dsa_generate2): Remove.
139
 
        (_gcry_pubkey_spec_dsa): Adjust to name changes.
140
 
        (_gcry_pubkey_extraspec_rsa): Add dsa_generate_ext.
141
 
 
142
 
2008-09-16  Werner Koch  <wk@g10code.com>
143
 
 
144
 
        * ecc.c (run_selftests): Add arg EXTENDED.
145
 
 
146
 
2008-09-12  Werner Koch  <wk@g10code.com>
147
 
 
148
 
        * rsa.c (test_keys): Do a bad case signature check.
149
 
        * dsa.c (test_keys): Do a bad case check.
150
 
 
151
 
        * cipher.c (_gcry_cipher_selftest): Add arg EXTENDED and pass it
152
 
        to the called tests.
153
 
        * md.c (_gcry_md_selftest): Ditto.
154
 
        * pubkey.c (_gcry_pk_selftest): Ditto.
155
 
        * rijndael.c (run_selftests): Add arg EXTENDED and pass it to the
156
 
        called tests.
157
 
        (selftest_fips_128): Add arg EXTENDED and run only one test
158
 
        non-extended mode.
159
 
        (selftest_fips_192): Add dummy arg EXTENDED.
160
 
        (selftest_fips_256): Ditto.
161
 
        * hmac-tests.c (_gcry_hmac_selftest): Ditto.
162
 
        (run_selftests): Ditto.
163
 
        (selftests_sha1): Add arg EXTENDED and run only one test
164
 
        non-extended mode.
165
 
        (selftests_sha224, selftests_sha256): Ditto.
166
 
        (selftests_sha384, selftests_sha512): Ditto.
167
 
        * sha1.c (run_selftests): Add arg EXTENDED and pass it to the
168
 
        called test.
169
 
        (selftests_sha1): Add arg EXTENDED and run only one test
170
 
        non-extended mode.
171
 
        * sha256.c (run_selftests): Add arg EXTENDED and pass it to the
172
 
        called tests.
173
 
        (selftests_sha224): Add arg EXTENDED and run only one test
174
 
        non-extended mode.
175
 
        (selftests_sha256): Ditto.
176
 
        * sha512.c (run_selftests): Add arg EXTENDED and pass it to the
177
 
        called tests.
178
 
        (selftests_sha384): Add arg EXTENDED and run only one test
179
 
        non-extended mode.
180
 
        (selftests_sha512): Ditto.
181
 
        * des.c (run_selftests): Add arg EXTENDED and pass it to the
182
 
        called test.
183
 
        (selftest_fips): Add dummy arg EXTENDED.
184
 
        * rsa.c (run_selftests): Add dummy arg EXTENDED.
185
 
 
186
 
        * dsa.c (run_selftests): Add dummy arg EXTENDED.
187
 
 
188
 
        * rsa.c (extract_a_from_sexp): New.
189
 
        (selftest_encr_1024): Check that the ciphertext does not match the
190
 
        plaintext.
191
 
        (test_keys): Improve tests and return an error status.
192
 
        (generate): Return an error if test_keys fails.
193
 
        * dsa.c (test_keys): Add comments and return an error status.
194
 
        (generate): Return an error if test_keys failed.
195
 
 
196
 
2008-09-11  Werner Koch  <wk@g10code.com>
197
 
 
198
 
        * rsa.c (_gcry_rsa_decrypt): Return an error instead of calling
199
 
        BUG in case of a practically impossible condition.
200
 
        (sample_secret_key, sample_public_key): New.
201
 
        (selftest_sign_1024, selftest_encr_1024): New.
202
 
        (selftests_rsa): Implement tests.
203
 
        * dsa.c (sample_secret_key, sample_public_key): New.
204
 
        (selftest_sign_1024): New.
205
 
        (selftests_dsa): Implement tests.
206
 
 
207
 
2008-09-09  Werner Koch  <wk@g10code.com>
208
 
 
209
 
        * hmac-tests.c (selftests_sha1): Add tests.
210
 
        (selftests_sha224, selftests_sha384, selftests_sha512): Make up tests.
211
 
 
212
 
        * hash-common.c, hash-common.h: New.
213
 
        * sha1.c (selftests_sha1): Add 3 tests.
214
 
        * sha256.c (selftests_sha256, selftests_sha224): Ditto.
215
 
        * sha512.c (selftests_sha512, selftests_sha384): Ditto.
216
 
 
217
 
2008-08-29  Werner Koch  <wk@g10code.com>
218
 
 
219
 
        * pubkey.c (gcry_pk_get_keygrip): Remove the special case for RSA
220
 
        and check whether a custom computation function has been setup.
221
 
        * rsa.c (compute_keygrip): New.
222
 
        (_gcry_pubkey_extraspec_rsa): Setup this function.
223
 
        * ecc.c (compute_keygrip): New.
224
 
        (_gcry_pubkey_extraspec_ecdsa): Setup this function.
225
 
 
226
 
2008-08-28  Werner Koch  <wk@g10code.com>
227
 
 
228
 
        * cipher.c (cipher_decrypt, cipher_encrypt): Return an error if
229
 
        mode NONE is used.
230
 
        (gcry_cipher_open): Allow mode NONE only with a debug flag set and
231
 
        if not in FIPS mode.
232
 
 
233
 
2008-08-26  Werner Koch  <wk@g10code.com>
234
 
 
235
 
        * pubkey.c (pubkey_generate): Add arg KEYGEN_FLAGS.
236
 
        (gcry_pk_genkey): Implement new parameter "transient-key" and
237
 
        pass it as flags to pubkey_generate.
238
 
        (pubkey_generate): Make use of an ext_generate function.
239
 
        * rsa.c (generate): Add new arg transient_key and pass appropriate
240
 
        args to the prime generator.
241
 
        (_gcry_rsa_generate): Factor all code out to ...
242
 
        (rsa_generate): .. new func with extra arg KEYGEN_FLAGS.
243
 
        (_gcry_pubkey_extraspec_ecdsa): Setup rsa_generate.
244
 
        * primegen.c (_gcry_generate_secret_prime) 
245
 
        (_gcry_generate_public_prime): Add new arg RANDOM_LEVEL.
246
 
 
247
 
2008-08-21  Werner Koch  <wk@g10code.com>
248
 
 
249
 
        * primegen.c (_gcry_generate_secret_prime)
250
 
        (_gcry_generate_public_prime): Use a constant macro for the random
251
 
        level.
252
 
        
253
 
2008-08-19  Werner Koch  <wk@g10code.com>
254
 
 
255
 
        * pubkey.c (sexp_elements_extract_ecc) [!USE_ECC]: Do not allow
256
 
        allow "curve" parameter.
257
 
 
258
 
2008-08-15  Werner Koch  <wk@g10code.com>
259
 
 
260
 
        * pubkey.c (_gcry_pk_selftest): New.
261
 
        * dsa.c (selftests_dsa, run_selftests): New.
262
 
        * rsa.c (selftests_rsa, run_selftests): New.
263
 
        * ecc.c (selftests_ecdsa, run_selftests): New.
264
 
 
265
 
        * md.c (_gcry_md_selftest): New.
266
 
        * sha1.c (run_selftests, selftests_sha1): New.
267
 
        * sha256.c (selftests_sha224, selftests_sha256, run_selftests): New.
268
 
        * sha512.c (selftests_sha384, selftests_sha512, run_selftests): New.
269
 
 
270
 
        * des.c (selftest): Remove static variable form selftest.
271
 
        (des_setkey): No on-the-fly self test in fips mode.
272
 
        (tripledes_set3keys): Ditto.
273
 
 
274
 
        * cipher.c (_gcry_cipher_setkey, _gcry_cipher_setiv): 
275
 
 
276
 
        * dsa.c (generate): Bail out in fips mode if NBITS is less than 1024.
277
 
        * rsa.c (generate): Return an error code if the the requested size
278
 
        is less than 1024 and we are in fpis mode.
279
 
        (_gcry_rsa_generate): Take care of that error code.
280
 
 
281
 
        * ecc.c (generate_curve): In fips mode enable only NIST curves.
282
 
 
283
 
        * cipher.c (_gcry_cipher_selftest): New.
284
 
 
285
 
        * sha512.c (_gcry_digest_extraspec_sha384)
286
 
        (_gcry_digest_extraspec_sha512): New.
287
 
        * sha256.c (_gcry_digest_extraspec_sha224)
288
 
        (_gcry_digest_extraspec_sha256): New.
289
 
        * sha1.c (_gcry_digest_extraspec_sha1): New.
290
 
        * ecc.c (_gcry_pubkey_extraspec_ecdsa): New.
291
 
        * dsa.c (_gcry_pubkey_extraspec_dsa): New.
292
 
        * rsa.c (_gcry_pubkey_extraspec_rsa): New.
293
 
        * rijndael.c (_gcry_cipher_extraspec_aes)
294
 
        (_gcry_cipher_extraspec_aes192, _gcry_cipher_extraspec_aes256): New.
295
 
        * des.c (_gcry_cipher_extraspec_tripledes): New.
296
 
 
297
 
        * cipher.c (gcry_cipher_register): Rename to _gcry_cipher_register.
298
 
        Add arg EXTRASPEC.
299
 
        (dummy_extra_spec): New.
300
 
        (cipher_table_entry): Add extraspec field.
301
 
        * md.c (_gcry_md_register): Rename to _gcry_md_register.  Add
302
 
        arg EXTRASPEC.
303
 
        (dummy_extra_spec): New.
304
 
        (digest_table_entry): Add extraspec field.
305
 
        * pubkey.c (gcry_pk_register): Rename to _gcry_pk_register.  Add
306
 
        arg EXTRASPEC.
307
 
        (dummy_extra_spec): New.
308
 
        (pubkey_table_entry): Add extraspec field.
309
 
 
310
 
        * ac.c: Let most public functions return GPG_ERR_UNSUPPORTED in
311
 
        fips mode.
312
 
 
313
 
        * pubkey.c (pubkey_table_entry): Add field FIPS_ALLOWED and mark
314
 
        appropriate algorithms.
315
 
        (dummy_generate, dummy_check_secret_key, dummy_encrypt) 
316
 
        (dummy_decrypt, dummy_sign, dummy_verify, dummy_get_nbits): Signal
317
 
        a fips error when used.
318
 
        (gcry_pk_register): In fips mode do not allow to register new
319
 
        algorithms.
320
 
 
321
 
        * md.c (digest_table): Add field FIPS_ALLOWED and mark appropriate
322
 
        algorithms.
323
 
        (md_register_default): In fips mode register only fips algorithms.
324
 
        (gcry_md_register): In fips mode do not allow to register new
325
 
        algorithms.
326
 
        (gcry_md_get): Signal a fips error if called.
327
 
        (gcry_md_hash_buffer): Do not allow rmd160 when not in fips mode.
328
 
        (md_start_debug): Disable in fips_mode.
329
 
 
330
 
        * md.c (gcry_md_register_default): Rename to ..
331
 
        (md_register_default): .. this.
332
 
        (md_digest): Remove this commented fucntion.
333
 
        * pubkey.c (gcry_pk_register_default): Rename to ..
334
 
        (pk_register_default): .. this.
335
 
 
336
 
        * cipher.c (cipher_table_entry): Add field FIPS_ALLOWED.
337
 
        (gcry_cipher_register_default): Register only fips approved
338
 
        algorithms.
339
 
        (gcry_cipher_register): Do not allow to register new ciphers.
340
 
        (cipher_setiv): Signal fips error.
341
 
        
342
 
        * cipher (gcry_cipher_register_default): Rename to ..
343
 
        (cipher_register_default): .. this.
344
 
        (REGISTER_DEFAULT_CIPHERS): Adjust for that change.
345
 
 
346
 
2008-07-05  Werner Koch  <wk@g10code.com>
347
 
 
348
 
        * random-daemon.c, random.h, rndhw.c, rndunix.c, rand-internal.h
349
 
        * random.c, rndegd.c, rndlinux.c, rndw32.c: Move to ../cipher.
350
 
        * Makefile.am: Remove random stuff.
351
 
 
352
 
2008-06-24  Szakats Istvan <szaki.ms@gmail.com>  (wk)
353
 
 
354
 
        * ac.c (_gcry_ac_key_destroy, _gcry_ac_key_pair_generate): Relase
355
 
        some more memory.
356
 
 
357
 
2008-04-22  Werner Koch  <wk@g10code.com>
358
 
 
359
 
        * rijndael.c (_gcry_aes_cfb_enc, _gcry_aes_cbc_enc) 
360
 
        (_gcry_aes_cfb_dec, _gcry_aes_cbc_dec): Use Padlock if possible.
361
 
 
362
 
2008-04-18  Werner Koch  <wk@g10code.com>
363
 
 
364
 
        * sha1.c (transform_aligned): Remove.  That is will obviosuly not
365
 
        work because we need a scratch working area and our internal API
366
 
        does not allow to modify the buffers.
367
 
 
368
 
        * rijndael.c: Factor tables out to ..
369
 
        * rijndael-tables.h: .. new.
370
 
 
371
 
        * ac.c (ac_data_extract): Make static.
372
 
 
373
 
        * camellia.h [HAVE_CONFIG_H]: Include config.h.
374
 
 
375
 
        * rndw32.c (registry_poll): Only print the performance data
376
 
        problem warning once.  Suggested by Simon Josefsson.
377
 
 
378
 
2008-03-19  Werner Koch  <wk@g10code.com>
379
 
 
380
 
        * cipher.c (gcry_cipher_open) [USE_AES]: Init bulk encryption only
381
 
        if requested.  Suggested by Dirk Stoecker.
382
 
 
383
 
2008-03-18  Werner Koch  <wk@g10code.com>
384
 
 
385
 
        * sha1.c: Include stdint.h.
386
 
        (transform): Add arg NBLOCKS so that we can work on more than one
387
 
        block and avoid updates of the chaining variables.  Changed all
388
 
        callers to use 1.
389
 
        (sha1_write): Replace loop around transform.
390
 
        (transform_aligned) [WORDS_BIGENDIAN]: New.
391
 
        (TRANSFORM): New macro to replace all direct calls of transform.
392
 
 
393
 
2008-03-17  Werner Koch  <wk@g10code.com>
394
 
 
395
 
        * rijndael.c (_gcry_aes_cfb_dec): New.
396
 
        (do_encrypt): Factor code out to ..
397
 
        (do_encrypt_aligned): .. New.
398
 
        (_gcry_aes_cfb_enc, _gcry_aes_cfb_dec): Use new function.
399
 
        (do_decrypt): Factor code out to ..
400
 
        (do_decrypt_aligned): .. new.
401
 
        (_gcry_aes_cbc_enc, _gcry_aes_cbc_dec): New.
402
 
        * cipher.c (struct gcry_cipher_handle): Put field IV into new
403
 
        union U_IV to enforce proper alignment.  Change all users.
404
 
        (do_cfb_decrypt): Optimize.
405
 
        (do_cbc_encrypt, do_cbc_decrypt): Optimize.
406
 
 
407
 
2008-03-15  Werner Koch  <wk@g10code.com>
408
 
 
409
 
        * rijndael.c (_gcry_aes_cfb_enc): New.
410
 
        * cipher.c (struct gcry_cipher_handle): Add field ALGO and BULK.
411
 
        (gcry_cipher_open): Set ALGO and BULK.
412
 
        (do_cfb_encrypt): Optimize.
413
 
 
414
 
2008-02-18  Werner Koch  <wk@g10code.com>
415
 
 
416
 
        * rsa.c (_gcry_rsa_verify) [IS_DEVELOPMENT_VERSION]: Print
417
 
        intermediate results.
418
 
 
419
 
2008-01-08  Werner Koch  <wk@g10code.com>
420
 
 
421
 
        * random.c (add_randomness): Do not just increment
422
 
        POOL_FILLED_COUNTER but update it by the actual amount of data.
423
 
 
424
 
2007-12-13  Werner Koch  <wk@g10code.com>
425
 
 
426
 
        * pubkey.c (sexp_data_to_mpi): Support SHA-224.
427
 
 
428
 
2007-12-05  Werner Koch  <wk@g10code.com>
429
 
 
430
 
        * rijndael.c (USE_PADLOCK): Depend on ENABLE_PADLOCK_SUPPORT.
431
 
        * rndhw.c (USE_PADLOCK): Ditto
432
 
 
433
 
        * rsa.c (secret): Fixed condition test for using CRT.  Reported by
434
 
        Dean Scarff.  Fixes bug#864.
435
 
        (_gcry_rsa_check_secret_key): Return an erro if the optional
436
 
        parameters are missing.
437
 
        * pubkey.c (sexp_elements_extract): Add arg ALGO_NAME. Changed all
438
 
        callers to pass NULL. Add hack to allow for optional RSA
439
 
        parameters.
440
 
        (sexp_to_key): Pass algo name to sexp_elements_extract.
441
 
 
442
 
2007-12-03  Werner Koch  <wk@g10code.com>
443
 
 
444
 
        * random.c (gcry_random_add_bytes): Implement it.
445
 
        * rand-internal.h (RANDOM_ORIGIN_EXTERNAL): New.
446
 
 
447
 
2007-11-30  Werner Koch  <wk@g10code.com>
448
 
 
449
 
        * rndhw.c: New.
450
 
        * rndlinux.c (_gcry_rndlinux_gather_random): Try to read 50%
451
 
        directly from the hwrng.
452
 
        * random.c (do_fast_random_poll): Also run the hw rng fast poll.
453
 
        (_gcry_random_dump_stats): Tell whether the hw rng failed.
454
 
 
455
 
2007-11-29  Werner Koch  <wk@g10code.com>
456
 
 
457
 
        * rijndael.c (USE_PADLOCK): Define new macro used for ia32.
458
 
        (RIJNDAEL_context) [USE_PADLOCK]: Add fields USE_PADLOCK and
459
 
        PADLOCK_KEY.
460
 
        (do_setkey) [USE_PADLOCK]: Enable padlock if available for 128 bit
461
 
        AES.
462
 
        (do_padlock) [USE_PADLOCK]: New.
463
 
        (rijndael_encrypt, rijndael_decrypt) [USE_PADLOCK]: Divert to
464
 
        do_padlock.
465
 
        * cipher.c (cipher_context_alignment_t): New.  Use it in this
466
 
        module in place of PROPERLY_ALIGNED_TYPE.
467
 
        (NEED_16BYTE_ALIGNED_CONTEXT): Define macro for ia32.
468
 
        (struct gcry_cipher_handle): Add field HANDLE_OFFSET.
469
 
        (gcry_cipher_open): Take care of increased alignment requirements.
470
 
        (gcry_cipher_close): Ditto.
471
 
 
472
 
2007-11-28  Werner Koch  <wk@g10code.com>
473
 
 
474
 
        * sha256.c (asn224): Fixed wrong template.  It happened due to a
475
 
        bug in RFC4880.  SHA-224 is not in the stable version of libgcrypt
476
 
        so the consequences are limited to users of this devel version.
477
 
 
478
 
2007-10-31  Werner Koch  <wk@g10code.com>
479
 
 
480
 
        * ac.c (gcry_ac_data_new): Remove due to the visibility wrapper.
481
 
        (gcry_ac_data_destroy, gcry_ac_data_copy, gcry_ac_data_length) 
482
 
        (gcry_ac_data_set, gcry_ac_data_get_name, gcry_ac_data_get_index) 
483
 
        (gcry_ac_data_to_sexp, gcry_ac_data_from_sexp) 
484
 
        (gcry_ac_data_clear, gcry_ac_io_init, gcry_ac_open) 
485
 
        (gcry_ac_close, gcry_ac_key_init, gcry_ac_key_pair_generate) 
486
 
        (gcry_ac_key_pair_extract, gcry_ac_key_destroy) 
487
 
        (gcry_ac_key_pair_destroy, gcry_ac_key_data_get) 
488
 
        (gcry_ac_key_test, gcry_ac_key_get_nbits, gcry_ac_key_get_grip) 
489
 
        (gcry_ac_data_encrypt, gcry_ac_data_decrypt, gcry_ac_data_sign) 
490
 
        (gcry_ac_data_verify, gcry_ac_data_encode, gcry_ac_data_decode) 
491
 
        (gcry_ac_mpi_to_os, gcry_ac_mpi_to_os_alloc, gcry_ac_os_to_mpi) 
492
 
        (gcry_ac_data_encrypt_scheme, gcry_ac_data_decrypt_scheme) 
493
 
        (gcry_ac_data_sign_scheme, gcry_ac_data_verify_scheme) 
494
 
        (gcry_ac_io_init_va): Ditto.
495
 
        (gcry_ac_id_to_name, gcry_ac_name_to_id): Remove as these
496
 
        deprecated functions are now implemented by visibility.c.
497
 
 
498
 
2007-10-26  Werner Koch  <wk@g10code.com>
499
 
 
500
 
        * rndw32.c: Disable debug flag.
501
 
 
502
 
2007-10-25  Werner Koch  <wk@g10code.com>
503
 
 
504
 
        * rndw32.c: Updated from current cryptlib snapshot and modified
505
 
        for our use.  Removed support from pre NT systems.
506
 
        (slow_gatherer_windows95): Remove.
507
 
        (_gcry_rndw32_gather_random): Require an NT platform.
508
 
        (init_system_rng, read_system_rng, read_mbm_data): New.
509
 
        (slow_gatherer_windowsNT): Rename to ...
510
 
        (slow_gatherer): .. this.  Read system RNG and MBM.
511
 
        (registry_poll): New with code factored out from slow_gatherer.
512
 
 
513
 
2007-08-23  Werner Koch  <wk@g10code.com>
514
 
 
515
 
        * random.c (pool_filled_counter): New.
516
 
        (add_randomness): Use it.
517
 
 
518
 
2007-08-22  Werner Koch  <wk@g10code.com>
519
 
 
520
 
        * rndw32.c, rndunix.c: Switched to LGPL.
521
 
 
522
 
2007-05-30  Werner Koch  <wk@g10code.com>
523
 
 
524
 
        * camellia.h, camellia.c: Replace by new LGPL version and adjusted
525
 
        camellia.h.
526
 
 
527
 
2007-05-09  Marcus Brinkmann  <marcus@g10code.de>
528
 
 
529
 
        * ac.c (_gcry_ac_io_init_va, _gcry_ac_io_write, _gcry_ac_io_read):
530
 
        Adjust users of gcry_ac_io_t because union is not anonymous
531
 
        anymore.
532
 
 
533
 
2007-05-02  Werner Koch  <wk@g10code.com>
534
 
 
535
 
        * camellia-glue.c (camellia_setkey, camellia_encrypt)
536
 
        (camellia_decrypt): Recalculated used stack size in called
537
 
        functions.
538
 
        * camellia.h: Redefine external symbols.
539
 
 
540
 
2007-05-02  David Shaw  <dshaw@jabberwocky.com>
541
 
 
542
 
        * Makefile.am, cipher.c: Add Camellia.
543
 
 
544
 
        * camellia-glue.c: New.  The necessary glue to interface libgcrypt
545
 
        to the stock NTT Camellia distribution.
546
 
 
547
 
        * camellia.h, camellia.c: The stock NTT Camellia distribution
548
 
        (GPL).
549
 
 
550
 
2007-04-30  David Shaw  <dshaw@jabberwocky.com>
551
 
 
552
 
        * cipher.c: Use #if instead of #ifdef as configure defines the
553
 
        USE_cipher defines as 0 for disabled.
554
 
 
555
 
2007-04-30  Werner Koch  <wk@g10code.com>
556
 
 
557
 
        * rndegd.c (_gcry_rndegd_set_socket_name): New.
558
 
 
559
 
2007-04-30  Marcus Brinkmann  <marcus@g10code.de>
560
 
 
561
 
        * ecc.c (ec2os): Fix relocation of short numbers.
562
 
 
563
 
        * ecc.c (generate_key): Do not allocate D, which will be allocated
564
 
        by GEN_K.  Remove G.  Fix test if g_x, g_y resp. q_x, q_y are
565
 
        requested.
566
 
        (_gcry_ecc_generate): Release unneeded members of SK.
567
 
        * pubkey.c (sexp_to_key): Release NAME.
568
 
 
569
 
2007-04-28  Marcus Brinkmann  <marcus@g10code.de>
570
 
 
571
 
        * ac.c (gcry_ac_mpi): Remove member NAME_PROVIDED.
572
 
        (ac_data_mpi_copy, _gcry_ac_data_set, _gcry_ac_data_get_name)
573
 
        (_gcry_ac_data_get_index, ac_data_construct): Adjust handling of
574
 
        NAME accordingly.
575
 
 
576
 
2007-04-20  Werner Koch  <wk@g10code.com>
577
 
 
578
 
        * ecc.c (domain_parms): Add standard brainpool curves.
579
 
 
580
 
2007-04-18  Werner Koch  <wk@g10code.com>
581
 
 
582
 
        * ecc.c (generate_curve): Implement alias mechanism.
583
 
 
584
 
        * pubkey.c (sexp_elements_extract_ecc): New.
585
 
        (sexp_to_key): Add special case for ecc.
586
 
        (sexp_to_key, sexp_to_sig, sexp_to_enc, gcry_pk_genkey): Replace
587
 
        name_terminated stuff by a call to _gcry_sexp_nth_string.
588
 
        (gcry_pk_get_keygrip): Ditto.
589
 
 
590
 
2007-04-16  Werner Koch  <wk@g10code.com>
591
 
 
592
 
        * ecc.c (_gcry_ecc_generate): Renamed DUMMY to CURVE and use it.
593
 
 
594
 
2007-04-13  Marcus Brinkmann  <marcus@g10code.de>
595
 
 
596
 
        * ac.c (ac_data_construct): Cast const away to suppress compiler
597
 
        warning.
598
 
 
599
 
        * ecc.c (ecc_generate): Avoid compiler warning for unused argument
600
 
        DUMMY.
601
 
        (ecc_verify): Avoid compiler warning for unused arguments CMP and
602
 
        OPAQUEV.
603
 
 
604
 
2007-04-06  Werner Koch  <wk@g10code.com>
605
 
 
606
 
        * sha1.c (oid_spec_sha1): Add another oid from X9.62.
607
 
 
608
 
2007-03-28  Werner Koch  <wk@g10code.com>
609
 
 
610
 
        * pubkey.c (gcry_pk_genkey): Do not issue misc-key-info if it is
611
 
        empty.
612
 
        (gcry_pk_genkey): New parameter "curve".
613
 
 
614
 
        * ecc.c: Entirely rewritten with only a few traces of the old
615
 
        code left.
616
 
        (_gcry_ecc_generate): New.
617
 
        (generate_key) New arg NAME.
618
 
        (generate_curve): Ditto.  Return actual number of NBITS.
619
 
 
620
 
2007-03-26  Werner Koch  <wk@g10code.com>
621
 
 
622
 
        * pubkey.c (gcry_pk_genkey): Increase size of SKEY array and add a
623
 
        runtime bounds check.
624
 
 
625
 
2007-03-23  Werner Koch  <wk@g10code.com>
626
 
 
627
 
        * ecc.c (ecc_ctx_init, ecc_ctx_free, ecc_mod, ecc_mulm): New.
628
 
        (duplicate_point, sum_points, escalar_mult): Don't use a
629
 
        copy of base->p.  Replaced all mpi_mulm by ecc_mulm so that we can
630
 
        experiment with different algorithms.
631
 
        (generate_key, check_secret_key, sign, verify): Initialize a
632
 
        computation context for use by ecc_mulm.
633
 
 
634
 
2007-03-22  Werner Koch  <wk@g10code.com>
635
 
 
636
 
        * pubkey.c (pubkey_table): Initialize ECC.
637
 
        * Makefile.am (EXTRA_libcipher_la_SOURCES): Add ecc.c.
638
 
        * ecc.c: New. Heavily reformatted and changed for use in libgcrypt.
639
 
        (point_init): New.
640
 
        (escalar_mult): Make arg R the first arg to be similar to the mpi
641
 
        functions.
642
 
        (duplicate_point): Ditto
643
 
        (sum_points): Ditto
644
 
        (sign, verify): Remove unneeded copy operations.
645
 
        (sum_points): Removed memory leaks and optimized some compares.
646
 
        (verify): Simplified input check.
647
 
 
648
 
2007-03-14  Werner Koch  <wk@g10code.com>
649
 
 
650
 
        * random.c (MASK_LEVEL): Removed macro as it was used only at one
651
 
        place.  Open coded it there.
652
 
        (gcry_randomize, _gcry_update_random_seed_file)
653
 
        (_gcry_fast_random_poll): Factor lock code out to ..
654
 
        (lock_pool, unlock_pool): .. new.
655
 
        (initialize): Look the pool while allocating. 
656
 
        (read_random_source, do_fast_random_poll): Moved intialization to ...
657
 
        (initialize): .. here.
658
 
        (_gcry_enable_quick_random_gen): No more need for initialization.
659
 
        (is_initialized):  Moved this global flag to ..
660
 
        (initialize): .. here and changed all users to unconditionally call
661
 
        initialize.
662
 
        (add_randomness): Remove initalization here.  It simply can't
663
 
        happen. 
664
 
 
665
 
        * random.c (enum random_origins): Moved to ..
666
 
        * rand-internal.h: .. here.
667
 
        * rndunix.c (_gcry_rndunix_gather_random): Use enum in prototype
668
 
        for ORIGIN and renamed REQUESTOR to ORIGIN.
669
 
        * rndegd.c (_gcry_rndegd_gather_random): Ditto.
670
 
        * rndlinux.c (_gcry_rndlinux_gather_random): Ditto.
671
 
        * rndw32.c (_gcry_rndw32_gather_random): Ditto.
672
 
        (_gcry_rndw32_gather_random_fast): Ditto.
673
 
 
674
 
2007-03-13  Werner Koch  <wk@g10code.com>
675
 
 
676
 
        * random.c (enum random_origins): New.
677
 
        (add_randomness): Renamed arg SOURCE to ORIGIN.
678
 
        (read_random_source): Renamed arg REQUESTOR to ORIGIN.
679
 
        (getfnc_gather_random): Removed static variable because this
680
 
        function is only called one and thus we don't need this
681
 
        optimization.
682
 
        (_gcry_quick_random_gen): Removed and replaced by..
683
 
        (_gcry_enable_quick_random_gen): .. this.  It is onlyu used to
684
 
        enable it and it does not make sense to disable it later. Changed
685
 
        the only one caller too.
686
 
        (get_random_bytes): Removed.
687
 
        (gcry_random_bytes, gcry_random_bytes_secure): Implement in terms
688
 
        of gcry_randomize.
689
 
        * random-daemon.c (_gcry_daemon_get_random_bytes): Removed.
690
 
 
691
 
2007-02-23  Werner Koch  <wk@g10code.com>
692
 
 
693
 
        * elgamal.c (generate): Removed unused variable TEMP.
694
 
        (test_keys): New arg NODIE.
695
 
        (generate_using_x, _gcry_elg_generate_using_x): New.
696
 
        * pubkey.c (pubkey_generate): New arg XVALUE and direct call to
697
 
        the new elgamal generate fucntion.
698
 
        (gcry_pk_genkey): Parse the new "xvalue" tag.
699
 
 
700
 
2007-02-22  Werner Koch  <wk@g10code.com>
701
 
 
702
 
        * pubkey.c (sexp_data_to_mpi): Handle dynamically allocated
703
 
        algorithms.  Suggested by Neil Dunbar.  Fixes bug#596.
704
 
 
705
 
        * rndw32.c (_gcry_rndw32_gather_random_fast): Make it return void.
706
 
 
707
 
        * cipher.c (gcry_cipher_algo_name): Simplified.
708
 
 
709
 
        * random.c: Use the daemon only if compiled with USE_RANDOM_DAEMON. 
710
 
 
711
 
        * Makefile.am (libcipher_la_SOURCES): Build random-daemon support
712
 
        only if requested.
713
 
 
714
 
2007-02-21  Werner Koch  <wk@g10code.com>
715
 
 
716
 
        * random.c (rndpool, keypool): Make unsigned.
717
 
        (mix_pool): Change char* variables to unsigned char*.
718
 
        (gcry_randomize): Make arg BUFFER a void*.
719
 
        (gcry_create_nonce): Ditto.
720
 
 
721
 
        * rmd160.c (gcry_rmd160_mixblock): Make BUFFER a void*.
722
 
        (_gcry_rmd160_hash_buffer): Make OUTBUF and BUFFER void*.
723
 
        * sha1.c (_gcry_sha1_hash_buffer): Ditto.
724
 
 
725
 
        * cipher.c (gcry_cipher_encrypt, cry_cipher_decrypt): Change
726
 
        buffer args to void*.
727
 
        (gcry_cipher_register): Make ALGORITHM_ID a int *.
728
 
 
729
 
        * md.c (md_start_debug): Make SUFFIX a const char*.  Use snprintf.
730
 
        (gcry_md_debug): New.
731
 
        (gcry_md_ctl): Changed arg BUFFER from unsigned char*.
732
 
 
733
 
        * md.c (md_write): Make INBUF a const void*.
734
 
        (gcry_md_write): Remove needless cast.
735
 
        * crc.c (crc32_write): Make INBUF a const void*
736
 
        (update_crc32, crc24rfc2440_write): Ditto.
737
 
        * sha512.c (sha512_write, transform): Ditto.
738
 
        * sha256.c (sha256_write, transform): Ditto.
739
 
        * rmd160.c (rmd160_write, transform): Ditto.
740
 
        * md5.c (md5_write, transform): Ditto.
741
 
        * md4.c (md4_write, transform): Ditto.
742
 
        * sha1.c (sha1_write, transform): Ditto.
743
 
 
744
 
        * tiger.c (tiger_write, transform): Ditto.
745
 
        * whirlpool.c (whirlpool_write, whirlpool_add, transform): Ditto.
746
 
 
747
 
        * elgamal.c (elg_names): Change to a const*.
748
 
        * dsa.c (dsa_names): Ditto.
749
 
        * rsa.c (rsa_names): Ditto.
750
 
        * pubkey.c (gcry_pk_lookup_func_name): Make ALIASES a const.
751
 
 
752
 
2007-02-20  Werner Koch  <wk@g10code.com>
753
 
 
754
 
        * rndlinux.c (open_device): Remove unsused arg MINOR.
755
 
 
756
 
2007-01-30  Werner Koch  <wk@g10code.com>
757
 
 
758
 
        * sha256.c (oid_spec_sha256): Add alias from pkcs#1.
759
 
        * sha512.c (oid_spec_sha512): Ditto.
760
 
        (oid_spec_sha384): Ditto.
761
 
 
762
 
2006-12-18  Werner Koch  <wk@g10code.com>
763
 
 
764
 
        * rndlinux.c (set_cloexec_flag): New.
765
 
        (open_device): Set close-on-exit flags.  Suggested by Max
766
 
        Kellermann.  Fixes Debian#403613.
767
 
 
768
 
        * Makefile.am (AM_CPPFLAGS, AM_CFLAGS): Splitted and merged
769
 
        Moritz' changes.
770
 
        (INCLUDES): Removed.
771
 
 
772
 
2006-11-30  Werner Koch  <wk@g10code.com>
773
 
 
774
 
        * serpent.c (byte_swap_32): Remove trailing semicolon.
775
 
 
776
 
2006-11-15  Werner Koch  <wk@g10code.com>
777
 
 
778
 
        * Makefile.am (INCLUDES): Include ../src/
779
 
 
780
 
2006-11-03  Werner Koch  <wk@g10code.com>
781
 
 
782
 
        * random.c [HAVE_GETTIMEOFDAY]: Included sys/time.h and not
783
 
        sys/times.h.  Reported by Rafaël Carré.
784
 
 
785
 
2006-11-05  Moritz Schulte  <moritz@g10code.com>
786
 
 
787
 
        * Makefile.am (AM_CFLAGS): Added -I$(top_builddir)/src so that the
788
 
        new gcrypt.h is used, not the one installed in the system.
789
 
 
790
 
2006-10-25  Werner Koch  <wk@g10code.com>
791
 
 
792
 
        * primegen.c (prime_generate_internal): Tweaked use of secure
793
 
        memory and entropy use. Safe unused primes from the pool. Allocate
794
 
        at least a pool of 30.
795
 
        (save_pool_prime, get_pool_prime): New.
796
 
 
797
 
2006-10-23  Werner Koch  <wk@g10code.com>
798
 
 
799
 
        * ac.c (_gcry_ac_data_from_sexp): Reset sexp_tmp for failsafe
800
 
        means.  Release sexp_cur if needed.  Reported by Dirk Stoecker.
801
 
 
802
 
        * pubkey.c (pubkeys_registered_lock): Intialized it.  It is not
803
 
         realy needed because this is a mere initialization to 0 anyway.
804
 
         Noted by Victor Stinner.
805
 
 
806
 
2006-10-17  Werner Koch  <wk@g10code.com>
807
 
 
808
 
        * dsa.c (_gcry_dsa_generate2): New.
809
 
        (generate): New arg QBITS.  Add sanity checks for reasonable qbits
810
 
        and nbits.
811
 
        * pubkey.c (gcry_pk_genkey): Parse an qbits element.
812
 
        (pubkey_generate): New arg QBITS.  Pass it to the DSA generation.
813
 
 
814
 
2006-10-05  Werner Koch  <wk@g10code.com>
815
 
 
816
 
        * md.c (gcry_md_algo_info) <get_asnoid>: Check that the algo is
817
 
        available.
818
 
 
819
 
2006-10-04  David Shaw  <dshaw@jabberwocky.com>  (wk)
820
 
 
821
 
        * tiger.c (round): Rename to tiger_round as gcc 4 has a built-in
822
 
        round function that this conflicts with.
823
 
 
824
 
2006-09-11  Werner Koch  <wk@g10code.com>
825
 
 
826
 
        * rndw32.c (slow_gatherer_windowsNT): While adding data use the
827
 
        size of the diskPerformance and not its address. Has been fixed in
828
 
        GnuPG more than a year ago.  Noted by Lee Fisher.
829
 
 
830
 
2006-08-30  Werner Koch  <wk@g10code.com>
831
 
 
832
 
        * pubkey.c (sexp_data_to_mpi): Need to allow "ripemd160" here as
833
 
        this is the canonical name.
834
 
 
835
 
2006-08-29  Hye-Shik Chang <perky@FreeBSD.org>  (wk)
836
 
 
837
 
        * seed.c: New.
838
 
 
839
 
2006-08-03  Werner Koch  <wk@g10code.com>
840
 
 
841
 
        * random-daemon.c (_gcry_daemon_initialize_basics): Don't
842
 
        initialize the socket.  Remove arg SOCKETNAME.
843
 
        (connect_to_socket): Make sure that daemon is set to -1 on error.
844
 
        (call_daemon): Initialize the socket on the first call.
845
 
        (_gcry_daemon_randomize, _gcry_daemon_get_random_bytes) 
846
 
        (_gcry_daemon_create_nonce): New arg SOCKETNAME.
847
 
        * random.c (initialize): Call new daemon initializator.
848
 
        (get_random_bytes, gcry_randomize, gcry_create_nonce): Pass socket
849
 
        name to daemon call and reset allow_daemon on failure.
850
 
 
851
 
2006-07-26  Werner Koch  <wk@g10code.com>
852
 
 
853
 
        * rmd160.c (_gcry_rmd160_mixblock): Add cast to transform call.
854
 
 
855
 
        * blowfish.c (selftest): Cast string to usnigned char*.
856
 
 
857
 
        * primegen.c (prime_generate_internal): Cast unsigned/char*
858
 
        mismatch in calling m_out_of_n.
859
 
        (is_prime): Changed COUNT to unsigned int *.
860
 
 
861
 
        * ac.c (_gcry_ac_data_copy): Initialize DATA_MPIS.
862
 
 
863
 
        * random.c (gcry_create_nonce): Update the pid after a fork.
864
 
        Reported by Uoti Urpala.
865
 
 
866
 
2006-07-04  Marcus Brinkmann  <marcus@g10code.de>
867
 
 
868
 
        * sha512.c: Fix typo in copyright notice.
869
 
 
870
 
2006-06-21  Werner Koch  <wk@g10code.com>
871
 
 
872
 
        * rsa.c (_gcry_rsa_generate): Replace xcalloc by calloc.
873
 
        * pubkey.c (gcry_pk_encrypt, gcry_pk_sign): Ditto.
874
 
        (sexp_to_key, sexp_to_sig, sexp_to_enc, gcry_pk_encrypt) 
875
 
        (gcry_pk_sign, gcry_pk_genkey, gcry_pk_get_keygrip): Ditto. 
876
 
        * md.c (md_copy): Ditto.
877
 
        
878
 
2006-04-22  Moritz Schulte  <moritz@g10code.com>
879
 
 
880
 
        * random-daemon.c (_gcry_daemon_initialize_basics): New argument:
881
 
        SOCKETNAME.  Passing on to connect_to_socket() if non-NULL.
882
 
        (connect_to_socket, writen, readn, call_daemon): New functions.
883
 
        (_gcry_daemon_randomize, _gcry_daemon_get_random_bytes) 
884
 
        (_gcry_daemon_create_nonce): Call call_daemon().
885
 
        (RANDOM_DAEMON_SOCKET): New symbol.
886
 
        (daemon_socket): New static variable.
887
 
 
888
 
        * random.h (_gcry_daemon_initialize_basics): New parameter:
889
 
        SOCKETNAME.
890
 
        (_gcry_set_random_daemon_socket): New declaration.
891
 
 
892
 
        * random.c (initialize_basics): Pass DAEMON_SOCKET_NAME to
893
 
        _gcry_daemon_initialize_basics.
894
 
        (_gcry_set_random_daemon_socket): New function, setting
895
 
        DAEMON_SOCKET_NAME.
896
 
 
897
 
2006-04-01  Moritz Schulte  <moritz@g10code.com>
898
 
 
899
 
        * ac.c (eme_pkcs_v1_5_encode): Use KEY_SIZE directly, no need to
900
 
        call gcry_ac_key_get_nbits.
901
 
        (eme_pkcs_v1_5_decode): Likewise.
902
 
        (ac_es_dencode_prepare_pkcs_v1_5): Fill options_em structure with
903
 
        key_size.
904
 
        (_gcry_ac_data_dump, gcry_ac_data_dump): New functions.
905
 
        (_gcry_ac_data_to_sexp, _gcry_ac_data_from_sexp): More or less
906
 
        rewritten; changed S-Expression format so that it matches the one
907
 
        used in pubkey.c.
908
 
 
909
 
2006-03-15  Werner Koch  <wk@g10code.com>
910
 
 
911
 
        * random-daemon.c: New.
912
 
        * random.c (_gcry_use_random_daemon): New.
913
 
        (get_random_bytes, gcry_randomize, gcry_create_nonce): Try
914
 
        diverting to the daemon functions.
915
 
 
916
 
2006-03-14  Werner Koch  <wk@g10code.com>
917
 
 
918
 
        * random.c (lock_seed_file): New.
919
 
        (read_seed_file, _gcry_update_random_seed_file): Use it.
920
 
 
921
 
        * random.c (gcry_create_nonce):  Detect a fork and re-seed.
922
 
        (read_pool): Fixed the fork detection; it used to work only for
923
 
        multi-threaded processes.
924
 
 
925
 
2006-03-12  Brad Hards  <bradh@frogmouth.net>  (wk)
926
 
 
927
 
        * md.c (md_open): Use new variable macpads_Bsize instead of
928
 
        hardwiring the block size.  Changed at all places.
929
 
 
930
 
2006-03-10  Brad Hards  <bradh@frogmouth.net>  (wk, patch 2005-04-22)
931
 
 
932
 
        * md.c, sha256.c:  Add support for SHA-224.
933
 
        (sha224_init): New.
934
 
        
935
 
2006-01-18  Brad Hards  <bradh@frogmouth.net>  (wk 2006-03-07)
936
 
 
937
 
        * cipher.c (cipher_encrypt, cipher_decrypt, do_ofb_encrypt)
938
 
        (do_ofb_decrypt, gcry_cipher_open): Implement Output Feedback Mode.
939
 
 
940
 
2005-11-02  Moritz Schulte  <moritz@g10code.com>
941
 
 
942
 
        * pubkey.c (gcry_pk_algo_name): Return "?" instead of NULL for
943
 
        unknown algorithm IDs.
944
 
        * cipher.c (cipher_algo_to_string): Likewise.
945
 
 
946
 
2005-11-01  Moritz Schulte  <moritz@g10code.com>
947
 
 
948
 
        * pubkey.c (gcry_pk_algo_info): Don't forget to break after switch
949
 
        case.
950
 
 
951
 
2005-09-19  Werner Koch  <wk@g10code.com>
952
 
 
953
 
        * dsa.c (generate): Add preliminary support for 2 and 4 keys.
954
 
        Return an error code if the key size is not supported.
955
 
        (_gcry_dsa_generate): Return an error.
956
 
 
957
 
2005-08-22  Werner Koch  <wk@g10code.com>
958
 
 
959
 
        * primegen.c (check_prime): New arg RM_ROUNDS.
960
 
        (prime_generate_internal): Call it here with 5 rounds as used
961
 
        before.
962
 
        (gcry_prime_check): But here with 64 rounds.
963
 
        (is_prime): Make sure never to use less than 5 rounds.
964
 
 
965
 
2005-04-16  Moritz Schulte  <moritz@g10code.com>
966
 
 
967
 
        * ac.c (_gcry_ac_init): New function.
968
 
 
969
 
2005-04-12  Moritz Schulte  <moritz@g10code.com>
970
 
 
971
 
        * ac.c (_gcry_ac_io_write, _gcry_ac_io_read): Initialize err to
972
 
        make the compiler happy.
973
 
        Always use errno, now that gcry_malloc() is guaranteed to set
974
 
        errno on failure.
975
 
        (_gcry_ac_data_to_sexp): Don't forget to goto out after error in
976
 
        loop.
977
 
        (_gcry_ac_data_to_sexp): Remove unused variable: mpi_list;
978
 
        (_gcry_ac_data_to_sexp): Always deallocate sexp_buffer.
979
 
        (_gcry_ac_data_from_sexp): Don't forget to initialize data_set_new.
980
 
        (_gcry_ac_data_from_sexp): Handle special case, which is
981
 
        necessary, since gcry_sexp_nth() does not distinguish between
982
 
        "element does not exist" and "element is the empty list".
983
 
        (_gcry_ac_io_init_va): Use assert to make sure that mode and type
984
 
        are correct.
985
 
        Use gcry_error_t types where gcry_err_code_t types have been used
986
 
        before.
987
 
 
988
 
2005-04-11  Moritz Schulte  <moritz@g10code.com>
989
 
 
990
 
        * ac.c (_gcry_ac_data_sign_scheme): Don't forget to initialize
991
 
        buffer.
992
 
 
993
 
        * whirlpool.c: New file.
994
 
        * md.c (digest_table): Add whirlpool.
995
 
        * Makefile.am (EXTRA_libcipher_la_SOURCES): Added: whirlpool.c.
996
 
 
997
 
2005-03-30  Moritz Schulte  <moritz@g10code.com>
998
 
 
999
 
        * ac.c (_gcry_ac_data_from_sexp): Use length of SEXP_CUR, not
1000
 
        length of SEXP; do not forget to set SEXP_TMP to NULL after it has
1001
 
        been released.
1002
 
 
1003
 
        (struct gcry_ac_mpi): New member: name_provided.
1004
 
        (_gcry_ac_data_set): Rename variable `name_final' to `name_cp';
1005
 
        remove const qualifier; change code to not cast away const
1006
 
        qualifiers; use name_provided member as well.
1007
 
        (_gcry_ac_data_set, _gcry_ac_data_get_name): Use name_provided
1008
 
        member of named mpi structure.
1009
 
 
1010
 
        (gcry_ac_name_to_id): Do not forget to initialize err.
1011
 
        (_gcry_ac_data_get_index): Do not forget to initialize mpi_return;
1012
 
        use gcry_free() instead of free(); remove unnecessary cast; rename
1013
 
        mpi_return and name_return to mpi_cp and name_cp; adjust code.
1014
 
        (ac_data_mpi_copy): Do not cast away const qualifier.
1015
 
        (ac_data_values_destroy): Likewise.
1016
 
        (ac_data_construct): Likewise.
1017
 
 
1018
 
        (ac_data_mpi_copy): Initialize flags to GCRY_AC_FLAG_DEALLOC.
1019
 
        (ac_data_extract): Use GCRY_AC_FLAG_DEALLOC instead of
1020
 
        GCRY_AC_FLAG_COPY.
1021
 
 
1022
 
        (_gcry_ac_io_init_va, _gcry_ac_io_init, gcry_ac_io_init)
1023
 
        (gcry_ac_io_init_va, _gcry_ac_io_write, _gcry_ac_io_read)
1024
 
        (_gcry_ac_io_read_all, _gcry_ac_io_process): New functions.
1025
 
        (gry_ac_em_dencode_t): Use gcry_ac_io_t in prototype instead of
1026
 
        memroy strings directly; adjust encode/decode functions to use io
1027
 
        objects.
1028
 
        (emsa_pkcs_v1_5_encode_data_cb): New function ...
1029
 
        (emsa_pkcs_v1_5_encode): ... use it here.
1030
 
        (ac_data_dencode): Use io objects.
1031
 
        (_gcry_ac_data_encode, _gcry_ac_data_decode, gcry_ac_data_encode)
1032
 
        (gcry_ac_data_decode): Likewise.
1033
 
        (_gcry_ac_data_encrypt_scheme, gcry_ac_data_encrypt_scheme)
1034
 
        (_gcry_ac_data_decrypt_scheme, gcry_ac_data_decrypt_scheme)
1035
 
        (_gcry_ac_data_sign_scheme, gcry_ac_data_sign_scheme)
1036
 
        (_gcry_ac_data_verify_scheme, gcry_ac_data_verify_scheme):
1037
 
        Likewise.
1038
 
 
1039
 
2005-03-23  Werner Koch  <wk@g10code.com>
1040
 
 
1041
 
        * rndw32.c (_gcry_rndw32_gather_random_fast): While adding data
1042
 
        use the size of the object and not the one of its address.  Bug
1043
 
        reported by Sascha Kiefer.
1044
 
 
1045
 
2005-03-19  Moritz Schulte  <moritz@g10code.com>
1046
 
 
1047
 
        * cipher.c (do_cbc_encrypt): Be careful to not overwrite data,
1048
 
        which is to be used later on.  This happend, in case CTS is
1049
 
        enabled and OUTBUF is equal to INBUF.
1050
 
 
1051
 
2005-02-25  Werner Koch  <wk@g10code.com>
1052
 
 
1053
 
        * pubkey.c (gcry_pk_get_keygrip): Allow for shadowed-private-key.
1054
 
 
1055
 
2005-02-13  Moritz Schulte  <moritz@g10code.com>
1056
 
 
1057
 
        * serpent.c: Updated from 1.2 branch:
1058
 
 
1059
 
        s/u32_t/u32/ and s/byte_t/byte/.  Too match what we have always
1060
 
        used and are using in all other files too
1061
 
        (serpent_test): Moved prototype out of a fucntion.
1062
 
 
1063
 
2005-02-07  Moritz Schulte  <moritz@g10code.com>
1064
 
 
1065
 
        * ac.c: Major parts rewritten.
1066
 
        * pubkey.c (_gcry_pk_get_elements): New function.
1067
 
 
1068
 
2004-12-09  Werner Koch  <wk@g10code.com>
1069
 
 
1070
 
        * serpent.c (serpent_setkey): Moved prototype of serpent_test to
1071
 
        outer scope.
1072
 
 
1073
 
2004-09-11  Moritz Schulte  <moritz@g10code.com>
1074
 
 
1075
 
        * pubkey.c (pubkey_table): Added an alias entry for GCRY_PK_ELG_E.
1076
 
 
1077
 
2004-08-23  Moritz Schulte  <moritz@g10code.com>
1078
 
 
1079
 
        * ac.c: Do not include <assert.h>.
1080
 
        * rndegd.c: Likewise.
1081
 
        * sha1.c: Likewise.
1082
 
        * rndunix.c: Likewise.
1083
 
        * rndlinux.c: Likewise.
1084
 
        * rmd160.c: Likewise.
1085
 
        * md5.c: Likewise.
1086
 
        * md4.c: Likewise.
1087
 
        * cipher.c: Likewise.
1088
 
        * crc.c: Likewise.
1089
 
        * blowfish.c: Likewise.
1090
 
 
1091
 
        * pubkey.c (dummy_generate, dummy_check_secret_key)
1092
 
        (dummy_encrypt, dummy_decrypt, dummy_sign, dummy_verify): Return
1093
 
        err code GPG_ERR_NOT_IMPLEMENTED instead of aborting through
1094
 
        log_bug().
1095
 
        (dummy_get_nbits): Return 0 instead of aborting though log_bug().
1096
 
 
1097
 
2004-08-19  Werner Koch  <wk@g10code.de>
1098
 
 
1099
 
        * pubkey.c (sexp_data_to_mpi): Changed the zero random byte
1100
 
        substituting code to actually do clever things.  Thanks to
1101
 
        Matthias Urlichs for noting the implementation problem.
1102
 
 
1103
 
2004-08-09  Moritz Schulte  <moritz@g10code.com>
1104
 
 
1105
 
        * pubkey.c (gcry_pk_sign): Fixed memory leak; fix provided by
1106
 
        Modestas Vainius.
1107
 
 
1108
 
2004-07-16  Werner Koch  <wk@gnupg.org>
1109
 
 
1110
 
        * rijndael.c (do_encrypt): Fix alignment problem.  Bugs found by
1111
 
        Matthias Urlichs.
1112
 
        (do_decrypt): Ditto.
1113
 
        (keySched, keySched2): Use 2 macros along with unions in the key
1114
 
        schedule context.
1115
 
 
1116
 
2004-07-14  Moritz Schulte  <moritz@g10code.com>
1117
 
 
1118
 
        * rsa.c (_gcry_rsa_decrypt): Don't forget to free "a".  Thanks to
1119
 
        Nikos Mavroyanopoulos.
1120
 
 
1121
 
2004-05-09  Werner Koch  <wk@gnupg.org>
1122
 
 
1123
 
        * random.c (read_pool): Mix the PID in to better protect after a
1124
 
        fork.
1125
 
 
1126
 
2004-07-04  Moritz Schulte  <moritz@g10code.com>
1127
 
 
1128
 
        * serpent.c: Use "u32_t" instead of "unsigned long", do not
1129
 
        declare S-Box variables as "register".  Fixes failure on
1130
 
        OpenBSD/sparc64, reported by Nikolay Sturm.
1131
 
 
1132
 
2004-05-07  Werner Koch  <wk@gnupg.org>
1133
 
 
1134
 
        * random.c (initialize): Factored out some code to ..
1135
 
        (initialize_basics): .. new function.
1136
 
        (_gcry_random_initialize): Just call initialize_basics unless the
1137
 
        new arg FULL is set to TRUE.
1138
 
        (_gcry_fast_random_poll): Don't do anything unless the random
1139
 
        system has been really initialized.
1140
 
 
1141
 
2004-05-07  Moritz Schulte  <moritz@g10code.de>
1142
 
 
1143
 
        * ac.c (gcry_ac_open): Do not dereference NULL pointer.  Reported
1144
 
        by Umberto Salsi.
1145
 
 
1146
 
2004-02-20  Werner Koch  <wk@gnupg.org>
1147
 
 
1148
 
        * primegen.c (check_prime): New args CB_FUNC and CB_ARG; call them
1149
 
        at different stages.  Pass these arguments through all callers.
1150
 
 
1151
 
2004-02-06  Werner Koch  <wk@gnupg.org>
1152
 
 
1153
 
        * des.c: Add a new OID as used by pkcs#12.
1154
 
 
1155
 
        * rfc2268.c: New. Taken from libgcrypt. 
1156
 
        * cipher.c: Setup the rfc2268 algorithm.
1157
 
 
1158
 
2004-01-25  Moritz Schulte  <mo@g10code.com>
1159
 
 
1160
 
        * primegen.c (prime_generate_internal): Do not forget to free
1161
 
        `q_factor'; fixed by Brieuc Jeunhomme.
1162
 
        (prime_generate_internal): Do not forget to free `prime'.
1163
 
 
1164
 
2004-01-14  Moritz Schulte  <mo@g10code.com>
1165
 
 
1166
 
        * ac.c (gcry_ac_data_set): New argument: flags; slightly
1167
 
        rewritten.
1168
 
        (gcry_ac_data_get_name, gcry_ac_data_get_index): Likewise.
1169
 
        (gcry_ac_key_pair_generate): New argument: misc_data; modified
1170
 
        order of arguments.
1171
 
        (gcry_ac_key_test): New argument: handle.
1172
 
        (gcry_ac_key_get_nbits, gcry_ac_key_get_grip): Likewise.
1173
 
        Use GCRY_AC_FLAG_NO_BLINDING instead of
1174
 
        GCRY_AC_DATA_FLAG_NO_BLINDING.
1175
 
        (gcry_ac_mpi): New member: flags.
1176
 
        (gcry_ac_data_search, gcry_ac_data_add): Removed functions.
1177
 
 
1178
 
2003-12-22  Werner Koch  <wk@gnupg.org>
1179
 
 
1180
 
        * primegen.c (is_prime): Release A2.
1181
 
 
1182
 
2003-12-19  Werner Koch  <wk@gnupg.org>
1183
 
 
1184
 
        * md.c: Moved a couple of functions down below the data structure
1185
 
        definitions.
1186
 
        (struct gcry_md_context): New field ACTUAL_HANDLE_SIZE.
1187
 
        (md_open): Set it here.
1188
 
        (strcut gcry_md_list): New field ACTUAL_STRUCT_SIZE.
1189
 
        (md_enable): Set it here.
1190
 
        (md_close): Wipe the context memory.
1191
 
        secure memory.
1192
 
        * cipher.c (struct gcry_cipher_handle): New field ACTUAL_HANDLE_SIZE.
1193
 
        (gcry_cipher_open): Set it here.
1194
 
        (gcry_cipher_close): Use it to always wipe out the handle data.
1195
 
 
1196
 
        * ac.c (gcry_ac_open): Make sure HANDLE gets initialized even when
1197
 
        the function is not successful.
1198
 
        (gcry_ac_close): Allow a NULL handle.
1199
 
        (gcry_ac_key_destroy, gcry_ac_key_pair_destroy): Ditto.
1200
 
        (gcry_ac_key_get_grip): Return INV_OBJ on error.
1201
 
 
1202
 
        * primegen.c (prime_generate_internal): Fixed error code for
1203
 
        failed malloc.  Replaced the !err if chain by gotos.
1204
 
        (gcry_prime_group_generator): Remove the extra sanity check.
1205
 
 
1206
 
        * md.c: Minor code and comment cleanups.
1207
 
 
1208
 
2003-12-16  Werner Koch  <wk@gnupg.org>
1209
 
 
1210
 
        * primegen.c (gen_prime): Doc fix.  Thanks to Newton Hammet.
1211
 
 
1212
 
2003-12-11  Werner Koch  <wk@gnupg.org>
1213
 
 
1214
 
        * rndunix.c (slow_poll): Don't use #warning but #error.
1215
 
 
1216
 
        * rndegd.c: Changed indentation.
1217
 
        (my_make_filename): Removd the var_arg cruft becuase we
1218
 
        don't need it here.  Changed caller.  
1219
 
 
1220
 
        * rndlinux.c: Changed indentation.
1221
 
        (open_device): Remove the superfluous stat call and clarify
1222
 
        comment.
1223
 
 
1224
 
        * rsa.c: Changed indentation.
1225
 
        (secret): Use the standard algorithm if p, q and u are not
1226
 
        available.
1227
 
        (rsa_blind, rsa_unblind): Renamed from _gcry_rsa_blind,
1228
 
        _gcry_rsa_unblind and moved more to the top.
1229
 
 
1230
 
        * md4.c: Changed indentation.  Removed unnecessary casts.
1231
 
        * md5.c, rmd160.c, sha1.c, tiger.c: Ditto.
1232
 
        * rijndael.c, twofish.c: Ditto.
1233
 
        * serpent.c: Removed unnecessary casts.
1234
 
        * sha256.c, sha512.c: Ditto.
1235
 
 
1236
 
2003-12-09  Werner Koch  <wk@gnupg.org>
1237
 
 
1238
 
        * dsa.c: Unified indentation style.
1239
 
        * elgamal.c: Ditto. 
1240
 
        * des.c (des_key_schedule): Code beautifications.
1241
 
        * blowfish.c: Changed indentation style.
1242
 
        * cast5.c (do_cast_setkey): Ditto.
1243
 
 
1244
 
        * pubkey.c (gcry_pk_encrypt): Replaced the chain of if(!err) tests
1245
 
        by straightforward gotos. Other cleanups.
1246
 
        (gcry_pk_decrypt): Ditto.
1247
 
        (gcry_pk_sign): Ditto.
1248
 
        (gcry_pk_verify): Ditto.
1249
 
        (gcry_pk_genkey): Ditto.  Use strtoul instead of strtol.
1250
 
        (gcry_pk_ctl): Use GPG_ERR_INV_ARG to indicate bad arguments.
1251
 
 
1252
 
2003-12-07  Werner Koch  <wk@gnupg.org>
1253
 
 
1254
 
        * pubkey.c (gcry_pk_register_default): Undef the helper macro.
1255
 
        (gcry_pk_map_name): Allow NULL for string.
1256
 
        (sexp_to_key): Use memcpy and not strncpy.  Use gcry_free and not
1257
 
        free.
1258
 
        (sexp_to_sig): Ditto.
1259
 
        (sexp_to_enc): Ditto.  Replaced the chain of if(!err) tests by
1260
 
        straightforward gotos.
1261
 
 
1262
 
2003-12-05  Werner Koch  <wk@gnupg.org>
1263
 
 
1264
 
        * cipher.c: Documentation cleanups.
1265
 
        (gcry_cipher_mode_from_oid): Allow NULL for STRING.
1266
 
 
1267
 
2003-12-03  Werner Koch  <wk@gnupg.org>
1268
 
 
1269
 
        * elgamal.c (sign, do_encrypt, gen_k): Make sure that a small K is
1270
 
        only used for encryption.
1271
 
 
1272
 
2003-11-18  Werner Koch  <wk@gnupg.org>
1273
 
 
1274
 
        * random.h (rndw32_set_dll_name): Removed unused prototype.
1275
 
 
1276
 
        * Makefile.am (EXTRA_DIST): Added Manifest.
1277
 
 
1278
 
2003-11-11  Werner Koch  <wk@gnupg.org>
1279
 
 
1280
 
        * Manifest: New.
1281
 
 
1282
 
2003-11-04  Werner Koch  <wk@gnupg.org>
1283
 
 
1284
 
        * md.c (gcry_md_hash_buffer): Use shortcut for SHA1
1285
 
        * sha1.c (_gcry_sha1_hash_buffer): New.
1286
 
 
1287
 
        * random.c: Reformatted most functions.
1288
 
        (mix_pool): Moved the failsafe_digest from global
1289
 
        scope to here.
1290
 
        (do_fast_random_poll): Use the generic fucntions even if a fast
1291
 
        gathering function has been used.
1292
 
        (read_pool): Detect a fork and retry.
1293
 
        (gcry_randomize, get_random_bytes): Don't distinguish anymore
1294
 
        between weak and strong random.
1295
 
        (gcry_create_nonce): New.
1296
 
 
1297
 
2003-10-31  Werner Koch  <wk@gnupg.org>
1298
 
 
1299
 
        * rndw32.c (slow_gatherer_windowsNT): Use a plain buffer for the
1300
 
        disk performance values and not the W32 API structure.
1301
 
 
1302
 
        * dsa.c (verify): s/exp/ex/ due to shadowing of a builtin.
1303
 
        * elgamal.c (verify): Ditto.
1304
 
 
1305
 
        * ac.c (gcry_ac_data_get_index): s/index/idx/
1306
 
        (gcry_ac_data_copy_internal): Remove the cast in _gcry_malloc.
1307
 
        (gcry_ac_data_add): Must use gcry_realloc instead of realloc.
1308
 
        * pubkey.c (sexp_elements_extract): s/index/idx/ as tribute to the
1309
 
        forehackers.
1310
 
        (gcry_pk_encrypt): Removed shadowed definition of I. Reordered
1311
 
        arguments to malloc for clarity.
1312
 
        (gcry_pk_sign, gcry_pk_genkey): Ditto.
1313
 
        * primegen.c (prime_generate_internal): s/random/randomlevel/.
1314
 
 
1315
 
2003-10-27  Moritz Schulte  <mo@g10code.com>
1316
 
 
1317
 
        * pubkey.c (gcry_pk_encrypt): Don't forget to deallocate pkey.
1318
 
 
1319
 
2003-10-27  Werner Koch  <wk@gnupg.org>
1320
 
 
1321
 
        * random.c (gcry_random_add_bytes): Return if buflen is zero to
1322
 
        avoid gcc warning about unsed parameter.
1323
 
        (MASK_LEVEL): Simplified; does now work for signed and unsigned
1324
 
        w/o warnings.
1325
 
 
1326
 
        * md.c (md_start_debug): Removed the const from SUFFIX, because
1327
 
        this function is called from the control fucntion which does not
1328
 
        require const.
1329
 
 
1330
 
        Prefixed all (pubkey,digest,cipher}_spec_* globale variables with
1331
 
        _gcry_.
1332
 
 
1333
 
        * ac.c (ac_key_identifiers): Made static.
1334
 
 
1335
 
        * random.c (getfnc_gather_random,getfnc_fast_random_poll): Move
1336
 
        prototypes to ..
1337
 
        * rand-internal.h: .. here 
1338
 
        * random.c (getfnc_gather_random): Include rndw32 gatherer.
1339
 
        * rndunix.c, rndw32.c, rndegd.c: Include them here.
1340
 
        * rndlinux.c (_gcry_rndlinux_gather_random): Prepend the _gcry_
1341
 
        prefix.  Changed all callers.
1342
 
        * rndegd.c (_gcry_rndegd_gather_random): Likewise.
1343
 
        (_gcry_rndegd_connect_socket): Likewise.
1344
 
        * rndunix.c (_gcry_rndunix_gather_random): Likewise.
1345
 
        (waitpid): Made static.
1346
 
        * rndw32.c: Removed the old and unused winseed.dll cruft.
1347
 
        (_gcry_rndw32_gather_random_fast): Renamed from
1348
 
        gather_random_fast.
1349
 
        (_gcry_rndw32_gather_random): Renamed from gather_random.  Note,
1350
 
        that the changes 2003-04-08 somehow got lost.
1351
 
 
1352
 
        * sha512.c (sha512_init, sha384_init): Made static.
1353
 
 
1354
 
        * cipher.c (do_ctr_decrypt): Removed "return" from this void
1355
 
        function.
1356
 
 
1357
 
2003-10-24  Moritz Schulte  <mo@g10code.com>
1358
 
 
1359
 
        * serpent.c: Fix an issue on big-endian systems.
1360
 
 
1361
 
        * rndw32.c: Removed IS_MODULE -cruft.
1362
 
        * rndlinux.c (rndlinux_gather_random): Likewise.
1363
 
 
1364
 
2003-10-10  Werner Koch  <wk@gnupg.org>
1365
 
 
1366
 
        * primegen.c (gen_prime): Bail out if NBITS is less than 16.
1367
 
        (prime_generate_internal): Initialize prime variable to suppress
1368
 
        compiler warning.  Check pbits, initialize qbits when passed as
1369
 
        zero.
1370
 
 
1371
 
        * primegen.c (prime_generate_internal): New arg
1372
 
        ALL_FACTORS. Changed all callers.
1373
 
        (gcry_prime_generate): Make the factors arg optional. Request
1374
 
        all_factors.  Make sure PRIME is set to NULL even on error.
1375
 
        (gcry_prime_group_generator): New.
1376
 
        (gcry_prime_release_factors): New.
1377
 
 
1378
 
2003-10-06  Werner Koch  <wk@gnupg.org>
1379
 
 
1380
 
        * primegen.c (gen_prime): Assert that NBITS is never zero, it
1381
 
        would cause a segv.
1382
 
 
1383
 
2003-09-28  Moritz Schulte  <mo@g10code.com>
1384
 
 
1385
 
        * ac.c: Include "cipher.h".
1386
 
 
1387
 
2003-09-27  Moritz Schulte  <mo@g10code.com>
1388
 
 
1389
 
        * rndegd.c (do_read): Return nread instead of nbytes; thanks to
1390
 
        Michael Caerwyn.
1391
 
 
1392
 
2003-09-04  Werner Koch  <wk@gnupg.org>
1393
 
 
1394
 
        * pubkey.c (_gcry_pk_aliased_algo_name): New.
1395
 
        * ac.c (gcry_ac_open): Use it here.
1396
 
 
1397
 
        * Makefile.am (EXTRA_libcipher_la_SOURCES): Add serpent.c
1398
 
 
1399
 
2003-09-02  Moritz Schulte  <mo@g10code.com>
1400
 
 
1401
 
        * primegen.c (gcry_prime_check, gcry_prime_generate): New
1402
 
        functions.
1403
 
        (prime_generate_internal): New function, based on
1404
 
        _gcry_generate_elg_prime.
1405
 
        (_gcry_generate_elg_prime): Rewritten as a wrapper for
1406
 
        prime_generate_internal.
1407
 
 
1408
 
2003-08-28  Werner Koch  <wk@gnupg.org>
1409
 
 
1410
 
        * pubkey.c (gcry_pk_encrypt): Don't include the flags list in the
1411
 
        return value.  This does not make sense and breaks any programs
1412
 
        parsing the output strictly (e.g. current gpgsm).
1413
 
        (gcry_pk_encrypt): If aliases for the algorithm name exists, take
1414
 
        the first one instead of the regular name to adhere to SPKI
1415
 
        conventions.
1416
 
        (gcry_pk_genkey): Ditto.
1417
 
        (gcry_pk_sign): Ditto. Removed unused KEY_ALGO_NAME.
1418
 
 
1419
 
2003-08-19  Moritz Schulte  <mo@g10code.com>
1420
 
 
1421
 
        * cipher.c: Add support for Serpent
1422
 
        * serpent.c: New file.
1423
 
 
1424
 
2003-08-10  Moritz Schulte  <moritz@g10code.com>
1425
 
 
1426
 
        * rsa.c (_gcry_rsa_blind, _gcry_rsa_unblind): Declare static.
1427
 
 
1428
 
2003-08-09  Timo Schulz  <twoaday@freakmail.de>
1429
 
 
1430
 
        * random.c (getfnc_gather_random): Don't check NAME_OF_DEV_RANDOM
1431
 
        two times, but also the NAME_OF_DEV_URANDOM device.
1432
 
        
1433
 
2003-08-08  Moritz Schulte  <moritz@g10code.com>
1434
 
 
1435
 
        * pubkey.c (sexp_to_enc): Fixed extraction of S-Expression: do not
1436
 
        fail if no `flags' sub S-Expression is found.
1437
 
 
1438
 
2003-07-27  Werner Koch  <wk@gnupg.org>
1439
 
 
1440
 
        * md.c (gcry_md_lookup_func_oid): Allow for empty OID lists.
1441
 
 
1442
 
2003-07-23  Moritz Schulte  <moritz@g10code.com>
1443
 
 
1444
 
        * ac.c (gcry_ac_data_construct): New argument: include_flags, only
1445
 
        include `flags' S-expression, if include_flags is true.  Adjust
1446
 
        callers.  Thanks for triggering a bug caused by `flags'
1447
 
        sub-S-expression where they are not expected to Ralf Schneider.
1448
 
 
1449
 
2003-07-21  Moritz Schulte  <moritz@g10code.com>
1450
 
 
1451
 
        * pubkey.c (gcry_pk_lookup_func_name): Use new member name
1452
 
        `aliases' instead of `sexp_names'.
1453
 
 
1454
 
        * ac.c (gcry_ac_key_data_get): New function.
1455
 
 
1456
 
        * cipher.c (gcry_cipher_lookup_func_name): Fix return value.
1457
 
 
1458
 
2003-07-20  Moritz Schulte  <moritz@g10code.com>
1459
 
 
1460
 
        * blowfish.c: Adjusted for new gcry_cipher_spec_t structure.
1461
 
        * cast5.c: Likewise.
1462
 
        * twofish.c: Likewise.
1463
 
        * arcfour.c: Likewise.
1464
 
        * rijndael.c (rijndael_oids, rijndael192_oids, rijndael256_oids):
1465
 
        New variables, adjust for new gcry_cipher_spec_t structure.
1466
 
        * des.c (oids_tripledes): New variable, adjust for new
1467
 
        gcry_cipher_spec_t structure.
1468
 
 
1469
 
        * md.c (oid_table): Removed.
1470
 
 
1471
 
        * tiger.c (oid_spec_tiger): New variable.
1472
 
        (digest_spec_tiger): Adjusted for new gry_md_spec_t structure.
1473
 
 
1474
 
        * sha512.c (oid_spec_sha512): New variable.
1475
 
        (digest_spec_sha512): Adjusted for new gry_md_spec_t structure.
1476
 
 
1477
 
        * sha512.c (oid_spec_sha384): New variable.
1478
 
        (digest_spec_sha384): Adjusted for new gry_md_spec_t structure.
1479
 
 
1480
 
        * sha256.c (oid_spec_sha256): New variable.
1481
 
        (digest_spec_sha256): Adjusted for new gry_md_spec_t structure.
1482
 
 
1483
 
        * sha1.c (oid_spec_sha1): New variable.
1484
 
        (digest_spec_sha1): Adjusted for new gry_md_spec_t structure.
1485
 
 
1486
 
        * rmd160.c (oid_spec_rmd160): New variable.
1487
 
        (digest_spec_rnd160): Adjusted for new gry_md_spec_t structure.
1488
 
 
1489
 
        * md5.c (oid_spec_md5): New variable.
1490
 
        (digest_spec_md5): Adjusted for new gry_md_spec_t structure.
1491
 
 
1492
 
        * md4.c (oid_spec_md4): New variable.
1493
 
        (digest_spec_md4): Adjusted for new gry_md_spec_t structure.
1494
 
 
1495
 
        * crc.c (digest_spec_crc32, digest_spec_crc32_rfc1510,
1496
 
        digest_spec_crc32_rfc2440): Adjusted for new gry_md_spec_t
1497
 
        structure.
1498
 
 
1499
 
2003-07-19  Moritz Schulte  <moritz@g10code.com>
1500
 
 
1501
 
        * md.c (gcry_md_lookup_func_oid): New function.
1502
 
        (search_oid): New function, copied from cipher.c.
1503
 
        (gcry_md_map_name): Adjust for new search_oid_interface.
1504
 
 
1505
 
        * cipher.c (oid_table): Removed table.
1506
 
        (gcry_cipher_lookup_func_oid): New function.
1507
 
        (search_oid): Rewritten to use the module functions.
1508
 
        (gcry_cipher_map_name): Adjust for new search_oid interface.
1509
 
        (gcry_cipher_mode_from_oid): Likewise.
1510
 
 
1511
 
2003-07-18  Werner Koch  <wk@gnupg.org>
1512
 
 
1513
 
        * md.c (gcry_md_hash_buffer): Convert ERR to gpg_error_t in
1514
 
        gpg_strerror.
1515
 
 
1516
 
2003-07-14  Moritz Schulte  <moritz@g10code.com>
1517
 
 
1518
 
        * cipher.c (gcry_cipher_lookup_func_name): Also check the cipher
1519
 
        name aliases, not just the primary name.
1520
 
        (gcry_cipher_map_name): Remove kludge for aliasing Rijndael to
1521
 
        AES.
1522
 
 
1523
 
        * arcfour.c, blowfish.c, cast5.c, des.c, twofish.c: Adjust cipher
1524
 
        specification structures.
1525
 
 
1526
 
        * rijndael.c (rijndael_names, rijndael192_names,
1527
 
        rijndael256_names): New variables, use them in the cipher
1528
 
        specifications.
1529
 
 
1530
 
        * rmd160test.c: Removed file.
1531
 
 
1532
 
        * ac.c, arcfour.c, blowfish.c, cast5.c, cipher.c, des.c, dsa.c,
1533
 
        elgamal.c, md.c, pubkey.c, random.c, rijndael.c, rsa.c, twofish.c:
1534
 
        Used gcry_err* wrappers for libgpg symbols.
1535
 
 
1536
 
        * primegen.c (gen_prime): Correct the order arguments to
1537
 
        extra_check.
1538
 
 
1539
 
2003-07-12  Moritz Schulte  <moritz@g10code.com>
1540
 
 
1541
 
        * ac.c: Replaced all public occurences of gpg_error_t with
1542
 
        gcry_error_t.
1543
 
        * cipher.c: Likewise.
1544
 
        * md.c: Likewise.
1545
 
        * pubkey.c: Likewise.
1546
 
        * random.c: Likewise.
1547
 
 
1548
 
        * cipher.c: Added support for TWOFISH128.
1549
 
 
1550
 
2003-07-08  Moritz Schulte  <moritz@g10code.com>
1551
 
 
1552
 
        * ac.c (gcry_ac_data_copy_internal): New function, based on
1553
 
        gcry_ac_data_copy.
1554
 
        (gcry_ac_data_copy): Made public, use gcry_ac_data_copy_internal.
1555
 
        (gcry_ac_key_init): Use gcry_ac_data_copy_internal.
1556
 
 
1557
 
2003-07-07  Moritz Schulte  <moritz@g10code.com>
1558
 
 
1559
 
        * ac.c (gcry_ac_data_set): Only release old MPI value if it is
1560
 
        different from the new value.  Bug reported by Simon Josefsson
1561
 
        <jas@extundo.com>.
1562
 
 
1563
 
        * pubkey.c (gcry_pk_list): New function.
1564
 
        * md.c (gcry_md_list): New function.
1565
 
 
1566
 
        * ac.c (gcry_ac_key_pair_generate): Fix calculation of format
1567
 
        string size.
1568
 
 
1569
 
2003-07-05  Moritz Schulte  <moritz@g10code.com>
1570
 
 
1571
 
        * md.c: Named struct of digest_table `digest_table_entry'.
1572
 
        (digest_table_entry): New member: algorithm; filled in.
1573
 
        (digest_table_entry): Removed unused member: flags.
1574
 
        (gcry_md_register): New argument: algorithm_id, filled in.
1575
 
        (gcry_md_register_default): Used algorithm ID from module
1576
 
        structure.
1577
 
        (gcry_md_map_name): Likewise.
1578
 
        (md_enable): Likewise.
1579
 
        (md_read): Likewise.
1580
 
        (gcry_md_info): Likewise.
1581
 
 
1582
 
        * pubkey.c: Named truct for pubkey_table `pubkey_table_entry'.
1583
 
        (pubkey_table_entry): New member: algorithm; filled in.
1584
 
        (gcry_pk_register_default): Used algorithm ID from pubkey_table.
1585
 
        (gcry_pk_register): New argument: algorithm_id, filled in.
1586
 
        (gcry_pk_map_name): Used algorithm ID from module structure.
1587
 
        (gcry_pk_decrypt): Likewise.
1588
 
        (gcry_pk_encrypt): Likewise.
1589
 
        (gcry_pk_verify): Likewise.
1590
 
        (gcry_pk_sign): Likewise.
1591
 
        (gcry_pk_testkey): Likewise.
1592
 
        (gcry_pk_genkey): Likewise.
1593
 
        (gcry_pk_get_nbits): Likewise.
1594
 
        (sexp_to_key): Removed unused variable: algo.
1595
 
        (sexp_to_sig): Likewise.
1596
 
 
1597
 
        * cipher.c: Named struct for cipher_table `cipher_table_entry'.
1598
 
        (cipher_table_entry): New member: algorithm; filled in.
1599
 
        (gcry_cipher_register_default): Used algorithm ID from
1600
 
        cipher_table.
1601
 
        (gcry_cipher_register): New argument: algorithm_id, filled in.
1602
 
        (gcry_cipher_map_name): Used algorithm ID from module structure.
1603
 
 
1604
 
        * arcfour.c (cipher_spec_arcfour): Removed algorithm ID.
1605
 
        * blowfish.c (cipher_spec_blowfish): Likewise.
1606
 
        * cast5.c (cipher_spec_cast5): Likewise.
1607
 
        * crc.c (digest_spec_crc32): Likewise.
1608
 
        * crc.c (digest_spec_crc32_rfc1510): Likewise.
1609
 
        * crc.c (digest_spec_crc32_rfc2440): Likewise.
1610
 
        * des.c (cipher_spec_des): Likewise.
1611
 
        * des.c (cipher_spec_tripledes): Likewise.
1612
 
        * dsa.c (pubkey_spec_dsa): Likewise.
1613
 
        * elgamal.c (pubkey_spec_elg): Likewise.
1614
 
        * md4.c (digest_spec_md4): Likewise.
1615
 
        * md5.c (digest_spec_md5): Likewise.
1616
 
        * aes.c (cipher_spec_aes): Likewise.
1617
 
        * aes.c (cipher_spec_aes192): Likewise.
1618
 
        * aes.c (cipher_spec_aes256): Likewise.
1619
 
        * rsa.c (pubkey_spec_rsa): Likewise.
1620
 
        * sha1.c (digest_spec_sha1): Likewise.
1621
 
        * sha256.c (digest_spec_sha256): Likewise.
1622
 
        * sha512.c (digest_spec_sha512): Likewise.
1623
 
        * tiger.c (digest_spec_tiger): Likewise.
1624
 
        * twofish.c (cipher_spec_twofish): Likewise.
1625
 
        * twofish.c (cipher_spec_twofish128): Likewise.
1626
 
 
1627
 
        * Makefile.am (EXTRA_libcipher_la_SOURCES): Fix list of source
1628
 
        files; reported by Simon Josefsson <jas@extundo.com>.
1629
 
 
1630
 
        * pubkey.c: Replaced all occurences of `id' with `algorithm',
1631
 
        since `id' is a keyword in obj-c.
1632
 
        * md.c: Likewise.
1633
 
        * cipher.c: Likewise.
1634
 
 
1635
 
        * crc.c, md4.c, md5.c, rmd160.c, sha1.c, sha256.c, tiger.c:
1636
 
        Replaced all occurences of gcry_digest_spec_t with gcry_md_spec_t.
1637
 
 
1638
 
        * dsa.c, rsa.c, elgamal.c: Replaced all occurencens of
1639
 
        gcry_pubkey_spec_t with gcry_pk_spec_t.
1640
 
 
1641
 
        * md.c: Replaced all occurences of gcry_digest_spec_t with
1642
 
        gcry_md_spec_t.
1643
 
        (gcry_digest_register_default): Renamed to ...
1644
 
        (gcry_md_register_default): ... this; adjusted callers.
1645
 
        (gcry_digest_lookup_func_name): Renamed to ...
1646
 
        (gcry_md_lookup_func_name): ... this; adjusted callers.
1647
 
        (gcry_digest_lookup_name): Renamed to ...
1648
 
        (gcry_md_lookup_name): ... this; adjusted callers.
1649
 
        (gcry_digest_register): Renamed to ...
1650
 
        (gcry_md_register): ... this.
1651
 
        (gcry_digest_unregister): Renamed to ...
1652
 
        (gcry_md_unregister): ... this.
1653
 
 
1654
 
        * pubkey.c (gcry_pubkey_register): Renamed to ...
1655
 
        (gcry_pk_register): ... this.
1656
 
        (gcry_pubkey_unregister): Renamed to ...
1657
 
        (gcry_pk_unregister): ... this.
1658
 
        Replaced all occurences of gcry_pubkey_spec_t with gcry_pk_spec_t.
1659
 
        (gcry_pubkey_register_default): Renamed to ...
1660
 
        (gcry_pk_register_default): ... this; adjusted callers.
1661
 
        (gcry_pubkey_lookup_func_name): Renamed to ...
1662
 
        (gcry_pk_lookup_func_name): ... this; adjusted callers.
1663
 
        (gcry_pubkey_lookup_name): Renamed to ...
1664
 
        (gcry_pk_lookup_name): ... this; adjusted callers.
1665
 
 
1666
 
        * md.c (gcry_md_hash_buffer): Fix error checking.  Thanks to Simon
1667
 
        Josefsson <jas@extunde.com>.
1668
 
 
1669
 
2003-07-04  Moritz Schulte  <moritz@g10code.com>
1670
 
 
1671
 
        * cipher.c (gcry_cipher_list): New function.
1672
 
 
1673
 
2003-07-01  Moritz Schulte  <moritz@g10code.com>
1674
 
 
1675
 
        * pubkey.c (sexp_to_sig): Accept a `flags' S-expression to be more
1676
 
        consistent with sexp_to_enc.
1677
 
 
1678
 
2003-06-30  Moritz Schulte  <moritz@g10code.com>
1679
 
 
1680
 
        * Makefile.am (libcipher_la_SOURCES): Added: ac.c.
1681
 
 
1682
 
        * pubkey.c (_gcry_pk_module_lookup): New function.
1683
 
        (_gcry_pk_module_release): New function.
1684
 
 
1685
 
2003-06-29  Moritz Schulte  <moritz@g10code.com>
1686
 
 
1687
 
        * ac.c: New file.
1688
 
 
1689
 
2003-06-26  Werner Koch  <wk@gnupg.org>
1690
 
 
1691
 
        * md.c (gcry_md_hash_buffer): Trigger BUG correcly with new API.
1692
 
 
1693
 
2003-06-19  Werner Koch  <wk@gnupg.org>
1694
 
 
1695
 
        * md.c (gcry_md_is_enabled): Fixed. 
1696
 
 
1697
 
2003-06-18  Werner Koch  <wk@gnupg.org>
1698
 
 
1699
 
        * cipher.c (gcry_cipher_get_algo_keylen): New.
1700
 
        (gcry_cipher_get_algo_blklen): New.
1701
 
 
1702
 
2003-06-18  Moritz Schulte  <moritz@g10code.com>
1703
 
 
1704
 
        * arcfour.c, cipher.c, blowfish.c, md.c, cast5.c, pubkey.c, crc.c,
1705
 
        des.c, dsa.c, elgamal.c, md4.c, md5.c, random.c, rijndael.c,
1706
 
        rmd160.c, rsa.c, sha1.c, sha256.c, sha512.c, tiger.c, twofish.c:
1707
 
        Replaced older types GcryDigestSpec, GcryCipherSpec and
1708
 
        GcryPubkeySpec with newer types: gcry_digest_spec_t,
1709
 
        gcry_cipher_spec_t and gcry_pubkey_spec_t.
1710
 
 
1711
 
        * md.c (gcry_digest_id_new): Removed function.
1712
 
        (gcry_digest_register): Removed code for generating a new module
1713
 
        ID.
1714
 
 
1715
 
        * pubkey.c (gcry_pubkey_id_new): Removed function.
1716
 
        (gcry_pubkey_register): Removed code for generating a new module
1717
 
        ID.
1718
 
 
1719
 
        * cipher.c, md.c, pubkey.c: Replace old type GcryModule with newer
1720
 
        one: gcry_module_t.
1721
 
        (gcry_cipher_id_new): Removed function.
1722
 
        (gcry_cipher_register): Removed code for generating a new module
1723
 
        ID.
1724
 
 
1725
 
        * cipher.c (gcry_cipher_register): Adjust call to
1726
 
        _gcry_module_add.
1727
 
        (gcry_cipher_register_default): Likewise.
1728
 
        * pubkey.c (gcry_pubkey_register_default): Likewise.
1729
 
        (gcry_pubkey_register): Likewise.
1730
 
        * md.c (gcry_digest_register_default): Likewise.
1731
 
        (gcry_digest_register): Likewise.
1732
 
 
1733
 
        * md.c (gcry_digest_lookup_func_id): Removed function.
1734
 
        (gcry_digest_lookup_id): Likewise.
1735
 
        (gcry_digest_id_new): Use _gcry_module_lookup_id instead of
1736
 
        gcry_digest_lookup_id.
1737
 
        (digest_algo_to_string): Likewise.
1738
 
        (check_digest_algo): Likewise.
1739
 
        (md_enable): Likewise.
1740
 
        (md_digest_length): Likewise.
1741
 
        (md_asn_oid): Likewise.
1742
 
 
1743
 
        * pubkey.c (gcry_pubkey_lookup_id): Removed function.
1744
 
        (gcry_pubkey_lookup_func_id): Likewise.
1745
 
        (gcry_pubkey_id_new): Use _gcry_module_lookup_id instead of
1746
 
        gcry_pubkey_id_new.
1747
 
        (gcry_pk_algo_name): Likewise.
1748
 
        (disable_pubkey_algo): Likewise.
1749
 
        (check_pubkey_algo): Likewise.
1750
 
        (pubkey_get_npkey): Likewise.
1751
 
        (pubkey_get_nskey): Likewise.
1752
 
        (pubkey_get_nsig): Likewise.
1753
 
        (pubkey_get_nenc): Likewise.
1754
 
        (pubkey_generate): Likewise.
1755
 
        (pubkey_check_secret_key): Likewise.
1756
 
        (pubkey_encrypt): Likewise.
1757
 
        (pubkey_decrypt): Likewise.
1758
 
        (pubkey_sign): Likewise.
1759
 
        (pubkey_verify): Likewise.
1760
 
        (gcry_pk_algo_info): Likewise.
1761
 
 
1762
 
        * cipher.c (gcry_cipher_lookup_func_id): Removed function.
1763
 
        (gcry_cipher_lookup_id): Likewise.
1764
 
        (cipher_algo_to_string): use _gcry_module_lookup_id instead of
1765
 
        gcry_cipher_lookup_id.
1766
 
        (disable_cipher_algo): Likewise.
1767
 
        (check_cipher_algo): Likewise.
1768
 
        (cipher_get_blocksize): Likewise.
1769
 
        (gcry_cipher_open): Likewise.
1770
 
        (gcry_cipher_id_new): Likewise.
1771
 
 
1772
 
2003-06-17  Moritz Schulte  <moritz@g10code.com>
1773
 
 
1774
 
        * Makefile.am (GCRYPT_MODULES): Set to @GCRYPT_CIPHERS@,
1775
 
        @GCRYPT_PUBKEY_CIPHERS@, @GCRYPT_DIGESTS@ and @GCRYPT_RANDOM@.
1776
 
        (libcipher_la_DEPENDENCIES): Set to $(GCRYPT_MODULES).
1777
 
        (libcipher_la_LIBADD): Likewise.
1778
 
        (AM_CFLAGS): Added: @GPG_ERROR_CFLAGS@.
1779
 
        (EXTRA_libcipher_la_SOURCES): Added all conditional sources.
1780
 
 
1781
 
        * md.c (md_open): Use _gcry_fast_random_poll instead of
1782
 
        fast_random_poll.
1783
 
        * cipher.c (gcry_cipher_open): Likewise.
1784
 
 
1785
 
        * random.h (fast_random_poll): Removed macro.
1786
 
 
1787
 
        * blowfish.c, md4.c, md5.c, rmd160.c, sha1.c, sha256.c, sha512.c,
1788
 
        tiger.c: Use Autoconf's WORDS_BIGENDIAN instead of our own
1789
 
        BIG_ENDIAN_HOST.
1790
 
 
1791
 
2003-06-16  Moritz Schulte  <moritz@g10code.com>
1792
 
 
1793
 
        * random.c (getfnc_gather_random): Do not special-case
1794
 
        USE_ALL_RANDOM_MODULES, make it the default.
1795
 
 
1796
 
        * dsa.c: Replace last occurences of old type names with newer
1797
 
        names (i.e. replace MPI with gcry_mpi_t).
1798
 
        * elgamal.c: Likewise.
1799
 
        * primegen.c: Likewise.
1800
 
        * pubkey.c: Likewise.
1801
 
        * rsa.c: Likewise.
1802
 
 
1803
 
2003-06-14  Moritz Schulte  <moritz@g10code.com>
1804
 
 
1805
 
        * des.c (des_setkey): Add selftest check.
1806
 
        (tripledes_set3keys): Likewise.
1807
 
        (do_tripledes_setkey): Remove selftest check.
1808
 
        (do_des_setkey): Likewise.
1809
 
 
1810
 
2003-06-11  Moritz Schulte  <moritz@g10code.com>
1811
 
 
1812
 
        * md.c (_gcry_md_init): New function.
1813
 
        * cipher.c (_gcry_cipher_init): New function.
1814
 
        * pubkey.c (_gcry_pk_init): New function.
1815
 
 
1816
 
2003-06-13  Werner Koch  <wk@gnupg.org>
1817
 
 
1818
 
        * md.c (gcry_md_get_algo): Reverted to old API.  This is a
1819
 
        convenience function anyway and error checking is not approriate.
1820
 
        (gcry_md_is_secure): New.
1821
 
        (gcry_md_is_enabled): New.
1822
 
 
1823
 
2003-06-12  Werner Koch  <wk@gnupg.org>
1824
 
 
1825
 
        * cipher.c (gcry_cipher_open): Make sure HANDLE is set to NULL on
1826
 
        error.
1827
 
 
1828
 
2003-06-11  Werner Koch  <wk@gnupg.org>
1829
 
 
1830
 
        * md.c (gcry_md_open): Make sure H receives either NULL or an
1831
 
        valid handle.
1832
 
        (gcry_md_copy): Swapped arguments so that it is more in lione with
1833
 
        md_open and most other API fucntions like memcpy (destination
1834
 
        comes first).  Make sure HANDLE is set to NULL on error.
1835
 
        
1836
 
        * rijndael.c (do_encrypt): Hack to force correct alignment.  It
1837
 
        seems not to be not sufficient, though.  We should rework this
1838
 
        fucntions and remove all these ugly casts.  Let the compiler
1839
 
        optimize or have an assembler implementation.
1840
 
 
1841
 
2003-06-09  Moritz Schulte  <moritz@g10code.com>
1842
 
 
1843
 
        * Makefile.am: Removed rules serpent, since that is not commited
1844
 
        yet.
1845
 
 
1846
 
2003-06-08  Moritz Schulte  <moritz@g10code.com>
1847
 
 
1848
 
        * pubkey.c (gcry_pk_encrypt): Improve calculation for size of the
1849
 
        format string.
1850
 
 
1851
 
2003-06-07  Moritz Schulte  <moritz@g10code.com>
1852
 
 
1853
 
        * arcfour.c, bithelp.h, blowfish.c, cast5.c, cipher.c, crc.c,
1854
 
        des.c, dsa.c, elgamal.c, md4.c, md5.c, md.c, primegen.c, pubkey.c,
1855
 
        rand-internal.h, random.c, random.h, rijndael.c, rmd160.c,
1856
 
        rmd160test.c, rmd.h, rndeged.c, rndlinux.c, rndunix.c, rndw32.c,
1857
 
        rsa.c, sha1.c, sha256.c, sha512.c, tiger.c, twofish.c: Edited all
1858
 
        preprocessor instructions to remove whitespace before the '#'.
1859
 
        This is not required by C89, but there are some compilers out
1860
 
        there that don't like it.  Replaced any occurence of the now
1861
 
        deprecated type names with the new ones.
1862
 
        
1863
 
2003-06-04  Moritz Schulte  <moritz@g10code.com>
1864
 
 
1865
 
        * pubkey.c (gcry_pk_encrypt): Construct an arg_list and use
1866
 
        gcry_sexp_build_array instead of gcry_sexp_build.
1867
 
        (gcry_pk_sign): Likewise.
1868
 
        (gcry_pk_genkey): Likewise.
1869
 
 
1870
 
2003-06-01  Moritz Schulte  <moritz@g10code.com>
1871
 
 
1872
 
        * dsa.c (_gcry_dsa_generate): Do not check wether the algorithm ID
1873
 
        does indeed belong to DSA.
1874
 
        (_gcry_dsa_sign): Likewise.
1875
 
        (_gcry_dsa_verify): Likewise.
1876
 
        (_gcry_dsa_get_nbits): Likewise.
1877
 
 
1878
 
        * elgamal.c (_gcry_elg_check_secret_key): Do not check wether the
1879
 
        algorithm ID does indeed belong to ElGamal.
1880
 
        (_gcry_elg_encrypt): Likewise.
1881
 
        (_gcry_elg_decrypt): Likewise.
1882
 
        (_gcry_elg_sign): Likewise.
1883
 
        (_gcry_elg_verify): Likewise.
1884
 
        (_gcry_elg_get_nbits): Likewise.
1885
 
        (_gcry_elg_generate): Likewise.
1886
 
 
1887
 
        * rsa.c (_gcry_rsa_generate): Do not check wether the algorithm ID
1888
 
        does indeed belong to RSA.
1889
 
        (_gcry_rsa_encrypt): Likewise.
1890
 
        (_gcry_rsa_decrypt): Likewise.
1891
 
        (_gcry_rsa_sign): Likewise.
1892
 
        (_gcry_rsa_verify): Likewise.
1893
 
        (_gcry_rsa_get_nbits): Likewise.
1894
 
 
1895
 
2003-05-30  Moritz Schulte  <moritz@g10code.com>
1896
 
 
1897
 
        * md.c (md_get_algo): Return zero in case to algorithm is enabled.
1898
 
 
1899
 
        * md.c (gcry_md_info): Adjusted for new no-errno-API.
1900
 
        (md_final): Likewise.
1901
 
        (gcry_md_get_algo): Likewise.
1902
 
        * pubkey.c (gcry_pk_get_keygrip): Likewise.
1903
 
        (gcry_pk_ctl): Likewise.
1904
 
        (gcry_pk_algo_info): Likewise.
1905
 
        * des.c (selftest): Likewise.
1906
 
 
1907
 
2003-05-29  Moritz Schulte  <moritz@g10code.com>
1908
 
 
1909
 
        * md.c (md_enable): Do not forget to release module on error.
1910
 
        (gcry_md_open): Adjusted for new no-errno-API.
1911
 
        (md_open): Likewise.
1912
 
        (md_copy): Likewise.
1913
 
        (gcry_md_copy): Likewise.
1914
 
        (gcry_md_setkey): Likewise.
1915
 
        (gcry_md_algo_info): Likewise.
1916
 
 
1917
 
        * cipher.c (gcry_cipher_open): Adjusted for new no-errno-API and
1918
 
        also fixed a locking bug.
1919
 
        (gcry_cipher_encrypt): Adjusted for new no-errno-API.
1920
 
        (gcry_cipher_decrypt): Likewise.
1921
 
        (gcry_cipher_ctl): Likewise.
1922
 
        (gcry_cipher_info): Likewise.
1923
 
        (gcry_cipher_algo_info): Likewise.
1924
 
 
1925
 
2003-05-28  Moritz Schulte  <moritz@g10code.com>
1926
 
 
1927
 
        * md.c (md_enable): Adjusted for libgpg-error.
1928
 
        (gcry_md_enable): Likewise.
1929
 
        (gcry_digest_register_default): Likewise.
1930
 
        (gcry_digest_register): Likewise.
1931
 
        (check_digest_algo): Likewise.
1932
 
        (prepare_macpads): Likewise.
1933
 
        (gcry_md_setkey): Likewise.
1934
 
        (gcry_md_ctl): Likewise.
1935
 
        (gcry_md_get): Likewise.
1936
 
        (gcry_md_algo_info): Likewise.
1937
 
        (gcry_md_info): Likewise.
1938
 
        * dsa.c (_gcry_dsa_generate): Likewise.
1939
 
        (_gcry_dsa_check_secret_key): Likewise.
1940
 
        (_gcry_dsa_sign): Likewie.
1941
 
        (_gcry_dsa_verify): Likewise.
1942
 
        * twofish.c (do_twofish_setkey): Likewise.
1943
 
        (twofish_setkey): Likewise.
1944
 
        * cipher.c (gcry_cipher_register): Likewise.
1945
 
 
1946
 
2003-05-25  Moritz Schulte  <moritz@g10code.com>
1947
 
 
1948
 
        * rijndael.c (do_setkey): Adjusted for libgpg-error.
1949
 
        (rijndael_setkey): Likewise.
1950
 
        * random.c (gcry_random_add_bytes): Likewise.
1951
 
        * elgamal.c (_gcry_elg_generate): Likewise.
1952
 
        (_gcry_elg_check_secret_key): Likewise.
1953
 
        (_gcry_elg_encrypt): Likewise.
1954
 
        (_gcry_elg_decrypt): Likewise.
1955
 
        (_gcry_elg_sign): Likewise.
1956
 
        (_gcry_elg_verify): Likewise.
1957
 
        * rsa.c (_gcry_rsa_generate): Likewise.
1958
 
        (_gcry_rsa_check_secret_key): Likewise.
1959
 
        (_gcry_rsa_encrypt): Likewise.
1960
 
        (_gcry_rsa_decrypt): Likewise.
1961
 
        (_gcry_rsa_sign): Likewise.
1962
 
        (_gcry_rsa_verify): Likewise.
1963
 
        * pubkey.c (dummy_generate, dummy_check_secret_key, dummy_encrypt,
1964
 
        dummy_decrypt, dummy_sign, dummy_verify): Likewise.
1965
 
        (gcry_pubkey_register): Likewise.
1966
 
        (check_pubkey_algo): Likewise.
1967
 
        (pubkey_generate): Likewise.
1968
 
        (pubkey_check_secret_key): Likewise.
1969
 
        (pubkey_encrypt): Likewise.
1970
 
        (pubkey_decrypt): Likewise.
1971
 
        (pubkey_sign): Likewise.
1972
 
        (pubkey_verify): Likewise.
1973
 
        (sexp_elements_extract): Likewise.
1974
 
        (sexp_to_key): Likewise.
1975
 
        (sexp_to_sig): Likewise.
1976
 
        (sexp_to_enc): Likewise.
1977
 
        (sexp_data_to_mpi): Likewise.
1978
 
        (gcry_pk_encrypt): Likewise.
1979
 
        (gcry_pk_decrypt): Likewise.
1980
 
        (gcry_pk_sign): Likewise.
1981
 
        (gcry_pk_verify): Likewise.
1982
 
        (gcry_pk_testkey): Likewise.
1983
 
        (gcry_pk_genkey): Likewise.
1984
 
        (gcry_pk_ctl): Likewise.
1985
 
        * cipher.c (dummy_setkey): Likewise.
1986
 
        (check_cipher_algo): Likewise.
1987
 
        (gcry_cipher_open): Likewise.
1988
 
        (cipher_setkey): Likewise.
1989
 
        (gcry_cipher_ctl): Likewise.
1990
 
        (cipher_encrypt): Likewise.
1991
 
        (gcry_cipher_encrypt): Likewise.
1992
 
        (cipher_decrypt): Likewise.
1993
 
        (gcry_cipher_decrypt): Likewise.
1994
 
        (gcry_cipher_info): Likewise.
1995
 
        (gcry_cipher_algo_info): Likewise.
1996
 
        * cast5.c (cast_setkey): Likewise.
1997
 
        (do_cast_setkey): Likewise.
1998
 
        * arcfour.c (arcfour_setkey): Likewise.
1999
 
        (do_arcfour_setkey): Likewise.
2000
 
        * blowfish.c (do_bf_setkey): Likewise.
2001
 
        (bf_setkey): Likewise.
2002
 
        * des.c (do_des_setkey): Likewise.
2003
 
        (do_tripledes_setkey): Likewise.
2004
 
 
2005
 
2003-05-22  Moritz Schulte  <moritz@g10code.com>
2006
 
 
2007
 
        * tiger.c: Merged code ussing the U64_C macro from GnuPG.
2008
 
 
2009
 
        * sha512.c: Likewise.
2010
 
 
2011
 
2003-05-17  Moritz Schulte  <moritz@g10code.com>
2012
 
 
2013
 
        * pubkey.c (gcry_pk_genkey): Fix type: acquire a lock, instead of
2014
 
        releasing it.
2015
 
 
2016
 
2003-05-11  Moritz Schulte  <moritz@g10code.com>
2017
 
 
2018
 
        * pubkey.c (gcry_pk_testkey): Call REGISTER_DEFAULT_CIPHERS.
2019
 
        (gcry_pk_ctl): Likewise.
2020
 
 
2021
 
2003-04-27  Moritz Schulte  <moritz@g10code.com>
2022
 
 
2023
 
        * pubkey.c (gcry_pk_genkey): Release sexp after extracted data has
2024
 
        been used.
2025
 
 
2026
 
        * md.c (gcry_md_get_algo_dlen): Simplified, simply call
2027
 
        md_digest_length to do the job.
2028
 
 
2029
 
        * des.c (do_des_setkey): Check for selftest failure not only
2030
 
        during initialization.
2031
 
        (do_tripledes_setkey): Include check for selftest failure.
2032
 
 
2033
 
        * pubkey.c (gcry_pubkey_register_default): New macro
2034
 
        `pubkey_use_dummy', use it.
2035
 
 
2036
 
        * elgamal.c (elg_names): New variable.
2037
 
        (pubkey_spec_elg): Include elg_names.
2038
 
 
2039
 
        * dsa.c (dsa_names): New variable.
2040
 
        (pubkey_spec_dsa): Include dsa_names.
2041
 
 
2042
 
        * rsa.c (rsa_names): New variable.
2043
 
        (pubkey_spec_rsa): Include rsa_names.
2044
 
 
2045
 
        * pubkey.c (gcry_pubkey_lookup_func_name): Compare name also with
2046
 
        the names listed in `sexp_names'.
2047
 
 
2048
 
2003-04-24  Moritz Schulte  <moritz@g10code.com>
2049
 
 
2050
 
        * pubkey.c (sexp_to_key): New variables: module, pubkey.  Adjusted
2051
 
        to new module interface.
2052
 
        (sexp_to_key): Changend type of argument `retalgo' from `int *' to
2053
 
        `GcryModule **'.  Adjusted all callers.  Removed argument:
2054
 
        r_algotblidx.
2055
 
        (sexp_to_sig): Changend type of argument `retalgo' from `int *' to
2056
 
        `GcryModule **'.  Adjusted all callers.
2057
 
        (sexp_to_enc): Likewise.
2058
 
 
2059
 
        (pubkey_get_npkey, pubkey_get_nskey, pubkey_get_nsig,
2060
 
        pubkey_get_nenc): Use strlen to find out the number.
2061
 
 
2062
 
        * rsa.c: Adjust pubkey_spec_rsa to new internal interface.
2063
 
        * dsa.c: Likewise.
2064
 
        * elgamal.c: Likewise.
2065
 
 
2066
 
2003-04-17  Moritz Schulte  <moritz@g10code.com>
2067
 
 
2068
 
        * pubkey.c (sexp_elements_extract): New function.
2069
 
        * pubkey.c (sexp_to_key): Removed variable `idx', added `err', use
2070
 
        sexp_elements_extract.
2071
 
        (sexp_to_sig): Likewise.
2072
 
        (sexp_to_enc): Likewise.
2073
 
 
2074
 
        * pubkey.c: Terminate list correctly.
2075
 
        * md.c: Include sha512/sha384 in digest_table.
2076
 
 
2077
 
2003-04-16  Moritz Schulte  <moritz@g10code.com>
2078
 
 
2079
 
        * Makefile.am: Include support for sha512.c.
2080
 
 
2081
 
        * sha512.c: New file, merged from GnuPG, with few modifications
2082
 
        for libgcrypt.
2083
 
 
2084
 
        * rand-internal.h: Removed declarations for constructor functions.
2085
 
 
2086
 
        * md.c (md_copy): Call _gcry_module_use for incrementing the usage
2087
 
        counter of the digest modules.
2088
 
 
2089
 
        * rsa.c: Do not include "rsa.h".
2090
 
        * dsa.c: Do not include "dsa.h".
2091
 
        * elgamal.c: Do not include "elgamal.h".
2092
 
        * des.c: Do not include "des.h".
2093
 
        * cast5.c: Do not include "cast5.h".
2094
 
        * blowfish.c: Do not include "blowfish.h".
2095
 
        * arcfour.c: Do not include "arcfour.h".
2096
 
 
2097
 
        * Makefile.am (libcipher_la_DEPENDENCIES): Removed.
2098
 
        (libcipher_la_LIBADD): Removed.
2099
 
        Use Automake conditionals for conditional compilation.
2100
 
 
2101
 
2003-04-13  Moritz Schulte  <moritz@g10code.com>
2102
 
 
2103
 
        * cipher.c (gcry_cipher_open): Call REGISTER_DEFAULT_CIPHERS.
2104
 
 
2105
 
        * md.c (gcry_md_list): New member: module.
2106
 
        (md_enable): New variable: module, changed use of module and
2107
 
        digest.
2108
 
        (md_enable): Initialize member: module.
2109
 
        (md_close): Call _gcry_module_release.
2110
 
 
2111
 
        * cipher.c (gcry_cipher_open): New variable: module, changed use of
2112
 
        module and cipher.
2113
 
        (struct gcry_cipher_handle): New member: module.
2114
 
        (gcry_cipher_open): Initialize member: module.
2115
 
        (gcry_cipher_close): Call _gcry_module_release.
2116
 
 
2117
 
2003-04-09  Moritz Schulte  <moritz@g10code.com>
2118
 
        
2119
 
        * cipher.c: Include "ath.h".
2120
 
        * md.c: Likewise.
2121
 
        * pubkey.c: Likewise.
2122
 
 
2123
 
        * cipher.c (ciphers_registered_lock): New variable.
2124
 
        * md.c (digests_registered_lock): New variable.
2125
 
        * pubkey.c (pubkeys_registered_lock): New variable.
2126
 
 
2127
 
        * rndlinux.c (gnupgext_version, func_table): Removed definitions.
2128
 
        (gnupgext_enum_func): Removed function.
2129
 
        (_gcry_rndlinux_constructor): Removed function.
2130
 
 
2131
 
        * rndegd.c (gnupgext_version, func_table): Removed definitions.
2132
 
        (gnupgext_enum_func): Removed function.
2133
 
        (_gcry_rndegd_constructor): Removed function.
2134
 
 
2135
 
        * rndunix.c (gnupgext_version, func_table): Removed definitions.
2136
 
        (gnupgext_enum_func): Removed function.
2137
 
        (_gcry_rndunix_constructor): Removed function.
2138
 
 
2139
 
        * rndw32.c (gnupgext_version, func_table): Removed definitions.
2140
 
        (gnupgext_enum_func): Removed function.
2141
 
        (_gcry_rndw32_constructor): Removed function.
2142
 
 
2143
 
        * rndegd.c (rndegd_connect_socket): Simplify code for creating the
2144
 
        egd socket address.
2145
 
        (rndegd_connect_socket): Call log_fatal use instead of
2146
 
        g10_log_fatal.
2147
 
        (egd_gather_random): Renamed to ...
2148
 
        (rndegd_gather_random): ... here.
2149
 
 
2150
 
2003-04-08  Moritz Schulte  <moritz@g10code.com>
2151
 
 
2152
 
        * rndlinux.c: Do not include "dynload.h".
2153
 
        * rndunix.c: Likewise.
2154
 
        * rndw32.c: Likewise.
2155
 
 
2156
 
        * rndegd.c (rndegd_connect_socket): Factored out from ...
2157
 
        (egd_gather_random): here; call it.
2158
 
        (egd_socket): New variable.
2159
 
        (egd_gather_random): Initialize fd with egd_socket, do not declare
2160
 
        fd static.
2161
 
        (do_read): Merged few changes from GnuPG. FIXME - not finished?
2162
 
        Do not include "dynload.h".
2163
 
 
2164
 
        * rndw32.c (gather_random): Renamed to rndw32_gather_random, do
2165
 
        not declare static.
2166
 
        (gather_random_fast): Renamed to rndw32_gather_random_fast, do not
2167
 
        declare static.
2168
 
 
2169
 
        * rndunix.c (gather_random): Renamed to rndunix_gather_random, do
2170
 
        not declare static.
2171
 
        * rndegd.c (gather_random): Renamed to rndegd_gather_random, do
2172
 
        not declare static.
2173
 
        * rndlinux.c (gather_random): Renamed to rndlinux_gather_random,
2174
 
        do not declare static.
2175
 
 
2176
 
2003-04-07  Moritz Schulte  <moritz@g10code.com>
2177
 
 
2178
 
        * Makefile.am (libcipher_la_SOURCES): Removed construct.c.
2179
 
        (libcipher_la_SOURCES): Added sha1.c, sha256.c, rmd160.c, md4.c,
2180
 
        md5.c, tiger.c and crc.c
2181
 
        (EXTRA_PROGRAMS): Removed sha1, sha256, rmd160, md4, md5, tiger
2182
 
        and crc.  Removed definitions: EXTRA_md4_SOURCES,
2183
 
        EXTRA_md5_SOURCES, EXTRA_rmd160_SOURCES, EXTRA_sha1_SOURCES,
2184
 
        EXTRA_sha256_SOURCES, EXTRA_tiger_SOURCES and EXTRA_crc_SOURCES,
2185
 
        BUILT_SOURCES, DISTCLEANFILES.
2186
 
 
2187
 
        * pubkey.c: Do not include "elgamal.h", "dsa.h" and "rsa.h".
2188
 
 
2189
 
        * Makefile.am (libcipher_la_SOURCES): Removed rsa.h, elgamal.h,
2190
 
        dsa.h, des.h, cast5.h, arcfour.h and blowfish.h.
2191
 
 
2192
 
        * rsa.h: Removed file.
2193
 
        * elgamal.h: Removed file.
2194
 
        * dsa.h: Removed file.
2195
 
        * des.h: Removed file.
2196
 
        * cast5.h: Removed file.
2197
 
        * arcfour.h: Removed file.
2198
 
        * blowfish.h: Removed file.
2199
 
 
2200
 
        * Makefile.am (libcipher_la_SOURCES): Removed dynload.c and
2201
 
        dynload.h.
2202
 
 
2203
 
        * rsa.c (pubkey_spec_rsa): New variable.
2204
 
        * dsa.c (pubkey_spec_rsa): New variable.
2205
 
        * elgamal.c (pubkey_spec_elg): New variable.
2206
 
        
2207
 
        * rsa.c (_gcry_rsa_get_info): Removed function.
2208
 
        * elgamal.c (_gcry_elg_get_info): Removed function.
2209
 
        * dsa.c (_gcry_dsa_get_info): Removed function.
2210
 
 
2211
 
        * tiger.c (tiger_get_info): Removed function.
2212
 
        (gnupgext_version, func_table): Removed definitions.
2213
 
        (gnupgext_enum_func): Removed function.
2214
 
        (_gcry_tiger_constructor): Removed function.
2215
 
        
2216
 
        * sha1.c (sha1_get_info): Removed function.
2217
 
        (gnupgext_version, func_table): Removed definitions.
2218
 
        (gnupgext_enum_func): Removed function.
2219
 
        (_gcry_sha1_constructor): Removed function.
2220
 
 
2221
 
        * sha256.c (sha256_get_info): Removed function.
2222
 
        (gnupgext_version, func_table): Removed definitions.
2223
 
        (gnupgext_enum_func): Removed function.
2224
 
        (_gcry_sha256_constructor): Removed function.
2225
 
 
2226
 
        * rmd160.c (rmd160_get_info): Removed function.
2227
 
        (gnupgext_version, func_table): Removed definitions.
2228
 
        (gnupgext_enum_func): Removed function.
2229
 
        (_gcry_rmd160_constructor): Removed function.
2230
 
 
2231
 
        * md5.c (md5_get_info): Removed function.
2232
 
        (gnupgext_version, func_table): Removed definitions.
2233
 
        (gnupgext_enum_func): Removed function.
2234
 
        (_gcry_md5_constructor): Removed function.
2235
 
 
2236
 
        * md4.c (md4_get_info): Removed function.
2237
 
        (gnupgext_version, func_table): Removed definitions.
2238
 
        (gnupgext_enum_func): Removed function.
2239
 
        (_gcry_md4_constructor): Removed function.
2240
 
 
2241
 
        * crc.c (crc_get_info): Removed function.
2242
 
 
2243
 
        * arcfour.c (do_arcfour_setkey): Changed type of context argument
2244
 
        to `void *', added local variable for cast, adjusted callers.
2245
 
        (arcfour_setkey): Likewise.
2246
 
        (encrypt_stream): Likewise.
2247
 
        * cast5.c (cast_setkey): Likewise.
2248
 
        (encrypt_block): Likewise.
2249
 
        * rijndael.c (rijndael_setkey): Likewise.
2250
 
        (rijndael_encrypt): Likewise.
2251
 
        (rijndael_decrypt): Likewise.
2252
 
        * twofish.c (twofish_setkey): Likewise.
2253
 
        (twofish_encrypt): Likewise.
2254
 
        (twofish_decrypt): Likewise.
2255
 
        * des.c (do_des_setkey): Likewise.
2256
 
        (do_des_encrypt): Likewise.
2257
 
        (do_des_encrypt): Likewise.
2258
 
        (do_tripledes_encrypt): Likewise.
2259
 
        (do_tripledes_encrypt): Likewise.
2260
 
        * blowfish.c (bf_setkey: Likewise.
2261
 
        (encrypt_block): Likewise.
2262
 
        (decrypt_block): Likewise.
2263
 
        
2264
 
        * arcfour.c (encrypt_stream): Likewise.
2265
 
 
2266
 
        * rijndael.c (gnupgext_version, func_table): Removed definitions.
2267
 
        (gnupgext_enum_func) Removed function.  
2268
 
        
2269
 
        * twofish.c (gnupgext_version, func_table): Removed definitions.
2270
 
        (gnupgext_enum_func) Removed function.  
2271
 
 
2272
 
        * cast5.c (CIPHER_ALGO_CAST5): Removed.
2273
 
 
2274
 
        * blowfish.c (FNCCAST_SETKEY, FNCCAST_CRYPT): Removed macros.
2275
 
        (CIPHER_ALGO_BLOWFISH): Removed symbol.
2276
 
        * cast5.c (FNCCAST_SETKEY, FNCCAST_CRYPT): Likewise.
2277
 
        * des.c (selftest_failed): Removed.
2278
 
        (initialized): New variable.
2279
 
        (do_des_setkey): Run selftest, if not yet done.
2280
 
        (FNCCAST_SETKEY, FNCCAST_CRYPT): Removed macros.
2281
 
 
2282
 
        * arcfour.c (_gcry_arcfour_get_info): Removed function.
2283
 
        * blowfish.c (_gcry_blowfish_get_info): Removed function.
2284
 
        * cast5.c (_gcry_cast5_get_info): Removed function.
2285
 
        * des.c (_gcry_des_get_info): Removed function.
2286
 
        * rijndael.c (_gcry_rijndael_get_info): Removed function.
2287
 
        * twofish.c (_gcry_twofish_get_info): Removed function.
2288
 
 
2289
 
        * arcfour.c (cipher_spec_arcfour): New variable.
2290
 
        * twofish.c (cipher_spec_twofish, cipher_spec_twofish128): New
2291
 
        variables.
2292
 
        * rijndael.c (cipher_spec_aes, cipher_spec_aes192,
2293
 
        cipher_spec256): New variables.
2294
 
        * des.c (cipher_spec_des, cipher_spec_tripledes): New variables.
2295
 
        * cast5.c (cipher_spec_cast5): New variable.
2296
 
        * blowfish.c (cipher_spec_blowfish): Likewise.
2297
 
        
2298
 
        * twofish.c: Do not include "dynload.h".
2299
 
        * rijndael.c: Likewise.
2300
 
        * des.c: Likewise.
2301
 
        * cast5.c: Likewise.
2302
 
        * blowfish.c: Likewise.
2303
 
        * cipher.c: Likewise.
2304
 
        * crc.c: Likewise.
2305
 
        * md4.c: Likewise.
2306
 
        * md5.c: Likewise.
2307
 
        * md.c: Likewise.
2308
 
        * pubkey.c: Likewise.
2309
 
        * rijndael.c: Likewise.
2310
 
        * sha1.c: Likewise.
2311
 
        * sha256.c: Likewise.
2312
 
 
2313
 
        * arcfour.c: Include "cipher.h".
2314
 
        * twofish.c: Likewise.
2315
 
        * rijndael.c: Likewise.
2316
 
        * des.c: Likewise.
2317
 
        * cast5.c: Likewise.
2318
 
        * blowfish.c: Likewise.
2319
 
 
2320
 
        * twofish.c (twofish_setkey): Declared argument `key' const.
2321
 
        (twofish_encrypt): Declared argument `inbuf' const.
2322
 
        (twofish_decrypt): Likewise.
2323
 
 
2324
 
        * rijndael.c (rijndael_setkey): Declared argument `key' const.
2325
 
        (rijndael_encrypt): Declared argument `inbuf' const.
2326
 
        (rijndael_decrypt): Likewise.
2327
 
 
2328
 
        * des.c (do_des_setkey): Declared argument `key' const.
2329
 
        (do_tripledes_setkey): Likewise.
2330
 
        (do_des_encrypt): Declared argument `inbuf' const.
2331
 
        (do_des_decrypt): Likewise.
2332
 
        (do_tripledes_encrypt): Likewise.
2333
 
        (do_tripledes_decrypt): Likewise.
2334
 
 
2335
 
        * cast5.c (encrypt_block): Declared argument `inbuf' const.
2336
 
        (decrypt_block): Likewise.
2337
 
        (cast_setkey): Declared argument `key' const.
2338
 
 
2339
 
        * blowfish.c (do_bf_setkey): Declared argument `key' const.
2340
 
        (encrypt_block): Declared argument `inbuf' const.
2341
 
        (encrypt_block): Likewise.
2342
 
 
2343
 
        
2344
 
 
2345
 
        * cipher.c: Remove CIPHER_ALGO_DUMMY related code.
2346
 
        Removed struct cipher_table_s.
2347
 
        Changed definition of cipher_table.
2348
 
        Removed definition of disabled_algos.
2349
 
        (ciphers_registered, default_ciphers_registered): New variables.
2350
 
        (REGISTER_DEFAULT_CIPHERS): New macro.
2351
 
        (dummy_setkey): Declared argument `key' const.
2352
 
        (dummy_encrypt_block): Declared argument `inbuf' const.
2353
 
        (dummy_encrypt_block): Likewise.
2354
 
        (dummy_encrypt_stream): Likewise.
2355
 
        (dummy_encrypt_stream): Likewise.
2356
 
        (dummy_setkey): Use `unsigned char' instead of `byte'.
2357
 
        (dummy_encrypt_block): Likewise.
2358
 
        (dummy_decrypt_block): Likewise.
2359
 
        (dummy_encrypt_stream): Likewise.
2360
 
        (dummy_decrypt_stream): Likewise.
2361
 
        (gcry_cipher_register_default): New function.
2362
 
        (gcry_cipher_lookup_func_id): New function.
2363
 
        (gcry_cipher_lookup_func_name): New function.
2364
 
        (gcry_cipher_lookup_id): New function.
2365
 
        (gcry_cipher_lookup_name): New function.
2366
 
        (gcry_cipher_id_new): New function.
2367
 
        (gcry_cipher_register): New function.
2368
 
        (gcry_cipher_unregister): New function.
2369
 
        (setup_cipher_table): Removed function.
2370
 
        (load_cipher_modules): Removed function.
2371
 
        (gcry_cipher_map_name): Adjusted to use new module management.
2372
 
        (cipher_algo_to_string): Likewise.
2373
 
        (disable_cipher_algo): Likewise.
2374
 
        (check_cipher_algo): Likewise.
2375
 
        (cipher_get_keylen): Likewise.
2376
 
        (cipher_get_blocksize): Likewise.
2377
 
        (gcry_cipher_open): Likewise.
2378
 
        (struct gcry_cipher_handle): Replaced members algo, algo_index,
2379
 
        blocksize, setkey, encrypt, decrypt, stencrypt, stdecrypt with one
2380
 
        member: cipher.
2381
 
        (gcry_cipher_open): Adjusted code for new handle structure.
2382
 
        (cipher_setkey): Likewise.
2383
 
        (cipher_setiv): Likewise.
2384
 
        (cipher_reset): Likewise.
2385
 
        (do_ecb_encrypt): Likewise.
2386
 
        (do_ecb_decrypt): Likewise.
2387
 
        (do_cbc_encrypt): Likewise.
2388
 
        (do_cbc_decrypt): Likewise.
2389
 
        (do_cfb_encrypt): Likewise.
2390
 
        (do_cfb_decrypt): Likewise.
2391
 
        (do_ctr_encrypt): Likewise.
2392
 
        (cipher_encrypt): Likewise.
2393
 
        (gcry_cipher_encrypt): Likewise.
2394
 
        (cipher_decrypt): Likewise.
2395
 
        (gcry_cipher_decrypt): Likewise.
2396
 
        (cipher_sync): Likewise.
2397
 
        (gcry_cipher_ctl): Likewise.
2398
 
 
2399
 
        * pubkey.c: Removed struct pubkey_table_s.
2400
 
        Changed definition of pubkey_table.
2401
 
        Removed definition of disabled_algos.
2402
 
        (pubkeys_registered, default_pubkeys_registered): New variables.
2403
 
        (REGISTER_DEFAULT_PUBKEYS): New macro.
2404
 
        (setup_pubkey_table): Removed function.
2405
 
        (load_pubkey_modules): Removed function.
2406
 
        (gcry_pubkey_register_default): New function.
2407
 
        (gcry_pubkey_lookup_func_id): New function.
2408
 
        (gcry_pubkey_lookup_func_name): New function.
2409
 
        (gcry_pubkey_lookup_id): New function.
2410
 
        (gcry_pubkey_lookup_name): New function.
2411
 
        (gcry_pubkey_id_new): New function.
2412
 
        (gcry_pubkey_register): New function.
2413
 
        (gcry_pubkey_unregister): New function.
2414
 
        (gcry_pk_map_name): Adjusted to use new module management.
2415
 
        (gcry_pk_algo_name): Likewise.
2416
 
        (disable_pubkey_algo): Likewise.
2417
 
        (check_pubkey_algo): Likewise.
2418
 
        (pubkey_get_npkey): Likewise.
2419
 
        (pubkey_get_nskey): Likewise.
2420
 
        (pubkey_get_nsig): Likewise.
2421
 
        (pubkey_get_nenc): Likewise.
2422
 
        (pubkey_generate): Likewise.
2423
 
        (pubkey_check_secret_key): Likewise.
2424
 
        (pubkey_encrypt): Likewise.
2425
 
        (pubkey_decrypt): Likewise.
2426
 
        (pubkey_sign): Likewise.
2427
 
        (pubkey_verify): Likewise.
2428
 
        (gcry_pk_get_nbits): Likewise.
2429
 
        (gcry_pk_algo_info): Likewise.
2430
 
 
2431
 
        * md.c: Removed struct md_digest_list_s.
2432
 
        (digest_list): Changed definition.
2433
 
        (digests_registered, default_digests_registered): New variables.
2434
 
        (REGISTER_DEFAULT_DIGESTS): New macro.
2435
 
        (new_list_item): Removed function.
2436
 
        (setup_md_table): Removed function.
2437
 
        (load_digest_module): Removed function.
2438
 
        (gcry_digest_register_default): New function.
2439
 
        (gcry_digest_lookup_func_id): New function.
2440
 
        (gcry_digest_lookup_func_name): New function.
2441
 
        (gcry_digest_lookup_id): New function.
2442
 
        (gcry_digest_lookup_name): New function.
2443
 
        (gcry_digest_id_new): New function.
2444
 
        (gcry_digest_register): New function.
2445
 
        (gcry_digest_unregister): New function.
2446
 
        (GcryDigestEntry): New type.
2447
 
        (struct gcry_md_context): Adjusted type of `list'.
2448
 
        (gcry_md_map_name): Adjusted to use new module management.
2449
 
        (digest_algo_to_string): Likewise.
2450
 
        (check_digest_algo): Likewise.
2451
 
        (md_enable): Likewise.
2452
 
        (md_digest_length): Likewise.
2453
 
        (md_asn_oid): Likewise.
2454
 
 
2455
 
2003-04-07  Moritz Schulte  <moritz@g10code.com>
2456
 
 
2457
 
        * pubkey.c: Replaced PUBKEY_ALGO_DSA with GCRY_PK_DSA,
2458
 
        PUBKEY_ALGO_RSA with GCRY_PK_RSA and PUBKEY_ALGO_ELGAMAL with
2459
 
        GCRY_PK_ELG.
2460
 
 
2461
 
        * dsa.c: Replaced PUBKEY_ALGO_DSA with GCRY_PK_DSA.
2462
 
 
2463
 
2003-04-01  Moritz Schulte  <moritz@g10code.com>
2464
 
 
2465
 
        * des.c: Removed checks for GCRY_CIPHER_3DES and GCRY_CIPHER_DES.
2466
 
 
2467
 
2003-03-31  Moritz Schulte  <moritz@g10code.com>
2468
 
 
2469
 
        * tiger.c (tiger_get_info): Do not declare static.
2470
 
        * sha256.c (sha256_get_info): Likewise.
2471
 
        * sha1.c (sha1_get_info): Likewise.
2472
 
        * rmd160.c (rmd160_get_info): Likewise.
2473
 
        * md5.c (md5_get_info): Likewise.
2474
 
        * md4.c (md4_get_info): Likewise.
2475
 
        * crc.c (crc_get_info): Likewise.
2476
 
 
2477
 
        * md.c (load_digest_module): Call setup_md_table during
2478
 
        initialization.
2479
 
        (new_list_item): Link new element into digest_list.
2480
 
 
2481
 
        * cipher.c (do_ctr_decrypt): Made do_ctr_encrypt act as a wrapper
2482
 
        for do_ctr_encrypt, since these functions are identical.
2483
 
 
2484
 
2003-03-30  Simon Josefsson  <jas@extundo.com>
2485
 
 
2486
 
        * cipher.c (struct gcry_cipher_handle): Add counter field.
2487
 
        (gcry_cipher_open): Add CTR.
2488
 
        (cipher_reset): Clear counter field.
2489
 
        (do_ctr_encrypt, do_ctr_decrypt): New functions.
2490
 
        (cipher_encrypt, cipher_decrypt): Call CTR functions.
2491
 
        (gcry_cipher_ctl): Add SET_CTR to set counter.
2492
 
 
2493
 
2003-03-30  Moritz Schulte  <moritz@g10code.com>
2494
 
 
2495
 
        * rsa.c (_gcry_rsa_blind): New function.
2496
 
        (_gcry_rsa_unblind): New function.
2497
 
        (_gcry_rsa_decrypt): Use _gcry_rsa_blind and _gcry_rsa_decrypt.
2498
 
 
2499
 
2003-03-26  Moritz Schulte  <moritz@g10code.com>
2500
 
 
2501
 
        * dynload.c (_gcry_enum_gnupgext_pubkeys): Adjust `encrypt' and
2502
 
        `decrypt' function arguments.
2503
 
        (_gcry_enum_gnupgext_pubkeys): Likewise.
2504
 
        * dynload.h: Likewise.
2505
 
        
2506
 
        * pubkey.c (dummy_decrypt): Add argument: int flags.
2507
 
        (dummy_encrypt): Likewise.
2508
 
 
2509
 
        * elgamal.c (_gcry_elg_encrypt): Add argument: int flags.
2510
 
        (_gcry_elg_decrypt): Likewise.
2511
 
 
2512
 
        * rsa.c (_gcry_rsa_encrypt): Add argument: int flags.
2513
 
        (_gcry_rsa_decrypt): Likewise.
2514
 
 
2515
 
        * pubkey.c: Add `flags' argument to members `encrypt' and
2516
 
        `decrypt' of struct `pubkey_table_s'.
2517
 
 
2518
 
        * rsa.h: Add `flags' argument to function declarations.
2519
 
        * elgamal.h: Likewise.
2520
 
 
2521
 
        * pubkey.c (sexp_data_to_mpi): New variable: int parsed_flags.
2522
 
        (sexp_data_to_mpi): Set `parsed_flags'.
2523
 
        (sexp_data_to_mpi): New argument: int *flags.
2524
 
        (gcry_pk_encrypt): New variable: int flags.
2525
 
        (gcry_pk_encrypt): Pass `flags' to pubkey_encrypt.
2526
 
        (pubkey_encrypt): New variable: int flags.
2527
 
        (pubkey_encrypt): Pass `flags' to pubkey encrypt function.
2528
 
        (pubkey_decrypt): Likewise.
2529
 
        (pubkey_decrypt): Pass `flags' to pubkey encrypt function.
2530
 
        (gcry_pk_encrypt): Include `flags' s-exp in return list.
2531
 
        (sexp_to_enc): New argument: int *flags.
2532
 
        (gcry_pk_decrypt): New variable: int flags.
2533
 
        (gcry_pk_decrypt): Pass `flags' to pubkey_decrypt.
2534
 
        (sexp_to_enc): New variable: int parsed_flags.
2535
 
        (sexp_to_enc): Set `parsed_flags'.
2536
 
 
2537
 
2003-03-22  Simon Josefsson  <jas@extundo.com>
2538
 
 
2539
 
        * cipher.c (gcry_cipher_open, do_cbc_encrypt)
2540
 
        (gcry_cipher_encrypt): Support GCRY_CIPHER_CBC_MAC.
2541
 
        (gcry_cipher_ctl): Support GCRYCTL_SET_CBC_MAC.
2542
 
 
2543
 
2003-03-19  Werner Koch  <wk@gnupg.org>
2544
 
 
2545
 
        * primegen.c (gen_prime): New args EXTRA_CHECK and EXTRA_CHECK_ARG
2546
 
        to allow for a user callback.  Changed all callers.
2547
 
        (_gcry_generate_secret_prime)
2548
 
        (_gcry_generate_public_prime): Ditto, pass them to gen_prime.
2549
 
        * rsa.c (check_exponent): New.
2550
 
        (generate): Use a callback to ensure that a given exponent is
2551
 
        actually generated.
2552
 
 
2553
 
2003-03-12  Moritz Schulte  <moritz@g10code.com>
2554
 
 
2555
 
        * primegen.c: Initialize `no_of_small_prime_numbers' statically.
2556
 
        (gen_prime): Remove calculation of `no_of_small_prime_numbers'.
2557
 
 
2558
 
2003-03-03  Moritz Schulte  <moritz@g10code.com>
2559
 
 
2560
 
        * md.c (gcry_md_ctl): Rewritten to use same style like the other
2561
 
        functions dispatchers.
2562
 
 
2563
 
2003-03-02  Moritz Schulte  <moritz@g10code.com>
2564
 
 
2565
 
        * cipher.c (struct gcry_cipher_handle): New member: algo_index.
2566
 
        (gcry_cipher_open): Allocate memory for two cipher contexts.
2567
 
        Initialize algo_index.
2568
 
        (cipher_setkey): Duplicate context into reserved memory.
2569
 
        (cipher_reset): New function, which resets the context and clear
2570
 
        the IV.
2571
 
        (gcry_cipher_ctl): Call cipher_reset.
2572
 
 
2573
 
2003-02-23  Moritz Schulte  <moritz@g10code.com>
2574
 
 
2575
 
        * cipher.c: Remove (bogus) `digitp' macro definition.
2576
 
        * md.c: Likewise.
2577
 
 
2578
 
        * blowfish.c (burn_stack): Removed.
2579
 
        * arcfour.c (burn_stack): Likewise.
2580
 
        * cast5.c (burn_stack): Likewise.
2581
 
        * des.c (burn_stack): Likewise.
2582
 
        * md4.c (burn_stack): Likewise.
2583
 
        * md5.c (burn_stack): Likewise.
2584
 
        * random.c (burn_stack): Likewise.
2585
 
        * rijndael.c (burn_stack): Likewise.
2586
 
        * rmd160.c (burn_stack): Likewise.
2587
 
        * sha1.c (burn_stack): Likewise.
2588
 
        * sha256.c (burn_stack): Likewise.
2589
 
        * tiger.c (burn_stack): Likewise.
2590
 
        * twofish.c (burn_stack): Likewise.
2591
 
 
2592
 
        * blowfish.c: Changed all occurences of burn_stack to
2593
 
        _gcry_burn_stack.
2594
 
        * arcfour.c: Likewise.
2595
 
        * cast5.c: Likewise.
2596
 
        * des.c: Likewise.
2597
 
        * md4.c: Likewise.
2598
 
        * md5.c: Likewise.
2599
 
        * random.c: Likewise.
2600
 
        * rijndael.c: Likewise.
2601
 
        * rmd160.c: Likewise.
2602
 
        * sha1.c: Likewise.
2603
 
        * sha256.c: Likewise.
2604
 
        * tiger.c: Likewise.
2605
 
        * twofish.c: Likewise.
2606
 
 
2607
 
        * arcfour.c (_gcry_arcfour_get_info): Use GCRY_CIPHER_ARCFOUR
2608
 
        instead of hard-coded value `301'.
2609
 
 
2610
 
2003-01-24  Werner Koch  <wk@gnupg.org>
2611
 
 
2612
 
        * random.c (_gcry_register_random_progress): New.
2613
 
        (_gcry_random_progress): New.
2614
 
 
2615
 
        * rndlinux.c (gather_random): Call the random progress function. 
2616
 
 
2617
 
2003-01-23  Werner Koch  <wk@gnupg.org>
2618
 
 
2619
 
        * rsa.c (generate): New arg USE_E to request a specific public
2620
 
        exponent.
2621
 
        (_gcry_rsa_generate): Ditto.
2622
 
        * elgamal.c (_gcry_elg_generate): Must add an dummy argument
2623
 
        instead of USE_E.
2624
 
        * dsa.c (_gcry_dsa_generate): Ditto.
2625
 
        * pubkey.c (dummy_generate): Ditto.
2626
 
        (pubkey_generate): Add USE_E arg and pass it down.
2627
 
        (gcry_pk_genkey): Detect "rsa-use-e" parameter and pass it to generate.
2628
 
 
2629
 
        * pubkey.c (sexp_to_enc): New arg RET_MODERN.
2630
 
        (gcry_pk_decrypt): Make use of it to return a real S-expression.
2631
 
        Return better error codes.
2632
 
        (gcry_pk_verify): Return better error codes.
2633
 
 
2634
 
2003-01-21  Werner Koch  <wk@gnupg.org>
2635
 
 
2636
 
        * random.c (gcry_random_add_bytes): Add QUALITY argument, let
2637
 
        function return an error code and disable its core for now.
2638
 
 
2639
 
2003-01-21  Timo Schulz  <twoaday@freakmail.de>
2640
 
 
2641
 
        * random.c (gcry_random_add_bytes): New. Function to add external
2642
 
        random to the pool.
2643
 
        
2644
 
2003-01-20  Simon Josefsson  <jas@extundo.com>
2645
 
 
2646
 
        * crc.c: New.
2647
 
        * Makefile.am (EXTRA_PROGRAMS, EXTRA_crc_SOURCES): Add crc.c.
2648
 
        * md.c (gcry_md_get_algo_dlen): Add values for CRC.
2649
 
 
2650
 
2003-01-20  Werner Koch  <wk@gnupg.org>
2651
 
 
2652
 
        * sha256.c: New.
2653
 
        * bithelp.h (ror): New.
2654
 
        * Makfile.am: Add sha256.c.
2655
 
        * md.c (oid_table): Add values for SHA256 et al.
2656
 
        (gcry_md_get_algo_dlen): Likewise
2657
 
 
2658
 
2003-01-20  Werner Koch  <wk@gnupg.org>
2659
 
 
2660
 
        * pubkey.c (gcry_pk_get_keygrip): Implemented keygrips for DSA
2661
 
        and ElGamal.
2662
 
 
2663
 
2003-01-17  Werner Koch  <wk@gnupg.org>
2664
 
 
2665
 
        * cipher.c (gcry_cipher_encrypt): Reworked so that the output will
2666
 
        never contain the plaintext even if the caller did not checked the
2667
 
        return value.
2668
 
 
2669
 
        * md.c (gcry_md_get_algo): Changed error code to GCRYERR_GENERAL
2670
 
        because we don't have an invalid md algo but no algorithm enabled.
2671
 
 
2672
 
        * pubkey.c (gcry_pk_genkey): Changed error code for bounds check
2673
 
        of table parameters to GCRYERR_INTERNAL.
2674
 
 
2675
 
        * md.c (gcry_md_open): Partly reverted Timo's change from
2676
 
        2002-10-10 by removing the check for the algorithm.  An algorithm
2677
 
        of 0 is allowed and anyway we should not double check it or check
2678
 
        it using a different function.  Also fixed the flags check.
2679
 
 
2680
 
        * pubkey.c (gcry_pk_encrypt): Make sure that R_CIPH points to NULL
2681
 
        on error.
2682
 
        (gcry_pk_decrypt): Ditto for R_PLAIN.
2683
 
        (gcry_pk_sign): Ditto for R_SIG.
2684
 
        (gcry_pk_genkey): Ditto for R_KEY.
2685
 
 
2686
 
2003-01-16  Werner Koch  <wk@gnupg.org>
2687
 
 
2688
 
        * md.c (gcry_md_write): Changed 2nd argument type to void*.
2689
 
        (gcry_md_hash_buffer): Changed type of boths buffers to void*.
2690
 
        (gcry_md_setkey): Changed 2nd argument type to void*.
2691
 
 
2692
 
2003-01-15  Werner Koch  <wk@gnupg.org>
2693
 
 
2694
 
        * pubkey.c (sexp_data_to_mpi): New.  This handles pkcs1 padding.
2695
 
        (gcry_pk_sign, gcry_pk_verify): Use it here.
2696
 
        (gcry_pk_encrypt): And here.
2697
 
        (pubkey_verify): Add debug code.
2698
 
        (sexp_to_enc): Handle flags in the input and return the pkcs1 flag
2699
 
        in a new parameter.
2700
 
        (gcry_pk_decrypt): Prepare for future pkcs1 handling.
2701
 
 
2702
 
2002-12-19  Werner Koch  <wk@gnupg.org>
2703
 
 
2704
 
        * random.c (_gcry_random_initialize): New.
2705
 
 
2706
 
2002-12-16  Werner Koch  <wk@gnupg.org>
2707
 
 
2708
 
        * cipher.c: Added a Teletrust specific OID for 3DES.
2709
 
 
2710
 
2002-12-12  Werner Koch  <wk@gnupg.org>
2711
 
 
2712
 
        * md.c: Added another oddball OIW OID (sha-1WithRSAEncryption).
2713
 
 
2714
 
2002-11-23  Werner Koch  <wk@gnupg.org>
2715
 
 
2716
 
        * md.c (load_digest_module): Enlarged checked_algos bitmap.
2717
 
        * md4.c (func_table):  Fixed entry for md4. 
2718
 
        Both by Simon Josephson.
2719
 
        (transform): Copy data to get the alignment straight. Tested only
2720
 
        on i386.
2721
 
 
2722
 
2002-11-10  Simon Josefsson  <jas@extundo.com>
2723
 
 
2724
 
        * cipher.c (gcry_cipher_open): Don't reject CTS flag.
2725
 
        (do_cbc_encrypt, do_cbc_decrypt, cipher_encrypt) 
2726
 
        (gcry_cipher_encrypt, cipher_decrypt)
2727
 
        (gcry_cipher_decrypt): Support CTS flag.
2728
 
        (gcry_cipher_ctl): Toggle CTS flag.
2729
 
 
2730
 
2002-11-10  Werner Koch  <wk@gnupg.org>
2731
 
 
2732
 
        * md4.c: New. By Simon Josefsson.
2733
 
        * Makefile.am (EXTRA_PROGRAMS): Add md4.c. 
2734
 
        * md.c (oid_table,gcry_md_get_algo_dlen): MD4 support. 
2735
 
 
2736
 
2002-10-14  Werner Koch  <wk@gnupg.org>
2737
 
 
2738
 
        * arcfour.c (do_encrypt_stream): Don't use increment op when
2739
 
        assigning to the same variable.
2740
 
 
2741
 
2002-10-10  Timo Schulz  <ts@winpt.org>
2742
 
 
2743
 
        * pubkey.c (gcry_pk_genkey): Check boundaries.
2744
 
        
2745
 
        * md.c (gcry_md_open): Check that algo is available and only
2746
 
        valid flag values are used.
2747
 
        (gcry_md_get_algo): Add error handling.
2748
 
        
2749
 
2002-09-26  Werner Koch  <wk@gnupg.org>
2750
 
 
2751
 
        * md.c: Include an OID for TIGER.
2752
 
        * tiger.c (tiger_get_info): Use a regular OID.
2753
 
 
2754
 
2002-09-17  Werner Koch  <wk@gnupg.org>
2755
 
 
2756
 
        * random.c: Replaced mutex.h by the new ath.h.  Changed all calls.
2757
 
 
2758
 
2002-09-16  Werner Koch  <wk@gnupg.org>
2759
 
 
2760
 
        * arcfour.c (do_encrypt_stream): Use register modifier and modulo.
2761
 
        According to Nikos Mavroyanopoulos this increases perfromace on
2762
 
        i386 system noticable.  And I always tought gcc is clever enough.
2763
 
        * md5.c (transform): Use register modifier.
2764
 
        * rmd160.c (transform): Ditto.
2765
 
        * sha1.c (transform): Ditto.  We hope that there are 6 free registers.
2766
 
        * random.c (gcry_randomize): Rewrote to avoid malloc calls.
2767
 
 
2768
 
        * rndlinux.c (gather_random): Replaced remaining fprintfs by log_*.
2769
 
        * arcfour.c (do_arcfour_setkey): Ditto.
2770
 
        * twofish.c (do_twofish_setkey): Ditto.
2771
 
        * rndegd.c (gather_random): Ditto.
2772
 
        * rijndael.c (do_setkey): Ditto.
2773
 
        * random.c (_gcry_random_dump_stats): Ditto. 
2774
 
        * primegen.c (_gcry_generate_elg_prime): Ditto.
2775
 
        * des.c (_gcry_des_get_info): Ditto.
2776
 
        * cast5.c (do_cast_setkey): Ditto.
2777
 
        * blowfish.c (do_bf_setkey): Ditto.
2778
 
 
2779
 
2002-08-26  Werner Koch  <wk@gnupg.org>
2780
 
 
2781
 
        * des.c (weak_keys): Fixed one entry in the table and compared
2782
 
        all entries against the literature.
2783
 
        (selftest): Checksum the weak key table.
2784
 
 
2785
 
2002-08-21  Werner Koch  <wk@gnupg.org>
2786
 
 
2787
 
        * pubkey.c: Enable keygrip calculation for "openpgp-rsa".
2788
 
 
2789
 
2002-08-17  Werner Koch  <wk@gnupg.org>
2790
 
 
2791
 
        * cipher.c (setup_cipher_table): Don't overwrite the DES entry
2792
 
        with the entry for DUMMY.
2793
 
 
2794
 
2002-08-14  Werner Koch  <wk@gnupg.org>
2795
 
 
2796
 
        * des.c (do_des_setkey,do_des_encrypt, do_des_decrypt): New.
2797
 
        (_gcry_des_get_info): Support plain old DES.
2798
 
        * cipher.c (setup_cipher_table): Put DES into the table.
2799
 
 
2800
 
2002-07-25  Werner Koch  <wk@gnupg.org>
2801
 
 
2802
 
        * rndunix.c (_gcry_rndunix_constructor): Prefixed with _gcry_.
2803
 
        Noted by Stephan Austermuehle.
2804
 
 
2805
 
2002-07-08  Timo Schulz  <ts@winpt.org>
2806
 
 
2807
 
        * rndw32.c: Replaced the m_ memory functions with the real 
2808
 
        gcry_ functions. Renamed all g10_ prefixed functions to log_.
2809
 
        
2810
 
2002-06-12  Werner Koch  <wk@gnupg.org>
2811
 
 
2812
 
        * rsa.c (generate): Use e = 65537 for now.
2813
 
 
2814
 
2002-06-11  Werner Koch  <wk@gnupg.org>
2815
 
 
2816
 
        * pubkey.c (gcry_pk_get_keygrip): Allow a "protected-private-key".
2817
 
 
2818
 
2002-06-05  Timo Schulz  <ts@winpt.org>
2819
 
 
2820
 
        * cipher.c (gcry_cipher_encrypt, gcry_cipher_decrypt):
2821
 
        Check that the input size is a multiple of the blocksize.
2822
 
        
2823
 
2002-05-23  Werner Koch  <wk@gnupg.org>
2824
 
 
2825
 
        * md.c (oid_table): Add an rsadsi OID for MD5.
2826
 
 
2827
 
2002-05-21  Werner Koch  <wk@gnupg.org>
2828
 
 
2829
 
        * primegen.c, elgamal.c, dsa.c (progress): Do not print anything
2830
 
        by default.  Pass an extra identifying string to the callback and
2831
 
        reserved 2 argumenst for current and total counters.  Changed the
2832
 
        register function prototype.
2833
 
 
2834
 
2002-05-17  Werner Koch  <wk@gnupg.org>
2835
 
 
2836
 
        * rndegd.c (rndegd_constructor): Fixed name of register function
2837
 
        and prefixed the function name with _gcry_.
2838
 
        * rndw32.c (rndw32_constructor): Ditto.
2839
 
        * tiger.c (tiger_constructor): Ditto.
2840
 
 
2841
 
        * Makefile.am: Removed all dynamic loading stuff.
2842
 
        * dynload.c: Ditto. Now only used for the constructor system.
2843
 
 
2844
 
2002-05-15  Werner Koch  <wk@gnupg.org>
2845
 
 
2846
 
        * random.c (gcry_random_bytes,gcry_random_bytes_secure)
2847
 
        (gcry_randomize): Make sure we are initialized.
2848
 
 
2849
 
2002-05-14  Werner Koch  <wk@gnupg.org>
2850
 
 
2851
 
        Changed license of most files to the LGPL.
2852
 
 
2853
 
2002-05-02  Werner Koch  <wk@gnupg.org>
2854
 
 
2855
 
        * random.c (_gcry_fast_random_poll): Initialize the module so the
2856
 
        mutex can be used.
2857
 
 
2858
 
        * primegen.c (small_prime_numbers): Moved table from smallprime.c
2859
 
        * smallprime.c: File removed.
2860
 
 
2861
 
        * des.c (leftkey_swap, rightkey_swap, working_memcmp): Made static.
2862
 
 
2863
 
        * cipher.c (gcry_cipher_map_name): Map "RIJNDAEL" to "AES".
2864
 
        * rijndael.c (rijndael_get_info): We do only support a 128 bit
2865
 
        blocksize so it makes sense to change the algorithm strings to
2866
 
        AES.
2867
 
 
2868
 
        * tiger.c (tiger_final): Removed superfluous token pasting operators.
2869
 
        * md5.c (md5_final): Ditto.
2870
 
 
2871
 
2002-04-30  Werner Koch  <wk@gnupg.org>
2872
 
 
2873
 
        * cipher.c: Fixed list of copyright years.
2874
 
 
2875
 
2002-03-18  Werner Koch  <wk@gnupg.org>
2876
 
 
2877
 
        * random.c (initialize): Initialize the new pool lock mutex.
2878
 
        (_gcry_fast_random_poll): Add locking and moved main
2879
 
        code out to...
2880
 
        (do_fast_random_poll): new function.
2881
 
        (read_pool): Use the new function here.
2882
 
        (get_random_bytes): Add locking.
2883
 
        (_gcry_update_random_seed_file): Ditto.
2884
 
 
2885
 
2002-03-11  Werner Koch  <wk@gnupg.org>
2886
 
 
2887
 
        * md.c: Add rsaSignatureWithripemd160 to OID table.
2888
 
 
2889
 
2002-02-20  Werner Koch  <wk@gnupg.org>
2890
 
 
2891
 
        * sha1.c: Removed a left over comment note.  The code has been
2892
 
        rewritten from scratch in 1998.  Thanks to Niels Möller for
2893
 
        reporting this misleading comment.
2894
 
 
2895
 
2002-02-18  Werner Koch  <wk@gnupg.org>
2896
 
 
2897
 
        * rndunix.c (rndunix_constructor): Use the the new prefixed
2898
 
        function name.  Reported by Jordi Mallach.
2899
 
 
2900
 
2002-02-10  Werner Koch  <wk@gnupg.org>
2901
 
 
2902
 
        * random.c (mix_pool): Carry an extra failsafe_digest buffer
2903
 
        around to make the function more robust.
2904
 
 
2905
 
2002-02-08  Werner Koch  <wk@gnupg.org>
2906
 
 
2907
 
        * random.c (add_randomness): Xor new data into the pool and not
2908
 
        just copy it.  This avoids any choosen input attacks which are not
2909
 
        serious in our setting because an outsider won't be able to mix
2910
 
        data in and even then we keep going with a PRNG.  Thanks to Stefan
2911
 
        Keller for pointing this out.
2912
 
 
2913
 
2002-01-04  Werner Koch  <wk@gnupg.org>
2914
 
 
2915
 
        * pubkey.c (gcry_pk_genkey): Do not release skey - it is static.
2916
 
 
2917
 
        * primegen.c (gen_prime): Of course we should use set_bit
2918
 
        and not set_highbit to set the second high bit.
2919
 
 
2920
 
2001-12-18  Werner Koch  <wk@gnupg.org>
2921
 
 
2922
 
        * rsa.c (generate): Loop until we find the exact modulus size.
2923
 
        Changed the exponent to 41.
2924
 
        (rsa_get_info): s/usage/r_usage/ to avoid shadow warnings.
2925
 
        * primegen.c (gen_prime): Set 2 high order bits for secret primes.
2926
 
 
2927
 
        * Makefile.am (DISTCLEANFILES): Include construct.c.
2928
 
 
2929
 
2001-12-17  Werner Koch  <wk@gnupg.org>
2930
 
 
2931
 
        * pubkey.c (gcry_pk_get_keygrip): New - experimental.
2932
 
 
2933
 
2001-12-11  Werner Koch  <wk@gnupg.org>
2934
 
 
2935
 
        * cipher.c: Added OIDs for AES.
2936
 
        (gcry_cipher_mode_from_oid): New.
2937
 
        (gcry_cipher_map_name): Moved OID search code to ..
2938
 
        (search_oid): .. new function.
2939
 
 
2940
 
2001-12-10  Werner Koch  <wk@gnupg.org>
2941
 
 
2942
 
        * pubkey.c (gcry_pk_encrypt): Find the signature algorithm by name
2943
 
        and not by number.
2944
 
        
2945
 
        * pubkey.c (gcry_pk_encrypt,gcry_pk_decrypt,gcry_pk_sign)
2946
 
        (gcry_pk_verify,gcry_pk_testkey, gcry_pk_genkey)
2947
 
        (gcry_pk_get_nbits): Release the arrays.  Noted by Nikos
2948
 
        Mavroyanopoulos.
2949
 
 
2950
 
2001-12-06  Werner Koch  <wk@gnupg.org>
2951
 
 
2952
 
        * cipher.c (gcry_cipher_map_name): Look also for OIDs prefixed
2953
 
        with "oid."  or "OID.".
2954
 
 
2955
 
2001-12-05  Werner Koch  <wk@gnupg.org>
2956
 
 
2957
 
        * pubkey.c (algo_info_table): Fixed entry for openpgp-rsa. 
2958
 
 
2959
 
2001-11-24  Werner Koch  <wk@gnupg.org>
2960
 
 
2961
 
        * pubkey.c: Added the rsaEncryption OID to the tables.
2962
 
        (sexp_to_key): Add an arg to return the index of the algorithm,
2963
 
        changed all callers.
2964
 
        (gcry_pk_sign): Find the signature algorithm by name and not by
2965
 
        number.
2966
 
        (gcry_pk_get_nbits): Fixed so that we can now really pass a secret
2967
 
        key to get the result.
2968
 
        
2969
 
        * md.c (gcry_md_map_name): Look also for OIDs prefixed with "oid."
2970
 
        or "OID." so that an OID string can be used as an S-Exp token.
2971
 
 
2972
 
2001-11-20  Werner Koch  <wk@gnupg.org>
2973
 
 
2974
 
        * md.c (gcry_md_map_name): Lookup by OID if the the name begins
2975
 
        with a digit.
2976
 
        (oid_table): New.
2977
 
        
2978
 
2001-11-16  Werner Koch  <wk@gnupg.org>
2979
 
 
2980
 
        * md.c (gcry_md_info): New operator GCRYCTL_IS_ALGO_ENABLED.
2981
 
 
2982
 
2001-11-07  Werner Koch  <wk@gnupg.org>
2983
 
 
2984
 
        * md.c (gcry_md_hash_buffer): Close the handle which was left open
2985
 
        for algorithms other than rmd160.
2986
 
 
2987
 
2001-08-08  Werner Koch  <wk@gnupg.org>
2988
 
 
2989
 
        * rndw32.c (gather_random): Use toolhelp in addition to the NT
2990
 
        gatherer for Windows2000.  Suggested by Sami Tolvanen.
2991
 
 
2992
 
        * random.c (read_pool): Fixed length check, this used to be one
2993
 
        byte to strict.  Made an assert out of it because the caller has
2994
 
        already made sure that only poolsize bytes are requested.
2995
 
        Reported by Marcus Brinkmann.
2996
 
 
2997
 
2001-08-03  Werner Koch  <wk@gnupg.org>
2998
 
 
2999
 
        * cipher.c (cipher_encrypt, cipher_decrypt): Prepare to return
3000
 
        errors. We have to change the interface to all ciphers to make
3001
 
        this really work but we should do so to prepare for hardware
3002
 
        encryption modules.
3003
 
        (gcry_cipher_encrypt, gcry_cipher_decrypt): Return the error and
3004
 
        set lasterr. 
3005
 
        (gcry_cipher_ctl): Make sure that errors from setkey are returned.
3006
 
 
3007
 
2001-08-02  Werner Koch  <wk@gnupg.org>
3008
 
 
3009
 
        * rndlinux.c (gather_random): casted a size_t arg to int so that
3010
 
        the format string is correct.  Casting is okay here and avoids
3011
 
        translation changes. 
3012
 
 
3013
 
        * random.c (fast_random_poll): Do not check the return code of
3014
 
        getrusage.
3015
 
 
3016
 
        * rndunix.c: Add a signal.h header to avoid warnings on Solaris 7
3017
 
        and 8.
3018
 
 
3019
 
        * tiger.c (print_abc,print_data): Removed.
3020
 
 
3021
 
        * rijndael.c, des.c, blowfish.c, twofish.c, cast5.c, arcfour.c
3022
 
        (burn_stack): New.  Add wrappers for most functions to be able to
3023
 
        call burn_stack after the function invocation. This methods seems
3024
 
        to be the most portable way to zeroise the stack used. It does
3025
 
        only work on stack frame based machines but it is highly portable
3026
 
        and has no side effects.  Just setting the automatic variables at
3027
 
        the end of a function to zero does not work well because the
3028
 
        compiler will optimize them away - marking them as volatile would
3029
 
        be bad for performance.
3030
 
        * md5.c, sha1.c, rmd160.c, tiger.c (burn_stack): Likewise.
3031
 
        * random.c (burn_stack): New.
3032
 
        (mix_pool): Use it here to burn the stack of the mixblock function.
3033
 
 
3034
 
        * primegen.c (_gcry_generate_elg_prime): Freed q at 3 places.
3035
 
        Thanks to Tommi Komulainen.
3036
 
 
3037
 
        * arcfour.c (arcfour_setkey): Check the minimim keylength against
3038
 
        bytes and not bits.
3039
 
        (selftest): Must reset the key before decryption. 
3040
 
 
3041
 
2001-05-31  Werner Koch  <wk@gnupg.org>
3042
 
 
3043
 
        * sha1.c (sha1_init): Made static.
3044
 
 
3045
 
        Changed all g10_ prefixed function names as well as some mpi_
3046
 
        function names to cope with the introduced naming changes.
3047
 
        
3048
 
        * md.c (prepare_macpads): Made key const.
3049
 
 
3050
 
2001-05-28  Werner Koch  <wk@gnupg.org>
3051
 
 
3052
 
        * rndegd.c (gather_random): Removed the use of tty_printf.
3053
 
 
3054
 
2001-03-29  Werner Koch  <wk@gnupg.org>
3055
 
 
3056
 
        * md5.c (md5_final): Fixed calculation of hashed length.  Thanks
3057
 
        to disastry@saiknes.lv for pointing out that it was horrible wrong
3058
 
        for more than 512MB of input.
3059
 
        * sha1.c (sha1_final): Ditto.
3060
 
        * rmd160.c (rmd160_final): Ditto.
3061
 
        * tiger.c (tiger_final): Ditto.
3062
 
 
3063
 
        * blowfish.c (encrypt,do_encrypt): Changed name to do_encrypt to
3064
 
        avoid name clashes with an encrypt function in stdlib.h of
3065
 
        Dynix/PIX.  Thanks to Gene Carter.
3066
 
        * elgamal.c (encrypt,do_encrypt): Ditto.
3067
 
 
3068
 
        * twofish.c (gnupgext_enum_func): Use only when when compiled as a
3069
 
        module.
3070
 
        * rijndael.c (gnupgext_enum_func): Ditto.
3071
 
 
3072
 
        * tiger.c (tiger_get_info): Return "TIGER192" and not just
3073
 
        "TIGER".  By Edwin Woudt.
3074
 
        
3075
 
        * random.c: Always include time.h - standard requirement.  Thanks
3076
 
        to James Troup.
3077
 
 
3078
 
        * rndw32.c: Fixes to the macros.
3079
 
 
3080
 
2001-01-11  Werner Koch  <wk@gnupg.org>
3081
 
 
3082
 
        * cipher.c (cipher_encrypt,gcry_cipher_encrypt): Use blocksize and
3083
 
        not 8.
3084
 
 
3085
 
2000-12-19  Werner Koch  <wk@gnupg.org>
3086
 
 
3087
 
        Major change:
3088
 
        Removed all GnuPG stuff and renamed this piece of software
3089
 
        to gcrypt. 
3090
 
 
3091
 
2000-11-14  Werner Koch  <wk@gnupg.org>
3092
 
 
3093
 
        * dsa.c (test_keys): Replaced mpi_alloc by gcry_mpi_new and
3094
 
        mpi_free by gcry_mpi_release.
3095
 
        * elgamal.c (test_keys,generate): Ditto, also for mpi_alloc_secure.
3096
 
        * rsa.c (test_keys,generate,rsa_verify): Ditto.
3097
 
        * primegen.c (generate_elg_prime): Ditto.
3098
 
        (gen_prime): Ditto and removed nlimbs.
3099
 
 
3100
 
        * rsa.c (generate): Allocate 2 more vars in secure memory.
3101
 
 
3102
 
        * Makefile.am (OMIT_DEPENDENCIES): Hack to work around dependency
3103
 
        problems.
3104
 
 
3105
 
2000-10-09  Werner Koch  <wk@gnupg.org>
3106
 
 
3107
 
        * arcfour.c, arcfour.h: New.
3108
 
        * cipher.c (cipher_encrypt, cipher_decrypt): Add stream mode.
3109
 
        (setup_cipher_table): Add Arcfour.
3110
 
        (gcry_cipher_open): Kludge to allow stream mode.
3111
 
 
3112
 
Wed Oct  4 13:16:18 CEST 2000  Werner Koch  <wk@openit.de>
3113
 
 
3114
 
        * sha1.c (transform): Use rol() macro.  Actually this is not needed
3115
 
        for a newer gcc but there are still aoter compilers.
3116
 
 
3117
 
        * rsa.c (test_keys): Use new random function. 
3118
 
 
3119
 
        * md.c (gcry_md_setkey): New function to overcome problems with
3120
 
        const conflics.  
3121
 
        (gcry_md_ctl): Pass set key to the new functions.
3122
 
 
3123
 
        * rijndael.c: New.
3124
 
        * cipher.c: Add Rijndael support.
3125
 
 
3126
 
Mon Sep 18 16:35:45 CEST 2000  Werner Koch  <wk@openit.de>
3127
 
 
3128
 
        * rndlinux.c (open_device): Loose random device checking.
3129
 
        By Nils Ellmenreich.
3130
 
 
3131
 
        * random.c (fast_random_poll): Check ENOSYS for getrusage.
3132
 
        * rndunix.c:  Add 2 sources for QNX. By Sam Roberts.
3133
 
 
3134
 
        * pubkey.c (gcry_pk_algo_info): Add GCRYCTL_GET_ALGO_USAGE.
3135
 
 
3136
 
        * rsa.c: Changed the comment about the patent.
3137
 
        (secret): Speed up by using the CRT.  For a 2k keys this
3138
 
        is about 3 times faster.
3139
 
        (stronger_key_check): New but unused code to check the secret key.
3140
 
        * Makefile.am: Included rsa.[ch].
3141
 
        * pubkey.c: Enabled RSA support.
3142
 
        (pubkey_get_npkey): Removed RSA workaround.
3143
 
 
3144
 
Mon Jul 31 10:04:47 CEST 2000  Werner Koch  <wk@openit.de>
3145
 
 
3146
 
  * pubkey.c: Replaced all gcry_sexp_{car,cdr}_{data,mpi} by the new
3147
 
  gcry_sexp_nth_{data,mpi} functions.
3148
 
 
3149
 
Tue Jul 25 17:44:15 CEST 2000  Werner Koch  <wk@openit.de>
3150
 
 
3151
 
  * pubkey.c (exp_to_key,sexp_to_sig,sexp_to_enc,gcry_pk_encrypt,
3152
 
    gcry_pk_decrypt,gcry_pk_sign,gcry_pk_genkey): Changed to work with
3153
 
    the new S-Exp interface.
3154
 
 
3155
 
Mon Jul 17 16:35:47 CEST 2000  Werner Koch  <wk@>
3156
 
 
3157
 
  * random.c (gather_faked): Replaced make_timestamp by time(2) again.
3158
 
 
3159
 
Fri Jul 14 19:38:23 CEST 2000  Werner Koch  <wk@>
3160
 
 
3161
 
  * md.c (gcry_md_ctl): Support GCRYCTL_{START,STOP}_DUMP.
3162
 
 
3163
 
  * Makefile.am: Never compile mingw32 as module.
3164
 
 
3165
 
  * Makefile.am: Tweaked module build and removed libtool
3166
 
 
3167
 
  * Makefile.am:  Replaced -O1 by -O. Suggested by Alec Habig.
3168
 
 
3169
 
  * elgamal.c (sign): Removed inactive code.
3170
 
 
3171
 
  * rsa.c, rsa.h: New based on the old module version (only in CVS for now).
3172
 
  * pubkey.c (setup_pubkey_table): Added commented support for RSA.
3173
 
 
3174
 
  * rndunix.c (waitpid): New. For UTS 2.1.  All by Dave Dykstra.
3175
 
  (my_popen): Do the FD_CLOEXEC only if it is available
3176
 
  (start_gatherer): Cope with missing _SC_OPEN_MAX
3177
 
 
3178
 
  * rndunix.c: Add some more headers for QNX. By Sam Roberts.
3179
 
 
3180
 
  * rndegd.c (gather_random): Shortcut level 0.
3181
 
  * rndunix.c (gather_random): Ditto.
3182
 
  * rndw32.c (gather_random): Ditto.
3183
 
 
3184
 
  * rndw32.c: Replaced with code from Cryptlib and commented the old stuff.
3185
 
  * rndw32.c: Add some debuging code enabled by an environment variable.
3186
 
 
3187
 
  * random.c (read_seed_file): Binary open for DOSish system
3188
 
  (update_random_seed_file): Ditto.
3189
 
  * random.c [MINGW32]: Include process.h for getpid.
3190
 
  * random.c (fast_random_poll): Add clock_gettime() as fallback for
3191
 
  system which support this POSIX.4 fucntion. By Sam Roberts.
3192
 
 
3193
 
  * random.c (read_seed_file): Removed the S_ISLNK test becuase it
3194
 
  is already covered by !S_ISREG and is not defined in Unixware.
3195
 
  Reported by Dave Dykstra.
3196
 
  (update_random_seed_file): Silently ignore update request when pool
3197
 
  is not filled.
3198
 
 
3199
 
  * random.c (read_seed_file): New.
3200
 
  (set_random_seed_file): New.
3201
 
  (read_pool): Try to read the seeding file.
3202
 
  (update_random_seed_file): New.
3203
 
 
3204
 
  (read_pool): Do an initial extra seeding when level 2 quality random
3205
 
  is requested the first time.  This requestes at least POOLSIZE/2 bytes
3206
 
  of entropy.  Compined with the seeding file this should make normal
3207
 
  random bytes cheaper and increase the quality of the random bytes
3208
 
  used for key generation.
3209
 
 
3210
 
  * random.c (read_pool): Print a more friendly error message in
3211
 
  cases when too much random is requested in one call.
3212
 
 
3213
 
  * random.c (fast_random_poll): Check whether RUSAGE_SELF is defined;
3214
 
  this is not the case for some ESIX and Unixware, although they have
3215
 
  getrusage().
3216
 
 
3217
 
  * primegen.c (generate_elg_prime): All primes are now generated with
3218
 
  the lowest random quality level.  Because they are public anyway we
3219
 
  don't need stronger random and by this we do not drain the systems
3220
 
  entropy so much.
3221
 
 
3222
 
  * primegen.c (register_primegen_progress): New.
3223
 
  * dsa.c (register_pk_dsa_progress): New.
3224
 
  * elgamal.c (register_pk_elg_progress): New.
3225
 
 
3226
 
  * elgamal.c (wiener_map): New.
3227
 
  (gen_k): Use a much smaller k.
3228
 
  (generate): Calculate the qbits using the wiener map and
3229
 
  choose an x at a size comparable to the one choosen in gen_k
3230
 
 
3231
 
  * rmd160.c (rmd160_get_info): Moved casting to the left side due to a
3232
 
  problem with UTS4.3.  Suggested by Dave Dykstra.
3233
 
  * sha1.c (sha1_get_info): Ditto.
3234
 
  * tiger.c (tiger_get_info): Ditto.
3235
 
  * md5.c (md5_get_info): Ditto
3236
 
  * des.c (des_get_info): Ditto.
3237
 
  * blowfish.c (blowfish_get_info): Ditto.
3238
 
  * cast5.c (cast5_get_info): Ditto.
3239
 
  * twofish.c (twofish_get_info): Ditto.
3240
 
 
3241
 
Fri Mar 24 11:25:45 CET 2000  Werner Koch  <wk@openit.de>
3242
 
 
3243
 
        * md.c (md_open): Add hmac arg and allocate space for the pads.
3244
 
        (md_finalize): Add HMAC support.
3245
 
        (md_copy): Ditto.
3246
 
        (md_close): Ditto.
3247
 
        (gcry_md_reset): Ditto.
3248
 
        (gcry_md_ctl): Ditto.
3249
 
        (prepare_macpdas): New.
3250
 
 
3251
 
Mon Mar 13 19:22:46 CET 2000  Werner Koch  <wk@openit.de>
3252
 
 
3253
 
        * md.c (gcry_md_hash_buffer): Add support for the other algorithms.
3254
 
 
3255
 
Mon Jan 31 16:37:34 CET 2000  Werner Koch  <wk@gnupg.de>
3256
 
 
3257
 
        * genprime.c (generate_elg_prime): Fixed returned factors which never
3258
 
        worked for non-DSA keys.
3259
 
 
3260
 
Thu Jan 27 18:00:44 CET 2000  Werner Koch  <wk@gnupg.de>
3261
 
 
3262
 
        * pubkey.c (sexp_to_key): Fixed mem leaks in case of errors.
3263
 
 
3264
 
Mon Jan 24 22:24:38 CET 2000  Werner Koch  <wk@gnupg.de>
3265
 
 
3266
 
        * pubkey.c (gcry_pk_decrypt): Implemented.
3267
 
        (gcry_pk_encrypt): Implemented.
3268
 
        (gcry_pk_testkey): New.
3269
 
        (gcry_pk_genkey): New.
3270
 
        (pubkey_decrypt): Made static.
3271
 
        (pubkey_encrypt): Ditto.
3272
 
        (pubkey_check_secret_key): Ditto.
3273
 
        (pubkey_generate): Ditto.
3274
 
 
3275
 
Mon Jan 24 13:04:28 CET 2000  Werner Koch  <wk@gnupg.de>
3276
 
 
3277
 
        * pubkey.c (pubkey_nbits): Removed and replaced by ...
3278
 
        (gcry_pk_get_nbits): this new one.
3279
 
 
3280
 
Wed Dec  8 21:58:32 CET 1999  Werner Koch  <wk@gnupg.de>
3281
 
 
3282
 
        * dsa.c: s/mpi_powm/gcry_mpi_powm/g
3283
 
        * elgamal.c: Ditto.
3284
 
        * primegen.c: Ditto.
3285
 
 
3286
 
        * : Replaced g10_opt_verbose by g10_log_verbosity().
3287
 
 
3288
 
        * Makefile.am (INCLUDES): removed intl, add ../gcrypt
3289
 
 
3290
 
Fri Nov 19 17:15:20 CET 1999  Werner Koch  <wk@gnupg.de>
3291
 
 
3292
 
        * dynload.c (cmp_filenames): New to replaced compare_filename() in
3293
 
        module.
3294
 
        (register_cipher_extension): Removed the tilde expansion stuff.
3295
 
        * rndeg.c (my_make_filename): New.
3296
 
 
3297
 
        * : Replaced header util.h by g10lib.h
3298
 
 
3299
 
        * random.c (gather_faked): Replaced make_timestamp by time(2).
3300
 
        Disabled wrning printed with tty_printf.
3301
 
        * rndlinux.c (gather_random): Always use fprintf instead of tty_xxx;
3302
 
        this should be replaced by a callback function.
3303
 
 
3304
 
        * primegen.c (gen_prime): Use gcry_mpi_randomize.
3305
 
        (is_prime): Ditto.
3306
 
        * elgamal.c (test_keys): Ditto.
3307
 
        * dsa.c (test_keys): Ditto.
3308
 
 
3309
 
        * cipher.c (gcry_cipher_close): Die on invalid handle.
3310
 
 
3311
 
Mon Nov 15 21:36:02 CET 1999  Werner Koch  <wk@gnupg.de>
3312
 
 
3313
 
        * elgamal.c (gen_k): Use the new random API.
3314
 
        (generate): Ditto.
3315
 
        * dsa.c (gen_k): Ditto.
3316
 
        (generate): Ditto.
3317
 
 
3318
 
Sat Nov 13 17:44:23 CET 1999  Werner Koch  <wk@gnupg.de>
3319
 
 
3320
 
        * pubkey.c (disable_pubkey_algo): Made static.
3321
 
        (gcry_pk_ctl): New.
3322
 
 
3323
 
        * random.c (get_random_bits): Renamed to ...
3324
 
        (get_random_bytes): ... this and made static.
3325
 
        (gcry_random_bytes): New.
3326
 
        (gcry_random_bytes_secure): New.
3327
 
        (randomize_buffer): Renamed to ...
3328
 
        (gcry_randomize): ...this.
3329
 
 
3330
 
        * md.c (gcry_md_hash_buffer): New.
3331
 
 
3332
 
        * pubkey.c (gcry_pk_algo_info): 4 new commands.
3333
 
        (pubkey_get_npkey): Made static.
3334
 
        (pubkey_get_nskey): Made static.
3335
 
        (pubkey_get_nsig): Made static.
3336
 
        (pubkey_get_nenc): Made static.
3337
 
 
3338
 
        * pubkey.c: Removed all G10ERR_xxx.
3339
 
        * cipher.c: Changed all GCRYERR_INV_ALGO to GCRYERR_INV_CIPHER_ALGO.
3340
 
        * md.c: Changed all GCRYERR_INV_ALGO to GCRYERR_INV_MD_ALGO.
3341
 
        * cast5.c (cast_setkey): Changed errocodes to GCRYERR_xxx.
3342
 
        * blowfish.c: Ditto.
3343
 
        * des.c: Ditto.
3344
 
        * twofish.c: Ditto.
3345
 
        * dsa.c: Ditto.
3346
 
        * elgamal.c: Ditto.
3347
 
 
3348
 
        * g10c.c: Removed
3349
 
 
3350
 
        * cipher.c (gcry_cipher_open): Replaced alloc functions and return NULL
3351
 
        if we are out of core.
3352
 
        * dynload.c: Replaced all memory allocation functions.
3353
 
        * md.c: Ditto.
3354
 
        * primegen.c: Ditto.
3355
 
        * pubkey.c: Ditto.
3356
 
        * random.c: Ditto.
3357
 
        * rndw32.c: Ditto.
3358
 
        * elgamal.c: Ditto.
3359
 
        * dsa.c: Ditto.
3360
 
 
3361
 
Tue Oct 26 14:10:21 CEST 1999  Werner Koch  <wk@gnupg.de>
3362
 
 
3363
 
        * elgamal.c (sign): Hugh found strange code here. Replaced by BUG().
3364
 
 
3365
 
        * cipher.c: Merged with gcrypt/symapi.c.
3366
 
 
3367
 
        * pubkey.c (string_to_pubkey_algo): Renamed function to ...
3368
 
        (gcry_pk_map_name): ... this.
3369
 
        (pubkey_algo_to_string): Renamed function to ...
3370
 
        (gcry_pk_algo_name): ... this.
3371
 
        (gcry_pk_algo_info): New.
3372
 
        * pubkey.c: Merged with gcrypt/pkapi.c.
3373
 
 
3374
 
        * md.c (md_reset): Clear finalized; thanks to Ulf Moeller for
3375
 
        fixing this bug.
3376
 
 
3377
 
        * md.c: Merged with gcrypt/mdapi.c
3378
 
 
3379
 
Wed Sep 15 14:39:59 CEST 1999  Michael Roth <mroth@nessie.de>
3380
 
 
3381
 
        * des.c: Various speed improvements: One bit pre rotation
3382
 
          trick after initial permutation (Richard Outerbridge).
3383
 
          Finished test of SSLeay Tripple-DES patterns.
3384
 
 
3385
 
Wed Sep 15 16:22:17 CEST 1999  Werner Koch  <wk@isil.d.shuttle.de>
3386
 
 
3387
 
        * rndw32.c: New.
3388
 
 
3389
 
Mon Sep 13 10:51:29 CEST 1999  Werner Koch  <wk@isil.d.shuttle.de>
3390
 
 
3391
 
        * bithelp.h: New.
3392
 
        * rmd160.h, sha1.h, md5.h: Use the rol macro from bithelp.h
3393
 
 
3394
 
Tue Sep  7 16:23:36 CEST 1999  Werner Koch  <wk@isil.d.shuttle.de>
3395
 
 
3396
 
        * Makefile.am: Fixed seds for latest egcc. By Ollivier Robert.
3397
 
 
3398
 
Mon Sep  6 19:59:08 CEST 1999  Werner Koch  <wk@isil.d.shuttle.de>
3399
 
 
3400
 
        * des.c (selftest): Add some testpattern
3401
 
 
3402
 
Mon Aug 30 20:38:33 CEST 1999  Werner Koch  <wk@isil.d.shuttle.de>
3403
 
 
3404
 
        * cipher.c (do_cbc_encrypt): Fixed serious bug occuring when not using
3405
 
        in place encryption. Pointed out by Frank Stajano.
3406
 
 
3407
 
Mon Jul 26 09:34:46 CEST 1999  Werner Koch  <wk@isil.d.shuttle.de>
3408
 
 
3409
 
        * md5.c (md5_final): Fix for a SCO cpp bug.
3410
 
 
3411
 
Thu Jul 15 10:15:35 CEST 1999  Werner Koch  <wk@isil.d.shuttle.de>
3412
 
 
3413
 
        * elgamal.c (elg_check_secret_key,elg_encrypt
3414
 
        elg_decrypt,elg_sign,elg_verify): Sanity check on the args.
3415
 
        * dsa.c (dsa_check_secret_key,dsa_sign,dsa_verify): Ditto.
3416
 
 
3417
 
        * pubkey.c (disable_pubkey_algo): New.
3418
 
        (check_pubkey_algo2): Look at disabled algo table.
3419
 
        * cipher.c (disable_cipher_algo): New.
3420
 
        (check_cipher_algo): Look at disabled algo table.
3421
 
 
3422
 
Wed Jul  7 13:08:40 CEST 1999  Werner Koch  <wk@isil.d.shuttle.de>
3423
 
 
3424
 
        * Makefile.am: Support for libtool.
3425
 
 
3426
 
Fri Jul  2 11:45:54 CEST 1999  Werner Koch  <wk@isil.d.shuttle.de>
3427
 
 
3428
 
        * dsa.c (gen_k): Changed algorithm to consume less random bytes
3429
 
        * elgamal.c (gen_k): Ditto.
3430
 
 
3431
 
        * random.c (random_dump_stats): New.
3432
 
 
3433
 
Thu Jul  1 12:47:31 CEST 1999  Werner Koch  <wk@isil.d.shuttle.de>
3434
 
 
3435
 
        * primegen.c, elgamal.c, dsa.c (progess): New and replaced all
3436
 
        fputc with a call to this function.
3437
 
 
3438
 
Sat Jun 26 12:15:59 CEST 1999  Werner Koch  <wk@isil.d.shuttle.de>
3439
 
 
3440
 
        * rndegd.c (do_write): s/ssize_t/int/ due to SunOS 4.1 probs.
3441
 
 
3442
 
        * cipher.c (do_cbc_encrypt, do_cbc_decrypt): New.
3443
 
 
3444
 
        * dynload.c (HAVE_DL_SHL_LOAD): Map hpux API to dlopen (Dave Dykstra).
3445
 
        * Makefile.am (install-exec-hook): Removed.
3446
 
 
3447
 
Sun May 23 14:20:22 CEST 1999  Werner Koch  <wk@isil.d.shuttle.de>
3448
 
 
3449
 
        * cipher.c (setup_cipher_table): Enable Twofish
3450
 
 
3451
 
        * random.c (fast_random_poll): Disable use of times() for mingw32.
3452
 
 
3453
 
Mon May 17 21:54:43 CEST 1999  Werner Koch  <wk@isil.d.shuttle.de>
3454
 
 
3455
 
        * dynload.c (register_internal_cipher_extension): Minor init fix.
3456
 
 
3457
 
Tue May  4 15:47:53 CEST 1999  Werner Koch  <wk@isil.d.shuttle.de>
3458
 
 
3459
 
        * primegen.c (gen_prime): Readded the Fermat test. Fixed the bug
3460
 
        that we didn't correct for step when passing the prime to the
3461
 
        Rabin-Miller test which led to bad performance (Stefan Keller).
3462
 
        (check_prime): Add a first Fermat test.
3463
 
 
3464
 
Sun Apr 18 10:11:28 CEST 1999  Werner Koch  <wk@isil.d.shuttle.de>
3465
 
 
3466
 
        * cipher.c (cipher_setiv): Add ivlen arg, changed all callers.
3467
 
 
3468
 
        * random.c (randomize_buffer): alway use secure memory because
3469
 
        we can't use m_is_secure() on a statically allocated buffer.
3470
 
 
3471
 
        * twofish.c: Replaced some macros by a loop to reduce text size.
3472
 
        * Makefile.am (twofish): No more need for sed editing.
3473
 
 
3474
 
Fri Apr  9 12:26:25 CEST 1999  Werner Koch  <wk@isil.d.shuttle.de>
3475
 
 
3476
 
        * cipher.c (cipher_open): Reversed the changes for AUTO_CFB.
3477
 
 
3478
 
        * blowfish.c: Dropped the Blowfish 160 mode.
3479
 
        * cipher.c (cipher_open): Ditto.
3480
 
        (setup_cipher_table): Ditto.  And removed support of twofish128
3481
 
 
3482
 
Wed Apr  7 20:51:39 CEST 1999  Werner Koch  <wk@isil.d.shuttle.de>
3483
 
 
3484
 
        * random.c (get_random_bits): Can now handle requests > POOLSIZE
3485
 
 
3486
 
        * cipher.c (cipher_open): Now uses standard CFB for automode if
3487
 
        the blocksize is gt 8 (according to rfc2440).
3488
 
 
3489
 
        * twofish.c: Applied Matthew Skala's patches for 256 bit key.
3490
 
 
3491
 
Tue Apr  6 19:58:12 CEST 1999  Werner Koch  <wk@isil.d.shuttle.de>
3492
 
 
3493
 
        * random.c (get_random_bits): Can now handle requests > POOLSIZE
3494
 
 
3495
 
        * cipher.c (cipher_open): Now uses standard CFB for automode if
3496
 
        the blocksize is gt 8 (according to rfc2440).
3497
 
 
3498
 
Sat Mar 20 11:44:21 CET 1999  Werner Koch  <wk@isil.d.shuttle.de>
3499
 
 
3500
 
        * rndlinux.c (tty_printf) [IS_MODULE]: Removed.
3501
 
 
3502
 
        * rndegd.c (gather_random): Some fixes.
3503
 
 
3504
 
Wed Mar 17 13:09:03 CET 1999  Werner Koch  <wk@isil.d.shuttle.de>
3505
 
 
3506
 
        * rndegd.c (do_read): New.
3507
 
        (gather_random): Changed the implementation.
3508
 
 
3509
 
Mon Mar  8 20:47:17 CET 1999  Werner Koch  <wk@isil.d.shuttle.de>
3510
 
 
3511
 
        * dynload.c (DLSYM_NEEDS_UNDERSCORE): Renamed.
3512
 
 
3513
 
Fri Feb 26 17:55:41 CET 1999  Werner Koch  <wk@isil.d.shuttle.de>
3514
 
 
3515
 
        * md.c: Nearly a total rewrote.
3516
 
 
3517
 
Wed Feb 24 11:07:27 CET 1999  Werner Koch  <wk@isil.d.shuttle.de>
3518
 
 
3519
 
        * cipher.c (context): Fixed alignment
3520
 
        * md.c: Ditto.
3521
 
 
3522
 
        * rndegd.c: New
3523
 
 
3524
 
Mon Feb 22 20:04:00 CET 1999  Werner Koch  <wk@isil.d.shuttle.de>
3525
 
 
3526
 
        * rndegd.c: New.
3527
 
 
3528
 
Wed Feb 10 17:15:39 CET 1999  Werner Koch  <wk@isil.d.shuttle.de>
3529
 
 
3530
 
        * Makefile.am: Modules are now figured out by configure
3531
 
        * construct.c: New. Generated by configure. Changed all modules
3532
 
        to work with that.
3533
 
        * sha1.h: Removed.
3534
 
        * md5.h: Removed.
3535
 
 
3536
 
        * twofish.c: Changed interface to allow Twofish/256
3537
 
 
3538
 
        * rndunix.c (start_gatherer): Die on SIGPIPE.
3539
 
 
3540
 
Wed Jan 20 18:59:49 CET 1999  Werner Koch  <wk@isil.d.shuttle.de>
3541
 
 
3542
 
        * rndunix.c (gather_random): Fix to avoid infinite loop.
3543
 
 
3544
 
Sun Jan 17 11:04:33 CET 1999  Werner Koch  <wk@isil.d.shuttle.de>
3545
 
 
3546
 
        * des.c (is_weak_key): Replace system memcmp due to bugs
3547
 
        in SunOS's memcmp.
3548
 
        (des_get_info): Return error on failed selftest.
3549
 
        * twofish.c (twofish_setkey): Return error on failed selftest or
3550
 
        invalid keylength.
3551
 
        * cast5.c (cast_setkey): Ditto.
3552
 
        * blowfish.c (bf_setkey): Return error on failed selftest.
3553
 
 
3554
 
Tue Jan 12 11:17:18 CET 1999  Werner Koch  <wk@isil.d.shuttle.de>
3555
 
 
3556
 
        * random.c (random_is_faked): New.
3557
 
 
3558
 
        * tiger.c: Only compile if we have the u64 type
3559
 
 
3560
 
Sat Jan  9 16:02:23 CET 1999  Werner Koch  <wk@isil.d.shuttle.de>
3561
 
 
3562
 
        * rndunix.c (gather_random): check for setuid.
3563
 
 
3564
 
        * Makefile.am: Add a way to staically link random modules
3565
 
 
3566
 
Thu Jan  7 18:00:58 CET 1999  Werner Koch  <wk@isil.d.shuttle.de>
3567
 
 
3568
 
        * md.c (md_stop_debug): Do a flush first.
3569
 
        (md_open): size of buffer now depends on the secure parameter
3570
 
 
3571
 
Sun Jan  3 15:28:44 CET 1999  Werner Koch  <wk@isil.d.shuttle.de>
3572
 
 
3573
 
        * rndunix.c (start_gatherer): Fixed stupid ==/= bug
3574
 
 
3575
 
1998-12-31  Geoff Keating  <geoffk@ozemail.com.au>
3576
 
 
3577
 
        * des.c (is_weak_key): Rewrite loop end condition.
3578
 
 
3579
 
Tue Dec 29 14:41:47 CET 1998  Werner Koch  <wk@isil.d.shuttle.de>
3580
 
 
3581
 
        * random.c: add unistd.h for getpid().
3582
 
        (RAND_MAX): Fallback value for Sun.
3583
 
 
3584
 
Wed Dec 23 17:12:24 CET 1998  Werner Koch  <wk@isil.d.shuttle.de>
3585
 
 
3586
 
        * md.c (md_copy): Reset debug.
3587
 
 
3588
 
Mon Dec 14 21:18:49 CET 1998  Werner Koch  <wk@isil.d.shuttle.de>
3589
 
 
3590
 
        * random.c (read_random_source): Changed the interface to the
3591
 
        random gathering function.
3592
 
        (gather_faked): Use new interface.
3593
 
        * dynload.c (dynload_getfnc_fast_random_poll): Ditto.
3594
 
        (dynload_getfnc_gather_random): Ditto.
3595
 
        * rndlinux.c (gather_random): Ditto.
3596
 
        * rndunix.c (gather_random): Ditto.
3597
 
 
3598
 
Sat Dec 12 18:40:32 CET 1998  Werner Koch  <wk@isil.d.shuttle.de>
3599
 
 
3600
 
        * dynload.c (SYMBOL_VERSION): New to cope with system which needs
3601
 
        underscores.
3602
 
 
3603
 
        * rndunix.c: Rewrote large parts
3604
 
 
3605
 
Thu Dec 10 20:15:36 CET 1998  Werner Koch  <wk@isil.d.shuttle.de>
3606
 
 
3607
 
        * dynload.c (load_extension): increased needed verbosity level.
3608
 
 
3609
 
        * random.c (fast_random_poll): Fallback to a default fast random
3610
 
        poll function.
3611
 
        (read_random_source): Always use the faked entroy gatherer if no
3612
 
        gather module is available.
3613
 
        * rndlinux.c (fast_poll): Removed.
3614
 
        * rndunix.c (fast_poll): Removed.
3615
 
 
3616
 
 
3617
 
Wed Nov 25 12:33:41 1998  Werner Koch  (wk@isil.d.shuttle.de)
3618
 
 
3619
 
        * rand-*.c: Removed.
3620
 
        * rndlinux.c : New.
3621
 
        * rndunix.c : New.
3622
 
        * random.c : Restructured the interface to the gather modules.
3623
 
        (intialize): Call constructor functions
3624
 
        (read_radnom_source): Moved to here.
3625
 
        * dynload.c (dynload_getfnc_gather_random): New.
3626
 
        (dynload_getfnc_fast_random_poll): New.
3627
 
        (register_internal_cipher_extension): New.
3628
 
        (register_cipher_extension): Support of internal modules.
3629
 
 
3630
 
Sun Nov  8 17:44:36 1998  Werner Koch  (wk@isil.d.shuttle.de)
3631
 
 
3632
 
        * rand-unix.c (read_random_source): Removed the assert.
3633
 
 
3634
 
Mon Oct 19 18:34:30 1998  me,,,  (wk@tobold)
3635
 
 
3636
 
        * pubkey.c: Hack to allow us to give some info about RSA keys back.
3637
 
 
3638
 
Thu Oct 15 11:47:57 1998  Werner Koch  (wk@isil.d.shuttle.de)
3639
 
 
3640
 
        * dynload.c: Support for DLD
3641
 
 
3642
 
Wed Oct 14 12:13:07 1998  Werner Koch  (wk@isil.d.shuttle.de)
3643
 
 
3644
 
        * rand-unix.c: Now uses names from configure for /dev/random.
3645
 
 
3646
 
1998-10-10  SL Baur  <steve@altair.xemacs.org>
3647
 
 
3648
 
        * Makefile.am: fix sed -O substitutions to catch -O6, etc.
3649
 
 
3650
 
Tue Oct  6 10:06:32 1998  Werner Koch  (wk@isil.d.shuttle.de)
3651
 
 
3652
 
        * rand-unix.c (HAVE_GETTIMEOFDAY): Fixed (was ..GETTIMEOFTIME :-)
3653
 
        * rand-dummy.c (HAVE_GETTIMEOFDAY): Ditto.
3654
 
 
3655
 
Mon Sep 28 13:23:09 1998  Werner Koch  (wk@isil.d.shuttle.de)
3656
 
 
3657
 
        * md.c (md_digest): New.
3658
 
        (md_reset): New.
3659
 
 
3660
 
Wed Sep 23 12:27:02 1998  Werner Koch  (wk@isil.d.shuttle.de)
3661
 
 
3662
 
        * tiger.c (TIGER_CONTEXT): moved "buf", so that it is 64 bit aligned.
3663
 
 
3664
 
Mon Sep 21 06:22:53 1998  Werner Koch  (wk@(none))
3665
 
 
3666
 
        * des.c: Some patches from Michael.
3667
 
 
3668
 
Thu Sep 17 19:00:06 1998  Werner Koch  (wk@(none))
3669
 
 
3670
 
        * des.c : New file from Michael Roth <mroth@nessie.de>
3671
 
 
3672
 
Mon Sep 14 11:10:55 1998  Werner Koch  (wk@(none))
3673
 
 
3674
 
        * blowfish.c (bf_setkey): Niklas Hernaeus patch to detect weak keys.
3675
 
 
3676
 
Mon Sep 14 09:19:25 1998  Werner Koch  (wk@(none))
3677
 
 
3678
 
        * dynload.c (RTLD_NOW): Now defined to 1 if it is undefined.
3679
 
 
3680
 
Mon Sep  7 17:04:33 1998  Werner Koch  (wk@(none))
3681
 
 
3682
 
        * Makefile.am: Fixes to allow a different build directory
3683
 
 
3684
 
Thu Aug  6 17:25:38 1998  Werner Koch,mobil,,,  (wk@tobold)
3685
 
 
3686
 
        * random.c (get_random_byte): Removed and changed all callers
3687
 
        to use get_random_bits()
3688
 
 
3689
 
Mon Jul 27 10:30:22 1998  Werner Koch  (wk@(none))
3690
 
 
3691
 
        * cipher.c : Support for other blocksizes
3692
 
        (cipher_get_blocksize): New.
3693
 
        * twofish.c: New.
3694
 
        * Makefile.am: Add twofish module.
3695
 
 
3696
 
Mon Jul 13 21:30:52 1998  Werner Koch  (wk@isil.d.shuttle.de)
3697
 
 
3698
 
        * random.c (read_pool): Simple alloc if secure_alloc is not set.
3699
 
        (get_random_bits): Ditto.
3700
 
 
3701
 
Thu Jul  9 13:01:14 1998  Werner Koch  (wk@isil.d.shuttle.de)
3702
 
 
3703
 
        * dynload.c (load_extension): Function now nbails out if
3704
 
        the program is run setuid.
3705
 
 
3706
 
Wed Jul  8 18:58:23 1998  Werner Koch  (wk@isil.d.shuttle.de)
3707
 
 
3708
 
        * rmd160.c (rmd160_hash_buffer): New.
3709
 
 
3710
 
Thu Jul  2 10:50:30 1998  Werner Koch  (wk@isil.d.shuttle.de)
3711
 
 
3712
 
        * cipher.c (cipher_open): algos >=100 use standard CFB
3713
 
 
3714
 
Thu Jun 25 11:18:25 1998  Werner Koch  (wk@isil.d.shuttle.de)
3715
 
 
3716
 
        * Makefile.am: Support for extensions
3717
 
 
3718
 
Thu Jun 18 12:09:38 1998  Werner Koch  (wk@isil.d.shuttle.de)
3719
 
 
3720
 
        * random.c (mix_pool): simpler handling for level 0
3721
 
 
3722
 
Mon Jun 15 14:40:48 1998  Werner Koch  (wk@isil.d.shuttle.de)
3723
 
 
3724
 
        * tiger.c: Removed from dist, will reappear as dynload module
3725
 
 
3726
 
Sat Jun 13 14:16:57 1998  Werner Koch  (wk@isil.d.shuttle.de)
3727
 
 
3728
 
        * pubkey.c: Major changes to allow extensions. Changed the inteface
3729
 
        of all public key ciphers and added the ability to load extensions
3730
 
        on demand.
3731
 
 
3732
 
        * misc.c: Removed.
3733
 
 
3734
 
Wed Jun 10 07:52:08 1998  Werner Koch,mobil,,,  (wk@tobold)
3735
 
 
3736
 
        * dynload.c: New.
3737
 
        * cipher.c: Major changes to allow extensions.
3738
 
 
3739
 
Mon Jun  8 22:43:00 1998  Werner Koch  (wk@isil.d.shuttle.de)
3740
 
 
3741
 
        * cipher.c: Major internal chnages to support extensions.
3742
 
        * blowfish.c (blowfish_get_info): New and made all internal
3743
 
        functions static, changed heder.
3744
 
        * cast5.c (cast5_get_info): Likewise.
3745
 
 
3746
 
Mon Jun  8 12:27:52 1998  Werner Koch  (wk@isil.d.shuttle.de)
3747
 
 
3748
 
        * tiger.c (transform): Fix for big endian
3749
 
 
3750
 
        * cipher.c (do_cfb_decrypt): Big endian fix.
3751
 
 
3752
 
Fri May 22 07:30:39 1998  Werner Koch  (wk@isil.d.shuttle.de)
3753
 
 
3754
 
        * md.c (md_get_oid): Add a new one for TIGER.
3755
 
 
3756
 
Thu May 21 13:24:52 1998  Werner Koch  (wk@isil.d.shuttle.de)
3757
 
 
3758
 
        * cipher.c: Add support for a dummy cipher
3759
 
 
3760
 
Thu May 14 15:40:36 1998  Werner Koch  (wk@isil.d.shuttle.de)
3761
 
 
3762
 
        * rmd160.c (transform): fixed sigbus - I should better
3763
 
        add Christian von Roques's new implemenation of rmd160_write.
3764
 
 
3765
 
Fri May  8 18:07:44 1998  Werner Koch  (wk@isil.d.shuttle.de)
3766
 
 
3767
 
        * rand-internal.h, rand-unix.c, rand-w32.c, rand_dummy.c: New
3768
 
        * random.c: Moved system specific functions to rand-****.c
3769
 
 
3770
 
Fri May  8 14:01:17 1998  Werner Koch  (wk@isil.d.shuttle.de)
3771
 
 
3772
 
        * random.c (fast_random_poll): add call to gethrtime.
3773
 
 
3774
 
Tue May  5 21:28:55 1998  Werner Koch  (wk@isil.d.shuttle.de)
3775
 
 
3776
 
        * elgamal.c (elg_generate): choosing x was not correct, could
3777
 
        yield 6 bytes which are not from the random pool, tsss, tsss..
3778
 
 
3779
 
Tue May  5 14:09:06 1998  Werner Koch  (wk@isil.d.shuttle.de)
3780
 
 
3781
 
        * primegen.c (generate_elg_prime): Add arg mode, changed all
3782
 
        callers and implemented mode 1.
3783
 
 
3784
 
Mon Apr 27 14:41:58 1998  Werner Koch  (wk@isil.d.shuttle.de)
3785
 
 
3786
 
        * cipher.c (cipher_get_keylen): New.
3787
 
 
3788
 
Sun Apr 26 14:44:52 1998  Werner Koch  (wk@isil.d.shuttle.de)
3789
 
 
3790
 
        * tiger.c, tiger.h: New.
3791
 
 
3792
 
Wed Apr  8 14:57:11 1998  Werner Koch  (wk@isil.d.shuttle.de)
3793
 
 
3794
 
        * misc.c (check_pubkey_algo2): New.
3795
 
 
3796
 
Tue Apr  7 18:46:49 1998  Werner Koch  (wk@isil.d.shuttle.de)
3797
 
 
3798
 
        * cipher.c: New
3799
 
        * misc.c (check_cipher_algo): Moved to cipher.c
3800
 
        * cast5.c: Moved many functions to cipher.c
3801
 
        * blowfish.c: Likewise.
3802
 
 
3803
 
Sat Apr  4 19:52:08 1998  Werner Koch  (wk@isil.d.shuttle.de)
3804
 
 
3805
 
        * cast5.c: Implemented and tested.
3806
 
 
3807
 
Wed Apr  1 16:38:27 1998  Werner Koch  (wk@isil.d.shuttle.de)
3808
 
 
3809
 
        * elgamal.c (elg_generate): Faster generation of x in some cases.
3810
 
 
3811
 
Thu Mar 19 13:54:48 1998  Werner Koch  (wk@isil.d.shuttle.de)
3812
 
 
3813
 
        * blowfish.c (blowfish_decode_cfb): changed XOR operation
3814
 
        (blowfish_encode_cfb): Ditto.
3815
 
 
3816
 
Thu Mar 12 14:04:05 1998  Werner Koch  (wk@isil.d.shuttle.de)
3817
 
 
3818
 
        * sha1.c (transform): Rewrote
3819
 
 
3820
 
        * blowfish.c (encrypt): Unrolled for rounds == 16
3821
 
        (decrypt): Ditto.
3822
 
 
3823
 
Tue Mar 10 16:32:08 1998  Werner Koch  (wk@isil.d.shuttle.de)
3824
 
 
3825
 
        * rmd160.c (transform): Unrolled the loop.
3826
 
 
3827
 
Tue Mar 10 13:05:14 1998  Werner Koch  (wk@isil.d.shuttle.de)
3828
 
 
3829
 
        * random.c (read_pool): Add pool_balance stuff.
3830
 
        (get_random_bits): New.
3831
 
 
3832
 
        * elgamal.c (elg_generate): Now uses get_random_bits to generate x.
3833
 
 
3834
 
 
3835
 
Tue Mar 10 11:33:51 1998  Werner Koch  (wk@isil.d.shuttle.de)
3836
 
 
3837
 
        * md.c (md_digest_length): New.
3838
 
 
3839
 
Tue Mar 10 11:27:41 1998  Werner Koch  (wk@isil.d.shuttle.de)
3840
 
 
3841
 
        * dsa.c (dsa_verify): Works.
3842
 
 
3843
 
Mon Mar  9 12:59:08 1998  Werner Koch  (wk@isil.d.shuttle.de)
3844
 
 
3845
 
        * dsa.c, dsa.h: Removed some unused code.
3846
 
 
3847
 
Wed Mar  4 10:39:22 1998  Werner Koch  (wk@isil.d.shuttle.de)
3848
 
 
3849
 
        * md.c (md_open): Add call to fast_random_poll.
3850
 
        blowfish.c (blowfish_setkey): Ditto.
3851
 
 
3852
 
Tue Mar  3 13:32:54 1998  Werner Koch  (wk@isil.d.shuttle.de)
3853
 
 
3854
 
        * rmd160.c (rmd160_mixblock): New.
3855
 
        * random.c: Restructured to start with a new RNG implementation.
3856
 
        * random.h: New.
3857
 
 
3858
 
Mon Mar  2 19:21:46 1998  Werner Koch  (wk@isil.d.shuttle.de)
3859
 
 
3860
 
        * gost.c, gost.h: Removed because they did only contain trash.
3861
 
 
3862
 
Sun Mar  1 16:42:29 1998  Werner Koch  (wk@isil.d.shuttle.de)
3863
 
 
3864
 
        * random.c (fill_buffer): removed error message if n == -1.
3865
 
 
3866
 
Fri Feb 27 16:39:34 1998  Werner Koch  (wk@isil.d.shuttle.de)
3867
 
 
3868
 
        * md.c (md_enable): No init if called twice.
3869
 
 
3870
 
Thu Feb 26 07:57:02 1998  Werner Koch  (wk@isil.d.shuttle.de)
3871
 
 
3872
 
        * primegen.c (generate_elg_prime): Changed the progress printing.
3873
 
        (gen_prime): Ditto.
3874
 
 
3875
 
Tue Feb 24 12:28:42 1998  Werner Koch  (wk@isil.d.shuttle.de)
3876
 
 
3877
 
        * md5.c, md.5 : Replaced by a modified version of md5.c from
3878
 
        GNU textutils 1.22.
3879
 
 
3880
 
Wed Feb 18 14:08:30 1998  Werner Koch  (wk@isil.d.shuttle.de)
3881
 
 
3882
 
        * md.c, md.h : New debugging support
3883
 
 
3884
 
Mon Feb 16 10:08:47 1998  Werner Koch  (wk@isil.d.shuttle.de)
3885
 
 
3886
 
        * misc.c (cipher_algo_to_string): New
3887
 
        (pubkey_algo_to_string): New.
3888
 
        (digest_algo_to_string): New.
3889
 
 
3890
 
 
3891
 
 Copyright 1998,1999,2000,2001,2002,2003,2004,2005,2006
3892
 
           2007, 2008, 2009 Free Software Foundation, Inc.
3893
 
 
3894
 
 This file is free software; as a special exception the author gives
3895
 
 unlimited permission to copy and/or distribute it, with or without
3896
 
 modifications, as long as this notice is preserved.
3897
 
 
3898
 
 This file is distributed in the hope that it will be useful, but
3899
 
 WITHOUT ANY WARRANTY, to the extent permitted by law; without even the
3900
 
 implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.