Commit Graph

85 Commits (vencrypt)

Author SHA1 Message Date
Andri Yngvason 7d2b295b4a server: Read messages straight into message buffer
This avoids extra copying and removes a possible error condition that
would cause the connection to be closed
2020-01-25 16:42:10 +00:00
Andri Yngvason 547387f549 server: Close after sending VeNCrypt failure message 2020-01-25 16:04:04 +00:00
Andri Yngvason b30a5516d3 server: Send the proper reason string on security handshake failure 2020-01-25 15:59:04 +00:00
Andri Yngvason 1687b8c701 server: Apply stream API change 2020-01-25 15:52:44 +00:00
Andri Yngvason fef9ca1d7c stream: Change api for stream_write 2020-01-25 15:46:52 +00:00
Andri Yngvason caf9fe0130 Remove unused code 2020-01-25 15:39:23 +00:00
Andri Yngvason 19e4e42036 Implement VeNCrypt with x509 plain authentication 2020-01-25 15:35:14 +00:00
Andri Yngvason 2f99659077 Create a network stream object with TLS support 2020-01-25 15:33:36 +00:00
Andri Yngvason f8d53635e4 Create a reference counted buffer 2020-01-25 15:29:25 +00:00
Andri Yngvason 01522559d6 zrle: Fix pixel conversion for bits-per-pixel < 32 2020-01-24 23:16:08 +00:00
Andri Yngvason 230acf0560 zrle: Remove unused variable 2020-01-24 23:02:47 +00:00
Andri Yngvason 4ebd60b8cc pixels: Delete useless code 2020-01-24 22:29:29 +00:00
Scott Moreau 1d897b2ba1 Swap red and blue colors with tight encoding 2020-01-20 14:29:02 -07:00
Andri Yngvason 450ea90306 pixels: Fix rfb_pixfmt_from_fourcc 2020-01-19 23:13:12 +00:00
Andri Yngvason a80b314eea server: Set the pixel format for the client if it hasn't specified one 2020-01-19 22:54:52 +00:00
Andri Yngvason 4e919c69ce Unbreak raw encoding 2020-01-19 21:31:55 +00:00
Andri Yngvason aa917decf3 pixels: Make it work for 4 bytes per cpixel 2020-01-19 21:30:49 +00:00
Andri Yngvason 7fa074e60b server: Close client if no frame encoding method is available 2020-01-19 21:27:17 +00:00
Andri Yngvason ebfe4382ee server: Use size_t for encoding indices 2020-01-19 19:17:15 +00:00
Scott Moreau db6c063aea Include sys/param.h for MIN definition
Fixes #11.
2020-01-19 12:00:18 -07:00
Jan Beich 928d0c20ac Drop unused platform-specific header
../src/zrle.c:29:10: fatal error: 'endian.h' file not found
 #include <endian.h>
          ^~~~~~~~~~
2020-01-13 04:04:28 +00:00
Andri Yngvason ad0ff6b27c Make Tight encoding optional 2019-12-31 10:13:21 +00:00
Andri Yngvason ee3f2fefff server: Extract pixel format functions into pixels.c 2019-12-30 20:13:40 +00:00
Andri Yngvason a0376f2fd4 Pass entire client structure to tight encoder 2019-12-30 17:48:22 +00:00
Andri Yngvason d9f80ad196 server: Extract structure definitions into header 2019-12-30 17:22:19 +00:00
Andri Yngvason 8cd33d8a07 Add JPEG Tight encoding 2019-12-30 10:00:15 +00:00
Andri Yngvason 52f5510467 Send a correct reason string when disconnecting due to unsupported security type 2019-12-28 20:50:44 +00:00
Andri Yngvason 769107b7aa damage: Grow hint box after alignment 2019-12-27 18:04:36 +00:00
Andri Yngvason 00450e0c9d Clean up some memory leaks 2019-12-27 15:07:48 +00:00
Andri Yngvason 875cd5af7b Stop reading from a client as soon as an error occurs on the socket 2019-12-27 13:57:40 +00:00
Andri Yngvason bfb1cd9fc9 Don't buffer up multiple outgoing frames
It's pointless to send multiple frames in a single buffer. It just
overloads the client.
2019-12-23 12:11:00 +00:00
Andri Yngvason 4ebf4623cb Fix read buffer and drop older outgoing frames 2019-12-23 09:33:29 +00:00
Andri Yngvason 80b1f3cb4c Re-format using clang-format 2019-10-20 22:13:51 +00:00
Andri Yngvason de1f63573b raw-encoding: Do proper pixel conversion 2019-10-14 10:33:43 +00:00
Andri Yngvason 9f67b47e8c damage: Remove vestigial y_inversion code 2019-10-13 10:05:36 +00:00
Andri Yngvason 05ff0c1514 Don't send an update that hasn't been requested 2019-10-12 17:29:08 +00:00
Andri Yngvason 6dec7287f7 Tune deflate 2019-10-12 16:42:59 +00:00
Andri Yngvason 007578052c Use Z_BEST_SPEED for ZRLE
The default strategy loads the CPU too much when streaming at 60 FPS.
2019-10-12 15:47:38 +00:00
Andri Yngvason b54bc178f0 Fix decoding of encoding message 2019-10-08 18:12:57 +00:00
Andri Yngvason e9f200f4cc Excise y-inversion code 2019-10-08 17:58:35 +00:00
Andri Yngvason 9501a1da64 Keep a reference to the framebuffer while it is in a worker. 2019-10-08 17:53:12 +00:00
Andri Yngvason bc17fd823e pngfb: Fixup 2019-10-07 20:32:34 +00:00
Andri Yngvason 4beaf88a35 Turn around frame update model
Keeping a framebuffer for clients to request from seems to be a better fit for
the VNC standard.
2019-10-07 20:29:12 +00:00
Andri Yngvason 3196a7a46b Make nvnc_fb opaque 2019-10-07 17:39:54 +00:00
Andri Yngvason 0f840b9bb7 raw-encoding: Fix vec_reserve for destination buffer 2019-09-21 13:33:37 +00:00
Andri Yngvason 4c36a88cfd Fix y-inversion in damage tracking and raw encoding 2019-09-19 19:21:52 +00:00
Andri Yngvason 40f16fe63b Add raw encoding
It's useful for debugging
2019-09-19 18:14:26 +00:00
Andri Yngvason 7b57449e19 damage: Support y-inversion 2019-09-19 17:02:21 +00:00
Andri Yngvason 083eaaf20a Make sure that the client object outlives the encoding worker task 2019-09-18 22:16:40 +00:00
Andri Yngvason 8973ce5637 Return error from update when there are no pending clients 2019-09-18 21:21:37 +00:00