$OpenBSD: patch-keys_cc,v 1.1 2013/03/15 16:13:53 landry Exp $

patch for boost 1.53.0 from 
http://lists.nongnu.org/archive/html/monotone-devel/2013-03/msg00000.html
which further references the actual patch at
http://alt.linux.kiev.ua/ru/srpm/Sisyphus/monotone/patches/0

--- keys.cc.orig	Thu Mar 14 14:50:41 2013
+++ keys.cc	Thu Mar 14 14:51:53 2013
@@ -44,7 +44,7 @@ using std::vector;
 
 using boost::scoped_ptr;
 using boost::shared_ptr;
-using boost::shared_dynamic_cast;
+using boost::dynamic_pointer_cast;
 
 using Botan::byte;
 using Botan::get_cipher;
@@ -263,7 +263,7 @@ get_private_key(lua_hooks & lua,
   if (pkcs8_key)
     {
       shared_ptr<RSA_PrivateKey> priv_key;
-      priv_key = shared_dynamic_cast<RSA_PrivateKey>(pkcs8_key);
+      priv_key = dynamic_pointer_cast<RSA_PrivateKey>(pkcs8_key);
       if (!priv_key)
         throw informative_failure("Failed to get RSA signing key");
 
@@ -318,7 +318,7 @@ migrate_private_key(app_state & app,
           continue;
         }
 
-      priv_key = shared_dynamic_cast<RSA_PrivateKey>(pkcs8_key);
+      priv_key = dynamic_pointer_cast<RSA_PrivateKey>(pkcs8_key);
       if (!priv_key)
           throw informative_failure("Failed to get old RSA key");
     }
@@ -404,7 +404,7 @@ make_signature(app_state & app,           // to hook f
         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));
-        shared_ptr<RSA_PublicKey> pub_key = shared_dynamic_cast<RSA_PublicKey>(x509_key);
+        shared_ptr<RSA_PublicKey> pub_key = dynamic_pointer_cast<RSA_PublicKey>(x509_key);
 
         if (!pub_key)
           throw informative_failure("Failed to get monotone RSA public key");
@@ -524,7 +524,7 @@ check_signature(app_state &app,
       L(FL("building verifier for %d-byte pub key") % pub_block.size());
       shared_ptr<X509_PublicKey> x509_key =
           shared_ptr<X509_PublicKey>(Botan::X509::load_key(pub_block));
-      pub_key = shared_dynamic_cast<RSA_PublicKey>(x509_key);
+      pub_key = dynamic_pointer_cast<RSA_PublicKey>(x509_key);
       if (!pub_key)
           throw informative_failure("Failed to get RSA verifying key");
 
@@ -565,7 +565,7 @@ void encrypt_rsa(lua_hooks & lua,
   pub_block.set(reinterpret_cast<Botan::byte const *>(pub().data()), pub().size());
 
   shared_ptr<X509_PublicKey> x509_key = shared_ptr<X509_PublicKey>(Botan::X509::load_key(pub_block));
-  shared_ptr<RSA_PublicKey> pub_key = shared_dynamic_cast<RSA_PublicKey>(x509_key);
+  shared_ptr<RSA_PublicKey> pub_key = dynamic_pointer_cast<RSA_PublicKey>(x509_key);
   if (!pub_key)
     throw informative_failure("Failed to get RSA encrypting key");
 
