anchor.diff:  %% The very first event that is sent when the we are set as controlling process of Socket
   handle_event(_, socket_control, {hello,_}, D) ->
       VsnMsg = ssh_transport:hello_version_msg(string_version(D#data.ssh_params)),
  -    ok = send_bytes(VsnMsg, D),
  +    send_bytes(VsnMsg, D),
       case inet:getopts(Socket=D#data.socket, [recbuf]) of
   	{ok, [{recbuf,Size}]} ->
   	    %% Set the socket to the hello text line handling mode:
  
positive.code:     case Role of
  	client ->
  	    %% The server may send info lines to the client before the version_exchange
  	    inet:setopts(D#data.socket, [{active, once}]),
  	    keep_state_and_data;
  	server ->
  	    %% But the client may NOT send them to the server. Openssh answers with cleartext,
  	    %% and so do we
  	    ok = send_bytes("Protocol mismatch.", D),
  	    {stop, {shutdown,"Protocol mismatch in version exchange. Client sent info lines."}}
      end;
  
  
negative.code: 
  handle_event(_, #ssh_msg_kex_dh_gex_reply{} = Msg, {key_exchange_dh_gex_reply,client,ReNeg}, D) ->
      {ok, NewKeys, Ssh1} = ssh_transport:handle_kex_dh_gex_reply(Msg, D#data.ssh_params),
      send_bytes(NewKeys, D),
      {next_state, {new_keys,client,ReNeg}, D#data{ssh_params=Ssh1}};
  
  
  