| # Copyright (C) 2003-2007 Robey Pointer <robeypointer@gmail.com> |
| # Copyright 2012 Citrix Systems, Inc. Licensed under the |
| # Apache License, Version 2.0 (the "License"); you may not use this |
| # file except in compliance with the License. Citrix Systems, Inc. |
| # reserves all rights not expressly granted by the License. |
| # You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 |
| # Unless required by applicable law or agreed to in writing, software |
| # distributed under the License is distributed on an "AS IS" BASIS, |
| # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| # See the License for the specific language governing permissions and |
| # limitations under the License. |
| # |
| # Automatically generated by addcopyright.py at 04/03/2012 |
| # 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. |
| |
| """ |
| Exceptions defined by paramiko. |
| """ |
| |
| |
| class SSHException (Exception): |
| """ |
| Exception raised by failures in SSH2 protocol negotiation or logic errors. |
| """ |
| pass |
| |
| |
| class AuthenticationException (SSHException): |
| """ |
| Exception raised when authentication failed for some reason. It may be |
| possible to retry with different credentials. (Other classes specify more |
| specific reasons.) |
| |
| @since: 1.6 |
| """ |
| pass |
| |
| |
| class PasswordRequiredException (AuthenticationException): |
| """ |
| Exception raised when a password is needed to unlock a private key file. |
| """ |
| pass |
| |
| |
| class BadAuthenticationType (AuthenticationException): |
| """ |
| Exception raised when an authentication type (like password) is used, but |
| the server isn't allowing that type. (It may only allow public-key, for |
| example.) |
| |
| @ivar allowed_types: list of allowed authentication types provided by the |
| server (possible values are: C{"none"}, C{"password"}, and |
| C{"publickey"}). |
| @type allowed_types: list |
| |
| @since: 1.1 |
| """ |
| allowed_types = [] |
| |
| def __init__(self, explanation, types): |
| AuthenticationException.__init__(self, explanation) |
| self.allowed_types = types |
| |
| def __str__(self): |
| return SSHException.__str__(self) + ' (allowed_types=%r)' % self.allowed_types |
| |
| |
| class PartialAuthentication (AuthenticationException): |
| """ |
| An internal exception thrown in the case of partial authentication. |
| """ |
| allowed_types = [] |
| |
| def __init__(self, types): |
| AuthenticationException.__init__(self, 'partial authentication') |
| self.allowed_types = types |
| |
| |
| class ChannelException (SSHException): |
| """ |
| Exception raised when an attempt to open a new L{Channel} fails. |
| |
| @ivar code: the error code returned by the server |
| @type code: int |
| |
| @since: 1.6 |
| """ |
| def __init__(self, code, text): |
| SSHException.__init__(self, text) |
| self.code = code |
| |
| |
| class BadHostKeyException (SSHException): |
| """ |
| The host key given by the SSH server did not match what we were expecting. |
| |
| @ivar hostname: the hostname of the SSH server |
| @type hostname: str |
| @ivar key: the host key presented by the server |
| @type key: L{PKey} |
| @ivar expected_key: the host key expected |
| @type expected_key: L{PKey} |
| |
| @since: 1.6 |
| """ |
| def __init__(self, hostname, got_key, expected_key): |
| SSHException.__init__(self, 'Host key for server %s does not match!' % hostname) |
| self.hostname = hostname |
| self.key = got_key |
| self.expected_key = expected_key |
| |