aboutsummaryrefslogtreecommitdiff
path: root/src/sftpserver.c
AgeCommit message (Collapse)AuthorFilesLines
2023-07-11sftpserver: Add missing allocation check that might cause NULL dereferenceJakub Jelen1-0/+6
Originally reported by Wei Chong Tan <shellcurity at protonmail.com> Signed-off-by: Jakub Jelen <jjelen@redhat.com> Reviewed-by: Andreas Schneider <asn@cryptomilk.org> Reviewed-by: Norbert Pocs <npocs@redhat.com>
2023-06-28sftpserver: Check return value ssh_buffer_get_u32Jakub Jelen1-1/+4
CID 1513157 Thanks coverity Signed-off-by: Jakub Jelen <jjelen@redhat.com> Reviewed-by: Norbert Pocs <npocs@redhat.com>
2023-06-28sftpserver: Reformat remaining conditionJakub Jelen1-1/+1
Signed-off-by: Jakub Jelen <jjelen@redhat.com> Reviewed-by: Norbert Pocs <npocs@redhat.com>
2023-06-28sftpserver: Set OOM only if allocation failsJakub Jelen1-3/+2
Signed-off-by: Jakub Jelen <jjelen@redhat.com> Reviewed-by: Norbert Pocs <npocs@redhat.com>
2023-06-28sftpserver: Initialize pointersJakub Jelen1-2/+2
Signed-off-by: Jakub Jelen <jjelen@redhat.com> Reviewed-by: Norbert Pocs <npocs@redhat.com>
2023-06-22sftpserver: Avoid unreachable code lineJakub Jelen1-3/+1
CID 1513155 Thanks coverity Signed-off-by: Jakub Jelen <jjelen@redhat.com> Reviewed-by: Sahana Prasad <sahana@redhat.com>
2023-06-20sftpserver: Avoid leaking fd and dir on allocation errorJakub Jelen1-0/+2
CID 1513160 and CID 1513159 Thanks coverity Signed-off-by: Jakub Jelen <jjelen@redhat.com> Reviewed-by: Sahana Prasad <sahana@redhat.com>
2023-06-06sftp: Clarify the order of arguments for symlinkJakub Jelen1-0/+5
Signed-off-by: Jakub Jelen <jjelen@redhat.com> Reviewed-by: Andreas Schneider <asn@cryptomilk.org> Reviewed-by: Anderson Toshiyuki Sasaki <ansasaki@redhat.com>
2023-06-06sftp: Properly check bounds of incoming packetJakub Jelen1-2/+2
Signed-off-by: Jakub Jelen <jjelen@redhat.com> Reviewed-by: Andreas Schneider <asn@cryptomilk.org> Reviewed-by: Anderson Toshiyuki Sasaki <ansasaki@redhat.com>
2023-06-06sftpserver: Standardize logging on errorsJakub Jelen1-52/+69
Signed-off-by: Jakub Jelen <jjelen@redhat.com> Reviewed-by: Andreas Schneider <asn@cryptomilk.org> Reviewed-by: Anderson Toshiyuki Sasaki <ansasaki@redhat.com>
2023-06-06sftpserver: Properly handle empty files and EOF while readingJakub Jelen1-1/+8
Signed-off-by: Jakub Jelen <jjelen@redhat.com> Reviewed-by: Andreas Schneider <asn@cryptomilk.org> Reviewed-by: Anderson Toshiyuki Sasaki <ansasaki@redhat.com>
2023-06-06sftpserver: Properly handle mkdir modesJakub Jelen1-1/+1
Signed-off-by: Jakub Jelen <jjelen@redhat.com> Reviewed-by: Andreas Schneider <asn@cryptomilk.org> Reviewed-by: Anderson Toshiyuki Sasaki <ansasaki@redhat.com>
2023-06-06sftpserver: Properly handle open modesJakub Jelen1-1/+2
Signed-off-by: Jakub Jelen <jjelen@redhat.com> Reviewed-by: Andreas Schneider <asn@cryptomilk.org> Reviewed-by: Anderson Toshiyuki Sasaki <ansasaki@redhat.com>
2023-06-06Rename the sftp_process_init_packet()Jakub Jelen1-2/+2
... to better describe the function, which is only replying to the client with our version and extensions. Signed-off-by: Jakub Jelen <jjelen@redhat.com> Reviewed-by: Andreas Schneider <asn@cryptomilk.org> Reviewed-by: Anderson Toshiyuki Sasaki <ansasaki@redhat.com>
2023-06-06sftpserver: Implement stat and realpathJakub Jelen1-2/+60
Signed-off-by: Jakub Jelen <jjelen@redhat.com> Reviewed-by: Andreas Schneider <asn@cryptomilk.org> Reviewed-by: Anderson Toshiyuki Sasaki <ansasaki@redhat.com>
2023-06-06sftpserver: Improve loggingJakub Jelen1-3/+42
Signed-off-by: Jakub Jelen <jjelen@redhat.com> Reviewed-by: Andreas Schneider <asn@cryptomilk.org> Reviewed-by: Anderson Toshiyuki Sasaki <ansasaki@redhat.com>
2023-06-06Reformat most of the sftpserver.cJakub Jelen1-238/+276
Signed-off-by: Jakub Jelen <jjelen@redhat.com> Reviewed-by: Andreas Schneider <asn@cryptomilk.org> Reviewed-by: Anderson Toshiyuki Sasaki <ansasaki@redhat.com>
2023-06-06sftpserver: Fix reading and writing if buffering occursJakub Jelen1-21/+24
Signed-off-by: Jakub Jelen <jjelen@redhat.com> Reviewed-by: Andreas Schneider <asn@cryptomilk.org> Reviewed-by: Anderson Toshiyuki Sasaki <ansasaki@redhat.com>
2023-06-06Remove needless new symbols and add required to APIJakub Jelen1-2/+22
Signed-off-by: Jakub Jelen <jjelen@redhat.com> Reviewed-by: Andreas Schneider <asn@cryptomilk.org> Reviewed-by: Anderson Toshiyuki Sasaki <ansasaki@redhat.com>
2023-06-06sftpserver: Move duplicate code handling SFTP operations to libraryJakub Jelen1-2/+930
These can be replaced by user-provided functions when needed. Signed-off-by: Jakub Jelen <jjelen@redhat.com> Reviewed-by: Andreas Schneider <asn@cryptomilk.org> Reviewed-by: Anderson Toshiyuki Sasaki <ansasaki@redhat.com>
2023-06-06sftp: Remove duplicate code handling packet typesJakub Jelen1-216/+72
Signed-off-by: Jakub Jelen <jjelen@redhat.com> Reviewed-by: Andreas Schneider <asn@cryptomilk.org> Reviewed-by: Anderson Toshiyuki Sasaki <ansasaki@redhat.com>
2023-06-06sftp: fix problems in sftp APIs and exampletatataeki1-67/+31
Signed-off-by: tatataeki <shengzeyu19_98@163.com> Reviewed-by: Andreas Schneider <asn@cryptomilk.org> Reviewed-by: Anderson Toshiyuki Sasaki <ansasaki@redhat.com>
2023-06-06sftp: fix format problems, style nit and building problemstatataeki1-4/+6
Signed-off-by: tatataeki <shengzeyu19_98@163.com> Reviewed-by: Andreas Schneider <asn@cryptomilk.org> Reviewed-by: Anderson Toshiyuki Sasaki <ansasaki@redhat.com>
2023-06-06sftp: format modifiedtatataeki1-216/+216
Signed-off-by: tatataeki <shengzeyu19_98@163.com> Reviewed-by: Andreas Schneider <asn@cryptomilk.org> Reviewed-by: Anderson Toshiyuki Sasaki <ansasaki@redhat.com>
2023-06-06examples: add sftpserver example and fix problemstatataeki1-2/+1
Signed-off-by: tatataeki <shengzeyu19_98@163.com> Reviewed-by: Andreas Schneider <asn@cryptomilk.org> Reviewed-by: Anderson Toshiyuki Sasaki <ansasaki@redhat.com>
2023-06-06sftp: add sftp api for sftpservertatataeki1-0/+265
Signed-off-by: tatataeki <shengzeyu19_98@163.com> Reviewed-by: Andreas Schneider <asn@cryptomilk.org> Reviewed-by: Anderson Toshiyuki Sasaki <ansasaki@redhat.com>
2020-06-03sftpserver: Add missing return check for ssh_buffer_add_data()Andreas Schneider1-3/+8
Signed-off-by: Andreas Schneider <asn@cryptomilk.org> Reviewed-by: Anderson Toshiyuki Sasaki <ansasaki@redhat.com> Reviewed-by: Jakub Jelen <jjelen@redhat.com>
2020-06-03sftpserver: Add missing NULL check for ssh_buffer_new()Andreas Schneider1-0/+6
Thanks to Ramin Farajpour Cami for spotting this. Fixes T232 Signed-off-by: Andreas Schneider <asn@cryptomilk.org> Reviewed-by: Anderson Toshiyuki Sasaki <ansasaki@redhat.com> Reviewed-by: Jakub Jelen <jjelen@redhat.com>
2019-12-09packet_cb: Use SSH_BUFFER_FREE()Andreas Schneider1-18/+18
Fixes T183 Signed-off-by: Andreas Schneider <asn@cryptomilk.org> Reviewed-by: Jakub Jelen <jjelen@redhat.com>
2019-12-09sftpserver: Use SSH_STRING_FREE()Andreas Schneider1-11/+11
Fixes T183 Signed-off-by: Andreas Schneider <asn@cryptomilk.org> Reviewed-by: Jakub Jelen <jjelen@redhat.com>
2019-12-09sftpserver: Fix integer type in sftp_reply_data()Andreas Schneider1-1/+1
Fixes T188 Signed-off-by: Andreas Schneider <asn@cryptomilk.org> Reviewed-by: Jakub Jelen <jjelen@redhat.com>
2019-12-09sftp: Remove internal function from sftp.hAndreas Schneider1-0/+3
Those are not marked as LIBSSH_API so not part of the public API and the symbols aren't exported! Fixes T188 Signed-off-by: Andreas Schneider <asn@cryptomilk.org> Reviewed-by: Jakub Jelen <jjelen@redhat.com>
2018-09-25sftpserver: allocate packet on sftp_server_newAlberto Aguirre1-2/+0
Ensure sftp_server_new allocates the packet and payload as sftp_packet_read now expects the packet and payload to be pre-allocated. Similarly, ensure sftp_get_client_message does not free the packet. Signed-off-by: Alberto Aguirre <albaguirre@gmail.com> Reviewed-by: Andreas Schneider <asn@cryptomilk.org>
2018-09-20sftpserver: Support some openssh extensionsChris Townsend1-0/+28
Add support for "hardlink@openssh.com" and "posix-rename@openssh.com" extensions. Signed-off-by: Chris Townsend <christopher.townsend@canonical.com> Signed-off-by: Alberto Aguirre <albaguirre@gmail.com> Reviewed-by: Andreas Schneider <asn@cryptomilk.org>
2018-06-28Remove vim modelines from all filesAndreas Schneider1-2/+0
If you want modelines use my vim plugin: https://github.com/cryptomilk/git-modeline.vim git config --add vim.modeline "ts=4 sw=4 et" Signed-off-by: Andreas Schneider <asn@cryptomilk.org>
2018-01-18sftpserver: Use calloc() instead of malloc()Andreas Schneider1-2/+1
Signed-off-by: Andreas Schneider <asn@cryptomilk.org>
2017-10-28Fix config.h includesAndreas Schneider1-2/+2
We need stdlib.h and string.h in priv.h for free() and memset(). Signed-off-by: Andreas Schneider <asn@cryptomilk.org>
2016-10-22Remove extra newlines from log/error messagesPino Toscano1-1/+1
Signed-off-by: Pino Toscano <ptoscano@redhat.com> Reviewed-by: Andreas Schneider <asn@cryptomilk.org>
2016-05-10sftpserver: Fix SSH_FXP_FSTAT argumentsAndreas Schneider1-3/+2
Thanks to Игорь Коваленко <igor.a.kovalenko@gmail.com> Signed-off-by: Andreas Schneider <asn@cryptomilk.org>
2016-01-19buffer: do not use ssh_buffer_get_rest_len()Fabiano Fidêncio1-2/+2
As ssh_buffer_get_len() actually calls ssh_buffer_get_rest_len(), let's just use the first one. This is a preparatory step for removing ssh_buffer_get_rest_len(). Signed-off-by: Fabiano Fidêncio <fidencio@redhat.com> Reviewed-by: Andreas Schneider <asn@cryptomilk.org>
2016-01-19buffer: rename ssh_buffer_get_rest() to ssh_buffer_get()Fabiano Fidêncio1-2/+2
Signed-off-by: Fabiano Fidêncio <fidencio@redhat.com> Reviewed-by: Andreas Schneider <asn@cryptomilk.org>
2016-01-19cleanup: use ssh_ prefix in the buffer (non-static) functionsFabiano Fidêncio1-24/+24
Having "ssh_" prefix in the functions' name will avoid possible clashes when compiling libssh statically. Signed-off-by: Fabiano Fidêncio <fidencio@redhat.com> Reviewed-by: Andreas Schneider <asn@cryptomilk.org>
2014-08-06buffers: adapt sftpserver.c to ssh_buffer_(un)pack()Aris Adamantiadis1-73/+41
Reviewed-by: Andreas Schneider <asn@samba.org>
2014-01-19src: Rename buffer_add_data() to ssh_buffer_add_data().Andreas Schneider1-3/+5
2013-07-13sftp: more flexibility on channelsAris Adamantiadis1-3/+5
Reviewed-by: Andreas Schneider <asn@cryptomilk.org>
2013-07-13sftp: added useful server APIsAris Adamantiadis1-1/+32
Reviewed-by: Andreas Schneider <asn@cryptomilk.org>
2012-10-12sftpserver: Add missing break statement.Andreas Schneider1-0/+1
Found by Coverity.
2012-07-17build: Fix missing struct in_addr warning.Andreas Schneider1-0/+1
2011-02-12srv_sftp: Set error messages in sftp_get_client_message().Andreas Schneider1-1/+27
2011-02-05Revert "sftp: Added missing break's to server."Andreas Schneider1-9/+1
This reverts commit 131e3b968ff60b4db71ac4fe02a21e20ccdcd819.