Commit Graph

2119 Commits

Author SHA1 Message Date
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
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
72fb8ffdfe GUACAMOLE-51: Explicitly map number pad keys within Guacamole terminal emulator. 2016-06-14 14:20:30 -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
5030c0603a GUACAMOLE-25: Add status code reporting the normal closure of a resource. 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
James Muehlner
055aa1b059 Merge client cleanup fix. 2016-05-23 20:36:55 -07:00
Michael Jumper
2b8e1555c6 GUACAMOLE-33: Fix comment regarding user removal. 2016-05-23 13:58:30 -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
66859010e7 GUACAMOLE-27: Add Docker image from old guacd-docker repository. Update license. 2016-05-20 14:45:12 -07:00
Michael Jumper
facc0a794e GUAC-1517: Only allocate one audio stream for RDP connection. 2016-03-31 14:25:31 -07:00
James Muehlner
f611ea7b65 GUAC-1511: Merge libguac audio input support. 2016-03-30 15:39:39 -07:00
Michael Jumper
bdbe1df43c GUAC-1511: Add user audio handler and definition. Handle received "audio" instructions. 2016-03-30 15:32:09 -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
0a1f01ce3f GUAC-1164: Ensure locks used by OpenSSL are always freed. 2016-03-17 18:10:42 -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
e57c9ddd86 GUAC-1164: Free private key used for SSH login. 2016-03-17 17:30:32 -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
8c37db8a07 GUAC-1164: Add missing free() for client connection ID. 2016-03-17 16:03:58 -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
3614c48240 Merge pull request #130 from glyptodon/out-of-bounds
GUAC-236: Do not exceed available buffers/layers/streams.
2016-03-16 22:10:37 -07:00
Michael Jumper
1dfdcec34c GUAC-236: Do not attempt to lock/close fd if open fails. 2016-03-16 21:52:30 -07:00
Michael Jumper
ec2524eb97 GUAC-236: Do not exceed available buffers/layers/streams. 2016-03-16 21:48:25 -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
89f6bd4fae GUAC-236: Provide support for much older versions of libavcodec. 2016-03-16 18:51:15 -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
fd430e8b69 GUAC-236: Do not use features specific to libjpeg-turbo. Ensure compatibility with libjpeg. 2016-03-16 11:56:04 -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
2e73e5eef9 GUAC-1164: Dispose of layers/buffers when display/cursor are freed. 2016-03-15 21:49:26 -07:00
Michael Jumper
fc40e9f14c GUAC-1164: Automatically reconnect when display size changes. 2016-03-15 21:48:56 -07:00
Michael Jumper
e2030c03d0 GUAC-236: They're buffers, not buggers. 2016-03-15 20:34:22 -07:00
Michael Jumper
86eb9c4b8a GUAC-236: Fix copypasto in guacenc_display_free_*() - we are freeing, not allocating. 2016-03-15 19:35:06 -07:00
Michael Jumper
32779ee15f GUAC-236: Provide -f option for overriding locking behavior. 2016-03-15 17:24:25 -07:00
Michael Jumper
9d43e22592 GUAC-236: Acquire read lock on input files for guacenc. Refuse to encode in-progress recordings. 2016-03-15 17:08:39 -07:00
Michael Jumper
0361dd2392 GUAC-236: Acquire write lock on output file for in-progress screen recordings. 2016-03-15 17:06:52 -07:00
Michael Jumper
c50561ef10 GUAC-236: Open output stream using file descriptor. Only write output file if it does not yet exist. 2016-03-15 16:43:13 -07:00
Michael Jumper
73bf5ce6f4 GUAC-236: Remove unused macros. 2016-03-15 12:26:35 -07:00
Michael Jumper
acf2d2b004 GUAC-236: Correct typos in comments. 2016-03-15 12:26:13 -07:00
Michael Jumper
e3d1af1953 GUAC-236: Add screen recording support to telnet. 2016-03-14 20:26:31 -07:00
Michael Jumper
570bcc3822 GUAC-236: Add generalized ffmpeg-compat.h header to cover various API changes. 2016-03-14 20:22:04 -07:00
Michael Jumper
770fec0d88 GUAC-236: Define av_frame_free() / av_frame_alloc() if not present. 2016-03-14 20:22:04 -07:00
Michael Jumper
812f8b8cbf GUAC-236: Include guacenc.1 in EXTRA_DIST. 2016-03-14 20:22:04 -07:00
Michael Jumper
8ed0cd5f16 GUAC-236: Maintain aspect ratio by adding letterboxes / pillarboxes as necessary. 2016-03-14 20:22:04 -07:00
Michael Jumper
2798536a7a GUAC-236: Document transfer as currently unimplemented (rarely used). 2016-03-14 20:22:03 -07:00
Michael Jumper
be0a9e728f GUAC-236: Implement JPEG. 2016-03-14 20:22:03 -07:00
Michael Jumper
c16832f11a GUAC-236: Fix manual section number. 2016-03-14 20:22:03 -07:00
Michael Jumper
e298975918 GUAC-236: Document usage. Use correct extension (.m4v). 2016-03-14 20:22:03 -07:00
Michael Jumper
e74ea54eb9 GUAC-236: Add FILE to usage descriptions. 2016-03-14 20:22:03 -07:00
Michael Jumper
710edc03ff GUAC-236: Simplify command-line options, restricting to known-good combination. Can add other formats as possible later. 2016-03-14 20:22:03 -07:00
Michael Jumper
ecf3a0302a GUAC-236: There actually isn't a -f option. 2016-03-14 20:22:03 -07:00
Michael Jumper
2f93e6ce67 GUAC-236: Output sensible messages at sensible times. 2016-03-14 20:22:03 -07:00
Michael Jumper
c4f7bae10b GUAC-236: Do not create output file until after everything has been validated. 2016-03-14 20:22:03 -07:00
Michael Jumper
3d67598ec9 GUAC-236: Parse command-line arguments. 2016-03-14 20:22:03 -07:00
Michael Jumper
59844d8e59 GUAC-236: Reset log level back to INFO. Define default elsewhere. 2016-03-14 20:22:03 -07:00
Michael Jumper
7575506443 GUAC-236: Add missing comment for use of sws_scale(). 2016-03-14 20:22:03 -07:00
Michael Jumper
cb1d5e03b5 GUAC-236: Increase default bitrate. 2016-03-14 20:22:03 -07:00
Michael Jumper
0f467a5d51 GUAC-236: Convert each Guacamole frame to a proper AVFrame. 2016-03-14 20:22:03 -07:00
Michael Jumper
96b3dd4e7c GUAC-236: Add libswscale to build. 2016-03-14 20:22:03 -07:00
Michael Jumper
f9f08627ff GUAC-286: Actually write video output to file. 2016-03-14 20:22:03 -07:00
Michael Jumper
1ce39306cb GUAC-236: Do not store buffer - encode directly. Flush frames at end. 2016-03-14 20:22:03 -07:00
Michael Jumper
1a3e1465fa GUAC-236: Pass encoding parameters from root level of utility. Declare defaults in header. 2016-03-14 20:22:03 -07:00
Michael Jumper
c37eda37fd GUAC-236: Define framerate with macro. 2016-03-14 20:22:03 -07:00
Michael Jumper
38c431e8a2 GUAC-236: Record internal presentation timestamp in same format as libavcodec. 2016-03-14 20:22:03 -07:00
Michael Jumper
9eddaeee3d GUAC-236: Allocate and maintain frame data for encoding. 2016-03-14 20:22:03 -07:00
Michael Jumper
9a5b503da5 GUAC-236: Add libavutil to build. 2016-03-14 20:22:03 -07:00
Michael Jumper
17df235c4e GUAC-236: Actually open and init codec. Replace PNG output with stub. 2016-03-14 20:22:03 -07:00
Michael Jumper
a8cba53537 GUAC-236: Perform codec lookup via libavcodec. 2016-03-14 20:22:03 -07:00
Michael Jumper
d94915c515 GUAC-236: Ensure display allocation can handle video preparation failures. 2016-03-14 20:22:03 -07:00
Michael Jumper
19ac6e8286 GUAC-236: Abstract video encoding process as guacenc_video struct. Move PNG-writing stub therein. 2016-03-14 20:22:03 -07:00
Michael Jumper
09a4f4da39 GUAC-236: Add libavcodec to guacenc build. Conditionally compile guacenc and guacd. 2016-03-14 20:22:03 -07:00
Michael Jumper
0676a7a51c GUAC-236: Add missing LDFLAGS for guacenc. 2016-03-14 20:22:03 -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
a3fef4c1fc GUAC-236: Add common functions for creating client-level session recordings (Guacamole protocol dumps). 2016-03-14 20:22:02 -07:00
Michael Jumper
dc2feba72c GUAC-236: Add guac_socket_tee() function which allocates a socket that delegates all operations to a primary socket while duplicating write operations to a secondary socket. 2016-03-14 20:22:02 -07:00
Michael Jumper
bd5bd29ec0 GUAC-236: Ensure client socket is always freed. 2016-03-14 20:22:02 -07:00
Michael Jumper
a5ec24c17b GUAC-236: Fix buffer resize (contents were being cleared). 2016-03-14 20:22:02 -07:00
Michael Jumper
3a972d4845 GUAC-236: Use temporary surface if source rect might intersect dest rect. 2016-03-14 20:22:02 -07:00
Michael Jumper
21c568c0b4 GUAC-236: Implement WebP decoding. 2016-03-14 20:22:02 -07:00
Michael Jumper
960ee263e8 GUAC-236: Split massive display code into more reasonable files. 2016-03-14 20:22:02 -07:00
Michael Jumper
a24152df02 GUAC-236: Flatten and render all layers upon sync. 2016-03-14 20:22:02 -07:00
Michael Jumper
79181567e5 GUAC-236: Store and preseve frame buffer within each layer. 2016-03-14 20:22:02 -07:00
Michael Jumper
80b3d51a49 GUAC-236: Add function for copying buffer state. 2016-03-14 20:22:02 -07:00
Michael Jumper
1d4e6ce924 GUAC-236: Fix comparator. Sort in descending order of depth. 2016-03-14 20:22:02 -07:00
Michael Jumper
2e93499383 GUAC-236: Render layers in order (position not yet correct). Output as PNG frames for verification. 2016-03-14 20:22:02 -07:00
Michael Jumper
19814a4c8a GUAC-236: Layers should be parented to default layer by default. 2016-03-14 20:22:02 -07:00
Michael Jumper
e3d0c5e5ef GUAC-236: Do not resize buffers if unnecessary. 2016-03-14 20:22:02 -07:00
Michael Jumper
ba9c1a2efd GUAC-236: Ensure buffers are resized to fit draw operations (unless they are within layers). 2016-03-14 20:22:02 -07:00
Michael Jumper
83beccf7e4 GUAC-236: Ensure rectangle is explicitly set when painting buffers. 2016-03-14 20:22:02 -07:00
Michael Jumper
bd84315824 GUAC-236: Implement PNG decoding using Cairo's built-in PNG functions. 2016-03-14 20:22:02 -07:00
Michael Jumper
a15a86ed00 GUAC-236: Assemble entire image data prior to decoding. Switch to simple decoder function (no struct). 2016-03-14 20:22:02 -07:00
Michael Jumper
3661cadf4e GUAC-236: Implement blob, end, and img instructions. 2016-03-14 20:22:02 -07:00
Michael Jumper
d29d5bbc99 GUAC-236: Add helper functions for invoking stream data/end handlers. 2016-03-14 20:22:02 -07:00
Michael Jumper
f535ccfb54 GUAC-236: Invoke init/free handlers as required. 2016-03-14 20:22:02 -07:00
Michael Jumper
578bedcd07 GUAC-236: Add image stream allocation and management functions. 2016-03-14 20:22:02 -07:00
Michael Jumper
8ff8ccc92b GUAC-236: Free all buffers with appropriate function. 2016-03-14 20:22:02 -07:00
Michael Jumper
5149d6d5c4 GUAC-236: Add decoder search function. 2016-03-14 20:22:02 -07:00
Michael Jumper
083e48d089 GUAC-236: Add stub structure for image decoding. 2016-03-14 20:22:02 -07:00
Michael Jumper
8c0a9b8bc5 GUAC-236: Replace placeholder with required mask and index properties. 2016-03-14 20:22:02 -07:00
Michael Jumper
088f1dfede GUAC-236: Implement copy. 2016-03-14 20:22:02 -07:00
Michael Jumper
96104c099b GUAC-236: Ignore free attempts on NULL buffers. 2016-03-14 20:22:01 -07:00
Michael Jumper
dea754d846 GUAC-236: Handle dispose of buffers. 2016-03-14 20:22:01 -07:00
Michael Jumper
36b625818d GUAC-236: Log protocol violations at WARNING level. 2016-03-14 20:22:01 -07:00
Michael Jumper
d1642cbcba GUAC-236: Cursor must be ignored for now (no mouse position information in recording). 2016-03-14 20:22:01 -07:00
Michael Jumper
ac78b7a7a5 GUAC-236: Implement cfill and rect. 2016-03-14 20:22:01 -07:00
Michael Jumper
160453c3e9 GUAC-236: Implement buffer retrieval functions. 2016-03-14 20:22:01 -07:00
Michael Jumper
9407f8bcde GUAC-236: Layers must default to unparented. 2016-03-14 20:22:01 -07:00
Michael Jumper
a0197ee2c2 GUAC-236: Implement buffer resize. 2016-03-14 20:22:01 -07:00
Michael Jumper
696c3c3184 GUAC-236: Stub resize of buffers. Implement size. 2016-03-14 20:22:01 -07:00
Michael Jumper
314d66727a GUAC-236: Implement alloc/free of layers. Implement shade, move, and dispose. 2016-03-14 20:22:01 -07:00
Michael Jumper
899cdb4c00 GUAC-236: Fully implement sync instruction. Stub timestamp update for display. 2016-03-14 20:22:01 -07:00
Michael Jumper
4634ce391a GUAC-236: Allocate and pass display to all instruction handlers. 2016-03-14 20:22:01 -07:00
Michael Jumper
f286bd92c7 GUAC-236: Add display, buffer, image, and stream abstractions. 2016-03-14 20:22:01 -07:00
Michael Jumper
23af2d3041 GUAC-236: Handle sync instruction. 2016-03-14 20:22:01 -07:00
Michael Jumper
f842d1c0a4 GUAC-236: Parse base64 from blobs. 2016-03-14 20:22:01 -07:00
Michael Jumper
91197ffad2 GUAC-236: Allow instruction handlers to touch the argument values. 2016-03-14 20:22:01 -07:00
Michael Jumper
0e5a7bb5c2 GUAC-236: Add argument parsing stubs to instruction handlers. 2016-03-14 20:22:01 -07:00
Michael Jumper
d530d92651 GUAC-236: Add stub handlers for each required instruction. 2016-03-14 20:22:01 -07:00
Michael Jumper
a926a6dc3b GUAC-236: Handle specific instructions via an opcode/handler mapping. 2016-03-14 20:22:01 -07:00
Michael Jumper
1f54ea10dd GUAC-236: Display DEBUG-level messages for now. 2016-03-14 20:22:01 -07:00
Michael Jumper
c850744faa GUAC-236: Actually parse input files. 2016-03-14 20:22:01 -07:00
Michael Jumper
5e5186be07 GUAC-236: Log failures vs. total files. 2016-03-14 20:22:01 -07:00
Michael Jumper
652ea5ddf9 GUAC-236: Add stub guacenc utility (encode Guacamole protocol to video). 2016-03-14 20:22:01 -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
7c2766b34b GUAC-1389: Abort correctly if password or keyboard-interactive auth fails (fixes GUAC-1381). 2016-03-14 17:33:17 -07:00
Michael Jumper
075b7ffba9 GUAC-1389: Add screen sharing support to SSH. 2016-03-14 17:33:17 -07:00
Michael Jumper
8f6a585b09 GUAC-1389: Rename guac_terminal_add_user() to guac_terminal_dup(). 2016-03-14 16:03:05 -07:00
Michael Jumper
a101838162 GUAC-1389: Include select layer when syncing. 2016-03-14 16:00:21 -07:00
Michael Jumper
d59a6ebf62 GUAC-1389: Remove use of guac_common_display from terminal. 2016-03-14 16:00:21 -07:00
Michael Jumper
a14e0fa3fb GUAC-1389: Redraw / resync terminal contents. 2016-03-14 16:00:21 -07:00
Michael Jumper
60dec61c51 GUAC-1389: Redraw / resync scrollbar state when a new user joins a terminal session. 2016-03-14 16:00:21 -07:00
Michael Jumper
e750ca9499 GUAC-1389: Update terminal to support screen sharing. 2016-03-09 12:57:41 -08: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
70ce9fa96a GUAC-1389: Fix typo in punctuation of documentation for guac_client_for_owner(). 2016-03-04 19:46:21 -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
9e8790cbba GUAC-1389: Fix race in cursor update when a past user has left the connection. 2016-03-04 17:05:45 -08:00
Michael Jumper
e7ada26f55 GUAC-1389: Provide guac_client_for_user() function which validates user pointers, allowing code to safely store and use guac_user pointers. 2016-03-04 16:44:30 -08:00
James Muehlner
36cabe3d09 Merge pull request #117 from glyptodon/missing-includes
GUAC-1389: Add missing includes for guacd's connection.c
2016-03-04 13:34:18 -08:00
Michael Jumper
4e50603404 GUAC-1389: Add missing includes for guacd's connection.c. 2016-03-04 13:28:52 -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
James Muehlner
41a21c9b0c Merge pull request #115 from glyptodon/fix-palette-free
GUAC-1389: Palette must be freed.
2016-03-03 11:15:13 -08:00
Michael Jumper
e625a7a887 GUAC-1389: Palette must be freed. 2016-03-03 11:06:55 -08:00
Michael Jumper
8e8b632716 GUAC-1389: Ensure proc is freed and cleaned up, regardless of whether it started properly. 2016-03-03 11:00:21 -08:00
James Muehlner
f7b30414fb Merge pull request #113 from glyptodon/fake-merge-screen-sharing-004-guacd
GUAC-1389: Add screen sharing support to guacd.
2016-03-02 21:29:12 -08:00
Michael Jumper
b3b5a65923 GUAC-1389: Simply logic surrounding freeaddrinfo(). 2016-03-02 20:09:07 -08:00
Michael Jumper
39fd2c152f GUAC-1389: Document guacd_user_start() and corresponding threads. 2016-03-02 16:37:44 -08:00
Michael Jumper
b169ea0f6e GUAC-1389: Document creation of SSL-wrapped guac_socket. 2016-03-02 16:32:09 -08:00
Michael Jumper
ed44e0c4b0 GUAC-1389: Document process management functions. Remove unnecessary parameter. 2016-03-02 16:26:38 -08:00
Michael Jumper
26bdd9bc38 GUAC-1389: Document client process map manipulation functions. 2016-03-02 15:34:39 -08:00
Michael Jumper
d595d96304 GUAC-1389: Document file descriptor passing functions. 2016-03-02 14:50:34 -08:00
Michael Jumper
1e4a83b3da GUAC-1389: Document daemonization helper functions. 2016-03-02 14:44:15 -08:00
Michael Jumper
cb8fe46328 GUAC-1389: Add missing documentation for connection handling functions. 2016-03-02 14:36:16 -08:00
Michael Jumper
9e7663463f GUAC-1389: Restore guacd within build. Migrate guacd to screen sharing changes. 2016-03-02 12:46:00 -08:00
Michael Jumper
c9346014df GUAC-1389: Release candidate addresses of no connection can be established. 2016-03-02 10:59:03 -08:00
Michael Jumper
e42566816c GUAC-1389: PNG encoder should always release palette storage if an error occurs. 2016-03-02 10:55:37 -08:00
Michael Jumper
15f7fedfea GUAC-1389: Ensure dlopen()'d handle to plugin is released on error. 2016-03-02 10:54:58 -08:00
Michael Jumper
48143f6a0a GUAC-1389: Add convenience function for exposing SFTP filesystems to specific users. 2016-03-01 17:28:35 -08:00
Michael Jumper
cb70c6e8b9 GUAC-1389: Bring common-ssh up to date with screen sharing changes. 2016-03-01 17:28:35 -08:00
Michael Jumper
12d5c315bb GUAC-1389: Add missing parameter comments to static functions in common. 2016-03-01 16:46:19 -08:00
Michael Jumper
bbceed5200 GUAC-1389: Bring common headers up-to-date with current style. 2016-03-01 16:40:23 -08:00
Michael Jumper
f393561925 GUAC-1389: Bring common up to date with screen sharing changes. 2016-03-01 16:27:32 -08:00
Michael Jumper
14522dab22 GUAC-1389: Add missing documentation for socket handlers. 2016-03-01 13:02:48 -08:00
Michael Jumper
7653fa106e GUAC-1389: Document internal stream management functions. Fix semantics of stream closure. 2016-03-01 12:50:51 -08:00
Michael Jumper
cd006a4066 GUAC-1389: Fix spelling of "markers". 2016-03-01 12:25:04 -08:00
Michael Jumper
1726af0c97 GUAC-1389: Add missing parameter documentation for user-level instruction handlers. 2016-03-01 12:25:04 -08:00
Michael Jumper
dd0cecc7ea GUAC-1389: Add missing parameter comments to user-specific handlers. Clarify purpose of handlers. 2016-03-01 12:25:04 -08:00
Michael Jumper
c3a487f9ec GUAC-1389: Fix spelling of "previously". 2016-03-01 12:25:04 -08:00
Michael Jumper
3734a68a42 GUAC-1389: Fix strange and unnecessary wrapping of line. 2016-03-01 12:25:04 -08:00
Michael Jumper
5ae0da65e1 GUAC-1389: Remove unnecessary blank line. 2016-03-01 12:25:04 -08:00
Michael Jumper
62ccd78122 GUAC-1389: Add missing parameter comments to static handlers of guac_client and the broadcast socket. 2016-03-01 12:25:04 -08:00
Michael Jumper
6d2ddd72a5 GUAC-1389: Add missing parameter comments for client handlers. 2016-03-01 12:25:04 -08:00
Michael Jumper
ea1a34083c GUAC-1389: Explain significance of the type-punning union. 2016-03-01 12:25:04 -08:00
Michael Jumper
76e3b2ebb8 GUAC-1389: Restore libguac's high-level convenience functions for audio streaming. 2016-03-01 12:25:04 -08:00
Michael Jumper
fbe4d53fb1 GUAC-1389: Refactor libguac to allow screen sharing. 2016-03-01 12:24:57 -08:00
Michael Jumper
c5fd72bb98 GUAC-1477: Ensure any fd_set used by guac_socket is always properly initialized. 2016-02-01 15:14:20 -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
b35a0c3695 GUAC-1451: Fix order of resource release in case typescript creation failure. 2016-01-28 10:47:04 -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
d9dacedbe0 GUAC-1452: Log typescript creation/failure. 2016-01-27 12:43:53 -08:00
Michael Jumper
c68f96741d GUAC-1452: Store filenames within typescript struct. 2016-01-27 12:43:53 -08:00
Michael Jumper
7c7a68975b GUAC-1452: Append .timing to end of basename for timing file. 2016-01-27 12:43:53 -08:00
Michael Jumper
d421bbc075 GUAC-1452: Automatically create directory if requested. 2016-01-27 12:43:53 -08:00
Michael Jumper
e9fb7a67da GUAC-1452: Try and retry the specified filename until success or no further possibilities exist. 2016-01-27 12:43:53 -08:00
Michael Jumper
0d5355560e GUAC-1452: Fix inverted logic for typescript alloc return value. 2016-01-27 12:43:53 -08:00
Michael Jumper
6297f11724 GUAC-1452: Cap timing entries at a maximum of 24 hours per entry. 2016-01-27 12:43:53 -08:00
Michael Jumper
8a6a2a1156 GUAC-1452: Actually write timestamps to timing file. 2016-01-27 12:43:53 -08:00
Michael Jumper
88a121f81e GUAC-1452: Write required header/footer. 2016-01-27 12:43:53 -08:00
Michael Jumper
b2a356d4b8 GUAC-1452: Write to and flush typescript automatically. 2016-01-27 12:43:52 -08:00
Michael Jumper
cc76f2f4af GUAC-1452: Fix typescript file creation permissions. 2016-01-26 16:42:24 -08:00
Michael Jumper
3f4bac3d04 GUAC-1452: Add base typescript implementation and stubs. 2016-01-25 17:04:15 -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
Michael Jumper
4bc5ebe7da GUAC-1452: Ensure pipe is flushed and closed if terminal is destroyed. 2016-01-13 18:07:37 -08:00
Michael Jumper
ff557a7f01 GUAC-1452: Echo to pipe stream if open (buffered). 2016-01-13 17:38:13 -08:00
Michael Jumper
01edd8ccd8 GUAC-1452: Implement pipe open/close within OSC. 2016-01-13 10:37:41 -08:00
Michael Jumper
051701d566 GUAC-1452: Provide for storage of pipe stream within terminal struct. 2016-01-13 10:37:41 -08:00
Michael Jumper
528de38359 GUAC-1452: Document terminal char handlers. 2016-01-13 10:37:40 -08:00
Michael Jumper
b869edb0a2 GUAC-1452: Add stub handlers for new pipe OSC codes. 2016-01-13 10:37:40 -08:00
Michael Jumper
8b6ca810d9 GUAC-1471: Properly calculate heat map dimensions. 2016-01-12 22:44:28 -08:00
Michael Jumper
858c4450eb GUAC-1434: Document undocumented function parameters. 2015-12-15 16:14:15 -08:00
Michael Jumper
3e69bc51e7 GUAC-1392: Update libtool version (libguac API has changed and is not 100% compatible with 0.9.8 or older). 2015-12-15 13:11:16 -08:00
Michael Jumper
edd6b9af1c GUAC-1392: Bump version to 0.9.9. 2015-12-15 13:09:42 -08:00
Michael Jumper
c7c4010306 GUAC-1425: Use proper enum constant for WebPConfigPreset(). 2015-12-09 13:44:54 -08: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
Mike Jumper
f9cc90307b Merge pull request #89 from frenche/listen_once
GUAC-1361: listen() need not be present in main loop
2015-11-02 11:56:00 -08:00
James Muehlner
5c6ad497f4 Merge pull request #95 from glyptodon/ssh-command
GUAC-1038: Add support for running specific commands via SSH
2015-10-20 11:56:17 -07: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
364987b159 GUAC-1374: The keep alive ping is disabled by default. 2015-10-19 11:55:18 -07:00
Mike Jumper
8a91965b07 Merge pull request #92 from flangelo/encoding_artifacts
GUAC-1366: Adjust WebP and JPEG image sizes before compressing to avo…
2015-10-19 11:48:39 -07:00
Mike Jumper
0f2041ee5c Merge pull request #91 from flangelo/jpeg_if_bmp_large_enough
GUAC-1365: Don't send JPEG image refreshes if the image size is less …
2015-10-19 11:46:34 -07:00
Michael Jumper
a1c1fa104b GUAC-1354: Remove duration from video instruction. 2015-10-18 22:08:45 -07:00
Frode Langelo
670c6b766e GUAC-1365: Don't send JPEG image refreshes if the image size is less than 4096 pixels. WebP decision should not include the size check. 2015-10-16 16:46:10 +00:00
Frode Langelo
69a7b8c066 GUAC-1366: Adjust WebP and JPEG image sizes before compressing to avoid artifacts on the edges of the images 2015-10-06 22:31:58 +00:00
James Muehlner
6a7b397110 Merge pull request #88 from glyptodon/copy-mimetypes
GUAC-1305: Copy mimetypes - do not just point instruction storage
2015-10-02 23:47:34 -07:00
Michael Jumper
e7ab5b50ab GUAC-1354: Remove old Ogg encoder. 2015-10-02 17:16:47 -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
Isaac Boukris
61b01299b2 GUAC-1361: listen() need not be present in main loop
See GUAC-1361.

