x2scp PDF Print E-mail
Written by Jay Sorg   
Friday, 18 September 2009 01:04

 

Common message header

 

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

version

size

cmd

scmd

 

 

 

 

 

 

Fields:

version : 4 bytes, means protocol version

size : 4 bytes (up to 65535 216-1). zero is illegal. Packet size

parts : number of packets this message is made of. Default 1, again zero is illegal

part : packet number in sequence. Zero is illegal

cmd : protocol command

scmd : protocol subcommand

 

 

Authentication

 

Messages related to user authentication have a cmd value of 0.

 

Subcommands:

 

scmd: 001

direction: xrdp -> sesman

description: require to start a session with specified parameters

 

 

001 – login request [xrdp->sesman]

1 - session type (xrdp/xvnc/xup)

2 - width

2 - height

1 - colour depth

1 - share resources request (“i want to share my res!”)

17 - keyboard layout

17 - language (RFC3066 8 char + “-” + other 8 chars)

1 - host ip type

v - host ip (4-16, dependin on addr. Type)

1 - hostname length (up to 255 characters)

v – hostname

1 - username length

v – username

1 - password length

v – password

 

 

 

Size

Field

Description

1

Type

Session type

Value

Meaning

1

Xrdp session

2

Xvnc session

 

2

Height

 

2

Width

 

1

bpp

 

1

Share res req

(merge with session type?)

17

keymap

rfc3066

17

Language

rfc3066

1

Addr type

1 v4, 2 v6

4/16

Address

IPv4/IPv6 address

1

Hostname len

 

Var

hostname

 

1

Username len

 

Var

username

 

1

Pwd len

 

Var

password

 

 

 

 

 

002 – login reply no [sesman->xrdp]

1 error description length

v error description

reason (too many users, auth fail, system error)

 

 

003 – login reply resend credentials [sesman->xrdp]

1 error description length

v error description

reason (too many users, auth fail, system error)

 

 

change password messages

020 – please send me your new password [sesman->xrdp]

1 message length

v message

reason (too many users, auth fail, system error)

 

021 – new password [xrdp->sesman]

1 old password length

v old password

1 new password 1 length

v new password 1

1 new password 2 length

v new password 2

 

022 – pwd change cancel (closes the connection) [xrdp->sesman]

(no parameters)

 

023 – pwd change error [sesman->xrdp]

1 error description length

v error description

reason (too many users, auth fail, system error)

 

 

session connect messages

 

030 – new session is... [sesman->xrdp]

(no parameters)

031 – reconnecting to session x... [sesman->xrdp]

(no parameters)

032 – some error reconnecting (closes the connection) [sesman->xrdp]

(no parameters)

 

 

session list messages

 

040 – sesion list [sesman->xrdp]

(no parameters)

044 – session select [xrdp->sesman]

(no parameters)

045 – cancel (closes the connection) [xrdp->sesman]

(no parameters)

 

 

 

 

 

060 – session list [sesman->xrdp]

sid

host

connect time

disconnect time

width

height

bpp

 

061 – reconnect to session request [xrdp->sesman]

reconnect, sid

 

062 – don't reconnect to session [xrdp->sesman]

(cancel for 061)

 

063 – reconnect to session response [sesman->xrdp]

no, reason

 

064 – reconnect to session response [sesman->xrdp]

no, reason

 

 

 

//these will be similar to the standard one, but “no” after the password will close the connection.

//should we manage the delay part?

//should be moved to session management section

200 – admin login request

session type (xrdp/xvnc/xup)

username

password

host ip type

host ip

 

201 – admin login reply sesman->xrdp

 

 

 

1 – resource management

empty for now.

When we'll implement resource redirection we'll think about it

 

2 – session management

0 - get list

1 – ret list

get session info

kill session

 

 

 

 

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

version

size

parts

part

cmd

scmd

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Last Updated on Friday, 18 September 2009 01:09