Commit Graph

350 Commits

Author SHA1 Message Date
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