]> granicus.if.org Git - ejabberd/commitdiff
Merge fix from trunk r1910
authorBadlop <badlop@process-one.net>
Fri, 27 Feb 2009 16:19:19 +0000 (16:19 +0000)
committerBadlop <badlop@process-one.net>
Fri, 27 Feb 2009 16:19:19 +0000 (16:19 +0000)
* src/web/ejabberd_http.erl: Added a workaround for inet:peername
returning 'ebadf'

SVN Revision: 1928

ChangeLog
src/web/ejabberd_http.erl

index f2648c46c4da2706fd4a6645661f8eb50a9e8bbc..e0676e15ba07ab1ef4f99f71e03906824ed6796c 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,8 @@
 2009-02-27  Badlop  <badlop@process-one.net>
 
+       * src/web/ejabberd_http.erl: Added a workaround for inet:peername
+       returning 'ebadf'
+
        * src/cyrsasl_digest.erl: Unquote backslash in DIGEST-MD5 quoted
        strings (EJAB-304)
 
index 41f5096574e78f24ade44f4a19b6fea5b86c2a19..551c0952725ff026be195a1264d9770a64f5543f 100644 (file)
@@ -328,6 +328,13 @@ process_request(#state{request_method = 'POST',
                       socket = Socket,
                       request_handlers = RequestHandlers} = State)
   when is_integer(Len) ->
+    {ok, IP} =
+       case SockMod of
+           gen_tcp ->
+               inet:peername(Socket);
+           _ ->
+               SockMod:peername(Socket)
+       end,
     case SockMod of
        gen_tcp ->
            inet:setopts(Socket, [{packet, 0}]);
@@ -347,13 +354,6 @@ process_request(#state{request_method = 'POST',
                         LQ ->
                             LQ
                     end,
-           {ok, IP} =
-               case SockMod of
-                   gen_tcp ->
-                       inet:peername(Socket);
-                   _ ->
-                       SockMod:peername(Socket)
-               end,
            Request = #request{method = 'POST',
                               path = LPath,
                               q = LQuery,