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
Andri Yngvason
727b2f727e
tight: Keep reference to encoder while encoding
2022-10-30 12:44:05 +00:00
Andri Yngvason
8f2d137046
server: Make encoder inert when closing client
2022-10-30 12:44:05 +00:00
Andri Yngvason
baaf84eab9
Reference count encoders
2022-10-30 12:44:05 +00:00
Andri Yngvason
48b070af5a
server: Free cursor buffers on close
2022-10-30 12:44:05 +00:00
Andri Yngvason
adef210252
fb-pool: Add setter for fb allocator
2022-10-29 18:40:02 +00:00
Andri Yngvason
411530b5da
meson: Ack aml API changes
2022-10-29 11:50:34 +00:00
Andri Yngvason
efb5ab956c
Add debug logging for tcp address binding
2022-10-24 20:55:38 +00:00
Andri Yngvason
3588670c81
server: Replace abort() with NVNC_LOG_PANIC
2022-10-24 09:16:59 +00:00
Andri Yngvason
3c4a069ba2
tight: Disable chroma subsampling at q=9
...
This avoids color banding at the highest quality level.
2022-10-23 19:05:32 +00:00
Philipp Zabel
df84f371fe
Fix fallthrough warnings in murmurhash
...
Fix two -Wimplicit-fallthrough warnings in the murmurhash function:
../src/murmurhash.c: In function 'murmurhash':
../src/murmurhash.c:71:15: warning: this statement may fall through [-Wimplicit-fallthrough=]
71 | case 3: k ^= (tail[2] << 16);
| ~~^~~~~~~~~~~~~~~~~~
../src/murmurhash.c:72:5: note: here
72 | case 2: k ^= (tail[1] << 8);
| ^~~~
../src/murmurhash.c:72:15: warning: this statement may fall through [-Wimplicit-fallthrough=]
72 | case 2: k ^= (tail[1] << 8);
| ~~^~~~~~~~~~~~~~~~~
../src/murmurhash.c:74:5: note: here
74 | case 1:
| ^~~~
2022-10-15 10:00:43 +00:00
Jeroen Hofstee
5b2a062f0e
don't resize an encoder if it is not set
2022-10-15 09:59:05 +00:00
Philipp Zabel
1b929afb2c
Only set HAVE_LIBAVUTIL if libav is actually used
...
src/log.c uses av_log_set_level() and av_log_set_callback() from
libavutil if HAVE_LIBAVUTIL is set, so the libavutil dependence
must be added at the same time. Since libav logging is only used
by the h264 code, enable it all together for now.
2022-10-15 09:57:53 +00:00
Andri Yngvason
b932f3e2e0
h264-encoder: Set async_depth=1
...
This fixes stalling during encoding. The FFmpeg devs seem to think that it's
normal to change the default behaviour or their code, so this needs to be
fixed here instead.
Fixes #73
2022-09-10 15:48:15 +00:00