Commit Graph

723 Commits

Author SHA1 Message Date
Michael Jumper
c12e26404a GUACAMOLE-118: Use poll() when waiting for data from RDP. Reformat for sake of readability/verification. 2016-11-11 13:45:01 -08:00
Michael Jumper
2421fc2f11 GUACAMOLE-118: Use poll() when waiting for data from SSH. 2016-11-11 13:16:57 -08:00
Michael Jumper
168359344e GUACAMOLE-118: Use poll() when waiting for data from Telnet. 2016-11-11 13:13:48 -08:00
Michael Jumper
bed38cec71 GUACAMOLE-117: Do not stop connection when the intent is to reconnect (originally broken by commit a64c3e0). 2016-10-29 15:00:53 -07:00
Michael Jumper
996f1a8ec2 GUACAMOLE-51: Require shift released and numlock active for keypad numerals. 2016-08-16 20:00:24 -07:00
Michael Jumper
69ab054323 GUACAMOLE-51: Support -num and +num option (require clear/set numlock) in keymaps. 2016-08-16 20:00:24 -07:00
Michael Jumper
0c48096147 GUACAMOLE-51: Track and synchronize remote lock key state. 2016-08-16 20:00:24 -07:00
Michael Jumper
4f4f83f9a7 GUACAMOLE-51: Isolate sending of specific RDP events within own functions. 2016-08-16 19:54:08 -07:00
Michael Jumper
78a696a86f GUACAMOLE-51: Abstract away RDP keyboard state tracking with dedicated guac_rdp_keyboard structure. 2016-08-13 18:14:04 -07:00
Michael Jumper
1ad99a312e GUACAMOLE-5: Add "read-only" parameter to RDP, SSH, and telnet (per-user, just like VNC). 2016-07-24 22:36:25 -07:00
Michael Jumper
59e66ddc77 GUACAMOLE-5: Handle VNC's "read-only" parameter on a per-user basis. 2016-07-24 22:36:25 -07:00
Michael Jumper
0641ccf601 GUACAMOLE-5: Store connection parameters at user level. Maintain reference to owner's connection parameters at client level. 2016-07-24 22:05:04 -07:00
Michael Jumper
69ddeeb06d GUACAMOLE-44: Refactor the RDPDR printer to synchronous operation. 2016-06-16 15:40:43 -07:00
Michael Jumper
c1fdbca62b GUACAMOLE-25: Avoid unnecessary allocation of temporary string for guac_rdp_ptr_to_string(). 2016-06-03 11:41:55 -07:00
Michael Jumper
402b039384 GUACAMOLE-25: Update documentation regarding loading of dynamic virtual channel plugins. 2016-06-01 22:06:17 -07:00
Michael Jumper
0d29694afc GUACAMOLE-25: Reset I/O counters upon end-of-stream. 2016-06-01 16:20:38 -07:00
Michael Jumper
0be04ea54d GUACAMOLE-25: Resample received audio as necessary. 2016-06-01 15:25:42 -07:00
Michael Jumper
1c2890b47c GUACAMOLE-25: Store PCM format expected by RDP server. 2016-05-26 10:39:33 -07:00
Michael Jumper
ad00cce0ad GUACAMOLE-25: Store audio format within common structure. 2016-05-25 14:38:22 -07:00
Michael Jumper
260d0cd340 GUACAMOLE-25: Remove STUB. 2016-05-25 13:50:29 -07:00
Michael Jumper
533a47f06d GUACAMOLE-25: Store input and output audio format. 2016-05-25 13:50:29 -07:00
Michael Jumper
320f564daf GUACAMOLE-25: Implement parsing of audio mimetypes. 2016-05-25 13:50:29 -07:00
Michael Jumper
8ccf61e6b1 GUACAMOLE-25: Support FreeRDP stable-1.0 and compatible. 2016-05-25 13:50:29 -07:00
Michael Jumper
f1d4393eb8 GUACAMOLE-25: Implement buffer attachment in Stream_New() and Stream_Free() compatibility functions. 2016-05-25 13:50:28 -07:00
Michael Jumper
1393358469 GUACAMOLE-25: Abstract DVC management away from FreeRDP for sake of API compatibility. 2016-05-25 13:50:28 -07:00
Michael Jumper
46bdf0692f GUACAMOLE-25: Delay sending of "ack" until RDP has opened the AUDIO_INPUT stream. Close audio stream with another "ack" when RDP has closed the AUDIO_INPUT stream. 2016-05-25 13:50:28 -07:00
Michael Jumper
166eba11b7 GUACAMOLE-25: Fix pointer update in audio input buffer transfer. 2016-05-25 13:50:28 -07:00
Michael Jumper
4e4dbd6a2d GUACAMOLE-25: Fix configure test for FreeRDP variations. 2016-05-25 13:50:28 -07:00
Michael Jumper
9d5871a3c8 GUACAMOLE-25: Buffer and send Data PDUs as necessary. 2016-05-25 13:50:28 -07:00
Michael Jumper
63cd2ce512 GUACAMOLE-25: Partially handle the Open PDU. 2016-05-25 13:50:28 -07:00
Michael Jumper
86806a3759 GUACAMOLE-25: Handle the server's Sound Formats PDU. 2016-05-25 13:50:28 -07:00
Michael Jumper
503ffb0d45 GUACAMOLE-25: Implement message processing. Stub handlers. 2016-05-25 13:50:28 -07:00
Michael Jumper
1088332376 GUACAMOLE-25: Add support for multiple versions of IWTSVirtualChannelCallback. 2016-05-25 13:50:28 -07:00
Michael Jumper
ac94fd4cd0 GUACAMOLE-25: Add stub callbacks for AUDIO_INPUT data handling. 2016-05-25 13:50:28 -07:00
Michael Jumper
9cd89e6580 GUACAMOLE-25: Allocate proper number of argument entries. 2016-05-25 13:50:28 -07:00
Michael Jumper
4fdcfebf25 GUACAMOLE-25: Set AudioCapture flag if audio input is enabled. 2016-05-25 13:50:28 -07:00
Michael Jumper
36cc9f492f GUACAMOLE-25: Convert guac_client pointer to/from a string for sake of FreeRDP's DVC API. 2016-05-25 13:50:28 -07:00
Michael Jumper
21ab9d765d GUACAMOLE-25: Add stub "guacai" plugin for AUDIO_INPUT channel support. 2016-05-25 13:50:28 -07:00
James Muehlner
ec93a2989f GUACAMOLE-33: Merge mouse duplication user disconnect fix. 2016-05-23 20:45:18 -07:00
James Muehlner
fa3565e617 Merge rdp performance flag fixes. 2016-05-23 20:43:36 -07:00
Michael Jumper
9ae667e6bc GUACAMOLE-35: Fix logic of desktop_composition flag. 2016-05-23 20:39:26 -07:00
Michael Jumper
82fd6a279b GUACAMOLE-33: Implement leave handlers for RDP, SSH, and telnet. 2016-05-23 13:58:30 -07:00
Michael Jumper
46b29edc5f GUACAMOLE-33: Actually use VNC's leave handler. 2016-05-23 13:58:30 -07:00
Michael Jumper
92e2f4e420 GUACAMOLE-33: Restore guac_common_cursor_remove_user() (reverts commit af7968e). 2016-05-23 13:58:30 -07:00
Michael Jumper
a64c3e0179 GUACAMOLE-34: Ensure guac_client_stop() or guac_client_abort() are called in ALL cases where the client thread terminates. 2016-05-23 13:58:01 -07:00
Michael Jumper
88b422987e GUACAMOLE-35: Ensure performance flag values are applied. 2016-05-23 13:55:37 -07:00
Michael Jumper
facc0a794e GUAC-1517: Only allocate one audio stream for RDP connection. 2016-03-31 14:25:31 -07:00
Michael Jumper
ba673c52b0 GUAC-1517: Only allocate filesystem objects once per Guacamole connection. Do not reallocate when RDP automatically reconnects due to resize. 2016-03-30 12:22:32 -07:00
Michael Jumper
5b4a02e8a5 GUACAMOLE-1: Relicense RDP keymaps and associated Perl script. 2016-03-28 20:39:45 -07:00
Michael Jumper
f4b8c70f79 GUACAMOLE-1: Relicense build/shell scripts. 2016-03-28 20:39:38 -07:00
Michael Jumper
4da3bef4ec GUACAMOLE-1: Relicense C files. 2016-03-28 20:39:19 -07:00
Michael Jumper
ecbb6fc6b3 GUAC-1164: Do not load "drdynvc" plugin unless actually needed. 2016-03-22 16:50:49 -07:00
Michael Jumper
1cb4325422 GUAC-1164: Init/uninit common SSH client only once. Do not touch display if RDP server is not connected. 2016-03-17 18:29:27 -07:00
Michael Jumper
0fb8a49e62 GUAC-1164: Do not send clipboard notification to RDP server if RDP server is not connected. 2016-03-17 18:06:23 -07:00
Michael Jumper
7c3d108e21 GUAC-1164: Duplicate strings which FreeRDP will free when it frees its settings structure. 2016-03-17 18:05:16 -07:00
Michael Jumper
0a4bfc95d1 GUAC-1164: Ensure audio stream and context are freed upon disconnect. 2016-03-17 17:30:32 -07:00
Michael Jumper
176ff96a26 GUAC-1164: Ensure elements of SVC names array are freed. 2016-03-17 15:54:15 -07:00
James Muehlner
55f5d1cca3 Merge pull request #129 from glyptodon/rdp-resize
GUAC-1164: Add parameter for automatically reconnecting when display changes
2016-03-16 21:37:06 -07:00
Michael Jumper
c336ce39e2 GUAC-1164: Document guac_rdp_handle_connection(). 2016-03-16 21:30:46 -07:00
Michael Jumper
db82c6fa02 GUAC-1164: Delay display resize relative to display manager creation or reconnect. 2016-03-16 15:27:24 -07:00
Michael Jumper
3997e44810 GUAC-1164: Do not load display update channel unless needed. 2016-03-16 15:02:13 -07:00
Michael Jumper
de78a6efed GUAC-1164: Reset request throttle after reconnect completed (prevent excessive reconnecting due to lengthy connects). 2016-03-16 14:56:14 -07:00
Michael Jumper
8d14118469 GUAC-1164: Add setting for specifying the resize method, if any. 2016-03-16 14:44:16 -07:00
Michael Jumper
0a5e57362e GUAC-236: Add missing plurals. 2016-03-16 10:45:11 -07:00
Michael Jumper
534d0e580e GUAC-236: Add missing documentation for screen recording parameters of VNC and RDP. 2016-03-16 10:26:10 -07:00
Michael Jumper
67a0a1fe46 GUAC-1164: Do not refer to disp member if it does not exist. 2016-03-15 22:11:06 -07:00
Michael Jumper
fc71dcadb0 GUAC-1164: Do not include disply update channel functionsn unless display update channel support is present. 2016-03-15 22:07:38 -07:00
Michael Jumper
81ebfbb5ca GUAC-1164: rdp_disp.[ch] must now be built in all cases. 2016-03-15 22:02:35 -07:00
Michael Jumper
4e2b90cc0a GUAC-1164: Conditionally build display update channel support. 2016-03-15 21:59:28 -07:00
Michael Jumper
fc40e9f14c GUAC-1164: Automatically reconnect when display size changes. 2016-03-15 21:48:56 -07:00
Michael Jumper
e3d1af1953 GUAC-236: Add screen recording support to telnet. 2016-03-14 20:26:31 -07:00
Michael Jumper
6fc208554d GUAC-236: Add session recording parameters to VNC, RDP, and SSH. 2016-03-14 20:22:02 -07:00
Michael Jumper
35746efca8 GUAC-1389: Document guac_telnet_compile_regex(). 2016-03-14 20:12:55 -07:00
Michael Jumper
9253d877a2 GUAC-1389: Do not handle input events until terminal exists. 2016-03-14 20:05:45 -07:00
Michael Jumper
4faf1829d2 GUAC-1389: Add screen sharing support to telnet. 2016-03-14 19:47:36 -07:00
Michael Jumper
3a4aec3708 GUAC-1389: Document parameters of SSH client thread. 2016-03-14 18:32:03 -07:00
Michael Jumper
fa43a94e02 GUAC-1389: Rely on API definition for handler. 2016-03-14 18:27:52 -07:00
Michael Jumper
075b7ffba9 GUAC-1389: Add screen sharing support to SSH. 2016-03-14 17:33:17 -07:00
Michael Jumper
1787683f1b GUAC-1389: Stretch RDP frames until client has caught up. Do same with VNC. Reduce frame timeout to 0 (essentially automatic now). 2016-03-08 18:12:43 -08:00
Michael Jumper
6f264f9c31 GUAC-1389: Include frame rendering time in lag calculations. Sleep only if necessary. 2016-03-08 16:21:47 -08:00
Michael Jumper
d4d2fe06d9 GUAC-1389: Document RDP frame start timeout. 2016-03-07 21:12:53 -08:00
Michael Jumper
fc5ad6c9cd GUAC-1389: Document static functions. 2016-03-07 16:40:05 -08:00
Michael Jumper
993e8583a6 GUAC-1389: Document enum for RDP args. 2016-03-07 15:42:50 -08:00
Michael Jumper
12f166c0fc GUAC-1389: Update comments to match latest standard. 2016-03-07 15:05:31 -08:00
Michael Jumper
5a6c16ab24 GUAC-1389: Document RDP channel data handler. 2016-03-07 13:10:12 -08:00
Michael Jumper
8ce5e1cab2 GUAC-1389: Correct input.h parameter documention with respect to standards. 2016-03-07 12:43:54 -08:00
Michael Jumper
5a9d68a896 GUAC-1389: Correct documentation surrounding RDPDR callback. 2016-03-07 12:40:53 -08:00
Michael Jumper
c95613f8b7 GUAC-1389: Reference client/user handler types directly. Do not redocument parameters. 2016-03-07 12:37:00 -08:00
Michael Jumper
2f58469f1b GUAC-1389: Do not attempt to free RDP client until client thread finishes. 2016-03-07 11:32:44 -08:00
Michael Jumper
51aaa193f2 GUAC-1389: Allocate sufficient memory for print job close message. 2016-03-07 11:32:44 -08:00
Michael Jumper
eadc3a91a9 GUAC-1389: Two clipboard formats should allocate two cells for said formats. 2016-03-07 11:32:44 -08:00
Michael Jumper
6764196527 GUAC-1389: "any" audio stream, not "an". 2016-03-07 11:32:44 -08:00
Michael Jumper
8ca77c1c78 GUAC-1389: Ensure users that join after a SVC has connected are alerted to its existence. 2016-03-07 11:32:44 -08:00
Michael Jumper
9191e264f8 GUAC-1389: Remove tracking of input pipe (there may be many). 2016-03-07 11:32:44 -08:00
Michael Jumper
d2ca12e88b GUAC-1389: Download only to owner if invoked via the special "Download" folder of the guac drive. 2016-03-07 11:32:44 -08:00
Michael Jumper
e573e59e83 GUAC-1389: Add screen sharing support to RDP. 2016-03-07 11:32:44 -08:00
Michael Jumper
432eb57b13 GUAC-1389: Remove guac_common_cursor_remove_user() - no longer needed. 2016-03-04 17:10:49 -08:00
Michael Jumper
5f83900ed8 GUAC-1389: Remove dated and incorrect "for now" wording. 2016-03-03 17:56:05 -08:00
Michael Jumper
7f0b0ab1ef GUAC-1389: Document the frame wait timeout (no magic numbers). 2016-03-03 17:39:09 -08:00
Michael Jumper
967affa883 GUAC-1389: guac_vnc_set_pixel_format() is not a callback. 2016-03-03 17:32:51 -08:00
Michael Jumper
551398ae53 GUAC-1389: remote_cursor flag should be a bool. 2016-03-03 17:29:20 -08:00
Michael Jumper
38f1e87334 GUAC-1389: Only free dest_host if repeater is available. 2016-03-03 13:06:31 -08:00
Michael Jumper
05e8bf3195 GUAC-1389: Document settings. Use macros to remove struct members if their settings are not applicable. 2016-03-03 12:58:46 -08:00
Michael Jumper
f6feec8c84 GUAC-1389: Document VNC connection and thread. 2016-03-03 12:36:11 -08:00
Michael Jumper
f5109fe34e GUAC-1389: Document logging functions. 2016-03-03 12:30:31 -08:00
Michael Jumper
c3584c8d04 GUAC-1389: Document graphical functions and handlers. 2016-03-03 12:27:59 -08:00
Michael Jumper
880553bf3e GUAC-1389: Document clipboard handler parameters. 2016-03-03 12:05:41 -08:00
Michael Jumper
58b545293f GUAC-1389: Use function types directly rather than re-documenting the parameters everywhere. 2016-03-03 12:03:47 -08:00
Michael Jumper
4c62b60f71 GUAC-1389: Document VNC password retrieval. 2016-03-03 11:58:21 -08:00
Michael Jumper
d484a98876 GUAC-1389: Add screen sharing support to VNC. 2016-03-03 11:22:32 -08:00
Michael Jumper
d0be90e711 GUAC-1410: Fix keymap ordering in Makefile.am. 2016-02-01 14:48:39 -08:00
Mike Jumper
bef52c9496 Merge pull request #98 from moriyoshi/moriyoshi/ja-jp-keymap
GUAC-1410: Add ja-jp keymap
2016-02-01 14:47:46 -08:00
Michael Jumper
4661f432f0 GUAC-1452: Parse and handle typescript parameters within SSH and telnet. 2016-01-27 12:43:53 -08:00
Michael Jumper
ad34aa99b4 GUAC-1452: Add typescript parameters for SSH/telnet. 2016-01-25 13:12:24 -08:00
Moriyoshi Koizumi
d42ac5aca6 GUAC-1410: Add ja-jp keymap 2016-01-19 17:08:34 +09:00
James Muehlner
7e78ac1eb9 Merge pull request #97 from glyptodon/hyper-v
GUAC-363: Add support for the RDP preconnection PDU (and thus Hyper-V)
2015-11-03 20:14:26 -08:00
Michael Jumper
5d608b3500 GUAC-363: Warn of invalid preconnection IDs. 2015-11-03 15:41:28 -08:00
Michael Jumper
b47cff044e GUAC-363: Set preconnection BLOB and ID if supported by FreeRDP and specified within connection parameters. 2015-11-03 13:36:58 -08:00
Michael Jumper
7fdbc45575 GUAC-1196: The close handler should do nothing - it is not a stub. 2015-11-02 17:18:30 -08:00
Michael Jumper
63f3652c54 GUAC-1196: Document RDPSND message handlers. 2015-11-02 17:15:35 -08:00
Michael Jumper
c3e2754ec4 GUAC-1196: Load RDPSND if RDPDR is loaded, but do not actually handle audio unless enabled. 2015-11-02 16:54:37 -08:00
Michael Jumper
0dddf47af0 GUAC-1196: Use guac_client to access guac_audio_stream rather than storing the audio stream directly. 2015-11-02 15:55:52 -08:00
Michael Jumper
e8b98abfc4 GUAC-1038: Add support for running specific commands via SSH (instead of a shell). 2015-10-19 15:58:44 -07:00
Michael Jumper
7cf2005f5b GUAC-1354: Replace WAVE encoder with raw PCM encoder. Partially migrate to new audio streaming (Ogg not yet migrated). 2015-10-02 17:16:47 -07:00
Mike Jumper
24cbf72388 Merge pull request #74 from flangelo/num_keypad_map
GUAC-1314: Add mapping of numeric keypad operators to the base RDP keymap.
2015-09-20 14:22:06 -07:00
Michael Jumper
4e97843ef0 Merge branch 'master' into experimental
Conflicts:
	src/common/guac_surface.c
