BIO_s_connect: Do not set keepalive on dgram sockets
Reviewed-by: Matt Caswell <matt@openssl.org> Reviewed-by: Neil Horman <nhorman@openssl.org> Reviewed-by: Tomas Mraz <tomas@openssl.org> (Merged from https://github.com/openssl/openssl/pull/24015)
This commit is contained in:
parent
15585af97e
commit
5673680022
1 changed files with 7 additions and 3 deletions
|
@ -110,7 +110,7 @@ err:
|
|||
|
||||
static int conn_state(BIO *b, BIO_CONNECT *c)
|
||||
{
|
||||
int ret = -1, i;
|
||||
int ret = -1, i, opts;
|
||||
BIO_info_cb *cb = NULL;
|
||||
|
||||
if (c->info_callback != NULL)
|
||||
|
@ -188,8 +188,12 @@ static int conn_state(BIO *b, BIO_CONNECT *c)
|
|||
case BIO_CONN_S_CONNECT:
|
||||
BIO_clear_retry_flags(b);
|
||||
ERR_set_mark();
|
||||
ret = BIO_connect(b->num, BIO_ADDRINFO_address(c->addr_iter),
|
||||
BIO_SOCK_KEEPALIVE | c->connect_mode);
|
||||
|
||||
opts = c->connect_mode;
|
||||
if (BIO_ADDRINFO_socktype(c->addr_iter) == SOCK_STREAM)
|
||||
opts |= BIO_SOCK_KEEPALIVE;
|
||||
|
||||
ret = BIO_connect(b->num, BIO_ADDRINFO_address(c->addr_iter), opts);
|
||||
b->retry_reason = 0;
|
||||
if (ret == 0) {
|
||||
if (BIO_sock_should_retry(ret)) {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue