From 1f5bf8fbc0f00847e931be0f54cc9fbc1b69f65a Mon Sep 17 00:00:00 2001 From: Badlop Date: Mon, 7 Dec 2009 17:33:02 +0000 Subject: [PATCH] Fix memory and port leak when TLS is enabled in HTTP (thanks to Brian Cully)(EJAB-1119) SVN Revision: 2790 --- src/web/ejabberd_http.erl | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/web/ejabberd_http.erl b/src/web/ejabberd_http.erl index bff4b4d45..085c5c3a3 100644 --- a/src/web/ejabberd_http.erl +++ b/src/web/ejabberd_http.erl @@ -35,6 +35,9 @@ receive_headers/1, url_encode/1]). +%% Callbacks +-export([init/2]). + -include("ejabberd.hrl"). -include("jlib.hrl"). -include("ejabberd_http.hrl"). @@ -79,7 +82,10 @@ start(SockData, Opts) -> supervisor:start_child(ejabberd_http_sup, [SockData, Opts]). -start_link({SockMod, Socket}, Opts) -> +start_link(SockData, Opts) -> + {ok, proc_lib:spawn_link(ejabberd_http, init, [SockData, Opts])}. + +init({SockMod, Socket}, Opts) -> TLSEnabled = lists:member(tls, Opts), TLSOpts = lists:filter(fun({certfile, _}) -> true; (_) -> false