From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Artyom Poptsov Newsgroups: gmane.lisp.guile.user Subject: [ANN] Guile-SSH 0.7.0 released Date: Sun, 31 Aug 2014 23:38:54 +0400 Message-ID: <878um4tpo1.fsf@elephant.savannah> NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: text/plain X-Trace: ger.gmane.org 1409513939 25225 80.91.229.3 (31 Aug 2014 19:38:59 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Sun, 31 Aug 2014 19:38:59 +0000 (UTC) To: Guile Users' Mailing List Original-X-From: guile-user-bounces+guile-user=m.gmane.org@gnu.org Sun Aug 31 21:38:54 2014 Return-path: Envelope-to: guile-user@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by plane.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1XOAxg-0001PL-Tc for guile-user@m.gmane.org; Sun, 31 Aug 2014 21:38:53 +0200 Original-Received: from localhost ([::1]:50850 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1XOAxg-00059v-Db for guile-user@m.gmane.org; Sun, 31 Aug 2014 15:38:52 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:50727) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1XOAxU-00059p-NI for guile-user@gnu.org; Sun, 31 Aug 2014 15:38:45 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1XOAxQ-0006WK-0L for guile-user@gnu.org; Sun, 31 Aug 2014 15:38:40 -0400 Original-Received: from mail-lb0-x22c.google.com ([2a00:1450:4010:c04::22c]:64717) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1XOAxP-0006W5-DE for guile-user@gnu.org; Sun, 31 Aug 2014 15:38:35 -0400 Original-Received: by mail-lb0-f172.google.com with SMTP id 10so4928668lbg.17 for ; Sun, 31 Aug 2014 12:38:33 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=from:to:subject:date:message-id:user-agent:mime-version :content-type; bh=EEKafBbKfAHCNNIy6YzbfHBqECCytIQ1a88dG5Nr21w=; b=Rt1+QR0rMQ136rfE/Uzqop8whQbGp5OEV7HX4VGalCxo+CsCLwGqAz+6KcGO8dGtq8 b1qxc27n9WLJD3rc4GSUWq3VuWWAXyjn+ZiP5SioToBAC1Sde8g+xQs5vZs6n8jZZGHQ WUJz85Q20+L2LUb/kA7H5wVvLdx4g2mY5KYgAVGdO0hpk9bBLeKmTxk3nyhGd40cMpa9 QMOEJeY6CButPC3veT6tQXNr0UyXIK+P8AJog28mc1HsRp53PJOO0qVO/dyVbe0Bvvkg n85DsdUsq7pHFiGsAVEwf24zAH4mmBhiXFL/9VPaHSLCgQFfpkEFywzN/kMomu3cf9ce jCag== X-Received: by 10.112.78.38 with SMTP id y6mr3533723lbw.94.1409513913288; Sun, 31 Aug 2014 12:38:33 -0700 (PDT) Original-Received: from elephant.savannah (89-109-48-239.dynamic.mts-nn.ru. [89.109.48.239]) by mx.google.com with ESMTPSA id k8sm4075903laf.5.2014.08.31.12.38.31 for (version=TLSv1.2 cipher=RC4-SHA bits=128/128); Sun, 31 Aug 2014 12:38:32 -0700 (PDT) User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.3 (gnu/linux) X-detected-operating-system: by eggs.gnu.org: Error: Malformed IPv6 address (bad octet value). X-Received-From: 2a00:1450:4010:c04::22c X-BeenThere: guile-user@gnu.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: General Guile related discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guile-user-bounces+guile-user=m.gmane.org@gnu.org Original-Sender: guile-user-bounces+guile-user=m.gmane.org@gnu.org Xref: news.gmane.org gmane.lisp.guile.user:11441 Archived-At: Hello Guilers! I'm pleased to announce Guile-SSH 0.7.0: https://github.com/artyom-poptsov/guile-ssh/releases/tag/v0.7.0 Also you can find the Guile-SSH 0.7.0 archive signed with my GPG key [1] on my FTP server: ftp://memory-heap.org/software/guile-ssh/ This release includes lots of changes, namely: - Migration to libssh 0.6.3 was done. - Bug with premature GC'ing of Guile-SSH objects was fixed: Objects such as sessions won't be GC'ed as long as their child objects (such as channels) are alive. - Bug with segmentation faults in (ssh channel) procedures was fixed: Procedures now handle freed channels by means of throwing of an exception. - Bug with predicates `public-key?' and `private-key?' was fixed: Predicates now return `#f' for a non-key object instead of throwing of an exception. - New (ssh log) module that provides a way to manage libssh logging facilities. As a consequence, Guile-SSH now works better with Emacs Scheme REPL mode thanks to the default log printer procedure which comments out libssh log messages with `;;; ', so they don't mix with the actual output from procedures. - New procedures: `userauth-public-key/try', `bytevector->hex-string', `session-get', `channel-get-session', `message-get-session'. - Some of procedures got better names (such as `userauth-public-key!'). - Printing of Guile-SSH objects was improved, consequently you can get useful information about objects at glance. - New bug-catching tests were added. - Examples of Guile-SSH usage were added to the documenation (see "Examples" chapter). Please note that some of the changes break the backward compatibility, so you will probably need to make some changes to your application to make it work with this release. Here is an excerpt from the NEWS file that contains longer and more detailed list of user-visible changes: --8<---------------cut here---------------start------------->8--- * Changes in version 0.7.0 (2014-08-31) ** Require GNU Guile 2.0 ** Require libssh 0.6.3 ** Change `get-public-key-hash' *** Move the procedure to (ssh key) *** Return the hash as a bytevector *** Accept a public key as the first argument *** Accept a hash type as the second argument Possible types are: 'md5, 'sha1 ** (ssh auth) procedures now throw an exception if the session is not connected ** (ssh channel) procedures now handle closed and freed channels - `channel-open?' returns `#f' if the channel has been closed freed. - `channel-open-session' and `channel-eof?' throw to `guile-ssh-error' if the channel has been closed and freed. - `channel-request-env', `channel-request-exec', `channel-request-pty', `channel-request-shell', `channel-set-pty-size!', `channel-set-stream!', `channel-get-stream' now throw `wrong-type-arg` if the channel is closed. ** Some (ssh session) procedures now throw an exception if the session is not connected These procedures are: - `get-protocol-version' - `authenticate-server' - `get-server-public-key' - `write-known-host!' ** Change `userauth-pubkey!' *** Rename it to `userauth-public-key!' *** Change arguments ** `blocking-flush!' now returns `error' symbol on error instead of throwing of an exception ** `connect!' now returns `error' symbol on error instead of throwing of an exception ** `authenticate-server' now returns `error' symbol on error instead of throwing of an exception ** `private-key-from-file' now takes only a file name ** New (ssh log) module ** Rename `userauth-pubkey-auto!' to `userauth-public-key/auto!' ** New `userauth-public-key/try' procedure in (ssh auth) ** New `bytevector->hex-string' procedure in (ssh key) ** New `session-get' procedure in (ssh session) ** New `channel-get-session' procedure in (ssh channel) ** New `message-get-session' procedure in (ssh message) ** Improve printing of Guile-SSH objects *** Print more detailed information about `session' object Print user name, host name and current state of a `session' object. *** Print object address for `channel' object *** Print object address for `message' object *** Print object address for `key' object ** Changes in tests *** Add tests for Guile-SSH keys *** Add tests for `authenticate-server' procedure ** Bug fixes *** Fix a GC issue Keep a reference to the parent session in channels and messages to prevent the session from premature GC'ing. Without that GC could free a session even if there are live channels and by that break the channels. *** `public-key?' and `private-key?' now produce correct result Functions now return `#f' if the given argument is not a Guile-SSH key object. ** Documentation update *** Fix old URLs to Guile-SSH repository in the `Installation' chapter *** Add an overview of programming with Guile-SSH to the "Examples" chapter --8<---------------cut here---------------end--------------->8--- Known bugs: --8<---------------cut here---------------start------------->8--- ** Guile-SSH does not work properly if libssh is compiled with GCrypt instead of OpenSSL. --8<---------------cut here---------------end--------------->8--- Guile-SSH 0.7.0 was tested on the following GNU/Linux distributions: Gentoo (Base System release 2.2), Debian 7.6 (wheezy). This release of Guile-SSH, as the previous ones, was prepared in hope that the program will be useful. So please don't hesitate to mail me any comments, sugguestions and (especially) bug reports. Thanks, - Artyom [1] http://pgp.mit.edu:11371/pks/lookup?op=get&search=0xE9C5A2D90898A02F -- Artyom V. Poptsov ; GPG Key: 0898A02F Home page: http://poptsov-artyom.narod.ru/