summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* libguile-ssh: Fix building with libssh 0.8HEADmasterArtyom V. Poptsov2018-10-013-1/+30
| | | | | | | | | | | | | The 'libguile-ssh' library would fail to build due to missing 'libssh_threads' library that was removed libssh 0.8. This patch fixes that. Reported by lantw44 in <https://github.com/artyom-poptsov/guile-ssh/issues/9> * configure.ac: Add check for libssh 0.8 * libguile-ssh/Makefile.am: Don't use 'libssh_threads' library when building with libssh 0.8+. * NEWS: Update.
* INSTALL: UpdateArtyom V. Poptsov2018-10-011-159/+157
|
* libguile-ssh/channel-type.c (ptob_close): Bugfix: fix a segfaultArtyom V. Poptsov2018-08-073-1/+33
| | | | | | | | | | | | | | | '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.
* README (Installation): Mention Parabola GNU/LinuxArtyom V. Poptsov2018-03-311-0/+2
|
* NEWS: Bump version to 0.11.3v0.11.3Artyom V. Poptsov2018-03-272-3/+3
| | | | | * NEWS: Update. Bump version to 0.11.3. * configure.ac: Update.
* modules/ssh/dist/node.scm: Update copyright datesArtyom V. Poptsov2018-03-081-1/+1
|
* node.scm: Improve error handlingArtyom V. Poptsov2018-03-082-5/+11
| | | | | | | * 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.
* node.scm (node-run-server): Check return codeArtyom V. Poptsov2018-03-054-7/+23
| | | | | | * 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.
* auth.scm: Add procedures for interacting w/ an OpenSSH agentArtyom V. Poptsov2017-06-191-1/+81
| | | | | * modules/ssh/auth.scm (openssh-agent-start, openssh-agent-info) (openssh-agent-setenv): New procedures.
* NEWS: Bump version to 0.11.2v0.11.2Artyom V. Poptsov2017-06-182-4/+7
| | | | | * NEWS: Update. Bump version to 0.11.2. * configure.ac: Update.
* NEWS: UpdateArtyom V. Poptsov2017-06-181-3/+22
|
* libguile-ssh: Always reset the channel and sftp streams when closing ports.Ludovic Courtès2017-06-162-2/+4
| | | | | | | | | | 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>
* node.scm (node-eval): Always close the REPL channel.Ludovic Courtès2017-06-161-5/+12
| | | | | | | * 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>
* session-func.c (guile_ssh_session_set): Throw an option with its valueArtyom V. Poptsov2017-06-041-2/+4
| | | | | * libguile-ssh/session-func.c (guile_ssh_session_set): Throw an option along with its value on an error.
* 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 warningsArtyom V. Poptsov2017-05-232-1/+23
| | | | | | | * 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.
* channel-type.c (print_channel): Add a check for Guile 2.2Artyom V. Poptsov2017-05-222-0/+15
| | | | | | * 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.
* channel-func.c (guile_ssh_channel_get_exit_status): Handle freed channelsArtyom V. Poptsov2017-05-225-9/+53
| | | | | | | | | | | | | | * 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.
* channel-type.c (print_channel): Bugfix: Handle freed channelsArtyom V. Poptsov2017-05-213-12/+45
| | | | | | | | | | | | 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.
* log.c (_gssh_log_warning): New procedureArtyom V. Poptsov2017-05-213-0/+24
| | | | | | | * 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.
* log.c (_gssh_log_error): New procedureArtyom V. Poptsov2017-05-213-10/+22
| | | | | | * libguile-ssh/log.c (_gssh_log_error): New procedure. * libguile-ssh/log.h: Likewise. * libguile-ssh/error.c (guile_ssh_error1): Use it.
* node.scm (node-guile-version): BugfixArtyom V. Poptsov2017-05-214-1/+39
| | | | | | | | | | | | | | | '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.
* NEWS: Bump version to 0.11.1v0.11.1Artyom V. Poptsov2017-05-092-2/+3
| | | | | * NEWS: Update. Bump version to 0.11.1. * configure.ac: Update.
* configure.ac: Bugfix: Don't make symlinks to 'sssh{,d}.scm'Artyom V. Poptsov2017-05-093-7/+24
| | | | | | | | | | | | | | 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.
* README (Requirements): UpdateArtyom V. Poptsov2017-05-091-1/+2
|
* NEWS: Bump version to 0.11.0v0.11.0Artyom V. Poptsov2017-05-093-5/+10
| | | | | | * NEWS: Update. Bump version to 0.11.0. * configure.ac: Update. * build-aux/compile: Update.
* 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 directoryArtyom V. Poptsov2017-05-091-0/+5
| | | | | | | | '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.
* 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 channelArtyom V. Poptsov2017-05-081-1/+2
| | | | | * tests/dist.scm ("with-ssh") <server>: Close channel as soon as data sent to the client.
* 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 codeArtyom V. Poptsov2017-05-031-3/+1
| | | | * modules/ssh/tunnel.scm (main-loop/reverse): Remove unused code.
* tunnel.scm (tunnel-timeout/s+us): New procedure.Artyom V. Poptsov2017-05-031-8/+15
| | | | | * modules/ssh/tunnel.scm (tunnel-timeout/s+us): New procedure. (main-loop): Use it.
* tunnel.scm (main-loop/reverse): Improve the code a bitArtyom V. Poptsov2017-05-031-13/+13
| | | | * modules/ssh/tunnel.scm (main-loop/reverse): Improve the code a bit.
* tunnel.scm (main-loop/reverse) <tunnel-connect>: New procedure.Artyom V. Poptsov2017-05-031-3/+9
| | | | | * modules/ssh/tunnel.scm (main-loop/reverse) <tunnel-connect>: New procedure. Use it to make a connection for a reverse tunnel.
* node.scm (rrepl-get-result): Fix code formattingArtyom V. Poptsov2017-05-021-3/+7
| | | | * modules/ssh/dist/node.scm (rrepl-get-result): Fix code formatting.
* node.scm (rrepl-get-result): Handle unknown # objects properlyArtyom V. Poptsov2017-05-023-20/+50
| | | | | | | | | | | | | | | 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
* TODO: UpdateArtyom V. Poptsov2017-05-021-0/+12
|
* build: Generate and use libguile-ssh/config.h.Ludovic Courtès2017-04-3027-0/+53
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* node.scm (rrepl-get-result): Handle "unbound variable" errorsArtyom V. Poptsov2017-04-304-2/+29
| | | | | | | | | | | | | | 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.