123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596 |
- # Copyright (c) Twisted Matrix Laboratories.
- # See LICENSE for details.
- """
- An error to represent bad things happening in Conch.
- Maintainer: Paul Swartz
- """
- from twisted.cred.error import UnauthorizedLogin
- class ConchError(Exception):
- def __init__(self, value, data=None):
- Exception.__init__(self, value, data)
- self.value = value
- self.data = data
- class NotEnoughAuthentication(Exception):
- """
- This is thrown if the authentication is valid, but is not enough to
- successfully verify the user. i.e. don't retry this type of
- authentication, try another one.
- """
- class ValidPublicKey(UnauthorizedLogin):
- """
- Raised by public key checkers when they receive public key credentials
- that don't contain a signature at all, but are valid in every other way.
- (e.g. the public key matches one in the user's authorized_keys file).
- Protocol code (eg
- L{SSHUserAuthServer<twisted.conch.ssh.userauth.SSHUserAuthServer>}) which
- attempts to log in using
- L{ISSHPrivateKey<twisted.cred.credentials.ISSHPrivateKey>} credentials
- should be prepared to handle a failure of this type by telling the user to
- re-authenticate using the same key and to include a signature with the new
- attempt.
- See U{http://www.ietf.org/rfc/rfc4252.txt} section 7 for more details.
- """
- class IgnoreAuthentication(Exception):
- """
- This is thrown to let the UserAuthServer know it doesn't need to handle the
- authentication anymore.
- """
- class MissingKeyStoreError(Exception):
- """
- Raised if an SSHAgentServer starts receiving data without its factory
- providing a keys dict on which to read/write key data.
- """
- class UserRejectedKey(Exception):
- """
- The user interactively rejected a key.
- """
- class InvalidEntry(Exception):
- """
- An entry in a known_hosts file could not be interpreted as a valid entry.
- """
- class HostKeyChanged(Exception):
- """
- The host key of a remote host has changed.
- @ivar offendingEntry: The entry which contains the persistent host key that
- disagrees with the given host key.
- @type offendingEntry: L{twisted.conch.interfaces.IKnownHostEntry}
- @ivar path: a reference to the known_hosts file that the offending entry
- was loaded from
- @type path: L{twisted.python.filepath.FilePath}
- @ivar lineno: The line number of the offending entry in the given path.
- @type lineno: L{int}
- """
- def __init__(self, offendingEntry, path, lineno):
- Exception.__init__(self)
- self.offendingEntry = offendingEntry
- self.path = path
- self.lineno = lineno
|