mirror of
https://github.com/kasmtech/KasmVNC.git
synced 2024-11-23 16:43:15 +01:00
148 lines
3.4 KiB
Plaintext
148 lines
3.4 KiB
Plaintext
5.1.1 ProtocolVersion: 12, 12 bytes
|
|
|
|
- Sent by server, max supported
|
|
12 ascii - "RFB 003.008\n"
|
|
- Response by client, version to use
|
|
12 ascii - "RFB 003.003\n"
|
|
|
|
5.1.2 Authentication: >=4, [16, 4] bytes
|
|
|
|
- Sent by server
|
|
CARD32 - authentication-scheme
|
|
0 - connection failed
|
|
CARD32 - length
|
|
length - reason
|
|
1 - no authentication
|
|
|
|
2 - VNC authentication
|
|
16 CARD8 - challenge (random bytes)
|
|
|
|
- Response by client (if VNC authentication)
|
|
16 CARD8 - client encrypts the challenge with DES, using user
|
|
password as key, sends resulting 16 byte response
|
|
|
|
- Response by server (if VNC authentication)
|
|
CARD32 - 0 - OK
|
|
1 - failed
|
|
2 - too-many
|
|
|
|
5.1.3 ClientInitialisation: 1 byte
|
|
- Sent by client
|
|
CARD8 - shared-flag, 0 exclusive, non-zero shared
|
|
|
|
5.1.4 ServerInitialisation: >=24 bytes
|
|
- Sent by server
|
|
CARD16 - framebuffer-width
|
|
CARD16 - framebuffer-height
|
|
16 byte PIXEL_FORMAT - server-pixel-format
|
|
CARD8 - bits-per-pixel
|
|
CARD8 - depth
|
|
CARD8 - big-endian-flag, non-zero is big endian
|
|
CARD8 - true-color-flag, non-zero then next 6 apply
|
|
CARD16 - red-max
|
|
CARD16 - green-max
|
|
CARD16 - blue-max
|
|
CARD8 - red-shift
|
|
CARD8 - green-shift
|
|
CARD8 - blue-shift
|
|
3 bytes - padding
|
|
CARD32 - name-length
|
|
|
|
CARD8[length] - name-string
|
|
|
|
|
|
|
|
Client to Server Messages:
|
|
|
|
5.2.1 SetPixelFormat: 20 bytes
|
|
CARD8: 0 - message-type
|
|
...
|
|
|
|
5.2.2 FixColourMapEntries: >=6 bytes
|
|
CARD8: 1 - message-type
|
|
...
|
|
|
|
5.2.3 SetEncodings: >=8 bytes
|
|
CARD8: 2 - message-type
|
|
CARD8 - padding
|
|
CARD16 - numer-of-encodings
|
|
|
|
CARD32 - encoding-type in preference order
|
|
0 - raw
|
|
1 - copy-rectangle
|
|
2 - RRE
|
|
4 - CoRRE
|
|
5 - hextile
|
|
|
|
5.2.4 FramebufferUpdateRequest (10 bytes)
|
|
CARD8: 3 - message-type
|
|
CARD8 - incremental (0 for full-update, non-zero for incremental)
|
|
CARD16 - x-position
|
|
CARD16 - y-position
|
|
CARD16 - width
|
|
CARD16 - height
|
|
|
|
|
|
5.2.5 KeyEvent: 8 bytes
|
|
CARD8: 4 - message-type
|
|
CARD8 - down-flag
|
|
2 bytes - padding
|
|
CARD32 - key (X-Windows keysym values)
|
|
|
|
5.2.6 PointerEvent: 6 bytes
|
|
CARD8: 5 - message-type
|
|
CARD8 - button-mask
|
|
CARD16 - x-position
|
|
CARD16 - y-position
|
|
|
|
5.2.7 ClientCutText: >=9 bytes
|
|
CARD8: 6 - message-type
|
|
...
|
|
|
|
|
|
Server to Client Messages:
|
|
|
|
5.3.1 FramebufferUpdate
|
|
CARD8: 0 - message-type
|
|
1 byte - padding
|
|
CARD16 - number-of-rectangles
|
|
|
|
CARD16 - x-position
|
|
CARD16 - y-position
|
|
CARD16 - width
|
|
CARD16 - height
|
|
CARD16 - encoding-type:
|
|
0 - raw
|
|
1 - copy rectangle
|
|
2 - RRE
|
|
4 - CoRRE
|
|
5 - hextile
|
|
|
|
raw:
|
|
- width x height pixel values
|
|
|
|
copy rectangle:
|
|
CARD16 - src-x-position
|
|
CARD16 - src-y-position
|
|
|
|
RRE:
|
|
CARD32 - N number-of-subrectangles
|
|
Nxd bytes - background-pixel-value (d bits-per-pixel)
|
|
|
|
...
|
|
|
|
5.3.2 SetColourMapEntries (no support)
|
|
CARD8: 1 - message-type
|
|
...
|
|
|
|
5.3.3 Bell
|
|
CARD8: 2 - message-type
|
|
|
|
5.3.4 ServerCutText
|
|
CARD8: 3 - message-type
|
|
|
|
|
|
|
|
|
|
|