123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249 |
- """
- Common constants and global variables.
- """
- import logging
- from paramiko.py3compat import byte_chr, PY2, long, b
- (
- MSG_DISCONNECT,
- MSG_IGNORE,
- MSG_UNIMPLEMENTED,
- MSG_DEBUG,
- MSG_SERVICE_REQUEST,
- MSG_SERVICE_ACCEPT,
- MSG_EXT_INFO,
- ) = range(1, 8)
- (MSG_KEXINIT, MSG_NEWKEYS) = range(20, 22)
- (
- MSG_USERAUTH_REQUEST,
- MSG_USERAUTH_FAILURE,
- MSG_USERAUTH_SUCCESS,
- MSG_USERAUTH_BANNER,
- ) = range(50, 54)
- MSG_USERAUTH_PK_OK = 60
- (MSG_USERAUTH_INFO_REQUEST, MSG_USERAUTH_INFO_RESPONSE) = range(60, 62)
- (MSG_USERAUTH_GSSAPI_RESPONSE, MSG_USERAUTH_GSSAPI_TOKEN) = range(60, 62)
- (
- MSG_USERAUTH_GSSAPI_EXCHANGE_COMPLETE,
- MSG_USERAUTH_GSSAPI_ERROR,
- MSG_USERAUTH_GSSAPI_ERRTOK,
- MSG_USERAUTH_GSSAPI_MIC,
- ) = range(63, 67)
- HIGHEST_USERAUTH_MESSAGE_ID = 79
- (MSG_GLOBAL_REQUEST, MSG_REQUEST_SUCCESS, MSG_REQUEST_FAILURE) = range(80, 83)
- (
- MSG_CHANNEL_OPEN,
- MSG_CHANNEL_OPEN_SUCCESS,
- MSG_CHANNEL_OPEN_FAILURE,
- MSG_CHANNEL_WINDOW_ADJUST,
- MSG_CHANNEL_DATA,
- MSG_CHANNEL_EXTENDED_DATA,
- MSG_CHANNEL_EOF,
- MSG_CHANNEL_CLOSE,
- MSG_CHANNEL_REQUEST,
- MSG_CHANNEL_SUCCESS,
- MSG_CHANNEL_FAILURE,
- ) = range(90, 101)
- cMSG_DISCONNECT = byte_chr(MSG_DISCONNECT)
- cMSG_IGNORE = byte_chr(MSG_IGNORE)
- cMSG_UNIMPLEMENTED = byte_chr(MSG_UNIMPLEMENTED)
- cMSG_DEBUG = byte_chr(MSG_DEBUG)
- cMSG_SERVICE_REQUEST = byte_chr(MSG_SERVICE_REQUEST)
- cMSG_SERVICE_ACCEPT = byte_chr(MSG_SERVICE_ACCEPT)
- cMSG_EXT_INFO = byte_chr(MSG_EXT_INFO)
- cMSG_KEXINIT = byte_chr(MSG_KEXINIT)
- cMSG_NEWKEYS = byte_chr(MSG_NEWKEYS)
- cMSG_USERAUTH_REQUEST = byte_chr(MSG_USERAUTH_REQUEST)
- cMSG_USERAUTH_FAILURE = byte_chr(MSG_USERAUTH_FAILURE)
- cMSG_USERAUTH_SUCCESS = byte_chr(MSG_USERAUTH_SUCCESS)
- cMSG_USERAUTH_BANNER = byte_chr(MSG_USERAUTH_BANNER)
- cMSG_USERAUTH_PK_OK = byte_chr(MSG_USERAUTH_PK_OK)
- cMSG_USERAUTH_INFO_REQUEST = byte_chr(MSG_USERAUTH_INFO_REQUEST)
- cMSG_USERAUTH_INFO_RESPONSE = byte_chr(MSG_USERAUTH_INFO_RESPONSE)
- cMSG_USERAUTH_GSSAPI_RESPONSE = byte_chr(MSG_USERAUTH_GSSAPI_RESPONSE)
- cMSG_USERAUTH_GSSAPI_TOKEN = byte_chr(MSG_USERAUTH_GSSAPI_TOKEN)
- cMSG_USERAUTH_GSSAPI_EXCHANGE_COMPLETE = byte_chr(
- MSG_USERAUTH_GSSAPI_EXCHANGE_COMPLETE
- )
- cMSG_USERAUTH_GSSAPI_ERROR = byte_chr(MSG_USERAUTH_GSSAPI_ERROR)
- cMSG_USERAUTH_GSSAPI_ERRTOK = byte_chr(MSG_USERAUTH_GSSAPI_ERRTOK)
- cMSG_USERAUTH_GSSAPI_MIC = byte_chr(MSG_USERAUTH_GSSAPI_MIC)
- cMSG_GLOBAL_REQUEST = byte_chr(MSG_GLOBAL_REQUEST)
- cMSG_REQUEST_SUCCESS = byte_chr(MSG_REQUEST_SUCCESS)
- cMSG_REQUEST_FAILURE = byte_chr(MSG_REQUEST_FAILURE)
- cMSG_CHANNEL_OPEN = byte_chr(MSG_CHANNEL_OPEN)
- cMSG_CHANNEL_OPEN_SUCCESS = byte_chr(MSG_CHANNEL_OPEN_SUCCESS)
- cMSG_CHANNEL_OPEN_FAILURE = byte_chr(MSG_CHANNEL_OPEN_FAILURE)
- cMSG_CHANNEL_WINDOW_ADJUST = byte_chr(MSG_CHANNEL_WINDOW_ADJUST)
- cMSG_CHANNEL_DATA = byte_chr(MSG_CHANNEL_DATA)
- cMSG_CHANNEL_EXTENDED_DATA = byte_chr(MSG_CHANNEL_EXTENDED_DATA)
- cMSG_CHANNEL_EOF = byte_chr(MSG_CHANNEL_EOF)
- cMSG_CHANNEL_CLOSE = byte_chr(MSG_CHANNEL_CLOSE)
- cMSG_CHANNEL_REQUEST = byte_chr(MSG_CHANNEL_REQUEST)
- cMSG_CHANNEL_SUCCESS = byte_chr(MSG_CHANNEL_SUCCESS)
- cMSG_CHANNEL_FAILURE = byte_chr(MSG_CHANNEL_FAILURE)
- MSG_NAMES = {
- MSG_DISCONNECT: "disconnect",
- MSG_IGNORE: "ignore",
- MSG_UNIMPLEMENTED: "unimplemented",
- MSG_DEBUG: "debug",
- MSG_SERVICE_REQUEST: "service-request",
- MSG_SERVICE_ACCEPT: "service-accept",
- MSG_KEXINIT: "kexinit",
- MSG_EXT_INFO: "ext-info",
- MSG_NEWKEYS: "newkeys",
- 30: "kex30",
- 31: "kex31",
- 32: "kex32",
- 33: "kex33",
- 34: "kex34",
- 40: "kex40",
- 41: "kex41",
- MSG_USERAUTH_REQUEST: "userauth-request",
- MSG_USERAUTH_FAILURE: "userauth-failure",
- MSG_USERAUTH_SUCCESS: "userauth-success",
- MSG_USERAUTH_BANNER: "userauth--banner",
- MSG_USERAUTH_PK_OK: "userauth-60(pk-ok/info-request)",
- MSG_USERAUTH_INFO_RESPONSE: "userauth-info-response",
- MSG_GLOBAL_REQUEST: "global-request",
- MSG_REQUEST_SUCCESS: "request-success",
- MSG_REQUEST_FAILURE: "request-failure",
- MSG_CHANNEL_OPEN: "channel-open",
- MSG_CHANNEL_OPEN_SUCCESS: "channel-open-success",
- MSG_CHANNEL_OPEN_FAILURE: "channel-open-failure",
- MSG_CHANNEL_WINDOW_ADJUST: "channel-window-adjust",
- MSG_CHANNEL_DATA: "channel-data",
- MSG_CHANNEL_EXTENDED_DATA: "channel-extended-data",
- MSG_CHANNEL_EOF: "channel-eof",
- MSG_CHANNEL_CLOSE: "channel-close",
- MSG_CHANNEL_REQUEST: "channel-request",
- MSG_CHANNEL_SUCCESS: "channel-success",
- MSG_CHANNEL_FAILURE: "channel-failure",
- MSG_USERAUTH_GSSAPI_RESPONSE: "userauth-gssapi-response",
- MSG_USERAUTH_GSSAPI_TOKEN: "userauth-gssapi-token",
- MSG_USERAUTH_GSSAPI_EXCHANGE_COMPLETE: "userauth-gssapi-exchange-complete",
- MSG_USERAUTH_GSSAPI_ERROR: "userauth-gssapi-error",
- MSG_USERAUTH_GSSAPI_ERRTOK: "userauth-gssapi-error-token",
- MSG_USERAUTH_GSSAPI_MIC: "userauth-gssapi-mic",
- }
- AUTH_SUCCESSFUL, AUTH_PARTIALLY_SUCCESSFUL, AUTH_FAILED = range(3)
- (
- OPEN_SUCCEEDED,
- OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED,
- OPEN_FAILED_CONNECT_FAILED,
- OPEN_FAILED_UNKNOWN_CHANNEL_TYPE,
- OPEN_FAILED_RESOURCE_SHORTAGE,
- ) = range(0, 5)
- CONNECTION_FAILED_CODE = {
- 1: "Administratively prohibited",
- 2: "Connect failed",
- 3: "Unknown channel type",
- 4: "Resource shortage",
- }
- (
- DISCONNECT_SERVICE_NOT_AVAILABLE,
- DISCONNECT_AUTH_CANCELLED_BY_USER,
- DISCONNECT_NO_MORE_AUTH_METHODS_AVAILABLE,
- ) = (7, 13, 14)
- zero_byte = byte_chr(0)
- one_byte = byte_chr(1)
- four_byte = byte_chr(4)
- max_byte = byte_chr(0xff)
- cr_byte = byte_chr(13)
- linefeed_byte = byte_chr(10)
- crlf = cr_byte + linefeed_byte
- if PY2:
- cr_byte_value = cr_byte
- linefeed_byte_value = linefeed_byte
- else:
- cr_byte_value = 13
- linefeed_byte_value = 10
- def asbytes(s):
- """
- Coerce to bytes if possible or return unchanged.
- """
- try:
-
-
-
- return b(s)
- except TypeError:
- try:
-
-
- return s.asbytes()
- except AttributeError:
-
-
-
- return s
- xffffffff = long(0xffffffff)
- x80000000 = long(0x80000000)
- o666 = 438
- o660 = 432
- o644 = 420
- o600 = 384
- o777 = 511
- o700 = 448
- o70 = 56
- DEBUG = logging.DEBUG
- INFO = logging.INFO
- WARNING = logging.WARNING
- ERROR = logging.ERROR
- CRITICAL = logging.CRITICAL
- io_sleep = 0.01
- DEFAULT_WINDOW_SIZE = 64 * 2 ** 15
- DEFAULT_MAX_PACKET_SIZE = 2 ** 15
- MIN_WINDOW_SIZE = 2 ** 15
- MIN_PACKET_SIZE = 2 ** 12
- MAX_WINDOW_SIZE = 2 ** 32 - 1
|