|
5412b2c3
|
2024-02-18T19:40:00
|
|
bufferevent_ssl: fix freeing ctx in case of error in bufferevent_ssl_new_impl
|
|
c9793baa
|
2024-02-18T19:39:50
|
|
bufferevent_ssl: proper NULL checks
|
|
2f27523e
|
2024-02-18T18:22:21
|
|
bufferevent_ssl: do not return NULL from upcast
/src/le/libevent/bufferevent_ssl.c:863: error: Null Dereference
pointer `bev_ssl` last assigned on line 855 could be null and is dereferenced at line 863, column 6.
861. r2 = start_writing(bev_ssl);
862.
863. if (bev_ssl->underlying) {
^
864. if (events & EV_READ)
865. BEV_RESET_GENERIC_READ_TIMEOUT(bev);
|
|
49a7ae4c
|
2023-05-16T21:14:34
|
|
ssl: add some comments for lack of notify_close
|
|
ef51444f
|
2023-05-15T10:18:38
|
|
More SSL_read() to fill big buffer
Once SSL_read() only get max 16K bytes (one TLS record).
In case of big buffer, should more SSL_read() to fill the buffer.
Using sample https-client to measure max income MBit/s via nload tool.
Note: set bufferevent_set_max_single_read() by 32K and add the chunk
callback to read out each piece of data.
The client sample do https request a data 900KB (the server don't use
Transfer-Encoding: chunked)
- With origin/master: max income is 2.26 MBit/s
The chunk callback never get a piece of data > 16K.
- With this PR: max income is 2.44 MBit/s
The chunk callback can get some piece of data 32K or more.
|
|
4ab3242d
|
2023-05-15T19:57:38
|
|
Make bufferevent_set_max_single_read() effect
|
|
7652cf40
|
2023-05-14T16:53:13
|
|
ssl: do not triger EOF if some data had been successfully read
Previously in case when evbuffer_reserve_space() returns > 1, but
it was able to read only 1 IO vector, it will try to read the next one,
got 0 (EOF for mbedTLS or SSL_ERROR_ZERO_RETURN for OpenSSL) and will
trigger EOF, while instead, it should trigger EV_READ w/o EOF and only
after EOF.
|
|
6375dcb4
|
2023-05-14T16:45:14
|
|
ssl: rename err_is_ok to handshake_is_ok (internal API)
|
|
fc568ff0
|
2023-03-17T19:53:50
|
|
Deal with partial writes on SSL write
SSL write may do partial writes in some cases. For example, document
of mbedtls_ssl_write says:
If the return value is non-negative but less than length, the function
must be called again with updated arguments: buf + ret, len - ret
(if ret is the return value) until it returns a value equal to the
last 'len' argument.
In case of partial writes, we should continue writing the same chain of
buffer, not the next chain.
|
|
41b5ab0f
|
2021-09-19T00:39:30
|
|
bufferevent_ssl: check return value of the evbuffer_drain()
Refs: #1163
|
|
59e31c96
|
2020-11-05T00:57:39
|
|
Do not try to do SSL handshake if the connect() fails
This will avoid this icky error:
$ https-client -4 -url https://127.1
some request failed - no idea which one though!
error:00000005:lib(0):func(0):DH lib
And instead will report only:
$ https-client -4 -url https://127.1
some request failed - no idea which one though!
socket error = Connection refused (111)
Refs: #1115
|
|
a490172d
|
2020-10-31T22:53:31
|
|
Introduce new BUFFEREVENT_SSL_BATCH_WRITE flag to avoid Nagle effect in SSL
|
|
7e0fc878
|
2020-10-31T21:45:22
|
|
Introduce new API for flags of the SSL bufferevent
Introduce more generic API (like for evbuffer):
- bufferevent_ssl_set_flags()
- bufferevent_ssl_clear_flags()
- bufferevent_ssl_get_flags()
And deprecate existing:
- bufferevent_openssl_get_allow_dirty_shutdown()
- bufferevent_openssl_set_allow_dirty_shutdown()
- bufferevent_mbedtls_get_allow_dirty_shutdown()
- bufferevent_mbedtls_set_allow_dirty_shutdown()
|
|
5671575a
|
2020-07-22T23:08:50
|
|
Join le_ssl_ops.post_init with le_ssl_ops.init
|
|
d095b834
|
2020-07-07T17:26:46
|
|
Merge ssl implementations (openssl and mbedtls)
This patch splits common part out to avoid copy-paste from the
- bufferevent_openssl.c
- bufferevent_mbedtls.c
It uses VFS/bufferevent-like approach, i.e. structure of callbacks.
|