[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[ANN] Guile-SSH 0.13.1 released
From: |
Artyom V. Poptsov |
Subject: |
[ANN] Guile-SSH 0.13.1 released |
Date: |
Wed, 19 Aug 2020 09:00:15 +0300 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/26.3 (gnu/linux) |
Hello Guilers,
I'm pleased to announce Guile-SSH 0.13.1:
https://github.com/artyom-poptsov/guile-ssh/releases/tag/v0.13.1
As usual, this release tag is signed with my GPG key[1].
This version fixes segmentation faults what would arise due to GC'ing of
sessions that are still in use by some channels. Now each channel keep
the parent session from GC'ing.
See the full list of the user-visible changes below.
Thanks to Ludovic Courtès and Vagrant Cascadian for detailed reporting
of the Guile-SSH segfauls. Also I would like to thank Maxim Cournoyer
for testing the branch with fixes.
* What is Guile-SSH?
Guile-SSH is a library that provides access to the SSH protocol[2] for
programs written in GNU Guile interpreter. It is built upon the
libssh[3] library.
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
applications.
- 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):
--8<---------------cut here---------------start------------->8---
** Fix segfaults on GC'ing
The library would always fail with segmentation fault when the GC tried to
free Guile-SSH session when Guile-SSH channels related to this sessions
were in use.
Now live channels prevent the keep Guile-SSH session from freeing.
** Channels procedures now check if the parent session is alive
Channels procedures now check if the parent session is alive and
connected. If this is not the case, an guile-ssh-error is issued.
--8<---------------cut here---------------end--------------->8---
Many thanks to all the people who helped me with bug reports, pull
requests and other hints. I added all contributors to "AUTHORS" and
"THANKS" files -- please let me know if I forgot to thank someone or
if there any typos.
- Artyom
References:
1. https://pgp.mit.edu/pks/lookup?search=0x0898A02F&op=index
2. https://en.wikipedia.org/wiki/Secure_Shell
3. https://www.libssh.org/
--
Artyom "avp" Poptsov <poptsov.artyom@gmail.com>
CADR Hackerspace co-founder: https://cadrspace.ru/
GPG: D0C2 EAC1 3310 822D 98DE B57C E9C5 A2D9 0898 A02F
signature.asc
Description: PGP signature
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [ANN] Guile-SSH 0.13.1 released,
Artyom V. Poptsov <=