summaryrefslogtreecommitdiff
path: root/modules/ssh/tunnel.scm (unfollow)
Commit message (Expand)AuthorFilesLines
2018-10-01INSTALL: UpdateArtyom V. Poptsov1-159/+157
2018-08-07libguile-ssh/channel-type.c (ptob_close): Bugfix: fix a segfault•••'ptob_close' would always get a segfault when it tried to free a closed channel. This patch fixes that by adding a check if a channel is already closed. Reported by Michael Bowcutt <mbowcutt@case.edu> in <https://github.com/artyom-poptsov/guile-ssh/issues/8> and Njagi Mwaniki in a personal email. * libguile-ssh/channel-type.c (ptob_close): Check if a channel is already closed before trying to close and free it. Improve logging. * libguile-ssh/log.c (_gssh_log_debug, _gssh_log_debug1): New procedures * libguile-ssh/log.h: Likewise. Artyom V. Poptsov3-1/+33
2018-03-31README (Installation): Mention Parabola GNU/LinuxArtyom V. Poptsov1-0/+2
2018-03-27NEWS: Bump version to 0.11.3•••* NEWS: Update. Bump version to 0.11.3. * configure.ac: Update. v0.11.3Artyom V. Poptsov2-3/+3
2018-03-08modules/ssh/dist/node.scm: Update copyright datesArtyom V. Poptsov1-1/+1
2018-03-08node.scm: Improve error handling•••* 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. Artyom V. Poptsov2-5/+11
2018-03-05node.scm (node-run-server): Check return code•••* 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. Artyom V. Poptsov4-7/+23
2017-06-19auth.scm: Add procedures for interacting w/ an OpenSSH agent•••* modules/ssh/auth.scm (openssh-agent-start, openssh-agent-info) (openssh-agent-setenv): New procedures. Artyom V. Poptsov1-1/+81
2017-06-18NEWS: Bump version to 0.11.2•••* NEWS: Update. Bump version to 0.11.2. * configure.ac: Update. v0.11.2Artyom V. Poptsov2-4/+7
2017-06-18NEWS: UpdateArtyom V. Poptsov1-3/+22
2017-06-16libguile-ssh: Always reset the channel and sftp streams when closing ports.•••See <https://bugs.gnu.org/26976>. * libguile-ssh/channel-type.c (ptob_close): Move SCM_SETSTREAM(channel, NULL) outside of "#if USING_GUILE_BEFORE_2_2". * libguile-ssh/sftp-file-type.c (ptob_close): Likewise. Signed-off-by: Artyom V. Poptsov <poptsov.artyom@gmail.com> Ludovic Courtès2-2/+4
2017-06-16node.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ès1-5/+12
2017-06-04session-func.c (guile_ssh_session_set): Throw an option with its value•••* libguile-ssh/session-func.c (guile_ssh_session_set): Throw an option along with its value on an error. Artyom V. Poptsov1-2/+4
2017-06-04libguile-ssh/error.c: Add missing includesArtyom V. Poptsov1-0/+1
2017-06-04libguile-ssh/log.h: Add missing includes; use ifndefArtyom V. Poptsov1-0/+7
2017-05-23channel-func.c (guile_ssh_channel_open_forward): Log warnings•••* libguile-ssh/channel-func.c (guile_ssh_channel_open_forward): Log a warning if a forwarding channel could not be open. * tests/tunnel.scm ("port forwarding, direct, disconnected session"): New test case. Artyom V. Poptsov2-1/+23
2017-05-22channel-type.c (print_channel): Add a check for Guile 2.2•••* libguile-ssh/channel-type.c (print_channel): Don't use 'SCM_PTAB_ENTRY' macro if Guile 2.2 is used. * libguile-ssh/channel-type.h (GSSH_VALIDATE_CHANNEL_DATA): Likewise. Artyom V. Poptsov2-0/+15
2017-05-22channel-func.c (guile_ssh_channel_get_exit_status): Handle freed channels•••* libguile-ssh/channel-func.c (guile_ssh_channel_get_exit_status): Throw 'wrong-type-arg' if a freed channel is passed as an argument. * libguile-ssh/channel-type.h (GSSH_VALIDATE_OPEN_CHANNEL): Check if a channel is freed. * tests/client-server.scm ("channel-get-exit-status, freed channel"): New test case. * tests/common.scm (test-error-with-log/=): Check error key and message properly. (test-error-with-log): Check an error key. (test-error-with-log/handler): Remove extra rules. * NEWS: Update. Artyom V. Poptsov5-9/+53
2017-05-21channel-type.c (print_channel): Bugfix: Handle freed channels•••Guile-SSH would always crash with SIGSEGV errors when tried to print a freed channel object (e.g. after calling 'close' on a channel). This patch fixes the bug. * libguile-ssh/channel-type.c (print_channel): Bugfix: Handle freed channels properly. * tests/client-server.scm ("channel-request-exec, printing a freed channel"): New test case. * NEWS: Update. Artyom V. Poptsov3-12/+45
2017-05-21log.c (_gssh_log_warning): New procedure•••* libguile-ssh/log.c (_gssh_log_warning): New procedure. * libguile-ssh/log.h: Likewise. * libguile-ssh/channel-func.c (guile_ssh_channel_get_exit_status): Issue a warning if 'ssh_channel_get_exit_status' failed to get the exit status. Artyom V. Poptsov3-0/+24
2017-05-21log.c (_gssh_log_error): New procedure•••* libguile-ssh/log.c (_gssh_log_error): New procedure. * libguile-ssh/log.h: Likewise. * libguile-ssh/error.c (guile_ssh_error1): Use it. Artyom V. Poptsov3-10/+22
2017-05-21node.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. Poptsov4-1/+39
2017-05-09NEWS: Bump version to 0.11.1•••* NEWS: Update. Bump version to 0.11.1. * configure.ac: Update. v0.11.1Artyom V. Poptsov2-2/+3
2017-05-09configure.ac: Bugfix: Don't make symlinks to 'sssh{,d}.scm'•••The building process would always fail on fresh source tree because 'configure' tried to make a symlink or a copy of files that were not present yet. This patch fixes the building process. Reported by Ludovic Courtès, on #guix IRC channel. * configure.ac: Don't make symlinks to 'sssh.scm' and 'ssshd.scm'. * examples/Makefile.am: Consider 'sssh.scm' and 'ssshd.scm' as generated scripts to ensure that they are present in the build directory so 'sssh-ssshd.scm' test suite will not fail. * NEWS: Update. Artyom V. Poptsov3-7/+24
2017-05-09README (Requirements): UpdateArtyom V. Poptsov1-1/+2
2017-05-09NEWS: Bump version to 0.11.0•••* NEWS: Update. Bump version to 0.11.0. * configure.ac: Update. * build-aux/compile: Update. v0.11.0Artyom V. Poptsov3-5/+10
2017-05-09tests/server-client.scm ("message-get-session"): Add additional delaysArtyom V. Poptsov1-0/+2
2017-05-09configure.ac: Bugfix: Symlink/copy sssh/ssshd to build directory•••'ssssh-ssshd.scm' test suite would always fail because it could not find the generated scripts. This patch fixes the issue by making a symlink/copy of the sssh/ssshd programs to the build directory. * configure.ac: Bugfix: Symlink/copy sssh/ssshd to build directory. Artyom V. Poptsov1-0/+5
2017-05-08tests/dist.scm ("with-ssh") <server>: Wait before closing a channelArtyom V. Poptsov1-0/+1
2017-05-08tests/Makefile.am (CLEANFILES): Add new logsArtyom V. Poptsov1-0/+5
2017-05-08tests/sssh-ssshd.scm: Use separate error log fileArtyom V. Poptsov1-1/+1
2017-05-08tests/tunnel.scm ("call-with-ssh-forward"): Make TC more robustArtyom V. Poptsov1-1/+2
2017-05-08tests/server-client.scm ("message-get-type"): Make TC more robustArtyom V. Poptsov1-3/+10
2017-05-08tests/common.scm (start-server-loop): Improve logging and error handlingArtyom V. Poptsov1-6/+19
2017-05-08tests/dist.scm ("with-ssh") <server>: Close a channel•••* tests/dist.scm ("with-ssh") <server>: Close channel as soon as data sent to the client. Artyom V. Poptsov1-1/+2
2017-05-08tests/tunnel.scm: CleanupArtyom V. Poptsov1-1/+1
2017-05-08AUTHORS: UpdateArtyom V. Poptsov1-1/+32
2017-05-08doc/api-shell.texi: Fix grammar a bitArtyom V. Poptsov1-1/+2
2017-05-08README (Installation): Add a link to the Docker imageArtyom V. Poptsov1-0/+3
2017-05-08modules/ssh/tunnel.scm: Update copyright datesArtyom V. Poptsov1-1/+1
2017-05-03tunnel.scm (main-loop/reverse): Remove unused code•••* modules/ssh/tunnel.scm (main-loop/reverse): Remove unused code. Artyom V. Poptsov1-3/+1
2017-05-03tunnel.scm (tunnel-timeout/s+us): New procedure.•••* modules/ssh/tunnel.scm (tunnel-timeout/s+us): New procedure. (main-loop): Use it. Artyom V. Poptsov1-8/+15
2017-05-03tunnel.scm (main-loop/reverse): Improve the code a bit•••* modules/ssh/tunnel.scm (main-loop/reverse): Improve the code a bit. Artyom V. Poptsov1-13/+13
2017-05-03tunnel.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. Poptsov1-3/+9
2017-05-02node.scm (rrepl-get-result): Fix code formatting•••* modules/ssh/dist/node.scm (rrepl-get-result): Fix code formatting. Artyom V. Poptsov1-3/+7
2017-05-02node.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. Poptsov3-20/+50
2017-05-02TODO: UpdateArtyom V. Poptsov1-0/+12
2017-04-30build: Generate and use libguile-ssh/config.h.•••Among other things, this allows us to work around broken guile-snarf handling of whitespace arguments in Guile 2.2.1: <https://bugs.gnu.org/25803>. * configure.ac: Use 'AC_CONFIG_HEADER'. * libguile-ssh/auth.c, libguile-ssh/channel-func.c, libguile-ssh/channel-main.c, libguile-ssh/channel-type.c, libguile-ssh/common.c, libguile-ssh/error.c, libguile-ssh/key-func.c, libguile-ssh/key-main.c, libguile-ssh/key-type.c, libguile-ssh/log.c, libguile-ssh/message-func.c, libguile-ssh/message-main.c, libguile-ssh/message-type.c, libguile-ssh/server-func.c, libguile-ssh/server-main.c, libguile-ssh/server-type.c, libguile-ssh/session-func.c, libguile-ssh/session-main.c, libguile-ssh/session-type.c, libguile-ssh/sftp-file-main.c, libguile-ssh/sftp-file-type.c, libguile-ssh/sftp-session-func.c, libguile-ssh/sftp-session-main.c, libguile-ssh/sftp-session-type.c, libguile-ssh/threads.c, libguile-ssh/version.c: Include <config.h>. Signed-off-by: Artyom V. Poptsov <poptsov.artyom@gmail.com> Ludovic Courtès27-0/+53
2017-04-30node.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. Poptsov4-2/+29
2017-04-23tests/tunnel.scm ("call-with-ssh-forward"): Wait for 1s before polling•••* tests/tunnel.scm ("call-with-ssh-forward"): Wait for 1s before polling to prevent errors (yes, that's a dirty hack but it works for me... most of the time.) Artyom V. Poptsov1-0/+1