UNPKG

hdb

Version:

SAP HANA Database Client for Node

130 lines (118 loc) 4.16 kB
// Copyright 2025 SAP AG. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with 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. // Protocol constants and sizes for SOCKS5 (RFC1928 and related specs) "use strict"; const DEFAULT_PROXY_PORT = 1080; const NetworkErrors = Object.freeze({ ERR_NETWORK_PROXY_NOTSOCKSV5: "ERR_NETWORK_PROXY_NOTSOCKSV5", ERR_NETWORK_PROXY_AUTH_UNSUPPORTED: "ERR_NETWORK_PROXY_AUTH_UNSUPPORTED", ERR_NETWORK_PROXY_HANA_HOSTNAME_TOO_LONG: "ERR_NETWORK_PROXY_HANA_HOSTNAME_TOO_LONG", ERR_NETWORK_PROXY_AUTH_USERPASS_REJECT: "ERR_NETWORK_PROXY_AUTH_USERPASS_REJECT", ERR_NETWORK_PROXY_AUTH_USERPASS_USERLONG: "ERR_NETWORK_PROXY_AUTH_USERPASS_USERLONG", ERR_NETWORK_PROXY_AUTH_USERPASS_PWDLONG: "ERR_NETWORK_PROXY_AUTH_USERPASS_PWDLONG", ERR_NETWORK_PROXY_AUTH_SAPCLOUD_REJECT: "ERR_NETWORK_PROXY_AUTH_SAPCLOUD_REJECT", ERR_NETWORK_PROXY_AUTH_SAPCLOUD_USERLONG: "ERR_NETWORK_PROXY_AUTH_SAPCLOUD_USERLONG", ERR_NETWORK_PROXY_AUTH_SAPCLOUD_PWDLONG: "ERR_NETWORK_PROXY_AUTH_SAPCLOUD_PWDLONG", ERR_NETWORK_PROXY_CONNECT_FAIL: "ERR_NETWORK_PROXY_CONNECT_FAIL", ERR_NETWORK_PROXY_CONNECT_SOCKSSERVER_FAIL: "ERR_NETWORK_PROXY_CONNECT_SOCKSSERVER_FAIL", ERR_NETWORK_PROXY_CONNECT_RULESET: "ERR_NETWORK_PROXY_CONNECT_RULESET", ERR_NETWORK_PROXY_CONNECT_NET_UNREACHABLE: "ERR_NETWORK_PROXY_CONNECT_NET_UNREACHABLE", ERR_NETWORK_PROXY_CONNECT_HOST_UNREACHABLE: "ERR_NETWORK_PROXY_CONNECT_HOST_UNREACHABLE", ERR_NETWORK_PROXY_CONNECT_CONN_REFUSED: "ERR_NETWORK_PROXY_CONNECT_CONN_REFUSED", ERR_NETWORK_PROXY_CONNECT_TTL_EXPIRED: "ERR_NETWORK_PROXY_CONNECT_TTL_EXPIRED", ERR_NETWORK_PROXY_CONNECT_CMD_UNSUPPORTED: "ERR_NETWORK_PROXY_CONNECT_CMD_UNSUPPORTED", ERR_NETWORK_PROXY_CONNECT_BAD_ADDRESS_TYPE: "ERR_NETWORK_PROXY_CONNECT_BAD_ADDRESS_TYPE", ERR_NETWORK_HTTP_PROXY_CONNECT_FAIL: "ERR_NETWORK_HTTP_PROXY_CONNECT_FAIL", }); // Maximum field sizes const PROXY_MAX_HANAHOST_SIZE = 255; const PROXY_MAX_PASSWORD_SIZE = 255; const PROXY_MAX_USERID_SIZE = 255; const PROXY_MAX_SAPCLOUDJWT_SIZE = 512 * 1024; // Section 3 - Procedure for TCP-based clients const ProxyVersions = Object.freeze({ PROXY_SOCKSV5: 0x05, }); // Section 3 - Authentication methods (RFCs and IANA assigned) const ProxyAuthMethods = Object.freeze({ PROXYAUTH_NOAUTH: 0x00, PROXYAUTH_GSSAPI: 0x01, // RFC 1961 PROXYAUTH_USERPASS: 0x02, // RFC 1929 PROXYAUTH_SAPCLOUDJWT: 0x80, // IANA assigned }); // RFC 1929 - Section 2 - Initial negotiation const ProxyAuthRequestVersion = Object.freeze({ PROXYREQ_VERSION1: 0x01, }); const ProxyAuthResponse = Object.freeze({ PROXYAUTHRESP_SUCCESS: 0x00, }); // Section 4 - Requests const ProxyCommandRequest = Object.freeze({ PROXYCMD_CONNECT: 0x01, PROXYCMD_BIND: 0x02, PROXYCMD_UDPASSOC: 0x03, }); // Section 5 - Addressing const ProxyAddressTypes = Object.freeze({ PROXYNET_IPV4: 0x01, PROXYNET_DOMAINNAME: 0x03, PROXYNET_IPV6: 0x04, }); // Section 6 - Replies const ProxyConnectResponse = Object.freeze({ PROXYRESP_SUCCESS: 0x00, PROXYRESP_SOCKSSERVER_FAIL: 0x01, PROXYRESP_RULESET: 0x02, PROXYRESP_NET_UNREACHABLE: 0x03, PROXYRESP_HOST_UNREACHABLE: 0x04, PROXYRESP_CONN_REFUSED: 0x05, PROXYRESP_TTL_EXPIRED: 0x06, PROXYRESP_CMD_UNSUPPORTED: 0x07, PROXYRESP_BAD_ADDRESS_TYPE: 0x08, }); module.exports = { DEFAULT_PROXY_PORT, PROXY_MAX_HANAHOST_SIZE, PROXY_MAX_PASSWORD_SIZE, PROXY_MAX_USERID_SIZE, PROXY_MAX_SAPCLOUDJWT_SIZE, ProxyVersions, ProxyAuthMethods, ProxyAuthRequestVersion, ProxyAuthResponse, ProxyCommandRequest, ProxyAddressTypes, ProxyConnectResponse, NetworkErrors, };