Fully hide LHASH_OF(SSL_SESSION).

It's no longer needed in the public header at all, now that we've hidden
the SSL_CTX struct.

Change-Id: I2fc6ddbeb52f000487627b433b9cdd7a4cde37a8
Reviewed-on: https://boringssl-review.googlesource.com/21684
Reviewed-by: Steven Valdez <svaldez@google.com>
diff --git a/include/openssl/ssl.h b/include/openssl/ssl.h
index 0c9c975..b79f7e4 100644
--- a/include/openssl/ssl.h
+++ b/include/openssl/ssl.h
@@ -146,7 +146,6 @@
 
 #include <openssl/bio.h>
 #include <openssl/buf.h>
-#include <openssl/lhash.h>
 #include <openssl/pem.h>
 #include <openssl/span.h>
 #include <openssl/ssl3.h>
@@ -1640,7 +1639,6 @@
 // established, an |SSL_SESSION| may be shared by multiple |SSL| objects on
 // different threads and must not be modified.
 
-DECLARE_LHASH_OF(SSL_SESSION)
 DECLARE_PEM_rw(SSL_SESSION, SSL_SESSION)
 
 // SSL_SESSION_new returns a newly-allocated blank |SSL_SESSION| or NULL on
diff --git a/ssl/internal.h b/ssl/internal.h
index fa1f11a..09bda6e 100644
--- a/ssl/internal.h
+++ b/ssl/internal.h
@@ -153,6 +153,7 @@
 
 #include <openssl/aead.h>
 #include <openssl/err.h>
+#include <openssl/lhash.h>
 #include <openssl/mem.h>
 #include <openssl/ssl.h>
 #include <openssl/span.h>
@@ -1821,6 +1822,12 @@
   uint64_t next_rotation_tv_sec;
 };
 
+}  // namespace bssl
+
+DECLARE_LHASH_OF(SSL_SESSION)
+
+namespace bssl {
+
 // SSLContext backs the public |SSL_CTX| type. Due to compatibility constraints,
 // it is a base class for |ssl_ctx_st|.
 struct SSLContext {