Andri Yngvason
2bfa86a24c
Create abstract h264 encoder interface
2024-03-10 16:03:36 +00:00
Andri Yngvason
dedac2f82f
Implement colour map
...
Instead of dropping the connection, we now implement a simple static
colour map that emulates RGB332.
The quality isn't great, but it's better than dropping the connection
without any explanation.
2024-02-20 21:59:51 +00:00
Andri Yngvason
9fa1027353
server: Drop current frame if formats change
...
If the currently in-flight frame was dispatched before a format change,
it might be the wrong format for the client, so it's better to drop it.
2024-02-02 22:24:03 +00:00
Andri Yngvason
c7d7929f7c
Keep zlib streams when switching encodings
...
Both RealVNC and TigerVNC clients expect zlib streams to remain when
switching encodings, so when they switch back, inflate fails if the
encoder is discared.
fixes #109
2024-02-02 22:10:01 +00:00
Andri Yngvason
f503cbef25
Replace nvnc_client_get_hostname with nvnc_client_get_address
...
This is a more accurate name for what is returned since
c76129b2d2
.
2023-12-31 17:59:52 +00:00
Andri Yngvason
4691a35b7b
logging: Add method to set thread local log function
...
This allows the user to override the log function in the current thread
without receiving log messages from concurrent tasks.
2023-12-26 11:58:35 +00:00
Andri Yngvason
a7f6c50d6d
logging: Export default log function
...
This allows users to intercept log messages without fully overriding the
default log handler.
2023-12-26 11:30:21 +00:00
Andri Yngvason
995d678e1e
damage-refinery: Replace murmurhash with XXH3
2023-10-03 20:33:27 +00:00
Andri Yngvason
d2c8ab0b6c
Revert "Export base64 encoder and decoder"
...
There is currently no use for this.
This reverts commit c38f669e13
.
2023-10-02 22:47:04 +00:00
Andri Yngvason
f54aeed334
Notify client about NTP support
2023-10-01 10:56:42 +00:00
Andri Yngvason
3794405101
websocket: Add some missing copyright notices
2023-09-29 21:53:20 +00:00
Andri Yngvason
58d6dff5e5
API: Consolidate setup of security constraints
2023-09-29 21:53:20 +00:00
Andri Yngvason
74e9db19fd
API: Add method to set RSA credentials
2023-09-29 21:53:20 +00:00
Andri Yngvason
4220cbb345
crypto: Add method to import RSA private keys
2023-09-29 21:53:20 +00:00
Andri Yngvason
c38f669e13
Export base64 encoder and decoder
2023-09-29 21:53:20 +00:00
Andri Yngvason
a02f578f9e
Add base64 encoder & decoder
...
I prefer to have these independent of the crypto suite that's being used.
2023-09-29 21:53:20 +00:00
Andri Yngvason
4705c0cfcc
Implement RSA-AES-256 security type
2023-09-29 21:53:20 +00:00
Andri Yngvason
08312c3296
crypto: Add sha256
2023-09-29 21:53:20 +00:00
Andri Yngvason
d004a2fcb9
crypto: Remove unused code
2023-09-29 21:53:20 +00:00
Andri Yngvason
f029484a87
crypto: Add AES256-EAX cipher
2023-09-29 21:53:20 +00:00
Andri Yngvason
d12973486a
crypto: Add helper functions for hashing
2023-09-29 21:53:20 +00:00
Andri Yngvason
9507624cf3
Create dedicated RSA-AES stream
...
The message format isn't really within the domain of the cipher, so it
doesn't belong to the crypto interface.
2023-09-29 21:53:20 +00:00
Andri Yngvason
dfc20d065e
stream-ws: Inherit stream-tcp
...
This eliminates the need for implementing all stream functions
2023-09-29 21:53:20 +00:00
Andri Yngvason
f90c628e66
Add temporary api function to enable auth without tls
2023-09-29 21:53:20 +00:00
Andri Yngvason
e341898bbc
Implement RSA-AES
2023-09-29 21:53:20 +00:00
Andri Yngvason
71aa5acfde
crypto: Integrate message handling into cipher
2023-09-29 21:53:20 +00:00
Andri Yngvason
c12c1c800a
crypto: Add RSA and AES-EAX
2023-09-29 21:53:20 +00:00
Andri Yngvason
7b878033f0
Implement Apple's Diffie-Hellman based security type 30
2023-09-29 21:53:20 +00:00
Andri Yngvason
da2518e296
stream: Integrate cipher
2023-09-29 21:53:20 +00:00
Andri Yngvason
0c3a98483c
Add abstract interface for low level crypto
2023-09-29 21:53:20 +00:00
MazTheMan
fd1e18b475
Implement 24 bit pixel formats for raw and tight
2023-09-29 21:46:05 +00:00
Andri Yngvason
ade1046391
stream: Allocate enough for tls upgrade
2023-05-30 08:40:56 +00:00
Andri Yngvason
b5f37d0227
stream: Move tls specific member into tls impl
2023-05-28 15:50:36 +00:00
Andri Yngvason
c006936fd0
http: Only support GET method
2023-04-30 14:31:34 +00:00
Andri Yngvason
a179c83f81
http: Remove unused code
2023-04-30 14:20:53 +00:00
Andri Yngvason
6a5ea71289
stream: Add a TODO about cleaning up struct
2023-04-11 19:54:25 +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
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
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
f31ddf7fe9
enc-util: Add function to calculate region area
2022-11-05 13:52:55 +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
baaf84eab9
Reference count encoders
2022-10-30 12:44:05 +00:00