summaryrefslogtreecommitdiff
Commit message (Expand)AuthorAgeFilesLines
* NEWS: Bump version to 0.11.2•••* NEWS: Update. Bump version to 0.11.2. * configure.ac: Update. v0.11.2Artyom V. Poptsov2017-06-182-4/+7
* NEWS: UpdateArtyom V. Poptsov2017-06-181-3/+22
* libguile-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ès2017-06-162-2/+4
* 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ès2017-06-161-5/+12
* session-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. Poptsov2017-06-041-2/+4
* libguile-ssh/error.c: Add missing includesArtyom V. Poptsov2017-06-041-0/+1
* libguile-ssh/log.h: Add missing includes; use ifndefArtyom V. Poptsov2017-06-041-0/+7
* channel-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. Poptsov2017-05-232-1/+23
* channel-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. Poptsov2017-05-222-0/+15
* channel-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. Poptsov2017-05-225-9/+53
* channel-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. Poptsov2017-05-213-12/+45
* log.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. Poptsov2017-05-213-0/+24
* log.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. Poptsov2017-05-213-10/+22
* 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. Poptsov2017-05-214-1/+39
* NEWS: Bump version to 0.11.1•••* NEWS: Update. Bump version to 0.11.1. * configure.ac: Update. v0.11.1Artyom V. Poptsov2017-05-092-2/+3
* configure.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. Poptsov2017-05-093-7/+24
* README (Requirements): UpdateArtyom V. Poptsov2017-05-091-1/+2
* NEWS: 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. Poptsov2017-05-093-5/+10
* tests/server-client.scm ("message-get-session"): Add additional delaysArtyom V. Poptsov2017-05-091-0/+2
* configure.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. Poptsov2017-05-091-0/+5
* tests/dist.scm ("with-ssh") <server>: Wait before closing a channelArtyom V. Poptsov2017-05-081-0/+1
* tests/Makefile.am (CLEANFILES): Add new logsArtyom V. Poptsov2017-05-081-0/+5
* tests/sssh-ssshd.scm: Use separate error log fileArtyom V. Poptsov2017-05-081-1/+1
* tests/tunnel.scm ("call-with-ssh-forward"): Make TC more robustArtyom V. Poptsov2017-05-081-1/+2
* tests/server-client.scm ("message-get-type"): Make TC more robustArtyom V. Poptsov2017-05-081-3/+10
* tests/common.scm (start-server-loop): Improve logging and error handlingArtyom V. Poptsov2017-05-081-6/+19
* tests/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. Poptsov2017-05-081-1/+2
* tests/tunnel.scm: CleanupArtyom V. Poptsov2017-05-081-1/+1
* AUTHORS: UpdateArtyom V. Poptsov2017-05-081-1/+32
* doc/api-shell.texi: Fix grammar a bitArtyom V. Poptsov2017-05-081-1/+2
* README (Installation): Add a link to the Docker imageArtyom V. Poptsov2017-05-081-0/+3
* modules/ssh/tunnel.scm: Update copyright datesArtyom V. Poptsov2017-05-081-1/+1
* tunnel.scm (main-loop/reverse): Remove unused code•••* modules/ssh/tunnel.scm (main-loop/reverse): Remove unused code. Artyom V. Poptsov2017-05-031-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. Poptsov2017-05-031-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. Poptsov2017-05-031-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. Poptsov2017-05-031-3/+9
* node.scm (rrepl-get-result): Fix code formatting•••* modules/ssh/dist/node.scm (rrepl-get-result): Fix code formatting. Artyom V. Poptsov2017-05-021-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. Poptsov2017-05-023-20/+50
* TODO: UpdateArtyom V. Poptsov2017-05-021-0/+12
* build: 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ès2017-04-3027-0/+53
* 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. Poptsov2017-04-304-2/+29
* tests/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. Poptsov2017-04-231-0/+1
* Merge branch 'master' into ludo-guile2.2Artyom V. Poptsov2017-04-236-47/+93
|\
| * NEWS: Fix markup a bigArtyom V. Poptsov2017-04-231-9/+9
| * 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. Poptsov2017-04-236-47/+93
* | build: Use $(GUILD) instead of `which guild`.•••* am/guilec (GUILEC): Use $(GUILD). Signed-off-by: Artyom V. Poptsov <poptsov.artyom@gmail.com> Ludovic Courtès2017-04-231-1/+1
* | libguile-ssh: Adjust port code to Guile 2.2.•••This ports Guile-SSH to the port API found in Guile 2.2. * libguile-ssh/common.h (USING_GUILE_BEFORE_2_2): New macro. * libguile-ssh/channel-type.c (channel_tag) [!USING_GUILE_BEFORE_2_2]: New definition. (read_from_channel_port, write_to_channel_port): New functions. (ptob_close): Add #if USING_GUILE_BEFORE_2_2. (guile_ssh_is_channel_p): Likewise. (equalp_channel): Condition on USING_GUILE_BEFORE_2_2. (_scm_from_channel_data): Add #if USING_GUILE_BEFORE_2_2. (_scm_to_channel_data): Likewise. (init_channel_type): Likewise. * libguile-ssh/sftp-file-type.c (sftp_file_tag) [!USING_GUILE_BEFORE_2_2]: New defintion. (read_from_sftp_file_port, write_to_sftp_file_port): New functions. (equalp_sftp_file): Condition on USING_GUILE_BEFORE_2_2. (print_sftp_file): Use 'scm_port_filename' instead of 'SCM_FILENAME'. (ptob_flush): Condition on USING_GUILE_BEFORE_2_2. (ptob_close, ptob_seek): Add #if USING_GUILE_BEFORE_2_2. (gssh_sftp_file_p): Likewise. (_scm_to_sftp_file_data, _scm_from_sftp_file): Likewise. (init_sftp_file_type): Likewise. * configure.ac: Request "2.2" before "2.0" in 'GUILE_PKG'. Signed-off-by: Artyom V. Poptsov <poptsov.artyom@gmail.com> Ludovic Courtès2017-04-234-55/+263
* | build: Allow VPATH builds.•••This fixes builds where $(builddir) != $(srcdir). * examples/Makefile.am (.in): Use $(MKDIR_P) to make the target's parent directories. * tests/common.scm (%topbuilddir): New variable. * tests/sssh-ssshd.scm (*ssshd-cmd*, *sssh-cmd*): Use it instead of %TOPDIR. Signed-off-by: Artyom V. Poptsov <poptsov.artyom@gmail.com> Ludovic Courtès2017-04-233-2/+5
* | tests: Use 'inet-ntop' instead of 'inet-ntoa'.•••* tests/sssh-ssshd.scm (*sssh-cmd*): Use 'inet-ntop' instead of the deprecated 'inet-ntoa'. Signed-off-by: Artyom V. Poptsov <poptsov.artyom@gmail.com> Ludovic Courtès2017-04-231-1/+1
* | libguile-ssh/sftp-file-type.c: Remove 'mark' and 'free' procedures.•••The mark function was unnecessary given that 'sftp_file_data' is allocated with 'scm_gc_malloc' and thus scanned by the GC. The free function was already a no-op. * libguile-ssh/sftp-file-type.c (mark_sftp_file): Remove. (free_sftp_file): Remove. (init_sftp_file_type): Remove call to 'scm_set_port_mark' and to 'scm_set_port_free'. Signed-off-by: Artyom V. Poptsov <poptsov.artyom@gmail.com> Ludovic Courtès2017-04-231-15/+0