Jakub Jelen
a45b9938fe
channels: Reformat channel_rcv_change_window
...
Signed-off-by: Jakub Jelen <jjelen@redhat.com >
Reviewed-by: Sahana Prasad <sahana@redhat.com >
2023-06-20 15:20:01 +02:00
Jakub Jelen
e6d2b6c713
sftpserver: Avoid leaking fd and dir on allocation error
...
CID 1513160 and CID 1513159
Thanks coverity
Signed-off-by: Jakub Jelen <jjelen@redhat.com >
Reviewed-by: Sahana Prasad <sahana@redhat.com >
2023-06-20 15:20:01 +02:00
Jakub Jelen
df0a445c87
tests: Clean correctly SFTP context
...
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-06 10:54:31 +02:00
Jakub Jelen
79425f8b92
tests: Remove needless assignemnt and clean memory on errors
...
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-06 10:54:31 +02:00
Jakub Jelen
7009df7b04
sftp: Refromat sftp_open, sftp_opendir
...
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-06 10:54:31 +02:00
Jakub Jelen
6bebac10b7
sftp: Avoid leaking sftp attributes when opening file
...
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-06 10:54:31 +02:00
Jakub Jelen
af771cc35f
tests: Adjust to the current implementation to correctly free memory
...
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-06 10:54:31 +02:00
Jakub Jelen
213d1c7fd8
tests: Improve sftpserver test coverage
...
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-06 10:54:31 +02:00
Jakub Jelen
c024280669
sftp: Clarify the order of arguments for symlink
...
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-06 10:54:31 +02:00
Jakub Jelen
baa18d3712
sftp: Properly check bounds of incoming packet
...
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-06 10:54:31 +02:00
Jakub Jelen
e5a6dc6757
Allow building benchmarks without SFTP
...
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-06 10:54:31 +02:00
Jakub Jelen
cd54390188
sftpserver: Standardize logging on errors
...
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-06 10:54:31 +02:00
Jakub Jelen
f09b475c4b
sftpserver: Properly handle empty files and EOF while reading
...
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-06 10:54:31 +02:00
Jakub Jelen
3fc30681f4
sftpserver: Properly handle mkdir modes
...
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-06 10:54:31 +02:00
Jakub Jelen
2a0d6d854a
sftpserver: Properly handle open modes
...
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-06 10:54:31 +02:00
Jakub Jelen
423bb3c8f0
Deprecate untested function sftp_server_init
...
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-06 10:54:31 +02:00
Jakub Jelen
492317efe9
Rename the sftp_process_init_packet()
...
... 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-06 10:54:31 +02:00
Jakub Jelen
1fe98800d2
sftpserver: Implement stat and realpath
...
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-06 10:54:31 +02:00
Jakub Jelen
7427090a9f
sftpserver: Improve logging
...
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-06 10:54:31 +02:00
Jakub Jelen
ff897165ca
Reformat most of the sftpserver.c
...
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-06 10:54:31 +02:00
Jakub Jelen
d0bfab2549
sftpserver: Fix reading and writing if buffering occurs
...
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-06 10:54:31 +02:00
Jakub Jelen
94cbd58128
Unbreak the build example on alpine
...
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-06 10:54:31 +02:00
Jakub Jelen
691105e93b
Remove needless new symbols and add required to API
...
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-06 10:54:31 +02:00
Jakub Jelen
5ea54c8159
sftpserver: Move duplicate code handling SFTP operations to library
...
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-06 10:54:31 +02:00
Jakub Jelen
af60e23081
Reformat sftpserver examples and tests and remove unused code
...
there were unused structure members and some code formatted not following our
code guidelines.
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-06 10:54:31 +02:00
Jakub Jelen
f1f766f14f
Reformat the test sftpserver
...
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-06 10:54:31 +02:00
Jakub Jelen
13b2727023
tests: Fix assertion
...
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-06 10:54:31 +02:00
Jakub Jelen
5854937328
tests: Support libssh server logging into separate file
...
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-06 10:54:31 +02:00
Jakub Jelen
0affa5d705
sftp: Remove duplicate code handling packet types
...
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-06 10:54:31 +02:00
Jakub Jelen
2f45688066
tests: Drop support for DSA
...
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-06 10:54:31 +02:00
Jakub Jelen
cb4bdf893d
tests: Replace non-english variable names
...
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-06 10:54:31 +02:00
Jakub Jelen
8e1d6e4567
examples: Replace strcpy with snprintf
...
This allows the libssh to build with more memory-strict compliers.
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-06 10:54:31 +02:00
Jakub Jelen
254ec093ff
examples: Initialize pointers
...
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-06 10:54:31 +02:00
tatataeki
97e038c6e9
sample_sftpserver: fix format and nit problems
...
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-06 10:54:31 +02:00
tatataeki
8104c19013
sftp: fix problems in sftp APIs and example
...
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-06 10:54:31 +02:00
tatataeki
0a5161a7d1
sftp: fix format problems, style nit and building problems
...
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-06 10:54:31 +02:00
tatataeki
329d53a109
tests: add sftp server test
...
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-06 10:54:31 +02:00
tatataeki
69ad6985de
sftp: format modified
...
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-06 10:54:31 +02:00
tatataeki
48d14ee9a9
examples: add sftpserver example and fix problems
...
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-06 10:54:31 +02:00
tatataeki
f8bfb5a7a1
sftp: add sftp api for sftpserver
...
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-06 10:54:30 +02:00
Jakub Jelen
4d98390678
CONTRIBUTING: Do not indent case labels nor blocks
...
Fixes : #188
Signed-off-by: Jakub Jelen <jjelen@redhat.com >
Reviewed-by: Norbert Pocs <npocs@redhat.com >
Reviewed-by: Andreas Schneider <asn@cryptomilk.org >
2023-06-05 15:52:58 +02:00
Kevin Backhouse
6a965e0981
Error out if ctx is NULL.
...
Signed-off-by: Kevin Backhouse <kevinbackhouse@github.com >
Reviewed-by: Norbert Pocs <npocs@redhat.com >
Reviewed-by: Jakub Jelen <jjelen@redhat.com >
2023-06-05 09:19:35 +02:00
Gerald Combs
c01377081f
libgcrypt.c: Fix type mismatches
...
Fix
/build/libssh-0.10.5/src/libgcrypt.c:903:20: error: incompatible function pointer types initializing 'void (*)(struct ssh_cipher_struct *, void *, void *, size_t)' (aka 'void (*)(struct ssh_cipher_struct *, void *, void *, unsigned long long)') with an expression of type 'void (struct ssh_cipher_struct *, void *, void *, unsigned long)' [-Wincompatible-function-pointer-types]
.encrypt = des3_encrypt,
^~~~~~~~~~~~
/build/libssh-0.10.5/src/libgcrypt.c:904:20: error: incompatible function pointer types initializing 'void (*)(struct ssh_cipher_struct *, void *, void *, size_t)' (aka 'void (*)(struct ssh_cipher_struct *, void *, void *, unsigned long long)') with an expression of type 'void (struct ssh_cipher_struct *, void *, void *, unsigned long)' [-Wincompatible-function-pointer-types]
.decrypt = des3_decrypt
^~~~~~~~~~~~
Fixes : #196
Signed-off-by: Gerald Combs <gerald@zing.org >
Reviewed-by: Jakub Jelen <jjelen@redhat.com >
Reviewed-by: Norbert Pocs <npocs@redhat.com >
2023-06-02 13:41:54 +02:00
Norbert Pocs
5eb8685932
socket.c: Remove bug from documentation as it was solved
...
Signed-off-by: Norbert Pocs <npocs@redhat.com >
Reviewed-by: Jakub Jelen <jjelen@redhat.com >
2023-06-01 10:34:21 +02:00
Norbert Pocs
1c0b8f624e
connect.c: Try to connect to other host addresses than just the first
...
When one host has multiple addresses returned by `getaddrinfo` try not just
the first address. The scenario where the first address is wrong but the
second is good was failing, because the second address was never tried.
This applies to ipv6 as well as to ipv4 addresses.
As the implementation uses non-blocking sockets it may return EINPROGRESS
when error happened as well as just "non-blocking" statement. The socket
can not be queried for status code to determine the error if any, because it
requires calling blocking functions.
Signed-off-by: Norbert Pocs <npocs@redhat.com >
Reviewed-by: Jakub Jelen <jjelen@redhat.com >
2023-06-01 10:14:37 +02:00
Norbert Pocs
c4a00ee430
torture_connect: Test bad IPv6 connection trying IPv4
...
If IPv6 address fail to connect IPv4 should be tried in non-blocking mode.
Signed-off-by: Norbert Pocs <npocs@redhat.com >
Reviewed-by: Jakub Jelen <jjelen@redhat.com >
2023-06-01 10:14:37 +02:00
Norbert Pocs
3951bbabd5
Remove remained HAVE_DSA ifdefs and WITH_DSA
...
Signed-off-by: Norbert Pocs <npocs@redhat.com >
Reviewed-by: Jakub Jelen <jjelen@redhat.com >
2023-06-01 10:09:43 +02:00
Norbert Pocs
5c7bfaa5f6
pkd_hello: Run chacha20 tests on dropbear too
...
Signed-off-by: Norbert Pocs <npocs@redhat.com >
Reviewed-by: Jakub Jelen <jjelen@redhat.com >
2023-06-01 10:07:55 +02:00
Norbert Pocs
2bf49e3e65
torture_auth: Add test for MaxAuthTries
...
The reproducer is originally from jjelen@redhat.com:
https://gitlab.com/libssh/libssh-mirror/-/issues/11
Signed-off-by: Norbert Pocs <npocs@redhat.com >
Reviewed-by: Jakub Jelen <jjelen@redhat.com >
2023-05-29 14:04:03 +02:00
Norbert Pocs
6424971a98
auth.c: Add termination when server disconnects during authentication
...
When the server is reaches MaxAuthTries it sends disconnect immediately
which was not correctly handled in the libssh client and hanged.
Solves #11
Signed-off-by: Norbert Pocs <npocs@redhat.com >
Reviewed-by: Jakub Jelen <jjelen@redhat.com >
2023-05-29 14:04:03 +02:00