Documentation ¶
Index ¶
Constants ¶
View Source
const ( MajorVersion = 0x0 MinorVersion = 0x0 Version = 0x00 )
View Source
const ( MethodRDGIN = "RDG_IN_DATA" MethodRDGOUT = "RDG_OUT_DATA" )
View Source
const ( PKT_TYPE_HANDSHAKE_REQUEST = 0x1 PKT_TYPE_HANDSHAKE_RESPONSE = 0x2 PKT_TYPE_EXTENDED_AUTH_MSG = 0x3 PKT_TYPE_TUNNEL_CREATE = 0x4 PKT_TYPE_TUNNEL_RESPONSE = 0x5 PKT_TYPE_TUNNEL_AUTH = 0x6 PKT_TYPE_TUNNEL_AUTH_RESPONSE = 0x7 PKT_TYPE_CHANNEL_CREATE = 0x8 PKT_TYPE_CHANNEL_RESPONSE = 0x9 PKT_TYPE_DATA = 0xA PKT_TYPE_SERVICE_MESSAGE = 0xB PKT_TYPE_REAUTH_MESSAGE = 0xC PKT_TYPE_KEEPALIVE = 0xD PKT_TYPE_CLOSE_CHANNEL = 0x10 PKT_TYPE_CLOSE_CHANNEL_RESPONSE = 0x11 )
View Source
const ( HTTP_TUNNEL_RESPONSE_FIELD_TUNNEL_ID = 0x01 HTTP_TUNNEL_RESPONSE_FIELD_CAPS = 0x02 HTTP_TUNNEL_RESPONSE_FIELD_SOH_REQ = 0x04 HTTP_TUNNEL_RESPONSE_FIELD_CONSENT_MSG = 0x10 )
View Source
const ( HTTP_EXTENDED_AUTH_NONE = 0x0 HTTP_EXTENDED_AUTH_SC = 0x1 /* Smart card authentication. */ HTTP_EXTENDED_AUTH_PAA = 0x02 /* Pluggable authentication. */ HTTP_EXTENDED_AUTH_SSPI_NTLM = 0x04 /* NTLM extended authentication. */ )
View Source
const ( HTTP_TUNNEL_AUTH_RESPONSE_FIELD_REDIR_FLAGS = 0x01 HTTP_TUNNEL_AUTH_RESPONSE_FIELD_IDLE_TIMEOUT = 0x02 HTTP_TUNNEL_AUTH_RESPONSE_FIELD_SOH_RESPONSE = 0x04 )
View Source
const ( HTTP_TUNNEL_REDIR_ENABLE_ALL = 0x80000000 HTTP_TUNNEL_REDIR_DISABLE_ALL = 0x40000000 HTTP_TUNNEL_REDIR_DISABLE_DRIVE = 0x01 HTTP_TUNNEL_REDIR_DISABLE_PRINTER = 0x02 HTTP_TUNNEL_REDIR_DISABLE_PORT = 0x04 HTTP_TUNNEL_REDIR_DISABLE_CLIPBOARD = 0x08 HTTP_TUNNEL_REDIR_DISABLE_PNP = 0x10 )
View Source
const ( HTTP_CHANNEL_RESPONSE_FIELD_CHANNELID = 0x01 HTTP_CHANNEL_RESPONSE_FIELD_AUTHNCOOKIE = 0x02 HTTP_CHANNEL_RESPONSE_FIELD_UDPPORT = 0x04 )
View Source
const ( SERVER_STATE_INITIAL = 0x0 SERVER_STATE_HANDSHAKE = 0x1 SERVER_STATE_TUNNEL_CREATE = 0x2 SERVER_STATE_TUNNEL_AUTHORIZE = 0x3 SERVER_STATE_CHANNEL_CREATE = 0x4 SERVER_STATE_OPENED = 0x5 SERVER_STATE_CLOSED = 0x6 )
View Source
const ( HTTP_CAPABILITY_TYPE_QUAR_SOH = 0x1 HTTP_CAPABILITY_IDLE_TIMEOUT = 0x2 HTTP_CAPABILITY_MESSAGING_CONSENT_SIGN = 0x4 HTTP_CAPABILITY_MESSAGING_SERVICE_MSG = 0x8 HTTP_CAPABILITY_REAUTH = 0x10 HTTP_CAPABILITY_UDP_TRANSPORT = 0x20 )
View Source
const (
HTTP_TUNNEL_PACKET_FIELD_PAA_COOKIE = 0x1
)
Variables ¶
This section is empty.
Functions ¶
func DecodeUTF16 ¶
func EncodeUTF16 ¶
Types ¶
type ClientConfig ¶
type ClientConfig struct { SmartCardAuth bool PAAToken string NTLMAuth bool Session *SessionInfo LocalConn net.Conn Server string Port int Name string }
func (*ClientConfig) ConnectAndForward ¶
func (c *ClientConfig) ConnectAndForward() error
type Gateway ¶
type Gateway struct {
ServerConf *ServerConf
}
func (*Gateway) HandleGatewayProtocol ¶
func (g *Gateway) HandleGatewayProtocol(w http.ResponseWriter, r *http.Request)
type RedirectFlags ¶
type Server ¶
type Server struct { Session *SessionInfo VerifyTunnelCreate VerifyTunnelCreate VerifyTunnelAuthFunc VerifyTunnelAuthFunc VerifyServerFunc VerifyServerFunc RedirectFlags int IdleTimeout int SmartCardAuth bool TokenAuth bool ClientName string Remote net.Conn State int }
func NewServer ¶
func NewServer(s *SessionInfo, conf *ServerConf) *Server
type ServerConf ¶
type ServerConf struct { VerifyTunnelCreate VerifyTunnelCreate VerifyTunnelAuthFunc VerifyTunnelAuthFunc VerifyServerFunc VerifyServerFunc RedirectFlags RedirectFlags IdleTimeout int SmartCardAuth bool TokenAuth bool ReceiveBuf int SendBuf int }
type SessionInfo ¶
type SessionInfo struct { // The connection-id (RDG-ConnID) as reported by the client ConnId string // The underlying incoming transport being either websocket or legacy http // in case of websocket TransportOut will equal TransportIn TransportIn transport.Transport // The underlying outgoing transport being either websocket or legacy http // in case of websocket TransportOut will equal TransportOut TransportOut transport.Transport // The remote desktop server (rdp, vnc etc) the clients intends to connect to RemoteServer string // The obtained client ip address ClientIp string }
Click to show internal directories.
Click to hide internal directories.