Commit Graph

1415 Commits

Author SHA1 Message Date
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
Michael Jumper
e7c81cd9b3 Shift buffer to gain space if necessary. 2013-10-03 16:48:01 -07:00
Michael Jumper
e66a64be26 Handle Unicode characters in input. 2013-10-03 15:38:22 -07:00
Michael Jumper
1915b107ea Fully init allocated instructions. 2013-10-02 11:42:08 -07:00
Michael Jumper
0a09ed21fa Use simpler pointer arithmetic to determine buffer regions for reading and parsing. 2013-10-02 11:10:21 -07:00