summaryrefslogtreecommitdiff
path: root/modules (follow)
Commit message (Expand)AuthorAgeFilesLines
...
* tunnel.scm (make-tunnel-channel): Use 'unless'•••* modules/ssh/tunnel.scm (make-tunnel-channel): Use 'unless' instead of 'or' for error checking. Artyom V. Poptsov2016-06-121-3/+3
* node.scm (rexec): Read all output lines•••* modules/ssh/dist/node.scm (rexec): Read all output lines, return the list of lines. All callers updated. (node-guile-version): Update. Artyom V. Poptsov2016-06-121-4/+10
* popen.scm: Add 'OPEN_PTY' mode•••* modules/ssh/popen.scm: Add 'OPEN_PTY' mode. (open-remote-pipe): Open a pseudo terminal if 'OPEN_PTY' mode is requested. * modules/ssh/channel.scm (make-channel): Use 'string-contains' instead of 'string=?'. * doc/api-popen.texi: Update. Add examples. Artyom V. Poptsov2016-02-222-5/+18
* popen.scm (open-remote-pipe): Bugfix: Don't request PTY•••When PTY is requested, OpenSSH server merges stderr stream with stdout and the Guile-SSH channel reads all the output as stdout even if the executed command is failed. This patch fixes that. Reported by: David Thompson in <https://github.com/artyom-poptsov/guile-ssh/issues/2> * modules/ssh/popen.scm (open-remote-pipe): Bugfix: Don't request PTY. * AUTHORS, NEWS, THANKS: Update. Artyom V. Poptsov2016-02-211-1/+0
* popen.scm: Don't use (ice-9 popen)•••* modules/ssh/popen.scm: Remove unused (ice-9 popen) dependency; don't export OPEN_READ, OPEN_WRITE and OPEN_BOTH (because the variables are defined in the top-level (guile) module.) Artyom V. Poptsov2015-12-241-3/+1
* modules/ssh/tunnel.scm (p1->p2?): Simplify the checkArtyom V. Poptsov2015-12-221-1/+2
* modules/ssh/dist/node.scm: Update the module commentaryArtyom V. Poptsov2015-12-201-0/+1
* node.scm: Allow to stop a RREPL server•••* modules/ssh/dist/node.scm (make-node): Add 'stop-repl-server?' keyed option. (node-stop-server): New procedure. (node-eval): Stop a REPL server after evaluation is done, if it is explicitly requested. * doc/api-dist.texi: Update description of 'make-node', add description of 'node-stop-server'. * NEWS: Update. Artyom V. Poptsov2015-12-201-6/+24
* node.scm (node-run-server): Use a remote pipe•••* modules/ssh/dist/node.scm (node-run-server): Use a remote pipe to execute a command. Artyom V. Poptsov2015-12-181-7/+5
* channel.scm: Update commentary•••* modules/ssh/channel.scm: Update commentary. Artyom V. Poptsov2015-12-141-6/+0
* popen.scm: New module•••* modules/ssh/popen.scm: New module. * modules/ssh/Makefile.am (SCM_SOURCES): Add 'popen.scm'. * modules/ssh/channel.scm: Move 'open-remote-*' procedures to (ssh popen). * modules/ssh/dist/node.scm, tests/popen.scm: Use (ssh popen). * NEWS, README: Update. Artyom V. Poptsov2015-12-064-54/+91
* channel.scm: Update the module commentary•••* modules/ssh/channel.scm: Update the module commentary and copyright dates. Artyom V. Poptsov2015-12-061-1/+7
* node.scm (node-server-running?): Bugfix: Check the return code•••* modules/ssh/dist/node.scm (node-server-running?): Bugfix: Check the return code of the executed command. Artyom V. Poptsov2015-12-061-6/+7
* node.scm (node-guile-version): Bugfix•••* modules/ssh/dist/node.scm (node-guile-version): Bugfix: Ignore 'which' output. Artyom V. Poptsov2015-12-061-1/+1
* node.scm (rexec): Use 'open-remote-input-pipe'•••* modules/ssh/dist/node.scm (rexec): Use 'open-remote-input-pipe'; simplify the code. Artyom V. Poptsov2015-12-061-7/+2
* channel.scm: Implement I/O pipes•••* modules/ssh/channel.scm (open-remote-pipe, open-remote-pipe*): Accept pipe MODE as an argument. (open-remote-input-pipe, open-remote-input-pipe*) (open-remote-output-pipe, open-remote-output-pipe*): New procedures. * doc/api-channels.texi: Update description of remote pipes. Artyom V. Poptsov2015-12-061-9/+35
* channel.scm (make-channel): Use mode symbols from (ice-9 popen)•••* modules/ssh/channel.scm (make-channel): Use mode symbols 'OPEN_READ', 'OPEN_WRITE' and 'OPEN_BOTH' from (ice-9 popen). * doc/api-channels.texi, NEWS: Update. Artyom V. Poptsov2015-12-051-6/+8
* channel.scm (make-channel): Accept optional flags•••* modules/ssh/channel.scm (make-channel): Accept optional flags that allow to create an input, output or input/output channel. The procedure creates a bidirectional tunnel by default. * libguile-ssh/channel-type.c (guile_ssh_make_channel): Likewise. Rename the Scheme procedure to '%make-channel'. All callers updated. (_scm_from_channel_data): Accept flags. Assert flags value. (print_channel): Print the direction of a channel. (init_channel_type): Define 'RDNG' and 'WRTNG' symbols. * libguile-ssh/channel-type.h: Update. * libguile-ssh/message-func.c (guile_ssh_message_channel_request_open_reply_accept): Update. * doc/api-channels.texi: Update description of 'make-channel'. Artyom V. Poptsov2015-12-051-0/+11
* channel.scm (open-remote-pipe): Handle errors•••* modules/ssh/channel.scm (open-remote-pipe): Handle errors. Artyom V. Poptsov2015-12-041-1/+2
* channel.scm: Add remote pipes•••* modules/ssh/channel.scm (open-remote-pipe, open-remote-pipe*): New procedures. * doc/api-channels.texi: Add "Remote Pipes" section. * NEWS: Update. Artyom V. Poptsov2015-12-041-1/+25
* session.scm: Implement SSH config parsing•••* modules/ssh/session.scm (make-session): Accept 'config' option. (session-parse-config!): New procedure. * libguile-ssh/session-func.c (gssh_session_parse_config): New procedure. * tests/common.scm (%config): Export the new global symbol. * doc/api-sessions.texi: Update. * tests/config: Add to the repository. * tests/session.scm ("session-parse-config!"): New test case. * NEWS: Update. Artyom V. Poptsov2015-12-011-1/+22
* modules/ssh/dist/node.scm: Export 'node-tunnel'•••* modules/ssh/dist/node.scm: Export 'node-tunnel'. * NEWS: Update. Artyom V. Poptsov2015-11-241-0/+1
* modules/ssh/sftp.scm: Add the module commentaryArtyom V. Poptsov2015-11-231-0/+27
* message-func.c (guile_ssh_message_get_req): Handle subsystem requests•••* libguile-ssh/message-func.c (guile_ssh_message_get_req): Handle subsystem requests. (get_subsystem_req): New procedure. * modules/ssh/message.scm (subsystem-req:subsystem): New procedure. Artyom V. Poptsov2015-11-231-1/+4
* Merge branch 'master' into wip-sftpArtyom V. Poptsov2015-11-222-3/+14
|\
| * message.scm (message-reply-success): Improve error handling•••* modules/ssh/message.scm (message-reply-success) <request-global>: Check the number of arguments. Artyom V. Poptsov2015-11-191-1/+6
| * message.scm (message-reply-success): Handle the default case•••* modules/ssh/message.scm (message-reply-success): Handle the default case (throw an exception.) Artyom V. Poptsov2015-11-191-1/+4
| * modules/ssh/message.scm: Update copyright datesArtyom V. Poptsov2015-11-191-1/+1
| * message-func: Add a procedure to handle global requests•••* libguile-ssh/message-func.c (gssh_message_global_request_reply_success): New procedure. * modules/ssh/message.scm (message-global-request-reply-success): New procedure. (message-reply-success): Use it to handle global requests. Artyom V. Poptsov2015-11-191-1/+3
| * libguile-ssh: Add basic support of session callbacks•••* libguile-ssh/session-func.c: Add basic support of session callbacks. (libssh_global_request_callback, set_callbacks): New static procedure. (set_option): Change paramegers. All callers updated. (guile_ssh_session_set): Update. * libguile-ssh/session-type.h (session_data): Add 'callbacks' field. * modules/ssh/session.scm (make-session): Accept 'callbacks' as a keyed argument. * libguile-ssh/message-type.c (_scm_from_ssh_message): New procedure. * libguile-ssh/message-type.h: Update. * tests/session.scm ("session-set!, valid values") ("session-set!, invalid values"): Check new 'callbacks' option. Artyom V. Poptsov2015-11-181-1/+2
* | Merge branch 'master' into wip-sftpArtyom V. Poptsov2015-11-012-69/+84
|\|
| * dist.scm (format-error): New procedure•••* modules/ssh/dist.scm (format-error): New procedure. (execute-job): Use it. Artyom V. Poptsov2015-10-291-3/+4
| * dist.scm (warning): Rename to 'format-warning'•••* modules/ssh/dist.scm (warning): Rename to 'format-warning'. All callers updated. (execute-job): Update. Artyom V. Poptsov2015-10-291-3/+3
| * dist.scm (execute-jobs): New procedure•••* modules/ssh/dist.scm (execute-jobs): New procedure. (distribute, dist-map): Use it. Artyom V. Poptsov2015-10-291-4/+7
| * dist.scm (dist-map): Improve error checking•••* modules/ssh/dist.scm (dist-map): Improve error checking: Raise an error if an evaluation failed. Artyom V. Poptsov2015-10-291-2/+6
| * dist.scm (distribute): Improve error checking•••* modules/ssh/dist.scm (distribute): Improve error checking: Raise an error if an evaluation failed. Artyom V. Poptsov2015-10-291-3/+6
| * node.scm (rrepl-get-result): Remove extra 'begin'•••* modules/ssh/dist/node.scm (rrepl-get-result): Remove extra 'begin'. Artyom V. Poptsov2015-10-291-21/+20
| * node.scm (rrepl-get-result): Add a sub-procedure•••* modules/ssh/dist/node.scm (rrepl-get-result) <parse-result>: New sub-procedure. <read-result>: Use it. Artyom V. Poptsov2015-10-291-10/+11
| * node.scm (rrepl-get-result): Wrap a long line•••* modules/ssh/dist/node.scm (rrepl-get-result) <read-result>: Wrap a long line. Artyom V. Poptsov2015-10-291-1/+2
| * node.scm (rrepl-get-result): Clarify the things•••* modules/ssh/dist/node.scm (rrepl-get-result) <read-result>: Make the code clearer, add a comment near the tricky part. Artyom V. Poptsov2015-10-291-4/+7
| * node.scm (rrepl-get-result): Simplify code a bit•••* modules/ssh/dist/node.scm (rrepl-get-result): Simplify 'read-result' code a bit. Artyom V. Poptsov2015-10-291-7/+3
| * node.scm (rrepl-get-result): Remove extra 'let'•••* modules/ssh/dist/node.scm (rrepl-get-result): Remove extra 'let'. Artyom V. Poptsov2015-10-291-29/+29
| * node.scm (read-string): New procedure•••* modules/ssh/dist/node.scm (read-string): New procedure. (rrepl-get-result): Use it. Artyom V. Poptsov2015-10-291-9/+8
| * node.scm (eof-or-null?): New procedure•••* modules/ssh/dist/node.scm (eof-or-null?): New procedure. (rrepl-get-result): Use it. Artyom V. Poptsov2015-10-291-2/+7
| * node.scm: Add comments to <node> fields•••* modules/ssh/dist/node.scm: Add comments to <node> fields. Artyom V. Poptsov2015-10-291-3/+3
* | sftp-file-type.c (gssh_open_file): Rename Scheme procedure•••* libguile-ssh/sftp-file-type.c (gssh_open_file): Rename Scheme procedure to '%gssh-sftp-open'. All callers updated. * modules/ssh/sftp.scm (sftp-open-file): Rename to 'sftp-open'. All callers updated. (call-with-remote-input-file, call-with-remote-output-file): Update. * doc/api-sftp.texi: Update. Artyom V. Poptsov2015-10-281-6/+6
* | sftp.scm: Add high-level API for remote files•••* modules/ssh/sftp.scm (call-with-remote-input-file) (call-with-remote-output-file, with-input-from-remote-file) (with-output-to-remote-file): New procedures. * doc/api-sftp.texi: Update. Artyom V. Poptsov2015-10-281-1/+87
* | modules/ssh/sftp.scm (sftp-mkdir): Update the docstringArtyom V. Poptsov2015-10-281-2/+3
* | sftp.scm (sftp-chmod): Require 'mode' argument•••* modules/ssh/sftp.scm (sftp-chmod): Require 'mode' argument. * doc/api-sftp.texi: Update. Artyom V. Poptsov2015-10-281-4/+3
* | sftp.scm (sftp-open-file): Improve the docstring•••* modules/ssh/sftp.scm (sftp-open-file): Improve the docstring. Artyom V. Poptsov2015-10-281-2/+3