| Commit message (Collapse) | Author | Age | Files | Lines |
| ... | |
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
* tests/client-server.scm (run-server-and-client): New procedure.
("connect!, disconnect!")
("get-protocol-version", "authenticate-server, not-known")
("authenticate-server, ok", "get-public-key-hash")
("userauth-none!, success", "userauth-none!, denied")
("userauth-none!, partial", "userauth-password!, success")
("userauth-password!, denied", "userauth-password!, partial")
("userauth-public-key!, success", "userauth-get-list")
("make-channel", "channel-get-session", "channel-open-session")
("channel-request-exec", "data transferring, string")
("data transferring, bytevector"): Use it.
|
| | |
| |
| |
| |
| | |
* tests/client-server.scm: Use `dynamic-wind' for child processes in
tests.
|
| | | |
|
| | | |
|
| | |
| |
| |
| |
| |
| | |
* doc/api-keys.texi (Keys): Make description of `public-key?' more
accurate.
* ssh/key-type.c (guile_ssh_is_public_key_p): Update docstring.
|
| | |
| |
| |
| |
| |
| |
| |
| | |
* ssh/key-func.c (guile_ssh_string_to_public_key): Fix a bug: Call
`scm_dynwind_end' at the end of the procedure so call to the procedure
won't lead to segfaults.
* tests/key.scm ("public-key->string"): Improve.
("string->public-key"): New TC.
|
| | | |
|
| | | |
|
| | |
| |
| |
| |
| |
| | |
* ssh/key-type.c (print_key): Use `_private_key_p' predicate to
determite type of the key so private key will be displayed as
"private", not "public".
|
| | | |
|
| | |
| |
| |
| |
| | |
* tests/Makefile.am (CLEANFILES): Add `server-client-errors.log' and
`server-client-libssh.log'.
|
| | |
| |
| |
| |
| |
| |
| | |
* tests/client-server.scm (%knownhosts): Use `abs_top_builddir'
instead of `abs_top_srcdir' to fix the permission issue on `make
distcheck' during tests.
* tests/Makefile.am (AM_TESTS_ENVIRONMENT): Export `abs_top_builddir'.
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
* ssh/message.scm (message-get-session): New procedure.
* ssh/message-func.c (guile_ssh_message_get_session): New procedure.
* ssh/message-func.h: Likewise.
* tests/server-client.scm ("message-get-session"): New TC.
* doc/api-messages.texi (Message Handling): Add description of
`message-get-session'
* doc/version.texi: Update.
* NEWS: Update.
|
| | |\
| | |
| | |
| | |
| | |
| | |
| | | |
Conflicts:
ssh/channel-type.c
ssh/channel-type.h
ssh/message-func.c
|
| | | | |
|
| | | |
| | |
| | |
| | |
| | |
| | | |
* ssh/session-func.c (guile_ssh_session_get): Handle `port' option.
* doc/api-sessions.texi (Sessions): Update.
* tests/session.scm ("session-get"): Update.
|
| | | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
* ssh/channel-type.c (_ssh_channel_to_scm): Rename to
`_scm_from_channel_data'. All callers updated.
(guile_ssh_make_channel): Update.
* ssh/channel-type.h: Update.
* ssh/message-func.c
(guile_ssh_message_channel_request_open_reply_accept): Update.
|
| | |\|
| | |
| | |
| | |
| | | |
Conflicts:
ChangeLog
|
| | | |
| | |
| | |
| | |
| | | |
* ssh/channel-type.c (mark_channel): Mark the session.
* ssh/message-type.c (mark_message): Likewise.
|
| | | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
* ssh/channel-func.c (guile_ssh_channel_get_session): New procedure.
* ssh/channel-func.h (guile_ssh_channel_get_session): Likewise.
* ssh/channel.scm (channel-get-session): Export.
* tests/client-server.scm ("channel-get-session"): New TC.
* doc/api-channels.texi (Channels): Add description of
`channel-get-session' procedure.
* NEWS: Update.
|
| | |\ \ |
|
| | |\ \ \ |
|
| | |\ \ \ \ |
|
| | |\ \ \ \ \ |
|
| | |\ \ \ \ \ \
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | | |
Conflicts:
ssh/channel-type.h
ssh/key-type.c
|
| | |\ \ \ \ \ \ \ |
|
| | |\ \ \ \ \ \ \ \ |
|
| | | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | | |
* ssh/key-type.h (key_data): Remove `is_to_be_freed' field.
* ssh/key-type.c (free_key_smob): Always free the SSH key on GC'ing.
* ssh/key-func.c (guile_ssh_private_key_from_file)
(guile_ssh_public_key_from_private_key)
(guile_ssh_public_key_from_file): Likewise.
* ssh/message-func.c (get_auth_req): Likewise.
* ssh/session-func.c (guile_ssh_get_server_public_key): Likewise.
|
| | |\ \ \ \ \ \ \ \ \
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | | |
Conflicts:
ChangeLog
|
| | | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | | |
Fix a GC issue: Keep a reference to the parent session in channel and
message smobs to prevent the session from premature GC'ing. Without
the fix GC could free a session even if there are live channels and by
that break the channels.
Reported by Ludovic Courtès <ludo@gnu.org>
* ssh/channel-type.h (channel_data): Store a reference to the parent
session.
* ssh/message-type.h (message_data): Likewise.
* ssh/channel-type.c (_ssh_channel_to_scm): Change argument list. All
callers updated.
(guile_ssh_make_channel): Update.
* ssh/message-func.c
(guile_ssh_message_channel_request_open_reply_accept): Update.
* ssh/server-func.c (guile_ssh_server_message_get): Store a reference
to a session in the message smob.
* NEWS: Update.
|
| | | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | | |
* ssh/channel-func.c (guile_ssh_channel_open_forward)
(guile_ssh_channel_open_reverse_forward)
(guile_ssh_channel_cancel_forward): Fix a bug: Rename
`_scm_to_ssh_session' to `_scm_to_session_data'.
|
| |\ \ \ \ \ \ \ \ \ \ \
| | |_|_|_|_|_|_|_|_|/
| |/| | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | | |
Conflicts:
NEWS
|
| | | |_|_|_|_|_|_|_|/
| |/| | | | | | | | |
|
| | | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | | |
* README: Require GNU Guile 2.0.
* doc/guile-ssh.texi (Installation): Likewise.
* configure.ac: Remove checks related to GNU Guile 1.8.
* Makefile.am, ssh/Makefile.am: Likewise.
* doc/version.texi: Update.
* NEWS: Update.
|
| | | | | | | | | | | |
|
| | | |_|_|_|_|_|_|/
| |/| | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | | |
* ssh/channel-type.c (print_channel): Print data type first. Print
`freed' state if the channel has been closed and freed.
* ssh/key-type.c (print_key): Print data type first.
* ssh/message-type.c (print_message): Improve.
* ssh/session-type.c (print_session): Improve a bit.
|
| | | |_|_|_|_|_|/
| |/| | | | | | |
|
| | | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | | |
* examples/sssh.scm.in (*option-spec*): Add `known-hosts-file' option.
(main): Handle it.
* tests/sssh-ssshd.scm: Fix a bug in the test suite: use test
`known_hosts' file to make sure that it has no records.
("ssshd, start"): Add a delay to make sure that
ssshd started.
("sssh, exec"): Improve. Do cleanup at the end of the TC.
(*sssh-cmd*): Set `knownhosts' file explicitly.
|
| | | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | | |
* tests/server-client.scm: Remove extra global variables.
(clnmsg): Improve.
|
| | | | | | | | | |
|
| | | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | | |
* tests/server-client.scm: Improve TCs.
(libssh-log-printer): New procedure.
(make-session-for-test): Set known hosts file explicitly.
(make-server-for-test): Set DSA key. Change log verbosity level to
`rare'.
(test-assert-with-log): New macro.
("accept, key exchange", "server-message-get", "message-get-type"):
Start the client as a different process during the test. Improve.
|
| | | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | | |
* tests/client-server.scm: Improve TCs
(spawn-server-thread, cancel-server-thread): Remove.
(make-session-loop): Stop the loop when client disconnects.
("connect!, disconnect!", "get-protocol-version")
("authenticate-server, not-known", "authenticate-server, ok")
("get-public-key-hash", "userauth-none!, success")
("userauth-none!, denied", "userauth-none!, partial")
("userauth-password!, success", "userauth-password!, denied")
("userauth-password!, partial", "userauth-public-key!, success")
("userauth-get-list", "make-channel", "channel-open-session")
("channel-request-exec", "data transferring, string")
("data transferring, bytevector"): Start the server as a different
process during the test. Improve.
(start-server/channel-test, make-session/channel-test)
(start-server/dt-test, make-channel/dt-test): New procedures.
|
| | | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | | |
* ssh/channel-type.h (GSSH_VALIDATE_OPEN_CHANNEL): New macro.
* ssh/channel-func.c (guile_ssh_channel_request_exec)
(guile_ssh_channel_request_pty, guile_ssh_channel_request_shell)
(guile_ssh_channel_request_env, guile_ssh_channel_set_pty_size_x)
(guile_ssh_channel_set_stream_x, guile_ssh_channel_get_stream): Expect
an open channel as an argument.
* doc/api-channels.texi (Channels): Update.
|
| | | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | | |
* ssh/channel-type.h (GSSH_VALIDATE_CHANNEL_DATA): New macro.
* ssh/channel-func.c (guile_ssh_channel_is_open_p): Return `#f' if the
channel has been closed and freed.
(guile_ssh_channel_is_eof_p, guile_ssh_channel_open_session): Throw an
exeption if the channel has been closed and freed.
|
| | | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | | |
* ssh/channel-type.c (_scm_to_channel_data): Return NULL if the
channel has been freed.
|
| | | | | | | | | |
|
| | | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | | |
* doc/api-channels.texi (Channels): Add note that
`channel-request-exec' can be used to execute only a single command on
a channel.
|
| | | | | | | | | |
|
| | | | | | | | | |
|
| | | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | | |
* ssh/session-func.c (guile_ssh_get_protocol_version)
(guile_ssh_authenticate_server, guile_ssh_get_server_public_key)
(guile_ssh_write_known_host): Expect a connected session as an
argument. Throw `wrong-type-arg' if the session is not connected.
* tests/session.scm ("get-protocol-version"): Move with some changes
to `tests/client-server.scm'.
* tests/client-server.scm ("get-protocol-version"): New TC.
* doc/api-sessions.texi (Sessions): Update.
* NEWS: Update.
|