mirror of
https://github.com/OpenVPN/openvpn.git
synced 2024-09-20 03:52:28 +02:00
Extract read_incoming_tls_plaintext into its own function
This makes the tls_process_state function a bit easier to read and allows extending the read_incoming_tls_plaintext function later without making tls_process_state even longer. Patch v2: fix compile error. Signed-off-by: Arne Schwabe <arne@rfc2549.org> Acked-by: Frank Lichtenheld <frank@lichtenheld.com> Message-Id: <20220503112900.933975-1-arne@rfc2549.org> URL: https://www.mail-archive.com/openvpn-devel@lists.sourceforge.net/msg24268.html Signed-off-by: Gert Doering <gert@greenie.muc.de>
This commit is contained in:
parent
3f5626891e
commit
413877f522
@ -2613,6 +2613,32 @@ control_packet_needs_wkc(const struct key_state *ks)
|
||||
}
|
||||
|
||||
|
||||
static bool
|
||||
read_incoming_tls_plaintext(struct key_state *ks, struct buffer *buf,
|
||||
interval_t *wakeup, bool *state_change)
|
||||
{
|
||||
ASSERT(buf_init(buf, 0));
|
||||
|
||||
int status = key_state_read_plaintext(&ks->ks_ssl, buf, TLS_CHANNEL_BUF_SIZE);
|
||||
|
||||
update_time();
|
||||
if (status == -1)
|
||||
{
|
||||
msg(D_TLS_ERRORS, "TLS Error: TLS object -> incoming plaintext read error");
|
||||
return false;
|
||||
}
|
||||
if (status == 1)
|
||||
{
|
||||
*state_change = true;
|
||||
dmsg(D_TLS_DEBUG, "TLS -> Incoming Plaintext");
|
||||
|
||||
/* More data may be available, wake up again asap to check. */
|
||||
*wakeup = 0;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
static bool
|
||||
tls_process_state(struct tls_multi *multi,
|
||||
struct tls_session *session,
|
||||
@ -2705,24 +2731,10 @@ tls_process_state(struct tls_multi *multi,
|
||||
struct buffer *buf = &ks->plaintext_read_buf;
|
||||
if (!buf->len)
|
||||
{
|
||||
int status;
|
||||
|
||||
ASSERT(buf_init(buf, 0));
|
||||
status = key_state_read_plaintext(&ks->ks_ssl, buf, TLS_CHANNEL_BUF_SIZE);
|
||||
update_time();
|
||||
if (status == -1)
|
||||
if (!read_incoming_tls_plaintext(ks, buf, wakeup, &state_change))
|
||||
{
|
||||
msg(D_TLS_ERRORS, "TLS Error: TLS object -> incoming plaintext read error");
|
||||
goto error;
|
||||
}
|
||||
if (status == 1)
|
||||
{
|
||||
state_change = true;
|
||||
dmsg(D_TLS_DEBUG, "TLS -> Incoming Plaintext");
|
||||
|
||||
/* More data may be available, wake up again asap to check. */
|
||||
*wakeup = 0;
|
||||
}
|
||||
}
|
||||
|
||||
/* Send Key */
|
||||
|
Loading…
Reference in New Issue
Block a user