-
Notifications
You must be signed in to change notification settings - Fork 75
/
Copy pathexceptions.pyx
307 lines (161 loc) · 6.91 KB
/
exceptions.pyx
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
# This file is part of ssh2-python.
# Copyright (C) 2017-2020 Panos Kittenis
#
# This library is free software; you can redistribute it and/or
# modify it under the terms of the GNU Lesser General Public
# License as published by the Free Software Foundation, version 2.1.
#
# This library is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
# Lesser General Public License for more details.
#
# You should have received a copy of the GNU Lesser General Public
# License along with this library; if not, write to the Free Software
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
class SSH2Error(Exception):
"""Base class for all ssh2-python errors"""
class AgentError(SSH2Error):
"""Base class for all SSH Agent errors"""
class AuthenticationError(SSH2Error):
"""Base class for all authentication errors"""
class AgentConnectionError(AgentError):
"""Raised on SSH Agent connection errors"""
class AgentAuthenticationError(AuthenticationError):
"""Raised on SSH Agent authentication errors"""
class AgentListIdentitiesError(AgentError):
"""Raised on SSH Agent list identities errors"""
class AgentGetIdentityError(AgentError):
"""Raised on SSH Agent get identity errors"""
class AgentProtocolError(SSH2Error):
"""Raised on SSH agent protocol errors"""
class SessionError(SSH2Error):
"""Base class for all session errors"""
class SessionStartupError(SessionError):
"""Raised on session startup errors"""
class SessionHandshakeError(SessionError):
"""Raised on session handshake errors"""
class SessionHostKeyError(SessionError):
"""Raised on errors getting server host key"""
class BannerRecvError(SessionError):
"""Raised on errors receiving banner"""
class BannerSendError(SessionError):
"""Raised on errors sending banner"""
class KeyExchangeError(SessionError):
"""Raised on errors exchanging keys"""
class Timeout(SessionError):
"""Raised on timeouts"""
class HostkeyInitError(SessionError):
"""Raised on errors initialiasing host key"""
class HostkeySignError(SessionError):
"""Raised on errors signing host key"""
class DecryptError(SessionError):
"""Raised on decryption errors"""
class SocketDisconnectError(SSH2Error):
"""Raised on socket disconnection errors"""
class ProtocolError(SSH2Error):
"""Raised on protocol errors"""
class PasswordExpiredError(AuthenticationError):
"""Raised on password expired errors"""
class FileError(SSH2Error):
"""Raised on file errors"""
class MethodNoneError(SSH2Error):
"""Raised on invalid method errors"""
class PublicKeyError(SSH2Error):
"""Base class for all public key protocol errors"""
class PublicKeyInitError(PublicKeyError):
"""Raised on errors initialising public key system"""
class PublickeyUnverifiedError(AuthenticationError):
"""Raised on public key verification errors"""
class ChannelError(SSH2Error):
"""Base class for all channel errors"""
class ChannelOutOfOrderError(ChannelError):
"""Raised on channel commands out of order errors"""
class ChannelFailure(ChannelError):
"""Raised on channel failures"""
class ChannelRequestDenied(ChannelError):
"""Raised on channel request denied errors"""
class ChannelUnknownError(ChannelError):
"""Raised on unknown channel errors"""
class ChannelWindowExceeded(ChannelError):
"""Raised on channel window exceeded errors"""
class ChannelPacketExceeded(ChannelError):
"""Raised on channel max packet length exceeded errors"""
class ChannelClosedError(ChannelError):
"""Raised on channel closed errors"""
class ChannelEOFSentError(ChannelError):
"""Raised on channel EOF errors"""
class SCPProtocolError(SessionError):
"""Raised on SCP protocol errors"""
class ZlibError(SessionError):
"""Raised on zlib errors"""
class SocketTimeout(SessionError):
"""Raised on socket timeouts"""
class RequestDeniedError(SessionError):
"""Raised on request denied errors"""
class MethodNotSupported(SessionError):
"""Raised on authentication method not supported errors"""
class InvalidRequestError(SSH2Error):
"""Raised on invalid request errors"""
class InvalidPollTypeError(SSH2Error):
"""Raised on invalid poll type errors"""
class PublicKeyProtocolError(SSH2Error):
"""Raised on public key protocol errors"""
class BufferTooSmallError(SSH2Error):
"""Raised on buffer too small errors"""
class BadUseError(SSH2Error):
"""Raised on API bad use errors"""
class CompressError(SessionError):
"""Raised on compression errors"""
class OutOfBoundaryError(SSH2Error):
"""Raised on out of boundary errors"""
class SocketRecvError(SSH2Error):
"""Raised on socket receive errors"""
class SocketSendError(SSH2Error):
"""Raised on socket send errors"""
class EncryptError(SessionError):
"""Raised on encryption errors"""
class BadSocketError(SSH2Error):
"""Raised on use of bad socket errors"""
class SFTPError(SSH2Error):
"""Base class for SFTP errors"""
class SFTPProtocolError(SFTPError):
"""Raised on SFTP protocol errors"""
class SFTPHandleError(SFTPError):
"""Raised on SFTP handle errors"""
class KnownHostError(SSH2Error):
"""Base class for KnownHost errors"""
class KnownHostAddError(KnownHostError):
"""Raised on errors adding known host entries"""
class KnownHostCheckError(KnownHostError):
"""Raised on any known host check errors"""
class KnownHostCheckFailure(KnownHostCheckError):
"""Raised on something preventing known host check to be made"""
class KnownHostCheckNotFoundError(KnownHostCheckError):
"""Raised on no match for known host check"""
class KnownHostCheckMisMatchError(KnownHostCheckError):
"""Raised on keys do not match for known host"""
class KnownHostDeleteError(KnownHostError):
"""Raised on errors deleting known host entry"""
class KnownHostReadLineError(KnownHostError):
"""Raised on errors reading line from known hosts file"""
class KnownHostReadFileError(KnownHostError):
"""Raised on errors reading from known hosts file"""
class KnownHostWriteLineError(KnownHostError):
"""Raised on errors writing line to known hosts file"""
class KnownHostWriteFileError(KnownHostError):
"""Raised on errors writing to known hosts file"""
class KnownHostGetError(KnownHostError):
"""Raised on errors retrieving known host entries"""
class InvalidMACError(SSH2Error):
"""Raised on invalid MAC"""
class KexFailureError(SSH2Error):
"""Raised on KEX failure"""
class AllocError(SSH2Error):
"""Raised on allocation error"""
class ChannelWindowFullError(SSH2Error):
"""Raised on channel window full error"""
class KeyfileAuthFailedError(SSH2Error):
"""Raised on key file authentication error"""
class UnknownError(SSH2Error):
"""Raised on non-specific or unknown errors"""