summaryrefslogtreecommitdiff
path: root/libguile-ssh (follow)
Commit message (Expand)AuthorAgeFilesLines
...
* channel.scm (make-channel): Accept optional flags•••* modules/ssh/channel.scm (make-channel): Accept optional flags that allow to create an input, output or input/output channel. The procedure creates a bidirectional tunnel by default. * libguile-ssh/channel-type.c (guile_ssh_make_channel): Likewise. Rename the Scheme procedure to '%make-channel'. All callers updated. (_scm_from_channel_data): Accept flags. Assert flags value. (print_channel): Print the direction of a channel. (init_channel_type): Define 'RDNG' and 'WRTNG' symbols. * libguile-ssh/channel-type.h: Update. * libguile-ssh/message-func.c (guile_ssh_message_channel_request_open_reply_accept): Update. * doc/api-channels.texi: Update description of 'make-channel'. Artyom V. Poptsov2015-12-054-12/+38
* session.scm: Implement SSH config parsing•••* modules/ssh/session.scm (make-session): Accept 'config' option. (session-parse-config!): New procedure. * libguile-ssh/session-func.c (gssh_session_parse_config): New procedure. * tests/common.scm (%config): Export the new global symbol. * doc/api-sessions.texi: Update. * tests/config: Add to the repository. * tests/session.scm ("session-parse-config!"): New test case. * NEWS: Update. Artyom V. Poptsov2015-12-011-0/+39
* libguile-ssh/channel-func.c: Use SCM_GSSH_DEFINE' macro•••* libguile-ssh/channel-func.c: Use SCM_GSSH_DEFINE' macro where it is possible. Artyom V. Poptsov2015-11-241-17/+14
* libguile-ssh/sftp-session-type.c: Make GC callbacks staticArtyom V. Poptsov2015-11-231-3/+3
* libguile-ssh/sftp-file-type.h: Export some proceduresArtyom V. Poptsov2015-11-231-0/+8
* libguile-ssh/sftp-session-func.h: Include 'libguile.h'Artyom V. Poptsov2015-11-231-0/+2
* libguile-ssh/sftp-session-func.h: Export Scheme proceduresArtyom V. Poptsov2015-11-231-0/+7
* libguile-ssh/sftp-session-type.h: Export some proceduresArtyom V. Poptsov2015-11-231-0/+3
* libguile-ssh/sftp-session-type.c: Rename some C procedures•••* libguile-ssh/sftp-session-type.c (guile_ssh_is_sftp_session_p): Rename to 'gssh_sftp_session_p'. (guile_ssh_make_sftp_session): Rename to 'gssh_make_sftp_session'. Artyom V. Poptsov2015-11-231-3/+3
* sftp-file-type.c (gssh_sftp_session_p): Rename•••* libguile-ssh/sftp-file-type.c (gssh_sftp_session_p): Rename to 'gssh_sftp_file_p'. Artyom V. Poptsov2015-11-231-1/+1
* message-func.c (guile_ssh_message_get_req): Handle subsystem requests•••* libguile-ssh/message-func.c (guile_ssh_message_get_req): Handle subsystem requests. (get_subsystem_req): New procedure. * modules/ssh/message.scm (subsystem-req:subsystem): New procedure. Artyom V. Poptsov2015-11-231-0/+18
* Merge branch 'master' into wip-sftpArtyom V. Poptsov2015-11-226-3/+180
|\
| * session-func.c (libssh_connect_status_callback): Improve•••* libguile-ssh/session-func.c (libssh_connect_status_callback): Pass an Guile-SSH session to a callback as the 1st argument. Artyom V. Poptsov2015-11-221-1/+2
| * session-func.c (set_callbacks): Validate callbacks•••* libguile-ssh/session-func.c (set_callbacks): Ensure that callbacks are procedures. (scm_is_procedure, validate_callback): New procedures. * tests/session.scm ("session-set!, invalid values"): Update. Artyom V. Poptsov2015-11-201-2/+31
| * session-func.c (callbacks_ref): New procedure•••* libguile-ssh/session-func.c (callbacks_ref): New procedure. (libssh_global_request_callback, libssh_connect_status_callback): Use it. Artyom V. Poptsov2015-11-201-21/+19
| * session-func.c (set_callbacks): Check callbacks presence•••* libguile-ssh/session-func.c (callback_set_p): New procedure. (set_callbacks): Use it. Register the callback procedure only if it is present in callbacks alist. Artyom V. Poptsov2015-11-201-2/+15
| * session-func.c (libssh_connect_status_callback): New procedure•••* libguile-ssh/session-func.c (libssh_connect_status_callback): New procedure. (set_callbacks): Use it. Artyom V. Poptsov2015-11-201-0/+20
| * session-func.c (set_callbacks): Protect args from GC'ing•••* libguile-ssh/session-func.c (set_callbacks): Keep a reference to a session and callbacks. Artyom V. Poptsov2015-11-191-0/+3
| * session-type.c (mark_session): Mark callbacks•••* libguile-ssh/session-type.c (mark_session): Mark callbacks. Artyom V. Poptsov2015-11-191-1/+2
| * session-type.c (guile_ssh_make_session): Set callbacks to '#f'•••* libguile-ssh/session-type.c (guile_ssh_make_session): Set callbacks to '#f'. Artyom V. Poptsov2015-11-191-0/+2
| * session-func.c (guile_ssh_session_get): Handle callbacks•••* libguile-ssh/session-func.c (guile_ssh_session_get): Handle callbacks field. (session_options_getable): Update. Artyom V. Poptsov2015-11-191-0/+5
| * session-func.c: Add commentaries•••* libguile-ssh/session-func.c (libssh_global_request_callback) (set_callbacks): Add commentary. Artyom V. Poptsov2015-11-191-0/+7
| * session-func.c: Fix few bugs•••* libguile-ssh/session-func.c (libssh_global_request_callback): Bugfix: get the callback and the userdata from callbacks stored in a Guile-SSH session. (set_callbacks): Bugfix: allocate memory for the SSH callbacks structure. Return the result of callbacks setting. Artyom V. Poptsov2015-11-191-13/+15
| * message-func: Add a procedure to handle global requests•••* libguile-ssh/message-func.c (gssh_message_global_request_reply_success): New procedure. * modules/ssh/message.scm (message-global-request-reply-success): New procedure. (message-reply-success): Use it to handle global requests. Artyom V. Poptsov2015-11-191-0/+24
| * libguile-ssh: Add basic support of session callbacks•••* libguile-ssh/session-func.c: Add basic support of session callbacks. (libssh_global_request_callback, set_callbacks): New static procedure. (set_option): Change paramegers. All callers updated. (guile_ssh_session_set): Update. * libguile-ssh/session-type.h (session_data): Add 'callbacks' field. * modules/ssh/session.scm (make-session): Accept 'callbacks' as a keyed argument. * libguile-ssh/message-type.c (_scm_from_ssh_message): New procedure. * libguile-ssh/message-type.h: Update. * tests/session.scm ("session-set!, valid values") ("session-set!, invalid values"): Check new 'callbacks' option. Artyom V. Poptsov2015-11-184-2/+74
* | Merge branch 'master' into wip-sftpArtyom V. Poptsov2015-11-011-0/+2
|\|
| * channel-func.c (guile_ssh_channel_listen_forward): Bugfix•••'channel-listen-forward' always return garbage as the 2nd argument when called with port > 0. The patch fixes that. * libguile-ssh/channel-func.c (guile_ssh_channel_listen_forward): Bugfix: Return the requested port as the 2nd result if PORT was set. * TODO: Update. Artyom V. Poptsov2015-11-011-0/+2
* | sftp-file-type.c (gssh_open_file): Rename to 'gssh_sftp_open'•••* libguile-ssh/sftp-file-type.c (gssh_open_file): Rename to 'gssh_sftp_open'. Artyom V. Poptsov2015-10-281-2/+2
* | sftp-file-type.c (gssh_open_file): Rename Scheme procedure•••* libguile-ssh/sftp-file-type.c (gssh_open_file): Rename Scheme procedure to '%gssh-sftp-open'. All callers updated. * modules/ssh/sftp.scm (sftp-open-file): Rename to 'sftp-open'. All callers updated. (call-with-remote-input-file, call-with-remote-output-file): Update. * doc/api-sftp.texi: Update. Artyom V. Poptsov2015-10-281-1/+1
* | sftp-file-type.c: Bugfix: Use 'sftp_seek64'•••* libguile-ssh/sftp-file-type.c: Bugfix: Use 'sftp_seek64' instead of 'sftp_seek'. Artyom V. Poptsov2015-10-281-1/+1
* | sftp-session-type.c (guile_ssh_make_sftp_session): Handle errors•••* libguile-ssh/sftp-session-type.c (guile_ssh_make_sftp_session): Throw 'guile-ssh-error' exception on an error. Artyom V. Poptsov2015-10-281-0/+6
* | sftp-session-type.c: Rename some procedures•••* libguile-ssh/sftp-session-type.c (guile_ssh_is_sftp_session_p): Rename Scheme procedure to '%gssh-sftp-session?'. All callers updated. (guile_ssh_make_sftp_session): Rename Scheme procedure to '%gssh-make-sftp-session'. All callers updated. * modules/ssh/sftp.scm (make-sftp-session, sftp-session?): Update. Artyom V. Poptsov2015-10-281-2/+2
* | sftp-file-type.c (_scm_from_sftp_file): Cleanup•••* libguile-ssh/sftp-file-type.c (_scm_from_sftp_file): Don't set rw_random twice. Artyom V. Poptsov2015-10-281-1/+0
* | libguile-ssh/sftp-file-type.c (ptob_flush): Fix commentaryArtyom V. Poptsov2015-10-281-3/+2
* | sftp-file-type.c: Re-arrange procedures•••* libguile-ssh/sftp-file-type.c: Re-arrange procedures for clarity. Artyom V. Poptsov2015-10-281-105/+109
* | sftp-file-type.c: Allow random access•••* libguile-ssh/sftp-file-type.c: Allow random access to a SFTP file. (ptob_seek): New procedure. (init_sftp_file_type): Use it. Artyom V. Poptsov2015-10-281-0/+55
* | libguile-ssh/common.h (SCM_GSSH_DEFINE): New macro•••* libguile-ssh/common.h (SCM_GSSH_DEFINE): New macro. * libguile-ssh/sftp-session-func.c, libguile-ssh/sftp-file-type.c, libguile-ssh/sftp-session-type.c: Use it. Artyom V. Poptsov2015-10-274-41/+33
* | sftp.scm (sftp-file?): New procedure•••* modules/ssh/sftp.scm (sftp-file?): New procedure. * libguile-ssh/sftp-file-type.c (gssh_sftp_session_p): New procedure. Artyom V. Poptsov2015-10-051-0/+5
* | sftp.scm (sftp-unlink): New procedure•••* modules/ssh/sftp.scm (sftp-unlink): New procedure. * libguile-ssh/sftp-session-func.c (gssh_sftp_unlink): New procedure. Artyom V. Poptsov2015-10-051-0/+28
* | sftp-file-main.c: Add to the repository•••* libguile-ssh/sftp-file-main.c: Add to the repository. * libguile-ssh/sftp-file-type.h: Add missed includes. * modules/ssh/sftp.scm: Use 'init_sftp_file'. Artyom V. Poptsov2015-10-043-1/+34
* | libguile-ssh/sftp-file-type.h: Wrap in 'ifndef'Artyom V. Poptsov2015-10-041-0/+5
* | sftp-file-type.c (print_sftp_file): Improve object printing•••* sftp-file-type.c (print_sftp_file): Print session information as well as the file name. (_scm_from_sftp_file): Accept file path as the 2nd argument, set port filename. * libguile-ssh/sftp-file-type.h: Update. Artyom V. Poptsov2015-10-042-2/+34
* | sftp-file-type.c (print_sftp_file): Fix address printing•••* libguile-ssh/sftp-file-type.c: Add a missed include. (print_sftp_file): Fix object address printing. Artyom V. Poptsov2015-10-041-1/+2
* | libguile-ssh/sftp-file-type.c: Re-arrange proceduresArtyom V. Poptsov2015-10-041-11/+12
* | sftp-file-type.{c,h}: Add to the repository•••* libguile-ssh/sftp-file-type.h, libguile-ssh/sftp-file-type.c: Add to the repository. * libguile-ssh/Makefile.am (libguile_ssh_la_SOURCES, BUILT_SOURCES): Update. * modules/ssh/sftp.scm (sftp-open-file): New procedure. Artyom V. Poptsov2015-10-043-2/+295
* | sftp.scm (sftp-symlink): New procedure•••* modules/ssh/sftp.scm (sftp-symlink): New procedure. * libguile-ssh/sftp-session-func.c (gssh_sftp_symlink): New procedure. Artyom V. Poptsov2015-09-151-0/+33
* | sftp.scm (sftp-readlink): New procedure•••* modules/ssh/sftp.scm (sftp-readlink): New procedure. * libguile-ssh/sftp-session-func.c (gssh_sftp_readlink): New procedure. Artyom V. Poptsov2015-09-151-0/+24
* | sftp.scm (sftp-mv): New procedure•••* modules/ssh/sftp.scm (sftp-mv): New procedure. * libguile-ssh/sftp-session-func.c (gssh_sftp_mv): New procedure. Artyom V. Poptsov2015-09-151-0/+32
* | sftp.scm (sftp-rmdir): New procedure•••* modules/ssh/sftp.scm (sftp-rmdir): New procedure. * libguile-ssh/sftp-session-func.c (gssh_sftp_rmdir): New procedure. Artyom V. Poptsov2015-09-131-0/+27
* | sftp.scm (sftp-chmod): New procedure•••* modules/ssh/sftp.scm (sftp-chmod): New procedure. * libguile-ssh/sftp-session-func.c (gssh_sftp_chmod): New procedure. Artyom V. Poptsov2015-09-131-0/+28