]> granicus.if.org Git - ejabberd/commitdiff
* src/mod_ip_blacklist.erl: Better error handling (EJAB-625).
authorMickaël Rémond <mickael.remond@process-one.net>
Fri, 9 May 2008 19:53:06 +0000 (19:53 +0000)
committerMickaël Rémond <mickael.remond@process-one.net>
Fri, 9 May 2008 19:53:06 +0000 (19:53 +0000)
SVN Revision: 1321

ChangeLog
src/mod_ip_blacklist.erl

index 0ca87d186d24fe2c249a11c16b4c8053fd7ad31e..63eb9df84b047b1751651a9d9b5d452a2a0159dd 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
+2008-05-09  Mickael Remond <mremond@process-one.net>
+
+       * src/mod_ip_blacklist.erl: Better error handling (EJAB-625).
+
 2008-05-05  Mickael Remond  <mremond@process-one.net>
 
        * src/ejabberd_c2s.erl: Added C2S blacklist support (EJAB-625).
index 495faa5fba5d8ad95944ff4431f369ed34d65062..6a0cc3947a67d122bc13548e5ab96977b77849b9 100644 (file)
@@ -85,20 +85,25 @@ loop(_State) ->
 %% TODO: Support comment lines starting by %
 update_bl_c2s() ->
     ?INFO_MSG("Updating C2S Blacklist", []),
-    {ok, {{_Version, 200, _Reason}, _Headers, Body}} = http:request(?BLC2S),
-    IPs = string:tokens(Body,"\n"),
-    ets:delete_all_objects(bl_c2s),
-    lists:foreach(
-      fun(IP) ->
-             ets:insert(bl_c2s, #bl_c2s{ip=list_to_binary(IP)})
-      end, IPs).
+    case http:request(?BLC2S) of
+       {ok, {{_Version, 200, _Reason}, _Headers, Body}} ->
+           IPs = string:tokens(Body,"\n"),
+           ets:delete_all_objects(bl_c2s),
+           lists:foreach(
+             fun(IP) ->
+                     ets:insert(bl_c2s, #bl_c2s{ip=list_to_binary(IP)})
+             end, IPs);
+       {error, Reason} ->
+           ?ERROR_MSG("Cannot download C2S blacklist file. Reason: ~p",
+                      [Reason])
+    end.
 
 %% Hook is run with:
 %% ejabberd_hooks:run_fold(check_bl_c2s, false, [IP]),
 %% Return: false: IP not blacklisted
 %%         true: IP is blacklisted
 %% IPV4 IP tuple:
-is_ip_in_c2s_blacklist(_Val, IP) ->
+is_ip_in_c2s_blacklist(_Val, IP) when is_tuple(IP) ->
     BinaryIP = list_to_binary(jlib:ip_to_list(IP)),
     case ets:lookup(bl_c2s, BinaryIP) of
        [] -> %% Not in blacklist