anchor.diff:  
   
   %%--------------------------------------------------------------------
  +%% Check that a basd pwd is not tried more times. Could cause lock-out
  +%% on server
  +
  +login_bad_pwd_no_retry1(Config) ->
  +    login_bad_pwd_no_retry(Config, "keyboard-interactive,password").
  +
  +login_bad_pwd_no_retry2(Config) ->
  +    login_bad_pwd_no_retry(Config, "password,keyboard-interactive").
  +
  +login_bad_pwd_no_retry3(Config) ->
  +    login_bad_pwd_no_retry(Config, "password,publickey,keyboard-interactive").
  +
  +login_bad_pwd_no_retry4(Config) ->
  +    login_bad_pwd_no_retry(Config, "password,other,keyboard-interactive").
  +
  +login_bad_pwd_no_retry5(Config) ->
  +    login_bad_pwd_no_retry(Config, "password,other,keyboard-interactive,password,password").
  +
  +
  +
  +
  +
  +login_bad_pwd_no_retry(Config, AuthMethods) ->
  +    PrivDir = proplists:get_value(priv_dir, Config),
  +    UserDir = filename:join(PrivDir, nopubkey), % to make sure we don't use public-key-auth
  +    file:make_dir(UserDir),
  +    SysDir = proplists:get_value(data_dir, Config),
  +
  +    Parent = self(),
  +    PwdFun = fun(_, _, _, undefined) -> {false, 1};
  +		(_, _, _,         _) -> Parent ! retry_bad_pwd,
  +					false
  +	     end,
  +
  +    {DaemonRef, _Host, Port} = 
  +	ssh_test_lib:daemon([{system_dir, SysDir},
  +			     {user_dir, UserDir},
  +			     {auth_methods, AuthMethods},
  +			     {user_passwords, [{"foo","somepwd"}]},
  +			     {pwdfun, PwdFun}
  +			    ]),
  +
  +    ConnRes = ssh:connect("localhost", Port,
  +			  [{silently_accept_hosts, true},
  +			   {user, "foo"},
  +			   {password, "badpwd"},
  +			   {user_dir, UserDir},
  +			   {user_interaction, false}]),
  +
  +    receive
  +	retry_bad_pwd ->
  +	    ssh:stop_daemon(DaemonRef),
  +	    {fail, "Retry bad password"}
  +    after 0 ->
  +	    case ConnRes of
  +		{error,"Unable to connect using the available authentication methods"} ->
  +		    ssh:stop_daemon(DaemonRef),
  +		    ok;
  +		{ok,Conn} ->
  +		    ssh:close(Conn),
  +		    ssh:stop_daemon(DaemonRef),
  +		    {fail, "Connect erroneosly succeded"}
  +	    end
  +    end.
  +
  +%%--------------------------------------------------------------------
   %% Internal functions ------------------------------------------------
   %%--------------------------------------------------------------------
   %% Due to timing the error message may or may not be delivered to
  
positive.code:      {dsa_pass_key, [], [pass_phrase]},
       {rsa_pass_key, [], [pass_phrase]},
       {key_cb, [], [key_callback, key_callback_options]},
       {internal_error, [], [internal_error]}
      ].
  
  
  
negative.code: 	 inet6_option/1,
  	 inet_option/1,
  	 internal_error/1,
  	 known_hosts/1,
  	 login_bad_pwd_no_retry1/1,
  	 login_bad_pwd_no_retry2/1,
  	 login_bad_pwd_no_retry3/1,
  	 login_bad_pwd_no_retry4/1,
  	 login_bad_pwd_no_retry5/1,
  	 misc_ssh_options/1,
  	 openssh_zlib_basic_test/1,  
  	 packet_size_zero/1, 
  