Hello Guilers, I'm pleased to announce Guile-SSH 0.10.0: https://github.com/artyom-poptsov/guile-ssh/releases/tag/v0.10.0 Please find the package signed with my GPG key[1] here: - ftp://memory-heap.org/software/guile-ssh/guile-ssh-0.10.0.tar.gz - ftp://memory-heap.org/software/guile-ssh/guile-ssh-0.10.0.tar.gz.sig The release includes support of Guile 2.0.12 and libssh 0.7.3, bugfixes in '(ssh dist node)' and '(ssh popen)'; it also fixes errors discovered during building on Arch GNU/Linux. Though Guile-SSH still may be built with libssh older than 0.7.3, please use libssh 0.7.3 or later, because previous versions have a serious vulnerability. [4] Thanks for all the bugreports, they where very helpful. Contributors listed in the documentation, 'AUTHORS' and 'THANKS' files included in the distribution. * 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--- * Changes in version 0.10.0 (2016-08-20) ** Add support of Guile 2.0.12 Guile-SSH now builds (and works quite well, as far as I can see) with Guile 2.0.9 and 2.0.12. Unit tests are passing too. Tested on: - Gentoo GNU/Linux, Guile 2.0.12-r1, libssh 0.7.3 - Gentoo GNU/Linux, Guile 2.0.9-r1, libssh 0.7.3 ** Add support of libssh 0.7.3 Guile-SSH now supports libssh 0.7.3 and (probably) newer versions; haven't tested. Note that CVE-2016-0739 was found in previous libssh versions[4]; though you may still use 0.6.4, you really should stick with 0.7.3+ for aforementioned reason. 0.7.3 is already should be in your distro's repository, so that won't be a big deal I guess. ** Bugfixes *** (ssh dist node) **** 'node-server-running?' now checks the default port The procedure now checks for Guile server running on the default port (that is, with '--listen' option without an argument), if that port was specified for the node. *** Fix include errors and misspecified inline procedures in C code These errors lead to build failures (reported on Arch GNU/Linux, see .) *** Don't merge stderr with stdout in remote pipes See . ** Examples *** Add 'uptop' example ** Update documentation ** Unit tests Expand test suite, improve existing tests. Namely tests now don't always fail when '-j' option is used with 'make check', with value greater than 1 (e.g. '-j4'; tested on Gentoo GNU/Linux, 4-core Intel Atom CPU) Though sometimes tests fail, so there's still a room for improvement. Another improvement is that SRFI-64 module and Guile-SSH common test module are now compiled before use, that should speed up the tests. --8<---------------cut here---------------end--------------->8--- As usual, comments and bug-reports are very welcome. Happy hacking! - Artyom [1] https://pgp.mit.edu/pks/lookup?search=0x0898A02F&op=index [2] https://en.wikipedia.org/wiki/Secure_Shell [3] https://www.libssh.org/ [4] https://www.libssh.org/2016/02/23/libssh-0-7-3-security-and-bugfix-release/ -- Artyom V. Poptsov ; GPG Key: 0898A02F Home page: http://poptsov-artyom.narod.ru/