anchor.diff:  					     {subsystems, [{"echo_n", {ssh_echo_server, [4000000]}}]}]),
   
       ConnectionRef = ssh_test_lib:connect(Host, Port, [{silently_accept_hosts, true},
  -					  {user, "foo"},
  -					  {password, "morot"},
  -					  {user_interaction, false},
  -					  {user_dir, UserDir}]),
  +						      {user, "foo"},
  +						      {password, "morot"},
  +						      {user_interaction, false},
  +						      {user_dir, UserDir}]),
   
       {ok, ChannelId} = ssh_connection:session_channel(ConnectionRef, infinity),
   
  
positive.code: 	    case size(Data) =:= size(Other) of
  		true ->
  		    ct:pal("received and sent data are same"
  				       "size but do not match~n",[]);
  		false ->
  		    ct:pal("sent ~p but only received ~p~n",
  				       [size(Data), size(Other)])
  	    end,
  	    ct:fail(receive_data_mismatch);
  	Else ->
  
negative.code:     file:make_dir(UserDir),
      SysDir = ?config(data_dir, Config),
      {Pid, Host, Port} = ssh_test_lib:daemon([{system_dir, SysDir},
  					     {user_dir, UserDir},
  					     {password, "morot"},
  					     {shell, fun(U, H) -> start_our_shell(U, H) end} ]),
  
      ConnectionRef = ssh_test_lib:connect(Host, Port, [{silently_accept_hosts, true},
  						      {user, "foo"},
  						      {password, "morot"},
  						      {user_interaction, true},
  						      {user_dir, UserDir}]),
  
      {ok, ChannelId0} = ssh_connection:session_channel(ConnectionRef, infinity),
      ok = ssh_connection:shell(ConnectionRef,ChannelId0),
  
      receive
  	{ssh_cm,ConnectionRef, {data, ChannelId0, 0, <<"Enter command\r\n">>}} ->
  	    ok
      after 5000 ->
  	    ct:fail("CLI Timeout")
      end,
  
      ssh:close(ConnectionRef),
      ssh:stop_daemon(Pid).
  %%--------------------------------------------------------------------
  start_shell_exec() ->
      [{doc, "start shell to exec command"}].
  
  start_shell_exec(Config) when is_list(Config) ->
      PrivDir = ?config(priv_dir, Config),
      UserDir = filename:join(PrivDir, nopubkey), % to make sure we don't use public-key-auth
      file:make_dir(UserDir),
      SysDir = ?config(data_dir, Config),
      {Pid, Host, Port} = ssh_test_lib:daemon([{system_dir, SysDir},
  					     {user_dir, UserDir},
  					     {password, "morot"},
  					     {exec, {?MODULE,ssh_exec,[]}} ]),
  
      ConnectionRef = ssh_test_lib:connect(Host, Port, [{silently_accept_hosts, true},
  						      {user, "foo"},
  						      {password, "morot"},
  						      {user_interaction, true},
  						      {user_dir, UserDir}]),
  
      {ok, ChannelId0} = ssh_connection:session_channel(ConnectionRef, infinity),
  
      success = ssh_connection:exec(ConnectionRef, ChannelId0,
  				  "testing", infinity),
      receive
      {ssh_cm,ConnectionRef, {data, ChannelId, 0, <<"testing\r\n">>}} ->
          ok
      after 5000 ->
  	    ct:fail("Exec Timeout")
      end,
  
      ssh:close(ConnectionRef),
      ssh:stop_daemon(Pid).
  
  %%--------------------------------------------------------------------
  start_shell_exec_fun() ->
      [{doc, "start shell to exec command"}].
  
  start_shell_exec_fun(Config) when is_list(Config) ->
      PrivDir = ?config(priv_dir, Config),
      UserDir = filename:join(PrivDir, nopubkey), % to make sure we don't use public-key-auth
      file:make_dir(UserDir),
      SysDir = ?config(data_dir, Config),
      {Pid, Host, Port} = ssh_test_lib:daemon([{system_dir, SysDir},
  					     {user_dir, UserDir},
  					     {password, "morot"},
  					     {exec, fun ssh_exec/1}]),
  
      ConnectionRef = ssh_test_lib:connect(Host, Port, [{silently_accept_hosts, true},
  						      {user, "foo"},
  						      {password, "morot"},
  						      {user_interaction, true},
  						      {user_dir, UserDir}]),
  
      {ok, ChannelId0} = ssh_connection:session_channel(ConnectionRef, infinity),
  
      success = ssh_connection:exec(ConnectionRef, ChannelId0,
  				  "testing", infinity),
  
      receive
      {ssh_cm,ConnectionRef, {data, ChannelId, 0, <<"testing\r\n">>}} ->
          ok
      after 5000 ->
  	    ct:fail("Exec Timeout")
      end,
  
      ssh:close(ConnectionRef),
      ssh:stop_daemon(Pid).
  
  %%--------------------------------------------------------------------
  
  gracefull_invalid_version(Config) when is_list(Config) ->
      PrivDir = ?config(priv_dir, Config),
      UserDir = filename:join(PrivDir, nopubkey), % to make sure we don't use public-key-auth
      file:make_dir(UserDir),
      SysDir = ?config(data_dir, Config),
      
      {_Pid, Host, Port} = ssh_test_lib:daemon([{system_dir, SysDir},
  					     {user_dir, UserDir},
  					     {password, "morot"}]),
  