anchor.diff:  
   server_id(Port, <<>>, _SslOpts, _Cert, _, _) ->
       {ssl_manager:new_session_id(Port), undefined};
  -server_id(Port, SuggestedId,
  -	  #ssl_options{reuse_sessions = ReuseEnabled,
  -		       reuse_session = ReuseFun},
  -	  Cert, Cache, CacheCb) ->
  +server_id(Port, SuggestedId, Options, Cert, Cache, CacheCb) ->
       LifeTime = case application:get_env(ssl, session_lifetime) of
   		   {ok, Time} when is_integer(Time) -> Time;
   		   _ -> ?'24H_in_sec'
   	       end,
  -    case is_resumable(SuggestedId, Port, ReuseEnabled,ReuseFun,
  +    case is_resumable(SuggestedId, Port, Options,
   		      Cache, CacheCb, LifeTime, Cert)
       of
   	{true, Resumed} ->
  
positive.code: 	    case resumable(IsResumable)
  		andalso (OwnCert == SessionOwnCert)
  		andalso valid_session(Session, SecondLifeTime)
  		andalso ReuseFun(SuggestedSessionId, PeerCert,
  				 Compression, CipherSuite)
  	    of
  
negative.code: 	[[Id, _]|_] -> Id
      end.
  
  is_resumable(_, _, #ssl_options{reuse_sessions = false}, _, _, _, _) ->
      {false, undefined};
  is_resumable(SuggestedSessionId, Port, #ssl_options{reuse_session = ReuseFun} = Options, Cache,
  	     CacheCb, SecondLifeTime, OwnCert) ->
      case CacheCb:lookup(Cache, {Port, SuggestedSessionId}) of
  	#session{cipher_suite = CipherSuite,
  