anchor.diff:  	false -> {stop, normal, State};
   	true -> tcp_data1(Len, Frag, Bin, State#s{fd = FD})
       end;
  +tcp_data(<< 6:4, _Class:8, _Flow:20, Len:16, _Next:8, _Hop:8, _Src:128,
  +	    _Dst:128, _Data:Len/binary, _Frag/binary >>,
  +	 wait_1st_from_socket, State) -> % Prefix mismatch: die
  +    {stop, normal, State};
   tcp_data(Frag, StateName, #s{} = State) ->
       next_state(StateName, State#s{frag = Frag}).
   
  
positive.code:     ok = gen_tcp:controlling_process(Socket, Pid),
      gen_fsm:send_event(Pid, {accepted, Socket}).
  
  tun_in(<< 16#6:4, _Class:8, _Flow:20, Len:16, _Next:8, _Hop:8, _Src:128,
  	  Dst:16/binary,
  	  _Data:Len/binary >> = Pkt) ->
      case erl_ocat_reg:lookup(Dst) of
  	undefined ->
  
negative.code:     end;
  tun_in(_) -> {error, invalid}.
  
  to_onion(Dst) when is_integer(Dst) -> to_onion(<<Dst:80>>);
  to_onion(<< _:6/binary, X:10/binary >>) -> to_onion(X);
  to_onion(<< _:10/binary >> = Bin) ->
      Enc = fun(I) when is_integer(I), I >= 26, I =< 31 -> I + 24;
  