Norbert Pocs
a9dddd89aa
Use EVP_PKEY as a key type in key structs
...
Merge multiple key variables into one variable.
Signed-off-by: Norbert Pocs <npocs@redhat.com >
Reviewed-by: Jakub Jelen <jjelen@redhat.com >
Reviewed-by: Andreas Schneider <asn@cryptomilk.org >
2022-07-07 08:39:39 +02:00
Norbert Pocs
7792d38157
Port functions to openssl3.0
...
Remove usage of deprecated functions.
Exceptions are:
- pkcs11 (no openssl provider support yet)
- ec (no support for uncompressed EC keys
https://github.com/openssl/openssl/pull/16624 )
Signed-off-by: Norbert Pocs <npocs@redhat.com >
Reviewed-by: Jakub Jelen <jjelen@redhat.com >
Reviewed-by: Andreas Schneider <asn@cryptomilk.org >
2022-07-07 08:39:39 +02:00
Norbert Pocs
fdf518435c
Define EC name constants for openssl3
...
Signed-off-by: Norbert Pocs <npocs@redhat.com >
Reviewed-by: Jakub Jelen <jjelen@redhat.com >
Reviewed-by: Andreas Schneider <asn@cryptomilk.org >
2022-07-07 08:39:39 +02:00
Norbert Pocs
debd0ea4d3
Update HMAC function parameter type
...
New openssl API, libmbedtls, libgcrypt use size_t for
HMAC len pameter.
New helper functions were added in libcrypto.c to avoid
code duplication. (the header pki.h is needed for this
reason)
Signed-off-by: Norbert Pocs <npocs@redhat.com >
Reviewed-by: Jakub Jelen <jjelen@redhat.com >
Reviewed-by: Andreas Schneider <asn@cryptomilk.org >
2022-07-07 08:39:39 +02:00
Jakub Jelen
51c940adc9
misc: FreeBSD compatible strerror_r usage
...
Signed-off-by: Jakub Jelen <jjelen@redhat.com >
Reviewed-by: Andreas Schneider <asn@cryptomilk.org >
2022-07-07 08:38:09 +02:00
Norbert Pocs
d30cf11cb6
Rewrite strerror to ssh_strerror
...
Signed-off-by: Norbert Pocs <npocs@redhat.com >
Reviewed-by: Jakub Jelen <jjelen@redhat.com >
2022-07-04 11:55:40 +02:00
Norbert Pocs
e5bc5ffd04
Rewrite strerror to ssh_strerror
...
Signed-off-by: Norbert Pocs <npocs@redhat.com >
Reviewed-by: Jakub Jelen <jjelen@redhat.com >
2022-07-04 11:55:40 +02:00
Norbert Pocs
4b92d48085
Rewrite strerror to ssh_strerror
...
Signed-off-by: Norbert Pocs <npocs@redhat.com >
Reviewed-by: Jakub Jelen <jjelen@redhat.com >
2022-07-04 11:55:40 +02:00
Norbert Pocs
a2a037a821
Rewrite strerror to ssh_strerror
...
Signed-off-by: Norbert Pocs <npocs@redhat.com >
Reviewed-by: Jakub Jelen <jjelen@redhat.com >
2022-07-04 11:55:40 +02:00
Norbert Pocs
4719c09e6a
Rewrite strerror to ssh_strerror
...
Signed-off-by: Norbert Pocs <npocs@redhat.com >
Reviewed-by: Jakub Jelen <jjelen@redhat.com >
2022-07-04 11:55:40 +02:00
Norbert Pocs
4f09bb3660
Rewrite strerror to ssh_strerror
...
Signed-off-by: Norbert Pocs <npocs@redhat.com >
Reviewed-by: Jakub Jelen <jjelen@redhat.com >
2022-07-04 11:55:40 +02:00
Norbert Pocs
594608f21b
Rewrite strerror to ssh_strerror
...
Signed-off-by: Norbert Pocs <npocs@redhat.com >
Reviewed-by: Jakub Jelen <jjelen@redhat.com >
2022-07-04 11:55:40 +02:00
Norbert Pocs
c437ba5c28
Rewrite strerror to ssh_strerror
...
Signed-off-by: Norbert Pocs <npocs@redhat.com >
Reviewed-by: Jakub Jelen <jjelen@redhat.com >
2022-07-04 11:55:40 +02:00
Norbert Pocs
3efe7c3cfb
Rewrite strerror to ssh_strerror
...
Signed-off-by: Norbert Pocs <npocs@redhat.com >
Reviewed-by: Jakub Jelen <jjelen@redhat.com >
2022-07-04 11:55:40 +02:00
Norbert Pocs
b44b749f28
Rewrite strerror to ssh_strerror
...
Signed-off-by: Norbert Pocs <npocs@redhat.com >
Reviewed-by: Jakub Jelen <jjelen@redhat.com >
2022-07-04 11:55:40 +02:00
Norbert Pocs
9837471c2e
Rewrite strerror to ssh_strerror
...
Signed-off-by: Norbert Pocs <npocs@redhat.com >
Reviewed-by: Jakub Jelen <jjelen@redhat.com >
2022-07-04 11:55:40 +02:00
Norbert Pocs
d92e389a80
Rewrite strerror to ssh_strerror
...
Signed-off-by: Norbert Pocs <npocs@redhat.com >
Reviewed-by: Jakub Jelen <jjelen@redhat.com >
2022-07-04 11:55:40 +02:00
Norbert Pocs
0dce42c8fd
Rewrite strerror to ssh_strerror
...
Signed-off-by: Norbert Pocs <npocs@redhat.com >
Reviewed-by: Jakub Jelen <jjelen@redhat.com >
2022-07-04 11:55:40 +02:00
Norbert Pocs
face3aadb4
Add constant SSH_ERRNO_MSG_MAX
...
Signed-off-by: Norbert Pocs <npocs@redhat.com >
Reviewed-by: Jakub Jelen <jjelen@redhat.com >
2022-07-04 11:55:40 +02:00
Norbert Pocs
738cedb8be
Add ssh_strerror function
...
- strerror_r for linux
- strerror_s for windows
Keep in mind that strerror_r has two versions:
- XSI
- GNU
see manpage for more information
Signed-off-by: Norbert Pocs <npocs@redhat.com >
Reviewed-by: Jakub Jelen <jjelen@redhat.com >
2022-07-04 11:55:40 +02:00
Norbert Pocs
b6a4330fe4
Change include order in unittest files
...
The tests are compiled without -D_GNU_SOURCE, therefore
the XSI version of strerror_r is used. Defining
_GNU_SOURCE in torture.h then including *.c gives error
because it is assuming GNU version of strerror_r in
the source file.
Signed-off-by: Norbert Pocs <npocs@redhat.com >
Reviewed-by: Jakub Jelen <jjelen@redhat.com >
2022-07-04 11:55:40 +02:00
Jakub Jelen
2abd4bfb6c
.gitlab-ci: Fix typo in the cmake option name
...
Signed-off-by: Jakub Jelen <jjelen@redhat.com >
Reviewed-by: Andreas Schneider <asn@cryptomilk.org >
2022-07-04 10:11:57 +02:00
Juraj Vijtiuk
0c08159f53
Fix mbedTLS issues caused by v3 API changes
...
Signed-off-by: Juraj Vijtiuk <vijtiuk.juraj@gmail.com >
Reviewed-by: Jakub Jelen <jjelen@redhat.com >
Reviewed-by: Andreas Schneider <asn@cryptomilk.org >
2022-07-04 08:52:18 +02:00
Andreas Schneider
9caedca2c6
API: Bump SO version to 4.9.0
...
Signed-off-by: Andreas Schneider <asn@cryptomilk.org >
Reviewed-by: Jakub Jelen <jjelen@redhat.com >
2022-07-02 07:04:48 +02:00
omsheladia
e0985fc0b4
client: Add ssh_session_set_disconnect_message()
...
Fix #98 by adding 'ssh_session_set_disconnect_message' Whenever the ssh
session disconnects a "Bye Bye" message was set and displayed. Now the
peer has a choice to set a customised message to be sent after the
session is disconnected. The default "Bye Bye" will be set if this
function is not called or not called correctly. The testcases in
tests/server/torture_server can also demonstrate how this function
works.
Signed-off-by: Om Sheladia <omsheladia10@gmail.com >
Reviewed-by: Jakub Jelen <jjelen@redhat.com >
Reviewed-by: Andreas Schneider <asn@cryptomilk.org >
2022-07-02 07:04:48 +02:00
Seung Min Park
4978f30320
Add ssh_send_issue_banner() API
...
Signed-off-by: Seung Min Park <smpark@pnpsecure.com >
Reviewed-by: Jakub Jelen <jjelen@redhat.com >
Reviewed-by: Andreas Schneider <asn@cryptomilk.org >
2022-07-02 07:04:48 +02:00
tatataeki
332f1c2e09
sftp: fix the length calculation of packet in sftp_write
...
Signed-off-by: tatataeki <shengzeyu19_98@163.com >
Reviewed-by: Andreas Schneider <asn@cryptomilk.org >
Reviewed-by: Jakub Jelen <jjelen@redhat.com >
2022-06-29 18:29:26 +02:00
Andreas Schneider
63e09908f1
poll: Document errno will be set for ssh_event_dopoll()
...
Signed-off-by: Andreas Schneider <asn@cryptomilk.org >
Reviewed-by: Jakub Jelen <jjelen@redhat.com >
2022-06-23 12:35:39 +02:00
Andreas Schneider
b34f8e6efa
tests:client: Add a non-blocking publickey test
...
Signed-off-by: Andreas Schneider <asn@cryptomilk.org >
Reviewed-by: Jakub Jelen <jjelen@redhat.com >
2022-06-23 12:22:44 +02:00
Andreas Schneider
ab07668d54
tests:client: Add a publickey test
...
Signed-off-by: Andreas Schneider <asn@cryptomilk.org >
Reviewed-by: Jakub Jelen <jjelen@redhat.com >
2022-06-23 12:22:43 +02:00
Andreas Schneider
f6ad8057a7
auth: Fix error returned in ssh_userauth_try_publickey()
...
Signed-off-by: Andreas Schneider <asn@cryptomilk.org >
Reviewed-by: Jakub Jelen <jjelen@redhat.com >
2022-06-23 12:22:41 +02:00
Wez Furlong
51a53cc6d4
add support for identityagent ssh_config option
...
This commit adds an `agent_socket` field to the session options
and connects the config parser to that option.
`SSH_OPTIONS_IDENTITY_AGENT` is added to allow applications to
set this option for themselves.
agent.c is updated to take the `agent_socket` value in preference
to the `SSH_AUTH_SOCK` environment variable.
Signed-off-by: Wez Furlong <wez@fb.com >
Reviewed-by: Andreas Schneider <asn@cryptomilk.org >
2022-06-22 13:56:14 +02:00
Wez Furlong
899ec9e519
Enable ssh agent authentication on Windows
...
Windows has supported unix domain sockets for a couple of years
now; see this article for more information about that:
<https://devblogs.microsoft.com/commandline/af_unix-comes-to-windows/ >
This commit allows libssh to consider using agent authentication
on Windows systems.
It is mostly removing `#ifndef _WIN32` that prevented the unix
domain socket code from being compiled in, and adjusting the use
of `read(2)` and `write(2)` to `recv(2)` and `send(2)`, as the former
functions are not compatible with sockets on Windows systems.
For mingw systems, afunix.h isn't available so we use the
technique as was used to resolve building with mingw as used
by the curl project in: https://github.com/curl/curl/pull/5170
Signed-off-by: Wez Furlong <wez@fb.com >
Reviewed-by: Andreas Schneider <asn@cryptomilk.org >
2022-06-22 13:56:14 +02:00
Andreas Schneider
7bcc2d83a4
packet: Fix ssh_packet_socket_callback() return value
...
According to the documentation the return value is the number of
processed bytes, so the returned value is never negative. We should not
use ssize_t in public headers as it isn't available on Windows! We only
have it defined in priv.h!
Signed-off-by: Andreas Schneider <asn@cryptomilk.org >
Reviewed-by: Jakub Jelen <jjelen@redhat.com >
2022-06-22 12:28:30 +02:00
Andreas Schneider
2ba4b51e0f
include: Add missing include for ssh_socket_callbacks_struct
...
Signed-off-by: Andreas Schneider <asn@cryptomilk.org >
Reviewed-by: Jakub Jelen <jjelen@redhat.com >
2022-06-22 12:28:30 +02:00
Andreas Schneider
1be117b351
gitlab-ci: Remove 'allow_failure' for visualstudio
...
This has been fixed already.
Signed-off-by: Andreas Schneider <asn@cryptomilk.org >
Reviewed-by: Jakub Jelen <jjelen@redhat.com >
2022-06-22 12:28:28 +02:00
Jakub Jelen
bdeb7418c5
ci: Build benchmarks to catch more errors
...
Signed-off-by: Jakub Jelen <jjelen@redhat.com >
Reviewed-by: Anderson Toshiyuki Sasaki <ansasaki@redhat.com >
2022-06-20 12:03:11 +02:00
Jakub Jelen
f18cc433db
benchmark: Add explicit extension
...
Signed-off-by: Jakub Jelen <jjelen@redhat.com >
Reviewed-by: Anderson Toshiyuki Sasaki <ansasaki@redhat.com >
2022-06-20 12:00:03 +02:00
Andreas Schneider
65256ad5f6
crypto: Use stdint types and make code more readable of secure_memcmp()
...
Signed-off-by: Andreas Schneider <asn@cryptomilk.org >
Reviewed-by: Jakub Jelen <jjelen@redhat.com >
2022-06-20 09:18:59 +02:00
Carlo Bramini
86057e60f2
CYGWIN provides an implemention of libargp as a separate package:
...
https://cygwin.com/cgi-bin2/package-grep.cgi?grep=libargp&arch=x86_64
The current CMakeLists.txt already provides the detection of this library for BSD/SOLARIS/OSX, so CYGWIN can be easily added there for support.
Signed-off-by: Carlo Bramini <carlo_bramini@users.sourceforge.net >
Reviewed-by: Jakub Jelen <jjelen@redhat.com >
2022-06-20 09:15:37 +02:00
Andreas Schneider
a889527c1b
libsshpp: Fix openForward to not set sourcehost to NULL by default
...
This parameter is required.
Fixes #25
Signed-off-by: Andreas Schneider <asn@cryptomilk.org >
Reviewed-by: Jakub Jelen <jjelen@redhat.com >
2022-06-15 16:19:56 +02:00
Andreas Schneider
ca51565056
options: Document that the caller needs to close the socket
...
Signed-off-by: Andreas Schneider <asn@cryptomilk.org >
Reviewed-by: Jakub Jelen <jjelen@redhat.com >
2022-06-15 16:08:41 +02:00
Andreas Schneider
4b20d7ad18
client: Do not close the socket if it was set via options
...
Fixes #122
Signed-off-by: Andreas Schneider <asn@cryptomilk.org >
Reviewed-by: Jakub Jelen <jjelen@redhat.com >
2022-06-15 16:08:41 +02:00
Norbert Pocs
442599f0d1
Fix type mismatch warnings
...
Signed-off-by: Norbert Pocs <npocs@redhat.com >
Reviewed-by: Andreas Schneider <asn@cryptomilk.org >
Reviewed-by: Jakub Jelen <jjelen@redhat.com >
2022-06-15 14:47:06 +02:00
Norbert Pocs
eb9dc8cfc4
Add errno reset with strtoul call
...
Contaminated errno can happen before strtoul call, thereofore
cleaning it before the call.
The errno is not used for checking later in code if fail happens,
therefore cleaning it right after error.
Signed-off-by: Norbert Pocs <npocs@redhat.com >
Reviewed-by: Jakub Jelen <jjelen@redhat.com >
2022-06-09 16:46:49 +02:00
Jakub Jelen
07f4d5e723
Document poll failures
...
Resolved: https://gitlab.com/libssh/libssh-mirror/-/issues/46
Signed-off-by: Jakub Jelen <jjelen@redhat.com >
Reviewed-by: Andreas Schneider <asn@cryptomilk.org >
2022-06-09 09:08:02 +02:00
Jakub Jelen
c9263dea2b
Deprecate API functions handling old key structures
...
Signed-off-by: Jakub Jelen <jjelen@redhat.com >
Reviewed-by: Andreas Schneider <asn@cryptomilk.org >
2022-06-09 09:08:02 +02:00
Jakub Jelen
e0bceea815
Remove duplicate function in headers files
...
Signed-off-by: Jakub Jelen <jjelen@redhat.com >
Reviewed-by: Andreas Schneider <asn@cryptomilk.org >
2022-06-09 09:08:02 +02:00
Jakub Jelen
7bd850ab36
Remove bogus semicolons
...
Signed-off-by: Jakub Jelen <jjelen@redhat.com >
Reviewed-by: Andreas Schneider <asn@cryptomilk.org >
2022-06-09 09:08:02 +02:00
Sahana Prasad
4b3a6342db
Deprecate duplicate/ unused functions
...
and fix obvious naming mistakes, mostly in documentation
Signed-off-by: Sahana Prasad <sahana@redhat.com >
Reviewed-by: Andreas Schneider <asn@cryptomilk.org >
2022-06-09 09:08:02 +02:00