x224

package
v0.0.0-...-521b610 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Nov 3, 2023 License: GPL-3.0 Imports: 9 Imported by: 0

Documentation

Index

Constants

View Source
const (
	TPDU_CONNECTION_REQUEST MessageType = 0xE0
	TPDU_CONNECTION_CONFIRM             = 0xD0
	TPDU_DISCONNECT_REQUEST             = 0x80
	TPDU_DATA                           = 0xF0
	TPDU_ERROR                          = 0x70
)
View Source
const (
	TYPE_RDP_NEG_REQ     NegotiationType = 0x01
	TYPE_RDP_NEG_RSP                     = 0x02
	TYPE_RDP_NEG_FAILURE                 = 0x03
)
View Source
const (
	PROTOCOL_RDP       uint32 = 0x00000000
	PROTOCOL_SSL              = 0x00000001
	PROTOCOL_HYBRID           = 0x00000002
	PROTOCOL_HYBRID_EX        = 0x00000008
)
View Source
const (
	//The server requires that the client support Enhanced RDP Security (section 5.4) with either TLS 1.0, 1.1 or 1.2 (section 5.4.5.1) or CredSSP (section 5.4.5.2). If only CredSSP was requested then the server only supports TLS.
	SSL_REQUIRED_BY_SERVER = 0x00000001

	//The server is configured to only use Standard RDP Security mechanisms (section 5.3) and does not support any External Security Protocols (section 5.4.5).
	SSL_NOT_ALLOWED_BY_SERVER = 0x00000002

	//The server does not possess a valid authentication certificate and cannot initialize the External Security Protocol Provider (section 5.4.5).
	SSL_CERT_NOT_ON_SERVER = 0x00000003

	//The list of requested security protocols is not consistent with the current security protocol in effect. This error is only possible when the Direct Approach (sections 5.4.2.2 and 1.3.1.2) is used and an External Security Protocol (section 5.4.5) is already being used.
	INCONSISTENT_FLAGS = 0x00000004

	//The server requires that the client support Enhanced RDP Security (section 5.4) with CredSSP (section 5.4.5.2).
	HYBRID_REQUIRED_BY_SERVER = 0x00000005

	//The server requires that the client support Enhanced RDP Security (section 5.4) with TLS 1.0, 1.1 or 1.2 (section 5.4.5.1) and certificate-based client authentication.<4>
	SSL_WITH_USER_AUTH_REQUIRED_BY_SERVER = 0x00000006
)

Variables

This section is empty.

Functions

This section is empty.

Types

type ClientConnectionRequestPDU

type ClientConnectionRequestPDU struct {
	Len      uint8
	Code     MessageType
	Padding1 uint16
	Padding2 uint16
	Padding3 uint8
	Cookie   []byte

	ProtocolNeg *Negotiation
	// contains filtered or unexported fields
}

*

func NewClientConnectionRequestPDU

func NewClientConnectionRequestPDU(cookie []byte, requestedProtocol uint32) *ClientConnectionRequestPDU

func (*ClientConnectionRequestPDU) Serialize

func (x *ClientConnectionRequestPDU) Serialize() []byte

type DataHeader

type DataHeader struct {
	Header      uint8       `struc:"little"`
	MessageType MessageType `struc:"uint8"`
	Separator   uint8       `struc:"little"`
}

*

  • Header of each data message from x224 layer
  • @returns {type.Component}

func NewDataHeader

func NewDataHeader() *DataHeader

type MessageType

type MessageType byte

*

  • Message type present in X224 packet header

type Negotiation

type Negotiation struct {
	Type   NegotiationType `struc:"byte"`
	Flag   uint8           `struc:"uint8"`
	Length uint16          `struc:"little"`
	Result uint32          `struc:"little"`
}

*

func NewNegotiation

func NewNegotiation() *Negotiation

type NegotiationType

type NegotiationType byte

*

  • Type of negotiation present in negotiation packet

type ServerConnectionConfirm

type ServerConnectionConfirm struct {
	Len         uint8
	Code        MessageType
	Padding1    uint16
	Padding2    uint16
	Padding3    uint8
	ProtocolNeg *Negotiation
}

*

type X224

type X224 struct {
	emission.Emitter
	// contains filtered or unexported fields
}

*

  • Common X224 Automata
  • @param presentation {Layer} presentation layer

func New

func New(t core.Transport) *X224

func (*X224) Close

func (x *X224) Close() error

func (*X224) Connect

func (x *X224) Connect() error

func (*X224) Read

func (x *X224) Read(b []byte) (n int, err error)

func (*X224) SetRequestedProtocol

func (x *X224) SetRequestedProtocol(p uint32)

func (*X224) Write

func (x *X224) Write(b []byte) (n int, err error)

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL