@@ -425,6 +425,8 @@ get_ssl_server_options(PeerIP) when PeerIP =/= undefined ->
425
425
% %
426
426
setup_verify_client ([Opt | Opts ], PeerIP ) ->
427
427
case Opt of
428
+ {verify_fun ,{Mod ,Fun ,Init }} ->
429
+ [{verify_fun , {fun Mod :Fun /3 , Init }} | setup_verify_client (Opts , PeerIP )];
428
430
{verify_fun ,{VerifyFun , _ }} ->
429
431
case fun inet_tls_dist :verify_client /3 of
430
432
VerifyFun ->
@@ -446,6 +448,16 @@ setup_verify_client([Opt | Opts], PeerIP) ->
446
448
setup_verify_client ([], _PeerIP ) ->
447
449
[].
448
450
451
+ setup_verify_server ([]) ->
452
+ [];
453
+ setup_verify_server ([Opt |Opts ]) ->
454
+ case Opt of
455
+ {verify_fun ,{Mod ,Fun ,Init }} ->
456
+ [{verify_fun , {fun Mod :Fun /3 , Init }} | setup_verify_server (Opts )];
457
+ _ ->
458
+ [Opt | setup_verify_server (Opts )]
459
+ end .
460
+
449
461
allowed_hosts (Allowed ) ->
450
462
lists :usort (allowed_node_hosts (Allowed )).
451
463
% %
@@ -639,7 +651,7 @@ do_setup(
639
651
inet_tcp_dist :merge_options (
640
652
inet_tcp_dist :merge_options (
641
653
ConnectOptions ,
642
- get_ssl_options (client )),
654
+ setup_verify_server ( get_ssl_options (client ) )),
643
655
[Family , binary , {active , false }, {packet , 4 },
644
656
{read_ahead , false }, {nodelay , true }],
645
657
[{server_name_indication , Host }]),
0 commit comments