diff options
| author | Aris Adamantiadis <aris@0xbadc0de.be> | 2013-06-02 18:40:13 +0200 |
|---|---|---|
| committer | Andreas Schneider <asn@cryptomilk.org> | 2013-07-13 15:01:17 +0200 |
| commit | 31a129ee9e0626d3230bea46d93bde2e2738119c (patch) | |
| tree | 0346b0e26898b1a74745f04b62e12fd00a0d1cfe /src/sftp.c | |
| parent | 7e7910a1ca35c069864bafc200d7ba593a73a1f2 (diff) | |
| download | libssh-31a129ee9e0626d3230bea46d93bde2e2738119c.tar.gz libssh-31a129ee9e0626d3230bea46d93bde2e2738119c.tar.xz libssh-31a129ee9e0626d3230bea46d93bde2e2738119c.zip | |
sftp: more flexibility on channels
Reviewed-by: Andreas Schneider <asn@cryptomilk.org>
Diffstat (limited to 'src/sftp.c')
| -rw-r--r-- | src/sftp.c | 31 |
1 files changed, 31 insertions, 0 deletions
@@ -149,6 +149,37 @@ sftp_session sftp_new(ssh_session session){ return sftp; } +sftp_session sftp_new_channel(ssh_session session, ssh_channel channel){ + sftp_session sftp; + + if (session == NULL) { + return NULL; + } + enter_function(); + + sftp = malloc(sizeof(struct sftp_session_struct)); + if (sftp == NULL) { + ssh_set_error_oom(session); + leave_function(); + return NULL; + } + ZERO_STRUCTP(sftp); + + sftp->ext = sftp_ext_new(); + if (sftp->ext == NULL) { + ssh_set_error_oom(session); + SAFE_FREE(sftp); + leave_function(); + return NULL; + } + + sftp->session = session; + sftp->channel = channel; + + leave_function(); + return sftp; +} + #ifdef WITH_SERVER sftp_session sftp_server_new(ssh_session session, ssh_channel chan){ sftp_session sftp = NULL; |
