anchor.diff:      B = erlang:md5([Secret, Auth]),
       case xor16(Passwd, B) of
   	{C, <<>>}   -> C;
  -	{C, Tail} -> concat_binary([C, scramble(Secret, C, Tail)])
  +	{C, Tail} -> list_to_binary([C, scramble(Secret, C, Tail)])
       end.
   
   xor16(Passwd, B) when size(Passwd) < 16 ->
  
positive.code:     patch_authenticator(PDU, l2b(Secret)).
  
  patch_authenticator(Req,Secret) ->
      case {erlang:md5([Req,Secret]),concat_binary(Req)} of
  	{Auth,<<Head:4/binary, _:16/binary, Rest/binary>>} ->
  	    B = l2b(Auth),
  	    <<Head/binary, B/binary, Rest/binary>>;
  
negative.code: type_conv(V, binary)         -> V;
  type_conv(V, integer)        -> <<V:32>>;
  type_conv({A,B,C,D}, ipaddr) -> <<A:8, B:8, C:8, D:8>>;
  type_conv(V, string) when
        is_list(V) -> iolist_to_binary(V);
  type_conv(V, string) when
        is_binary(V) -> V;
  type_conv(V, octets) when
        is_list(V) -> iolist_to_binary(V);
  type_conv(V, octets) when
        is_binary(V) -> V;
  type_conv(V, date) when
        is_list(V) -> iolist_to_binary(V);
  type_conv(V, date) when
        is_binary(V) -> V.
  
  
  enc_cmd(R) when is_record(R, rad_request) ->
  