Signed-off-by: Isaac Boukris <iboukris@gmail.com>
2015-09-28 04:06:39 +03:00
Michael Jumper
653751e2f5 GUAC-1305: Copy mimetypes into client structure. Instruction contents CANNOT be relied upon after new instruction data is read (the argv, etc. buffers are reused and shared). 2015-09-24 12:45:14 -07:00
Michael Jumper
9a3a1bdcde GUAC-1305: Mimetype pointers need not be const. 2015-09-24 12:45:07 -07:00
Michael Jumper
1211c366bf GUAC-1305: Support lossless WebP within encoder. 2015-09-22 12:17:26 -07:00
Michael Jumper
3597a20890 GUAC-1305: Clean up WebP encoder. 2015-09-20 21:06:46 -07:00
Michael Jumper
0dd4d9b9fa GUAC-1305: Send WebP images in preference to JPEG when supported. 2015-09-20 18:58:30 -07:00
Michael Jumper
be64fd23c7 GUAC-1305: Add functions for checking WebP support and streaming WebP images. 2015-09-20 18:53:19 -07:00
Frode Langelo
42dba743eb GUAC-1305: Add support for WebP encoded images. Added optional dependency on libwebp. 2015-09-20 18:12:41 -07:00
James Muehlner
fdc40a9315 Merge pull request #84 from glyptodon/image-handshake
GUAC-1305: Add image mimetypes to Guacamole protocol handshake.
2015-09-20 17:37:30 -07:00
Michael Jumper
c57abf3411 GUAC-1305: Add image mimetypes to Guacamole protocol handshake. 2015-09-20 16:15:13 -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
7cb632c5c9 GUAC-240: Ensure initialization of last_pixel is obvious. 2015-09-18 11:38:22 -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
ab4af86c7b GUAC-1323: Send proper Guacamole protocol status codes for SFTP errors. 2015-09-06 13:39:08 -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
037f5bc514 GUAC-1280: Bump version numbers to 0.9.8. Update libtool versioning. 2015-09-04 13:30:51 -07:00
James Muehlner
c02ade76ca Merge pull request #75 from glyptodon/fix-makefile-indent
GUAC-1297: Remove indentation / use tabs where required by Makefile standard.
2015-09-04 13:29:56 -07:00
Michael Jumper
3d888c2eb5 GUAC-240: Byte order of pixels is BGR, not BRG. 2015-09-04 13:01:06 -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
59f440209c GUAC-240: Add function for streaming JPEG images via img instruction. 2015-09-04 12:58:47 -07:00
Michael Jumper
7aff3a257a GUAC-240: Move JPEG encoder to own file, writing directly to an img stream. 2015-09-04 12:58:39 -07:00
Michael Jumper
f79c661192 GUAC-240: Add function for streaming PNG images via img instruction. Use for surface. 2015-09-04 12:58:29 -07:00
Michael Jumper
8f2d6f2975 GUAC-240: Force flush at end of PNG write. 2015-09-04 12:58:22 -07:00
Michael Jumper
d07d8ba2d2 GUAC-240: Associate Guacamole client with surface. 2015-09-04 12:58:13 -07:00
Michael Jumper
364d2842ab GUAC-240: Move PNG encoder to own file, writing directly to an img stream. 2015-09-04 12:58:05 -07:00
Michael Jumper
74728d2944 GUAC-1297: Remove indentation / use tabs where required by Makefile standard. 2015-09-04 11:55:30 -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
Michael Jumper
5dc5a9dbca GUAC-240: Rename optimality function to match convention used elsewhere in this file. 2015-08-17 16:14:57 -07:00
Michael Jumper
16fd8f6c7d GUAC-240: Fix buffer error in calculation of framerate. Clarify naming. 2015-08-17 16:09:40 -07:00
Michael Jumper
c604777622 GUAC-240: Remove unused macros. 2015-08-17 16:04:07 -07:00
Michael Jumper
62572073b0 GUAC-240: Dynamically allocate heat map. Throw away heat map during resize. 2015-08-17 16:02:19 -07:00
Michael Jumper
cc21092ac2 GUAC-240: Remove unnecessary change to PNG function. 2015-08-17 11:11:30 -07:00
Michael Jumper
2d66ae87f9 GUAC-240: Improve PNG optimality approximation algorithm (count average run length). 2015-08-17 11:02:18 -07:00
Michael Jumper
b0db2c210f GUAC-240: Remove now-unused structure member. 2015-08-17 08:38:41 -07:00
Michael Jumper
b6a2de8a97 GUAC-240: Remove whitespace changes. 2015-08-17 08:37:43 -07:00
Michael Jumper
adcb887efb GUAC-240: Correct PNG optimality calculations. 2015-08-17 08:30:23 -07:00
Michael Jumper
b56afd8bb8 GUAC-240: Approximate whether images will compress well with JPEG vs. PNG. 2015-08-17 06:29:30 -07:00
Michael Jumper
f7cb3d56e9 GUAC-240: Update function documentation. Remove unused macros. 2015-08-17 01:51:03 -07:00
Michael Jumper
dd2e020351 GUAC-240: Move JPEG optimality test into own function. 2015-08-17 01:44:31 -07:00
Michael Jumper
baf01d5524 GUAC-240: Flush to JPEG if dirty rect is hot. 2015-08-17 01:34:32 -07:00
Michael Jumper
26f9070d99 GUAC-240: Restore flush to PNG. Simplify handling of flush. Remove lossy pipeline. 2015-08-17 01:27:09 -07:00
Michael Jumper
807e3a39a5 GUAC-240: Simplify and clarify update history tracking. Remove lossless refresh of previously-lossy updates for now. 2015-08-17 01:13:59 -07:00
Michael Jumper
254a0dded0 GUAC-240: Remove need for forward declarations of static functions. 2015-08-14 10:54:59 -07:00
Frode Langelo
379c4462ca GUAC-240: Implement adaptive encoding. Build a heat map of the screen, and use lossy image compression for areas refreshing frequently. Once refresh frequency is reduced the lossy area is repainted with a lossless image. 2015-08-14 10:54:59 -07:00
Michael Jumper
fde6abe98b GUAC-240: Byte order of pixels is BGR, not BRG. 2015-08-13 16:38:54 -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
1263965511 GUAC-240: Add function for streaming JPEG images via img instruction. 2015-08-13 16:38:54 -07:00
Michael Jumper
995373e74b GUAC-240: Move JPEG encoder to own file, writing directly to an img stream. 2015-08-13 16:38:54 -07:00
Michael Jumper
9c2d7f56ce GUAC-240: Add function for streaming PNG images via img instruction. Use for surface. 2015-08-13 16:38:54 -07:00
Michael Jumper
56fa7423f3 GUAC-240: Force flush at end of PNG write. 2015-08-13 16:38:53 -07:00
Michael Jumper
859f7d9340 GUAC-240: Associate Guacamole client with surface. 2015-08-13 16:38:53 -07:00
Michael Jumper
e73ef09fdd GUAC-240: Move PNG encoder to own file, writing directly to an img stream. 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
Mike Jumper
a64ed2bf72 Merge pull request #64 from flangelo/adaptive_jpeg
GUAC-240: New rectangle helper methods and utilities which will be us…
2015-08-07 23:55:28 -07:00
Michael Jumper
7bb798e40b GUAC-1285: Implement jpeg_mem_dest() for platforms that lack it. 2015-08-07 17:39:10 +00:00
Frode Langelo
385808c7a1 GUAC-240: New rectangle helper methods and utilities which will be used by adaptive encoding. Rectangle helper unit tests. 2015-08-06 17:19:35 -07:00
Michael Jumper
a52b285f45 GUAC-240: Fix typo - should be JPEG, not JOEG. 2015-08-05 22:02:54 -07:00
Frode Langelo
240867a432 GUAC-240: Make JPEG quality a parameter to methods. Reorder JPEG_LIBS in LDFLAGS 2015-08-05 15:16:27 -07:00
Frode Langelo
c27e2997dd GUAC-240: Implement support for JPEG server protocol and image compression. 2015-08-05 15:16:26 -07:00
Michael Jumper
93c151512f GUAC-1195: Migrate to scrollbar style which works against dark OR light backgrounds. 2015-07-28 16:51:01 -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
Michael Jumper
6f48ebe7fe GUAC-1264: Use proper parameter for SFTP password within RDP. 2015-07-24 13:55:10 -07:00
Michael Jumper
ec595b9cff GUAC-1264: Explicitly free users and sessions within VNC and RDP. 2015-07-24 13:55:05 -07:00
Michael Jumper
49beb7d7fd GUAC-1264: Require explicit free for users and sessions. Ensure SSH client data is zeroed upon allocation. 2015-07-24 13:20:36 -07:00
Michael Jumper
f8f16c44a9 GUAC-1264: Validate provided credentials. Log if anything is missing. 2015-07-23 16:28:48 -07:00
Michael Jumper
6ae5b94df3 GUAC-1171: Always close socket file descriptor when session creation fails. 2015-07-14 11:15:21 -07:00
James Muehlner
da1f2f2ad3 Merge pull request #56 from glyptodon/clean-resources
GUAC-1171: Ensure user and session objects are automatically free'd, and that this is documented.
2015-07-14 11:06:04 -07:00
Michael Jumper
cdefe52c67 GUAC-1171: Ensure user and session objects are automatically free'd, and that this is documented. 2015-07-14 11:02:48 -07:00
Michael Jumper
df221e05be GUAC-1171: RDP settings values may be NULL, and should not be used as defaults if NULL. 2015-07-14 10:49:06 -07:00
Michael Jumper
46ce69a8a9 GUAC-1171: Do not attempt to read error strings when there may be no such strings available. 2015-07-12 22:36:08 -07:00
Michael Jumper
4d941545cd GUAC-1171: Ensure directory names are null-terminated. 2015-07-12 22:27:02 -07:00
Michael Jumper
1316743b02 GUAC-1171: Do not fall through to DSA if RSA signature fails. 2015-07-12 22:24:26 -07:00
Michael Jumper
3eac35c158 GUAC-1171: Handle socket() error return values. 2015-07-12 22:22:32 -07:00
Michael Jumper
c6191f4539 GUAC-1171: Fix resource leaks. 2015-07-12 22:19:36 -07:00
Michael Jumper
cc717f4112 GUAC-1171: Fix SFTP file upload comments. 2015-07-10 22:41:02 -07:00
Michael Jumper
b770800eda GUAC-1171: Only include common SSH library if enabled. 2015-07-10 22:26:37 -07:00
Michael Jumper
2e5a3606f3 GUAC-1171: Set up handler for "file" instruction for SFTP filesystem, if no other handler is more appropriate. 2015-07-10 22:13:01 -07:00
Michael Jumper
43a534c98b GUAC-1171: Add SFTP filesystem support to RDP. 2015-07-10 22:13:01 -07:00
Michael Jumper
1500e63050 GUAC-1171: Add SFTP filesystem support to VNC. 2015-07-10 22:13:01 -07:00
Michael Jumper
bfe4895408 GUAC-1171: Remove extra trailing spaces from parameter comments. 2015-07-10 21:01:17 -07:00
Michael Jumper
5f547a9974 GUAC-1171: Fix naming of guac_common_ssh_buffer_*() functions. 2015-07-10 17:26:04 -07:00
Michael Jumper
3d1d2ea334 GUAC-1171: Migrate to common SSH for SFTP transfers. 2015-07-10 17:21:58 -07:00
Michael Jumper
a6b46a0ea0 GUAC-1171: Add and document SFTP functionality within common SSH. 2015-07-10 17:21:27 -07:00
Michael Jumper
87be5d43ea GUAC-1171: Add missing comments around static functions. Add param and return annotations to existing comments. 2015-07-10 14:20:16 -07:00
Michael Jumper
0fcea2738b GUAC-1171: Migrate to common SSH within client. 2015-07-10 12:46:11 -07:00
Michael Jumper
98503a9fb7 GUAC-1171: Initial refactor to require that user credentials be provided prior to connect. 2015-07-10 02:00:23 -07:00
Michael Jumper
ff287aee52 GUAC-1171: Separate key/password management from SSH connection. Maintain connection information within session object. 2015-07-10 01:31:15 -07:00
Michael Jumper
0a015b2843 GUAC-1171: Add key and buffer helpers. Partially implement private key auth. 2015-07-09 16:17:47 -07:00
Michael Jumper
5b627ae5cc GUAC-1171: Implement SSH connection (without auth). 2015-07-09 12:28:46 -07:00
Michael Jumper
ed70281766 GUAC-1171: Move SFTP functions to own header. 2015-07-09 12:05:57 -07:00
Michael Jumper
fbcf8a1e0d GUAC-1171: Move initialization of SSH, OpenSSL, etc. to common SSH base. 2015-07-09 12:02:31 -07:00
Michael Jumper
cc6a56234c GUAC-1171: Stub common SSH API. 2015-07-09 01:29:17 -07:00
Michael Jumper
c199cfc8d7 GUAC-1171: Adopt cleaner style for Makefile.am. 2015-07-08 15:39:25 -07:00
Michael Jumper
77cde6ae4b GUAC-1171: Stub out common SSH client within build. 2015-07-08 14:55:18 -07:00
Frode Langelo
d309842055 GUAC-298: Add configuration option to allow for VNC clipboard text encoding override 2015-07-08 14:28:02 -07:00
Frode Langelo
9c8756556a GUAC-1247: Fix case where 1x1 pixel surface put with non-dirty data was not ignored 2015-07-08 11:12:34 -07:00
Michael Jumper
5e76e11e6a GUAC-1172: Use FreeRDP to define STATUS_* constants, if possible, before falling back to the rest of rdp_status.h. 2015-07-06 00:43:21 -07:00
Michael Jumper
4d7634da9e GUAC-1172: Remove use of stdbool.h and bool from guac_json - FreeRDP is not compatible with use of the standard bool. 2015-07-06 00:43:21 -07:00
Michael Jumper
8a36358e94 GUAC-1172: Implement directory listing, file upload, and file download. 2015-07-06 00:43:21 -07:00
Michael Jumper
fef6cd212b GUAC-1172: Associate guac_object with RDP filesystem. 2015-07-06 00:43:21 -07:00
Michael Jumper
58621ca42b GUAC-1172: Move JSON functions to common. 2015-07-05 18:08:22 -07:00
Michael Jumper
ddbbcf032a GUAC-1172: Ensure empty directories are valid JSON. 2015-07-05 12:56:10 -07:00
Michael Jumper
054698a3ad GUAC-1172: Append. Do not appaned. 2015-07-01 11:11:07 -07:00
Michael Jumper
42c36f5b84 GUAC-1172: Properly store/free filesystem object. 2015-07-01 10:48:25 -07:00
Michael Jumper
0bbc958373 GUAC-1172: Implement file upload via filesystem object. 2015-07-01 10:48:25 -07:00
Michael Jumper
5fba93594d GUAC-1172: Implement directory listing and file download via filesystem object. 2015-07-01 10:48:25 -07:00
Michael Jumper
482b3a728c GUAC-1172: Simplify filename validation and manipulation. 2015-07-01 10:48:25 -07:00
Michael Jumper
60b3386733 GUAC-1172: Add constants for the root object name and the mimetype of a stream index. 2015-06-20 16:07:55 -07:00
Michael Jumper
9321312fce GUAC-1172: Add missing guac_client_alloc_object() and guac_client_free_object() definitions to client.h. 2015-06-20 12:57:23 -07:00
Michael Jumper
95ede7a91d GUAC-1172: Add object alloc/free. Add object index pool. 2015-06-19 14:41:25 -07:00
Michael Jumper
6e3a12b604 GUAC-1172: Implement filesystem, body, and undefine instructions. 2015-06-19 14:35:30 -07:00
Michael Jumper
f7e6deeaf4 GUAC-1172: Add instruction handlers and storage for Guacamole protocol objects. 2015-06-19 14:12:27 -07:00
Michael Jumper
ce6050b72a GUAC-1172: Fix indentation within libguac Makefile.am. 2015-06-19 13:51:52 -07:00
Michael Jumper
29b76243b9 GUAC-835: Add support for all RDP performance flags. 2015-06-12 16:35:38 -07:00
Michael Jumper
77536dd68e GUAC-1226: Do not rely on Pango/Cairo for DPI handling - simply scale the font size. 2015-06-11 15:44:53 -07:00
Michael Jumper
88ae1a26ff GUAC-1174: Update version numbers of man pages. 2015-06-08 17:27:08 -07:00
Michael Jumper
be0e1d9b12 GUAC-346: Add support for specifying the client hostname. 2015-04-14 12:39:08 -07:00
Michael Jumper
5cb5be6923 GUAC-1056: Do not wait for messages if data is within the RFB client buffer. 2015-04-07 23:44:13 -07:00
Michael Jumper
2144aa4f8f GUAC-794: Add missing hash sign to Italian keymap. 2015-03-31 11:31:52 -07:00
Denis Bernacci
07859aba06 GUAC-794: Add Italian keymap. 2015-03-31 11:18:38 -07:00
Michael Jumper
b5d1e5aa80 GUAC-1128: Bump version numbers to 0.9.6. 2015-03-23 11:48:48 -07:00
Michael Jumper
001b8188e8 GUAC-1095: Free any existing bitmap data prior to overwriting the bitmap data pointer. 2015-02-23 20:36:33 -08:00
Michael Jumper
732adf9063 GUAC-1090: Clip operation by surface size when no clipping rectangle is present. 2015-02-20 16:53:24 -08:00
Michael Jumper
b4165f9773 GUAC-1018: Bump version numbers to 0.9.5. 2015-02-15 17:19:29 -08:00
Mike Jumper
12a1ae10b8 Merge pull request #22 from rvecchio/patch-1
GUAC-570: Solves the issue of blank pages occuring inside generated PDFs having 11 or more pages
2015-02-11 14:43:30 -08:00
rvecchio
efe95748b7 GUAC-570 blank pages inside the generated PDFs 2015-02-09 10:03:05 +01:00
Michael Jumper
da367b373f GUAC-1028: Fix race condition on terminal resize. 2015-02-05 17:21:33 -08:00
Michael Jumper
eb9c6fb899 GUAC-803: Continue reading data until end of frame. 2015-02-04 19:22:22 -08:00
Michael Jumper
61337d5614 GUAC-803: Notify terminal of changes instead of explicitly flushing/syncing. 2015-02-04 19:22:22 -08:00
Michael Jumper
c39201cd8b GUAC-803: Write to terminal STDOUT using length-prefixed packets, such that zero-length writes are legal. 2015-02-04 19:22:22 -08:00
Michael Jumper
207d97bec0 GUAC-803: Use normal pointer when mouse is over scrollbar. 2015-02-04 01:01:39 -08:00
Michael Jumper
fc476fd99e GUAC-803: Actually scroll when the scrollbar handle is dragged. 2015-02-04 00:41:45 -08:00
Michael Jumper
0a7f13ab5c GUAC-803: Calculate new scrollbar value based on mouse position. 2015-02-04 00:21:19 -08:00
Michael Jumper
f26c9443dc GUAC-803: Handle mouse events within scrollbar. 2015-02-03 23:51:04 -08:00
Michael Jumper
d5b7baab75 GUAC-803: Restrict display area to left of scrollbar. 2015-01-28 17:06:18 -08:00
Michael Jumper
0f4e45e39d GUAC-803: Separate scrollbar graphical update from state update. 2015-01-28 16:43:03 -08:00
Michael Jumper
1218a18bf4 GUAC-803: It's a handle, not a box. Well, OK, it is a technically also a box... but that's not the point. 2015-01-28 15:41:12 -08:00
Michael Jumper
65e0265fa0 GUAC-803: Improve style of scrollbar. 2015-01-27 16:36:28 -08:00
Michael Jumper
4018f2c40f GUAC-803: Update rendering of scrollbar as terminal display is scrolled or resized. Position and scale inner box of scrollbar appropriately. 2015-01-26 15:51:50 -08:00
Michael Jumper
3529bd7664 GUAC-803: Allocate/free and draw scrollbar. Reposition scrollbar when terminal is resized. 2015-01-26 13:47:02 -08:00
Michael Jumper
0996a6a186 GUAC-803: Stub out terminal scrollbar API. 2015-01-26 12:52:30 -08:00
Michael Jumper
569f4adbac GUAC-803: Move display into separate layer, always size default layer perfectly. 2015-01-25 16:27:04 -08:00
Michael Jumper
959a7a202d GUAC-994: Add support for interleaved_decompress() and planar_decompress() variants in FreeRDP 1.2.0-beta1+android9. Use working color conversion function (old one is present but will not work in 1.2.0). 2015-01-23 15:08:00 -08:00
Michael Jumper
67ed8c5791 GUAC-1008: Properly init clipping rectangle. 2015-01-15 17:03:26 -08:00
Michael Jumper
75f0fc7807 GUAC-996: Do not reset clip upon resize. Fix copy of surface data. 2015-01-09 16:00:03 -08:00
Michael Jumper
065e0fe462 GUAC-938: Bump version numbers for 0.9.4. 2015-01-06 15:23:01 -08:00
Michael Jumper
5fe8917bdc GUAC-974: Log reason for auth key failures. Add debug logging. 2015-01-04 19:56:32 -08:00
Michael Jumper
0b0c2aae93 GUAC-974: Auth key failures should abort as UNAUTHORIZED. 2015-01-04 19:17:40 -08:00
Michael Jumper
a5715ae3e0 GUAC-949: Increase display update interval to 500 ms. 2014-12-06 17:32:03 -08:00
James Muehlner
82e26aaca2 Merge pull request #9 from glyptodon/rdp-aspect-ratio
GUAC-947: Maintain aspect ratio when size is adjusted.
2014-12-05 16:57:03 -08:00
Michael Jumper
37276c081b GUAC-947: Maintain aspect ratio when size is adjusted to conform with Display Update specs. 2014-12-05 15:30:51 -08:00
James Muehlner
955dba4498 Merge pull request #7 from glyptodon/swedish-keymap
GUAC-930 - Implement Swedish keymap
2014-12-04 20:49:18 -08:00
James Muehlner
cbab9e2efb Merge pull request #8 from glyptodon/fix-rdp-segfault
GUAC-945: Do not attempt to load drdynvc unless Display Update is in use.
2014-12-03 16:01:36 -08:00
Michael Jumper
ca0107ba54 GUAC-945: Do not attempt to load drdynvc unless Display Update is in use. The interface of drdynvc is too different in versions of FreeRDP lacking Display Update. 2014-12-03 15:43:39 -08:00
James Muehlner
7ef33e5901 Merge pull request #5 from glyptodon/resize-with-dpi
GUAC-936: Use initial resolution for all future resizing of display.
2014-12-01 11:23:43 -08:00
Michael Jumper
05d1b8864c GUAC-930: Add Swedish keymap. 2014-11-28 19:35:30 -08:00
Michael Jumper
6fc1699d86 GUAC-930: Log keysyms which are sent via Unicode. 2014-11-28 19:21:10 -08:00
Michael Jumper
4b53f9f3a6 GUAC-911: Expand logging within SSH and telnet. 2014-11-28 17:20:02 -08:00
Michael Jumper
6ea36b5a27 GUAC-936: Use initial resolution for all future resizing of display. Suggest reasonable resolution only if resolution of display is not provided/forced. 2014-11-26 15:35:22 -08:00
Michael Jumper
6cd161a02d GUAC-935: Document parameters of newly-added functions. 2014-11-25 22:53:22 -08:00
Michael Jumper
d85a18c24d GUAC-935: Add missing headers. Fix test for PubSub. 2014-11-25 22:11:43 -08:00
Michael Jumper
904fcfe75a GUAC-935: Only update display size if it's been longer than 250ms. 2014-11-25 02:20:54 -08:00
Michael Jumper
eff4644a00 GUAC-888: Init socket last_write_timestamp during alloc, otherwise keep-alive math fails until data has been written, which may result in the keep-alive never being sent. 2014-11-22 17:23:01 -08:00
Michael Jumper
4cbb4001fc GUAC-865: Allow client-requested DPI to be overridden. 2014-11-21 16:45:47 -08:00
Michael Jumper
b812cc19a9 GUAC-865: Establish lock before sending size update. 2014-11-21 15:46:50 -08:00
Michael Jumper
2aec59dd23 GUAC-865: Do not log newline characters. 2014-11-21 14:25:05 -08:00
Michael Jumper
1fc80182a3 GUAC-865: rdpSettings may not have SupportDisplayControl, even if freerdp/client/disp.h is present. 2014-11-21 13:51:01 -08:00
Michael Jumper
a0e1e5f0c6 GUAC-865: Initial support for display update. 2014-11-21 13:30:24 -08:00
Michael Jumper
7064e12959 GUAC-852: Use rdpContext.codecs as a basis for determining whether FreeRDP uses _aligned_malloc() internally. 2014-11-20 21:41:38 -08:00
Michael Jumper
98195e606a GUAC-852: Abstract away color conversion. 2014-11-20 21:07:22 -08:00
Michael Jumper
f401597f10 GUAC-852: Use old bitmap_decompress if no codecs in context. Restore use of freerdp_image_flip. 2014-11-20 21:07:18 -08:00
Michael Jumper
7fae39b593 GUAC-852: Refactor bitmap_decompress within guac_rdp_bitmap_decompress. 2014-11-20 18:49:47 -08:00
Michael Jumper
7449543461 GUAC-852: Store raw ARGB32 palette internally, for future use in conversions. 2014-11-20 18:35:17 -08:00
Michael Jumper
3171da9e09 GUAC-852: Use freerdp_image_copy instead of freerdp_image_flip. 2014-11-20 18:01:58 -08:00
Michael Jumper
fc6758ffdf GUAC-852: Use freerdp_convert_gdi_order_color() for color conversion. 2014-11-20 18:01:05 -08:00
Michael Jumper
e2c28d9240 GUAC-852: Add bitmap_decompress implementation (partial stub - will not work with older FreeRDP). 2014-11-20 17:56:56 -08:00
Michael Jumper
f18d9ae831 GUAC-911: Replace old GUAC_RDP_DEBUG with calls to guac_client_log(). 2014-11-12 13:35:25 -08:00
Michael Jumper
c0eb7df97a GUAC-911: Log FreeRDP plugin load failures to warning level. 2014-11-12 12:02:38 -08:00
Michael Jumper
374a43b27a GUAC-923: Rename bounds_rect to clip_rect. Add function which restricts rects to surface bounds, distinct from the previous badly-named function which restricted rects to the clipping rect. 2014-11-10 10:26:00 -08:00
Michael Jumper
3b266b9f05 GUAC-911: Simplify guacd logging. Log to appropriate log levels. 2014-11-10 00:26:21 -08:00
Michael Jumper
24aa865ce2 GUAC-911: Align STDERR log messages at tabs. 2014-11-09 23:39:26 -08:00
Michael Jumper
6081ce6fa4 GUAC-911: Greatly increase available values for guac_error. Remove use of guac_error by non-library code. 2014-11-09 22:59:53 -08:00
Michael Jumper
3c83f61637 GUAC-911: Clean up logging in guacd. 2014-11-09 22:51:40 -08:00
Michael Jumper
f8484c0e1e GUAC-911: Log to STDERR always. 2014-11-09 21:00:59 -08:00
Michael Jumper
661193fcb0 GUAC-911: Add debug messages to common pieces dealing with guac_client. 2014-11-09 20:44:49 -08:00
Michael Jumper
614ba62980 GUAC-911: Removing use of logging from libguac. 2014-11-09 20:32:00 -08:00
Michael Jumper
f865656991 GUAC-911: Add and document log level option for guacd. 2014-11-09 19:47:11 -08:00
Michael Jumper
3ff5d5d690 GUAC-911: Separate parsing of level name into own function. 2014-11-09 19:39:11 -08:00
Michael Jumper
4b92233084 GUAC-911: Use guacd namespace. Replace log_prefix with macro. Use same log name for all. 2014-11-09 17:09:35 -08:00
Michael Jumper
c3f98b388a GUAC-911: Only log up to specified log level. Add comments to log.h. 2014-11-09 17:04:25 -08:00
Michael Jumper
049c366b78 GUAC-911: Add config file option for log levels. 2014-11-09 17:00:16 -08:00
Michael Jumper
f71067b024 GUAC-911: Reduce available log levels to ERROR, WARNING, INFO, and DEBUG. 2014-11-08 20:19:12 -08:00
Michael Jumper
431fd2de6f GUAC-911: Add log levels. Refactor guac_client_log_*() into guac_client_log(). 2014-11-07 16:32:19 -08:00
Michael Jumper
5f308c9f31 GUAC-891: Ensure updates are clipped within surface bounds. 2014-10-16 18:55:43 -07:00
Michael Jumper
0af6c7d22a GUAC-874: Load RDPDR and set device redirection if audio enabled. 2014-10-05 15:16:28 -07:00
Michael Jumper
3b8e2a5528 GUAC-874: Remove detection of FastPath settings. Rely on defaults. 2014-10-05 14:30:55 -07:00
Michael Jumper
b2ab26c727 GUAC-849: Check for presence of AudioPlayback setting in FreeRDP settings struct. 2014-10-04 20:26:01 -07:00
Michael Jumper
5bcd60b3ba GUAC-849: Set AudioPlayback flag if audio is enabled. 2014-10-04 19:47:11 -07:00
Michael Jumper
71674f8b7d Fix release - guacd.conf manpage needs to be included in EXTRA_DIST. 2014-09-30 01:31:54 -07:00
Michael Jumper
6dc35bcbad GUAC-855: Bump version to 0.9.3. 2014-09-19 11:28:34 -07:00
Michael Jumper
7b83b279d7 GUAC-659: Do not interpret AltGr as Right Alt. 2014-09-19 01:54:28 -07:00
Michael Jumper
ca9f2717d5 GUAC-792: Map Ctrl+2 to Ctrl+@, and Ctrl+3 through Ctrl+7 to the remaining codes, anchored such that Ctrl+6 is Ctrl+^. 2014-09-11 14:20:57 -07:00
Michael Jumper
76d6b04d53 GUAC-792: Implement remaining C0 control codes. 2014-09-11 13:33:34 -07:00
Michael Jumper
c6de459c76 GUAC-848: Fix typos and formatting of new manpage. 2014-09-09 14:23:51 -07:00
Michael Jumper
f5cb3589c9 GUAC-848: Add manpage for guacd.conf. 2014-09-09 14:10:18 -07:00
Michael Jumper
d217e1ee9c GUAC-847: Allow default location of config file to be overridden. 2014-09-08 14:41:49 -07:00
Michael Jumper
29c3aff5e2 GUAC-847: Embrace the pointless initialization. 2014-09-08 12:37:34 -07:00
Michael Jumper
eb39afc68a GUAC-847: Add pointless initialization to satisfy false-positive warnings. 2014-09-08 12:30:09 -07:00
Michael Jumper
4f5760af94 GUAC-847: Handle parse errors in callback. Actually parse config file. 2014-09-08 12:09:17 -07:00
Michael Jumper
318bcff5b5 GUAC-847: Actually read config file. 2014-09-08 11:54:51 -07:00
Michael Jumper
9b8d77891e GUAC-847: Add arbitrary data to callback. 2014-09-08 11:14:54 -07:00
Michael Jumper
9e57d01c99 GUAC-847: Read from file (stub). Override with args. 2014-09-08 11:09:29 -07:00
Michael Jumper
8c78f105cc GUAC-847: Add placeholder for file parsing. 2014-09-08 10:26:49 -07:00
Michael Jumper
4f578a160f GUAC-847: Rename conf-file to conf-parse. 2014-09-08 10:25:23 -07:00
Michael Jumper
6f3fd21232 GUAC-847: Implement recursive descent parser for guacd config files. 2014-09-08 02:12:49 -07:00
Felipe Weckx
405140cc8f GUAC-775 initialize stream handlers 2014-08-04 12:58:10 -07:00
Michael Jumper
c37e274977 GUAC-772: Bump version numbers to 0.9.2. 2014-07-21 13:32:09 -07:00
Michael Jumper
2fa1468386 GUAC-779: Terminal channel mutex must exist before terminal channel. 2014-07-21 11:23:36 -07:00
Michael Jumper
be9c56f9a3 GUAC-779: Synchronize access to shared libssh2 handles. 2014-07-21 11:15:55 -07:00
Michael Jumper
d608b3a30b GUAC-780: Init OpenSSL for sake of threads. 2014-07-21 10:48:02 -07:00
Michael Jumper
98c6e6496d GUAC-780: Ensure libgcrypt is initialized for pthreads if used by libssh2. OpenSSL should be OK. 2014-07-21 10:27:39 -07:00
Michael Jumper
fd800e6dd7 GUAC-771: Ensure display surface is available during initial connection. 2014-07-21 09:12:17 -07:00
Michael Jumper
c7a65d08cb GUAC-707: Clean version check logic. 2014-07-20 21:31:32 -07:00
Felipe Weckx
8c1a152467 GUAC-707 support for latest FreeRDP release (1.2.0-beta1) 2014-07-17 13:13:21 -07:00
Michael Jumper
0adf16c501 GUAC-763: Fix typo in comment. 2014-07-17 13:06:01 -07:00
Michael Jumper
46faa7ab85 GUAC-493: Coding style changes. 2014-07-17 12:54:40 -07:00
Felipe Weckx
e543d9eeb5 GUAC-493 Add keyboard-interactive ssh authentication method 2014-07-17 12:51:35 -07:00
Michael Jumper
d5c0c611bf GUAC-763: Fix comments. Do not continue searching for username after password has been found. 2014-07-17 12:39:19 -07:00
Michael Jumper
1e5fbba64e GUAC-763: Do not send mouse during username search either. 2014-07-17 12:34:57 -07:00
Michael Jumper
b2c6bc488b GUAC-763: Remove stripping of non-printable chars. It will break UTF-8, and the signedness of line_buffer makes the comparisons questionable. 2014-07-17 12:33:46 -07:00
Michael Jumper
e01eb6fc10 GUAC-763: Minor fixes for style. Fix username/password regex. 2014-07-17 12:21:53 -07:00
Felipe Weckx
7784ebc8d3 GUAC-763: Adjust telnet login automation to accept a regex for the username parameter 2014-07-17 12:10:00 -07:00
Michael Jumper
8d99c35a86 GUAC-769: Ensure socket output is handled in a threadsafe manner. 2014-07-10 16:49:13 -07:00
Michael Jumper
7be6bbfeae GUAC-764: Fully initialize character structure, to satisfy some C compilers and static analyzers. 2014-07-07 08:39:39 -07:00
Michael Jumper
ceb768e127 GUAC-743: Add missing comments to static functions. 2014-07-05 23:01:29 -07:00
Michael Jumper
d9e7ebde2f GUAC-743: Store and maintain connections within the client map structure. 2014-07-05 13:26:27 -07:00
Michael Jumper
02d493c9e5 GUAC-743: Implement client mapping structure. 2014-07-05 13:24:24 -07:00
Michael Jumper
dfafd021cf GUAC-762: Check for ossp/uuid.h vs uuid.h. 2014-07-02 13:33:47 -07:00
Michael Jumper
40124c11a6 GUAC-744: Send ready instruction BEFORE guac_client_init. Sending after is just crazy. 2014-06-26 15:32:35 -07:00
Michael Jumper
86a59c43b3 GUAC-744: Send ready instruction after guac_client_init. 2014-06-26 15:23:00 -07:00
Michael Jumper
a44539b108 GUAC-744: Generate and store connection ID within guac_client. 2014-06-26 15:09:44 -07:00
Michael Jumper
8cc6c987a9 GUAC-716: Stop password search if user input is detected. 2014-06-17 12:28:53 -07:00
Michael Jumper
f357197f86 GUAC-716: Add password and password-regex parameters. Search for password prompt if password parameter specified. 2014-06-17 12:24:07 -07:00
Michael Jumper
ad34c254e0 GUAC-748: Add username parameter to telnet. Pass username via NEW-ENVIRONMENT telnet option. 2014-06-16 18:07:13 -07:00
Michael Jumper
c56412f69e GUAC-734: Return to echo after HTS. Return to echo on unexpected characters within OSC. 2014-06-11 15:04:39 -07:00
Michael Jumper
adc15d50eb GUAC-730: Fix headers for VNC. 2014-06-11 11:15:35 -07:00
Michael Jumper
9c6770e016 GUAC-730: Fix headers for telnet. 2014-06-11 11:09:44 -07:00
Michael Jumper
48d1597418 GUAC-730: Fix headers for SSH. 2014-06-11 10:06:18 -07:00
Michael Jumper
1973f42f61 GUAC-730: Add missing rail headers to guac_handlers.c. 2014-06-10 19:37:06 -07:00
Michael Jumper
6f5991c504 GUAC-730: Fix headers for RDP. 2014-06-10 18:45:14 -07:00
Michael Jumper
8bc4864d9a GUAC-730: Add stddef.h to generated keymaps. Fix perl warning while we're at it. 2014-06-10 18:23:21 -07:00
Michael Jumper
fdc886a5fb GUAC-730: Fix headers in src/terminal. 2014-06-10 17:40:58 -07:00
Michael Jumper
cc2f3931a9 GUAC-730: Fix headers for guacd. 2014-06-10 17:25:40 -07:00
Michael Jumper
ea765ba602 GUAC-730: Fix headers for src/common. 2014-06-10 17:20:49 -07:00
Michael Jumper
9c475c3a68 GUAC-730: Fix headers for libguac. 2014-06-10 16:54:08 -07:00
Michael Jumper
d19100ca6b GUAC-728: Take character width into account when displaying (and retrieving) selection. 2014-06-06 14:05:41 -07:00
Michael Jumper
6433115468 GUAC-727: Remove glyph cache from terminal. 2014-06-05 21:00:21 -07:00
Michael Jumper
6473f5029a GUAC-726: Only overwrite invalid portions of adjacent regions to an edge. 2014-06-05 12:31:03 -07:00
Michael Jumper
98a18f45c4 GUAC-726: Fix width calculation math. Do not search for start past column 0. 2014-06-05 12:13:05 -07:00
Michael Jumper
99cef299f1 GUAC-726: Replace overwrite function with much saner function based on character validity checks along column edges. 2014-06-05 11:55:21 -07:00
Michael Jumper
4e16a31600 GUAC-717: Handle each logical subregion of a copy as a separate overwrite. 2014-06-04 16:42:01 -07:00
Michael Jumper
b54e750a31 GUAC-717: Clear up to character end when setting characters. Handle character overwrite as part of copy. 2014-06-04 15:58:52 -07:00
Michael Jumper
8b8b351966 GUAC-717: Clear up to overwritten character start when setting characters. 2014-06-04 14:41:47 -07:00
Michael Jumper
a8ef6f5c40 GUAC-717: Set continuation character for wide chars as necessary. 2014-06-04 14:04:41 -07:00
Michael Jumper
91f1148e8f GUAC-717: Add GUAC_CHAR_CONTINUATION sentinel. Add width property to characters. 2014-06-04 11:24:39 -07:00
Michael Jumper
c84a88d35a GUAC-718: Set locale (for sake of wcwidth()). Warn if locale does not use UTF-8. 2014-06-02 16:01:13 -07:00
Michael Jumper
b106e13bb1 GUAC-718: Scale text layout to fit within ideal size. 2014-06-02 15:34:48 -07:00
Michael Jumper
122a8095e4 GUAC-718: Advance cursor by column width of echo'd characters. 2014-06-02 12:53:40 -07:00
Michael Jumper
b5087a2a6f GUAC-718: Update display to cache and use variable-width glyphs. 2014-06-02 12:52:42 -07:00
Michael Jumper
3bd145a059 GUAC-678: Add missing OpenSSL init. 2014-05-27 12:34:05 -07:00
Michael Jumper
e98d1ad79c GUAC-681: Bump version numbers to 0.9.1. 2014-05-22 12:27:48 -07:00
Michael Jumper
6a93033b97 GUAC-670: Reduce required version of Perl. 2014-05-20 17:01:07 -07:00
Michael Jumper
e0e57b1885 GUAC-658: Add missing include for socket.h 2014-05-20 10:55:38 -07:00
Michael Jumper
dbaca11d68 GUAC-688: Fix segfault on resize. 2014-05-13 10:41:06 -07:00
Michael Jumper
51093201f5 GUAC-675: Document return value of __guac_common_surface_transfer_int(). 2014-05-12 21:46:36 -07:00
Michael Jumper
cad60299e1 GUAC-687: Only update backing surface first if the destination rect cannot intersect the source rect. 2014-05-12 14:43:50 -07:00
Michael Jumper
3e0828d6da GUAC-687: Initialize newly-allocated buffer space to transparent black. 2014-05-12 13:50:51 -07:00
Michael Jumper
9746ea68a4 GUAC-687: Use correct rect when checking for fully clipped updates. 2014-05-12 13:44:51 -07:00
Michael Jumper
89b0a452a5 GUAC-687: Do not allow empty updates to the dirty rect. 2014-05-12 13:27:33 -07:00
Michael Jumper
584ca5f35c GUAC-675: Update comments reflecting new use of guac_common_rect. 2014-05-12 09:20:22 -07:00
Michael Jumper
2bbbda3ca9 GUAC-675: Source coordinates must be updated along with rect. 2014-05-12 02:26:04 -07:00
Michael Jumper
07f6712591 GUAC-675: Optimize copy. 2014-05-12 02:01:09 -07:00
Michael Jumper
573f524dee GUAC-675: Optimize output of rect. 2014-05-12 01:45:55 -07:00
Michael Jumper
c0b955fab0 GUAC-675: Add rect struct. Migrate surface to new rect struct. 2014-05-12 01:39:52 -07:00
Michael Jumper
32474c1114 GUAC-675: Lengthen maximum frame duration. 2014-05-11 23:42:27 -07:00
Michael Jumper
a9ba417891 GUAC-675: Narrow update rect to contain only different pixels. 2014-05-11 12:28:19 -07:00
Michael Jumper
442a520150 GUAC-674: Fix typo in comment. Make __guac_common_surface_flush_to_png() static. 2014-05-11 12:28:07 -07:00
Michael Jumper
0da9df3620 GUAC-674: Add comments for all static functions. 2014-05-09 18:56:16 -07:00
Michael Jumper
78d7c3e9ab GUAC-674: Inspect and re-inspect queue when combining. 2014-05-09 18:45:10 -07:00
Michael Jumper
7fc3fe1fdc GUAC-674: Queue and combine png updates. Lengthen RDP frame timeout to 10ms. 2014-05-09 15:39:00 -07:00
Michael Jumper
d42cd23f87 GUAC-654: Comment guac_handlers.h properly. 2014-05-07 21:29:36 -07:00
Michael Jumper
13e205a0e5 GUAC-654: Add missing comments to telnet_client.c 2014-05-07 21:19:15 -07:00
Michael Jumper
4a7e5609f5 GUAC-654: Implement local echo. 2014-05-07 15:30:48 -07:00
Michael Jumper
b87d99cc40 GUAC-654: Do NOT block indefinitely while waiting for socket to die. 2014-05-07 15:19:53 -07:00
Michael Jumper
6b33c8eeda GUAC-654: Fix namespace and style. 2014-05-07 14:36:49 -07:00
Michael Jumper
30a31d07cf GUAC-654: Add negotiation and handling of NAWS (window size). 2014-05-07 14:19:27 -07:00
Michael Jumper
a7d1dde24f GUAC-654: Implement simple telnet client. No screen resize yet. 2014-05-07 13:46:25 -07:00
Michael Jumper
7c08593b83 GUAC-653: Restore file upload for SSH. 2014-05-06 17:14:40 -07:00
Michael Jumper
0acd219a88 GUAC-653: Remove unneeded includes. 2014-05-06 16:45:36 -07:00
Michael Jumper
92f0d4b36b GUAC-653: Remove direct reference to internal terminal pipes. 2014-05-06 16:41:48 -07:00
Michael Jumper
470dc67c34 GUAC-653: Implement render_frame function. 2014-05-06 16:12:29 -07:00
Michael Jumper
81229d9fe4 GUAC-653: Separate terminal API into public/internal/low-level pieces (in spirit). 2014-05-06 15:55:30 -07:00
Michael Jumper
f2781ed0cc GUAC-653: Move mouse and key handling into terminal. Move clipboard into terminal. 2014-05-05 19:02:41 -07:00
Michael Jumper
455f2e543a GUAC-653: Update namespace in common terminal code. 2014-05-05 16:36:49 -07:00
Michael Jumper
b4e7f95603 GUAC-653: Move terminal code to common location. 2014-05-05 16:17:59 -07:00
Michael Jumper
f1b75335ae GUAC-669: Remove include which was intended for debugging only. 2014-05-05 11:21:00 -07:00
Michael Jumper
014e245baa GUAC-669: Limit how high the fill pattern heuristic is allowed to increase update cost. 2014-05-05 11:17:38 -07:00
Michael Jumper
c5ada6631c GUAC-667: Draw glyphs directly to surface. 2014-05-05 00:28:07 -07:00
Michael Jumper
3554e88efa GUAC-667: Add masked paint operation. 2014-05-05 00:27:48 -07:00
Michael Jumper
1047c6192c GUAC-667: Implement clipping within common surface. 2014-05-04 23:39:02 -07:00
Michael Jumper
b2d74c92a2 GUAC-667: Remove unnecessary use of Cairo surface within common - just update buffer. 2014-05-04 16:35:09 -07:00
Michael Jumper
dbec5a5957 GUAC-666: Detect left-to-right fill pattern. 2014-05-03 21:11:42 -07:00
Michael Jumper
84fb0d8681 GUAC-665: Narrow cost estimation algorithm. 2014-05-01 19:22:47 -07:00
Michael Jumper
5b2f824097 GUAC-660: Do not send initial size unless layer is visible. Do not dispose unless layer was created. 2014-05-01 12:23:37 -07:00
Michael Jumper
8f1f0907e7 GUAC-662: Migrate VNC to guac_common_surface. 2014-05-01 11:27:26 -07:00
Michael Jumper
25ab9a0134 GUAC-662: Implement resize for guac_common_surface. 2014-05-01 11:27:10 -07:00
Michael Jumper
d4aed54ca4 GUAC-662: Updates to backing surface should happen AFTER possible flushes. 2014-05-01 10:25:54 -07:00
Michael Jumper
25784acc6f GUAC-656: Remove old debug log. 2014-04-30 20:46:26 -07:00
Michael Jumper
8cc932391d GUAC-656: Implement transfer and copy. 2014-04-30 19:55:56 -07:00
Michael Jumper
c786854b63 GUAC-656: Implement rect, clean logic. 2014-04-30 19:09:38 -07:00
Michael Jumper
98a041336a GUAC-656: Implement flush. Implement draw. 2014-04-30 16:45:09 -07:00
Michael Jumper
db96b5f691 GUAC-656: Add logging message noting intent (actual surface not implemented). 2014-04-30 15:58:43 -07:00
Michael Jumper
4a4ced40ed GUAC-656: Remove surface resize - not needed for now. 2014-04-30 14:33:04 -07:00
Michael Jumper
b6e323a7a2 GUAC-656: Flush default surface after handling updates. 2014-04-30 13:54:39 -07:00
Michael Jumper
5f0250fb1f GUAC-656: Free buffer last - surface needs to send dispose. 2014-04-30 12:32:19 -07:00
Michael Jumper
25d8b47bd3 GUAC-656: Send size and dispose when alloc/free surface. 2014-04-30 11:59:43 -07:00
Michael Jumper
f8ac59798f GUAC-656: Migrate RDP to guac_common_surface. 2014-04-30 11:46:04 -07:00
Michael Jumper
f6ccfd1211 GUAC-656: Add instructions to stubs. Match prototype of surface function to that of protocol function. 2014-04-29 19:15:21 -07:00
Michael Jumper
5d6e04171c GUAC-656: Implement alloc/free for surface. 2014-04-29 16:06:44 -07:00
Michael Jumper
3b541f70ee GUAC-656: Add simple surface and stubs. 2014-04-29 15:57:37 -07:00
Michael Jumper
4766970015 GUAC-621: During resize, keep cursor on screen and redraw cursor if necessary. 2014-04-16 14:46:00 -07:00
Michael Jumper
9229457dd4 GUAC-621: Only increase buffer length if real character data was written (not cleared). 2014-04-16 14:31:51 -07:00
Michael Jumper
4d48dc384b GUAC-622: Do not log a pointless error every time the client disconnects properly. Just stop the client - we have a function for that now. 2014-04-14 12:20:08 -07:00
Michael Jumper
e1ac588296 GUAC-622: Just log normal error messages if guac_error not set. Init guac_error before plugin load. 2014-04-14 12:01:36 -07:00
Michael Jumper
3823165d7f GUAC-598: Fix warnings against SSH. 2014-04-11 13:48:06 -07:00
Michael Jumper
5f84cbc5e4 GUAC-598: Use unsigned instead of u_ type. 2014-04-11 13:48:06 -07:00
Michael Jumper
d24aaeb614 GUAC-598: Bring up to compliance with POSIX standard claimed by source. 2014-04-11 13:48:06 -07:00
Michael Jumper
20222beaed GUAC-598: Fix warning regarding unsigned comparison against zero. 2014-04-11 13:48:06 -07:00
Michael Jumper
15dc035db1 GUAC-597: Remove unnecessary dlopen() test, add automatically generated dlopen() test result to Makefile.am. 2014-04-11 13:48:06 -07:00
Michael Jumper
26147afff0 GUAC-613: Fix header annotation in Doxygen comment in pool-types.h (wrong filename). 2014-04-10 15:54:02 -07:00
Michael Jumper
de8c64a03a GUAC-614: Remove old prototypes from RDP guac handlers. 2014-04-10 15:42:46 -07:00
Michael Jumper
7be9a87fae GUAC-614: Remove old prototype. 2014-04-10 15:40:40 -07:00
Michael Jumper
0096cf677c GUAC-614: Migrate RDP to simpler stream API. Add missing linkage to RDP build. Fix last character truncation bug. 2014-04-10 14:53:32 -07:00
Michael Jumper
83093f1bd3 GUAC-614: Migrate SSH to simpler stream API. 2014-04-10 13:47:36 -07:00
Michael Jumper
18407fdc37 GUAC-614: Migrate VNC to simpler stream API. 2014-04-10 13:40:22 -07:00
Michael Jumper
1dd2982f06 GUAC-611: Fix initialization of stream. 2014-04-09 22:13:49 -07:00
Michael Jumper
479800c711 GUAC-608: Add missing Doxygen annotation. 2014-04-09 22:08:31 -07:00
Michael Jumper
78b4ad56a1 GUAC-611: Add missing headers. 2014-04-09 19:09:41 -07:00
Michael Jumper
205f85dafd GUAC-611: Add per-stream handlers for ack/blob/end. Simplify ack/blob/end contents. Reorganize headers to eliminate circular dependencies. 2014-04-09 18:42:29 -07:00
Michael Jumper
2c4ae68da0 GUAC-608: Add support for outbound clipboard for SSH. Partial inbound support. 2014-04-09 11:40:09 -07:00
Michael Jumper
3c70e87aef GUAC-608: Add inbound clipboard. Remove use of iconv(). 2014-04-08 17:08:29 -07:00
Michael Jumper
c9b077af4c GUAC-608: Convert VNC outbound clipboard to common code. Stub inbound clipboard. 2014-04-08 16:42:10 -07:00
Michael Jumper
c95e2fd056 GUAC-608: Make guac_iconv input const. 2014-04-08 16:33:43 -07:00
Michael Jumper
6743795a68 GUAC-608: Migrate RDP to common clipboard code for inbound data. 2014-04-08 15:31:56 -07:00
Michael Jumper
3cf644009f GUAC-608: Migrate RDP to common clipboard code for outbound data. 2014-04-08 15:06:54 -07:00
Michael Jumper
855e32c7a5 GUAC-608: Add common clipboard code. 2014-04-08 14:56:37 -07:00
Michael Jumper
2aa7252d1b GUAC-608: Implement outbound clipboard streaming. Stub out inbound. 2014-04-07 19:22:53 -07:00
Michael Jumper
85cde821a4 GUAC-608: Change semantics of clipboard instruction within libguac. 2014-04-07 17:08:16 -07:00
Michael Jumper
e5c34f8661 GUAC-594: Update man page regarding certificate chains. 2014-04-07 15:31:24 -07:00
Michael Jumper
3b372da120 GUAC-593: Allow certificate chain import. 2014-04-07 15:16:25 -07:00
Michael Jumper
c180de9444 GUAC-447: Implement paste of Unicode text. 2014-04-02 15:35:09 -07:00
Michael Jumper
3f19e2b2bb GUAC-584: Name of constant should be CP1252, not ISO-8859-1. 2014-04-02 14:22:22 -07:00
Michael Jumper
49ffaf0826 GUAC-584: Use CP1252 for RDP copy of non-unicode text. 2014-04-02 14:10:45 -07:00
Michael Jumper
da5404f612 GUAC-584: Add support for CP1252 and ISO-8859-1. 2014-04-02 14:08:41 -07:00
Michael Jumper
b203cf1fd2 GUAC-584: Remove old free() - no longer necessary as buffer is static. 2014-04-01 23:40:00 -07:00
Michael Jumper
7cf5d02019 GUAC-584: Simplify copy logic. Store clipboard in static 256K buffer. Convert from UTF16 properly. 2014-04-01 18:41:55 -07:00
Michael Jumper
04ac42811f GUAC-584: Implement UTF16. Clean up tests. 2014-04-01 17:42:04 -07:00
Michael Jumper
ccc2526282 GUAC-584: Implement UTF8 read and write. Add basic identity test. 2014-04-01 16:46:29 -07:00
Michael Jumper
dfc18e14a4 GUAC-584: Add iconv-style function in common. Stub implementation and test. 2014-04-01 16:25:14 -07:00
Michael Jumper
bbf451a552 GUAC-584: Handle Unicode data (STUB). Need real conversion code with actual length calculations. 2014-03-31 16:33:23 -07:00
Michael Jumper
0b414ed9b5 GUAC-584: Add basic handling for Unicode text - just stubs, no converting to UTF-8 yet. 2014-03-31 15:46:49 -07:00
Michael Jumper
78d998a076 GUAC-573: Add new keymaps and generator.pl to EXTRA_DIST. 2014-03-26 11:07:45 -07:00
Michael Jumper
d1a66f5616 GUAC-552: If resolution is above 96 DPI, try to find a reasonable screen size at 96 DPI or 120 DPI, using native resolution as a last resort. 2014-03-25 14:25:34 -07:00
Michael Jumper
60d4e90c4b GUAC-569: Bump version numbers of guacamole-server components to 0.9.0. Update libtool version info for libguac. 2014-03-25 11:08:36 -07:00
Michael Jumper
59607c6013 GUAC-556: Remove unnecessary guac_socket_flush(). 2014-03-24 00:31:15 -07:00
Michael Jumper
894229ded2 GUAC-561: Send CLIENT_TIMEOUT if client is not responding. 2014-03-22 15:14:46 -07:00
Michael Jumper
26b5a0c21e GUAC-556: Abort at higher level in RDP message wait function. 2014-03-22 14:56:09 -07:00
Michael Jumper
81d7731e8a GUAC-556: Use guac_client_abort() for VNC errors. Use appropriate error codes. 2014-03-22 14:51:21 -07:00
Michael Jumper
22b2618562 GUAC-556: Use guac_client_abort() for RDP errors. 2014-03-22 14:42:22 -07:00
Michael Jumper
6e6af91cfa GUAC-556: Send proper errors for SSH. 2014-03-21 19:47:42 -07:00
Michael Jumper
d0dadf6a9c GUAC-556: Add guac_client_abort() function for convenience. 2014-03-21 19:47:19 -07:00
Michael Jumper
bd40dd30b2 GUAC-556: Send UPSTREAM_ERROR for unexpected disconnect and failure to connect in RDP. 2014-03-19 22:16:35 -07:00
Michael Jumper
fdf2036cfe GUAC-548: Migrate to new error codes throughout protocol support. 2014-03-18 12:26:01 -07:00
Michael Jumper
3105cfbb48 GUAC-548: Rename and expand error codes. 2014-03-18 12:25:19 -07:00
Michael Jumper
680b3cc147 Analogous legacy macro for Stream_Length() is stream_get_size(), not stream_get_length(). 2014-03-11 17:01:13 -07:00
Michael Jumper
91d381d055 Include winpr-compat in main build. 2014-03-11 16:42:41 -07:00
Michael Jumper
cdc532e8ba Use fixed-size SVC name buffer. Validate length. 2014-03-06 11:48:52 -08:00
Michael Jumper
bccc1c7c76 Clean up streaming code - migrate to separate rdp_stream.[ch] 2014-03-03 16:18:14 -08:00
Michael Jumper
243f24722c Fix typo in comment. 2014-03-03 15:31:00 -08:00
Michael Jumper
86d2266580 Handle pipe receive, write to SVC. 2014-03-02 12:38:28 -08:00
Michael Jumper
ed367824a6 Add receive stub for inbound pipes. 2014-03-02 12:15:17 -08:00
Michael Jumper
e26c0122fd Properly associate inbound pipes. 2014-03-02 12:06:08 -08:00
Michael Jumper
e37c5c462f Add typing to stream data. 2014-03-02 11:53:21 -08:00
Michael Jumper
38e4c9afba Implement SVC remove. Rely on terminate for SVC cleanup. 2014-03-02 11:24:06 -08:00
Michael Jumper
2d885fdec2 Send any received data to pipe. 2014-03-02 11:12:27 -08:00
Michael Jumper
38aa467233 Create outbound pipes for SVC. 2014-03-02 10:51:52 -08:00
Michael Jumper
d630d66c8b Implement get for SVC. 2014-03-02 10:46:38 -08:00
Michael Jumper
67a647b88d Fix bug in list. 2014-03-02 10:39:36 -08:00
Michael Jumper
912cc4d0cf Maintain SVC list. 2014-03-02 10:38:31 -08:00
Michael Jumper
4b1c8ec7ff Actually load guacsvc plugin for each static channel. 2014-03-02 10:09:32 -08:00
Michael Jumper
cc5793a39b Move SVC data into own structure. Add stubs for management. 2014-03-02 09:56:47 -08:00
Michael Jumper
b835299898 Store channel names as NULL-terminated list. Stub out init. 2014-03-01 22:48:15 -08:00
Michael Jumper
464c94501d Add string utility functions and unit tests. 2014-03-01 21:31:52 -08:00
Michael Jumper
b88e23a7d2 Add static-channels and corresponding storage. 2014-03-01 16:43:55 -08:00
Michael Jumper
aa4896da07 Add guacsvc plugin. 2014-03-01 16:42:39 -08:00
Michael Jumper
d0d34a63b9 Implement pipe instruction and handlers. 2014-02-28 18:46:09 -08:00
Michael Jumper
a6a72d950c Rename parameters more sanely. Add support for working dir. 2014-01-30 00:42:37 -08:00
Michael Jumper
007cb2c66c Fix args. 2014-01-30 00:30:29 -08:00
Michael Jumper
59abfadbd1 Compatibility with legacy FreeRDP. 2014-01-30 00:17:23 -08:00
Michael Jumper
10d987a0c3 Working RemoteApp with current FreeRDP. 2014-01-30 00:04:31 -08:00
Michael Jumper
68879cc2ec Init RemoteApp settings. Load RAIL plugin. 2014-01-29 16:25:30 -08:00
Michael Jumper
56c8c4f740 Add arguments for RemoteApp name and command. 2014-01-29 15:58:04 -08:00
Michael Jumper
8bf6f47b7e Add log instruction, for inserting debug information into the protocol stream. 2014-01-19 16:59:52 -08:00
Michael Jumper
a83cd54cf1 Fix linking of VNC library (missing common objects). 2014-01-08 18:43:16 -08:00
Michael Jumper
0522077963 Migrate RDP to common pointer code. 2014-01-06 16:21:23 -08:00
Michael Jumper
93639cbf12 Move VNC pointers to common. 2014-01-06 16:18:54 -08:00
Michael Jumper
50bb5d132f Migrate to guac_* namespace. 2014-01-06 16:01:51 -08:00
Michael Jumper
da3bef2119 Add common utility sources. 2014-01-06 15:53:22 -08:00
Michael Jumper
5afe6daac9 Fix logic error in keymap find proc. 2014-01-03 12:06:19 -08:00
Michael Jumper
be90a449e7 Add French keymap. 2014-01-03 02:08:06 -08:00
Michael Jumper
371715d058 Add German keymap. 2014-01-03 01:55:51 -08:00
Michael Jumper
d041c1aaab Fix Unicode support in generator. 2014-01-03 01:03:57 -08:00
Michael Jumper
6027084b05 Add failsafe keymap. 2014-01-02 23:54:15 -08:00
Michael Jumper
4e47154aff Remove unneeded .gitignore. 2014-01-02 23:43:54 -08:00
Michael Jumper
3a922355e3 Implement keymap find. 2014-01-02 23:41:16 -08:00
Michael Jumper
54a570e0d3 Remove keymaps. 2014-01-02 22:34:42 -08:00
Michael Jumper
4d684d7166 Rename generated file. 2014-01-02 22:30:14 -08:00
Michael Jumper
8e3c512256 Add keymap generation to build. 2014-01-02 22:24:02 -08:00
Michael Jumper
b840935530 Generate one file. 2014-01-02 21:54:17 -08:00
Michael Jumper
b805e35ca7 Also generate main header and source. 2014-01-02 21:23:31 -08:00
Michael Jumper
a0531ca152 Add keymap parsing script and corresponding keymap for en-us. 2014-01-02 17:17:35 -08:00
Michael Jumper
54b16f2db4 Send pointer cursor by default, until overridden by VNC server. 2014-01-02 12:32:25 -08:00
Michael Jumper
7643d61c7e Add pointer cursor. 2014-01-02 12:17:08 -08:00
Michael Jumper
c4518c7781 Rename default pointer. 2014-01-02 11:41:32 -08:00
Michael Jumper
735c5778db Ensure read errors result in the client closing. 2014-01-01 20:18:43 -08:00
Michael Jumper
442ed427a0 Clean up includes, clean up build. 2014-01-01 14:52:01 -08:00
Michael Jumper
0303c4e24b Relicense everything (except French keymap) as MIT. Status of French keymap is TBD. 2014-01-01 14:46:18 -08:00
Michael Jumper
57f7149786 Clean up handling of event flags. 2013-12-28 18:20:51 -08:00
Michael Jumper
c81be87790 Scale back resolution assuming 96 DPI on the desktop side. 2013-12-27 00:34:37 -08:00
Michael Jumper
78202d25ba Pay attention to DPI when rendering terminal. 2013-12-27 00:28:23 -08:00
Michael Jumper
ee1731cf9b Add resolution member to client info struct. Interpret new third parameter for screen size. 2013-12-27 00:07:17 -08:00
Michael Jumper
6479d0e8fa Start download if file moved to Download folder. 2013-12-17 22:47:00 -08:00
Michael Jumper
88f9f883b4 Move download logic into own function. 2013-12-17 22:46:15 -08:00
Michael Jumper
a1d4e2d2e6 Add maximum buffer size. 2013-12-17 14:28:20 -08:00
Michael Jumper
7ee813bbfd Allocate buffer to allow large reads, rather than force all reads down to 4K. 2013-12-17 14:17:56 -08:00
Michael Jumper
c38b687ab6 Add namespace to DEBUG variable, add missing UINT64 type to compat. 2013-12-11 22:27:35 -08:00
Michael Jumper
478235be70 Check path lengths. 2013-12-11 15:00:00 -08:00
Michael Jumper
89b55ecab5 Explicitly do not support locks or setting label. 2013-12-11 14:40:08 -08:00
Michael Jumper
866ba2a7b9 Handle device info. 2013-12-11 14:21:59 -08:00
Michael Jumper
5e87949e31 Implement rest of dir info. 2013-12-11 14:11:16 -08:00
Michael Jumper
672e20c051 Add HIDDEN and ARCHIVE attributes. 2013-12-11 13:49:02 -08:00
Michael Jumper
e0450d0dc5 Remove unnecessary alloc. 2013-12-11 13:48:41 -08:00
Michael Jumper
56bb0b3740 Fix size and full size info. 2013-12-11 01:25:54 -08:00
Michael Jumper
338b83a3a7 Ignore write access request if file is a directory. 2013-12-11 01:25:40 -08:00
Michael Jumper
6d88bec136 Implement directory deletion. 2013-12-10 23:12:13 -08:00
Michael Jumper
647850c8ce Tighten scope, fix initialization. 2013-12-10 23:12:01 -08:00
Michael Jumper
7d0e8093eb Improve logging. 2013-12-09 00:41:27 -08:00
Michael Jumper
f17cd33aa4 Implement size info. 2013-12-09 00:41:27 -08:00
Michael Jumper
efc7477ef5 Free stream data. Delete file after opening for download. 2013-12-09 00:41:27 -08:00
Michael Jumper
ee20114c67 Ignore acks for non-download streams. 2013-12-09 00:41:27 -08:00
Michael Jumper
d30ade6bef Implement file download. 2013-12-09 00:41:27 -08:00
Michael Jumper
b262440ba5 Move download-specific logic to rdpdr. 2013-12-09 00:41:27 -08:00
Michael Jumper
f4ff04ab30 Initiate download whenever file written within Download folder. 2013-12-09 00:41:27 -08:00
Michael Jumper
ef8d8e3bc1 Remove check for download from open. Add tracking of file writes. 2013-12-09 00:41:26 -08:00
Michael Jumper
847f9451c1 RemoveSent and Outbox special dirs - use only Download. 2013-12-09 00:41:26 -08:00
Michael Jumper
3a7c9bbc5d Add flag and stub for download. 2013-12-09 00:41:26 -08:00
Michael Jumper
1570072b46 Only complain about EEXIST for mkdir() if O_EXCL is set. Directory creation open should use ACCESS_GENERIC_READ (anything with WRITE will fail). 2013-12-09 00:41:26 -08:00
Michael Jumper
96637b5d19 Create Sent as necessary. 2013-12-09 00:41:26 -08:00
Michael Jumper
e5f919f75c Reroute files from Outbox to Sent. 2013-12-09 00:41:26 -08:00
Michael Jumper
296836f65d Implement file truncation. 2013-12-09 00:41:26 -08:00
Michael Jumper
3ebed6a85c Fix handling of append. 2013-12-09 00:41:26 -08:00
Michael Jumper
52e65e043a Implement deletion. 2013-12-09 00:41:26 -08:00
Michael Jumper
9d85704f03 Additional debugging. Advertise case sensitivity in vol info. 2013-12-09 00:41:26 -08:00
Michael Jumper
742452b1d4 IMPLEMENT UPLOAD!!! 2013-12-09 00:41:26 -08:00
Michael Jumper
aacb726b66 Separate RDP filesystem operations from RDPDR. 2013-12-09 00:41:26 -08:00
Michael Jumper
28c3c7d926 Move read/write to rdpdr_fs. 2013-12-09 00:41:26 -08:00
Michael Jumper
77db391a12 Implement rename. 2013-12-09 00:41:26 -08:00
Michael Jumper
a72fbe5745 Add debug messages, stub basic info set, implement attribute tag query. 2013-12-09 00:41:26 -08:00
Michael Jumper
b5af07aee2 Fix directory creation. 2013-12-09 00:41:26 -08:00
Michael Jumper
dfd55f0ba4 Add debug/trace logging. 2013-12-09 00:41:25 -08:00
Michael Jumper
caea2d4acd Add debug header. 2013-12-09 00:41:25 -08:00
Michael Jumper
70b361b8b6 Handle mkdir() return code. 2013-12-09 00:41:25 -08:00
Michael Jumper
39c31faa9b Add error codes and better handling. 2013-12-09 00:41:25 -08:00
Michael Jumper
3400e9b122 Create directory if necessary. 2013-12-09 00:41:25 -08:00
Michael Jumper
655cb8e9f2 Implement attribute info query. 2013-12-09 00:41:25 -08:00
Michael Jumper
22d0e496f5 Move to IOCOMPLETION function rather that duplicating header everywhere. 2013-12-09 00:41:25 -08:00
Michael Jumper
911746ae24 Add options for file attributes and create options to open. Fix create disposition of files in directory list. 2013-12-09 00:41:25 -08:00
Michael Jumper
67c461be40 Use constants for file mode. 2013-12-09 00:41:25 -08:00
Michael Jumper
da7168e161 Correct (theoretically) semantics of open create disposition. 2013-12-09 00:41:25 -08:00
Michael Jumper
f9cf524993 Ignore set end-of-file and set allocation. 2013-12-09 00:41:25 -08:00
Michael Jumper
683e8c24c0 Add stubs for file information set operations. 2013-12-09 00:41:25 -08:00
Michael Jumper
f7acfbb1a0 Fix use of mode within open(). 2013-12-09 00:41:25 -08:00
Michael Jumper
c07d8dd950 Only register drive if enabled. 2013-12-09 00:41:25 -08:00
Michael Jumper
a41752aead Remove stub logging of bytes received. 2013-12-09 00:41:25 -08:00
Michael Jumper
5004986563 Add file upload stubs. 2013-12-09 00:41:25 -08:00
Michael Jumper
c70efcea4d Handle other write flags, log and handler read/write errors. 2013-12-09 00:41:24 -08:00
Michael Jumper
582e1a60b3 Implement write. 2013-12-09 00:41:24 -08:00
Michael Jumper
7a1b76881f Implement pattern matching in dir search. 2013-12-09 00:41:24 -08:00
Michael Jumper
c2e1065ea2 Remove STATUS_NO_MORE_FILES log message. 2013-12-09 00:41:24 -08:00
Michael Jumper
d0ee38f7c6 Remove and cleanup logging. 2013-12-09 00:41:24 -08:00
Michael Jumper
f50529dac0 Fix buffer size. 2013-12-09 00:41:24 -08:00
Michael Jumper
65c5ed379e Implement read. 2013-12-09 00:41:24 -08:00
Michael Jumper
3217b97f26 Add ffunction for retrieving a file by file ID safely. Migrate to new function. 2013-12-09 00:41:24 -08:00
Michael Jumper
dd1761790a Fix query directory response (missing final null byte). 2013-12-09 00:41:24 -08:00
Michael Jumper
98a1a494cd Modify output to match rdesktop packets more closely. Still doesn't work. 2013-12-09 00:41:24 -08:00
Michael Jumper
aec6c167e3 Do not send information for open. 2013-12-09 00:41:24 -08:00
Michael Jumper
1c3d0ba741 Add missing length to dir query response. 2013-12-09 00:41:24 -08:00
Michael Jumper
dfa30fbef6 Fill output with zeroes for short name. 2013-12-09 00:41:24 -08:00
Michael Jumper
353b6316ac Stub device control (always succeed). 2013-12-09 00:41:24 -08:00
Michael Jumper
b6fb2b850b Implement standard info. 2013-12-09 00:41:24 -08:00
Michael Jumper
634eb17b20 Remove reserved fields, fix packet lengths. 2013-12-09 00:41:24 -08:00
Michael Jumper
95230ae901 Use generic access, default to read-only. 2013-12-09 00:41:24 -08:00
Michael Jumper
cf3196d8ca Properly calculate remaining length of path. 2013-12-09 00:41:23 -08:00
Michael Jumper
34586265da Stubbed dir info. Remove name from file struct. Fix read_dir. 2013-12-09 00:41:23 -08:00
Michael Jumper
f00cb33619 Implement UTF-8 to UTF-16 conversion function. 2013-12-09 00:41:23 -08:00
Michael Jumper
94888d1f47 Move to libguac unicode functions in RDP. 2013-12-09 00:41:23 -08:00
Michael Jumper
439cd7c903 Move to attributes rather than type. 2013-12-09 00:41:23 -08:00
Michael Jumper
32fdcdc660 Fix path conversion. Convert path in dir info. 2013-12-09 00:41:23 -08:00
Michael Jumper
69d636860d Add path normalization. 2013-12-09 00:41:23 -08:00
Michael Jumper
52f9bac805 Add guac_rdpdr_fs_read_dir(). Bump _POSIX_C_SOURCE value as necessary for fdopendir(). 2013-12-09 00:41:23 -08:00
Michael Jumper
9773f348e2 Actually close in close. 2013-12-09 00:41:23 -08:00
Michael Jumper
06c2dfd8d2 Add file_id to volume queries, send real times and attributes back. 2013-12-09 00:41:23 -08:00
Michael Jumper
117e9053f4 Pull file type during open. 2013-12-09 00:41:23 -08:00
Michael Jumper
06a18f6766 Pull info from stat() during file open. 2013-12-09 00:41:23 -08:00
Michael Jumper
2f662257d9 Remove unused header. Fix header file macros. Add comments. 2013-12-09 00:41:23 -08:00
Michael Jumper
1263d261f4 Add stubs for dir information handlers 2013-12-09 00:41:23 -08:00
Michael Jumper
e238df9581 Comply with naming convention of message processors. 2013-12-09 00:41:23 -08:00
Michael Jumper
d877e1f236 Add stubs for FS message functions. 2013-12-09 00:41:23 -08:00
Michael Jumper
85b754f2b7 Fix path translation function. 2013-12-09 00:41:23 -08:00
Michael Jumper
9fcb3e3678 Actually resolve and open files. 2013-12-09 00:41:22 -08:00
Michael Jumper
f24d4b58fa Add error codes for open. 2013-12-09 00:41:22 -08:00
Michael Jumper
f3ef451527 Add stubs for minor functions. 2013-12-09 00:41:22 -08:00
Michael Jumper
4bdbaceccc Fix logic in file open (should NOT allocate new ID if open fails. 2013-12-09 00:41:22 -08:00
Michael Jumper
c31e3b38ad Add drive-path parameter. 2013-12-09 00:41:22 -08:00
Michael Jumper
7b843a806f Split rdpdr_fs up into logical files. 2013-12-09 00:41:22 -08:00
Michael Jumper
bc662975ce For now, return no-such-file for the '' file... will migrate to actual file path parsing. 2013-12-09 00:41:22 -08:00
Michael Jumper
adf45ab79e Add file time macros and more attribute constants. Stub volume and basic file info. 2013-12-09 00:41:22 -08:00
Michael Jumper
2e4a67200c Add constants. More open() implementation. Handle case where no file IDs are available. 2013-12-09 00:41:22 -08:00
Michael Jumper
d9cae3d361 Add unicode conversion functions. Partially handle incoming parameters for open. 2013-12-09 00:41:22 -08:00
Michael Jumper
8731f282cc Initial stubs for open/close. 2013-12-09 00:41:22 -08:00
Michael Jumper
061de84422 Add 64-bit operations to stream. 2013-12-09 00:41:22 -08:00
Michael Jumper
5efda4d328 Send drive capability. 2013-12-09 00:41:22 -08:00
Michael Jumper
f07cd58707 Add drive-enabled option. 2013-12-09 00:41:22 -08:00
Michael Jumper
08eb5625fc Add filesystem device. 2013-12-09 00:41:22 -08:00
Michael Jumper
497996c48e Only read from agent if agent enabled. 2013-12-03 09:21:47 -08:00
Michael Jumper
9aed54d33a Remove unnecessary include. 2013-12-03 02:23:12 -08:00
Michael Jumper
1baaa6ddee Use non-blocking I/O on non-SFTP session to avoid unnecessary waiting for data during reads. With multiple threads, libssh2 reads will call poll() to wait for available data, one read will handle ALL data, while the other read comes up dry. 2013-12-03 02:22:46 -08:00
Michael Jumper
9738197653 Differentiate between connection attempts. 2013-12-02 09:28:46 -08:00
Michael Jumper
d2fd406c75 Free alloc'd memory. 2013-12-02 09:23:31 -08:00
Michael Jumper
74e1f57a1d Fix DSA signature algorithm. 2013-12-02 08:47:21 -08:00
Michael Jumper
f1236a9ca1 Use ssh-dss, not ssh-dsa. 2013-12-02 02:18:43 -08:00
Michael Jumper
84c484aa72 Add missing license comments. 2013-12-02 02:07:17 -08:00
Michael Jumper
a2921825b7 Initiate agent forwarding if supported. 2013-12-02 02:00:37 -08:00
Michael Jumper
755c677304 Add ssh_agent source from test. 2013-12-02 01:49:07 -08:00
Michael Jumper
66b5e704b7 Init libssh2 and libssl. Log success. 2013-12-01 16:56:36 -08:00
Michael Jumper
18d9cae183 Authenticat with key if present. 2013-12-01 16:31:11 -08:00
Michael Jumper
dc490a714e Remove old options code. 2013-12-01 16:27:19 -08:00
Michael Jumper
3f686db40c Lookup hosts, etc. for connect. 2013-12-01 16:26:41 -08:00
Michael Jumper
150e645383 Working migration to libssh2 (hard-coded host). 2013-12-01 16:09:48 -08:00
Michael Jumper
d32018cf87 Partial migration, including SFTP. 2013-12-01 15:39:29 -08:00
Michael Jumper
602571400d Switch from libssh to libssh2 in configure.ac, add dependency on libssl. 2013-12-01 15:08:42 -08:00
Michael Jumper
9a8363e0ba Test for fastpath settings. 2013-11-05 12:34:36 -08:00
Michael Jumper
7547b4b5bd Ticket #452: Fix segfault related to FastPath and pointer checks. 2013-11-05 02:02:34 -08:00
Michael Jumper
1af28eb820 Prompt for passphrase if needed. 2013-10-30 23:19:11 -07:00
Michael Jumper
678ec69ebe Read private key, if any. 2013-10-30 15:46:13 -07:00
Michael Jumper
1ba575d3aa Implement directory set. 2013-10-28 14:11:04 -07:00
Michael Jumper
6e8549edd1 Implement file download. 2013-10-28 09:28:06 -07:00
Michael Jumper
8ee92c0e1c Track number of active pool integers. Track output streams. 2013-10-28 09:11:45 -07:00
Michael Jumper
50fbd5dabb Add stub ack handler. Call SFTP functions when download code received. 2013-10-28 08:40:19 -07:00
Michael Jumper
0c86f52ed5 Move SFTP functions to own file. Stub out download function. 2013-10-27 23:16:49 -07:00
Michael Jumper
273c6a8503 Stub out guac OSC handling. 2013-10-27 23:16:49 -07:00
Michael Jumper
4381485051 Validate filenames. 2013-10-27 23:16:49 -07:00
Michael Jumper
f133cb4caa Fix permissions of upload. 2013-10-27 23:16:49 -07:00
Michael Jumper
b9d9a9d324 Move SFTP to own SSH session - does not work when combined with terminal session. 2013-10-27 23:16:48 -07:00
Michael Jumper
b7e1e898c9 Initial stab at SFTP file upload. 2013-10-27 23:16:48 -07:00
Michael Jumper
02fece0a29 Add enable-sftp option, init/free SFTP as needed. 2013-10-27 23:16:48 -07:00
Michael Jumper
271f7fbb2f Add ack instruction handler. 2013-10-27 19:53:34 -07:00
Michael Jumper
3a28534232 Ticket #429: Detect listenForIncomingConnectionsNoFork() function, conditionally compile listen support. 2013-10-25 17:49:22 -07:00
Michael Jumper
ffb64e856f Ticket #432: Handle encodings parameter. 2013-10-25 17:12:17 -07:00
Michael Jumper
3cf001116b Migrate to ack, remove abort. 2013-10-15 11:23:07 -07:00
Michael Jumper
b88749aedd Store data alongside streams. Validate stream indices and close state. 2013-10-10 14:47:12 -07:00
Michael Jumper
6ce71aa160 Send error responses via abort. 2013-10-10 14:47:12 -07:00
Michael Jumper
cec58edef3 Add abort instruction. Add status codes to abort and error. 2013-10-10 14:47:12 -07:00
Michael Jumper
72d29f18fd Fix build - unused variable. 2013-10-10 10:26:11 -07:00
Michael Jumper
926b681e38 No need for keep-alive in output thread anymore. 2013-10-09 16:09:01 -07:00
Michael Jumper
bc3c8a31c5 Require keep-alive on VNC protocol support socket. 2013-10-09 16:01:57 -07:00
Michael Jumper
eac99e0ce1 Add support for keep-alive thread. 2013-10-09 15:57:16 -07:00
Michael Jumper
4ebafa0482 Add support for NOP. 2013-10-09 11:54:33 -07:00
Michael Jumper
8a8ad23312 Do not restart parse - just shift everything as necessary. 2013-10-03 17:45:31 -07:00
Michael Jumper
ef8a9a29e8 Allow continuous parsing of length, rather than restarting if unfinished. 2013-10-03 17:35:00 -07:00
Michael Jumper
9910bedb4b If length parse fails, return need for more data. 2013-10-03 17:34:54 -07:00