Minor TLS fixes

This commit is contained in:
Zhi Guan
2026-06-12 13:48:45 +08:00
parent 473498ad93
commit 51883c507a
2 changed files with 35 additions and 31 deletions

View File

@@ -398,11 +398,11 @@ int tlcp_send_client_hello(TLS_CONNECT *conn)
return -1;
}
tls_handshake_digest_print(stderr, 0, 0, "ClientHello", &conn->dgst_ctx);
}
if (conn->client_certificate_verify) {
sm2_sign_update(&conn->sign_ctx, conn->record + 5, conn->recordlen - 5);
}
}
if ((ret = tls_send_record(conn)) != 1) {
if (ret != TLS_ERROR_SEND_AGAIN) {

View File

@@ -4027,11 +4027,11 @@ int tls13_send_client_hello(TLS_CONNECT *conn)
memcpy(conn->plain_record, conn->record, conn->recordlen);
conn->plain_recordlen = conn->recordlen;
}
if (conn->client_certificate_verify) {
sm2_sign_update(&conn->sign_ctx, conn->record + 5, conn->recordlen - 5);
}
}
if ((ret = tls_send_record(conn)) != 1) {
if (ret != TLS_ERROR_SEND_AGAIN) {
@@ -4641,11 +4641,11 @@ int tls13_send_client_hello_again(TLS_CONNECT *conn)
error_print();
return -1;
}
}
if (conn->client_certificate_verify) {
sm2_sign_update(&conn->sign_ctx, conn->record + 5, conn->recordlen - 5);
}
}
if ((ret = tls_send_record(conn)) != 1) {
if (ret != TLS_ERROR_SEND_AGAIN) {
@@ -7790,6 +7790,7 @@ int tls13_send_alert(TLS_CONNECT *conn, int alert)
tls_trace("send {Alert}\n");
if (conn->recordlen == 0) {
tls_record_set_protocol(conn->plain_record, TLS_protocol_tls12);
tls_record_set_alert(conn->plain_record, &conn->plain_recordlen, TLS_alert_level_fatal, alert);
@@ -7800,7 +7801,8 @@ int tls13_send_alert(TLS_CONNECT *conn, int alert)
case TLS_state_client_hello:
case TLS_state_server_hello:
case TLS_state_hello_retry_request:
tls_socket_send(conn->sock, conn->plain_record, conn->plain_recordlen, 0);
memcpy(conn->record, conn->plain_record, conn->plain_recordlen);
conn->recordlen = conn->plain_recordlen;
break;
default:
tls13_padding_len_rand(&padding_len);
@@ -7811,6 +7813,8 @@ int tls13_send_alert(TLS_CONNECT *conn, int alert)
return -1;
}
tls_seq_num_incr(conn->server_seq_num);
}
}
if ((ret = tls_send_record(conn)) != 1) {
if (ret != TLS_ERROR_SEND_AGAIN) {
@@ -7818,8 +7822,8 @@ int tls13_send_alert(TLS_CONNECT *conn, int alert)
}
return ret;
}
}
tls_clean_record(conn);
return 1;
}