mirror of
https://github.com/phpseclib/phpseclib.git
synced 2024-11-05 21:17:53 +00:00
SSH2: add isAuthenticated() method
This commit is contained in:
parent
cae579a19b
commit
57063f3604
@ -2964,6 +2964,17 @@ class Net_SSH2
|
||||
return (bool) ($this->bitmap & NET_SSH2_MASK_CONNECTED);
|
||||
}
|
||||
|
||||
/**
|
||||
* Have you successfully been logged in?
|
||||
*
|
||||
* @return bool
|
||||
* @access public
|
||||
*/
|
||||
function isAuthenticated()
|
||||
{
|
||||
return (bool) ($this->bitmap & NET_SSH2_MASK_LOGIN);
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets Binary Packets
|
||||
*
|
||||
|
@ -32,6 +32,11 @@ class Functional_Net_SSH2Test extends PhpseclibFunctionalTestCase
|
||||
'Failed asserting that SSH2 is not connected after construction.'
|
||||
);
|
||||
|
||||
$this->assertFalse(
|
||||
$ssh->isAuthenticated(),
|
||||
'Failed asserting that SSH2 is not authenticated after construction.'
|
||||
);
|
||||
|
||||
$this->assertNotEmpty(
|
||||
$ssh->getServerPublicHostKey(),
|
||||
'Failed asserting that a non-empty public host key was fetched.'
|
||||
@ -53,6 +58,31 @@ class Functional_Net_SSH2Test extends PhpseclibFunctionalTestCase
|
||||
/**
|
||||
* @depends testPreLogin
|
||||
*/
|
||||
public function testBadPassword($ssh)
|
||||
{
|
||||
$username = $this->getEnv('SSH_USERNAME');
|
||||
$password = $this->getEnv('SSH_PASSWORD');
|
||||
$this->assertFalse(
|
||||
$ssh->login($username, 'zzz' . $password),
|
||||
'SSH2 login using password succeeded.'
|
||||
);
|
||||
|
||||
$this->assertTrue(
|
||||
$ssh->isConnected(),
|
||||
'Failed asserting that SSH2 is connected after bad login attempt.'
|
||||
);
|
||||
|
||||
$this->assertFalse(
|
||||
$ssh->isAuthenticated(),
|
||||
'Failed asserting that SSH2 is not authenticated after bad login attempt.'
|
||||
);
|
||||
|
||||
return $ssh;
|
||||
}
|
||||
|
||||
/**
|
||||
* @depends testBadPassword
|
||||
*/
|
||||
public function testPasswordLogin($ssh)
|
||||
{
|
||||
$username = $this->getEnv('SSH_USERNAME');
|
||||
@ -62,6 +92,11 @@ class Functional_Net_SSH2Test extends PhpseclibFunctionalTestCase
|
||||
'SSH2 login using password failed.'
|
||||
);
|
||||
|
||||
$this->assertTrue(
|
||||
$ssh->isAuthenticated(),
|
||||
'Failed asserting that SSH2 is authenticated after good login attempt.'
|
||||
);
|
||||
|
||||
return $ssh;
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user