Geoffrey McRae
939bb07603
[all] cleanup use of atomic locking and switch to C11 stdatomic
2020-01-29 19:06:09 +11:00
Geoffrey McRae
cc2c49644d
[spice] reworked to avoid locking requirements on the input channel
...
POSIX `send` is thread safe, to take advantage of this the code has been
changed to construct a contiguous buffer and perform the send in a
single operation preventing any risk of a race condition.
Only the main channel still requires an interlock as the VD agent
requires multiple sends to transmit a full buffer.
2020-01-29 18:53:33 +11:00
Geoffrey McRae
29f221d547
[spice] improve connection code to use a single buffer
2020-01-29 16:52:23 +11:00
Geoffrey McRae
4d0f019ad5
[spice] prepare spice for external usage
2020-01-19 06:51:21 +11:00
Geoffrey McRae
4746c89227
[all] moved time and locking methods to the common library
2020-01-17 14:35:08 +11:00
Geoffrey McRae
e554635e48
[spice] turn on TCP_QUICKACK
...
https://assets.extrahop.com/whitepapers/TCP-Optimization-Guide-by-ExtraHop.pdf
2020-01-11 16:03:28 +11:00
Rikard Falkeborn
6530ca62da
[client] fix return value in spice_read_nl error path
...
Returning -1 from a function with bool as return argument is the same as
returning true. If the channel is not connected, return false instead to
indicate the error.
2019-12-18 08:55:27 +11:00
Geoffrey McRae
163a2e5d0a
[client] fix failure to build due to broken symlink, fixes #173
2019-07-23 11:06:51 +10:00
Geoffrey McRae
d8915dbfc9
[build] make "common" a static library (part 2/2)
2019-04-11 11:12:59 +10:00
Geoffrey McRae
10f7efecb2
[client] cmake: fix inconsistent versioning
2019-03-28 15:03:35 +11:00
Geoffrey McRae
db398d41a0
[client] project restructure part 1/2
2019-03-28 11:02:36 +11:00
Geoffrey McRae
dbd09a431a
Revert "[client] x11: prevent race condition causing double free"
...
This reverts commit 8d48dd973a
.
2019-02-25 04:59:51 +11:00
Geoffrey McRae
8d48dd973a
[client] x11: prevent race condition causing double free
2019-02-25 04:42:58 +11:00
Geoffrey McRae
03628505ed
[client] spice: correct sending of large va agent buffers
2019-02-24 15:35:17 +11:00
Geoffrey McRae
d8b01c0257
[client] initial host to client clipboard sync working
2019-02-24 11:43:32 +11:00
Geoffrey McRae
0a2fbe1f7f
[client] spice: implement full clipboard guest copy support
2019-02-23 04:24:30 +11:00
Geoffrey McRae
08bf01b649
[all] update copyright dates
2019-02-22 22:16:14 +11:00
Geoffrey McRae
1a66c11091
[client] spice: better align the spice api for x11 cliboard integration
2019-02-22 19:51:14 +11:00
Geoffrey McRae
689a1de69b
[client] spice: added clipboard callbacks to decouple spice from SDL
2019-02-22 18:59:45 +11:00
Geoffrey McRae
0dfa7425c1
[client] spice: fixed copying large amounts of text to the clipboard
2019-02-22 12:33:55 +11:00
Geoffrey McRae
4098db039e
[client] spice: fix read to allow for larger amounts of data
2019-02-22 09:15:29 +11:00
Geoffrey McRae
a7834611d1
[client] spice: fix memory leak
2019-02-22 09:08:53 +11:00
Geoffrey McRae
9dd4e4756b
[client] spice: implemented guest -> client clipboard sync
2019-02-22 09:02:34 +11:00
Geoffrey McRae
108369414e
[client] spice: implement channel caps and initial clipboard support
2019-02-22 07:40:43 +11:00
Geoffrey McRae
00e07c0384
[client] spice: remove extra debug output
2019-02-22 07:39:55 +11:00
Geoffrey McRae
1ebee561bc
[client] spice: fix incorrect message size for agent messages
2019-02-22 07:38:05 +11:00
Geoffrey McRae
ec0db86663
[client] spice: fix unitialized value
2019-02-22 04:13:27 +11:00
Geoffrey McRae
3df4bb3a54
[client] spice: protocol updates for performance and agent support
...
Note: agent support is not complete at this point due to lack of documentation.
2019-02-22 03:04:06 +11:00
Geoffrey McRae
07e4c1c20f
[client] spice: correct issue with new channel list support
2019-02-21 05:31:51 +11:00
Geoffrey McRae
daf854c692
[client] spice: initial agent support
2019-02-21 05:06:13 +11:00
Geoffrey McRae
65c1e0391c
[client] spice: minor fixes, don't assume inputs channel exists
2019-02-21 03:43:11 +11:00
Geoffrey McRae
769edba1a5
[client] spice: remove useless mouse queue, this is not needed
...
When this was first developed the official spice client was used as an example refrence, however upon inspecting the source of spice-server it has been determined that there is no server side queueing going on, and acks are simply sent after every 4 to reduce bandwidth.
2019-02-19 14:50:30 +11:00
Frediano Ziglio
2567447b24
[client] spice: use correct enumeration for SpiceLinkReply
...
SPICEC_ERROR_CODE_xxx constants are supposed to be used by old
client (obsoleted years ago).
SpiceLinkReply error field uses SPICE_LINK_ERR_xxx enumeration
constants.
Signed-off-by: Frediano Ziglio <fziglio@redhat.com>
2019-02-10 09:06:07 +11:00
Geoffrey McRae
473e4716fc
[client] spice: debug print unsigned int re #127
2019-01-25 14:17:06 +11:00
Dominik Csapak
59cac9c0cc
change spice port type to unsigned short
...
so that ports >32767 get displayed correctly,
also signed overflow is undefined behaviour
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2019-01-25 14:15:22 +11:00
Geoffrey McRae
92d87d983b
[client] spice: fix incorrect cursor button state being sent
2019-01-17 02:45:46 +11:00
Geoffrey McRae
526b607e37
[client] fixed warning/error text
2018-05-29 18:10:58 +10:00
Geoffrey McRae
a0457a2dd9
[client] added nettle/bignum.h to rsa.c, CentOS 7 seems to need it
2018-05-29 14:55:28 +10:00
Geoffrey McRae
7a5bbb1e59
[client] add unix socket support, fixes #67
2018-05-23 12:16:44 +10:00
Geoffrey McRae
6f141fe393
[client] removed unused define in rsa.c
2018-05-22 15:40:08 +10:00
Geoffrey McRae
9b0f974648
[client] switch to nettle and gmp for RSA EME-OAEP support
...
Fixes #68
2018-05-22 15:36:36 +10:00
Geoffrey McRae
ceac6a60e6
[spice] initial GnuTLS implementation (incomplete)
2018-05-22 09:49:35 +10:00
Geoffrey McRae
cba6630aa0
[spice] relocate openssl code into seperate function
...
This is in preperation of switching to an alternative SSL library
as OpenSSL conflicts with the GNU licence.
2018-05-22 09:39:03 +10:00
Geoffrey McRae
ae1344d1a0
[spice] fix out by one error in call to strncpy
2018-05-15 09:56:42 +10:00
Geoffrey McRae
35eda57cb2
[client] remoted accidential commit of experimental method from header
2018-01-29 17:30:46 +11:00
Geoffrey McRae
78a100135b
[client] fix improper spice socket shutdown
2018-01-29 17:27:12 +11:00
Geoffrey McRae
c61d97b0ac
[client] spice: add channel and mouse locking
...
This fixes a race condition which causes the mouse ringbuffer to
overflow. It also corrects out of order message index IDs due to
multiple threads sending messages asyncronously.
2018-01-25 07:41:11 +11:00
Geoffrey McRae
219179b375
[misc] added website url to sources
2017-12-12 04:30:47 +11:00
Geoffrey McRae
10e6408022
[misc] common and client project rename to "Looking Glass"
...
See: https://forum.level1techs.com/t/headless-pci-passthrough-program-name-vote/121779/36
2017-12-12 03:59:57 +11:00
Geoffrey McRae
9c90a53871
[client] Increased spice mouse ringbuffer size to avoid input overflows
...
Seems that some rare conditions will overflow the buffer on window
entry/exit, confirmed by testing performed by Clemor. This should help
with this.
2017-12-12 03:59:55 +11:00