Commit Graph

2145 Commits

Author SHA1 Message Date
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
Michael Jumper
1a598db7a1 Partial re-implementation of parse. 2013-10-01 23:21:49 -07:00
Michael Jumper
1128038d0f Implement rest of parser. 2013-10-01 20:57:54 -07:00
Michael Jumper
4485771df9 Implement length parse. 2013-10-01 20:23:20 -07:00
Michael Jumper
81768daba9 Stub out independent instruction parser. 2013-10-01 18:06:19 -07:00
Michael Jumper
fb105b2047 Handle blob properly (decode base64). 2013-09-27 15:56:22 -07:00
Michael Jumper
30ec019512 Implement base64 decoder. 2013-09-27 15:39:44 -07:00
Michael Jumper
321e24c417 Add actual handlers for file/blob/end. 2013-09-26 22:49:45 -07:00
Michael Jumper
a6bd9200e1 Add stubs for file/blob/end handling. 2013-09-26 22:27:18 -07:00
Michael Jumper
daa10be990 Remove old use of blob. Use new file semantics. 2013-09-24 12:58:58 -07:00
Michael Jumper
e1798ee3db Restore channel parameter. Abuse stream index as channel index. 2013-09-24 12:13:38 -07:00
Michael Jumper
fbdb6876d9 Migrate to libguac audio. Migrate to improved stream protocol. 2013-09-24 12:01:02 -07:00
Michael Jumper
157828ef18 Implement listen mode (ticket #25). 2013-09-19 14:41:28 -07:00
Michael Jumper
23e4e43722 Round screen width down, rather than up. 2013-09-03 14:09:33 -07:00
Michael Jumper
cf05203992 Restore parsing of color depth 2013-08-28 16:39:23 -07:00
Michael Jumper
2216d23bee Implement connection retry. 2013-08-28 16:39:23 -07:00
James Muehlner
49b3965018 Ticket #33: Fixed contributor lines in license block. 2013-08-27 10:36:30 -07:00
James Muehlner
5516fc395b Ticket #33: Fixed handling of cursor. 2013-08-27 10:36:30 -07:00
James Muehlner
775668ad37 Ticket #33: Allow parameter for setting remote or local cursor. 2013-08-27 10:36:30 -07:00
Michael Jumper
c6a6c5b681 Add ifdef around pulse-specific code. 2013-08-27 09:47:45 -07:00
Michael Jumper
73df645ce6 Change RDP default security to RDP. 2013-08-26 21:26:38 -07:00
Michael Jumper
9d47ae0a50 Add missing winpr-wtypes.h header. 2013-08-26 17:07:46 -07:00
Michael Jumper
9903d3d0d9 Switch from enable-auth to disable-auth, enabling auth by default. Use ANY security mode by default. Warn if authentication is required but credentials were not given. 2013-08-25 11:35:31 -07:00
Michael Jumper
da016d5153 Log chosen security method. 2013-08-24 12:37:43 -07:00
Michael Jumper
ac2bf524d9 Shorten parameter names, combine enable-tls and enable-nla into a single security parameter. 2013-08-24 12:30:38 -07:00
Michael Jumper
d2cdb055f8 Add options for controlling TLS and NLA security, as well as authentication and bad certs. 2013-08-24 01:17:27 -07:00
Michael Jumper
21b704690b Handle NULL conditions of display and terminal allocation. 2013-08-23 14:10:51 -07:00
Michael Jumper
92c42ca959 Add syncs where we're expecting guac_socket_flush to flush a frame. 2013-08-22 17:42:59 -07:00
Michael Jumper
44d0e08a3c Drop frame timeout to 0ms 2013-08-22 15:27:01 -07:00
Michael Jumper
1f0ae7b4ba Do not use pExtendedData beyond connect handler. NULL out pExtendedData once done. 2013-08-22 14:52:09 -07:00
Michael Jumper
1887102505 Add frame timeout. Reduce frame max duration to 40ms. 2013-08-20 21:13:26 -07:00
Michael Jumper
280622c027 Bump max frame duration to 80 ms (12.5 FPS). 2013-08-20 11:38:12 -07:00
Michael Jumper
21420aaf5c Stay in handle_messages for 30ms max (per frame). 2013-08-20 11:32:47 -07:00
Michael Jumper
dfe454f484 Adjust buffer size to around 48K, rename and reuse old buffer size macro accordingly. 2013-08-10 12:30:46 -07:00
Michael Jumper
3bb4c8fec5 Increase buffer size to around 24K. 2013-08-10 01:50:42 -07:00
Michael Jumper
5df7f34ee8 Add constants. Tweak latency. 2013-08-09 18:21:32 -07:00
Michael Jumper
fa3dcea44b Working sound 2013-08-09 17:01:06 -07:00
Michael Jumper
6e3bbe38d5 Make audio buffers const. 2013-08-09 16:52:25 -07:00
Michael Jumper
bfbebe3c16 Set stream options, force channel format. 2013-08-09 16:46:23 -07:00
Michael Jumper
83a575d7b9 Actually receive data. 2013-08-09 16:43:30 -07:00
Michael Jumper
8bbd28d9c9 Handler server and sink info. 2013-08-09 16:04:58 -07:00
Michael Jumper
3e1744a566 Initialize PulseAudio properly. Handle state changes. 2013-08-09 15:47:59 -07:00
Michael Jumper
88f62df0f3 Switch to normal PulseAudio API. 2013-08-09 15:11:31 -07:00
Michael Jumper
6cc6808eb7 Actually connect and read. 2013-08-09 13:03:01 -07:00
Michael Jumper
832e4d3d16 Add stub PulseAudio handling code, replace old usage with new read thread. 2013-08-09 11:58:29 -07:00
Michael Jumper
daa7823aed Remove old PulseAudio handling code. 2013-08-09 11:58:03 -07:00
Michael Jumper
27d56df073 Removal of more buffer-related code. 2013-08-09 11:18:47 -07:00
Michael Jumper
ec73bc2e12 Remove buffer functions from PA code. 2013-08-09 11:18:46 -07:00
Michael Jumper
b681e0d9f1 Remove audio args. 2013-08-09 11:18:46 -07:00
Michael Jumper
7146ba5792 Remove buffer from client. 2013-08-09 11:18:46 -07:00
Michael Jumper
0870eaa32c Remove buffer and queue. 2013-08-09 11:18:46 -07:00
Michael Jumper
3d2427d441 Fix compilation of PulseAudio handlers. 2013-08-09 10:48:41 -07:00
Michael Jumper
0b743fa68b Add missing wav_encoder.c in Makefile.am 2013-08-09 10:48:41 -07:00
Michael Jumper
2a18630718 Move files to proper location. Get rid of unnecessary lock. Remove wrongly-committed file. 2013-08-09 10:48:41 -07:00
Michael Jumper
9f167cc26a Add documentation, fix namespace. 2013-08-09 10:48:40 -07:00
Michael Jumper
58148884a1 Auto-detect audio encoding if not specified. 2013-08-09 10:48:40 -07:00
Michael Jumper
8bd70053be Initial support for audio in libguac. 2013-08-09 10:48:40 -07:00
Michael Jumper
8e732ed2ab Conditionally compile audio support. 2013-08-09 10:48:00 -07:00
Sion Chaudhuri
e30c769728 Fixing newline issues on files modified to support audio 2013-08-09 10:48:00 -07:00
Sion Chaudhuri
a9957e7926 Adding lock around send cursor 2013-08-09 10:48:00 -07:00
Sion Chaudhuri
bbe552e847 Adding locks around guac send instructions to resolve client disconnect issue 2013-08-09 10:48:00 -07:00
Sion Chaudhuri
ea8feac587 Free up resources allocated for audio when client connection is closed 2013-08-09 10:48:00 -07:00
Sion Chaudhuri
b63e14c274 Trigger audio read and send threads if audio is enabled by client 2013-08-09 10:48:00 -07:00
Sion Chaudhuri
57c0f7ed04 Added support for audio files in configure and make 2013-08-09 10:48:00 -07:00
Michael Jumper
b6581e98d7 Implement read. 2013-08-05 20:15:41 -07:00
Michael Jumper
286f9c75b9 Byte reads should be unsigned. 2013-08-05 20:12:38 -07:00
Michael Jumper
3137f54178 Add unicode.h to distribution. Add actual tests for old Unicode functions. 2013-08-05 15:05:52 -07:00
Michael Jumper
070f199916 Implement additional UTF-8 read/write functions for convenience. 2013-08-05 14:00:16 -07:00
Michael Jumper
8099a57fc6 Switch to VNC-style wait. 2013-07-28 19:43:20 -07:00
Michael Jumper
acf5abe355 Stay in handle_messages as long as possible for VNC as well. 2013-07-28 19:43:20 -07:00
Michael Jumper
4b6aa01517 Unlock lock properly. 2013-07-28 19:43:20 -07:00
Michael Jumper
ce759ccbe6 Flush only automatically. Stay in handle_messages as long as data is available. 2013-07-28 19:43:20 -07:00
Michael Jumper
a52a13584b Initialize devices_registered. 2013-07-24 23:51:49 -07:00
Michael Jumper
1e521a1696 Call free handler on devices. Only add printer if enabled. 2013-07-24 22:49:24 -07:00
Michael Jumper
6b4deb703a Finish dynamic device implementation. 2013-07-24 22:20:29 -07:00
Michael Jumper
d65a23349d Add announce handlers. 2013-07-24 18:28:20 -07:00
Michael Jumper
1138df74be Initial migration to dynamic device registration. 2013-07-24 15:52:46 -07:00
Michael Jumper
7661f465e5 Remove STUB, add notes. 2013-07-22 20:26:16 -07:00
Michael Jumper
9b9481d072 Push/pull settings properly before and after connect. 2013-07-22 20:26:16 -07:00
Michael Jumper
82f1fb2bad Fix plugin names - sound and printing were not loading properly. 2013-07-22 20:26:16 -07:00
Michael Jumper
9d2b0e1f95 FALSE should be false. 2013-07-22 20:26:15 -07:00
Michael Jumper
f9bd8eb22b Fix build on 1.0 again. 2013-07-22 20:26:15 -07:00
Michael Jumper
07538d1b10 Do not commit settings until actually set. 2013-07-22 20:26:15 -07:00
Michael Jumper
59e90b7c63 Implement settings. 2013-07-22 20:26:15 -07:00
Michael Jumper
ddeab9a435 Fix install path. Fix rdpdr plugin naming. 2013-07-22 20:26:15 -07:00
Michael Jumper
14fedacfc7 Finally working compile. 2013-07-22 20:26:15 -07:00
Michael Jumper
0e4dcff4f5 More fixes for cliprdr, fix color_depth. 2013-07-22 20:26:15 -07:00
Michael Jumper
3e9f551c4e Fix cliprdr portability handling. 2013-07-22 20:26:15 -07:00
Michael Jumper
f3f0900de9 Detect event interface, fix cliprdr. 2013-07-22 20:26:15 -07:00
Michael Jumper
c0f681066e Add test for change in type of rdpBitmap.Decompress. Fix cliprdr header. 2013-07-22 20:26:15 -07:00
Michael Jumper
daa1e18355 Check for addin registration headers and function, use if available. 2013-07-22 20:26:15 -07:00
Michael Jumper
c2fe48f00c Much more robust testing. Initial migration to own settings structure. 2013-07-22 20:26:15 -07:00
Michael Jumper
2b09098346 Fix erroneously uppercased TRUE value. 2013-07-22 20:26:15 -07:00
Michael Jumper
324d13853f Switch to UINT* and BOOL types. 2013-07-22 20:26:15 -07:00
Michael Jumper
9ad3b18f77 Fix build of RDPDR. 2013-07-22 20:26:15 -07:00
Michael Jumper
df01ba66ea Detect extension format. 2013-07-22 20:26:15 -07:00
Michael Jumper
450017a6bd Register add-in provider. 2013-07-22 20:26:15 -07:00
Michael Jumper
45b8d29a4f Check for interval_ms. 2013-07-22 20:26:15 -07:00
Michael Jumper
f43591068f Change plugin name to guacsnd, remove use of DEFINE_SVC_PLUGIN. 2013-07-22 20:26:14 -07:00
Michael Jumper
1bbf2b21d9 Add BYTE type. 2013-07-22 20:26:14 -07:00
Michael Jumper
aeea99a87f Detect types availability. 2013-07-22 20:26:14 -07:00
Michael Jumper
b72c99cea5 Move compat to generic, add winpr-stream.c. 2013-07-22 20:26:14 -07:00
Michael Jumper
da2bd88791 More migration and compatibility. 2013-07-22 20:26:14 -07:00
Michael Jumper
678d21cd36 More winpr compat, fix include test. 2013-07-22 20:26:14 -07:00
Michael Jumper
bdc5d862db Partial conversion to WinPR + compat. 2013-07-22 20:26:14 -07:00
Michael Jumper
873493a2de Remove use of xnew. 2013-07-22 20:26:14 -07:00
Michael Jumper
64b0ab84b5 Remove usage of xrealloc/xmalloc. 2013-07-22 20:26:14 -07:00
Michael Jumper
bffa28a7de Remove usage of xfree(). 2013-07-22 20:26:14 -07:00
Michael Jumper
7907b2f34a Remove now-unnecessary memory.h. 2013-07-22 20:26:14 -07:00
Michael Jumper
e049d35583 Clean up error handling. 2013-07-22 16:12:39 -07:00
Michael Jumper
98dd9d2c69 Remove unimplemented -A option. 2013-07-22 15:47:13 -07:00
Michael Jumper
9b89c2a3b5 Update documentation. 2013-07-22 15:45:40 -07:00
Michael Jumper
7b7227aefb Properly handle key and cert files. Better logging. 2013-07-22 15:42:11 -07:00
Michael Jumper
def887868a Add option for private key. 2013-07-22 14:49:28 -07:00
Michael Jumper
3140dbb20b Actually use SSL for I/O. 2013-07-22 14:24:37 -07:00
Michael Jumper
cdbb345d28 Fix usage instructions. 2013-07-22 13:39:37 -07:00
Michael Jumper
6792b65d4c Add options to guacd. Update docs. 2013-07-22 13:37:30 -07:00
Michael Jumper
bb74730629 Add stub SSL socket. 2013-07-21 20:10:37 -07:00
Michael Jumper
4a3a530fde Fix guac_rdp_clip_rect() handling of completely clipped rects. 2013-07-19 12:23:28 -07:00
Michael Jumper
c3bbf97d22 libdl is actually used by libguac, not guacd. 2013-07-08 18:52:30 -07:00
Michael Jumper
2b93deaac6 Do not unnecessarily link libraries. 2013-07-08 17:40:20 -07:00
Michael Jumper
0f609cb666 Test for VNC repeater support and cairo_format_stride_for_width(). 2013-07-08 13:03:04 -07:00
Michael Jumper
e6ec853edb Ticket #366: Restore --with-init-dir option for configure. 2013-07-08 10:35:56 -07:00
Michael Jumper
2d3cf15243 Ticket #365: Add missing PTHREAD_LIBS to guacd_LDFLAGS. 2013-07-07 15:03:30 -07:00
Michael Jumper
73b70ec072 Make audio streams threadsafe. 2013-07-07 00:23:18 -07:00
Michael Jumper
030eaec09e Remove unused print format option (require GhostScript). 2013-07-01 17:54:28 -07:00
Michael Jumper
54d3b160d7 Fix threading issues regarding flush DURING write not being blocked. Set process-shared attribute on mutexes in socket. 2013-07-01 15:03:47 -07:00
Michael Jumper
59b058be3d Ensure complete writes, define buffer size. 2013-07-01 15:03:47 -07:00
Michael Jumper
a08180acfe Remove unnecessary update lock, use threadsafe socket instead. 2013-07-01 15:03:46 -07:00
Michael Jumper
90697e35ba Use int instead of bool ... libraries sometimes redefine bool in headers. 2013-07-01 15:03:46 -07:00
Michael Jumper
976e3af24b Convert protocol functions to threadsafe versions. 2013-07-01 15:03:46 -07:00
Michael Jumper
51c00755ac Add optional locks to socket. 2013-07-01 15:03:46 -07:00
Michael Jumper
400920b3bb Convert PS to PDF using gs as filter. 2013-07-01 15:03:46 -07:00
Michael Jumper
62258c9278 Revert "Add libgs dependency, only compile guac_rdpdr if libgs found."
This reverts commit b77a7e0bffdcc44cc5488663d780c1a2c31ef781.
2013-07-01 15:03:46 -07:00
Michael Jumper
5bf67ce442 Change disable-printing to enable-printing. 2013-07-01 15:03:46 -07:00
Michael Jumper
ad050208b9 Add libgs dependency, only compile guac_rdpdr if libgs found. 2013-07-01 15:03:46 -07:00
Michael Jumper
2df35e6f2e Attempt to extract a good filename from the %%Title comment in the .ps 2013-07-01 15:03:46 -07:00
Michael Jumper
6c5525a162 Swap mimetype/filename parameters. 2013-07-01 15:03:46 -07:00
Michael Jumper
a8b5c9fc5b Swap mimetype/filename parameters. 2013-07-01 15:03:46 -07:00
Michael Jumper
8920bc0c76 Send printed document via blobs. 2013-07-01 15:03:46 -07:00
Michael Jumper
9e88ae4f60 Implement file/blob/end subprotocol. 2013-07-01 15:03:46 -07:00
Michael Jumper
06ef43bd2c Actually read print job data. 2013-07-01 15:03:46 -07:00
Michael Jumper
c07eb9c063 Send driver name as UTF-16 (apparently required, and ASCII flag is ignored). 2013-07-01 15:03:46 -07:00
Michael Jumper
dc1fc6132f Fix shifting of error codes. 2013-07-01 15:03:46 -07:00
Michael Jumper
4953f02b13 Do not send devices after confirmed ID - only after logon. 2013-07-01 15:03:46 -07:00
Michael Jumper
9aef54fe87 Seed random numbers. 2013-07-01 15:03:46 -07:00
Michael Jumper
933dec8602 Send printer device, handle errors. 2013-07-01 15:03:46 -07:00
Michael Jumper
8c8779937c Cleanup, add constants. 2013-07-01 15:03:46 -07:00
Michael Jumper
c066763ec4 Implement name request and client cap. Ignore server cap for now. 2013-07-01 15:03:45 -07:00
Michael Jumper
49711709a7 Stub most handlers, fix signedness, reply to server announce. 2013-07-01 15:03:45 -07:00
Michael Jumper
48c27d74ce Move message handlers to appropriate location. 2013-07-01 15:03:45 -07:00
Michael Jumper
f295b09987 Actually parse server announce, add defines for other packets and components. 2013-07-01 15:03:45 -07:00
Michael Jumper
11deb82bcb Associated client with RDPDR, add logging to stubs. 2013-07-01 15:03:45 -07:00
Michael Jumper
6d9ff1e5ee Add RDPDR plugin stub. Add namespace to existing RDPSND filenames. 2013-07-01 15:03:45 -07:00
James Muehlner
b94b84956b Ticket #241: Added server-side support for vnc repeaters. 2013-07-01 10:46:30 -07:00
Michael Jumper
bfe28460a7 Move __guac_rdp_clip_rect() to public guac_rdp_clip_rect(). Clip glyph draws. 2013-06-14 22:16:25 -07:00
Michael Jumper
d9a310292d Merge branch 'unstable' of git://github.com/glyptodon/guacamole-server into unstable 2013-06-13 23:41:02 -07:00
James Muehlner
227afb3793 Ticket #261: Handled NULL bitmaps in guac_rdp_bitmap_setsurface and guac_rdp_gdi_memblt functions. 2013-06-13 23:38:20 -07:00
Michael Jumper
96cc46313a Implement guac_socket_write(), fix constness. 2013-06-12 11:49:00 -07:00
Michael Jumper
602e0045b6 Substitute values properly, fix linking flags. 2013-06-11 22:41:23 -07:00
Michael Jumper
760506da3d Remove SPICE - will move to branch off unstable. 2013-06-06 10:24:21 -07:00
Michael Jumper
9d27b6cce9 Build wasn't working just because of trailing slash... 2013-06-05 15:58:22 -07:00
Michael Jumper
80688b2a2f Fix doxyfile, update .gitignore's 2013-06-05 14:33:43 -07:00
Michael Jumper
e9e2d628b6 Add remaining protocols, fix client.h in RDP. 2013-06-05 12:05:39 -07:00
Michael Jumper
1d3fa12747 Build guacd and libguac. 2013-06-05 11:50:48 -07:00
Michael Jumper
4c089caeb9 Massively reorganize source tree. 2013-06-05 11:00:28 -07:00