2015-09-14 14:19:54 -07:00
Michael Jumper
afb671c594 GUAC-427: Ensure socket is flushed when audio buffer is flushed. 2015-09-04 18:58:21 -07:00
Michael Jumper
927ceb99dd GUAC-427: Fix const-ness of pointer. 2015-09-04 13:47:21 -07:00
Michael Jumper
47b060d6eb GUAC-427: Avoid sending silence received from PulseAudio. 2015-09-04 13:40:51 -07:00
Michael Jumper
08cadba16d GUAC-240: Remove guac_protocol_send_png() and guac_protocol_send_jpeg(). 2015-09-04 12:59:00 -07:00
Michael Jumper
d07d8ba2d2 GUAC-240: Associate Guacamole client with surface. 2015-09-04 12:58:13 -07:00
Frode Langelo
9fceb58444 GUAC-1314: Add mapping of numeric keypad operators to base RDP keymap 2015-09-03 15:52:37 +00:00
Michael Jumper
3bcb9863e7 GUAC-1296: Send IAC BRK when Pause, Break, or Ctrl+0 are pressed. 2015-08-23 16:21:50 -07:00
Michael Jumper
08cfde7678 GUAC-1296: Stub Pause / Break / Ctrl+0 key handling within telnet client. 2015-08-23 16:10:51 -07:00
Frode Langelo
9edf33da2e GUAC-1290: Change GUAC_VNC_FRAME_TIMEOUT to 10 so more VNC messages are handled in each frame. 2015-08-13 16:38:54 -07:00
Michael Jumper
78b7b73e78 GUAC-240: Remove guac_protocol_send_png() and guac_protocol_send_jpeg(). 2015-08-13 16:38:54 -07:00
Michael Jumper
859f7d9340 GUAC-240: Associate Guacamole client with surface. 2015-08-13 16:38:53 -07:00
Michael Jumper
8ff071bf04 Fix botched merge conflict resolution. 2015-08-13 16:38:28 -07:00
Michael Jumper
48bbc6a898 Merge branch 'testing-common-ssh'
Conflicts:
	src/protocols/rdp/client.c
