| Commit message (Expand) | Author | Age | Files | Lines |
| * | node.scm (node-eval): Always close the REPL channel.•••* modules/ssh/dist/node.scm (node-eval): Use 'dynamic-wind' to
systematically close REPL-CHANNEL.
Signed-off-by: Artyom V. Poptsov <poptsov.artyom@gmail.com>
| Ludovic Courtès | 2017-06-16 | 1 | -5/+12 |
| * | node.scm (node-guile-version): Bugfix•••'node-guile-version' would always fail due to a wrong call to 'rexec'
procedure passing it a node object instead of a session object. This patch
fixes the bug.
Reported by Mark H Weaver <mhw@netris.org> and Ludovic Courtès <ludo@gnu.org>:
<https://bugs.gnu.org/26976>
* modules/ssh/dist/node.scm (node-guile-version): Pass node session to a
'rexec' procedure instead of a node object.
* tests/common.scm (start-server/exec): Handle node version requests.
* tests/dist.scm ("node-guile-version, valid response"): New test case.
* NEWS: Update.
| Artyom V. Poptsov | 2017-05-21 | 1 | -1/+1 |
| * | modules/ssh/tunnel.scm: Update copyright dates | Artyom V. Poptsov | 2017-05-08 | 1 | -1/+1 |
| * | tunnel.scm (main-loop/reverse): Remove unused code•••* modules/ssh/tunnel.scm (main-loop/reverse): Remove unused code.
| Artyom V. Poptsov | 2017-05-03 | 1 | -3/+1 |
| * | tunnel.scm (tunnel-timeout/s+us): New procedure.•••* modules/ssh/tunnel.scm (tunnel-timeout/s+us): New procedure.
(main-loop): Use it.
| Artyom V. Poptsov | 2017-05-03 | 1 | -8/+15 |
| * | tunnel.scm (main-loop/reverse): Improve the code a bit•••* modules/ssh/tunnel.scm (main-loop/reverse): Improve the code a bit.
| Artyom V. Poptsov | 2017-05-03 | 1 | -13/+13 |
| * | tunnel.scm (main-loop/reverse) <tunnel-connect>: New procedure.•••* modules/ssh/tunnel.scm (main-loop/reverse) <tunnel-connect>: New procedure.
Use it to make a connection for a reverse tunnel.
| Artyom V. Poptsov | 2017-05-03 | 1 | -3/+9 |
| * | node.scm (rrepl-get-result): Fix code formatting•••* modules/ssh/dist/node.scm (rrepl-get-result): Fix code formatting.
| Artyom V. Poptsov | 2017-05-02 | 1 | -3/+7 |
| * | node.scm (rrepl-get-result): Handle unknown # objects properly•••The procedure would always fail to read unknown objects (e.g. instances
of Guile-SSH session) properly, raising an obscure errors like
"Unknown # object: #\<". Now the procedure raises 'node-repl-error'
with full evaluation result gotten from RREPL.
Reported by Mathieu, in
<https://github.com/artyom-poptsov/guile-ssh/issues/3>
* modules/ssh/dist/node.scm (rrepl-get-result): Handle unknown # objects
properly.
* tests/dist.scm ("rrepl-get-result, unknown # object error"): New test case.
* NEWS: Update
| Artyom V. Poptsov | 2017-05-02 | 1 | -20/+33 |
| * | node.scm (rrepl-get-result): Handle "unbound variable" errors•••The procedure would always fail to read "unbound variable" errors properly,
returning wrong result with only two values (current module name and current
language name). Now this bug should be fixed.
Reported by Mathieu, in
<https://github.com/artyom-poptsov/guile-ssh/issues/3>
* modules/ssh/dist/node.scm (rrepl-get-result): Handle "unbound variable"
errors.
* tests/dist.scm ("rrepl-get-result, unbound variable error"): New test case.
* AUTHORS, NEWS: Update.
| Artyom V. Poptsov | 2017-04-30 | 1 | -1/+8 |
| * | node.scm (rrepl-get-result): Bugfix: Handle compilation errors•••Guile-SSH would always fail to read compilation errors properly because it
considered the message as "undefined" result. Now this bug should be fixed.
An example of an error that now should be handled is "no code for module" due
to using a non-existing module in 'with-ssh' expression.
Reported by Mathieu, in
<https://github.com/artyom-poptsov/guile-ssh/issues/3>
* modules/ssh/dist/node.scm (rrepl-get-result): Bugfix: Do not consider
compilation errors as undefined results.
(rrepl-eval): Call 'exit' on the remote side to ensure that the remote side
closed a channel.
* tests/dist.scm: Improve logging.
("rrepl-get-result, compilation error"): New TC.
* doc/guile-ssh.texi (Acknowledgments): Update.
* AUTHORS, NEWS, THANKS: Update.
| Artyom V. Poptsov | 2017-04-23 | 1 | -40/+58 |
| * | node.scm (issue-procps-warning): New procedure•••* modules/ssh/dist/node.scm (issue-procps-warning): New procedure.
(node-server-running?, node-stop-server): Use it.
| Artyom V. Poptsov | 2017-01-04 | 1 | -12/+12 |
| * | dist.scm, node.scm: Update copyright dates•••* modules/ssh/dist.scm, modules/ssh/dist/node.scm: Update copyright dates.
| Artyom V. Poptsov | 2017-01-03 | 2 | -2/+2 |
| * | tunnel.scm (main-loop): Handle "interrupted system call" errors•••* modules/ssh/tunnel.scm (main-loop): Handle "interrupted system call" errors.
| Artyom V. Poptsov | 2017-01-03 | 1 | -12/+16 |
| * | shell.scm: Update module commentary•••* modules/ssh/shell.scm: Update module commentary.
| Artyom V. Poptsov | 2017-01-03 | 1 | -1/+2 |
| * | node.scm (rrepl-skip-to-prompt): Use 'when'•••* modules/ssh/dist/node.scm (rrepl-skip-to-prompt): Use 'when'.
| Artyom V. Poptsov | 2017-01-01 | 1 | -4/+2 |
| * | node.scm (node-loadavg): New procedure•••* modules/ssh/dist.scm (with-ssh): Move to (ssh dist node); re-export the
procedure.
* modules/ssh/dist/node.scm (node-loadavg): New procedure.
| Artyom V. Poptsov | 2017-01-01 | 2 | -9/+33 |
| * | shell.scm (loadavg): New procedure•••* modules/ssh/shell.scm (loadavg): New procedure.
| Artyom V. Poptsov | 2016-12-31 | 1 | -1/+9 |
| * | shell.scm (rexec): Check only for EOF object•••* modules/ssh/shell.scm (rexec): Check only for EOF object.
(eof-or-null?): Remove.
| Artyom V. Poptsov | 2016-12-31 | 1 | -10/+1 |
| * | shell.scm (fallback-pgrep): Add dumb 'full?' option•••* modules/ssh/shell.scm (fallback-pgrep): Add dumb 'full?' option so the
procedure can be used as drop-in replacement to 'pgrep' where full search is
performed (e.g. in (ssh dist node)).
* modules/ssh/dist/node.scm (node-server-running?): Update.
| Artyom V. Poptsov | 2016-12-25 | 2 | -10/+5 |
| * | shell.scm: Add/update docstrings•••* modules/ssh/shell.scm (pgrep): Update the docstring.
(pkill, fallback-pkill): Add docstrings.
| Artyom V. Poptsov | 2016-12-25 | 1 | -2/+13 |
| * | shell.scm (fallback-pkill): Use 'fallback-pkill'•••* modules/ssh/shell.scm (fallback-pkill): Use 'fallback-pkill'.
(fallback-pgrep): Return PIDs as the 1st value.
| Artyom V. Poptsov | 2016-12-25 | 1 | -11/+12 |
| * | shell.scm: Update the module commentary•••* modules/ssh/shell.scm: Update the module commentary.
| Artyom V. Poptsov | 2016-12-25 | 1 | -0/+3 |
| * | node.scm (procps-available?): New procedure•••* modules/ssh/dist/node.scm (procps-available?): New procedure.
(node-server-running?, node-stop-server): Use it.
| Artyom V. Poptsov | 2016-12-25 | 1 | -7/+7 |
| * | shell.scm (fallback-pkill): New procedure•••* modules/ssh/shell.scm (fallback-pkill): New procedure.
* modules/ssh/dist/node.scm (node-stop-server): Use it. Improve logging.
| Artyom V. Poptsov | 2016-12-25 | 2 | -10/+35 |
| * | node.scm (node-stop-server): Use SIGKILL signal as the last resort•••* modules/ssh/dist/node.scm (node-stop-server): Try to SIGTERM the RREPL
server first, then use SIGKILL signal. Add logging.
* modules/ssh/shell.scm (pkill): Allow to specify signal to send.
| Artyom V. Poptsov | 2016-12-25 | 2 | -2/+13 |
| * | shell.scm (rexec): Close a remote pipe after use•••* modules/ssh/shell.scm (rexec): Close a remote pipe after use.
| Artyom V. Poptsov | 2016-12-25 | 1 | -8/+10 |
| * | shell.scm (pgrep): Fix misspelled pgrep option•••* modules/ssh/shell.scm (pgrep): Fix misspelled pgrep option
| Artyom V. Poptsov | 2016-12-25 | 1 | -1/+1 |
| * | node.scm (node-server-running?): Fix the check•••* modules/ssh/dist/node.scm (node-server-running?) <guile-up-and-running?>:
Fix the check.
| Artyom V. Poptsov | 2016-12-25 | 1 | -2/+2 |
| * | shell.scm (pgrep, pkill): Use '-f' instead of '--full'•••* modules/ssh/shell.scm (pgrep, pkill): Use the short version of '--full'
option.
| Artyom V. Poptsov | 2016-12-24 | 1 | -2/+9 |
| * | shell.scm (pkill): New procedure•••* modules/ssh/shell.scm (pkill): New procedure
* modules/ssh/dist/node.scm (node-stop-server): Use it.
| Artyom V. Poptsov | 2016-12-18 | 2 | -4/+9 |
| * | shell.scm: Add missing (ice-9 receive) module•••* modules/ssh/shell.scm: Add missing (ice-9 receive) module.
| Artyom V. Poptsov | 2016-12-18 | 1 | -0/+1 |
| * | shell.scm (fallback-pgrep): Bugfix: Fix the format string•••* modules/ssh/shell.scm (fallback-pgrep): Bugfix: Use (ice-9 format), replace
all '~' with '~~'.
| Artyom V. Poptsov | 2016-12-18 | 1 | -1/+2 |
| * | modules/ssh/shell.scm: Fix commentary | Artyom V. Poptsov | 2016-12-18 | 1 | -1/+1 |
| * | shell.scm (fallback-pgrep): Add 'make-command' procedure•••* modules/ssh/shell.scm (fallback-pgrep): Add 'make-command' procedure.
| Artyom V. Poptsov | 2016-12-18 | 1 | -16/+19 |
| * | shell.scm: Use (ice-9 regex)•••* modules/ssh/shell.scm: Use (ice-9 regex) module.
| Artyom V. Poptsov | 2016-12-13 | 1 | -0/+1 |
| * | shell.scm (command-available?): New procedure•••* modules/ssh/shell.scm (command-available?): New procedure.
* modules/ssh/dist/node.scm (node-server-running?): Use it.
| Artyom V. Poptsov | 2016-12-13 | 2 | -4/+8 |
| * | shell.scm: New module•••* modules/ssh/shell.scm: New module.
* modules/ssh/dist/node.scm: Move all shell related procedures to (ssh shell).
Use (ssh shell).
* modules/ssh/Makefile.am (SCM_SOURCES): Add 'shell.scm'.
| Artyom V. Poptsov | 2016-12-13 | 3 | -59/+123 |
| * | node.scm: Implement a fallback pgrep•••* modules/ssh/dist/node.scm (which, pgrep, fallback-pgrep): New procedures.
(node-server-running?): Fallback to a Guile-SSH implementation of 'pgrep' if
procps tools aren't available on a node; issue a libssh warning if fallback
pgrep is used.
| Artyom V. Poptsov | 2016-12-11 | 1 | -12/+72 |
| * | dist.scm (distribute, dist-map, execute-job): Use 'when'•••* modules/ssh/dist.scm (distribute, dist-map, execute-job): Use 'when' instead
of 'and' where it is appropriate.
| Artyom V. Poptsov | 2016-12-11 | 1 | -6/+6 |
| * | channel.scm: Remove trailing bang from 'channel-send-eof'.•••This procedure merely does I/O without mutating its argument, so it does
not deserve the trailing '!' (similar to Scheme's 'write',
'put-bytevector', etc. procedures).
* libguile-ssh/channel-func.c (gssh_channel_send_eof_x): Rename to...
(gssh_channel_send_eof): ... this. Change Scheme name to
'%channel-send-eof'. Adjust caller.
* modules/ssh/channel.scm (channel-send-eof!): Rename to...
(channel-send-eof): ... this.
* tests/client-server.scm ("channel-send-eof!"): Rename to...
("channel-send-eof"): ... this. Adjust accordingly.
* doc/api-channels.texi (Channel Management): Adjust accordingly.
Signed-off-by: Artyom V. Poptsov <poptsov.artyom@gmail.com>
| Ludovic Courtès | 2016-11-06 | 1 | -4/+4 |
| * | channel.scm (channel-send-eof!): New procedure•••* modules/ssh/channel.scm (channel-send-eof!): New procedure.
* libguile-ssh/channel-func.c (gssh_channel_send_eof_x): New procedure.
* doc/api-channels.texi: Add description of 'channel-send-eof!'.
* tests/client-server.scm ("channel-send-eof!"): New TC.
* doc/version.texi, NEWS: Update.
| Artyom V. Poptsov | 2016-10-30 | 1 | -1/+9 |
| * | node.scm: Update copyright dates•••* modules/ssh/dist/node.scm: Update copyright dates
| Artyom V. Poptsov | 2016-07-31 | 1 | -1/+1 |
| * | node.scm (node-server-running?): Bugfix: Check if default port is set•••* modules/ssh/dist/node.scm (node-server-running?): Bugfix: Check if default
port is set for node before checking for RREPL with that port.
| Artyom V. Poptsov | 2016-07-31 | 1 | -4/+7 |
| * | node.scm (node-server-running?): Bugfix: Check the default port•••'node-server-running?' would always fail to detect running Guile REPL server
if no port was specified to '--listen' option. The patch fixes that.
* modules/ssh/dist/node.scm (node-server-running?): Check for a Guile REPL
process started with default port.
| Artyom V. Poptsov | 2016-07-31 | 1 | -7/+14 |
| * | modules/srfi: Compile SRFI-64 module•••* modules/srfi/Makefile.am: Add to the repository.
* modules/Makefile.am (SUBDIRS): Add 'srfi'
* configure.ac: Update.
| Artyom V. Poptsov | 2016-07-03 | 2 | -1/+47 |
| * | tunnel.scm (make-tunnel-channel): Use 'unless'•••* modules/ssh/tunnel.scm (make-tunnel-channel): Use 'unless' instead of 'or'
for error checking.
| Artyom V. Poptsov | 2016-06-12 | 1 | -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. Poptsov | 2016-06-12 | 1 | -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. Poptsov | 2016-02-22 | 2 | -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. Poptsov | 2016-02-21 | 1 | -1/+0 |