12011-06-10 Werner Koch <wk@g10code.com> 2 3 * sexp.c (vsexp_sscan): Add new format specifiers 'M' and 'u'. 4 52011-05-24 Daiki Ueno <ueno@unixuser.org> 6 7 * cipher.h (pk_operation): New. 8 (pk_encoding_ctx): Add new fields: op, nbits, flags, verify_cmp, 9 and verify_arg. 10 112011-05-19 Daiki Ueno <ueno@unixuser.org> 12 13 * Makefile.am (gcryptrnd_LDADD): Supply $(GPG_ERROR_LIBS) for 14 gpg_strerror. 15 162011-05-18 Daiki Ueno <ueno@unixuser.org> 17 18 * cipher.h: Remove PUBKEY_FLAG_UNPAD. 19 202011-05-11 Daiki Ueno <ueno@unixuser.org> 21 22 * cipher.h (PUBKEY_FLAG_UNPAD): New. 23 (enum pk_encoding): New. 24 (struct pk_encoding_ctx): New. 25 262011-04-19 Werner Koch <wk@g10code.com> 27 28 * stdmem.c (_gcry_private_malloc_secure, _gcry_private_malloc): 29 Set ERRNO on failure. 30 * secmem.c (mb_get_new): Set ERRNO on failure. 31 (_gcry_secmem_malloc_internal): Ditto. 32 332011-04-01 Werner Koch <wk@g10code.com> 34 35 * global.c (gcry_realloc): Divert to gcry_malloc or gcry_free. 36 372011-03-09 Werner Koch <wk@g10code.com> 38 39 * gcrypt.h.in (gcry_kdf_algos): New. 40 (gcry_kdf_derive): New. 41 * visibility.c (gcry_kdf_derive): New. 42 * visibility.h, libgcrypt.vers, libgcrypt.def: Add gcry_kdf_derive. 43 442011-02-23 Werner Koch <wk@g10code.com> 45 46 * libgcrypt-config.in: Add option --host. 47 * libgcrypt.m4: Use AC_PROG_TOOL to find the config script. Print 48 a warning is the config scripts does not match the configure host. 49 502011-02-21 Werner Koch <wk@g10code.com> 51 52 * global.c (gcry_check_version): Do not take the patchlevel in 53 account; it is not well defined. 54 552011-02-17 Werner Koch <wk@g10code.com> 56 57 * gcrypt-module.h (gcry_cipher_register, gcry_cipher_unregister) 58 (gcry_pk_register, gcry_pk_unregister, gcry_md_register) 59 (gcry_md_unregister): Mark as deprecated by the API; in a future 60 version the module register feature will be removed. 61 62 * gcrypt.h.in: Attribute all _ac_ functions and types as 63 deprecated by the API. 64 65 * hwfeatures.c (detect_ia32_gnuc): Fix AES-NI detection. Use AND 66 instead of SUB for bit testing. 67 682011-02-16 Werner Koch <wk@g10code.com> 69 70 * gcrypt.h.in (GCRYCTL_DISABLE_HWF): New. 71 * global.c (_gcry_vcontrol): Support new control code. 72 (print_config): Factor list of hwfeatures out to ... 73 (hwflist): new. 74 (disabled_hw_features): New. 75 (global_init): Pass new variable to _gcry_detect_hw_features. 76 * hwfeatures.c (_gcry_detect_hw_features): Add arg 77 DISABLED_FEATURES and disable detected features. 78 792011-02-11 Werner Koch <wk@g10code.com> 80 81 * g10lib.h (HWF_INTEL_AES): Rename to HWF_INTEL_AESNI. 82 * hwfeatures.c (detect_ia32_gnuc): Fix setting of this flag. 83 842011-02-01 Werner Koch <wk@g10code.com> 85 86 * gcrypt.h.in (gcry_pk_get_curve, gcry_pk_get_param): New. 87 * libgcrypt.vers (gcry_pk_get_curve, gcry_pk_get_param): Add. 88 * libgcrypt.def (gcry_pk_get_curve, gcry_pk_get_param): Add. 89 * visibility.c (gcry_pk_get_curve, gcry_pk_get_param): New. 90 * cipher-proto.h (pk_extra_spec): Add fields GET_CURVE and 91 GET_CURVE_PARM. 92 932011-01-31 Werner Koch <wk@g10code.com> 94 95 * sexp.c (vsexp_sscan): Allow opaque MPIs in "%m". 96 972010-08-27 Werner Koch <wk@g10code.com> 98 99 * g10lib.h (HWF_INTEL_AES): New. 100 * global.c (print_config): Print new flag. 101 * hwfeatures.c (detect_ia32_gnuc): Detect this flag. 102 1032010-08-16 Werner Koch <wk@g10code.com> 104 105 * gcrypt.h.in [!WIN32]: Add INSERT_SYS_SELECT_H autoconf substitute. 106 1072010-07-09 Werner Koch <wk@g10code.com> 108 109 * gcrypt.h.in [!__GNUC__ && W32]: Typedef ssize_t and pid_t to 110 help building with MSVC. 111 1122010-06-24 Werner Koch <wk@g10code.com> 113 114 * gcrypt.h.in [W32]: Include time.h and not sys/time.h. 115 1162010-04-19 Marcus Brinkmann <marcus@g10code.de> 117 118 * misc.c (write2stderr): Dummy variable to silence gcc warning. 119 1202010-04-16 Marcus Brinkmann <marcus@g10code.de> 121 122 * sexp.c: (sexp_sscan): Make it variable length, and rename the 123 old version to ... 124 (vsexp_sscan): ... this new function. Also swap last two arguments. 125 (gcry_sexp_create): Remove dummy va_list. 126 (gcry_sexp_build): Use vsexp_sscan instead of sexp_sscan. 127 (_gcry_sexp_vbuild): Likewise. 128 (gcry_sexp_build_array): Remove dummy va_list. 129 (gcry_sexp_sscan): Likewise. 130 1312010-04-12 Brad Hards <bradh@frogmouth.net> (wk) 132 133 Spelling fixes. 134 1352010-03-15 Werner Koch <wk@g10code.com> 136 137 * gcrypt.h.in: Add autoconf template to set generated file to 138 read-only in an Emacs buffer. 139 1402010-01-21 Werner Koch <wk@g10code.com> 141 142 * Makefile.am (arch_gpg_error_cflags, arch_gpg_error_libs): New. 143 (dumpsexp_CFLAGS): New. 144 (dumpsexp_LDADD): Add arch_gpg_error_libs. 145 (hmac256_CFLAGS, hmac256_LDADD): Add the arch variables. 146 (libgcrypt_la_DEPENDENCIES): Add libcompat. 147 * secmem.c (lock_pool): Mark unused args. 148 * global.c (do_malloc, gcry_realloc, gcry_free, gcry_calloc) 149 (gcry_calloc_secure, gcry_xcalloc, gcry_xcalloc_secure): Use 150 gpg_err_set_errno. 151 (_gcry_vcontrol): Call _gcry_compat_identification. 152 * hmac256.c [__MINGW32CE__]: Include gpg-error.h. 153 (_gcry_hmac256_file): Use gpg_err_set_errno. 154 (gpg_err_set_errno) [!GPG_ERR_INLINE]: Add macro. 155 * g10lib.h: Include libcompat.h. 156 1572010-01-05 Werner Koch <wk@g10code.com> 158 159 * gcrypt.h.in (GCRY_PK_ECDH): New. 160 1612009-12-08 Werner Koch <wk@g10code.com> 162 163 * gcrypt.h.in (GCRY_CIPHER_MODE_AESWRAP): New. 164 1652009-12-08 Marcus Brinkmann <marcus@g10code.de> 166 167 * Makefile.am (LTRCCOMPILE): Refactor with ... 168 (RCCOMPILE): ... this new macro. Add $(libgcrypt_la_CPPFLAGS). 169 (SUFFIXES): Add .lo. 170 (.rc.o): Change to ... 171 (.rc.lo): ... this implicit rule. 172 (gcrypt_res_ldflag): Removed. 173 (gcrypt_res): Use libtool object file name here. 174 (libgcrypt_la_LDFLAGS): Remove gcrypt_res_ldflag usage. 175 (libgcrypt_la_LIBADD): Add gcrypt_res. 176 1772009-11-29 Werner Koch <wk@g10code.com> 178 179 * hwfeatures.c (detect_ia32_gnuc): Repalce "=r" by "+r" so that 180 HAS-CPUDID is always initialized. Thanks to Ben Hutchings for 181 pointing out this problem. 182 1832009-08-05 Werner Koch <wk@g10code.com> 184 185 * ath.h: Include sys/msg.h. 186 1872009-07-02 Werner Koch <wk@g10code.com> 188 189 * fips.c (_gcry_initialize_fips_mode): Do not use FIPS mode if 190 /proc/.../fips_enabled has insufficient permissions. 191 192 * dumpsexp.c (main): Fix handling multiple files. 193 (parse_and_print): Implement hex and octal escaping. 194 195 * sexp.c (unquote_string): Remove superfluous clearing of ESC. 196 * dumpsexp.c (parse_and_print): Add missing break. 197 (main): Fix return value. 198 Reported by Fabian Keil. 199 2002009-02-16 Werner Koch <wk@g10code.com> 201 202 * ath.h [HAVE_SYS_SELECT_H]: Include <sys/select.h> for fd_set. 203 [!HAVE_SYS_SELECT_H]: Include <sys/time.h>. Move inclusion of 204 config.h to the top. The actual configure check was already 205 there. 206 207 * sexp.c: Remove memory.h. 208 * mpi.h: Remove memory.h. Add string.h. 209 2102009-02-02 Werner Koch <wk@g10code.com> 211 212 * ath.h: Include sys/time.h. Fixes bug#993. 213 2142009-01-22 Werner Koch <wk@g10code.com> 215 216 * fips.c (_gcry_initialize_fips_mode): Remove superfluous const 217 from static string. Reported by Albert Chin. 218 * hmac256.c (selftest): Ditto and change to unsigned char. 219 2202008-12-10 Werner Koch <wk@g10code.com> 221 222 * hmac256.c (finalize): Fix for big endian hosts. 223 2242008-12-05 Werner Koch <wk@g10code.com> 225 226 * global.c (gcry_free): Save and restore ERRNO if set. 227 2282008-11-24 Werner Koch <wk@g10code.com> 229 230 * sexp.c (get_internal_buffer): New. 231 (sexp_sscan): Add format character S. 232 * cipher-proto.h (pk_ext_generate_t): Add field EXTRAINFO changed 233 all implementors. 234 235 * cipher-proto.h (pk_ext_generate_t): Simplify. 236 (pk_get_param): New. 237 (pk_extra_spec_t): Add field GET_PARAM. 238 * cipher.h (PUBKEY_FLAG_TRANSIENT_KEY): Remove. 239 (_gcry_pubkey_extraspec_elg): New. 240 2412008-11-05 Werner Koch <wk@g10code.com> 242 243 * cipher.h (CIPHER_INFO_NO_WEAK_KEY): New. 244 245 * cipher-proto.h (cipher_set_extra_info_t): New. 246 (cipher_extra_spec): Add field SET_EXTRA_INFO. 247 2482008-10-30 Werner Koch <wk@g10code.com> 249 250 * g10lib.h (GCC_ATTR_FORMAT_ARG): New. 251 (_gcry_gettext): Use it. 252 2532008-10-24 Werner Koch <wk@g10code.com> 254 255 * global.c (inactive_fips_mode): Move to fips.c. 256 (gcry_set_allocation_handler): Factor code out to ... 257 * fips.c (_gcry_inactivate_fips_mode): New. 258 (_gcry_is_fips_mode_inactive): New. 259 2602008-09-29 Werner Koch <wk@g10code.com> 261 262 * gcrypt-module.h (GCRY_MODULE_ID_USER, GCRY_MODULE_ID_USER_LAST): 263 New. 264 * module.c (MODULE_ID_USER, MODULE_ID_USER_LAST): Define using new 265 macros. 266 2672008-09-20 Werner Koch <wk@g10code.com> 268 269 * hmac256.c (finalize) [WORDS_BIGENDIAN]: Fix sigbus problem. 270 2712008-09-18 Werner Koch <wk@g10code.com> 272 273 * cipher-proto.h (pk_ext_generate_t): Add args QBITS, NAME, DOMAIN. 274 275 * fips.c (fips_new_state): Allow Error => Error transition. 276 2772008-09-18 Werner Koch <wk@g10code.com> 278 279 * gcrypt.h.in (gcry_fips_mode_active): New. 280 281 * secmem.c (_gcry_secmem_init): Factor most code out to .. 282 (secmem_init): .. new. 283 (DEFAULT_POOL_SIZE): Rename to MINIMUM_POOL_SIZE. 284 (STANDARD_POOL_SIZE): New. 285 (_gcry_secmem_malloc_internal): Don't abort if the pool is not 286 initialized but try to out intialize it first and only then print 287 an error message and return NULL. If the pool is not locked while 288 in FIPS mode, return NULL. 289 290 * fips.c (FIPS_FORCE_FILE): New constant. Change the file name to 291 "/etc/gcrypt/fips_enabled". 292 (enforced_fips_mode): New. 293 (_gcry_initialize_fips_mode): Set that flag. 294 (_gcry_enforced_fips_mode): New. 295 * global.c (inactive_fips_mode): New. 296 (_gcry_vcontrol): Take that flag in account for GCRYCTL_FIPS_MODE_P. 297 (gcry_set_allocation_handler): Take care of the enforced fips mdoe 298 flag. 299 (get_no_secure_memory): New. 300 (do_malloc, gcry_is_secure): Use it. 301 3022008-09-16 Werner Koch <wk@g10code.com> 303 304 * global.c (print_config): Use y/n for fips mode. 305 306 * fips.c (fips_new_state): Allow transition to Error and 307 Fatal-error from Init. 308 3092008-09-15 Werner Koch <wk@g10code.com> 310 311 * fips.c [HAVE_SYSLOG]: Include syslog.h. 312 (_gcry_initialize_fips_mode, lock_fsm, unlock_fsm) 313 (_gcry_fips_signal_error, fips_new_state) 314 (_gcry_fips_noreturn) [HAVE_SYSLOG]: Also log via syslog. 315 (check_binary_integrity) [HAVE_SYSLOG]: Log failure. 316 * global.h [HAVE_SYSLOG]: Include syslog.h. 317 (_gcry_global_is_operational) [HAVE_SYSLOG]: Print warning. 318 319 * global.c (_gcry_vcontrol): Use GCRYCTL_INITIALIZATION_FINISHED 320 to run power-up tests. Add unpublished control commands 58-60. 321 322 * global.c (_gcry_global_is_operational): New. 323 * g10lib.h (fips_is_operational): Change to call this function. 324 3252008-09-12 Werner Koch <wk@g10code.com> 326 327 * fips.c (_gcry_fips_run_selftests): Add arg EXTENDED. 328 (run_cipher_selftests, run_digest_selftests, run_hmac_selftests) 329 (run_pubkey_selftests): Ditto. 330 * cipher-proto.h (selftest_func_t): Add arg EXTENDED 331 3322008-09-11 Werner Koch <wk@g10code.com> 333 334 * fips.c: Include string.h. 335 (loxtoi_1, loxtoi_2, loxdigit_p): New. 336 (check_binary_integrity): Change the format of the expected file. 337 338 * fips.c (_gcry_fips_run_selftests): Run random tests before the 339 pubkey tests. 340 3412008-09-05 Werner Koch <wk@g10code.com> 342 343 * gcrypt.h.in (GCYRCTL_SELFTEST): New. 344 * global.c (_gcry_vcontrol): Implement. 345 * fips.c (_gcry_fips_run_selftests): Do state transitions only if 346 in fips mode. Return an error code. 347 3482008-09-01 Werner Koch <wk@g10code.com> 349 350 * stdmem.c: Re-indented. 351 3522008-08-29 Werner Koch <wk@g10code.com> 353 354 * fips.c (_gcry_initialize_fips_mode): Changed /proc file to test 355 for FIPS mode. 356 357 * cipher-proto.h (pk_compute_keygrip_t): New. 358 (pk_extra_spec): Add field comp_keygrip. 359 3602008-08-28 Werner Koch <wk@g10code.com> 361 362 * hwfeatures.c (_gcry_detect_hw_features): Disable hardware 363 detection in FIPS mode. 364 3652008-08-27 Werner Koch <wk@g10code.com> 366 367 * global.c (_gcry_vcontrol): Allow running selftests from error 368 state. 369 (gcry_set_outofcore_handler): Only print a warning if used in FIPS 370 mode. 371 (gcry_xmalloc, gcry_xrealloc, gcry_xmalloc_secure, gcry_xstrdup): 372 Ignore an outofcore handler in FIPS mode. 373 374 * fips.c (_gcry_fips_test_error_or_operational): New. 375 (fips_new_state): Allow transition from error into selftest. 376 Disallow error to init. 377 3782008-08-26 Werner Koch <wk@g10code.com> 379 380 * fips.c (fips_new_state): Print state transitions only at 381 verbosity level of 2. 382 (reporter): Likewise. 383 384 * cipher-proto.h (pk_ext_generate_t): New. 385 (pk_extra_spec): Add member ext_generate. 386 * cipher.h (PUBKEY_FLAG_TRANSIENT_KEY): New. 387 3882008-08-22 Werner Koch <wk@g10code.com> 389 390 * hmac256.c (_gcry_hmac256_file): New. 391 (main): New option --binary. 392 * fips.c (check_binary_integrity): New. 393 (_gcry_fips_run_selftests): Run it. 394 395 * global.c (_gcry_vcontrol) <GCRYCTL_UPDATE_RANDOM_SEED_FILE>: 396 Check for fips operational state. 397 (_gcry_vcontrol) <GCRYCTL_FAST_POLL>: Ditt. 398 3992008-08-21 Werner Koch <wk@g10code.com> 400 401 * misc.c (_gcry_log_printhex): New. 402 4032008-08-20 Werner Koch <wk@g10code.com> 404 405 * g10lib.h (gcry_assert): New. use this at almost all places 406 where we used a plain assert. 407 * misc.c (_gcry_assert_failed): New. 408 (_gcry_bug): Also use func variant for ISO-C99. 409 4102008-08-19 Werner Koch <wk@g10code.com> 411 412 * visibility.c, visibility.h (gcry_mpi_lshift): New. 413 * libgcrypt.vers, libgcrypt.def, gcrypt.h.in: Ditto. 414 4152008-08-15 Werner Koch <wk@g10code.com> 416 417 * gcrypt.h.in (gcry_cipher_setkey): Replace macro by function. 418 (gcry_cipher_setiv): Ditto. 419 (gcry_cipher_setctr): Ditto. 420 * visibility.c (gcry_cipher_setkey, gcry_cipher_setiv) 421 (gcry_cipher_setctr): New. 422 * visibility.h (gcry_cipher_setkey, gcry_cipher_setiv) 423 (gcry_cipher_setctr): New. 424 * libgcrypt.vers (gcry_cipher_setkey, gcry_cipher_setiv) 425 (gcry_cipher_setctr): New. 426 * libgcrypt.def (gcry_cipher_setkey, gcry_cipher_setiv) 427 (gcry_cipher_setctr): New. 428 429 * hmac256.h, hmac256.c: New. 430 * Makefile.am (hmac256_SOURCES): New. 431 * Makefile.am (bin_PROGRAMS): Add hmac256. 432 433 * gcrypt.h.in (struct gcry_thread_cbs): Change type of OPTION to 434 unsigned int. Although this is a type change it does not make a 435 difference. 436 * ath.c (ath_install): Take the version of the option field in 437 account. 438 439 * visibility.c (gcry_pk_encrypt, gcry_pk_decrypt, gcry_pk_sign) 440 (gcry_pk_verify, gcry_pk_testkey, gcry_pk_genkey) 441 (gcry_pk_get_nbits, gcry_pk_get_keygrip) 442 (gcry_md_open, gcry_md_copy, gcry_md_enable) 443 (gcry_md_write, md_final, gcry_md_ctl, gcry_md_setkey) 444 (gcry_md_hash_buffer, gcry_md_get_algo, gcry_md_info) 445 (gcry_md_is_enabled) 446 (gcry_cipher_open, gcry_cipher_encrypt) 447 (gcry_cipher_decrypt, gcry_cipher_ctl) 448 (gcry_cipher_algo_info): Check whether the library is operational. 449 450 * cipher-proto.h: New. 451 * cipher.h: Include cipher-proto.h. 452 * visibility.h: Remove duplicate macro definitions. Remove 453 gcry_cipher_register, gcry_md_register, gcry_pk_register macros. 454 * visibility.c: Include cipher-proto.h. 455 (gcry_cipher_register): Pass dummy extra args to the internal 456 register function. 457 (gcry_md_register, gcry_pk_register): Ditto. 458 * g10lib.h (struct gcry_module): Add field EXTRASPEC. 459 * module.c (_gcry_module_add): Add arg EXTRASPEC. Changed all 460 callers to pass NULL. 461 462 * fips.c: New. 463 * gcrypt.h.in (GCRYCTL_FIPS_MODE_P): New. 464 * global.c (global_init): Call fips initialization. 465 (_gcry_vcontrol): Add GCRYCTL_FIPS_MODE_P code. 466 (print_config): Add config item fips-mode. 467 (gcry_set_allocation_handler): Do not allow the use of custom 468 allocation handlers. 469 (gcry_set_outofcore_handler): Ditto. 470 (_gcry_get_debug_flag): Do not return any debug flags in fips mode. 471 * misc.c (_gcry_logv): Signal fips error on BUG or FATAL. 472 (_gcry_fatal_error): Ditto. 473 4742008-07-05 Werner Koch <wk@g10code.com> 475 476 * Makefile.am: Include librandom.la. 477 4782008-04-18 Werner Koch <wk@g10code.com> 479 480 * missing-string.c (vasprintf): Remove. It is not used. Reported 481 by Simon Josefsson. 482 4832008-03-11 Werner Koch <wk@g10code.com> 484 485 * gcrypt.h.in (gcry_ac_em_t, gcry_ac_scheme_t): Remove trailing 486 comma for full C-89 compatibility. 487 4882008-01-21 Marcus Brinkmann <marcus@g10code.de> 489 490 * hwfeatures.c (detect_ia32_gnuc): Fix inline asm. 491 4922007-12-11 Werner Koch <wk@g10code.com> 493 494 * visibility.c (gcry_md_hash_buffer): Don't use return vor a void 495 function. Hey, why does gcc not complain about this? 496 (gcry_ac_io_init_va): Ditto. 497 4982007-12-05 Werner Koch <wk@g10code.com> 499 500 * hwfeatures.c (detect_ia32_gnuc): Depend on ENABLE_PADLOCK_SUPPORT. 501 5022007-12-03 Werner Koch <wk@g10code.com> 503 504 * misc.c (_gcry_logv): Use abort for error levels fatal and bug as 505 this is more approriate for a library. Terminate the secmem 506 before doing so. 507 (_gcry_fatal_error): Terminate secmem before abort. 508 * secmem.c (_gcry_secmem_malloc_internal): Use log_bug instead of 509 exit. 510 5112007-11-29 Werner Koch <wk@g10code.com> 512 513 * hwfeatures.c (detect_ia32_gnuc): Detect Padlock engine. 514 5152007-11-13 Werner Koch <wk@g10code.com> 516 517 * gcrypt.h.in (_GCRY_GCC_ATTR_MALLOC): Fixed gcc version check. 518 Reported by Gabriele Monti. 519 5202007-10-31 Werner Koch <wk@g10code.com> 521 522 * global.c (gcry_control): Factor most code out to .. 523 (_gcry_vcontrol): .. new. 524 * sexp.c (_gcry_sexp_vbuild): New. 525 * mpi.h (_gcry_mpi_set, _gcry_mpi_set_ui, _gcry_mpi_invm): Remove 526 prototypes as they are already in gcrypt.h. 527 5282007-10-30 Werner Koch <wk@g10code.com> 529 530 * sexp.c (gcry_sexp_nth_string): Replace by _gcry_sexp_nth_string. 531 532 * visibility.h, visibility.c: New. 533 * g10lib.h: Include visibility.h instead of gcrypt.h. 534 * globals.c (_gcry_malloc): Rename to .. 535 (do_malloc): .. this. 536 537 * hwfeatures.c: New. 538 * global.c (global_init): Detect features. 539 (print_config): Print them. 540 5412007-08-22 Werner Koch <wk@g10code.com> 542 543 * dumpsexp.c: New. 544 * Makefile.am (bin_PROGRAMS): Install it. 545 546 * getrandom.c (print_version): Use new standard license line. 547 * gcryptrnd.c (print_version): Ditto. 548 5492007-06-06 Werner Koch <wk@g10code.com> 550 551 * gcrypt.h.in (GCRY_THREAD_OPTION_PTH_IMPL): Factror network 552 related code out so that the prototypes can be adjusted for W32. 553 (_GCRY_THREAD_OPTION_PTH_IMPL_NET): New. 554 5552007-05-09 Werner Koch <wk@g10code.com> 556 557 * libgcrypt.m4: Print found version on success. 558 5592007-05-09 Marcus Brinkmann <marcus@g10code.de> 560 561 * gcrypt.h.in (gcry_ac_io_t): Add name for anonymous union, and mark 562 all members as internal (actually: deprecated). 563 5642007-05-04 Werner Koch <wk@g10code.com> 565 566 * Makefile.am (.rc.lo): New to replace gmake specific suffix rule. 567 5682007-05-03 Werner Koch <wk@g10code.com> 569 570 * libgcrypt.def (gcry_sexp_nth_string): New. 571 * Makefile.am (EXTRA_DIST): Add libgcrypt.def. 572 5732007-05-02 Werner Koch <wk@g10code.com> 574 575 * global.c (print_config): Print ciphers, digests and pubkeys. 576 5772007-05-02 David Shaw <dshaw@jabberwocky.com> 578 579 * cipher.h, gcrypt.h.in: Add Camellia. 580 5812007-04-30 Werner Koch <wk@g10code.com> 582 583 * gcrypt.h.in (GCRYCTL_PRINT_CONFIG): New. 584 (GCRYCTL_SET_RNDEGD_SOCKET): New. 585 * global.c (gcry_control): Add GCRYCTL_PRINT_CONFIG and 586 GCRYCTL_SET_RNDEGD_SOCKET. 587 (print_config): New. 588 * misc.c (_gcry_log_info_with_dummy_fp): New. 589 5902007-04-18 Werner Koch <wk@g10code.com> 591 592 * gcrypt.h.in (gcry_sexp_nth_string): New. 593 594 * sexp.c (gcry_sexp_nth_data): Factored code out to ... 595 (sexp_nth_data): ... new. 596 (gcry_sexp_nth_string): New. 597 (gcry_sexp_nth_mpi): Reimplemented in terms of sexp_ntd_data. 598 5992007-04-16 Werner Koch <wk@g10code.com> 600 601 * secmem.c (init_pool): Use sysconf() if available to determine 602 page size. 603 6042007-03-22 Werner Koch <wk@g10code.com> 605 606 * mpi.h (mpi_mod): New. 607 (mpi_new, mpi_snew): New. 608 609 * gcrypt.h.in: Add GCRY_PK_ECDSA. 610 6112007-03-16 Werner Koch <wk@g10code.com> 612 613 * gcrypt.h.in (GCRY_THREAD_OPTION_PTHREAD_IMPL): Fixed typo 614 introduced by me on 2006-10-23. 615 6162007-02-22 Werner Koch <wk@g10code.com> 617 618 * gcrypt.h.in (gcry_ac_id_to_name, gcry_ac_name_to_id): Mark as 619 deprecated. 620 621 * libgcrypt.def (gcry_fast_random_poll): Removed - it is a macro. 622 (gcry_cipher_register, gcry_cipher_unregister): New. 623 (gcry_md_register, gcry_md_unregister): New. 624 (gcry_pk_register, gcry_pk_unregister): New. 625 (gcry_ac_data_from_sexp, gcry_ac_data_to_sexp): New. 626 (gcry_ac_io_init, gcry_ac_io_init_va): New. 627 (gcry_ac_data_encrypt_scheme, gcry_ac_data_decrypt_scheme): New. 628 (gcry_ac_data_sign_scheme, gcry_ac_data_verify_scheme): New. 629 630 * missing-string.c: Include stdio.h for the vsprintf prototype. 631 632 * ath.h (struct ath_ops) [_WIN32]: Use int instead of socklen_t. 633 6342007-02-21 Werner Koch <wk@g10code.com> 635 636 * libgcrypt.def (gcry_create_nonce, gcry_fast_random_poll) 637 (gcry_md_debug): New. 638 639 * libgcrypt-config.in: Remove duplicates from --cflags and --libs. 640 Print a error for option --thread. 641 642 * gcrypt.h.in (gcry_sexp_sprint): Change BUFFER from char* to void*. 643 (gcry_md_ctl): Change BUFFER from unsigned char* to void*. 644 (gcry_md_debug): New. 645 (gcry_cipher_encrypt, gcry_cipher_decrypt): Change buffer args to 646 void*. 647 (gcry_randomize): Change BUFFER to void. 648 (gcry_create_nonce): Ditto. 649 650 * libgcrypt.vers (gcry_md_debug): New. 651 652 * sexp.c (gcry_sexp_sprint): Ditto. 653 (normalize): Make P unsigned. 654 (gcry_sexp_nth_data): Cast return value to char*. 655 (sexp_sscan): Fix sign/unsigned conflicts. 656 (whitespacep): Change P to char*. 657 (unquote_string): Change STRING to char*. 658 (convert_to_hex): Change DEST to char*. 659 (convert_to_string): Change DEST and P to char*. 660 (convert_to_token): Chnage DEST to char*. 661 (gcry_sexp_canon_len): Change DISPHINT to unsigned char*. 662 663 * gcrypt-module.h (gcry_pk_spec): Made ALIASES a const. 664 (gcry_md_write_t): Changed BUF to a const void*. 665 6662007-02-12 Werner Koch <wk@g10code.com> 667 668 * gcrypt.h.in: Include stdlib.h for the sake fo the trheading 669 macros. Suggested by Andreas Metzler. 670 671 * secmem.c (ptr_into_pool_p): New. 672 (_gcry_private_is_secure): Implement in terms of new function. 673 (BLOCK_VALID): Removed. Replaced all users by new function. 674 6752007-01-31 Werner Koch <wk@g10code.com> 676 677 * secmem.c (_gcry_private_is_secure): Fixed severe implementation 678 flaw. Might be the reason for some of the more obscure bugs. 679 (MB_WIPE_OUT): Use wipememory2. 680 6812006-10-23 Werner Koch <wk@g10code.com> 682 683 * gcrypt.h.in (GCRY_THREAD_OPTION_PTHREAD_IMPL): Add some cast for 684 use by C-doubleplus. In general I don't like this but due to 685 public demand I give up ;-) 686 6872006-10-19 Werner Koch <wk@g10code.com> 688 689 * global.c (gcry_control) <GCRYCTL_INIT_SECMEM>: Return an error 690 if the memory could not be locked. 691 * secmem.c (not_locked): New. 692 (_gcry_secmem_get_flags): Return that flag. 693 * secmem.h (GCRY_SECMEM_FLAG_NOT_LOCKED): New. 694 6952006-10-05 Werner Koch <wk@g10code.com> 696 697 * module.c (_gcry_module_id_new): Don't assign modules in the range 698 the range of 1024..4096. 699 * gcrypt.h (GCRY_MD_USER, GCRY_MD_USER_LAST): New 700 (GCRY_PK_USER, GCRY_PK_USER_LAST): New. 701 (GCRY_CIPHER_USER, GCRY_CIPHER_USER_LAST): New. 702 7032006-10-12 Marcus Brinkmann <marcus@g10code.de> 704 705 * gcrypt.h.in: Replace socklen_t with gcry_socklen_t. 706 7072006-10-11 Marcus Brinkmann <marcus@g10code.de> 708 709 * gcrypt.h.in: Replace version by @VERSION@. 710 7112006-10-10 Marcus Brinkmann <marcus@g10code.de> 712 713 * gcrypt.h: Add fallback type for socklen_t. Move to ... 714 * gcrypt.h.in: ... this file. 715 * Makefile.am (EXTRA_DIST): Add gcrypt.h.in. 716 7172006-09-04 Werner Koch <wk@g10code.com> 718 719 * gcrypt.h: Removed some trailing comma in enums. 720 7212006-08-29 Werner Koch <wk@g10code.com> 722 723 * global.c (gcry_xrealloc): Pass secure flag to outofcore handler. 724 725 * gcrypt.h (GCRY_CIPHER_SEED): New. 726 7272006-08-21 Werner Koch <wk@g10code.com> 728 729 * gcrypt.h (GCRYCTL_FAKED_RANDOM_P): New. 730 7312006-07-29 Marcus Brinkmann <marcus@g10code.de> 732 733 * secmem.c (init_pool): Close FD after establishing the mapping. 734 7352006-07-12 Marcus Brinkmann <marcus@g10code.de> 736 737 * ath.c (ath_mutex_destroy): Microoptimize destruction of unused 738 statitically initialized mutexes. Suggested by Victor Stinner 739 <victor.stinner@inl.fr>. 740 741 * gcrypt.h (GCRY_THREAD_OPTION_PTHREAD_IMPL, 742 (GCRY_THREAD_OPTION_PTH_IMPL): Add missing initializers to 743 suppress gcc warning. 744 Submitted by Victor Stinner <victor.stinner@inl.fr>. 745 7462006-07-04 Marcus Brinkmann <marcus@g10code.de> 747 748 * ath.c: Avoid warning about double defined type byte and other 749 hacks to let it build for W32 (backported from LIBGCRYPT-1-2-BRANCH). 750 * ath.h, gcrypt.h, tests/benchmark.c, src/types.h: Likewise. 751 752 * gcrypt.h: Revert last change, and instead: 753 [_WIN32 || __WIN32__]: Do not include <sys/socket.h>, but 754 <winsock2.h> and <ws2tcpip.h>. 755 Suggested by Simon Josefsson <jas@extundo.com>. 756 757 * Makefile.am (install-data-local, uninstall-local, %.lo, 758 (install-def-file, uninstall-def-file): New targets. 759 (LTRCCOMPILE, gcrypt_res, gcrypt_res_ldflag, no_undefined, 760 (export_symbols, gcrypt_deps): New variables. 761 * versioninfo.rc.in: New file. 762 * libgcrypt.def: New file from ../w32-dll/libgcrypt.def. 763 764 * gcrypt.h [!HAVE_SYS_SOCKET_H]: Do not include sys/socket.h, but 765 the appropriate windows socket header. 766 7672006-06-21 Werner Koch <wk@g10code.com> 768 769 * global.c (gcry_xcalloc, gcry_xcalloc_secure): Made safe against 770 integer overflow. 771 772 * sexp.c (make_space): Return an error on out of core. 773 (sexp_sscan): Remove all xmalloc style calls and return proper 774 error codes on allocation failures. 775 (gcry_sexp_find_token): Ditto. 776 (gcry_sexp_nth): 777 778 * sexp.c (gcry_sexp_find_token): Re-indented and removed a cruft 779 "while(level);" which fortunately had no effect. 780 7812006-04-28 Werner Koch <wk@g10code.com> 782 783 * gcrypt.h (GCRY_MD_SHA224): Change value from 306 to 11 to match 784 the use in OpenPGP. There has been no release yet, so we can 785 safely do it. 786 7872006-04-22 Moritz Schulte <moritz@g10code.com> 788 789 * gcrypt.h (gcry_ctl_cmds): New commands: 790 GCRYCTL_SET_RANDOM_DAEMON_SOCKET, GCRYCTL_USE_RANDOM_DAEMON. 791 * global.c (gcry_control): Handle new commands, calling 792 _gcry_set_random_daemon_socket() and _gcry_use_random_daemon(). 793 7942006-04-18 Werner Koch <wk@g10code.com> 795 796 * gcrypt.h (GCRY_PK_USAGE_CERT, GCRY_PK_USAGE_AUTH) 797 (GCRY_PK_USAGE_UNKN): New. 798 7992006-04-01 Moritz Schulte <moritz@g10code.com> 800 801 * gcrypt.h (gcry_ac_eme_pkcs_v1_5): Removed members: key, handle; 802 added member: key_size. 803 804 * secmem.c (MB_FLAG_ACTIVE): Write braces around MB_FLAG_ACTIVE 805 definition. 806 8072006-03-15 Werner Koch <wk@g10code.com> 808 809 * getrandom.c: New. 810 8112006-03-14 Werner Koch <wk@g10code.com> 812 813 * gcryptrnd.c: New. 814 8152006-03-10 Werner Koch <wk@g10code.com> 816 817 * gcrypt.h: Add GCRY_MD_SHA224. 818 8192005-11-02 Moritz Schulte <moritz@g10code.com> 820 821 * gcrypt.h: Update comments for functions: gcry_cipher_algo_name, 822 gcry_pk_algo_name. 823 8242005-10-31 Moritz Schulte <moritz@g10code.com> 825 826 * global.c: Added documentation. 827 8282005-10-16 Moritz Schulte <moritz@g10code.com> 829 830 * global.c (global_init): Use gcry_error_t instead of 831 gcry_err_code_t; use goto instead of if constructs. 832 833 * stdmem.c: Inserted description of the layered memory management 834 in Libgcrypt. 835 836 * g10lib.h: Removed G10_I18N_H related check; it seems to be a 837 GnuPG relict (Libgcrypt does not define this symbol anywhere). 838 (FLAG_MODULE_DISABLED): Don't forget parantheses around shifted 839 value. 840 841 Removed GCC_ATTR_PURE macro definitions, since gcrypt.h does 842 already contain such a macro named _GCRY_GCC_ATTR_PURE, which we 843 can use here as well. 844 845 Likewise for GCC_ATTR_MALLOC and _GCRY_GCC_ATTR_MALLOC. 846 847 * stdmem.h: Use _GCRY_GCC_ATTR_MALLOC instead of GCC_ATTR_MALLOC. 848 * secmem.h: Likewise. 849 8502005-10-09 Moritz Schulte <moritz@g10code.com> 851 852 * global.c (gcry_control): Call global_init() after passing thread 853 cbs to ath. global_init() MUST to be called AFTER passing the cbs 854 to ath and BEFORE calling library functions, which make use of 855 ath. This change combines cbs installing with ath initialization 856 and thus removes the need to call other library initialization 857 functions inbetween like e.g. gcry_check_version(). 858 8592005-10-01 Moritz Schulte <moritz@g10code.com> 860 861 * ath.c: Assign copyright to FSF. 862 * ath.h: Likewise. 863 8642005-06-25 Moritz Schulte <moritz@g10code.com> 865 866 * Makefile.am (pkgconfigdir, pkgconfig_DATA): Removed variables. 867 * libgcrypt.pc.in: Removed file - we do not want to support a 868 second, foreign configuration system. 869 8702005-06-17 Moritz Schulte <moritz@g10code.com> 871 872 * global.c (gcry_xstrdup): Removed superfluous strcpy call. 873 8742005-04-22 Moritz Schulte <moritz@g10code.com> 875 876 * Makefile.am (pkgconfigdir, pkgconfig_DATA): New; support for 877 pkgconfig provided by Albert Chin. 878 * libgcrypt.pc.in (Cflags): New file. 879 8802005-04-16 Moritz Schulte <moritz@g10code.com> 881 882 * g10lib.h (_gcry_ac_init): Declare. 883 * global.c (global_init): Call _gcry_ac_init; don't forget to set 884 err. 885 8862005-04-14 Werner Koch <wk@g10code.com> 887 888 * sexp.c (whitespacep): New. 889 (sexp_sscan): Replaced isdigit and isspace by whitespacep and 890 digitp. 891 8922005-04-11 Moritz Schulte <moritz@g10code.com> 893 894 * gcrypt.h (gcry_md_algos): Added: GCRY_MD_WHIRLPOOL. 895 * cipher.h (_gcry_digest_spec_whirlpool): Declare. 896 8972005-03-30 Moritz Schulte <moritz@g10code.com> 898 899 * libgcrypt.vers: Added: gcry_ac_io_init, gry_ac_io_init_va. 900 901 * gcrypt.h (gcry_ac_data_read_cb_t, gcry_ac_data_write_cb_t, 902 gcry_ac_io_mode_t, gcry_ac_io_type_t, gcry_ac_io_t): New types. 903 (gcry_ac_io_init_va): Declare function. 904 (gcry_ac_data_encode, gcry_ac_data_decode, 905 gcry_ac_data_encrypt_scheme, gcry_ac_data_decrypt_scheme, 906 gcry_ac_data_sign_scheme, gcry_ac_data_verify_scheme): Use 907 gcry_ac_io_type_t objects instead of memory strings directly. 908 9092005-03-03 Moritz Schulte <moritz@g10code.com> 910 911 * libgcrypt.vers: Added: gcry_ac_data_to_sexp() and 912 gcry_ac_data_from_sexp(). 913 9142005-02-22 Werner Koch <wk@g10code.com> 915 916 * global.c (_gcry_malloc): Make sure ERRNO is set if we return 917 NULL. Remove unneeded initialization of M to allow the compiler 918 to catch errors. 919 (gcry_realloc): Make sure ERRNO is set if we return NULL> 920 9212005-02-13 Moritz Schulte <moritz@g10code.com> 922 923 * gcrypt.h: Declare new functions: gcry_ac_data_encrypt_scheme, 924 gcry_ac_data_decrypt_scheme, gcry_ac_data_sign_scheme, 925 gcry_ac_data_verify_scheme, gcry_ac_data_encode, 926 gcry_ac_data_decode, gcry_ac_data_to_sexp, gcry_ac_data_from_sexp. 927 New types: gcry_ac_emsa_pkcs_v1_5_t, gcry_ac_ssa_pkcs_v1_5_t, 928 gcry_md_algo_t. 929 New enumeration lists: gcry_ac_scheme_t, gcry_ac_em_t. 930 * libgcrypt.vers: Added new ac functions. 931 * g10lib.h: Declare function: _gcry_pk_get_elements. 932 * mpi.h (mpi_get_ui): New macro. 933 Declare function: _gcry_mpi_get_ui. 934 9352004-11-09 Werner Koch <wk@g10code.com> 936 937 * gcrypt.h: Removed 3 trailing commas from enums. Noted by Heiko 938 Stamer. 939 9402004-09-21 Werner Koch <wk@g10code.de> 941 942 * sexp.c (sexp_sscan): Removed C++ style comments. Noted by Yoann 943 Vandoorselaere. 944 9452004-08-23 Moritz Schulte <moritz@g10code.com> 946 947 * global.c: Do not include <assert.h>. 948 * sexp.c: Likewise. 949 * module.c: Likewise. 950 * misc.c: Likewise. 951 9522004-08-18 Moritz Schulte <moritz@g10code.com> 953 954 * secmem.c (_gcry_secmem_init): Try to lock pool into core not 955 only when running with root privileges. 956 9572004-08-16 Werner Koch <wk@g10code.de> 958 959 * secmem.h (_gcry_secmem_set_flags,_gcry_secmem_get_flags): 960 Removed __pure__. 961 (GCRY_SECMEM_FLAG_NO_WARNING): Put macro value into parens. 962 963 * secmem.c (_gcry_secmem_init): Defer printing of the warning. 964 9652004-08-10 Moritz Schulte <moritz@g10code.com> 966 967 * gcrypt.h: Include <sys/time.h>, thanks to Simon Josefsson. 968 9692004-05-07 Werner Koch <wk@gnupg.org> 970 971 * gcrypt.h: Added GCRYCTL_FAST_POLL. 972 (gcry_fast_random_poll): New. 973 * global.c (gcry_control) <INITIALIZATION_FINISHED>: Do only basic 974 random subsystem init. 975 (gcry_control) <FAST_POLL>: New. 976 9772004-04-22 Marcus Brinkmann <marcus@g10code.de> 978 979 * libgcrypt.m4: Quote first argument to AC_DEFUN. 980 9812004-04-15 Werner Koch <wk@gnupg.org> 982 983 * secmem.c (_gcry_secmem_malloc_internal): Removed old extra info 984 error output. 985 (_gcry_secmem_term): Use wipememory2 here. 986 987 * misc.c (_gcry_burn_stack): Use wipememory to avoid optimizations. 988 989 * string.c: Removed. Was never used. 990 * global.c (gcry_strdup): Replaced by the version from string.c 991 (gcry_xstrdup): Rewritten. 992 * gcrypt.h: Removed duplicate prototype for gcry_strdup. 993 9942004-03-29 Werner Koch <wk@gnupg.org> 995 996 * secmem.c (_gcry_secmem_realloc): Fixed double unlock; bug 997 manifested itself due to the more rigorous checking in the changed 998 ath.h 999 1000 * libgcrypt-config.in (Options): Ignore the obsolete --threads 1001 option for now. 1002 10032004-03-17 Marcus Brinkmann <marcus@g10code.de> 1004 1005 * libgcrypt-config.in (includedir, libdir): Quote'em. Use 1006 $gpg_error_cflags and $gpg_error_libs. Fix construction of 1007 $includes. 1008 10092004-03-14 Marcus Brinkmann <marcus@g10code.de> 1010 1011 * libgcrypt-config.in (includedir, libdir): New variables. For 1012 --cflags, don't test $cflags. Also check against /include for the 1013 GNU/Hurd. Don't overwrite but extend $cflags_final. Likewise for 1014 --libs. 1015 10162004-03-10 Marcus Brinkmann <marcus@g10code.de> 1017 1018 * Makefile.am (ltlib_libgcrypt_pthread, ltlib_libgcrypt_pth): Removed. 1019 (lib_LTLIBRARIES): Remove those variables from here. 1020 (libgcrypt_pthread_la_SOURCES, libgcrypt_pthread_la_LDFLAGS, 1021 (libgcrypt_pthread_la_DEPENDENCIES, libgcrypt_pthread_la_LIBADD, 1022 (libgcrypt_pth_la_SOURCES, libgcrypt_pth_la_LDFLAGS, 1023 (libgcrypt_pth_la_DEPENDENCIES, libgcrypt_pth_la_LIBADD, 1024 (noinst_LTLIBRARIES): Removed. 1025 (libgcrypt_real_la_SOURCES): Merge with ... 1026 (libgcrypt_la_SOURCES): ... likewise. 1027 (libgcrypt_real_la_DEPENDENCIES): Merge with ... 1028 (libgcrypt_la_DEPENDENCIES): ... this. 1029 (libgcrypt_real_la_LIBADD): Merge with ... 1030 (libgcrypt_la_LIBADD): ... this. 1031 * libgcrypt-config.in (libs_pthread, libs_pth, cflags_pth) 1032 (cflags_pthread, thread_module, thread_modules): Removed. 1033 (Options): Remove --thread option from help output. If the option 1034 is specified, output an error and exit. 1035 For --cflags and --libs option, remove pth and pthread from output. 1036 * gcrypt.h: Include <sys/types.h> and <sys/socket.h>. 1037 (enum gcry_ctl_cmds): Add GCRYCTL_SET_THREAD_CBS. 1038 (gcry_thread_cbs): New struct. 1039 * global.c (gcry_control): Implement GCRYCTL_SET_THREAD_CBS. 1040 (global_init): Don't call ath_init here. 1041 * ath.h: Rewritten. 1042 * ath.c: Rewritten. 1043 10442004-03-06 Werner Koch <wk@gnupg.org> 1045 1046 * libgcrypt-config.in: s/--soname-number/--api-version/ 1047 * libgcrypt.m4: Changed test for API version. 1048 10492004-03-05 Werner Koch <wk@gnupg.org> 1050 1051 * libgcrypt.m4: Optionally check the SONAME number. 1052 1053 * libgcrypt-config.in: Add option --soname-number 1054 10552004-03-01 Marcus Brinkmann <marcus@g10code.de> 1056 1057 * Makefile.am (libgcrypt_la_SOURCES): Add ath.c. 1058 * ath.c (ath_init): Add missing function. 1059 1060 * Makefile.am (ath_pth_src): Removed. 1061 (ath_pthread_src): Removed. 1062 (libgcrypt_la_SOURCES): Remove ath-compat, $(ath_pth_src) and 1063 $(ath_pthread_src). 1064 * ath-compat.c, ath-pth-compat.c, ath-pthread-compat.c: Files 1065 removed. 1066 10672004-02-20 Werner Koch <wk@gnupg.org> 1068 1069 * gcrypt.h (GCRY_PRIME_CHECK_AT_GOT_PRIME) 1070 (GCRY_PRIME_CHECK_AT_FINISH), 1071 (GCRY_PRIME_CHECK_AT_MAYBE_PRIME): New. 1072 10732004-02-18 Werner Koch <wk@gnupg.org> 1074 1075 * libgcrypt-config.in: Ignore setting of --prefix. 1076 10772004-02-13 Werner Koch <wk@gnupg.org> 1078 1079 * gcrypt.h: Added GCRY_CIPHER_RFC2268_128, alsthough not yet 1080 supported. 1081 10822004-02-06 Werner Koch <wk@gnupg.org> 1083 1084 * gcrypt.h: Added GCRY_CIPHER_RFC2268_40. 1085 10862004-02-03 Werner Koch <wk@gnupg.org> 1087 1088 * secmem.c (_gcry_secmem_init): Do not print the "not locked into 1089 core warning" if the NO_WARNING flag has been set. 1090 1091 * sexp.c (sexp_sscan): Allocate result in secure memory if BUFFER 1092 is in secure memory. Switch to secure memory for the a secure %b 1093 format item. Extra paranoid wipe on error. 1094 (gcry_sexp_release): Added paranoid wiping for securely allocated 1095 S-expressions. 1096 10972004-01-25 Moritz Schulte <mo@g10code.com> 1098 1099 * ath.h: Include <config.h>. 1100 11012004-01-12 Moritz Schulte <mo@g10code.com> 1102 1103 * gcrypt.h: Adjusted declarations of: gcry_ac_data_set, 1104 gcry_ac_data_get_name, gcry_ac_data_get_index, 1105 gcry_ac_key_pair_generate, gcry_ac_key_test, 1106 gcry_ac_key_get_nbits, gcry_ac_key_get_grip. 1107 1108 * gcrypt.h (GCRY_AC_FLAG_DATA_NO_BLINDING): Removed symbol. 1109 (GCRY_AC_FLAG_DEALLOC, GCRY_AC_FLAG_COPY) 1110 (GCRY_AC_FLAG_NO_BLINDING): New symbols. 1111 1112 * global.c (gcry_strdup): Removed function. 1113 * string.c: New file. 1114 * Makefile.am (libgcrypt_real_la_SOURCES): Added: string.c. 1115 * string.c (gcry_strdup): New function. 1116 * gcrypt.h (gcry_strdup): Declare. 1117 11182003-12-19 Werner Koch <wk@gnupg.org> 1119 1120 * g10lib.h (wipememory, wipememory2): New; taken from gnupg. 1121 11222003-11-14 Werner Koch <wk@gnupg.org> 1123 1124 * global.c (gcry_strdup): Don't copy the string after a malloc 1125 error. 1126 11272003-11-11 Werner Koch <wk@gnupg.org> 1128 1129 * sexp.c (sexp_sscan): Implemented "%b" format specifier. 1130 11312003-11-11 Moritz Schulte <mo@g10code.com> 1132 1133 * libgcrypt.m4: Do not set prefix when calling libgcrypt-config. 1134 Thanks to Nikos Mavroyanopoulos. 1135 11362003-11-08 Moritz Schulte <mo@g10code.com> 1137 1138 * cipher.h (small_prime_numbers): Removed declaration. 1139 (PUBKEY_FLAG_NO_BLINDING): Put braces around shift. 1140 11412003-11-04 Werner Koch <wk@gnupg.org> 1142 1143 * cipher.h (_gcry_sha1_has_buffer): New. 1144 1145 * gcrypt.h (gcry_create_nonce): New. 1146 11472003-10-31 Werner Koch <wk@gnupg.org> 1148 1149 * libgcrypt.vers (_gcry_generate_elg_prime): Removed this symbol; 1150 gnutls does not need it anymore. 1151 1152 * secmem.c (mb_get_new): s/pool/block/ due to global pool. 1153 1154 * misc.c (gcry_set_log_handler): s/logf/f/ to avoid shadowing 1155 warning against a builtin. 1156 1157 * ath-pth-compat.c: cast pth_connect to get rid of the const 1158 prototype. 1159 11602003-10-27 Werner Koch <wk@gnupg.org> 1161 1162 * ath.h (ATH_MUTEX_INITIALIZER): Removed spurious semicolon. 1163 11642003-10-27 Moritz Schulte <mo@g10code.com> 1165 1166 * libgcrypt-config.in: Include libs/cflags of libgpg-error. 1167 1168 * sexp.c (sexp_sscan): Cleaned up, deallocate scanned sexp on 1169 error. 1170 1171 * module.c (MODULE_ID_MIN): New symbol, use it. 1172 11732003-10-27 Werner Koch <wk@gnupg.org> 1174 1175 * gcrypt.h (gcry_pk_testkey): Doc fix. 1176 11772003-09-29 Moritz Schulte <mo@g10code.com> 1178 1179 * libgcrypt-config.in: Fix --algorithms option. 1180 11812003-10-23 Werner Koch <wk@gnupg.org> 1182 1183 * gcrypt.h (gcry_err_code): Use GPG_ERR_INLINE instead of 1184 __inline__. 1185 1186 * secmem.c (lock_pool): Don't print the warning for certain 1187 systems, handle ENOMEM. 1188 11892003-10-21 Werner Koch <wk@gnupg.org> 1190 1191 * secmem.c (_gcry_secmem_dump_stats): Fixed format sepcifier for a 1192 size_t. Reported by Stephane Corthesy. 1193 11942003-10-10 Werner Koch <wk@gnupg.org> 1195 1196 * global.c (_gcry_malloc): Handle the no_secure_memory option. 1197 1198 * gcrypt.h (gcry_prime_group_generator): New. 1199 (gcry_prime_release_factors): New. 1200 12012003-10-07 Werner Koch <wk@gnupg.org> 1202 1203 * sexp.c (sexp_sscan): Check that parenthesis are matching. 1204 12052003-09-28 Moritz Schulte <mo@g10code.com> 1206 1207 * g10lib.h: Declare: _gcry_malloc. 1208 (GCRY_ALLOC_FLAG_SECURE): New symbol. 1209 1210 * global.c (_gcry_malloc): New function... 1211 (gcry_malloc): ... use it. 1212 (gcry_malloc_secure): Likewise. 1213 1214 * ath.c: Change License to LGPL. 1215 * ath-pthread-compat.c: Likewise. 1216 * ath-pthread.c: Likewise. 1217 * ath-pth-compat.c: Likewise. 1218 * ath-pth.c: Likewise. 1219 * ath.h: Likewise. 1220 * ath-compat.c: Likewise. 1221 1222 * secmem.c (_gcry_secmem_realloc): Do not forget to release secmem 1223 lock. Thanks to low halo for triggering this bug. 1224 12252003-09-04 Werner Koch <wk@gnupg.org> 1226 1227 * gcrypt.h (_GCRY_ERR_SOURCE_DEFAULT): Removed cruft. 1228 (gcry_prime_check_func_t): Renamed arg for clarity. 1229 12302003-09-02 Moritz Schulte <mo@g10code.com> 1231 1232 * gcrypt.h (GCRY_PRIME_FLAG_SPECIAL_FACTOR): New symbol. 1233 12342003-09-01 Moritz Schulte <mo@g10code.com> 1235 1236 * gcrypt.h (gcry_random_level_t): New type. 1237 (gcry_prime_check_func_t): Likewise. 1238 (GCRY_PRIME_FLAG_SECRET): New symbol. 1239 (gcry_prime_generate, gcry_prime_check): Declare functions. 1240 12412003-08-28 Werner Koch <wk@gnupg.org> 1242 1243 * Makefile.am (libgcrypt_pth_la_LDFLAGS): Removed PTH_CFLAGS cruft. 1244 12452003-08-27 Moritz Schulte <mo@g10code.com> 1246 1247 * global.c (gcry_control): Remove call to ath_deinit. 1248 1249 * Makefile.am (libgcrypt_real_la_DEPENDENCIES): Fixed. 1250 (libgcrypt_real_la_LIBADD): Fixed. 1251 Removed unecessary variables. 1252 1253 * libgcrypt-config.in: Adjusted script for new thread handling. 1254 1255 * Makefile.am: New version, based on GPGMEs Makefile.am. 1256 1257 * ath.c, ath-compat.c, ath.h, ath-pth.c, ath-pth-compat.c, 1258 ath-pthread.c, ath-pthread-compat.c: New files, merged from GPGME. 1259 * ath.c, ath.h, ath-pthread.c, ath-pth.c: Removed files. 1260 12612003-08-08 Moritz Schulte <moritz@g10code.com> 1262 1263 * global.c (gcry_realloc): Remove FIXME about `clearing out 1264 realloced memory', since _gcry_secmem_realloc takes care of 1265 overwriting old memory. 1266 12672003-08-07 Werner Koch <wk@gnupg.org> 1268 1269 * module.c (_gcry_module_release): Don't act if module is NULL. 1270 12712003-07-30 Moritz Schulte <moritz@g10code.com> 1272 1273 * gcrypt.h (enum gcry_ac_id): Added: GCRY_AC_ELG_E. 1274 Reverted change: use gcry_md_flags enumeration list instead of 1275 defines. 1276 12772003-07-29 Werner Koch <wk@gnupg.org> 1278 1279 * global.c (gcry_control): Add GCRYCTL_SET_RANDOM_SEED_FILE and 1280 GCRYCTL_UPDATE_RANDOM_SEED_FILE. 1281 * gcrypt.h: Ditto. Renamed index to idx, so avoid warning 1282 related to the old index function. 1283 12842003-07-28 Moritz Schulte <moritz@g10code.com> 1285 1286 * global.c (gcry_err_code_from_errno, gcry_err_code_to_errno) 1287 (gcry_err_make_from_errno, gcry_error_from_errno): New functions. 1288 1289 * gcrypt.h: Declared: gcry_err_code_from_errno, 1290 gcry_err_code_to_errno, gcry_err_make_from_errno, 1291 gcry_error_from_errno. 1292 1293 * Makefile.am (include_HEADERS): Added: gcrypt-module.h. 1294 1295 * gcrypt.h: Include <gcrypt-module.h>. 1296 1297 * gcrypt-module.h: New file. 1298 12992003-07-27 Werner Koch <wk@gnupg.org> 1300 1301 * gcrypt.h (gcry_mpi_scan, gcry_mpi_print): API change. 1302 (gcry_mpi_dump): New. 1303 13042003-07-21 Moritz Schulte <moritz@g10code.com> 1305 1306 * gcrypt.h: Declared: gcry_ac_key_data_get. 1307 (gcry_pk_spec): Renamed member `sexp_names' into `aliases'. 1308 13092003-07-20 Moritz Schulte <moritz@g10code.com> 1310 1311 * gcrypt.h (gcry_md_oid_spec_t): New type. 1312 (gcry_md_spec): New member: oids. 1313 13142003-07-19 Moritz Schulte <moritz@g10code.com> 1315 1316 * gcrypt.h (gcry_cipher_oid_spec_t): New type. 1317 (gcry_cipher_spec): New member: oids; 1318 13192003-07-18 Werner Koch <wk@gnupg.org> 1320 1321 * gcrypt.h (gcry_mpi_set_opaque): Add a warning comment. 1322 13232003-07-15 Moritz Schulte <moritz@g10code.com> 1324 1325 * secmem.c (compress_pool): Remove function, since unused blocks 1326 are automatically concatenad. 1327 1328 * gcrypt.h: Bumped version number up to 1.1.42-cvs. 1329 13302003-07-14 Moritz Schulte <moritz@g10code.com> 1331 1332 * gcrypt.h (gcry_cipher_spec): New member: aliases. 1333 1334 * Makefile.am (noinst_PROGRAMS, testapi_SOURCES, testapai_LDADD, 1335 benchmark_SOURCES, benchmark_LDADD): Removed. 1336 1337 * benchmark.c, testapi.c: Removed files. 1338 1339 * mpi.h: Removed disabled typedef. 1340 * g10lib.h: Likewise. 1341 1342 * benchmark.c, g10lib.h, gcrypt.h, global.c, module.c, sexp.c: 1343 Used gcry_err* wrappers for libgpg-error symbols. 1344 13452003-07-12 Moritz Schulte <moritz@g10code.com> 1346 1347 * global.c: Likewise. 1348 1349 * gcrypt.h: New type: gcry_error_t, gcry_err_code_t and 1350 gcry_err_source_t. 1351 (gcry_err_make, gcry_error, gcry_err_code, gcry_err_source): New 1352 functions. 1353 1354 * global.c (gcry_strerror): New function. 1355 (gcry_strsource): New function. 1356 1357 * gcrypt.h: New symbol: GCRY_CIPHER_TWOFISH128. 1358 13592003-07-09 Moritz Schulte <moritz@g10code.com> 1360 1361 * gcrypt.h (enum gcry_md_flags): Removed, used define instead, 1362 since that is more common than an enumeration list when it comes 1363 to flags that can be bitwise ORed. 1364 13652003-07-08 Moritz Schulte <moritz@g10code.com> 1366 1367 * global.c: Use new types for handlers. 1368 1369 * gcrypt.h: Declare: gcry_ac_data_copy. 1370 13712003-07-07 Moritz Schulte <moritz@g10code.com> 1372 1373 * sexp.c (gcry_sexp_build_array): Use dummy argument pointer. 1374 Thanks to Simon Josefsson <jas@extunde.com>. 1375 1376 * gcrypt.h: Declare: gcry_cipher_list, gcry_pk_list, gcry_md_list. 1377 13782003-07-05 Moritz Schulte <moritz@g10code.com> 1379 1380 * gcrypt.h: Declare: gcry_cipher_register, gcry_cipher_unregister, 1381 gcry_md_register, gcry_md_unregister, gcry_pk_register, 1382 gcry_pk_unregister. 1383 (gcry_cipher_spec): Removed member: algorithm. 1384 (gcry_pk_spec): Likewise. 1385 (gcry_md_spec): Likewise. 1386 Adjusted declarations: gcry_cipher_register, gcry_pk_register, 1387 gcry_md_register. 1388 1389 * module.c: Replaced all occurences of `id' with `mod_id', since 1390 `id' is a keyword in obj-c. 1391 1392 * gcrypt.h (gcry_cipher_spec): Renamed member `id' to `algorithm'. 1393 (gcry_pk_spec): Likewise. 1394 (gcry_md_spec): Likewise. 1395 1396 * cipher.h: Removed types: gcry_pubkey_generate_t, 1397 gcry_pubkey_check_secret_key_t, gcry_pubkey_encrypt_t, 1398 gcry_pubkey_decrypt_t, gcry_pubkey_sign_t, gcry_pubkey_verify_t, 1399 gcry_pubkey_get_nbits_t, gcry_pk_spec_t, gcry_digest_init_t, 1400 gcry_digest_write_t, gcry_digest_final_t, gcry_digest_read_t, 1401 gcry_digest_spec_t, gcry_cipher_setkey_t, gcry_cipher_encrypt_t, 1402 gcry_cipher_decrypt_t, gcry_cipher_stencrypt_t, 1403 gcry_cipher_stdecrypt_t, gcry_cipher_spec_t. 1404 1405 * gcrypt.h: New types: gcry_pk_generate_t, 1406 gcry_pk_check_secret_key_t, gcry_pk_encrypt_t, gcry_pk_decrypt_t, 1407 gcry_pk_sign_t, gcry_pk_verify_t, gcry_pk_get_nbits_t, 1408 gcry_pk_spec_t, gcry_md_init_t, gcry_md_write_t, gcry_md_final_t, 1409 gcry_md_read_t, gcry_md_spec_t, gcry_cipher_setkey_t, 1410 gcry_cipher_encrypt_t, gcry_cipher_decrypt_t, 1411 gcry_cipher_stencrypt_t, gcry_cipher_stdecrypt_t, 1412 gcry_cipher_spec_t, gcry_module_t. 1413 14142003-07-04 Moritz Schulte <moritz@g10code.com> 1415 1416 * module.c (_gcry_module_list): New function. 1417 14182003-07-02 Moritz Schulte <moritz@g10code.com> 1419 1420 * module.c (_gcry_module_lookup): Fixed typo. 1421 1422 * gcrypt.h: Added all definitions and declarations necessary for 1423 the new ac interface. 1424 14252003-06-30 Moritz Schulte <moritz@g10code.com> 1426 1427 * g10lib.h: Added declarations: _gcry_pk_module_lookup, 1428 _gcry_pk_module_release. 1429 14302003-06-18 Werner Koch <wk@gnupg.org> 1431 1432 * benchmark.c (cipher_bench): Adjusted for new API of get_blklen 1433 and get_keylen. 1434 1435 * gcrypt.h (gcry_cipher_get_algo_blklen) 1436 (gcry_cipher_get_algo_keylen): Replaced macro by funcion. 1437 14382003-06-18 Moritz Schulte <moritz@g10code.com> 1439 1440 * cipher.h: Renamed types GcryDigestSpec, GcryCipherSpec and 1441 GcryPubkeySpec into: gcry_digest_spec_t, gcry_cipher_spec_t and 1442 gcry_pubkey_spec_t. 1443 (gcry_pubkey_spec): Defined member `id' as unsigned. 1444 (gcry_digest_spec): Likewise. 1445 (gcry_cipher_spec): Likewise. 1446 1447 * module.c (_gcry_module_id_new): New function. 1448 (_gcry_module_add): Generate a new ID via _gcry_module_id_new in 1449 case `id' is zero. 1450 1451 * g10lib.h, module.c: Replace old type GcryModule with newer one: 1452 gcry_module_t. 1453 1454 * module.c (_gcry_module_add): Added argument `id', use it. 1455 1456 * g10lib.h: Added declaration: _gcry_module_lookup_id. 1457 (_gcry_module_add): Added argument `id'. 1458 1459 * module.c (_gcry_module_lookup_id): New function. 1460 1461 * g10lib.h (struct gcry_module): New member: id. 1462 1463 * gcrypt.h: New type: gcry_handler_progress_t, 1464 gcry_handler_alloc_t, gcry_haandler_secure_check_t, 1465 gcry_handler_realloc_t, gcry_handler_free_t, 1466 gcry_handler_no_mem_t, gcry_handler_error_t, gcry_handler_log_t. 1467 Use new types. 1468 1469 * cipher.h: Include <gcrypt.h>. 1470 New types: gcry_pk_generate_t, gcry_pk_check_secret_key_t, 1471 gcry_pk_encrypt_t, gcry_pk_decrypt_t, gcry_pk_sign_t, 1472 gcry_pk_verify_t, gcry_pk_get_nbits_t, gcry_md_init_t, 1473 gcry_md_write_t, gcry_md_final_t, gcry_md_read_t, 1474 gcry_cipher_setkey_t, gcry_cipher_encrypt_t, 1475 gcry_cipher_decrypt_t, gcry_cipher_stencrypt_t, 1476 gcry_cipher_stdecrypt_t. 1477 Use new types. 1478 14792003-06-17 Moritz Schulte <moritz@g10code.com> 1480 1481 * Makefile.am (AM_CFLAGS): Added: @GPG_ERROR_CFLAGS@. 1482 14832003-06-16 Moritz Schulte <moritz@g10code.com> 1484 1485 * g10lib.h: Replace last occurences of old type names with newer 1486 names (i.e. replace MPI with gcry_mpi_t). 1487 * mpi.h: Likewise. 1488 * sexp.c: Likewise. 1489 14902003-06-15 Moritz Schulte <moritz@g10code.com> 1491 1492 * testapi.c (test_genkey): Use gpg_strerror instead of 1493 gcry_strerror. 1494 1495 * global.c (gcry_control): Fixed typo. 1496 1497 * misc.c (_gcry_fatal_error): Use gpg_strerror instead of 1498 gcry_strerror. 1499 1500 * types.h (STRLIST): Removed type since it is not used. 1501 15022003-06-11 Moritz Schulte <moritz@g10code.com> 1503 1504 * global.c (global_init): Call: _gcry_cipher_init, _gcry_md_init, 1505 _gcry_pk_init. 1506 1507 * g10lib.h: Declare: _gcry_cipher_init, _gcry_md_init, 1508 _gcry_pk_init. 1509 1510 * global.c (gcry_strerror): Remove compatibility code. 1511 1512 * Makefile.am: Remove support libgpg-error special handling. 1513 (AM_CPPFLAGS): Add @GPG_ERROR_CFLAGS@ 1514 1515 * gcrypt.h: Likewise. 1516 15172003-06-13 Werner Koch <wk@gnupg.org> 1518 1519 * gcrypt.h (gcry_md_get_algo): Reverted to old API. This is a 1520 convenience function anyway and error checking is not approriate. 1521 (gcry_md_is_enabled): New. 1522 (gcry_md_is_secure): Replaced macro by function and reverted to old 1523 API. 1524 15252003-06-11 Werner Koch <wk@gnupg.org> 1526 1527 * gcrypt.h (GCRYERR): Define _GCRY_ERR_SOURCE_DEFAULT instead of 1528 GPG_ERR_SOURCE_DEFAULT, so that libgpg-error still works despite 1529 the use of the old gcrypt error codes. 1530 (gcry_md_copy): Swapped arguments. 1531 15322003-06-09 Moritz Schulte <moritz@g10code.com> 1533 1534 * Makefile.am: Support for libgpg-error. 1535 15362003-06-08 Moritz Schulte <moritz@g10code.com> 1537 1538 * sexp.c (gcry_sexp_create): Expect sane error values from 1539 gcry_sexp_canon_len instead of the `historical' values. 1540 15412003-06-07 Moritz Schulte <moritz@g10code.com> 1542 1543 * ath.c, ath.c, ath-pth.c, ath-pthread.c, benchmark.c, cipher.h, 1544 g10lib.h, gcrypt.h, global.c, misc.c, missing-string.c, module.c, 1545 mpi.h, secmem.c, secmem.h, sexp.c, stdmem.c, stdmem.h, testapi.c, 1546 types.h: Edited all preprocessor instructions to remove whitespace 1547 before the '#'. This is not required by C89, but there are some 1548 compilers out there that don't like it. Replaced any occurence of 1549 the now deprecated type names with the new ones. 1550 1551 * gcrypt.h: Re-organized checking for gcc features; New macro: 1552 _GCRY_GCC_ATTR_DEPRECATED. 1553 Include copy of libgpg-error's gpg-error.h in order to make it 1554 easy to build libgcrypt without needing libgpg-error.h. 1555 1556 (GCRY_MPI, GcryMPI, GCRY_SEXP, GcrySexp, GCRY_CIPHER_HD, 1557 GcryCipherHd, GCRY_MD_HD, GcryMDHd): Declared deprecated. 1558 (gcry_mpi_t, gcry_sexp_t, gcry_cipher_hd_t, gcry_md_hd_t): New 1559 types. 1560 15612003-06-04 Moritz Schulte <moritz@g10code.com> 1562 1563 * sexp.c (sexp_sscan): New argument: arg_list, adjusted all 1564 callers. 1565 (ARG_NEXT): New macro. 1566 (sexp_sscan): Use ARG_NEXT for receiving format string arguments. 1567 (gcry_sexp_build_array): New function. 1568 15692003-06-02 Moritz Schulte <moritz@g10code.com> 1570 1571 * gcrypt.h: Added some comments describing the gcry_sexp_* 1572 functions. 1573 Include <gpg-error.h> instead of <gpg/error.h>. 1574 15752003-06-01 Moritz Schulte <moritz@g10code.com> 1576 1577 * sexp.c (OLDPARSECODE): Removed macro... 1578 (gcry_sexp_canon_len): ... and do not use it. 1579 1580 * gcrypt.h (gcry_errno): Removed declaration. 1581 1582 * g10lib.h (string_to_pubkey_algo, pubkey_algo_to_string, 1583 pubkey_nbits): Removed declarations for non-existing functions. 1584 15852003-05-31 Moritz Schulte <moritz@g10code.com> 1586 1587 * cipher.h (is_RSA, is_ELGAMAL): Removed macros. 1588 1589 * g10lib.h (set_lasterr): Removed macro. 1590 (_gcry_set_lasterr): Removed declaration. 1591 1592 * gcrypt.h: Changed declarations for: gcry_pk_algo_info, 1593 gcry_md_open, gcry_md_copy, gcry_md_algo_info, gcry_md_info, 1594 gcry_md_get_algo, gcry_random_add_bytes. 1595 1596 (gcry_md_is_secure): Adjust macro for new API. 1597 15982003-05-29 Moritz Schulte <moritz@g10code.com> 1599 1600 * gcrypt.h: Changed declarations for: gcry_cipher_open, 1601 gcry_cipher_info, gcry_cipher_algo_info. 1602 (gcry_cipher_get_algo_keylen): Adjuster for new 1603 gcry_cipher_algo_info interface. 1604 (gcry_cipher_get_algo_blklen): Likewise. 1605 1606 * global.c (gcry_errno): Removed function. 1607 (gcry_strerror): Do not use gcry_errno. 1608 (_gcry_set_lasterr): Removed function. 1609 (last_ec): Removed variable. 1610 16112003-05-27 Moritz Schulte <moritz@g10code.com> 1612 1613 * gcrypt.h (enum gcry_cipher_algos): Make Serpent IDs do not 1614 conflict with OpenPGP. Reported by Timo Schulz. 1615 1616 * global.c (gcry_control): Fixed name of enum list. 1617 16182003-05-25 Moritz Schulte <moritz@g10code.com> 1619 1620 * cipher.h (gcry_cipher_spec): Adjust return type of `setkey' for 1621 libgpg-error. 1622 (gcry_pubkey_spec): Adjust return type of `generate', 1623 `check_secret_key', `encrypt', `decrypt', `sign' and `verify' for 1624 libgpg-error. 1625 1626 * sexp.c (gcry_sexp_canon_len): Adjusted for libgpg-error. 1627 (gcry_sexp_create): Likewise. 1628 (gcry_sexp_new): Likewise. 1629 (sexp_sscan): Likewise. 1630 (gcry_sexp_build): Likewise. 1631 (gcry_sexp_sscan): Likewise. 1632 1633 * module.c (_gcry_module_add): Likewise. 1634 1635 * global.c (last_ec): Change type to gpg_error_t. 1636 (gcry_control): Adjust for libgpg-error. 1637 (gcry_errno): Likewise. 1638 (gcry_strerror): Likewise. 1639 (_gcry_set_lasterr): Likewise. 1640 (gcry_xmalloc): Likewise. 1641 (gcry_xrealloc): Likewise. 1642 16432003-05-22 Moritz Schulte <moritz@g10code.com> 1644 1645 * types.h: Merged code from GnuPG regarding U64_C. 1646 1647 * missing-string.c (strsep): Removed function. 1648 1649 * g10lib.h: Removed declarations: strsep, strlwr. 1650 1651 * secmem.c (secmem_lock): New variable. 1652 (SECMEM_LOCK, SECMEM_UNLOCK): New macros. 1653 (_gcry_secmem_set_flags): Use SECMEM_LOCK and SECMEM_UNLOCK. 1654 (_gcry_secmem_get_flags): Likewise. 1655 (_gcry_secmem_init): Likewie. 1656 (_gcry_secmem_malloc): Likewise. 1657 (_gcry_secmem_free): Likewise. 1658 (_gcry_secmem_malloc): Renamed to ... 1659 (_gcry_secmem_malloc_internal): ... this. 1660 (_gcry_secmem_malloc): New function, use SECMEM_LOCK, 1661 SECMEM_UNLOCK, call _gcry_secmem_malloc_internal. 1662 (_gcry_secmem_free): Renamed to ... 1663 (_gcry_secmem_free_internal): ... this. 1664 (_gcry_secmem_free): New function, use SECMEM_LOCK, SECMEM_UNLOCK, 1665 call _gcry_secmem_free_internal. 1666 (_gcry_secmem_realloc): Use SECMEM_LOCK, SECMEM_UNLOCK, call 1667 _gcry_secmem_malloc_internal and _gcry_secmem_free_internal. 1668 (_gcry_private_is_secure): Use SECMEM_LOCK, SECMEM_UNLOCK. 1669 (_gcry_secmem_dump_stats): Likewise. 1670 (_gcry_secmem_malloc_internal): Removed unused variable: 1671 compressed. 1672 Include "ath.h". 1673 16742003-05-21 Moritz Schulte <moritz@g10code.com> 1675 1676 * gcrypt.h (GCRY_CIPHER_SERPENT128, GCRY_CIPHER_SERPENT192, 1677 GCRY_CIPHER_SERPENT256): New symbols. 1678 16792003-05-19 Moritz Schulte <moritz@g10code.com> 1680 1681 * gcrypt.h: Reversed changes from 2003-03-03 since they would have 1682 been an unnecessary ABI break. 1683 16842003-05-13 Moritz Schulte <moritz@g10code.com> 1685 1686 * secmem.c (stats_update): New function. 1687 (BLOCK_HEAD_SIZE): New symbol. 1688 (MB_FLAG_ACTIVE): New symbol. 1689 (ADDR_TO_BLOCK, BLOCK_VALID): New macros. 1690 (mb_get_next): New function. 1691 (mb_get_prev): New function. 1692 (mb_merge): New function. 1693 (mb_get_new): New function. 1694 (unused_blocks): Removed variable. 1695 (init_pool): Initialize new memory pool. 1696 (_gcry_secmem_malloc): Use new heap management code. 1697 (_gcry_secmem_free): Likewise. 1698 (_gcry_secmem_realloc): Likewise. 1699 Renamed type MEMBLOCK to memblock_t. 1700 17012003-04-27 Moritz Schulte <moritz@g10code.com> 1702 1703 * cipher.h (gcry_pubkey_spec): New member: sexp_names. 1704 17052003-04-23 Moritz Schulte <moritz@g10code.com> 1706 1707 * cipher.h (gcry_pubkey_spec): Removed members: npkey, nskey, 1708 nenc, nsig. 1709 (gcry_pubkey_spec): Added members: elements_pkey, elements_skey, 1710 elements_enc, elements_sig, elements_grip. 1711 17122003-04-17 Moritz Schulte <moritz@g10code.com> 1713 1714 * g10lib.h (GcryModule): New typedef. 1715 1716 * gcrypt.h (gcry_cipher_register, gcry_cipher_unregister, 1717 gcry_digest_register, gcry_digest_unregister, 1718 gcry_pubkey_register, gcry_pubkey_unregister): Function 1719 declarations removed - for now. 1720 1721 * gcrypt.h (GcryModule): Declaration removed. 1722 * gcrypt.h (GcryPubkeySpec, GcryDigestSpec, GcryCipherSpec): 1723 Types Moved... 1724 * cipher.h: ... here. 1725 17262003-04-17 Moritz Schulte <moritz@g10code.com> 1727 1728 * cipher.h: Declare digest_spec_sha512 and digest_spec_384. 1729 17302003-04-16 Moritz Schulte <moritz@g10code.com> 1731 1732 * module.c (_gcry_module_use): New function. 1733 * g10lib.h (_gcry_module_use): Declare function. 1734 1735 * libgcrypt-config.in: Support for --algorithms switch, which 1736 prints the algorithms included in the built libgcrypt. 1737 1738 * global.c (gcry_set_progress_handler): Register progress 1739 functions depending on the enabled algorithms. 1740 17412003-04-07 Moritz Schulte <moritz@g10code.com> 1742 1743 * Makefile.am (libgcrypt_la_SOURCES): Added module.c 1744 1745 * module.c: New file. 1746 (_gcry_module_add): New function. 1747 (_gcry_module_drop): New function. 1748 (_gcry_module_lookup): New function. 1749 (_gcry_module_release): New function. 1750 1751 * g10lib.h (GcryModule): New types. 1752 (FLAG_MODULE_DISABLED): New symbol. 1753 Added declarations for _gcry_module_add, _gcry_module_release and 1754 _gcry_module_lookup. 1755 1756 * gcrypt.h: New types: GcryPubkeySpec, GcryDigestSpec, 1757 GcryCipherSpec. 1758 Added declarations for: gcry_cipher_register, 1759 gcry_cipher_unregister, gcry_digest_register, 1760 gcry_digest_unregister, gcry_pubkey_register and 1761 gcry_pubkey_unregister. 1762 1763 * cipher.h: Removed symbols: CIPHER_ALGO_NONE, CIPHER_ALGO_IDEA, 1764 CIPHER_ALGO_3DES, CIPHER_ALGO_CAST5, CIPHER_ALGO_BLOWFISH, 1765 CIPHER_ALGO_SAFER_SK128, CIPHER_ALGO_DES_SK, CIPHER_ALGO_TWOFISH, 1766 CIPHER_ALGO_TWOFISH_OLD, CIPHER_ALGO_DUMMY, PUBKEY_USAGE_SIG, 1767 PUBKEY_USAGE_ENC, DIGEST_ALGO_MD5, DIGEST_ALGO_SHA1, 1768 DIGEST_ALGO_RMD160, DIGEST_ALGO_TIGER, PUBKEY_ALGO_RSA, 1769 PUBKEY_ALGO_RSA_E, PUBKEY_ALGO_RSA_S, PUBKEY_ALGO_DSA, 1770 PUBKEY_ALGO_ELGAMAL, PUBKEY_ALGO_ELGAMAL_E. 1771 17722003-04-02 Moritz Schulte <moritz@g10code.com> 1773 1774 * benchmark.c (md_bench): Fix error message. 1775 17762003-03-31 Moritz Schulte <moritz@g10code.com> 1777 1778 * benchmark.c (cipher_bench): Added CTR mode. 1779 17802003-03-30 Simon Josefsson <jas@extundo.com> 1781 1782 * gcrypt.h (enum gcry_control_cmds): Add GCRY_SET_CTR. 1783 (enum gcry_cipher_modes): Add GCRY_CIPHER_MODE_CTR. 1784 (gcry_cipher_setctr): New macro to set counter. 1785 17862003-03-19 Moritz Schulte <moritz@g10code.com> 1787 1788 * cipher.h (PUBKEY_FLAG_NO_BLINDING): New symbol. 1789 17902003-03-22 Simon Josefsson <jas@extundo.com> 1791 1792 * gcrypt.h: Add GCRYCTL_SET_CBC_MAC and GCRY_CIPHER_CBC_MAC. 1793 17942003-03-19 Werner Koch <wk@gnupg.org> 1795 1796 * g10lib.h: Adjusted primegen.c prototypes. 1797 17982003-03-12 Werner Koch <wk@gnupg.org> 1799 1800 * sexp.c (sexp_sscan): Initialize NM. Thanks to Ian Peters for 1801 valgrinding this. 1802 18032003-03-06 Moritz Schulte <mo@g10code.com> 1804 1805 * secmem.h (GCRY_SECMEM_FLAG_NO_WARNING, 1806 GCRY_SECMEM_FLAG_SUSPEND_WARNING): New symbols. 1807 1808 * global.c (gcry_control): Use 1809 GCRY_SECMEM_FLAG_{NO,SUSPEND}_WARNING, instead of hard-coded 1810 values. 1811 * secmem.c (_gcry_secmem_set_flags): Likewise. 1812 * secmem.c (_gcry_secmem_get_flags): Likewise. 1813 18142003-03-03 Moritz Schulte <moritz@g10code.com> 1815 1816 * misc.c: Removed old FIXME, since there is already a function to 1817 set the value of `verbosity_level'. 1818 1819 * gcrypt.h: Removed enumeration list: gcry_ctl_cmds. 1820 New enumeration lists: gcry_global_control_cmds, 1821 gcry_control_cmds, gcry_info_cmds, gcry_algo_info_cmds. 1822 18232003-03-02 Moritz Schulte <moritz@g10code.com> 1824 1825 * gcrypt.h (gcry_cipher_reset): New macro for resetting a handle. 1826 18272003-02-28 Moritz Schulte <moritz@g10code.com> 1828 1829 * secmem.c (DEFAULT_PAGESIZE): New symbol. 1830 (init_pool): Use DEFAULT_PAGESIZE. 1831 18322003-02-23 Moritz Schulte <moritz@g10code.com> 1833 1834 * secmem.h: Fix typo in declaration of _gcry_secmem_term. 1835 1836 * sexp.c: Move macro definitions of `digitp', `octdigit', `alphap' 1837 and `hexdigit' ... 1838 * g10lib.h: ... here. 1839 1840 * misc.c (_gcry_burn_stack): New function (former name: 1841 burn_stack). 1842 1843 * g10lib.h (burn_stack): Declare _gcry_burn_stack(). 1844 18452003-01-24 Werner Koch <wk@gnupg.org> 1846 1847 * global.c (gcry_set_progress_handler): Register a random progress 1848 handler. 1849 18502003-01-23 Werner Koch <wk@gnupg.org> 1851 1852 * gcrypt.h (GCRY_ENABLE_QUICK_RANDOM): New. 1853 * global.c (gcry_control): Make use of it. 1854 18552003-01-21 Werner Koch <wk@gnupg.org> 1856 1857 * gcrypt.h (gcry_random_add_bytes): Add QUALITY argument. 1858 18592003-01-21 Timo Schulz <twoaday@freakmail.de> 1860 1861 * gcrypt.h (gcry_random_add_bytes): New. 1862 18632003-01-20 Simon Josefsson <jas@extundo.com> 1864 1865 * gcrypt.h (gcry_md_algos): Add GCRY_MD_CRC32, 1866 GCRY_MD_CRC32_RFC1510, GCRY_MD_CRC24_RFC2440. 1867 18682003-01-16 Werner Koch <wk@gnupg.org> 1869 1870 * gcrypt.h (gcry_md_write): Changed type of 2nd argument to void*. 1871 (gcry_md_hash_buffer): Changed type of both buffers to void*. 1872 (gcry_md_setkey): Changed type of 2nd argument to void*. 1873 (gcry_md_get_asnoid): New. 1874 18752003-01-15 Werner Koch <wk@gnupg.org> 1876 1877 * sexp.c (gcry_sexp_length): Fixed. This was seriously broken. 1878 18792003-01-14 Werner Koch <wk@gnupg.org> 1880 1881 * gcrypt.h (GCRYERR_INV_FLAG), global.c (gcry_strerror): New. 1882 18832003-01-02 Werner Koch <wk@gnupg.org> 1884 1885 * libgcrypt.vers: Temporary export _gcry_generate_elg_prime for 1886 use by GNUTLS. 1887 18882002-12-21 Werner Koch <wk@gnupg.org> 1889 1890 * gcrypt.h: Make use of gcc's pure and malloc attributes 1891 (gcry_md_putc): Use a helper variable to avoid multiple 1892 evaluation of H. 1893 * g10lib.h, stdmem.h, secmem.h: Use gcc attributes pure and malloc. 1894 1895 * stdmem.c (use_m_guard): Don't default to yes. 1896 18972002-12-19 Werner Koch <wk@gnupg.org> 1898 1899 * global.c (global_init): The meat was never run due to a faulty 1900 check. Thanks to Nikos for pointing this out. 1901 1902 * global.c (gcry_control): Return 1 and not -1 for the 1903 initialization tests. 1904 1905 * libgcrypt.vers: New. 1906 * Makefile.am: Use this instead of the build symbol file. 1907 1908 * global.c (gcry_control) <initialization>: Call the random module 1909 initializer to make sure that the pool lock flag has been 1910 initialized. 1911 19122002-12-09 Werner Koch <wk@gnupg.org> 1913 1914 * global.c (gcry_calloc,gcry_calloc_secure): Check for overflow. 1915 Noted by Florian Weimer. 1916 19172002-11-10 Simon Josefsson <jas@extundo.com> 1918 1919 * gcrypt.h (gcry_ctl_cmds): New GCRYCTL_SET_CBC_CTS control flag. 1920 (gcry_cipher_flags): New GCRY_CIPHER_CBC_CTS gcry_cipher_open() flag. 1921 (gcry_cipher_cts): New macro for toggling CTS. 1922 19232002-11-10 Werner Koch <wk@gnupg.org> 1924 1925 * gcrypt.h (GCRY_MD_MD4): New. We use a non OpenPGP value here. 1926 19272002-09-20 Werner Koch <wk@gnupg.org> 1928 1929 * ath.c: Include sys.time.h if sys/select.h does not exist. 1930 (ath_select, ath_waitpid): Shortcut for Windows. 1931 * ath.h: Include some Windows headers. By Timo. 1932 19332002-09-18 Werner Koch <wk@gnupg.org> 1934 1935 * ath.h: Prefix ath_deinit. 1936 19372002-09-17 Werner Koch <wk@gnupg.org> 1938 1939 * benchmark.c: New. 1940 (mpi_bench, do_powm): Add a a simple test for RSA. 1941 1942 * global.c (global_init): New. Use it instead of the setting 1943 any_init_done. Initialize the ATH system. 1944 (gcry_check_version): Hook global_init in. This is the suggested 1945 way to initialize the library. 1946 (_gcry_no_internal_locking): Removed. We simply call a ath_deinit 1947 and leave it to ATH to disbale the locking. 1948 1949 * ath.c, ath.h, ath-pth.c, ath-pthread.c: New. Taken from GPGME. 1950 * mutex.h: Removed. 1951 * Makefile.am (ath_components): New. 1952 19532002-09-16 Werner Koch <wk@gnupg.org> 1954 1955 * secmem.c (_gcry_secmem_dump_stats): Replaced fprintf by log_*. 1956 19572002-08-23 Werner Koch <wk@gnupg.org> 1958 1959 * missing-string.c: Removed unneeded strlwr. 1960 1961 * libgcrypt.m4: Made much more simple. 1962 * libgcrypt-config.in: Made --prefix work for --libs. 1963 19642002-08-14 Werner Koch <wk@gnupg.org> 1965 1966 * gcrypt.h: Add GCRY_CIPGER_DES. Included string.h for size_t. 1967 Suggested by Simon Josefsson. 1968 19692002-07-25 Werner Koch <wk@gnupg.org> 1970 1971 * cipher.h: Added prototypes for progress functions. 1972 * global.c: Include cipher.h for those prototypes. 1973 1974 * stdmem.c (_gcry_private_realloc): Replaced void* by char * for 1975 pointer arithmetic reasons. Noted by Stephan Austermuehle. 1976 19772002-06-24 Werner Koch <wk@gnupg.org> 1978 1979 * missing-string.c: Include ctype.h. 1980 1981 * gcrypt.h (gcry_mpi_invm, gcry_mpi_div, gcry_mpi_mod) 1982 (gcry_mpi_swap): New. 1983 19842002-06-18 Werner Koch <wk@gnupg.org> 1985 1986 * gcrypt.h: Added a bunch of brief function descriptions. 1987 19882002-05-21 Werner Koch <wk@gnupg.org> 1989 1990 * misc.c (_gcry_log_printf): Don't initialize a va_list. Noted by 1991 Jeff Johnson. 1992 1993 * global.c (gcry_set_progress_handler): New. 1994 1995 * gcrypt.h: Replaced the typedef for byte. 1996 19972002-05-16 Werner Koch <wk@gnupg.org> 1998 1999 * missing-string.c: New. 2000 2001 * gcrypt.h: Add new error codes GCRYERR_SEXP_ and typedefs 2002 GcryMPI, GcrySexp, GcryCipherHd, GcryMDHd as aliases for the old 2003 ones using an underscore. 2004 2005 * global.c (gcry_strerror): Add strings fro the new error codes. 2006 * sexp.c (gcry_sexp_canon_len): Use a macro to convert from new to 2007 old error codes. 2008 (gcry_sexp_create,gcry_sexp_new): New. 2009 20102002-05-15 Werner Koch <wk@gnupg.org> 2011 2012 * mutex.h (DEFINE_LOCAL_MUTEX): Macro to define a mutex and 2013 initialize it so that we can detect an unitialized mutex and don't 2014 read from stdin. 2015 20162002-05-14 Werner Koch <wk@gnupg.org> 2017 2018 Changed license of all files to the LGPL. 2019 20202002-05-07 Werner Koch <wk@gnupg.org> 2021 2022 * global.c (gcry_control): Add commands 2023 GCRYCTL_ANY_INITIALIZATION_P and GCRYCTL_INITIALIZATION_FINISHED_P 2024 so that other libraries are able to check for required 2025 initializations. 2026 20272002-05-02 Werner Koch <wk@gnupg.org> 2028 2029 * gcrypt.h (GCRYCTL_DISABLE_INTERNAL_LOCKING): New. 2030 * global.c (gcry_control): Implement it. 2031 (_gcry_no_internal_locking): New. 2032 * mutex.h: Prefixed all fucntions with _gcry_. Bypass all 2033 functions when desired. 2034 2035 * gcrypt.h (GCRYCTL_DISABLE_SECMEM): New. 2036 * global.c (gcry_control,gcry_malloc_secure,gcry_is_secure): 2037 Implement it here. 2038 * secmem.c (_gcry_private_is_secure): Return false if the pool is 2039 not initialized. 2040 2041 * gcrypt.h (GCRYCTL_INITIALIZATION_FINISHED): New. 2042 2043 * gcrypt.h (gcry_cipher_algos): Replaced RINDAEL by AES and change 2044 the macros to expand from rijdael to aes. 2045 2046 * stdmem.c (_gcry_private_malloc): Return NULL for 0 byte allocation. 2047 (_gcry_private_malloc_secure): Ditto. 2048 2049 * g10lib.h: Copied the JNLIB_GCC macros from ../jnlib/mischelp.h 2050 and removed the inclusion of that file. 2051 20522002-04-15 Werner Koch <wk@gnupg.org> 2053 2054 * global.c (gcry_strdup): New. 2055 20562002-03-18 Werner Koch <wk@gnupg.org> 2057 2058 * mutex.h: New file with a portable thread mutex implementation 2059 written by Marcus Brinkmann. Taken from GPGME. 2060 20612002-02-18 Werner Koch <wk@gnupg.org> 2062 2063 * sexp.c (gcry_sexp_sscan): Don't initialize the dummy 2064 variable. Suggested by Jordi Mallach. 2065 20662002-01-31 Werner Koch <wk@gnupg.org> 2067 2068 * sexp.c (suitable_encoding,convert_to_hex,convert_to_string) 2069 (convert_to_token): New. 2070 (gcry_sexp_sprint): Better formatting of advanced encoding, does 2071 now insert LFs and escapes all unprintable characters. 2072 (unquote_string): New. 2073 (sexp_sscan): Implemented the missing conversion of quoted strings. 2074 20752002-01-26 Werner Koch <wk@gnupg.org> 2076 2077 * libgcrypt-config.in: Add copyright notice. 2078 20792002-01-11 Werner Koch <wk@gnupg.org> 2080 2081 * sexp.c (gcry_sexp_canon_len): Fixed last change. 2082 20832002-01-01 Timo Schulz <ts@winpt.org> 2084 2085 * stdmem.c (_gcry_private_realloc): If pointer is NULL now realloc 2086 behaves like malloc. 2087 20882001-12-20 Werner Koch <wk@gnupg.org> 2089 2090 * sexp.c (gcry_sexp_canon_len): Describe the error codes and 2091 return an error if this is not a S-Exp; i.e. it does not start 2092 with an open parenthesis. 2093 20942001-12-18 Werner Koch <wk@gnupg.org> 2095 2096 * sexp.c (gcry_sexp_canon_len): Fixed the test on NULL buffer. 2097 2098 * Makefile.am (DISTCLEANFILES): Include libgcrypt.sym 2099 2100 * sexp.c: Removed the commented test code because we now have a 2101 test in ../tests/ 2102 21032001-12-17 Werner Koch <wk@gnupg.org> 2104 2105 * sexp.c (gcry_sexp_canon_len): New. 2106 21072001-12-11 Werner Koch <wk@gnupg.org> 2108 2109 * gcrypt.h: Fixed AES128 macro, add enum for OFB mode. 2110 21112001-12-05 Werner Koch <wk@gnupg.org> 2112 2113 * misc.c (_gcry_log_printf): New. 2114 * sexp.c (dump_string,gcry_sexp_dump): Use logging functions 2115 instead of stderr. 2116 21172001-11-16 Werner Koch <wk@gnupg.org> 2118 2119 * gcrypt.h: New constant GCRYCTL_IS_ALGO_ENABLED. 2120 21212001-10-02 Werner Koch <wk@gnupg.org> 2122 2123 * gcrypt.h: Removed a couple of trailing commas. 2124 21252001-08-28 Werner Koch <wk@gnupg.org> 2126 2127 * sexp.c (sexp_sscan): Add an argument to enable the 2128 arg_ptr. Changed all callers. Suggested by Tom Holroyd. 2129 21302001-08-03 Werner Koch <wk@gnupg.org> 2131 2132 * global.c (gcry_strerror): Updated list of error codes. 2133 21342001-07-23 Werner Koch <wk@gnupg.org> 2135 2136 * gcrypt.h: Replaced the last ulong. Noted by Rami Lehti. 2137 21382001-05-31 Werner Koch <wk@gnupg.org> 2139 2140 * gcrypt.h, mpi.h: Made some mpi functions public. 2141 2142 * wrapper.c: Removed. 2143 * global.c: Renamed all g10_ prefixed functions which had wrappers 2144 to gcry_xxx. So we now use the exported memory functions inernally. 2145 2146 Renamed all g10_ prefixed functions to _gcry_ prefixed ones. 2147 2148 * g10lib.h (_GCRYPT_IN_LIBGCRYPT): Replace defintion by a test on it. 2149 21502001-05-28 Werner Koch <wk@gnupg.org> 2151 2152 * libgcrypt.m4: Check GCRYPT_VERSION macro and not LIBGCRYPT_VERSION. 2153 2154 * mpi.h: Removed mpi_fromstr prototype. 2155 21562001-01-11 Werner Koch <wk@gnupg.org> 2157 2158 * Makefile.am (libgcrypt_la_SOURCES): Add mpi.h 2159 21602000-12-19 Werner Koch <wk@gnupg.org> 2161 2162 * types.h: Moved from ../include to here. 2163 2164 Major change: 2165 Removed all GnuPG stuff and renamed this piece of software 2166 to gcrypt. 2167 21682000-11-14 Werner Koch <wk@gnupg.org> 2169 2170 * mpi.h: Moved to ../mpi. 2171 2172 * Makefile.am (OMIT_DEPENDENCIES): Hack to work around dependency 2173 problems. 2174 21752000-10-11 Werner Koch <wk@gnupg.org> 2176 2177 * mpi.h: Changed the way mpi_limb_t is defined. 2178 21792000-10-10 Werner Koch <wk@gnupg.org> 2180 2181 * Makefile.am: Take version-info from configure. 2182 21832000-10-09 Werner Koch <wk@gnupg.org> 2184 2185 * gcrypt.h: New cipher mode, new algo Arcfour and new error code 2186 GCRYERR_INV_CIPHER_MODE. 2187 * global.c (gcry_strerror): New errorcode. 2188 2189Wed Oct 4 13:16:18 CEST 2000 Werner Koch <wk@openit.de> 2190 2191 * gcrypt.h (gcry_md_setkey): Replaced macro by function prototype. 2192 2193Mon Sep 18 16:35:45 CEST 2000 Werner Koch <wk@openit.de> 2194 2195 * gcrypt.h (GCRYCTL_GET_ALGO_USAGE): New. 2196 2197 * secmem.c (secmem_realloc): check for failed secmem_malloc. By 2198 Matt Kraai. 2199 2200Mon Jul 31 10:04:47 CEST 2000 Werner Koch <wk@openit.de> 2201 2202 * sexp.c: Removed the datalen fields from list tags. 2203 (gcry_sexp_car_data,gcry_sexp_cdr_data,gcry_sexp_car_mpi, 2204 gcry_sexp_cdr_mpi): Removed. 2205 (gcry_sexp_nth,gcry_sexp_nth_data,gcry_sexp_nth_mpi): New. 2206 2207Fri Jul 28 18:19:11 CEST 2000 Werner Koch <wk@openit.de> 2208 2209 * sexp.c (sexp_sscan): Fixed reallocation to secure memory. 2210 (new_empty_list): Removed 2211 (gcry_sexp_length): New. 2212 (gcry_sexp_enum): Removed. 2213 (normalize): New. Reworked the whole thing to use NULL for an empty list. 2214 (make_space): New instead of the macro. 2215 2216Tue Jul 25 17:44:15 CEST 2000 Werner Koch <wk@openit.de> 2217 2218 * sexp.c: Major rewrite. 2219 (gcry_sexp_sscan): Reordered arguments. Moved functionality to .. 2220 (sexp_sscan): .. this. 2221 (gcry_sexp_build): New. 2222 (gcry_sexp_new_name_mpi, gcry_sexp_new_name_data, gcry_sexp_new_data, 2223 gcry_sexp_new_mpi): Removed. 2224 2225Fri Jul 14 19:38:23 CEST 2000 Werner Koch <wk@> 2226 2227 * gcrypt.h (gcry_md_start_debug, gcry_md_stop_debug): New. 2228 (gcry_ctl_cmds): New control values 2229 2230 * sexp.c (gcry_sexp_sscan): Add hex format parsing. 2231 2232 * secmem.c (lock_pool): Check for ENOSYS return my mlock() on old SCOs. 2233 (pool_is_mmapped): Made volatile. 2234 (lock_pool): No more warning for QNX. By Sam Roberts. 2235 (lock_pool,secmem_init): Additional check for dropped privs. 2236 22372000-03-21 09:18:48 Werner Koch (wk@habibti.gnupg.de) 2238 2239 * gcrypt.h (gcry_md_setkey): New. 2240 (GCRY_MD_FLAG_HMAC): New. 2241 2242Mon Jan 31 16:37:34 CET 2000 Werner Koch <wk@gnupg.de> 2243 2244 * Makefile.am: Add g10lib.h 2245 2246Thu Jan 27 18:00:44 CET 2000 Werner Koch <wk@gnupg.de> 2247 2248 * sexp.c (gcry_sexp_sscan): Allow NULL for erroff. 2249 2250Mon Jan 24 22:24:38 CET 2000 Werner Koch <wk@gnupg.de> 2251 2252 * sexp.c (gcry_sexp_alist): New. 2253 2254Mon Jan 24 13:04:28 CET 2000 Werner Koch <wk@gnupg.de> 2255 2256 * secmem.c: Moved from ../util to here. 2257 * secmem.h: New. 2258 * stdmem.c: New. Based on the old ../util/memory.c. 2259 * stdmem.h: New. 2260 2261Wed Dec 8 21:58:32 CET 1999 Werner Koch <wk@gnupg.de> 2262 2263 * gcrypt.m4: New. 2264 * gcrypt-config: New. 2265 2266 * mpi.h (mpi_get_nbit_info): Removed 2267 (mpi_set_nbit_info): Removed. 2268 (struct gcry_mpi): Removed the nbits field. 2269 2270 * misc.c (g10_log_verbosity): New. 2271 2272 * global.c (g10_xstrdup): New. 2273 2274 * mpiapi.c: Removed. 2275 2276 * mpi.h: Moved from ../include to here. Removed some obsolete 2277 prototypes and the iobuf.h header. 2278 * cipher.h: Moved from ../include to here. Removed the mpi.h header. 2279 * g10lib.h: Moved from ../include to here. 2280 2281Fri Nov 19 17:15:20 CET 1999 Werner Koch <wk@gnupg.de> 2282 2283 * sexp.c (dump_string): New. Taken from gnupg/util/miscutil.c. 2284 (do_dump_list): s/print_string/dump_string/. 2285 2286 * testapi.c: New. 2287 2288 * mpiapi.c (gcry_mpi_randomize): Use new random API. 2289 2290Sat Nov 13 17:44:23 CET 1999 Werner Koch <wk@gnupg.de> 2291 2292 * gloabl.c (gcry_control): Add cases for dumping random 2293 and secmem stats. 2294 2295Tue Oct 26 14:10:21 CEST 1999 Werner Koch <wk@gnupg.de> 2296 2297 * pkapi.c: Removed. 2298 2299 * symapi.c: Removed. 2300 2301 * g10lib.h: Moved to ../include. 2302 2303 * mdapi.c: Removed. 2304 2305Wed Jul 7 13:08:40 CEST 1999 Werner Koch <wk@isil.d.shuttle.de> 2306 2307 * sexp.c: New. 2308 2309Tue Dec 8 13:15:16 CET 1998 Werner Koch <wk@isil.d.shuttle.de> 2310 2311 * gcrypt.h: New 2312 * mpiapi.c: New 2313 2314 2315 Copyright (C) 1998,1999,2000,2001,2002,2003 2316 2004,2005,2008,2009,2011 Free Software Foundation, Inc. 2317 2318 This file is free software; as a special exception the author gives 2319 unlimited permission to copy and/or distribute it, with or without 2320 modifications, as long as this notice is preserved. 2321 2322 This file is distributed in the hope that it will be useful, but 2323 WITHOUT ANY WARRANTY, to the extent permitted by law; without even the 2324 implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 2325