diff options
author | Henrik Nord <[email protected]> | 2012-02-14 10:59:32 +0100 |
---|---|---|
committer | Henrik Nord <[email protected]> | 2012-02-14 10:59:32 +0100 |
commit | 77cd9f071c653810c7db99a635b73320e1a1863e (patch) | |
tree | 7a6134063384dc3d0e7a89f7eccbc7c641b30235 /lib/ssl/src/inet_tls_dist.erl | |
parent | 5d51c5ee85e59b29dd23f63d494b54649fa90739 (diff) | |
parent | fb90763e3da5b93e75908f5b0bb97f58163b910b (diff) | |
download | otp-77cd9f071c653810c7db99a635b73320e1a1863e.tar.gz otp-77cd9f071c653810c7db99a635b73320e1a1863e.tar.bz2 otp-77cd9f071c653810c7db99a635b73320e1a1863e.zip |
Merge branch 'pg/ssl_dist-fixes' into maint
* pg/ssl_dist-fixes:
Robustness and improvement to distribution over SSL
Diffstat (limited to 'lib/ssl/src/inet_tls_dist.erl')
-rw-r--r-- | lib/ssl/src/inet_tls_dist.erl | 14 |
1 files changed, 10 insertions, 4 deletions
diff --git a/lib/ssl/src/inet_tls_dist.erl b/lib/ssl/src/inet_tls_dist.erl index 115527aae0..bc395cb6d5 100644 --- a/lib/ssl/src/inet_tls_dist.erl +++ b/lib/ssl/src/inet_tls_dist.erl @@ -57,7 +57,7 @@ accept_connection(AcceptPid, Socket, MyNode, Allowed, SetupTime) -> setup(Node, Type, MyNode, LongOrShortNames,SetupTime) -> Kernel = self(), - spawn(fun() -> do_setup(Kernel, Node, Type, MyNode, LongOrShortNames, SetupTime) end). + spawn_opt(fun() -> do_setup(Kernel, Node, Type, MyNode, LongOrShortNames, SetupTime) end, [link, {priority, max}]). do_setup(Kernel, Node, Type, MyNode, LongOrShortNames, SetupTime) -> [Name, Address] = splitnode(Node, LongOrShortNames), @@ -229,9 +229,7 @@ connect_hs_data(Kernel, Node, MyNode, Socket, Timer, Version, Ip, TcpPort, Addre accept_hs_data(Kernel, MyNode, Socket, Timer, Allowed) -> common_hs_data(Kernel, MyNode, Socket, Timer, #hs_data{ allowed = Allowed, - f_address = fun(S, N) -> - ssl_tls_dist_proxy:get_remote_id(S, N) - end + f_address = fun get_remote_id/2 }). common_hs_data(Kernel, MyNode, Socket, Timer, HsData) -> @@ -273,3 +271,11 @@ common_hs_data(Kernel, MyNode, Socket, Timer, HsData) -> P = proplists:get_value(send_pend, Stats, 0), {ok, R,W,P} end}. + +get_remote_id(Socket, _Node) -> + case ssl_tls_dist_proxy:get_tcp_address(Socket) of + {ok, Address} -> + Address; + {error, _Reason} -> + ?shutdown(no_node) + end. |