diff options
| author | Artyom V. Poptsov <poptsov.artyom@gmail.com> | 2015-05-01 17:46:11 +0300 |
|---|---|---|
| committer | Artyom V. Poptsov <poptsov.artyom@gmail.com> | 2015-05-01 17:46:11 +0300 |
| commit | 880f089731230aed72794a7b04b74317791d2616 (patch) | |
| tree | 7ac18cae2e2e9b7048994ca3c44bc5d9d08b388e /ChangeLog | |
| parent | ssh/channel-func.c: Fix a bug (diff) | |
| parent | NEWS: Bump version to 0.7.2 (diff) | |
| download | guile-ssh-880f089731230aed72794a7b04b74317791d2616.tar.gz | |
Merge branch 'master' into wip-port-forwarding
Conflicts:
ChangeLog
doc/api-channels.texi
ssh/channel.scm
Diffstat (limited to 'ChangeLog')
| -rw-r--r-- | ChangeLog | 345 |
1 files changed, 345 insertions, 0 deletions
@@ -1,5 +1,312 @@ +2015-02-24 Artyom Poptsov <poptsov.artyom@gmail.com> + + * NEWS: Bump version to 0.7.2 + * configure.ac, doc/version.texi: Likewise. + + * doc/guile-ssh.texi: Update copyright dates. + + * configure.ac: Update copyright dates. Remove a trailing whitespace. + + * NEWS: Update. + + * ssh/key-type.h: Add parent object to the key structure. + * ssh/key-type.c (mark_key_smob): Mark parent. + (free_key_smob): Free the key only if it does not have a parent. + (_scm_from_ssh_key): Accept a parent object as the 2nd argument. All + callers updated. + * ssh/key-func.c (guile_ssh_string_to_public_key) + (guile_ssh_private_key_from_file) + (guile_ssh_public_key_from_private_key) + (guile_ssh_public_key_from_file, guile_ssh_make_keypair): Update. + * ssh/message-func.c (get_auth_req): Accept a SCM message as the 2nd + argument. All callers updated. + (guile_ssh_message_get_req): Update. + + * ssh/message-func.c (get_auth_req): Use `_scm_from_ssh_key'. + +2015-02-22 Artyom Poptsov <poptsov.artyom@gmail.com> + + * NEWS: Update. + + * examples/echo/server.scm.in: Update copyright dates. + + * examples/echo/server.scm.in (print-help): Rename to + `print-help-and-exit'. + (main): Use it. + + * examples/echo/client.scm.in (get-prvkey, main): Simplify checks. + + * examples/echo/client.scm.in (print-help): Rename to + `print-help-and-exit'. + (main): Use it. Remove extra checks. + + * README (Requirements): Require libssh 0.6.3 or 0.6.4. + * doc/guile-ssh.texi (Installation): Likewise. + * doc/version.texi: Update. + + * README (Distribution): Fix path to examples. + + * doc/examples.texi (Examples): Fix path to examples. + Use `channel-get-exit-status' in the client example. + + * ssh/auth.c, ssh/channel-func.c, ssh/session-func.c, + ssh/session-main.c, ssh/session-type.c, ssh/threads.c, ssh/auth.scm, + ssh/log.c: Remove trailing whitespaces. + + * ssh/channel-type.c: Update copyright dates. + + `ssh_channel_read' sometimes returns 0 even if `ssh_channel_poll' + returns a positive value. So we must ensure that res != 0 otherwise + an assertion in `scm_i_fill_input' won't be meet (see `ports.c' in + Guile 2.0.9). + + * ssh/channel-type.c (ptob_fill_input): Return EOF if + `ssh_channel_read' returns 0. + * NEWS: Update. + +2015-02-12 Artyom Poptsov <poptsov.artyom@gmail.com> + + * ssh/channel-type.c (print_channel, _scm_from_channel_data): Remove + trailing spaces. + + * ssh/channel-func.c (guile_ssh_channel_request_send_exit_status): Fix + wrong call to `SCM_ASSERT'. + + * ssh/channel-func.c (guile_ssh_channel_request_send_exit_status): + Validate exit status. + + * examples/ssshd.scm.in (handle-request-exec): Send exit status. + * examples/sssh.scm.in (main): Handle exit status. + * NEWS: Update. + +2015-02-09 Artyom Poptsov <poptsov.artyom@gmail.com> + + * doc/api-channels.texi (Channels): Update description of + `guile_ssh_channel_request_send_exit_status'. + * ssh/channel-func.c (guile_ssh_channel_request_send_exit_status): + Update the docstring. + +2015-02-08 Artyom Poptsov <poptsov.artyom@gmail.com> + + * ssh/channel.scm (channel-request-send-exit-status): Export. + * ssh/channel-func.c (guile_ssh_channel_request_send_exit_status): New + procedure. + * ssh/channel-func.h: Update. + * tests/client-server.scm ("channel-request-exec, exit status"): New + TC. + (start-server/channel-test): Update for exit status test. + * doc/api-channels.texi (Channels): Add description of + `channel-request-send-exit-status'. + * NEWS: Update. + + * ssh/channel-func.c (guile_ssh_channel_get_exit_status): New + procedure. + * ssh/channel-func.h: Update. + * ssh/channel.scm (channel-get-exit-status): Export. + * doc/api-channels.texi (Channels): Add description of + `channel-get-exit-status'. + + * NEWS: Update. + +2014-10-13 Artyom Poptsov <poptsov.artyom@gmail.com> + + * ssh/version.c: Don't include `gcrypt.h'. + +2014-10-12 Artyom Poptsov <poptsov.artyom@gmail.com> + + * ssh/server-func.c (guile_ssh_server_get): New procedure. + * ssh/server.scm (server-get): Export. + * tests/server.scm ("server-get"): New TC. + * doc/api-servers.texi (Servers): Add description of `server-get'. + * NEWS: Update. + + * ssh/server-type.c (print_server): Print object address. + + * ssh/server-type.h (server_data): Add `options' field. + * ssh/server-type.c (mark_server): Mark `options' field. + (guile_ssh_make_server): Initialize `options' field. + (print_server): New procedure. + (init_server_type): Register server printer procedure. + * ssh/server-func.c (guile_ssh_server_set_x): Add an option to the + server optons. + * ssh/server-func.h (server_options): Export. + * NEWS: Update. + +2014-10-11 Artyom Poptsov <poptsov.artyom@gmail.com> + + * NEWS: Bump version to 0.7.1. + * configure.ac, doc/version.texi: Likewise. + + * ssh/version.scm (get-crypto-library): Fix the docstring. + * doc/api-version.texi (Version): Fix description of + `get-crypto-library'. Improve description of `zlib-support?'. + + * tests/key.scm ("private-key-to-file") [GCrypt]: Don't perform the + test. + * doc/api-keys.texi (Keys): Update description of + `private-key-to-file'. + * NEWS: Update. + + * ssh/key-func.c (guile_ssh_private_key_to_file): New procedure. + * ssh/key.scm (private-key-to-file): Export. + * tests/key.scm ("private-key-to-file"): New TC. + + * doc/api-keys.texi (Keys): Add description of `private-key-to-file'. + * NEWS: Update. + + * ssh/key-func.c (guile_ssh_string_to_public_key) + (guile_ssh_private_key_from_file) + (guile_ssh_public_key_from_private_key) + (guile_ssh_public_key_from_file): Use `_scm_from_ssh_key'. + + * doc/guile-ssh.texi (Installation): Add note about GCrypt support in + libssh. Replace "libguile-ssh" with "guile-ssh". + + * doc/version.texi: Update. + + * NEWS: Update. + * TODO (Known Bugs): Update. + + * ssh/key.scm, ssh/log.scm: Update commentary. + + * ssh/key-type.c (_scm_from_ssh_key, guile_ssh_make_keypair): New + procedures. + * ssh/key-type.h: Update. + * ssh/key.scm (make-keypair): Export. + + * doc/api-keys.texi (Keys): Add description of `make-keypair'. + * tests/key.scm ("make-keypair"): New TC. + * NEWS: Update. + + * ssh/common.c (log_verbosity): Move to `ssh/log.c'. + * ssh/common.h, ssh/server-func.c, ssh/session-func.c: Update. + * ssh/log.scm (set-log-verbosity!, get-log-verbosity): Export. + * ssh/log.c (guile_ssh_set_log_verbosity_x) + (guile_ssh_get_log_verbosity): New procedures. + * ssh/log.h: Update. + * doc/api-logging.texi: Add descripton of `set-log-verbosity!' and + `get-log-verbosity'. + * NEWS: Update. + + * tests/log.scm ("set-log-verbosity!", "get-log-verbosity"): New TCs. + + * doc/api-keys.texi (Keys): Add note about support of ECDSA keys with + GCrypt. + +2014-10-10 Artyom Poptsov <poptsov.artyom@gmail.com> + + * tests/key.scm: Don't do ECDSA key tests if libssh was compiled with + GCrypt. + (when-openssl): New macro. + ("private-key-from-file", "public-key-from-file", "key?") + ("private-key->public-key", "get-key-type", "public-key->string") + ("string->public-key"): Use it. + +2014-10-10 Artyom Poptsov <poptsov.artyom@gmail.com> + + * ssh/version.c (get-libssh-version): Rename to `%get-libssh-version'. + Return raw libssh version string. + * ssh/version.scm (%get-libssh-version, get-crypto-library) + (zlib-support?): New procedures. + * doc/api-version.texi: Add description of `%get-libssh-version', + `get-crypto-library' and `zlib-support?'. + * NEWS: Update. + +2014-09-14 Artyom Poptsov <poptsov.artyom@gmail.com> + + * tests/server-client.scm ("accept, key exchange"): Add missed paren. + + * tests/client-server.scm (run-server-and-client): Rename to + `run-client-test'. All callers updated. + + * tests/server-client.scm: Use `dynamic-wind' for child processes in + tests. + (run-server-test): New procedure. + ("accept, key exchange", "server-message-get", "message-get-type") + ("message-get-session"): Use it. + + * tests/client-server.scm: Use `dynamic-wind' for child processes in + tests. + (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. + +2014-08-31 Artyom Poptsov <poptsov.artyom@gmail.com> + + * NEWS: Bump version to 0.7.0. + * configure.ac, doc/version.texi: Likewise. + + * README (Distribution): Update. + +2014-08-30 Artyom Poptsov <poptsov.artyom@gmail.com> + + * doc/api-keys.texi (Keys): Make description of `public-key?' more + accurate. + * ssh/key-type.c (guile_ssh_is_public_key_p): Update docstring. + +2014-08-26 Artyom Poptsov <poptsov.artyom@gmail.com> + + * 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. + + * tests/key.scm ("public-key?"): Improve TC. + ("public-key->string"): 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". + +2014-08-23 Artyom Poptsov <poptsov.artyom@gmail.com> + + * TODO: Update. + +2014-08-22 Artyom Poptsov <poptsov.artyom@gmail.com> + + * 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'. + +2014-08-21 Artyom Poptsov <poptsov.artyom@gmail.com> + + * 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. + 2014-08-09 Artyom Poptsov <poptsov.artyom@gmail.com> + * ssh/session-type.c (print_session): Print port number. + + * 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. + * ssh/channel-func.c (guile_ssh_channel_open_forward) (guile_ssh_channel_open_reverse_forward) (guile_ssh_channel_cancel_forward): Fix a bug: Rename @@ -9,6 +316,17 @@ * ssh/session-func.c: Improve docstrings. Remove extra comments. + * 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. + * README: Require GNU Guile 2.0. * doc/guile-ssh.texi (Installation): Likewise. * configure.ac: Remove checks related to GNU Guile 1.8. @@ -322,6 +640,14 @@ 2014-06-06 Artyom Poptsov <poptsov.artyom@gmail.com> + * 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. + * ssh/key-func.c (guile_ssh_private_key_from_file): Remove `session' parameter. All callers updated. * doc/api-keys.texi (Keys): Update description of @@ -331,6 +657,25 @@ * tests/client-server.scm ("userauth-public-key!, success"): Update. * NEWS: Update. + 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. + 2014-06-01 Artyom Poptsov <poptsov.artyom@gmail.com> * tests/key.scm: New test suite. |
