*** ssl_broker.erl.orig	Tue Jul 17 09:52:21 2007
--- ssl_broker.erl	Tue Jul 17 10:39:04 2007
***************
*** 790,806 ****
  	    {error, Reason, St}
      end.
  
! ssl_accept_prim(ServerName, TcpModule, Client, Socket, Timeout, St) -> 
      FlagStr = [],
      SSLOpts = [],
      %% Timeout is gen_server timeout - hence catch.
      debug(St, "ssl_accept_prim: self() ~w Client ~w~n", [self(), Client]),
      Fd = Socket#sslsocket.fd,
      A = (catch ssl_server:ssl_accept_prim(ServerName, Fd, FlagStr, Timeout)),
      debug(St, "ssl_accept_prim: ~w~n", [A]),
      case A of 
  	ok ->
- 	    AOpts = St#st.opts,
  	    B = connect_proxy(ServerName, TcpModule, Fd, 
  			       St#st.proxyport, AOpts, Timeout),
  	    debug(St, "ssl_accept_prim: connect_proxy ~w~n", [B]),
--- 790,807 ----
  	    {error, Reason, St}
      end.
  
! ssl_accept_prim(ServerName, TcpModule, Client, LOpts, Timeout, St) -> 
      FlagStr = [],
      SSLOpts = [],
+     AOpts = get_tcp_accept_opts(LOpts),
      %% Timeout is gen_server timeout - hence catch.
      debug(St, "ssl_accept_prim: self() ~w Client ~w~n", [self(), Client]),
+     Socket = St#st.thissock,
      Fd = Socket#sslsocket.fd,
      A = (catch ssl_server:ssl_accept_prim(ServerName, Fd, FlagStr, Timeout)),
      debug(St, "ssl_accept_prim: ~w~n", [A]),
      case A of 
  	ok ->
  	    B = connect_proxy(ServerName, TcpModule, Fd, 
  			       St#st.proxyport, AOpts, Timeout),
  	    debug(St, "ssl_accept_prim: connect_proxy ~w~n", [B]),
***************
*** 1085,1091 ****
      is_tcp_listen_opt(Opt) or is_ssl_opt(Opt).
  
  is_tcp_accept_opt(Opt) ->
!     is_tcp_gen_opt(Opt) or is_ssl_opt(Opt).
  
  is_tcp_connect_opt(Opt) ->
      is_tcp_gen_opt(Opt) or is_tcp_connect_only_opt(Opt).
--- 1086,1092 ----
      is_tcp_listen_opt(Opt) or is_ssl_opt(Opt).
  
  is_tcp_accept_opt(Opt) ->
!     is_tcp_gen_opt(Opt).
  
  is_tcp_connect_opt(Opt) ->
      is_tcp_gen_opt(Opt) or is_tcp_connect_only_opt(Opt).
