| Commit message (Collapse) | Author | Age | Files | Lines |
| | |
|
| |
|
|
|
|
|
| |
* modules/ssh/dist/node.scm: Improve error handling: throw an error with the
current node and the error code from the server. Log errors to the main
log.
* doc/api-dist.texi: Update.
|
| |
|
|
|
|
| |
* modules/ssh/dist/node.scm (node-run-server): Check return code of the
executed command, throw a 'node-error' on a non-zero code.
* AUTHORS, NEWS, THANKS: Update.
|
| |
|
|
|
| |
* modules/ssh/auth.scm (openssh-agent-start, openssh-agent-info)
(openssh-agent-setenv): New procedures.
|
| |
|
|
|
|
|
| |
* 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>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
'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.
|
| | |
|
| |
|
|
| |
* modules/ssh/tunnel.scm (main-loop/reverse): Remove unused code.
|
| |
|
|
|
| |
* modules/ssh/tunnel.scm (tunnel-timeout/s+us): New procedure.
(main-loop): Use it.
|
| |
|
|
| |
* modules/ssh/tunnel.scm (main-loop/reverse): Improve the code a bit.
|
| |
|
|
|
| |
* modules/ssh/tunnel.scm (main-loop/reverse) <tunnel-connect>: New procedure.
Use it to make a connection for a reverse tunnel.
|
| |
|
|
| |
* modules/ssh/dist/node.scm (rrepl-get-result): Fix code formatting.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
|
|
| |
* modules/ssh/dist/node.scm (issue-procps-warning): New procedure.
(node-server-running?, node-stop-server): Use it.
|
| |
|
|
| |
* modules/ssh/dist.scm, modules/ssh/dist/node.scm: Update copyright dates.
|
| |
|
|
| |
* modules/ssh/tunnel.scm (main-loop): Handle "interrupted system call" errors.
|
| |
|
|
| |
* modules/ssh/shell.scm: Update module commentary.
|
| |
|
|
| |
* modules/ssh/dist/node.scm (rrepl-skip-to-prompt): Use 'when'.
|
| |
|
|
|
|
| |
* modules/ssh/dist.scm (with-ssh): Move to (ssh dist node); re-export the
procedure.
* modules/ssh/dist/node.scm (node-loadavg): New procedure.
|
| |
|
|
| |
* modules/ssh/shell.scm (loadavg): New procedure.
|
| |
|
|
|
| |
* modules/ssh/shell.scm (rexec): Check only for EOF object.
(eof-or-null?): Remove.
|
| |
|
|
|
|
|
| |
* 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.
|
| |
|
|
|
| |
* modules/ssh/shell.scm (pgrep): Update the docstring.
(pkill, fallback-pkill): Add docstrings.
|
| |
|
|
|
| |
* modules/ssh/shell.scm (fallback-pkill): Use 'fallback-pkill'.
(fallback-pgrep): Return PIDs as the 1st value.
|
| |
|
|
| |
* modules/ssh/shell.scm: Update the module commentary.
|
| |
|
|
|
| |
* modules/ssh/dist/node.scm (procps-available?): New procedure.
(node-server-running?, node-stop-server): Use it.
|
| |
|
|
|
| |
* modules/ssh/shell.scm (fallback-pkill): New procedure.
* modules/ssh/dist/node.scm (node-stop-server): Use it. Improve logging.
|
| |
|
|
|
|
| |
* 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.
|
| |
|
|
| |
* modules/ssh/shell.scm (rexec): Close a remote pipe after use.
|
| |
|
|
| |
* modules/ssh/shell.scm (pgrep): Fix misspelled pgrep option
|
| |
|
|
|
| |
* modules/ssh/dist/node.scm (node-server-running?) <guile-up-and-running?>:
Fix the check.
|
| |
|
|
|
| |
* modules/ssh/shell.scm (pgrep, pkill): Use the short version of '--full'
option.
|
| |
|
|
|
| |
* modules/ssh/shell.scm (pkill): New procedure
* modules/ssh/dist/node.scm (node-stop-server): Use it.
|
| |
|
|
| |
* modules/ssh/shell.scm: Add missing (ice-9 receive) module.
|
| |
|
|
|
| |
* modules/ssh/shell.scm (fallback-pgrep): Bugfix: Use (ice-9 format), replace
all '~' with '~~'.
|
| | |
|
| |
|
|
| |
* modules/ssh/shell.scm (fallback-pgrep): Add 'make-command' procedure.
|
| |
|
|
| |
* modules/ssh/shell.scm: Use (ice-9 regex) module.
|
| |
|
|
|
| |
* modules/ssh/shell.scm (command-available?): New procedure.
* modules/ssh/dist/node.scm (node-server-running?): Use it.
|
| |
|
|
|
|
|
| |
* 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'.
|
| |
|
|
|
|
|
| |
* 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.
|
| |
|
|
|
| |
* modules/ssh/dist.scm (distribute, dist-map, execute-job): Use 'when' instead
of 'and' where it is appropriate.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
| |
|
|
|
|
|
|
| |
* 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.
|
| |
|
|
| |
* modules/ssh/dist/node.scm: Update copyright dates
|
| |
|
|
|
| |
* modules/ssh/dist/node.scm (node-server-running?): Bugfix: Check if default
port is set for node before checking for RREPL with that 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.
|
| |
|
|
|
| |
* modules/ssh/tunnel.scm (make-tunnel-channel): Use 'unless' instead of 'or'
for error checking.
|