Awesome, thank you! On Mon, Feb 28, 2022 at 10:29 AM Artyom V. Poptsov <poptsov.art...@gmail.com> wrote:
> Hello Guilers! > > I'm pleased to announce Guile-SSH 0.15.1: > https://github.com/artyom-poptsov/guile-ssh/releases/tag/v0.15.1 > > As usual, this release tag is signed with my GPG key[1]. > > This is mostly a bugfix release as it fixes some segfaults that occur on > garbage collecting of sessions and errors on remote side closing. > > Many thanks to Ludovic Courtès for useful bug reports that allowed me to > investigate the observed problems and fix them. > > > * 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. > - Procedures for interaction with SSH agents. > > > * The list of user-visible changes > > Here's the list of user-visible changes (an excerpt from NEWS file): > > --8<---------------cut here---------------start------------->8--- > * Changes in version 0.15.1 (2022-02-28) > ** Fix session garbage collecting errors > When a session is being destroyed by the Guile GC, the session garbage > collector procedures try to close all the session channels. There was a > bug that lead to accessing elements that are over the border of a > channels > list. > > Now the bug should be fixed. > > Reported by Ludovic Courtès <l...@gnu.org> in an email, here: > <https://debbugs.gnu.org/cgi/bugreport.cgi?bug=52975> > ** Fix segfaults that occur on session closing > When a remote side closing a channel Guile-SSH would fail as the libssh > callback that marks the Guile-SSH channel as closed tried to convert a > Guile channel object to the channel data and fails to do it. > > Now the problem should be fixed. > > Reported by Ludovic Courtès <l...@gnu.org> in an email, here: > <https://debbugs.gnu.org/cgi/bugreport.cgi?bug=52975> > ** Add GNU Guix package definition to the repository > Add =guix.scm= to the repository. The file contains GNU Guix package > definition that allows to build Guile-SSH from Git. > --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.art...@gmail.com> > Home page: https://memory-heap.org/~avp/ > CADR Hackerspace co-founder: https://cadrspace.ru/ > GPG: D0C2 EAC1 3310 822D 98DE B57C E9C5 A2D9 0898 A02F >