[PATCH spice-server 00/23] WebSocket support

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Updated a longstanding patch for WebSocket support.

This includes:
- style updates:
  - types (C99 instead of GLib);
  - memory allocation (GLib instead of SPICE functions);
- support for Windows;
- different fixes;
- automatic tests using Autobahn Testsuite;
- some missing features:
  - PING/PONG messages;
  - empty (0 bytes) frames.

Frediano Ziglio (22):
  test-glib-compat: Fix G_PID_FORMAT definition for old systems
  reds: Fix SSL_CTX_set_ecdh_auto call for some old OpenSSL
  websocket: Simplify and fix constrain_iov
  websocket: Move RedsWebSocket to header
  websocket: Make websocket function more ABI compatibles with RedStream
  websocket: Make websocket_ack_close static
  websocket: New interface to create RedsWebSocket
  websocket: Better encapsulation
  websocket: Detect and handle some header error
  websocket: Better variable types
  websocket: Propagate some variable
  websocket: Fix updating remaining bytes to write in websocket_write
  websocket: Avoid possible server crash using websockets
  websocket: Support correctly protocol values
  websocket: Handle case if server cannot write the header entirely
  websocket: Avoids to write close frame in the middle of data
  websocket: Handle PING and PONG frames
  test-websocket: Write a test helper to make possible to run Autobahn
    testsuite
  websocket: Do not require "Sec-WebSocket-Protocol" header
  websocket: Handle text data
  websocket: Handle continuation and 0-size frames
  ci: Add test for websockets

Jeremy White (1):
  Add support for clients connecting with the WebSocket protocol.

 .gitlab-ci.yml                     |  20 +
 configure.ac                       |   9 +
 server/Makefile.am                 |   2 +
 server/meson.build                 |   2 +
 server/red-stream.c                |  56 ++
 server/red-stream.h                |   2 +
 server/reds.c                      |  15 +
 server/tests/.gitignore            |   1 +
 server/tests/Makefile.am           |   6 +
 server/tests/autobahn-check-report |  18 +
 server/tests/fuzzingclient.json    |  11 +
 server/tests/meson.build           |   1 +
 server/tests/test-glib-compat.h    |   2 +-
 server/tests/test-websocket.c      | 299 +++++++++++
 server/websocket.c                 | 796 +++++++++++++++++++++++++++++
 server/websocket.h                 |  43 ++
 16 files changed, 1282 insertions(+), 1 deletion(-)
 create mode 100755 server/tests/autobahn-check-report
 create mode 100644 server/tests/fuzzingclient.json
 create mode 100644 server/tests/test-websocket.c
 create mode 100644 server/websocket.c
 create mode 100644 server/websocket.h

-- 
2.20.1

_______________________________________________
Spice-devel mailing list
Spice-devel@xxxxxxxxxxxxxxxxxxxxx
https://lists.freedesktop.org/mailman/listinfo/spice-devel




[Index of Archives]     [Linux Virtualization]     [Linux Virtualization]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Security]     [Bugtraq]     [Linux OMAP]     [Linux MIPS]     [ECOS]     [Asterisk Internet PBX]     [Linux API]     [Monitors]