From 27a8fdfe9300827d55ec12f65e49e84bdfc264cd Mon Sep 17 00:00:00 2001
From: Ingela Anderton Andin <ingela@erlang.org>
Date: Mon, 16 Jun 2014 15:47:46 +0200
Subject: Revert "ssl: Avoid creating a huge session table"

This reverts commit fcc6a756277c8f041aae1b2aa431e43f9285c368.
---
 lib/ssl/src/ssl_manager.erl | 42 +++---------------------------------------
 1 file changed, 3 insertions(+), 39 deletions(-)

diff --git a/lib/ssl/src/ssl_manager.erl b/lib/ssl/src/ssl_manager.erl
index 66dfdf86a9..d6e5064c39 100644
--- a/lib/ssl/src/ssl_manager.erl
+++ b/lib/ssl/src/ssl_manager.erl
@@ -1,7 +1,7 @@
 %%
 %% %CopyrightBegin%
 %%
-%% Copyright Ericsson AB 2007-2014. All Rights Reserved.
+%% Copyright Ericsson AB 2007-2013. All Rights Reserved.
 %%
 %% The contents of this file are subject to the Erlang Public License,
 %% Version 1.1, (the "License"); you may not use this file except in
@@ -282,13 +282,8 @@ handle_cast({register_session, Host, Port, Session},
 		   session_cache_cb = CacheCb} = State) ->
     TimeStamp = calendar:datetime_to_gregorian_seconds({date(), time()}),
     NewSession = Session#session{time_stamp = TimeStamp},
-    case CacheCb:select_session(Cache, {Host, Port}) of
-	no_session ->
-	    CacheCb:update(Cache, {{Host, Port}, 
-				   NewSession#session.session_id}, NewSession);
-	Sessions ->
-	    register_unique_session(Sessions, NewSession, CacheCb, Cache, {Host, Port})
-    end,
+    CacheCb:update(Cache, {{Host, Port}, 
+		   NewSession#session.session_id}, NewSession),
     {noreply, State};
 
 handle_cast({register_session, Port, Session},  
@@ -499,34 +494,3 @@ clean_cert_db(Ref, CertDb, RefDb, PemCache, File) ->
 	_ ->
 	    ok
     end.
-
-%% Do not let dumb clients create a gigantic session table
-register_unique_session(Sessions, Session, CacheCb, Cache, PartialKey) ->
-    case exists_equivalent(Session , Sessions) of
-	true ->
-	    ok;
-	false ->
-	    CacheCb:update(Cache, {PartialKey, 
-				   Session#session.session_id}, Session)
-    end.
-
-exists_equivalent(_, []) ->
-    false;
-exists_equivalent(#session{
-		     peer_certificate = PeerCert,
-		     own_certificate = OwnCert,
-		     compression_method = Compress,
-		     cipher_suite = CipherSuite,
-		     srp_username = SRP,
-		     ecc = ECC} , 
-		  [#session{
-		      peer_certificate = PeerCert,
-		      own_certificate = OwnCert,
-		      compression_method = Compress,
-		      cipher_suite = CipherSuite,
-		      srp_username = SRP,
-		      ecc = ECC} | _]) ->
-    true;
-exists_equivalent(Session, [ _ | Rest]) ->
-    exists_equivalent(Session, Rest).
-
-- 
cgit v1.2.3