You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@qpid.apache.org by as...@apache.org on 2015/12/10 23:11:23 UTC

qpid-proton git commit: PROTON-1052: Make the exported API symbols more reasonable for ssl_domains.

Repository: qpid-proton
Updated Branches:
  refs/heads/master f650d374f -> bd9a41bf2


PROTON-1052: Make the exported API symbols more reasonable for ssl_domains.


Project: http://git-wip-us.apache.org/repos/asf/qpid-proton/repo
Commit: http://git-wip-us.apache.org/repos/asf/qpid-proton/commit/bd9a41bf
Tree: http://git-wip-us.apache.org/repos/asf/qpid-proton/tree/bd9a41bf
Diff: http://git-wip-us.apache.org/repos/asf/qpid-proton/diff/bd9a41bf

Branch: refs/heads/master
Commit: bd9a41bf29124e8437683e1cffd1fda2aa8de902
Parents: f650d37
Author: Andrew Stitcher <as...@apache.org>
Authored: Thu Dec 10 17:01:42 2015 -0500
Committer: Andrew Stitcher <as...@apache.org>
Committed: Thu Dec 10 17:01:42 2015 -0500

----------------------------------------------------------------------
 proton-c/bindings/cpp/include/proton/ssl.hpp | 22 +++++++++++++++-------
 proton-c/bindings/cpp/src/ssl_domain.cpp     |  2 ++
 2 files changed, 17 insertions(+), 7 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/bd9a41bf/proton-c/bindings/cpp/include/proton/ssl.hpp
----------------------------------------------------------------------
diff --git a/proton-c/bindings/cpp/include/proton/ssl.hpp b/proton-c/bindings/cpp/include/proton/ssl.hpp
index d7cdfda..f1b5974 100644
--- a/proton-c/bindings/cpp/include/proton/ssl.hpp
+++ b/proton-c/bindings/cpp/include/proton/ssl.hpp
@@ -74,7 +74,7 @@ class ssl_certificate {
 // Base class for SSL configuration
 class ssl_domain {
   public:
-    PN_CPP_EXTERN ~ssl_domain();
+    ~ssl_domain();
 
   protected:
     ssl_domain();
@@ -83,13 +83,10 @@ class ssl_domain {
 
   private:
     pn_ssl_domain_t *impl_;
-
-  friend class connection_options;
-  friend class container_impl;
 };
 
 /** SSL/TLS configuration for inbound connections created from a listener */
-class server_domain : public ssl_domain {
+class server_domain : private ssl_domain {
   public:
     /** A server domain based on the supplied X509 certificate specifier. */
     PN_CPP_EXTERN server_domain(ssl_certificate &cert);
@@ -99,19 +96,30 @@ class server_domain : public ssl_domain {
                                 ssl::verify_mode_t mode = ssl::VERIFY_PEER);
     /** A server domain restricted to available anonymous cipher suites on the platform. */
     PN_CPP_EXTERN server_domain();
+
+    PN_CPP_EXTERN ~server_domain();
+
+  private:
+    // Bring pn_domain into scope and allow container_impl to use it
+    using ssl_domain::pn_domain;
+    friend class container_impl;
 };
 
 
 /** SSL/TLS configuration for outgoing connections created */
-class client_domain : public ssl_domain {
+class client_domain : private ssl_domain {
   public:
     PN_CPP_EXTERN client_domain(const std::string &trust_db, ssl::verify_mode_t = ssl::VERIFY_PEER_NAME);
     PN_CPP_EXTERN client_domain(ssl_certificate&, const std::string &trust_db, ssl::verify_mode_t = ssl::VERIFY_PEER_NAME);
     /** A client domain restricted to available anonymous cipher suites on the platform. */
     PN_CPP_EXTERN client_domain();
 
+    PN_CPP_EXTERN ~client_domain();
+
   private:
-    client_domain(ssl_domain);
+    // Bring pn_domain into scope and allow connection_options to use it
+    using ssl_domain::pn_domain;
+    friend class connection_options;
 };
 
 

http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/bd9a41bf/proton-c/bindings/cpp/src/ssl_domain.cpp
----------------------------------------------------------------------
diff --git a/proton-c/bindings/cpp/src/ssl_domain.cpp b/proton-c/bindings/cpp/src/ssl_domain.cpp
index 8bb081f..2631880 100644
--- a/proton-c/bindings/cpp/src/ssl_domain.cpp
+++ b/proton-c/bindings/cpp/src/ssl_domain.cpp
@@ -71,6 +71,7 @@ server_domain::server_domain(
 }
 
 server_domain::server_domain() {}
+server_domain::~server_domain() {}
 
 namespace {
 void client_setup(pn_ssl_domain_t *dom, const std::string &trust_db, ssl::verify_mode_t mode) {
@@ -92,6 +93,7 @@ client_domain::client_domain(ssl_certificate &cert, const std::string &trust_db,
 }
 
 client_domain::client_domain() {}
+client_domain::~client_domain() {}
 
 ssl_certificate::ssl_certificate(const std::string &main, const std::string &extra)
     : certdb_main_(main), certdb_extra_(extra), pw_set_(false) {}


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@qpid.apache.org
For additional commands, e-mail: commits-help@qpid.apache.org