anchor.diff:  parse_ip(<<Addr:13/binary, $\s, Rest/binary>>, ipv4) -> parse_ipv4(Addr, Rest);
   parse_ip(<<Addr:14/binary, $\s, Rest/binary>>, ipv4) -> parse_ipv4(Addr, Rest);
   parse_ip(<<Addr:15/binary, $\s, Rest/binary>>, ipv4) -> parse_ipv4(Addr, Rest);
  -parse_ip(<<Addr:39/binary, $\s, Rest/binary>>, ipv6) -> parse_ipv6(Addr, Rest).
  +parse_ip(Data, ipv6) ->
  +	[Addr, Rest] = binary:split(Data, <<$\s>>),
  +	parse_ipv6(Addr, Rest).
   
   parse_ipv4(Addr0, Rest) ->
   	case inet:parse_ipv4strict_address(binary_to_list(Addr0)) of
  
positive.code: parse_v2(<<_:12, Protocol:4, _/bits>>) when Protocol > 2 ->
  	{error, 'Invalid transport protocol in the PROXY protocol binary header. (PP 2.2)'}.
  
  family(0) -> undefined;
  family(1) -> ipv4;
  family(2) -> ipv6;
  family(3) -> unix.
  
  protocol(0) -> undefined;
  protocol(1) -> stream;
  protocol(2) -> dgram.
  
  parse_v2(Data, Len, Family, Protocol, _)
  		when Family =:= undefined; Protocol =:= undefined ->
  
negative.code: 
  parse_port(Port0, Rest) ->
  	try binary_to_integer(Port0) of
  		Port when Port > 0, Port =< 65535 ->
  			{ok, Port, Rest};
  		_ ->
  			throw(parse_port_error)
  