# # # rename "botan/certstore.cpp" # to "botan/certstor.cpp" # # rename "botan/mp_muladd.cpp" # to "botan/mp_mulop.cpp" # # add_file "botan/README.botan-monotone" # content [4cad7258f90f77e42f88066b052d3dcdb6638843] # # patch "ChangeLog" # from [a18d2332ad52a8496244db74cacfae9a535a6994] # to [fc3383734ec1a50a679532f4b9610348e25a9f24] # # patch "Makefile.am" # from [39ce000a75499d88f61ff8bfa889c57878345250] # to [657175b256c34aec329326821fbcd9281adfa08f] # # patch "botan/base64.h" # from [2b090ec65993ce3366d06dd30665032b2ce2ff02] # to [3f09eb989fc4b2b391f9cefa31455c9fbd2794cb] # # patch "botan/config.cpp" # from [d4dc8bd89b02461a03377681d9a106fbfbf4d70d] # to [0c3d3bed551ae74cdb33be1843727648e87a80a2] # # patch "botan/config.h" # from [538f35746c12898efa1cca7bd034027214f90611] # to [67ea849588c76de31039a5b31d47983ae8ad7159] # # patch "botan/engine.h" # from [83d79b578eeab1e96af10e64f9dd5c757611d0a9] # to [b097b39a35e56fa7065db88304f00a54c79e88b3] # # patch "botan/enums.h" # from [f4aae4647a70b0d879cd06bbe9951a2b1f8d33c8] # to [baf21a6f233200a4cfd0e09f584285a4fd3caef4] # # patch "botan/filter.cpp" # from [24a13d191c5b20b1445a0b581fc8b0ca92dcda43] # to [eb64d7cb6d31e58b2bde650ed5f244626e1d69e3] # # patch "botan/hex.h" # from [065a18cbf522daf1c6283587bec607f788be2e46] # to [cd20faea5de483ad9e90bb8921e492bcbb7b743e] # # patch "botan/init_def.cpp" # from [28f1a3f5c9ec0d18cc9d86a2ddc7009653d9accb] # to [afd1c1e0132c65e36d289940fe251b2875ec3a25] # # patch "botan/libstate.cpp" # from [9f1b052f1934e8bd5778d6952df3c2cfe4aab789] # to [ab62d4062809876fb3f5e4f72bf6d44821bc218d] # # patch "botan/libstate.h" # from [f5c5c2663864660f509a451ef9ff53fa6d7b8ecb] # to [4070e82c699e67065b4337afd0475b0e9c9e6120] # # patch "botan/make_prm.cpp" # from [e9f4a2387ea8bd55d93d4c93ba73fc8ebf028212] # to [4ef12c2a523d27ad2c7602374ed7aac7d0de36ef] # # patch "botan/numthry.cpp" # from [84009604c0629348da9cf653aa8d11f477c72ed9] # to [126f52c53fff81483812e62e387a63db90aad512] # # patch "botan/policy.cpp" # from [7edd21b6fc8e3770981ad0eba6b28402efdba46b] # to [e166ff18acbb721c2e2631204f7214510606a596] # # patch "botan/symkey.h" # from [2d69cca7990aa00f317cfce3c3fc4fe4aa82dbd7] # to [bb111b6485d7142552cdaf683eb32c045d3bc837] # # patch "botan/ui.cpp" # from [32d9c59fa34f0fd2f122a5cc3b2ff021b3a8898c] # to [110c99f760077c645bd4066dee446930ad8736da] # # patch "botan/ui.h" # from [b2113a0666a19f2ab5a86669b4aba1b7fb031b1a] # to [798f616232c5e7d573b8804757aece798e38be28] # # patch "botan/x509_ext.cpp" # from [ef06bb3ca34bbd16a7735dbc40fede0e06fad529] # to [ea9c0179d437bd8041db6761a911dad82139cc36] # # patch "botan/x509cert.h" # from [ec2ade1cc5bfc6ed02672025821794fc4589eac0] # to [3e0aff7d3950cca7179fabe9758606bddc688d40] # ============================================================ --- botan/README.botan-monotone 4cad7258f90f77e42f88066b052d3dcdb6638843 +++ botan/README.botan-monotone 4cad7258f90f77e42f88066b052d3dcdb6638843 @@ -0,0 +1,27 @@ +This botan/ subdirectory is maintained in a separate staging branch +(currently au.asn.ucc.matt.botan.monotone-2). This avoids pulling the entire +net.randombit.botan history into net.venge.monotone. It also evades the issue +of being unable to resurrect files (a problem of die-die-die merge), as +unwanted files are just moved into a.a.u.m.b.monotone-2's Attic/ directory. + +Steps to update net.venge.monotone.botan with net.randombit.net: + +1) "mtn pull randombit.net net.randombit.botan" + +2) "mtn propagate net.randombit.botan au.asn.ucc.matt.botan.monotone-2" + +3) "mtn up" in an a.a.u.m.b.monotone-2 workspace. + In a n.v.m.botan botan/ dir, do "rm *". + Then copy the entire / contents (no subdirs though) from the staging + branch's root dir to the botan/ dir. + +4) "mtn ls unknown botan/" and "mtn ls missing botan/" in n.v.m.botan. If + there are obviously renamed files, use "mtn rename" to fix them. + Otherwise add/drop files as appropriate. Also fix up Makefile.am. + +4) make check in n.v.m.botan. If it succeeds, commit. If there are problems, + copy the changes back to the staging branch and commit there as well. You + might need to move some files from Attic/src/ to / in the staging branch. + +Update this file if things don't work, and remember to push the staging branch +to venge.net. ============================================================ --- ChangeLog a18d2332ad52a8496244db74cacfae9a535a6994 +++ ChangeLog fc3383734ec1a50a679532f4b9610348e25a9f24 @@ -1,4 +1,10 @@ +2006-12-18 Matt Johnston + + * botan/: Update to Botan 1.6.0, add botan/README.botan-monotone + with maintainence details. + 2006-12-16 Matt Johnston + * cmd_list.cc: ls_known, ls_changed: sort path output. 2006-12-15 Nathaniel Smith ============================================================ --- Makefile.am 39ce000a75499d88f61ff8bfa889c57878345250 +++ Makefile.am 657175b256c34aec329326821fbcd9281adfa08f @@ -107,7 +107,7 @@ BOTAN_SOURCES = \ botan/ber_dec.cpp botan/big_base.cpp \ botan/big_code.cpp botan/big_io.cpp botan/big_ops2.cpp \ botan/big_ops3.cpp botan/blinding.cpp botan/buf_es.cpp \ - botan/buf_filt.cpp botan/cbc.cpp botan/certstore.cpp \ + botan/buf_filt.cpp botan/cbc.cpp botan/certstor.cpp \ botan/cfb.cpp botan/charset.cpp botan/crc32.cpp \ botan/crl_ent.cpp botan/ctr.cpp botan/cts.cpp \ botan/data_snk.cpp botan/data_src.cpp \ @@ -127,7 +127,7 @@ BOTAN_SOURCES = \ botan/make_prm.cpp botan/mdx_hash.cpp \ botan/mem_pool.cpp botan/mgf1.cpp botan/mlock.cpp \ botan/mode_pad.cpp botan/modebase.cpp \ - botan/mp_comba.cpp botan/mp_muladd.cpp \ + botan/mp_comba.cpp botan/mp_mulop.cpp \ botan/mp_misc.cpp botan/mp_mul.cpp botan/mp_shift.cpp \ botan/mutex.cpp botan/numthry.cpp \ botan/ofb.cpp botan/oids.cpp botan/parsing.cpp botan/pbes1.cpp \ ============================================================ --- botan/base64.h 2b090ec65993ce3366d06dd30665032b2ce2ff02 +++ botan/base64.h 3f09eb989fc4b2b391f9cefa31455c9fbd2794cb @@ -7,6 +7,7 @@ #define BOTAN_BASE64_H__ #include +#include namespace Botan { ============================================================ --- botan/config.cpp d4dc8bd89b02461a03377681d9a106fbfbf4d70d +++ botan/config.cpp 0c3d3bed551ae74cdb33be1843727648e87a80a2 @@ -82,6 +82,14 @@ std::string Config::deref_alias(const st } /************************************************* +* Set/Add an option * +*************************************************/ +void Config::set_option(const std::string key, const std::string& value) + { + set("conf", key, value); + } + +/************************************************* * Get an option value * *************************************************/ std::string Config::option(const std::string& key) const ============================================================ --- botan/config.h 538f35746c12898efa1cca7bd034027214f90611 +++ botan/config.h 67ea849588c76de31039a5b31d47983ae8ad7159 @@ -27,22 +27,22 @@ class Config void set(const std::string&, const std::string&, const std::string&, bool = true); + std::string option(const std::string&) const; u32bit option_as_u32bit(const std::string&) const; u32bit option_as_time(const std::string&) const; bool option_as_bool(const std::string&) const; std::vector option_as_list(const std::string&) const; + void set_option(const std::string, const std::string&); + void add_alias(const std::string&, const std::string&); std::string deref_alias(const std::string&) const; - std::string option(const std::string&) const; - void load_inifile(const std::string&); static void choose_sig_format(const std::string&, std::string&, Signature_Format&); private: - std::map settings; }; ============================================================ --- botan/engine.h 83d79b578eeab1e96af10e64f9dd5c757611d0a9 +++ botan/engine.h b097b39a35e56fa7065db88304f00a54c79e88b3 @@ -11,6 +11,7 @@ #include #include #include +#include #include #include ============================================================ --- botan/enums.h f4aae4647a70b0d879cd06bbe9951a2b1f8d33c8 +++ botan/enums.h baf21a6f233200a4cfd0e09f584285a4fd3caef4 @@ -99,6 +99,23 @@ enum Character_Set { LATIN1_CHARSET }; +/************************************************* +* Pulse Function * +*************************************************/ +enum Pulse_Type { + GENERAL_PULSE, + + PIPE_WRITE, + + PRIME_SEARCHING, + PRIME_SIEVING, + PRIME_PASSED_SIEVE, + PRIME_TESTING, + PRIME_FOUND +}; + +static const u32bit NO_CERT_PATH_LIMIT = 0xFFFFFFF0; + } #endif ============================================================ --- botan/filter.cpp 24a13d191c5b20b1445a0b581fc8b0ca92dcda43 +++ botan/filter.cpp eb64d7cb6d31e58b2bde650ed5f244626e1d69e3 @@ -5,7 +5,7 @@ #include #include -#include +#include namespace Botan { @@ -25,7 +25,7 @@ void Filter::send(const byte input[], u3 *************************************************/ void Filter::send(const byte input[], u32bit length) { - UI::pulse(UI::PIPE_WRITE); + global_state().pulse(PIPE_WRITE); bool nothing_attached = true; for(u32bit j = 0; j != total_ports(); ++j) ============================================================ --- botan/hex.h 065a18cbf522daf1c6283587bec607f788be2e46 +++ botan/hex.h cd20faea5de483ad9e90bb8921e492bcbb7b743e @@ -7,6 +7,7 @@ #define BOTAN_HEX_H__ #include +#include namespace Botan { ============================================================ --- botan/init_def.cpp 28f1a3f5c9ec0d18cc9d86a2ddc7009653d9accb +++ botan/init_def.cpp afd1c1e0132c65e36d289940fe251b2875ec3a25 @@ -28,16 +28,8 @@ void LibraryInitializer::initialize(cons *************************************************/ void LibraryInitializer::initialize(const InitializerOptions& args) { - try - { - Builtin_Modules modules(args); - initialize(args, modules); - } - catch(...) - { - deinitialize(); - throw; - } + Builtin_Modules modules(args); + initialize(args, modules); } /************************************************* ============================================================ --- botan/libstate.cpp 9f1b052f1934e8bd5778d6952df3c2cfe4aab789 +++ botan/libstate.cpp ab62d4062809876fb3f5e4f72bf6d44821bc218d @@ -292,6 +292,24 @@ X509_GlobalState& Library_State::x509_st } /************************************************* +* Set the UI object state * +*************************************************/ +void Library_State::set_ui(UI* new_ui) + { + delete ui; + ui = new_ui; + } + +/************************************************* +* Send a pulse to the UI object * +*************************************************/ +void Library_State::pulse(Pulse_Type pulse_type) const + { + if(ui) + ui->pulse(pulse_type); + } + +/************************************************* * Set the configuration object * *************************************************/ Config& Library_State::config() const @@ -348,6 +366,7 @@ Library_State::Library_State(Mutex_Facto rng = 0; cached_default_allocator = 0; x509_state_obj = 0; + ui = 0; } /************************************************* @@ -360,6 +379,7 @@ Library_State::~Library_State() delete rng; delete timer; delete config_obj; + delete ui; std::for_each(entropy_sources.begin(), entropy_sources.end(), del_fun()); ============================================================ --- botan/libstate.h f5c5c2663864660f509a451ef9ff53fa6d7b8ecb +++ botan/libstate.h 4070e82c699e67065b4337afd0475b0e9c9e6120 @@ -7,6 +7,8 @@ #define BOTAN_LIB_STATE_H__ #include +#include +#include #include #include #include @@ -30,6 +32,13 @@ class Library_State }; friend class Engine_Iterator; + class UI + { + public: + virtual void pulse(Pulse_Type) {} + virtual ~UI() {} + }; + Allocator* get_allocator(const std::string& = "") const; void add_allocator(Allocator*); void set_default_allocator(const std::string&) const; @@ -58,6 +67,9 @@ class Library_State void set_x509_state(class X509_GlobalState*); class X509_GlobalState& x509_state(); + void pulse(Pulse_Type) const; + void set_ui(UI*); + void set_transcoder(class Charset_Transcoder*); std::string transcode(const std::string, Character_Set, Character_Set) const; @@ -79,6 +91,7 @@ class Library_State std::map alloc_factory; mutable Allocator* cached_default_allocator; + UI* ui; class Charset_Transcoder* transcoder; RandomNumberGenerator* rng; std::vector allocators; ============================================================ --- botan/make_prm.cpp e9f4a2387ea8bd55d93d4c93ba73fc8ebf028212 +++ botan/make_prm.cpp 4ef12c2a523d27ad2c7602374ed7aac7d0de36ef @@ -1,14 +1,14 @@ /************************************************* * Prime Generation Source File * * (C) 1999-2006 The Botan Project * *************************************************/ #include +#include #include #include #include #include -#include #include #include @@ -55,7 +55,7 @@ bool generate_dsa_primes(BigInt& p, BigI q.binary_decode(qhash, qhash.size()); if(!is_prime(q)) return false; - UI::pulse(UI::PRIME_FOUND); + global_state().pulse(PRIME_FOUND); u32bit n = (pbits-1) / 160, b = (pbits-1) % 160; SecureVector W(20 * (n+1)); @@ -67,7 +67,7 @@ bool generate_dsa_primes(BigInt& p, BigI for(u32bit j = 0; j != 4096 - counter_start; ++j) { - UI::pulse(UI::PRIME_SEARCHING); + global_state().pulse(PRIME_SEARCHING); for(u32bit k = 0; k != n + 1; ++k) { @@ -82,7 +82,7 @@ bool generate_dsa_primes(BigInt& p, BigI if(p.bits() == pbits && is_prime(p)) { - UI::pulse(UI::PRIME_FOUND); + global_state().pulse(PRIME_FOUND); return true; } } @@ -99,7 +99,7 @@ SecureVector generate_dsa_primes(B while(true) { Global_RNG::randomize(seed, seed.size()); - UI::pulse(UI::PRIME_SEARCHING); + global_state().pulse(PRIME_SEARCHING); if(generate_dsa_primes(p, q, seed, seed.size(), pbits)) return seed; } @@ -111,7 +111,7 @@ BigInt random_prime(u32bit bits, const B BigInt random_prime(u32bit bits, const BigInt& coprime, u32bit equiv, u32bit modulo) { - if(bits <= 48) + if(bits < 48) throw Invalid_Argument("random_prime: Can't make a prime of " + to_string(bits) + " bits"); @@ -124,7 +124,7 @@ BigInt random_prime(u32bit bits, const B while(true) { - UI::pulse(UI::PRIME_SEARCHING); + global_state().pulse(PRIME_SEARCHING); BigInt p = random_integer(bits); p.set_bit(bits - 2); @@ -139,7 +139,7 @@ BigInt random_prime(u32bit bits, const B for(u32bit j = 0; j != sieve.size(); ++j) { sieve[j] = p % PRIMES[j]; - UI::pulse(UI::PRIME_SIEVING); + global_state().pulse(PRIME_SIEVING); } u32bit counter = 0; @@ -148,7 +148,7 @@ BigInt random_prime(u32bit bits, const B if(counter == 4096 || p.bits() > bits) break; - UI::pulse(UI::PRIME_SEARCHING); + global_state().pulse(PRIME_SEARCHING); bool passes_sieve = true; ++counter; @@ -157,17 +157,17 @@ BigInt random_prime(u32bit bits, const B for(u32bit j = 0; j != sieve.size(); ++j) { sieve[j] = (sieve[j] + modulo) % PRIMES[j]; - UI::pulse(UI::PRIME_SIEVING); + global_state().pulse(PRIME_SIEVING); if(sieve[j] == 0) passes_sieve = false; } if(!passes_sieve || gcd(p - 1, coprime) != 1) continue; - UI::pulse(UI::PRIME_PASSED_SIEVE); + global_state().pulse(PRIME_PASSED_SIEVE); if(passes_mr_tests(p)) { - UI::pulse(UI::PRIME_FOUND); + global_state().pulse(PRIME_FOUND); return p; } } ============================================================ --- botan/numthry.cpp 84009604c0629348da9cf653aa8d11f477c72ed9 +++ botan/numthry.cpp 126f52c53fff81483812e62e387a63db90aad512 @@ -1,10 +1,10 @@ /************************************************* * Number Theory Source File * * (C) 1999-2006 The Botan Project * *************************************************/ #include -#include +#include #include namespace Botan { @@ -284,7 +284,7 @@ bool MillerRabin_Test::passes_test(const if(a < 2 || a >= n_minus_1) throw Invalid_Argument("Bad size for nonce in Miller-Rabin test"); - UI::pulse(UI::PRIME_TESTING); + global_state().pulse(PRIME_TESTING); BigInt y = pow_mod(a); if(y == 1 || y == n_minus_1) @@ -292,7 +292,7 @@ bool MillerRabin_Test::passes_test(const for(u32bit j = 1; j != s; ++j) { - UI::pulse(UI::PRIME_TESTING); + global_state().pulse(PRIME_TESTING); y = reducer.square(y); if(y == 1) ============================================================ --- botan/policy.cpp 7edd21b6fc8e3770981ad0eba6b28402efdba46b +++ botan/policy.cpp e166ff18acbb721c2e2631204f7214510606a596 @@ -181,51 +181,51 @@ void set_default_config(Config& config) *************************************************/ void set_default_config(Config& config) { - config.set("conf", "base/memory_chunk", "64*1024"); - config.set("conf", "base/pkcs8_tries", "3"); - config.set("conf", "base/default_pbe", + config.set_option("base/memory_chunk", "64*1024"); + config.set_option("base/pkcs8_tries", "3"); + config.set_option("base/default_pbe", "PBE-PKCS5v20(SHA-1,TripleDES/CBC)"); - config.set("conf", "base/default_allocator", "malloc"); + config.set_option("base/default_allocator", "malloc"); - config.set("conf", "pk/blinder_size", "64"); - config.set("conf", "pk/test/public", "basic"); - config.set("conf", "pk/test/private", "basic"); - config.set("conf", "pk/test/private_gen", "all"); + config.set_option("pk/blinder_size", "64"); + config.set_option("pk/test/public", "basic"); + config.set_option("pk/test/private", "basic"); + config.set_option("pk/test/private_gen", "all"); - config.set("conf", "pem/search", "4*1024"); - config.set("conf", "pem/forgive", "8"); - config.set("conf", "pem/width", "64"); + config.set_option("pem/search", "4*1024"); + config.set_option("pem/forgive", "8"); + config.set_option("pem/width", "64"); - config.set("conf", "rng/ms_capi_prov_type", "INTEL_SEC:RSA_FULL"); - config.set("conf", "rng/unix_path", "/usr/ucb:/usr/etc:/etc"); - config.set("conf", "rng/es_files", "/dev/urandom:/dev/random"); - config.set("conf", "rng/egd_path", + config.set_option("rng/ms_capi_prov_type", "INTEL_SEC:RSA_FULL"); + config.set_option("rng/unix_path", "/usr/ucb:/usr/etc:/etc"); + config.set_option("rng/es_files", "/dev/urandom:/dev/random"); + config.set_option("rng/egd_path", "/var/run/egd-pool:/dev/egd-pool"); - config.set("conf", "rng/slow_poll_request", "256"); - config.set("conf", "rng/fast_poll_request", "64"); + config.set_option("rng/slow_poll_request", "256"); + config.set_option("rng/fast_poll_request", "64"); - config.set("conf", "x509/validity_slack", "24h"); - config.set("conf", "x509/v1_assume_ca", "false"); - config.set("conf", "x509/cache_verify_results", "30m"); + config.set_option("x509/validity_slack", "24h"); + config.set_option("x509/v1_assume_ca", "false"); + config.set_option("x509/cache_verify_results", "30m"); - config.set("conf", "x509/ca/allow_ca", "false"); - config.set("conf", "x509/ca/basic_constraints", "always"); - config.set("conf", "x509/ca/default_expire", "1y"); - config.set("conf", "x509/ca/signing_offset", "30s"); - config.set("conf", "x509/ca/rsa_hash", "SHA-1"); - config.set("conf", "x509/ca/str_type", "latin1"); + config.set_option("x509/ca/allow_ca", "false"); + config.set_option("x509/ca/basic_constraints", "always"); + config.set_option("x509/ca/default_expire", "1y"); + config.set_option("x509/ca/signing_offset", "30s"); + config.set_option("x509/ca/rsa_hash", "SHA-1"); + config.set_option("x509/ca/str_type", "latin1"); - config.set("conf", "x509/crl/unknown_critical", "ignore"); - config.set("conf", "x509/crl/next_update", "7d"); + config.set_option("x509/crl/unknown_critical", "ignore"); + config.set_option("x509/crl/next_update", "7d"); - config.set("conf", "x509/exts/basic_constraints", "critical"); - config.set("conf", "x509/exts/subject_key_id", "yes"); - config.set("conf", "x509/exts/authority_key_id", "yes"); - config.set("conf", "x509/exts/subject_alternative_name", "yes"); - config.set("conf", "x509/exts/issuer_alternative_name", "no"); - config.set("conf", "x509/exts/key_usage", "critical"); - config.set("conf", "x509/exts/extended_key_usage", "yes"); - config.set("conf", "x509/exts/crl_number", "yes"); + config.set_option("x509/exts/basic_constraints", "critical"); + config.set_option("x509/exts/subject_key_id", "yes"); + config.set_option("x509/exts/authority_key_id", "yes"); + config.set_option("x509/exts/subject_alternative_name", "yes"); + config.set_option("x509/exts/issuer_alternative_name", "no"); + config.set_option("x509/exts/key_usage", "critical"); + config.set_option("x509/exts/extended_key_usage", "yes"); + config.set_option("x509/exts/crl_number", "yes"); } /************************************************* ============================================================ --- botan/symkey.h 2d69cca7990aa00f317cfce3c3fc4fe4aa82dbd7 +++ botan/symkey.h bb111b6485d7142552cdaf683eb32c045d3bc837 @@ -7,7 +7,6 @@ #define BOTAN_SYMKEY_H__ #include -#include #include namespace Botan { ============================================================ --- botan/ui.cpp 32d9c59fa34f0fd2f122a5cc3b2ff021b3a8898c +++ botan/ui.cpp 110c99f760077c645bd4066dee446930ad8736da @@ -1,9 +1,10 @@ /************************************************* * User Interface Source File * * (C) 1999-2006 The Botan Project * *************************************************/ #include +#include namespace Botan { @@ -31,32 +32,4 @@ User_Interface::User_Interface(const std first_try = true; } -namespace UI { - -/************************************************* -* The current pulse function * -*************************************************/ -pulse_func pulse_f = 0; -void* pulse_f_data = 0; - -/************************************************* -* Set the UI pulse function * -*************************************************/ -void set_pulse(pulse_func p, void* p_data) - { - pulse_f = p; - pulse_f_data = p_data; - } - -/************************************************* -* Call the UI pulse function * -*************************************************/ -void pulse(Pulse_Type type) - { - if(pulse_f) - pulse_f(type, pulse_f_data); - } - } - -} ============================================================ --- botan/ui.h b2113a0666a19f2ab5a86669b4aba1b7fb031b1a +++ botan/ui.h 798f616232c5e7d573b8804757aece798e38be28 @@ -28,36 +28,6 @@ class User_Interface mutable bool first_try; }; -namespace UI { - -/************************************************* -* Pulse Function * -*************************************************/ -enum Pulse_Type { - GENERAL_PULSE, - - PIPE_WRITE, - - PRIME_SEARCHING, - PRIME_SIEVING, - PRIME_PASSED_SIEVE, - PRIME_TESTING, - PRIME_FOUND -}; -typedef void (*pulse_func)(Pulse_Type, void*); - -/************************************************* -* Set the UI pulse function * -*************************************************/ -void set_pulse(pulse_func, void* = 0); - -/************************************************* -* Call the UI pulse function * -*************************************************/ -void pulse(Pulse_Type = GENERAL_PULSE); - } -} - #endif ============================================================ --- botan/x509_ext.cpp ef06bb3ca34bbd16a7735dbc40fede0e06fad529 +++ botan/x509_ext.cpp ea9c0179d437bd8041db6761a911dad82139cc36 @@ -1,10 +1,9 @@ /************************************************* * X.509 Certificate Extensions Source File * * (C) 1999-2006 The Botan Project * *************************************************/ #include -#include #include #include #include ============================================================ --- botan/x509cert.h ec2ade1cc5bfc6ed02672025821794fc4589eac0 +++ botan/x509cert.h 3e0aff7d3950cca7179fabe9758606bddc688d40 @@ -9,12 +9,11 @@ #include #include #include +#include #include namespace Botan { -static const u32bit NO_CERT_PATH_LIMIT = 0xFFFFFFF0; - /************************************************* * X.509 Certificate * *************************************************/