summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorArtyom Poptsov <poptsov.artyom@gmail.com>2014-06-06 12:12:17 +0400
committerArtyom Poptsov <poptsov.artyom@gmail.com>2014-06-06 12:12:17 +0400
commit985a3c75c47a84992b8d62b19a9668c9477cde8e (patch)
treea2c8fd78be0ee9518c654382e6726fe8c1112133
parenttests/key.scm: New test suite (diff)
downloadguile-ssh-985a3c75c47a84992b8d62b19a9668c9477cde8e.tar.gz
key-func.c (guile_ssh_private_key_from_file): Remove `session' parameter
* ssh/key-func.c (guile_ssh_private_key_from_file): Remove `session' parameter. All callers updated. * doc/api-keys.texi (Keys): Update description of `private-key-from-file'. * examples/echo/client.scm.in (get-prvkey): Update. * tests/key.scm ("private-key-from-file"): Update. * tests/client-server.scm ("userauth-public-key!, success"): Update. * NEWS: Update.
-rw-r--r--ChangeLog11
-rw-r--r--NEWS1
-rw-r--r--doc/api-keys.texi2
-rw-r--r--examples/echo/client.scm.in2
-rw-r--r--ssh/key-func.c8
-rw-r--r--tests/client-server.scm2
-rw-r--r--tests/key.scm15
7 files changed, 24 insertions, 17 deletions
diff --git a/ChangeLog b/ChangeLog
index 17939c9..d5899c8 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,14 @@
+2014-06-06 Artyom Poptsov <poptsov.artyom@gmail.com>
+
+ * ssh/key-func.c (guile_ssh_private_key_from_file): Remove `session'
+ parameter. All callers updated.
+ * doc/api-keys.texi (Keys): Update description of
+ `private-key-from-file'.
+ * examples/echo/client.scm.in (get-prvkey): Update.
+ * tests/key.scm ("private-key-from-file"): Update.
+ * tests/client-server.scm ("userauth-public-key!, success"): Update.
+ * NEWS: Update.
+
2014-06-01 Artyom Poptsov <poptsov.artyom@gmail.com>
* tests/key.scm: New test suite.
diff --git a/NEWS b/NEWS
index 2ab30a5..60f2e0b 100644
--- a/NEWS
+++ b/NEWS
@@ -17,6 +17,7 @@ Copyright (C) Artyom V. Poptsov <poptsov.artyom@gmail.com>
** Change `userauth-pubkey!'
*** Rename it to `userauth-public-key!'
*** Change arguments
+** `private-key-from-file' now takes only a file name
** 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)
diff --git a/doc/api-keys.texi b/doc/api-keys.texi
index 99ba8a8..d757efc 100644
--- a/doc/api-keys.texi
+++ b/doc/api-keys.texi
@@ -39,7 +39,7 @@ The @var{type} must be one of the following symbols: @code{dss},
@code{rsa}, @code{rsa1}, @code{ecdsa}
@end deffn
-@deffn {Scheme Procedure} private-key-from-file session file
+@deffn {Scheme Procedure} private-key-from-file file
Read private key from a @var{file}. If the the key is encrypted the
user will be asked for passphrase to decrypt the key.
diff --git a/examples/echo/client.scm.in b/examples/echo/client.scm.in
index 1d360b0..536a0f2 100644
--- a/examples/echo/client.scm.in
+++ b/examples/echo/client.scm.in
@@ -84,7 +84,7 @@ Options:
(define (get-prvkey session identity-file)
"Get a private SSH key. Handle possible errors."
- (let ((prvkey (private-key-from-file session identity-file)))
+ (let ((prvkey (private-key-from-file identity-file)))
(if (not prvkey)
(handle-error session))
prvkey))
diff --git a/ssh/key-func.c b/ssh/key-func.c
index b63ddf5..786b022 100644
--- a/ssh/key-func.c
+++ b/ssh/key-func.c
@@ -22,7 +22,6 @@
#include <libssh/libssh.h>
#include "key-type.h"
-#include "session-type.h"
#include "common.h"
/* Convert SSH public key KEY to a scheme string. */
@@ -85,8 +84,8 @@ SCM_DEFINE (guile_ssh_string_to_public_key, "string->public-key", 2, 0, 0,
}
#undef FUNC_NAME
-SCM_DEFINE (guile_ssh_private_key_from_file, "private-key-from-file", 2, 0, 0,
- (SCM session, SCM filename),
+SCM_DEFINE (guile_ssh_private_key_from_file, "private-key-from-file", 1, 0, 0,
+ (SCM filename),
"Read private key from a file FILENAME. If the the key is "
"encrypted the user will be asked for passphrase to decrypt "
"the key.\n"
@@ -95,7 +94,6 @@ SCM_DEFINE (guile_ssh_private_key_from_file, "private-key-from-file", 2, 0, 0,
#define FUNC_NAME s_guile_ssh_private_key_from_file
{
SCM key_smob;
- struct session_data *session_data = _scm_to_ssh_session (session);
struct key_data *key_data;
char *c_filename;
/* NULL means that either the public key is unecrypted or the user
@@ -105,7 +103,7 @@ SCM_DEFINE (guile_ssh_private_key_from_file, "private-key-from-file", 2, 0, 0,
scm_dynwind_begin (0);
- SCM_ASSERT (scm_is_string (filename), filename, SCM_ARG2, FUNC_NAME);
+ SCM_ASSERT (scm_is_string (filename), filename, SCM_ARG1, FUNC_NAME);
key_data = (struct key_data *) scm_gc_malloc (sizeof (struct key_data),
"ssh key");
diff --git a/tests/client-server.scm b/tests/client-server.scm
index d5148c2..eceea2b 100644
--- a/tests/client-server.scm
+++ b/tests/client-server.scm
@@ -283,7 +283,7 @@
(let ((session (make-session-for-test)))
(connect! session)
(authenticate-server session)
- (let* ((prvkey (private-key-from-file session rsakey)))
+ (let* ((prvkey (private-key-from-file rsakey)))
(let ((res (userauth-public-key! session prvkey)))
(disconnect! session)
(eq? res 'success)))))
diff --git a/tests/key.scm b/tests/key.scm
index 7982f58..3c1521f 100644
--- a/tests/key.scm
+++ b/tests/key.scm
@@ -18,7 +18,6 @@
;; along with Guile-SSH. If not, see <http://www.gnu.org/licenses/>.
(use-modules (srfi srfi-64)
- (ssh session)
(ssh key))
(define %topdir (getenv "abs_top_srcdir"))
@@ -32,20 +31,18 @@
(test-begin "key")
(test-assert "private-key-from-file"
- (let ((session (%make-session)))
- (and (private-key-from-file session %rsa-private-key-file)
- (private-key-from-file session %dsa-private-key-file)
- (private-key-from-file session %ecdsa-private-key-file))))
+ (and (private-key-from-file %rsa-private-key-file)
+ (private-key-from-file %dsa-private-key-file)
+ (private-key-from-file %ecdsa-private-key-file)))
(test-assert "public-key-from-file"
(and (public-key-from-file %rsa-public-key-file)
(public-key-from-file %dsa-public-key-file)
(public-key-from-file %ecdsa-public-key-file)))
-(define *session* (%make-session))
-(define *rsa-key* (private-key-from-file *session* %rsa-private-key-file))
-(define *dsa-key* (private-key-from-file *session* %dsa-private-key-file))
-(define *ecdsa-key* (private-key-from-file *session* %ecdsa-private-key-file))
+(define *rsa-key* (private-key-from-file %rsa-private-key-file))
+(define *dsa-key* (private-key-from-file %dsa-private-key-file))
+(define *ecdsa-key* (private-key-from-file %ecdsa-private-key-file))
(define *rsa-pub-key* (public-key-from-file %rsa-public-key-file))
(define *dsa-pub-key* (public-key-from-file %dsa-public-key-file))
(define *ecdsa-pub-key* (public-key-from-file %ecdsa-public-key-file))