2015-08-13 16:29:22 -07:00
Michael Jumper
d85ed5f85f GUAC-1292: Use "sftp-directory" for default upload directory, if specified, for both VNC and RDP. 2015-08-13 16:21:15 -07:00
Michael Jumper
677c3ce6e8 GUAC-1195: Add "color-scheme" parameter to SSH and telnet. 2015-07-28 16:46:32 -07:00
Michael Jumper
fa443249c9 GUAC-1195: Use color scheme constants and names. 2015-07-28 16:43:23 -07:00
Michael Jumper
b2c2779465 GUAC-1195: Define and use color constants for terminal. 2015-07-28 16:20:14 -07:00
Michael Jumper
029b3bdb80 GUAC-1195: Configure default foreground/background when terminal is created. 2015-07-28 15:59:20 -07:00
Michael Jumper
e8e39fd862 GUAC-515: Add missing include required by mkdir(). 2015-07-28 14:40:35 -07:00
Michael Jumper
736ec7da23 GUAC-515: Clarify comments and formatting. Use simpler mkdir() logic. 2015-07-28 14:36:08 -07:00
Daryl Borth
52084f4f1f GUAC-515: Add new RDP setting, create-drive-path, to create the drive. 2015-07-28 14:26:27 -07:00
Michael Jumper
5e4c7de5c7 GUAC-298: Clarify function documentation and naming. Do not simply silently default to ISO8859-1 if encoding is invalid. 2015-07-27 18:19:50 -07:00
Michael Jumper
7bfd7ce0ca GUAC-298: Add missing comment. Update documentation style. 2015-07-27 17:51:03 -07:00
Michael Jumper
80a4d37173 Merge branch 'vnc_clipboard_encoding' of git://github.com/flangelo/guacamole-server into vnc-encoding
Conflicts:
	src/protocols/vnc/client.h
2015-07-27 17:47:26 -07:00