aboutsummaryrefslogtreecommitdiff
path: root/networking/tls.c
diff options
context:
space:
mode:
authorDenys Vlasenko <vda.linux@googlemail.com>2018-02-06 15:15:08 +0100
committerDenys Vlasenko <vda.linux@googlemail.com>2018-02-06 15:15:08 +0100
commit403f2999f94937ba3f37db6d093832f636815bb9 (patch)
tree8a9167e639458e9aee5cdc4fa6685b179c02239d /networking/tls.c
parente999657f6da95b8a40e51978461d964b56189e92 (diff)
downloadbusybox-403f2999f94937ba3f37db6d093832f636815bb9.tar.gz
wget: initial support for ftps://
function old new delta spawn_ssl_client - 185 +185 parse_url 409 461 +52 packed_usage 32259 32278 +19 tls_run_copy_loop 293 306 +13 ssl_client_main 128 138 +10 showmode 330 338 +8 P_FTPS - 5 +5 filter_datapoints 177 179 +2 deflate 907 905 -2 decode_one_format 723 716 -7 wget_main 2591 2440 -151 ------------------------------------------------------------------------------ (add/remove: 2/0 grow/shrink: 6/3 up/down: 294/-160) Total: 134 bytes Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
Diffstat (limited to 'networking/tls.c')
-rw-r--r--networking/tls.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/networking/tls.c b/networking/tls.c
index 7936afca2..da7b6058f 100644
--- a/networking/tls.c
+++ b/networking/tls.c
@@ -1727,7 +1727,7 @@ static void tls_xwrite(tls_state_t *tls, int len)
// openssl s_server -key key.pem -cert server.pem -debug -tls1_2 -no_tls1 -no_tls1_1 -cipher NULL
// openssl s_client -connect 127.0.0.1:4433 -debug -tls1_2 -no_tls1 -no_tls1_1 -cipher NULL-SHA256
-void FAST_FUNC tls_run_copy_loop(tls_state_t *tls)
+void FAST_FUNC tls_run_copy_loop(tls_state_t *tls, unsigned flags)
{
int inbuf_size;
const int INBUF_STEP = 4 * 1024;
@@ -1762,6 +1762,8 @@ void FAST_FUNC tls_run_copy_loop(tls_state_t *tls)
*/
pfds[0].fd = -1;
tls_free_outbuf(tls); /* mem usage optimization */
+ if (flags & TLSLOOP_EXIT_ON_LOCAL_EOF)
+ break;
} else {
if (nread == inbuf_size) {
/* TLS has per record overhead, if input comes fast,