anchor.diff:      false;
   ip_match(_IP, []) ->
       false;
  -ip_match(IP, local) ->
  +ip_match(IP, Local) when Local =:= local; Local =:= "local"; Local =:= <<"local">> ->
       {ok, IP1} = parse_address(IP),
       is_local(IP1);
  -ip_match(_IP, any) ->
  +ip_match(_IP, Any) when Any =:= any; Any =:= "any"; Any =:= <<"any">> ->
       true;
  -ip_match(_IP, none) ->
  +ip_match(_IP, None) when None =:= none; None =:= "none"; None =:= <<"none">> ->
       false;
   ip_match(IP, [IP|_IPs]) ->
       true;
  
positive.code: %% @author Marc Worrell
  %% @copyright 2012 Marc Worrell
  %% @doc Misc utility URL functions for zotonic
  
  %% Copyright 2012 Marc Worrell
  %%
  %% Licensed under the Apache License, Version 2.0 (the "License");
  %% you may not use this file except in compliance with the License.
  
negative.code:                 PeerAdr -> true;
                  _ -> ip_match(PeerAdr, IPs)
              end;
          [] ->
              ip_match(PeerAdr, IPs)
      end;
  ip_match_1(PeerAdr, [IP|IPs]) when is_binary(IP) ->
      ip_match_1(PeerAdr, [ binary_to_list(IP) | IPs ]).
  
  parse_address({_,_,_,_} = IP) -> {ok, IP};
  parse_address({_,_,_,_,_,_,_,_} = IP) -> {ok, IP};
  