Andreas Schneider
332df98fc9
sftp: Move the packet payload to the message
...
This reduces memory allocations and copying.
Signed-off-by: Andreas Schneider <asn@cryptomilk.org >
(cherry picked from commit 0762057eb9 )
2018-09-17 10:53:01 +02:00
Andreas Schneider
d4cc3f69c6
sftp: Use SSH_BUFFER_FREE in sftp_message_free()
...
Signed-off-by: Andreas Schneider <asn@cryptomilk.org >
(cherry picked from commit 57153f6481 )
2018-09-17 10:53:01 +02:00
Andreas Schneider
534c58c475
sftp: Reformat sftp_message_free()
...
Signed-off-by: Andreas Schneider <asn@cryptomilk.org >
(cherry picked from commit 4c32befd93 )
2018-09-17 10:53:01 +02:00
Andreas Schneider
84fd910423
sftp: Allocate a new buffer in sftp_packet_read() if needed
...
We will move the buffer to the message instead of duplicating the
memory.
Signed-off-by: Andreas Schneider <asn@cryptomilk.org >
(cherry picked from commit be8302e2f3 )
2018-09-17 10:53:01 +02:00
Andreas Schneider
d51f77c2b1
sftp: Reformat sftp_read_and_dispatch()
...
Signed-off-by: Andreas Schneider <asn@cryptomilk.org >
(cherry picked from commit 97d2e1f4cb )
2018-09-17 10:53:01 +02:00
Andreas Schneider
47376cbc77
sftp: Validate the packet handle before we allocate memory
...
Signed-off-by: Andreas Schneider <asn@cryptomilk.org >
(cherry picked from commit 12fc0ea1bf )
2018-09-17 10:53:01 +02:00
Andreas Schneider
85c3db3e89
sftp: Reformat sftp_get_message()
...
Signed-off-by: Andreas Schneider <asn@cryptomilk.org >
(cherry picked from commit 573eab0d51 )
2018-09-17 10:53:01 +02:00
Andreas Schneider
3f8a522c7f
sftp: Use bool for is_eof in sftp_packet_read()
...
Signed-off-by: Andreas Schneider <asn@cryptomilk.org >
(cherry picked from commit 0e317e612f )
2018-09-17 10:53:01 +02:00
Andreas Schneider
eb08802b7c
sftp: Use 's' only in the scope it is needed
...
This revaled a bug when reading the packet type.
Signed-off-by: Andreas Schneider <asn@cryptomilk.org >
(cherry picked from commit 01135703a3 )
2018-09-17 10:53:01 +02:00
Andreas Schneider
dc587045bf
sftp: Use 16K for the transfer buffer size
...
Signed-off-by: Andreas Schneider <asn@cryptomilk.org >
(cherry picked from commit c070414309 )
2018-09-17 10:53:01 +02:00
Andreas Schneider
9b495b72c5
sftp: Get the packet type directly from the buffer
...
Signed-off-by: Andreas Schneider <asn@cryptomilk.org >
(cherry picked from commit d2cc4eccc7 )
2018-09-17 10:53:01 +02:00
Andreas Schneider
2ce6c56609
sftp: Limit packet size to 256 MB
...
Signed-off-by: Andreas Schneider <asn@cryptomilk.org >
(cherry picked from commit 38781f69b0 )
2018-09-17 10:53:01 +02:00
Andreas Schneider
9caef95899
sftp: Directly read and validate the packet size from the bufffer
...
Signed-off-by: Andreas Schneider <asn@cryptomilk.org >
(cherry picked from commit dc4faf9952 )
2018-09-17 10:53:01 +02:00
Andreas Schneider
66c2630aaf
sftp: Use read_packet from sftp handle
...
Signed-off-by: Andreas Schneider <asn@cryptomilk.org >
(cherry picked from commit cbbc6ddcb6 )
2018-09-17 10:53:01 +02:00
Andreas Schneider
b8f63ee2df
sftp: Simplify the code for reading data
...
Signed-off-by: Andreas Schneider <asn@cryptomilk.org >
(cherry picked from commit a7456bf4d5 )
2018-09-17 10:53:01 +02:00
Andreas Schneider
68adb49996
sftp: Reformat sftp_packet_read()
...
Signed-off-by: Andreas Schneider <asn@cryptomilk.org >
(cherry picked from commit afc14fe003 )
2018-09-17 10:53:01 +02:00
Andreas Schneider
12e94bfd18
sftp: Keep a ssh_packet for reading in the sftp handle
...
Signed-off-by: Andreas Schneider <asn@cryptomilk.org >
(cherry picked from commit 79a3fcac72 )
2018-09-17 10:53:01 +02:00
Andreas Schneider
4fc3d7a27f
sftp: Remove ZERO_STRUCTP from sftp_free()
...
The structure doesn't hold any sensitive data and this would be
optimized away anyway.
Signed-off-by: Andreas Schneider <asn@cryptomilk.org >
(cherry picked from commit 945afaa6b4 )
2018-09-17 10:53:01 +02:00
Andreas Schneider
466bb332c1
sftp: Reformat sftp_free()
...
Signed-off-by: Andreas Schneider <asn@cryptomilk.org >
(cherry picked from commit d840a05be3 )
2018-09-17 10:53:01 +02:00
Andreas Schneider
ff25b45367
sftp: Reformat sftp_new()
...
Signed-off-by: Andreas Schneider <asn@cryptomilk.org >
(cherry picked from commit 662c30eb72 )
2018-09-17 10:53:01 +02:00
Andreas Schneider
5bda3ab9f6
cmake: Correctly detect if glob has gl_flags member
...
Thanks to Baruch Siach.
Signed-off-by: Andreas Schneider <asn@cryptomilk.org >
(cherry picked from commit 2e8f2f03e7 )
2018-09-17 10:53:01 +02:00
Andreas Schneider
9a057159a2
config: Fix size type
...
src/config.c:562:12: error: assuming signed overflow does not occur when
simplifying conditional to constant [-Werror=strict-overflow]
if (args < 1) {
^
Signed-off-by: Andreas Schneider <asn@cryptomilk.org >
(cherry picked from commit ceecd3fd6f )
2018-09-06 09:25:05 +02:00
Jakub Jelen
04e290a19b
config: Parse Match keyword
...
Amends f818e63f8 , which introduced the constants and matching of this
configuration option, but did not implement the handling of the values
which was causing the configuration parser failing for certain
configurations.
This commit exposes match_pattern_list() from match.c
Red Hat Bugzilla:
https://bugzilla.redhat.com/show_bug.cgi?id=1624425
Signed-off-by: Jakub Jelen <jjelen@redhat.com >
Reviewed-by: Andreas Schneider <asn@cryptomilk.org >
(cherry picked from commit e9b44d26b1 )
2018-09-05 12:39:02 +02:00
Jakub Jelen
bad407f5e2
config: Do not overwrite previously matched result in Host blocks
...
The match_hostname() expects comma separated list, while the Host
config keyword in openssh uses spaces separated list by default.
Therefore any subseqent match or negated match in space separated
list will overwrite the previous matches.
This also adjusts the tests to make sure both of the versions work.
Signed-off-by: Jakub Jelen <jjelen@redhat.com >
Reviewed-by: Andreas Schneider <asn@cryptomilk.org >
(cherry picked from commit 9f5f10552b )
2018-09-05 12:39:02 +02:00
Andreas Schneider
dba2903e38
channels: Allow infinite timeout for ssh_channel_read_timout()
...
This is also documented.
Signed-off-by: Andreas Schneider <asn@cryptomilk.org >
(cherry picked from commit ef06ef2c1b )
2018-09-05 12:39:01 +02:00
Andreas Schneider
c4ec92f375
channels: Don't read from a closed channel
...
Fixes T76
Signed-off-by: Andreas Schneider <asn@cryptomilk.org >
(cherry picked from commit e558827c4e )
2018-09-04 20:35:30 +02:00
Andreas Schneider
54cf9d1364
auth: Use calloc to allocate memory
...
Signed-off-by: Andreas Schneider <asn@cryptomilk.org >
Reviewed-by: Jakub Jelen <jjelen@redhat.com >
(cherry picked from commit 1e195a232a )
2018-09-04 20:00:04 +02:00
Andreas Schneider
23ce6d7156
misc: Use C99 initializer to initialize string
...
Signed-off-by: Andreas Schneider <asn@cryptomilk.org >
Reviewed-by: Jakub Jelen <jjelen@redhat.com >
(cherry picked from commit d1cd914012 )
2018-09-04 20:00:04 +02:00
Andreas Schneider
07473976e1
pki_container: Use string functions for cleanup
...
Signed-off-by: Andreas Schneider <asn@cryptomilk.org >
Reviewed-by: Jakub Jelen <jjelen@redhat.com >
(cherry picked from commit c3980d433a )
2018-09-04 20:00:04 +02:00
Andreas Schneider
51063fe07e
packet: Use C99 initializer to reset session->in_packet
...
Signed-off-by: Andreas Schneider <asn@cryptomilk.org >
Reviewed-by: Jakub Jelen <jjelen@redhat.com >
(cherry picked from commit 78498ee289 )
2018-09-04 20:00:04 +02:00
Andreas Schneider
9cc1af1d53
packet: Reformat ssh_packet_parse_type()
...
Signed-off-by: Andreas Schneider <asn@cryptomilk.org >
Reviewed-by: Jakub Jelen <jjelen@redhat.com >
(cherry picked from commit 76f5a60a82 )
2018-09-04 20:00:04 +02:00
Andreas Schneider
8a83bc0569
gzip: Use calloc in initcompress() and initdecompress()
...
Signed-off-by: Andreas Schneider <asn@cryptomilk.org >
Reviewed-by: Jakub Jelen <jjelen@redhat.com >
(cherry picked from commit 07986731c6 )
2018-09-04 20:00:04 +02:00
Andreas Schneider
0181f5b5ed
kex: Use C99 initializer instead of memset
...
Signed-off-by: Andreas Schneider <asn@cryptomilk.org >
Reviewed-by: Jakub Jelen <jjelen@redhat.com >
(cherry picked from commit f1608778be )
2018-09-04 20:00:04 +02:00
Andreas Schneider
eaae8ce086
channels: Remove memset in ssh_channel_do_free()
...
We have nice tools to detect that in the meantime.
Signed-off-by: Andreas Schneider <asn@cryptomilk.org >
Reviewed-by: Jakub Jelen <jjelen@redhat.com >
(cherry picked from commit 72e91d5131 )
2018-09-04 20:00:04 +02:00
Andreas Schneider
0b2072dd30
channels: Reformat ssh_channel_free()
...
Signed-off-by: Andreas Schneider <asn@cryptomilk.org >
Reviewed-by: Jakub Jelen <jjelen@redhat.com >
(cherry picked from commit 4af4b59e21 )
2018-09-04 20:00:04 +02:00
Andreas Schneider
2e77cf6b34
channels: Use calloc() in ssh_channel_new()
...
Signed-off-by: Andreas Schneider <asn@cryptomilk.org >
Reviewed-by: Jakub Jelen <jjelen@redhat.com >
(cherry picked from commit ca464ca2ba )
2018-09-04 20:00:04 +02:00
Andreas Schneider
ad3c052e1c
channel: Reformat ssh_channel_new()
...
Signed-off-by: Andreas Schneider <asn@cryptomilk.org >
Reviewed-by: Jakub Jelen <jjelen@redhat.com >
(cherry picked from commit 9ac6ac6c26 )
2018-09-04 20:00:04 +02:00
Andreas Schneider
57d9d97866
pki_mbedcrypto: Use explicit_bzero()
...
Signed-off-by: Andreas Schneider <asn@cryptomilk.org >
Reviewed-by: Jakub Jelen <jjelen@redhat.com >
(cherry picked from commit b6b5a61c97 )
2018-09-04 20:00:04 +02:00
Andreas Schneider
22747c862a
pki_crypto: Use explicit_bzero()
...
Signed-off-by: Andreas Schneider <asn@cryptomilk.org >
Reviewed-by: Jakub Jelen <jjelen@redhat.com >
(cherry picked from commit 1acb82e38a )
2018-09-04 20:00:04 +02:00
Andreas Schneider
fed755eee5
getpass: Use explicit_bzero()
...
Signed-off-by: Andreas Schneider <asn@cryptomilk.org >
Reviewed-by: Jakub Jelen <jjelen@redhat.com >
(cherry picked from commit a6d59811bb )
2018-09-04 20:00:04 +02:00
Andreas Schneider
804410f8ad
getpass: Use calloc to allocate memory
...
Signed-off-by: Andreas Schneider <asn@cryptomilk.org >
Reviewed-by: Jakub Jelen <jjelen@redhat.com >
(cherry picked from commit d4a443d56c )
2018-09-04 20:00:04 +02:00
Andreas Schneider
df57a9a81d
wrapper: Use explicit_bzero() in crypto_free()
...
Signed-off-by: Andreas Schneider <asn@cryptomilk.org >
Reviewed-by: Jakub Jelen <jjelen@redhat.com >
(cherry picked from commit 62bff4aff1 )
2018-09-04 20:00:04 +02:00
Andreas Schneider
97076780a5
wrapper: Fix size type
...
Signed-off-by: Andreas Schneider <asn@cryptomilk.org >
Reviewed-by: Jakub Jelen <jjelen@redhat.com >
(cherry picked from commit f8e68b92b8 )
2018-09-04 20:00:04 +02:00
Andreas Schneider
899553f9f7
wrapper: Reformat crypto_free()
...
Signed-off-by: Andreas Schneider <asn@cryptomilk.org >
Reviewed-by: Jakub Jelen <jjelen@redhat.com >
(cherry picked from commit 9c5d2d4543 )
2018-09-04 20:00:04 +02:00
Andreas Schneider
37f451171b
sftp: Fix segfault in sftp_canonicalize_path()
...
Signed-off-by: Andreas Schneider <asn@cryptomilk.org >
(cherry picked from commit 4774d2b9f7 )
2018-09-04 19:00:47 +02:00
Andreas Schneider
2efc1721d8
string: Don't allow to allocate strings bigger than 256M
...
Signed-off-by: Andreas Schneider <asn@cryptomilk.org >
Reviewed-by: Jakub Jelen <jjelen@redhat.com >
(cherry picked from commit f48dcb26e3 )
2018-09-04 12:29:41 +02:00
Andreas Schneider
e9613e6b52
string: Reformat ssh_string_new()
...
Signed-off-by: Andreas Schneider <asn@cryptomilk.org >
Reviewed-by: Jakub Jelen <jjelen@redhat.com >
(cherry picked from commit d1f23cd6d8 )
2018-09-04 12:29:40 +02:00
Andreas Schneider
73fbe68ccd
sftp: Use ssh_buffer_pack() in sftp_fstat()
...
Signed-off-by: Andreas Schneider <asn@cryptomilk.org >
(cherry picked from commit e601dbd8e3 )
2018-09-03 19:04:13 +02:00
Andreas Schneider
0cb282df99
sftp: Reformat sftp_lstat()
...
Signed-off-by: Andreas Schneider <asn@cryptomilk.org >
(cherry picked from commit f3ffd8aa41 )
2018-09-03 19:04:13 +02:00
Andreas Schneider
fdb0c0a29b
sftp: Use ssh_buffer_pack() in sftp_xstat()
...
Signed-off-by: Andreas Schneider <asn@cryptomilk.org >
(cherry picked from commit 4d98b1cd7e )
2018-09-03 19:04:13 +02:00