Commit Graph

1328 Commits

Author SHA1 Message Date
Michael Jumper
2a91e2ff2d GUACAMOLE-278: Add support for xterm's bright SGR colors (90-97 and 100-107). 2017-04-26 21:06:08 -07:00
Michael Jumper
a04022883c GUACAMOLE-278: Provide constants defining locations of dark vs. intense colors in 16-color palette. 2017-04-26 21:01:53 -07:00
Michael Jumper
691a3ab840 GUACAMOLE-282: Correct common surface transfer functions to copy/ignore alpha channel as required. 2017-04-24 11:57:12 -07:00
Michael Jumper
10180095d8 GUACAMOLE-278: Handle (but ignore) xterm's 256-color palette redefinition OSC. 2017-04-23 13:59:03 -07:00
Michael Jumper
e4ce7b0eeb GUACAMOLE-278: Ignore 256-color SGR sequences which contain out-of-range values. 2017-04-23 13:52:08 -07:00
Michael Jumper
19f7424c62 GUACAMOLE-278: Log unhandled/invalid sequences at DEBUG level. 2017-04-23 13:52:07 -07:00
Michael Jumper
87fba523ee GUACAMOLE-278: Handle xterm 256-color SGR sequences. 2017-04-23 13:24:13 -07:00
Michael Jumper
11bf6f05c4 GUACAMOLE-278: Expand terminal palette to 256 entries. Use xterm colors for entries 16 through 255. 2017-04-23 13:24:04 -07:00
Michael Jumper
eaa71f5717 GUACAMOLE-278: Move terminal palette/color definitions into dedicated files. 2017-04-23 13:23:58 -07:00
Michael Jumper
48fc4afc5b GUACAMOLE-278: Copy terminal color values rather than referencing only by palette index. 2017-04-23 13:23:48 -07:00
James Muehlner
69caa9936b GUACAMOLE-40: Merge RD gateway support. 2017-04-20 21:36:44 -07:00
Michael Jumper
228874804e GUACAMOLE-268: Use 64-bit unsigned integers to represent file size internally (identical to RDPDR). 2017-04-17 11:52:07 -07:00
Michael Jumper
09099050cb GUACAMOLE-40: Set RD gateway and load balancing settings for FreeRDP where applicable. 2017-04-10 00:13:38 -07:00
Michael Jumper
da8636ef54 GUACAMOLE-40: Add and parse RD gateway connection parameters. 2017-04-09 23:58:11 -07:00
dborth
8833c0dd79 GUACAMOLE-262: set VNC trueColour flag to 1 instead of 255 2017-04-03 09:28:22 -06:00
Michael Jumper
1081131aa5 GUACAMOLE-259: Log server and user frame timing information at TRACE level. 2017-03-31 10:48:58 -07:00
James Muehlner
457c48ec71 GUACAMOLE-259: Merge addition of new TRACE log level. 2017-03-31 10:45:41 -07:00
Michael Jumper
e910dcbfcc GUACAMOLE-259: Add TRACE log level. 2017-03-30 01:15:51 -07:00
Michael Jumper
61896e829c GUACAMOLE-257: Set VNC/SSH file upload handlers only if SFTP is enabled. 2017-03-28 10:48:38 -07:00
Michael Jumper
039a1c52e4 GUACAMOLE-239: Merge support for CLOCK_MONOTONIC. 2017-03-23 21:05:49 -07:00
Roman Stoffel
ddc1aa0b5f GUACAMOLE-239: When available, use CLOCK_MONOTONIC to prevent backwards running time 2017-03-23 23:06:24 +01:00
James Muehlner
516c4a0593 Merge 0.9.12-incubating changes back to master. 2017-03-17 10:43:50 -07:00
Michael Jumper
6a3ce58ab7 GUACAMOLE-240: Document parameters and behavior of PulseAudio callbacks. 2017-03-15 22:26:11 -07:00
Michael Jumper
adf9db7454 GUACAMOLE-240: Always pass guac_pa_stream to PulseAudio callbacks. 2017-03-15 21:24:29 -07:00
James Muehlner
2c2824fc5b Merge 0.9.12-incubating changes back to master. 2017-03-13 22:13:10 -07:00
Michael Jumper
fe8771e181 GUACAMOLE-231: Notifying terminal for mouse movement is no longer necessary (common cursor sends its own position updates without requiring new frames). 2017-03-11 14:58:52 -08:00
Michael Jumper
240e18cd92 GUACAMOLE-231: Broadcast mouse position only to users who are not moving the mouse. 2017-03-11 14:57:09 -08:00
Michael Jumper
ae7e8d3890 GUACAMOLE-231: Report mouse position using new "mouse" instruction. Rely on client-side cursor layer implementation. 2017-03-11 14:57:09 -08:00
Michael Jumper
1a96c5b415 GUACAMOLE-231: Add "mouse" instruction for server reporting of mouse position. 2017-03-11 14:57:09 -08:00
James Muehlner
1d5d8784b3 Merge 0.9.12-incubating changes back to master. 2017-03-10 09:46:59 -08:00
Michael Jumper
6a1db08299 GUACAMOLE-231: Notify terminal when display is modified due to mouse cursor movement. 2017-03-06 22:41:19 -08:00
James Muehlner
da7b77d2ec Merge 0.9.12-incubating changes back to master. 2017-03-01 09:43:39 -08:00
James Muehlner
de9b8d6d2c GUACAMOLE-226: Merge default layer opacity fix. 2017-03-01 09:42:40 -08:00
Michael Jumper
72284cfc7c GUACAMOLE-226: All new layers are fully opaque. 2017-03-01 08:45:12 -08:00
Michael Jumper
270d51d4d4 GUACAMOLE-205: Use semantically-named macro rather than repeatedly and explicitly check OpenSSL version. 2017-02-28 13:01:30 -08:00
Michael Jumper
98a5faaa77 GUACAMOLE-205: Provide OpenSSL 1.1 API shims for missing accessors. 2017-02-28 13:01:30 -08:00
Michael Jumper
dbfb782dd5 GUACAMOLE-205: Update to 1.1 version of OpenSSL API. 2017-02-28 13:01:30 -08:00
James Muehlner
c8fca94899 GUACAMOLE-223: Merge thread safety fix for SSL. 2017-02-28 10:55:17 -08:00
James Muehlner
c4903a8e36 Merge 0.9.12-incubating changes back to master. 2017-02-28 10:32:49 -08:00
James Muehlner
3ff8323153 GUACAMOLE-169: Merge namespaced directory reshuffle. 2017-02-28 10:28:45 -08:00
James Muehlner
eb5ef5a027 GUACAMOLE-194: Merge removal of double-free code. 2017-02-28 10:19:58 -08:00
Michael Jumper
f85978e43a GUACAMOLE-225: Bump libtool version info (interface added, none changed/removed). 2017-02-28 09:47:53 -08:00
Michael Jumper
3f7ccb6b9a GUACAMOLE-169: Move terminal headers to namespaced directory. 2017-02-27 14:34:46 -08:00
Michael Jumper
d371f2d9ee GUACAMOLE-169: Move common-ssh headers to namespaced directory. 2017-02-27 14:28:23 -08:00
Michael Jumper
fb8a2766da GUACAMOLE-194: Free SSH user for VNC+SFTP and RDP+SFTP only within client free. 2017-02-26 15:10:53 -08:00
James Muehlner
c344aa854f GUACAMOLE-222: Merge explicit closing of STFP downloaded files. 2017-02-26 14:53:38 -08:00
Michael Jumper
9218a79e62 GUACAMOLE-223: Set required thread-related callbacks for OpenSSL. 2017-02-26 14:32:08 -08:00
Michael Jumper
821feeabb0 GUACAMOLE-223: Always invoke SSL_free(). 2017-02-26 14:25:50 -08:00
Michael Jumper
58b85da8f2 GUACAMOLE-222: Ensure files downloaded via SFTP are explicitly closed upon completion. 2017-02-26 14:11:42 -08:00
James Muehlner
f23133043b Merge 0.9.12-incubating changes back to master. 2017-02-26 00:43:17 -08:00
James Muehlner
a808a6b177 GUACAMOLE-188: Merge usage of Porter-Duff operator for blending ARGB surfaces. 2017-02-26 00:39:25 -08:00
James Muehlner
6939142d2f GUACAMOLE-217: Merge libavcodec version number update. 2017-02-26 00:22:12 -08:00
James Muehlner
2703c5afff GUACAMOLE-217: Merge libavcodec version number update. 2017-02-25 23:49:23 -08:00
Michael Jumper
0fb567bb53 GUACAMOLE-188: Clamp alpha blending results to maximum component value (0xFF). 2017-02-25 19:57:10 -08:00
Michael Jumper
12d29569a6 GUACAMOLE-188: Use Porter-Duff "over" operator when drawing with ARGB surfaces. 2017-02-25 19:57:10 -08:00
Michael Jumper
d40b2d8153 GUACAMOLE-217: FFmpeg's decoupled I/O functions were not available until libavcodec 57.37.100. 2017-02-25 19:42:43 -08:00
Michael Jumper
c796787f25 GUACAMOLE-218: Reset internal RDPSND audio format counter whenever a new SNDC_FORMATS PDU is received. 2017-02-25 15:08:16 -08:00
James Muehlner
077cc84d27 GUACAMOLE-208: Merge new protocol status codes. 2017-02-15 21:52:36 -08:00
Michael Jumper
4f4643dd2f GUACAMOLE-208: Report network failures to connect with UPSTREAM_NOT_FOUND. 2017-02-15 21:40:00 -08:00
Michael Jumper
a78d52e615 GUACAMOLE-208: Handle RDP disconnect reason codes. 2017-02-15 21:23:46 -08:00
Michael Jumper
0210b7dc6b GUACAMOLE-208: Add protocol status codes representing upstream network errors and session behavior. 2017-02-15 21:23:07 -08:00
James Muehlner
cd8646b38f Merge 0.9.12-incubating changes back to master. 2017-02-15 20:53:17 -08:00
Michael Jumper
12cde5d520 GUACAMOLE-200: Clear reference to active job after the job has been freed. 2017-02-15 20:11:26 -08:00
Michael Jumper
7a4b737a3a GUACAMOLE-200: Document all parameters of guac_rdp_print_job_write(). 2017-02-15 19:59:50 -08:00
Michael Jumper
da81d16c27 GUACAMOLE-206: Do not drop keys while Alt is held. 2017-02-14 21:25:20 -08:00
Michael Jumper
bf2a5885d0 GUACAMOLE-200: Move print job cleanup into main RDP client thread. 2017-02-14 00:09:24 -08:00
Michael Jumper
5a68f932d6 GUACAMOLE-200: Maintain print jobs at top level. Do not rely on proper free of RDPDR plugin. 2017-02-14 00:02:17 -08:00
Michael Jumper
1537e475af GUACAMOLE-200: Refactor RDPDR print job object to top-level. 2017-02-13 23:51:33 -08:00
Michael Jumper
17093a8149 GUACAMOLE-200: Kill any remaining print job when connection closes. 2017-02-13 23:08:54 -08:00
Michael Jumper
d23a22b7c6 GUACAMOLE-200: Clean up PostScript document title search logic. 2017-02-13 18:42:28 -08:00
Michael Jumper
3fc43fba37 GUACAMOLE-200: Refactor RDPDR printer such that the "ack" handler cannot block. 2017-02-13 18:42:28 -08:00
Michael Jumper
a6e3f19bf7 GUACAMOLE-149: Ignore zero-width characters. 2017-01-31 23:57:02 -08:00
Michael Jumper
fc6f36150f GUACAMOLE-193: Take character attributes into account when testing for visibility. 2017-01-30 22:39:49 -08:00
James Muehlner
d831a4b9df GUACAMOLE-188: Merge alpha component support for common surface. 2017-01-29 12:45:46 -08:00
James Muehlner
075c770432 GUACAMOLE-187: Merge surface resize optimization. 2017-01-29 12:37:52 -08:00
James Muehlner
701268271d GUACAMOLE-167: Merge move away from deprecated avodec_encode_video2() when possible. 2017-01-29 12:34:21 -08:00
James Muehlner
135514a0d2 GUACAMOLE-94: Merge move from readdir_r to readdir. 2017-01-29 12:30:24 -08:00
James Muehlner
0d0f6b9c69 GUACAMOLE-135: Merge new Swiss-French RDP keymap. 2017-01-29 12:27:49 -08:00
Michael Jumper
b796b2c933 GUACAMOLE-148: Clarify that the cursor is expected to potentially exceed the terminal bounds. 2017-01-28 22:54:06 -08:00
Michael Jumper
6c1eeb96b0 GUACAMOLE-148: Move cursor bounds checking to common location (where necessary). 2017-01-28 22:48:45 -08:00
Michael Jumper
073fbe684d GUACAMOLE-148: Scroll automatically only when cursor is within scrolling region. 2017-01-28 22:47:06 -08:00
Michael Jumper
b9faca923b GUACAMOLE-135: Correct Swiss French mapping of "¬", "|", and "¢" (off by one key). 2017-01-28 14:55:38 -08:00
Michael Jumper
c79b303237 GUACAMOLE-135: Clean up spacing and alignment of Swiss French keymap. 2017-01-28 14:23:33 -08:00
Michael Jumper
c6f6bb67f0 GUACAMOLE-135: Swiss Franch dead umlaut should map from keysym 0xFE57. 2017-01-28 14:22:22 -08:00
Michael Jumper
fb298acdcd GUACAMOLE-135: Abbreviate Swiss French mapping range where possible. 2017-01-28 14:21:17 -08:00
Michael Jumper
86493dda93 GUACAMOLE-135: Remove duplicate scancode mappings from Swiss French keymap. 2017-01-28 14:19:52 -08:00
Cédric Marie-Marthe
941fd9659a GUACAMOLE-135: Add Swiss-French keymap for RDP. 2017-01-28 13:35:21 -08:00
Michael Jumper
dc6cae46ca GUACAMOLE-94: Use readdir() instead of readdir_r(). Multiple threads will not be accessing the same directory stream. 2017-01-28 00:11:59 -08:00
Michael Jumper
9a51675e32 GUACAMOLE-167: Use avcodec_send_frame() / avcodec_receive_packet() when available. 2017-01-27 20:29:45 -08:00
Michael Jumper
1a5f48961c GUACAMOLE-188: Allow alpha component to be set within common surface. 2017-01-27 16:51:45 -08:00
Michael Jumper
f353411460 GUACAMOLE-187: Do not perform surface resize unless the new size is actually different. 2017-01-27 16:44:24 -08:00
James Muehlner
ea6b094e24 GUACAMOLE-185: Merge rectangle clipping fix. 2017-01-25 21:53:38 -08:00
Michael Jumper
a72531b65c GUACAMOLE-185: Fix copy/transfer rectangle calculation. Clip source to bounds, NOT to clipping rectangle. 2017-01-25 21:05:08 -08:00
Michael Jumper
2de7d017f5 GUACAMOLE-185: Clip copy/transfer operations to fit source as well as destination. 2017-01-25 21:05:08 -08:00
Michael Jumper
bd3d482ade GUACAMOLE-184: Only send contents of surface if non-empty. 2017-01-25 19:28:07 -08:00
James Muehlner
5d5fbb4d45 GUACAMOLE-172: Merge lag calculation improvements. 2017-01-24 23:26:29 -08:00
Michael Jumper
5d1de67a0c GUACAMOLE-180: Make common display threadsafe. 2017-01-24 18:01:04 -08:00
Michael Jumper
b7e0e080da GUACAMOLE-180: Make common surface threadsafe. 2017-01-24 18:00:57 -08:00
James Muehlner
b8f4f19c36 GUACAMOLE-179: Merge move of PulseAudio support into library. 2017-01-24 17:49:37 -08:00
James Muehlner
67a5d9a5dd GUACAMOLE-176: Merge support for layer location and opacity for guac_common_surface. 2017-01-24 17:39:03 -08:00
Michael Jumper
6bd19b6ac6 GUACAMOLE-176: Support layer location and opacity for guac_common_surface. 2017-01-24 17:30:51 -08:00
Michael Jumper
440668a78a GUACAMOLE-179: Use non-owner users of connection to determine audio encoding if necessary. 2017-01-24 17:19:10 -08:00
Michael Jumper
48ebbe95ea GUACAMOLE-179: Move PulseAudio support into separate utility library. 2017-01-24 17:19:06 -08:00
James Muehlner
5d2c9676f4 GUACAMOLE-175: Merge move of guacd core into library. 2017-01-24 16:38:50 -08:00
Michael Jumper
6645e858ca GUACAMOLE-178: Ensure shared cursor layer is always above all other layers. 2017-01-24 16:17:42 -08:00
Michael Jumper
4c06d755f9 GUACAMOLE-175: Move guacd_handle_user() to libguacd. 2017-01-24 15:44:59 -08:00
Michael Jumper
45adc63597 GUACAMOLE-175: Split logging between guacd and libguacd. 2017-01-24 15:44:55 -08:00
Michael Jumper
d7a604c8b2 GUACAMOLE-175: Move common core of guacd into libguacd utility library. 2017-01-24 15:44:51 -08:00
James Muehlner
a1886f51bd GUACAMOLE-171: Merge move of broadcast socket to public API. 2017-01-24 11:49:29 -08:00
James Muehlner
8cd98b5298 GUACAMOLE-170: Merge client args default change. 2017-01-24 11:44:40 -08:00
Michael Jumper
6131ad0341 GUACAMOLE-172: Ignore insane timestamps when calculating lag. 2017-01-24 00:18:10 -08:00
Michael Jumper
234f98705e GUACAMOLE-172: Use frame start as end of previous frame (ignore server-side time). 2017-01-24 00:18:07 -08:00
Michael Jumper
f641d91b55 GUACAMOLE-172: Exclude server-side rendering time from next frame's required wait (if render times are consistent, then including that time will result in duplicate waiting: once within the render loop, and again when actually flushing the display). 2017-01-24 00:18:04 -08:00
Michael Jumper
9e6e4e520c GUACAMOLE-172: Clarify processing lag calculations. 2017-01-24 00:18:00 -08:00
Michael Jumper
7a65a63aa9 GUACAMOLE-171: Do not require knowledge of broadcast socket internals (do not acquire write lock around join/leave handlers). 2017-01-23 23:43:36 -08:00
Michael Jumper
98b92f0900 GUACAMOLE-171: Separate broadcast socket from client. Ensure socket remains threadsafe even if no users are connected. 2017-01-23 23:43:32 -08:00
Michael Jumper
9d2bb31a9d GUACAMOLE-170: Init guac_client args by default. 2017-01-23 23:35:16 -08:00
Michael Jumper
eee928548d GUACAMOLE-169: Use proper namespace for internal common headers. 2017-01-23 23:26:26 -08:00
Michael Jumper
e5b3af8ffe GUACAMOLE-86: Remove terminal emulator's STDOUT pipe. Use pthread_cond_t to signal modification. 2017-01-16 00:02:30 -08:00
Frode Langelo
6c05dc026e GUACAMOLE-157: Initialize SSH SSL lock array to NULL and test for NULL-ness before freeing. 2017-01-11 22:40:34 +00:00
Michael Jumper
8b08a0e444 GUACAMOLE-154: Bump libtool version-info. 2017-01-09 11:38:47 -08:00
Michael Jumper
7759210f29 GUACAMOLE-154: Bump guacamole-server version numbers to 0.9.11-incubating. 2017-01-09 11:36:06 -08:00
James Muehlner
ecc3a7d49b Merge release-specific changes for 0.9.10-incubating back to master. 2016-11-13 11:33:44 -08:00
James Muehlner
78e6215cbd GUACAMOLE-119: Merge integration of Apache Rat into client and associated new license notices. 2016-11-13 11:17:03 -08:00
James Muehlner
574bec859a GUACAMOLE-119: Merge addition of missing liscense files and exclusion of generated source from source archive. 2016-11-13 10:52:16 -08:00
Michael Jumper
4a29979667 GUACAMOLE-119: Add Apache license boilerplate to manpage source. 2016-11-12 19:40:39 -08:00
Michael Jumper
406a58de35 GUACAMOLE-68: Use AV_PIX_FMT_RGB32 and AV_PIX_FMT_YUV420P constants (not PIX_FMT_RGB32 and PIX_FMT_YUV420P). 2016-11-12 19:40:12 -08:00
Michael Jumper
4ea5f163f0 GUACAMOLE-68: Remove -pedantic flag for subprojects depending on libraries which use compiler extensions. 2016-11-12 19:40:01 -08:00
Michael Jumper
8fc4cc928d GUACAMOLE-119: Do not include generated sources in source tarball. 2016-11-12 18:56:18 -08:00
James Muehlner
7c3430ba0f GUACAMOLE-118: Merge switchover from select to poll. 2016-11-11 16:19:54 -08:00
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
a1fc5bc733 GUACAMOLE-118: Use poll() when waiting for data to be written to the terminal emulator. 2016-11-11 13:12:12 -08:00
Michael Jumper
12d575b8e6 GUACAMOLE-118: Migrate to poll() instead of select() for guacd's SSL/TLS guac_socket implementation. 2016-11-11 13:06:05 -08:00
Michael Jumper
9d6d2aeba7 GUACAMOLE-118: Migrate to poll() instead of select() for file descriptor guac_socket implementation. 2016-11-11 13:03:43 -08:00
Michael Jumper
ca2b426252 GUACAMOLE-117: Close socket file descriptor if SSL/TLS handshake fails. 2016-11-11 12:25:28 -08:00
Michael Jumper
1817ef4ce0 GUACAMOLE-115: Explicitly signal disconnect at end of connection. 2016-11-07 10:29:00 -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
5ce9b1a32f GUACAMOLE-97: Update guacd Docker README.md with respect to Apache. 2016-10-04 12:25:07 -07:00
Roman
3a3de3e87d GUACAMOLE-110: Fix guacenc framerate rounding affecting video length 2016-10-03 11:51:24 -04:00
Michael Jumper
4f84be1c31 GUACAMOLE-93: Move Dockerfile to root of repository. 2016-08-28 14:17:26 -07:00
Michael Jumper
b6a988fcb1 GUACAMOLE-93: Build guacd-docker using parent guacamole-server source. 2016-08-26 14:37:58 -07:00
James Muehlner
96f853d8ff GUACAMOLE-87: Bump libtool version-info. 2016-08-25 22:29:02 -07:00
James Muehlner
e92bb2c824 GUACAMOLE-87: Bump guacamole-server version numbers to 0.9.10-incubating. 2016-08-25 21:59:25 -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