From 01a6b5d010f459e8eeb0ef2ce97ecaf885ae1809 Mon Sep 17 00:00:00 2001 From: lloyd Date: Wed, 24 Feb 2010 13:50:39 +0000 Subject: Post-merge fixups --- src/ssl/rec_wri.cpp | 2 +- src/ssl/tls_suites.cpp | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) (limited to 'src/ssl') diff --git a/src/ssl/rec_wri.cpp b/src/ssl/rec_wri.cpp index 258b4ec17..842b2698c 100644 --- a/src/ssl/rec_wri.cpp +++ b/src/ssl/rec_wri.cpp @@ -250,7 +250,7 @@ void Record_Writer::send_record(byte type, byte major, byte minor, */ void Record_Writer::alert(Alert_Level level, Alert_Type type) { - byte alert[2] = { level, type }; + byte alert[2] = { (byte)level, (byte)type }; send(ALERT, alert, sizeof(alert)); flush(); } diff --git a/src/ssl/tls_suites.cpp b/src/ssl/tls_suites.cpp index 26fa75428..a168dac0a 100644 --- a/src/ssl/tls_suites.cpp +++ b/src/ssl/tls_suites.cpp @@ -51,7 +51,7 @@ CipherSuite::CipherSuite(u16bit suite_code) if(suite_string == "") throw Invalid_Argument("Unknown ciphersuite: " + - to_string(suite_code)); + std::to_string(suite_code)); std::vector suite_info = split_on(suite_string, '/'); -- cgit v1.2.3 From ac0ec9b832a337c91cb451e0b8d12b77fa27a20c Mon Sep 17 00:00:00 2001 From: lloyd Date: Tue, 9 Mar 2010 04:14:30 +0000 Subject: Various updates: unique_ptr, using chrono, merge fixups, etc --- checks/pk_bench.cpp | 4 ++-- src/benchmark/benchmark.cpp | 8 ++++---- src/cert/cvc/cvc_self.cpp | 15 +++++++++++---- src/cms/cms_dalg.cpp | 2 +- src/cms/cms_ealg.cpp | 4 ++-- src/constructs/tss/tss.cpp | 2 +- src/pubkey/blinding.cpp | 6 ++++-- src/ssl/cert_ver.cpp | 2 +- src/ssl/s_kex.cpp | 2 +- src/wrap/python/core.cpp | 2 +- src/wrap/python/filter.cpp | 14 +++++++------- src/wrap/python/rsa.cpp | 8 ++++---- 12 files changed, 39 insertions(+), 30 deletions(-) (limited to 'src/ssl') diff --git a/checks/pk_bench.cpp b/checks/pk_bench.cpp index a180778a6..c6f411379 100644 --- a/checks/pk_bench.cpp +++ b/checks/pk_bench.cpp @@ -374,7 +374,7 @@ void benchmark_gost_3410(RandomNumberGenerator& rng, if(hashbits == 521) hashbits = 512; - const std::string padding = "EMSA1(SHA-" + to_string(hashbits) + ")"; + const std::string padding = "EMSA1(SHA-" + std::to_string(hashbits) + ")"; Timer keygen_timer("keygen"); Timer verify_timer(padding + " verify"); @@ -394,7 +394,7 @@ void benchmark_gost_3410(RandomNumberGenerator& rng, sig_timer, rng, 1000, seconds); } - const std::string nm = "GOST-34.10-" + to_string(pbits); + const std::string nm = "GOST-34.10-" + std::to_string(pbits); report.report(nm, keygen_timer); report.report(nm, verify_timer); diff --git a/src/benchmark/benchmark.cpp b/src/benchmark/benchmark.cpp index 7a78461c2..348882b2a 100644 --- a/src/benchmark/benchmark.cpp +++ b/src/benchmark/benchmark.cpp @@ -162,7 +162,7 @@ algorithm_benchmark(const std::string& name, if(const BlockCipher* proto = af.prototype_block_cipher(name, provider)) { - std::auto_ptr block_cipher(proto->clone()); + std::unique_ptr block_cipher(proto->clone()); results = bench_block_cipher(block_cipher.get(), ns_per_provider, &buf[0], buf.size()); @@ -170,7 +170,7 @@ algorithm_benchmark(const std::string& name, else if(const StreamCipher* proto = af.prototype_stream_cipher(name, provider)) { - std::auto_ptr stream_cipher(proto->clone()); + std::unique_ptr stream_cipher(proto->clone()); results = bench_stream_cipher(stream_cipher.get(), ns_per_provider, &buf[0], buf.size()); @@ -178,14 +178,14 @@ algorithm_benchmark(const std::string& name, else if(const HashFunction* proto = af.prototype_hash_function(name, provider)) { - std::auto_ptr hash(proto->clone()); + std::unique_ptr hash(proto->clone()); results = bench_hash(hash.get(), ns_per_provider, &buf[0], buf.size()); } else if(const MessageAuthenticationCode* proto = af.prototype_mac(name, provider)) { - std::auto_ptr mac(proto->clone()); + std::unique_ptr mac(proto->clone()); results = bench_mac(mac.get(), ns_per_provider, &buf[0], buf.size()); } diff --git a/src/cert/cvc/cvc_self.cpp b/src/cert/cvc/cvc_self.cpp index 0c765347f..9489ede85 100644 --- a/src/cert/cvc/cvc_self.cpp +++ b/src/cert/cvc/cvc_self.cpp @@ -168,7 +168,8 @@ EAC1_1_ADO create_ado_req(Private_Key const& key, PK_Signer signer(*priv_key, padding_and_hash); SecureVector tbs_bits = req.BER_encode(); tbs_bits.append(DER_Encoder().encode(car).get_contents()); - MemoryVector signed_cert = EAC1_1_ADO::make_signed(*signer.get(), tbs_bits, rng); + MemoryVector signed_cert = EAC1_1_ADO::make_signed(signer, + tbs_bits, rng); DataSource_Memory source(signed_cert); return EAC1_1_ADO(source); @@ -229,7 +230,7 @@ EAC1_1_CVC link_cvca(EAC1_1_CVC const& signer, AlgorithmIdentifier sig_algo = signer.signature_algorithm(); std::string padding_and_hash = padding_and_hash_from_oid(sig_algo.oid); PK_Signer pk_signer(*priv_key, padding_and_hash); - std::auto_ptr pk = signee.subject_public_key(); + std::unique_ptr pk = signee.subject_public_key(); ECDSA_PublicKey* subj_pk = dynamic_cast(pk.get()); subj_pk->set_parameter_encoding(EC_DOMPAR_ENC_EXPLICIT); @@ -259,11 +260,17 @@ EAC1_1_CVC sign_request(EAC1_1_CVC const& signer_cert, throw Invalid_Argument("CVC_EAC::create_self_signed_cert(): unsupported key type"); } std::string chr_str = signee.get_chr().value(); - chr_str += to_string(seqnr, seqnr_len); + + std::string seqnr_string = std::to_string(seqnr); + + while(seqnr_string.size() < seqnr_len) + seqnr_string = '0' + seqnr_string; + + chr_str += seqnr_string; ASN1_Chr chr(chr_str); std::string padding_and_hash = padding_and_hash_from_oid(signee.signature_algorithm().oid); PK_Signer pk_signer(*priv_key, padding_and_hash); - std::auto_ptr pk = signee.subject_public_key(); + std::unique_ptr pk = signee.subject_public_key(); ECDSA_PublicKey* subj_pk = dynamic_cast(pk.get()); std::unique_ptr signer_pk = signer_cert.subject_public_key(); diff --git a/src/cms/cms_dalg.cpp b/src/cms/cms_dalg.cpp index 2a380b596..f727f2a3f 100644 --- a/src/cms/cms_dalg.cpp +++ b/src/cms/cms_dalg.cpp @@ -29,7 +29,7 @@ SecureVector hash_of(const SecureVector& content, Algorithm_Factory& af = global_state().algorithm_factory(); - std::auto_ptr hash_fn(af.make_hash_function(hash_name)); + std::unique_ptr hash_fn(af.make_hash_function(hash_name)); return hash_fn->process(content); } diff --git a/src/cms/cms_ealg.cpp b/src/cms/cms_ealg.cpp index 3ddf8a39e..b910b89d2 100644 --- a/src/cms/cms_ealg.cpp +++ b/src/cms/cms_ealg.cpp @@ -58,7 +58,7 @@ SecureVector hash_of(const SecureVector& content, const std::string& hash_name) { Algorithm_Factory& af = global_state().algorithm_factory(); - std::auto_ptr hash_fn(af.make_hash_function(hash_name)); + std::unique_ptr hash_fn(af.make_hash_function(hash_name)); return hash_fn->process(content); } @@ -97,7 +97,7 @@ void CMS_Encoder::encrypt(RandomNumberGenerator& rng, { const std::string cipher = choose_algo(user_cipher, "TripleDES"); - std::auto_ptr key(to.subject_public_key()); + std::unique_ptr key(to.subject_public_key()); const std::string algo = key->algo_name(); Key_Constraints constraints = to.constraints(); diff --git a/src/constructs/tss/tss.cpp b/src/constructs/tss/tss.cpp index 0782a27d1..101640f96 100644 --- a/src/constructs/tss/tss.cpp +++ b/src/constructs/tss/tss.cpp @@ -209,7 +209,7 @@ RTSS_Share::reconstruct(const std::vector& shares) byte hash_id = shares[0].contents[16]; - std::auto_ptr hash(get_rtss_hash_by_id(hash_id)); + std::unique_ptr hash(get_rtss_hash_by_id(hash_id)); if(shares[0].size() != secret_len + hash->OUTPUT_LENGTH + RTSS_HEADER_SIZE + 1) throw Decoding_Error("Bad RTSS length field in header"); diff --git a/src/pubkey/blinding.cpp b/src/pubkey/blinding.cpp index 819d0dd20..8da50249f 100644 --- a/src/pubkey/blinding.cpp +++ b/src/pubkey/blinding.cpp @@ -32,7 +32,7 @@ BigInt Blinder::choose_nonce(const BigInt& x, const BigInt& mod) { Algorithm_Factory& af = global_state().algorithm_factory(); - std::auto_ptr hash(af.make_hash_function("SHA-512")); + std::unique_ptr hash(af.make_hash_function("SHA-512")); u64bit ns_clock = get_nanoseconds_clock(); for(size_t i = 0; i != sizeof(ns_clock); ++i) @@ -41,7 +41,9 @@ BigInt Blinder::choose_nonce(const BigInt& x, const BigInt& mod) hash->update(BigInt::encode(x)); hash->update(BigInt::encode(mod)); - u64bit timestamp = system_time(); + auto timestamp = std::chrono::system_clock::to_time_t( + std::chrono::system_clock::now()); + for(size_t i = 0; i != sizeof(timestamp); ++i) hash->update(get_byte(i, timestamp)); diff --git a/src/ssl/cert_ver.cpp b/src/ssl/cert_ver.cpp index 7e17dbfab..0bf6c85be 100644 --- a/src/ssl/cert_ver.cpp +++ b/src/ssl/cert_ver.cpp @@ -80,7 +80,7 @@ bool Certificate_Verify::verify(const X509_Certificate& cert, { // FIXME: duplicate of Server_Key_Exchange::verify - std::auto_ptr key(cert.subject_public_key()); + std::unique_ptr key(cert.subject_public_key()); std::string padding = ""; Signature_Format format = IEEE_1363; diff --git a/src/ssl/s_kex.cpp b/src/ssl/s_kex.cpp index 94b17cb7e..3223adc5b 100644 --- a/src/ssl/s_kex.cpp +++ b/src/ssl/s_kex.cpp @@ -157,7 +157,7 @@ bool Server_Key_Exchange::verify(const X509_Certificate& cert, const MemoryRegion& s_random) const { - std::auto_ptr key(cert.subject_public_key()); + std::unique_ptr key(cert.subject_public_key()); std::string padding = ""; Signature_Format format = IEEE_1363; diff --git a/src/wrap/python/core.cpp b/src/wrap/python/core.cpp index b1be3b71f..67e17c4d5 100644 --- a/src/wrap/python/core.cpp +++ b/src/wrap/python/core.cpp @@ -178,7 +178,7 @@ std::string python_kdf2(const std::string& param, const std::string& masterkey, u32bit outputlength) { - std::auto_ptr kdf(get_kdf("KDF2(SHA-1)")); + std::unique_ptr kdf(get_kdf("KDF2(SHA-1)")); return make_string( kdf->derive_key(outputlength, diff --git a/src/wrap/python/filter.cpp b/src/wrap/python/filter.cpp index 48a3f84eb..0076f0c49 100644 --- a/src/wrap/python/filter.cpp +++ b/src/wrap/python/filter.cpp @@ -109,19 +109,19 @@ Filter* make_filter4(const std::string& name, name); } -void append_filter(Pipe& pipe, std::auto_ptr filter) +void append_filter(Pipe& pipe, std::unique_ptr filter) { pipe.append(filter.get()); filter.release(); } -void prepend_filter(Pipe& pipe, std::auto_ptr filter) +void prepend_filter(Pipe& pipe, std::unique_ptr filter) { pipe.prepend(filter.get()); filter.release(); } -void do_send(std::auto_ptr filter, const std::string& data) +void do_send(std::unique_ptr filter, const std::string& data) { printf("Sending %s to %p\n", data.c_str(), filter.get()); filter->send_str(data); @@ -131,7 +131,7 @@ BOOST_PYTHON_MEMBER_FUNCTION_OVERLOADS(rallas_ovls, read_all_as_string, 0, 1) void export_filters() { - class_, boost::noncopyable> + class_, boost::noncopyable> ("__Internal_FilterObj", no_init); def("make_filter", make_filter1, @@ -145,7 +145,7 @@ void export_filters() // This might not work - Pipe will delete the filter, but Python // might have allocated the space with malloc() or who-knows-what -> bad - class_, + class_, bases, boost::noncopyable> ("FilterObj") .def("write", pure_virtual(&Py_Filter::write_str)) @@ -153,8 +153,8 @@ void export_filters() .def("start_msg", &Filter::start_msg, &FilterWrapper::default_start_msg) .def("end_msg", &Filter::end_msg, &FilterWrapper::default_end_msg); - implicitly_convertible, - std::auto_ptr >(); + implicitly_convertible, + std::unique_ptr >(); void (Pipe::*pipe_write_str)(const std::string&) = &Pipe::write; void (Pipe::*pipe_process_str)(const std::string&) = &Pipe::process_msg; diff --git a/src/wrap/python/rsa.cpp b/src/wrap/python/rsa.cpp index 900c3f93d..41d9bd4d1 100644 --- a/src/wrap/python/rsa.cpp +++ b/src/wrap/python/rsa.cpp @@ -55,7 +55,7 @@ class Py_RSA_PrivateKey std::string Py_RSA_PrivateKey::decrypt(const std::string& in, const std::string& padding) { - std::auto_ptr enc(get_pk_decryptor(*rsa_key, padding)); + std::unique_ptr enc(get_pk_decryptor(*rsa_key, padding)); const byte* in_bytes = reinterpret_cast(in.data()); @@ -66,7 +66,7 @@ std::string Py_RSA_PrivateKey::sign(const std::string& in, const std::string& padding, Python_RandomNumberGenerator& rng) { - std::auto_ptr sign(get_pk_signer(*rsa_key, padding)); + std::unique_ptr sign(get_pk_signer(*rsa_key, padding)); const byte* in_bytes = reinterpret_cast(in.data()); sign->update(in_bytes, in.size()); return make_string(sign->signature(rng.get_underlying_rng())); @@ -144,7 +144,7 @@ std::string Py_RSA_PublicKey::encrypt(const std::string& in, const std::string& padding, Python_RandomNumberGenerator& rng) { - std::auto_ptr enc(get_pk_encryptor(*rsa_key, padding)); + std::unique_ptr enc(get_pk_encryptor(*rsa_key, padding)); const byte* in_bytes = reinterpret_cast(in.data()); @@ -156,7 +156,7 @@ bool Py_RSA_PublicKey::verify(const std::string& in, const std::string& signature, const std::string& padding) { - std::auto_ptr ver(get_pk_verifier(*rsa_key, padding)); + std::unique_ptr ver(get_pk_verifier(*rsa_key, padding)); const byte* in_bytes = reinterpret_cast(in.data()); const byte* sig_bytes = reinterpret_cast(signature.data()); -- cgit v1.2.3 From 842364f5251693a3b8e1115f365fde5c112a2442 Mon Sep 17 00:00:00 2001 From: lloyd Date: Wed, 28 Apr 2010 23:32:10 +0000 Subject: s/to_string/std::to_string/ --- src/ssl/tls_suites.cpp | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) (limited to 'src/ssl') diff --git a/src/ssl/tls_suites.cpp b/src/ssl/tls_suites.cpp index ccc4ab502..5e52e7de2 100644 --- a/src/ssl/tls_suites.cpp +++ b/src/ssl/tls_suites.cpp @@ -230,7 +230,8 @@ std::pair cipher_code_to_name(TLS_Ciphersuite_Algos algo) return std::make_pair("SEED", 16); throw TLS_Exception(INTERNAL_ERROR, - "CipherSuite: Unknown cipher type " + to_string(algo)); + "CipherSuite: Unknown cipher type " + + std::to_string(algo)); } std::string mac_code_to_name(TLS_Ciphersuite_Algos algo) @@ -248,7 +249,8 @@ std::string mac_code_to_name(TLS_Ciphersuite_Algos algo) return "SHA-384"; throw TLS_Exception(INTERNAL_ERROR, - "CipherSuite: Unknown MAC type " + to_string(algo)); + "CipherSuite: Unknown MAC type " + + std::to_string(algo)); } } @@ -264,7 +266,8 @@ CipherSuite::CipherSuite(u16bit suite_code) TLS_Ciphersuite_Algos algos = lookup_ciphersuite(suite_code); if(algos == 0) - throw Invalid_Argument("Unknown ciphersuite: " + to_string(suite_code)); + throw Invalid_Argument("Unknown ciphersuite: " + + std::to_string(suite_code)); sig_algo = TLS_Ciphersuite_Algos(algos & TLS_ALGO_SIGNER_MASK); -- cgit v1.2.3