crypto: make NewSessionDoneCb public
authorFedor Indutny <fedor.indutny@gmail.com>
Mon, 17 Feb 2014 22:47:33 +0000 (02:47 +0400)
committerFedor Indutny <fedor.indutny@gmail.com>
Mon, 17 Feb 2014 23:22:18 +0000 (03:22 +0400)
Generic friend classes do not work well with old compiler versions (and
MSVC).

src/node_crypto.h
src/tls_wrap.h

index 729d4fc..6efd00d 100644 (file)
@@ -247,6 +247,7 @@ class Connection : public SSLWrap<Connection>, public AsyncWrap {
   }
 
   static void Initialize(Environment* env, v8::Handle<v8::Object> target);
+  void NewSessionDoneCb();
 
 #ifdef OPENSSL_NPN_NEGOTIATED
   v8::Persistent<v8::Object> npnProtos_;
@@ -295,7 +296,6 @@ class Connection : public SSLWrap<Connection>, public AsyncWrap {
 
   void ClearError();
   void SetShutdownFlags();
-  void NewSessionDoneCb();
 
   Connection(Environment* env,
              v8::Local<v8::Object> wrap,
@@ -324,7 +324,6 @@ class Connection : public SSLWrap<Connection>, public AsyncWrap {
 
   friend class ClientHelloParser;
   friend class SecureContext;
-  friend class SSLWrap<Connection>;
 };
 
 class CipherBase : public BaseObject {
index 646e701..13a53bf 100644 (file)
@@ -67,6 +67,8 @@ class TLSCallbacks : public crypto::SSLWrap<TLSCallbacks>,
               uv_handle_type pending);
   int DoShutdown(ShutdownWrap* req_wrap, uv_shutdown_cb cb);
 
+  void NewSessionDoneCb();
+
  protected:
   static const int kClearOutChunkSize = 1024;
 
@@ -102,7 +104,6 @@ class TLSCallbacks : public crypto::SSLWrap<TLSCallbacks>,
   void ClearOut();
   void MakePending();
   bool InvokeQueued(int status);
-  void NewSessionDoneCb();
 
   inline void Cycle() {
     // Prevent recursion
@@ -163,8 +164,6 @@ class TLSCallbacks : public crypto::SSLWrap<TLSCallbacks>,
 
   static size_t error_off_;
   static char error_buf_[1024];
-
-  friend class SSLWrap<TLSCallbacks>;
 };
 
 }  // namespace node