Andri Yngvason
67c522e9da
server: Implement TLS on WebSocket
2023-04-30 16:41:01 +00:00
Andri Yngvason
9f82432f78
stream-ws: Implement upgrade_to_tls
2023-04-30 16:39:54 +00:00
Andri Yngvason
c8d9dcaa2c
Add API functions to enable TLS without auth
...
This is useful if you want to enable TLS for WebSocket without
requiring authentication.
2023-04-30 16:38:54 +00:00
Andri Yngvason
08f01afee4
Make stream_upgrade_to_tls a virtual method
2023-04-30 16:37:30 +00:00
Andri Yngvason
34578aa5a4
stream-gnutls: Don't flush until ready
2023-04-30 16:35:33 +00:00
Andri Yngvason
c006936fd0
http: Only support GET method
2023-04-30 14:31:34 +00:00
Andri Yngvason
2f439b9fa2
http: Stop memory leak in failure path
2023-04-30 14:29:30 +00:00
Andri Yngvason
1fa8d41aef
http: Re-order includes
2023-04-30 14:21:35 +00:00
Andri Yngvason
a179c83f81
http: Remove unused code
2023-04-30 14:20:53 +00:00
Andri Yngvason
c0b3e16bb0
stream-ws: Sanitise handshake input
2023-04-30 14:03:12 +00:00
Andri Yngvason
e5e6767c1e
ws-handshake: Handle protocol & version fields
2023-04-30 13:44:12 +00:00
Andri Yngvason
58df7dfc5c
meson: Ignore format-truncation warnings
2023-04-30 13:30:49 +00:00
Andri Yngvason
d7dc9c0db5
server: Set SO_SNDBUF to 65536
...
The previous value of 4096 caused a very bad performance regression
with GnuTLS.
2023-04-11 20:37:22 +00:00
Andri Yngvason
79d24ae0ca
stream-gnutls: Handle EAGAIN correctly
2023-04-11 20:33:13 +00:00
Andri Yngvason
4b5e4d628d
stream-gnutls: Fix use after free
2023-04-11 20:32:37 +00:00
Andri Yngvason
6a5ea71289
stream: Add a TODO about cleaning up struct
2023-04-11 19:54:25 +00:00
Andri Yngvason
afc0256b2f
stream-tcp: EAGAIN is not an error
...
This fixes inadvertent treatment of a normal situation as an error.
2023-04-10 11:36:59 +00:00
Andri Yngvason
5530b22fde
server: Reduce SO_SNDBUF to 4096
...
This will allow us to more accuately gauge the back-pressure on the socket.
2023-04-08 13:40:24 +00:00
Andri Yngvason
aa6fadf2fd
server: Use stream_exec_and_send for ntp
2023-04-08 13:40:24 +00:00
Andri Yngvason
0cdbf6a602
stream: Add exec_and_send function
...
This allows us to execute a function right before a leaves the send queue
and is really only useful for NTP as far as I can tell.
2023-04-08 13:02:45 +00:00
Andri Yngvason
19172140ba
Add NTP inspired latency tracking and time sync
2023-04-07 21:24:22 +00:00
Andri Yngvason
8847511596
Implement websocket
2023-04-07 12:47:49 +00:00
Andri Yngvason
e385a98238
stream: Add a cork to pause sending
2023-04-07 12:47:49 +00:00
Andri Yngvason
979d10ce62
Turn stream into abstract interface class
2023-04-06 21:02:39 +00:00
Andri Yngvason
2cefc7febb
test: pixels: Revert accidental change
2023-03-23 10:18:28 +00:00
Andri Yngvason
1081ff35cd
test: pixels: Use unsigned numeric literals
...
This fixes type promotion issues with the swap32 macro.
2023-03-22 09:28:06 +00:00
Andri Yngvason
e6931239bc
.github: Add a pull request template
2023-02-26 11:27:01 +00:00
Andri Yngvason
796b9bc20e
Add a CONTRIBUTING.md
2023-02-26 11:25:46 +00:00
Philipp Zabel
6f1c12f376
examples: draw: Demonstrate desktop resizing
...
Let whiteboard size follow client window size for clients that support
the ExtendedDesktopSize pseudo-encoding.
2023-02-25 11:03:44 +00:00
Philipp Zabel
e19c9ad600
Implement desktop resizing
...
Implement minimal support for ExtendedDesktopSize pseudo-encoding
and SetDesktopSize client message.
The opaque nvnc_desktop_layout structure contains all information
from the SetDesktopSize client message.
2023-02-25 11:03:44 +00:00
Andri Yngvason
eacebad277
Remove _clang-format
...
It's not helpful
2023-02-24 15:25:48 +00:00
Andri Yngvason
8b3dc1ae60
Release v0.6.0
2023-01-22 13:06:36 +00:00
Andri Yngvason
cdf990db75
meson: Require specific version of aml
2023-01-22 13:06:36 +00:00
Philipp Zabel
afe37b983d
stream: Fix remote closing TLS connection
...
If a TLS stream is closed by the remote VNC client,
stream__remote_closed must be called to signal the server.
Signed-off-by: Philipp Zabel <p.zabel@pengutronix.de>
2022-11-30 15:26:28 +00:00
Andri Yngvason
bc87cbbb7d
meson: Set default warning level to 2
2022-11-26 18:19:24 +00:00
Jim Ramsay
332be4d471
Add nvnc_client_close API
...
This allows the user or application to terminate any given nvnc_client
connection at any time.
Signed-off-by: Jim Ramsay <i.am@jimramsay.com>
2022-11-24 16:08:06 +00:00
Andri Yngvason
8f979c9928
Pass nvnc_client to cut-text callback
2022-11-20 22:42:01 +00:00
Andri Yngvason
79f26924ea
Add functions for listing clients
2022-11-20 12:03:18 +00:00
Andri Yngvason
8a7509bd3a
raw: Allocate conservatively sized buffers
2022-11-05 13:54:01 +00:00
Andri Yngvason
f31ddf7fe9
enc-util: Add function to calculate region area
2022-11-05 13:52:55 +00:00
Andri Yngvason
3647457f6d
server: Properly handle stream write errors
...
This fixes leaked rcbufs when clients disconnect.
2022-11-05 13:22:14 +00:00
Andri Yngvason
fbe8631add
raw: Fix worker data dependencies
2022-11-05 13:22:14 +00:00
Andri Yngvason
935ce4e98d
Remove push/pull encoder interface
...
Think of it as a failed experiment.
2022-11-05 10:15:56 +00:00
Jim Ramsay
036b549fd8
Record authenticated username for each connected client
...
Signed-off-by: Jim Ramsay <jramsay@redhat.com>
2022-11-04 09:41:14 +00:00
Jim Ramsay
86bd2ced85
Record hostname for each connected client
...
Signed-off-by: Jim Ramsay <jramsay@redhat.com>
2022-11-04 09:41:14 +00:00
Andri Yngvason
73e1089f06
zrle: Unref result in destroy
2022-10-30 13:53:10 +00:00
Andri Yngvason
b525608a06
raw: Unref result in destroy
2022-10-30 13:52:52 +00:00
Andri Yngvason
b3c1d5d1dc
stream: Use MSG_NOSIGNAL
...
Without MSG_NOSIGNAL, sending to closed sockets will generate SIGPIPE.
2022-10-30 13:07:13 +00:00
Andri Yngvason
95742676c9
zrle: Keep reference to encoder while encoding
2022-10-30 12:44:05 +00:00
Andri Yngvason
91dc5da243
raw: Keep reference to encoder while encoding
2022-10-30 12:44:05 +00:00