[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[ANN] Guile-SSH 0.11.2 released
Artyom V . Poptsov
[ANN] Guile-SSH 0.11.2 released
Sun, 18 Jun 2017 09:31:44 +0300
Gnus/5.13 (Gnus v5.13) Emacs/25.2 (gnu/linux)
I'm pleased to announce Guile-SSH 0.11.2:
Please find the package signed with my GPG key here:
This is a bugfix release. Most of the changes address Guile-SSH issues
related to GNU Guile 2.2 support. The release also includes a fix for
segmentation faults that occured when a freed Guile-SSH channel is
printed or converted. For details, please see the list of user-visible
Thanks for all the contributions, they where very helpful. Contributors
listed in the documentation, 'AUTHORS' and 'THANKS' files included in
* What is Guile-SSH?
Guile-SSH is a library that provides access to the SSH protocol for
programs written in GNU Guile interpreter. It is built upon the
Currently Guile-SSH provides the following features:
- The API that is sufficient for building of standalone SSH clients and
servers, or for embedding client/server functionality in your lispy Scheme
- Several authentication methods are supported, including password
authentication, public key and SSH agent authentication methods.
- Key management procedures: you can make key pairs, read keys from files,
get key hashes, get public keys from private keys etc. DSS, RSA, RSA1 and
ECDSA (by means of OpenSSL) are supported.
- Port forwarding procedures and high-level API for creating of SSH tunnels.
- Distributed forms ('dist-map', 'distribute', ...) that allow to spread the
evaluation of Scheme code between remote hosts. Or you can just connect
to a remote REPL from Scheme using 'with-ssh' procedure and evaluate some
expressions. No special server needed on the remote side, just an SSH
daemon and GNU Guile installed!
- SFTP client API allows you to read and write remote files over the SSH
protocol right from the Scheme code.
- Remote popen API that allows you to make either input, output or
bidirectional pipes to remote processes.
- Detailed documentation in Texinfo format with examples included, even more
examples in 'examples' directory.
* The list of user-visible changes
Here's the list of user-visible changes (an excerpt from NEWS file):
* Changes in version 0.11.2 (2017-06-18)
*** Always reset the channel and sftp streams when closing ports
In Guile 2.2 objects (and thus Guile-SSH channels) are finalized in a
separate finalizer thread, but libssh does not work properly in such a
multi-threaded fashion -- which leads to segfaults in Guile-SSH.
To address that problem the following changes are made:
- In (ssh dist node) REPL channels opened in 'node-eval' are closed
- Channels and SFTP streams are always reset when closing ports.
Thanks to Ludovic Courtès for the patches!
Reported by Ludovic Courtès and Mark H Weaver, in
*** In (ssh dist node)
**** 'node-guile-version' now does not fail
The procedure would always fail to get Guile version. Now that should be
Reported by Mark H Weaver and Ludovic Courtès, in
*** In (ssh session)
**** 'session-set!' now throws an option with its value on an error
*** In (ssh channel)
**** Printing a channel now works with Guile 2.2
**** 'channel-get-exit-status' handle freed channels properly
'channel-get-exit-status' now handles freed channels properly by throwing
**** Printing a freed channel doesn't lead to SIGSEGV anymore
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 bug
is fixed now by introducing new checks.
Now a freed channel will be printed like this:
#<unknown channel (freed) 9412f0>
** Update unit tests
*** Add test cases for fixed bugs
*** Improve logging
Artyom V. Poptsov <address@hidden>; GPG Key: 0898A02F
Home page: http://poptsov-artyom.narod.ru/
Description: PGP signature
|[Prev in Thread]
||[Next in Thread]|
- [ANN] Guile-SSH 0.11.2 released,
Artyom V . Poptsov <=