Go to:
Gentoo Home
Documentation
Forums
Lists
Bugs
Planet
Store
Wiki
Get Gentoo!
Gentoo's Bugzilla – Attachment 285793 Details for
Bug 380257
>=dev-vcs/monotone-1.0-r1 tests fail with >=dev-libs/botan-1.10
Home
|
New
–
[Ex]
|
Browse
|
Search
|
Privacy Policy
|
[?]
|
Reports
|
Requests
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
[patch]
Proposed patch
botan-1.10.patch (text/plain), 10.67 KB, created by
Martin von Gagern
on 2011-09-07 17:36:37 UTC
(
hide
)
Description:
Proposed patch
Filename:
MIME Type:
Creator:
Martin von Gagern
Created:
2011-09-07 17:36:37 UTC
Size:
10.67 KB
patch
obsolete
># ># old_revision [7cbb20501714be7f25f30734da82d41c7ac427ca] ># ># patch "src/database.cc" ># from [4c259f963c440fc95564dfec99b2f832f0bad643] ># to [87efeeff2d3263ba98af684a4022f1897434ed2d] ># ># patch "src/gzip.cc" ># from [e7c19bee910e3d421fd073933810ec52092b1d9b] ># to [bab290412cff6031b2d3bf9d1439a08499d39640] ># ># patch "src/gzip.hh" ># from [649dfc0b250954f39c0f73870f8bec3f32f7fa43] ># to [f462dfc1df71ae1e9a8203606fd29d9e0eda9b2a] ># ># patch "src/key_packet.cc" ># from [d1306df89dd684badac02c03744cd446381c07d3] ># to [c97262d161b23c9640972188979669b3e95afe7b] ># ># patch "src/key_store.cc" ># from [64c4c4bed1fadc26b51207b9f61343f9dd7d3c6e] ># to [6f2f1e0a60f5ee7d322539ca7a3c0acdc69617d7] ># ># patch "src/packet.cc" ># from [f61360ed2524fdf53411bd24d022a2a3c9e6e9c7] ># to [58e2b3070821fb540fc8fe8db92564579a25ce88] ># ># patch "src/sha1.cc" ># from [5e1aa972d7c7d66e06320b039989652b830dcd75] ># to [42e48b22fd88b25e0d38d4f91e1f13f8a83c7120] ># ># patch "src/ssh_agent.cc" ># from [6d188e7012a0b82f782563b09bbd7adf3f70cf75] ># to [4a0dcab873559e934e41c5f220b5434d35600d9b] ># >============================================================ >--- src/database.cc 4c259f963c440fc95564dfec99b2f832f0bad643 >+++ src/database.cc 87efeeff2d3263ba98af684a4022f1897434ed2d >@@ -3425,9 +3425,8 @@ database::encrypt_rsa(key_id const & pub > rsa_pub_key pub; > get_key(pub_id, pub); > >- SecureVector<Botan::byte> pub_block; >- pub_block.set(reinterpret_cast<Botan::byte const *>(pub().data()), >- pub().size()); >+ SecureVector<Botan::byte> pub_block >+ (reinterpret_cast<Botan::byte const *>(pub().data()), pub().size()); > > shared_ptr<X509_PublicKey> x509_key(Botan::X509::load_key(pub_block)); > shared_ptr<RSA_PublicKey> pub_key >@@ -3471,14 +3470,13 @@ database::check_signature(key_id const & > else > { > rsa_pub_key pub; >- SecureVector<Botan::byte> pub_block; > > if (!public_key_exists(id)) > return cert_unknown; > > get_key(id, pub); >- pub_block.set(reinterpret_cast<Botan::byte const *>(pub().data()), >- pub().size()); >+ SecureVector<Botan::byte> pub_block >+ (reinterpret_cast<Botan::byte const *>(pub().data()), pub().size()); > > L(FL("building verifier for %d-byte pub key") % pub_block.size()); > shared_ptr<X509_PublicKey> x509_key(Botan::X509::load_key(pub_block)); >============================================================ >--- src/packet.cc f61360ed2524fdf53411bd24d022a2a3c9e6e9c7 >+++ src/packet.cc 58e2b3070821fb540fc8fe8db92564579a25ce88 >@@ -156,8 +156,8 @@ namespace > void validate_public_key_data(string const & name, string const & keydata) const > { > string decoded = decode_base64_as<string>(keydata, origin::user); >- Botan::SecureVector<Botan::byte> key_block; >- key_block.set(reinterpret_cast<Botan::byte const *>(decoded.c_str()), decoded.size()); >+ Botan::SecureVector<Botan::byte> key_block >+ (reinterpret_cast<Botan::byte const *>(decoded.c_str()), decoded.size()); > try > { > Botan::X509::load_key(key_block); >============================================================ >--- src/key_store.cc 64c4c4bed1fadc26b51207b9f61343f9dd7d3c6e >+++ src/key_store.cc 6f2f1e0a60f5ee7d322539ca7a3c0acdc69617d7 >@@ -856,9 +856,9 @@ key_store::make_signature(database & db, > { > if (agent.connected()) { > //grab the monotone public key as an RSA_PublicKey >- SecureVector<Botan::byte> pub_block; >- pub_block.set(reinterpret_cast<Botan::byte const *>(key.pub().data()), >- key.pub().size()); >+ SecureVector<Botan::byte> pub_block >+ (reinterpret_cast<Botan::byte const *>(key.pub().data()), >+ key.pub().size()); > L(FL("make_signature: building %d-byte pub key") % pub_block.size()); > shared_ptr<X509_PublicKey> x509_key = > shared_ptr<X509_PublicKey>(Botan::X509::load_key(pub_block)); >@@ -1031,8 +1031,14 @@ key_store_state::migrate_old_key_pair > for (;;) > try > { >+#if BOTAN_VERSION_CODE >= BOTAN_VERSION_CODE_FOR(1,9,11) >+ arc4_key.resize(phrase().size()); >+ arc4_key.copy(reinterpret_cast<Botan::byte const *>(phrase().data()), >+ phrase().size()); >+#else > arc4_key.set(reinterpret_cast<Botan::byte const *>(phrase().data()), > phrase().size()); >+#endif > > Pipe arc4_decryptor(get_cipher("ARC4", arc4_key, Botan::DECRYPTION)); > >============================================================ >--- src/sha1.cc 5e1aa972d7c7d66e06320b039989652b830dcd75 >+++ src/sha1.cc 42e48b22fd88b25e0d38d4f91e1f13f8a83c7120 >@@ -50,9 +50,12 @@ CMD_HIDDEN(benchmark_sha1, "benchmark_sh > Botan::Default_Benchmark_Timer timer; > std::map<std::string, double> results = > Botan::algorithm_benchmark("SHA-1", milliseconds, timer, rng, af); >+#elif BOTAN_VERSION_CODE < BOTAN_VERSION_CODE_FOR(1,9,11) >+ std::map<std::string, double> results = >+ Botan::algorithm_benchmark("SHA-1", milliseconds, rng, af); > #else > std::map<std::string, double> results = >- Botan::algorithm_benchmark("SHA-1", milliseconds, rng, af); >+ Botan::algorithm_benchmark("SHA-1", af, rng, milliseconds, 16); > #endif > > for(std::map<std::string, double>::const_iterator i = results.begin(); >============================================================ >--- src/ssh_agent.cc 6d188e7012a0b82f782563b09bbd7adf3f70cf75 >+++ src/ssh_agent.cc 4a0dcab873559e934e41c5f220b5434d35600d9b >@@ -385,9 +385,9 @@ ssh_agent::has_key(const keypair & key) > ssh_agent::has_key(const keypair & key) > { > //grab the monotone public key as an RSA_PublicKey >- SecureVector<Botan::byte> pub_block; >- pub_block.set(reinterpret_cast<Botan::byte const *>((key.pub)().data()), >- (key.pub)().size()); >+ SecureVector<Botan::byte> pub_block >+ (reinterpret_cast<Botan::byte const *>((key.pub)().data()), >+ (key.pub)().size()); > L(FL("has_key: building %d-byte pub key") % pub_block.size()); > shared_ptr<X509_PublicKey> x509_key = > shared_ptr<X509_PublicKey>(Botan::X509::load_key(pub_block)); >============================================================ >--- src/gzip.cc e7c19bee910e3d421fd073933810ec52092b1d9b >+++ src/gzip.cc bab290412cff6031b2d3bf9d1439a08499d39640 >@@ -137,7 +137,7 @@ void Gzip_Compression::start_msg() > /************************************************* > * Compress Input with Gzip * > *************************************************/ >-void Gzip_Compression::write(const byte input[], u32bit length) >+void Gzip_Compression::write(const byte input[], filter_length_t length) > { > > count += length; >@@ -267,7 +267,7 @@ void Gzip_Decompression::start_msg() > /************************************************* > * Decompress Input with Gzip * > *************************************************/ >-void Gzip_Decompression::write(const byte input[], u32bit length) >+void Gzip_Decompression::write(const byte input[], filter_length_t length) > { > if(length) no_writes = false; > >@@ -284,8 +284,8 @@ void Gzip_Decompression::write(const byt > // Check the gzip header > if (pos < sizeof(GZIP::GZIP_HEADER)) > { >- u32bit len = std::min((u32bit)sizeof(GZIP::GZIP_HEADER)-pos, length); >- u32bit cmplen = len; >+ filter_length_t len = std::min((filter_length_t)sizeof(GZIP::GZIP_HEADER)-pos, length); >+ filter_length_t cmplen = len; > // The last byte is the OS flag - we don't care about that > if (pos + len - 1 >= GZIP::HEADER_POS_OS) > cmplen--; >@@ -346,8 +346,14 @@ u32bit Gzip_Decompression::eat_footer(co > if (footer.size() >= GZIP::FOOTER_LENGTH) > throw Decoding_Error("Gzip_Decompression: Data integrity error in footer"); > >+#if BOTAN_VERSION_CODE >= BOTAN_VERSION_CODE_FOR(1,9,11) >+ size_t eat_len = std::min(GZIP::FOOTER_LENGTH-footer.size(), >+ static_cast<size_t>(length)); >+ footer += std::make_pair(input, eat_len); >+#else > u32bit eat_len = std::min(GZIP::FOOTER_LENGTH-footer.size(), length); > footer.append(input, eat_len); >+#endif > > if (footer.size() == GZIP::FOOTER_LENGTH) > { >@@ -377,7 +383,12 @@ void Gzip_Decompression::check_footer() > for (int i = 0; i < 4; i++) > buf[3-i] = tmpbuf[i]; > >+#if BOTAN_VERSION_CODE >= BOTAN_VERSION_CODE_FOR(1,9,11) >+ tmpbuf.resize(4); >+ tmpbuf.copy(footer.begin(), 4); >+#else > tmpbuf.set(footer.begin(), 4); >+#endif > if (buf != tmpbuf) > throw Decoding_Error("Gzip_Decompression: Data integrity error - CRC32 error"); > >@@ -412,7 +423,11 @@ void Gzip_Decompression::clear() > no_writes = true; > inflateReset(&(zlib->stream)); > >+#if BOTAN_VERSION_CODE >= BOTAN_VERSION_CODE_FOR(1,9,11) >+ footer.clear(); >+#else > footer.destroy(); >+#endif > pos = 0; > datacount = 0; > } >============================================================ >--- src/gzip.hh 649dfc0b250954f39c0f73870f8bec3f32f7fa43 >+++ src/gzip.hh f462dfc1df71ae1e9a8203606fd29d9e0eda9b2a >@@ -7,6 +7,7 @@ > #ifndef BOTAN_EXT_GZIP_H__ > #define BOTAN_EXT_GZIP_H__ > >+#include <botan/version.h> > #include <botan/filter.h> > #include <botan/pipe.h> > >@@ -30,13 +31,19 @@ namespace GZIP { > > } > >+#if BOTAN_VERSION_CODE >= BOTAN_VERSION_CODE_FOR(1,9,11) >+ typedef size_t filter_length_t; >+#else >+ typedef u32bit filter_length_t; >+#endif >+ > /************************************************* > * Gzip Compression Filter * > *************************************************/ > class Gzip_Compression : public Filter > { > public: >- void write(const byte input[], u32bit length); >+ void write(const byte input[], filter_length_t length); > void start_msg(); > void end_msg(); > std::string name() const { return "Gzip_Compression"; } >@@ -60,7 +67,7 @@ class Gzip_Decompression : public Filter > class Gzip_Decompression : public Filter > { > public: >- void write(const byte input[], u32bit length); >+ void write(const byte input[], filter_length_t length); > void start_msg(); > void end_msg(); > std::string name() const { return "Gzip_Decompression"; } >============================================================ >--- src/key_packet.cc d1306df89dd684badac02c03744cd446381c07d3 >+++ src/key_packet.cc c97262d161b23c9640972188979669b3e95afe7b >@@ -106,8 +106,8 @@ namespace > void validate_public_key_data(string const & name, string const & keydata) const > { > string decoded = decode_base64_as<string>(keydata, origin::user); >- Botan::SecureVector<Botan::byte> key_block; >- key_block.set(reinterpret_cast<Botan::byte const *>(decoded.c_str()), decoded.size()); >+ Botan::SecureVector<Botan::byte> key_block >+ (reinterpret_cast<Botan::byte const *>(decoded.c_str()), decoded.size()); > try > { > Botan::X509::load_key(key_block);
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
Attachments on
bug 380257
:
284233
|
285793
|
285811
|
285847
|
286213
|
309903