mirror of
https://git.haproxy.org/git/haproxy.git/
synced 2025-09-22 06:11:32 +02:00
MINOR: ssl: count client hello for stats
Add a counter for ssl client_hello received on frontends.
This commit is contained in:
parent
9963fa74d2
commit
fbc3377cd4
@ -141,18 +141,25 @@ DECLARE_STATIC_POOL(ssl_sock_ctx_pool, "ssl_sock_ctx_pool", sizeof(struct ssl_so
|
|||||||
|
|
||||||
/* ssl stats module */
|
/* ssl stats module */
|
||||||
enum {
|
enum {
|
||||||
|
SSL_ST_CLIENT_HELLO,
|
||||||
|
|
||||||
SSL_ST_STATS_COUNT /* must be the last member of the enum */
|
SSL_ST_STATS_COUNT /* must be the last member of the enum */
|
||||||
};
|
};
|
||||||
|
|
||||||
static struct name_desc ssl_stats[] = {
|
static struct name_desc ssl_stats[] = {
|
||||||
|
[SSL_ST_CLIENT_HELLO] = { .name = "ssl_client_hello",
|
||||||
|
.desc = "Total number of ssl client hello received" },
|
||||||
};
|
};
|
||||||
|
|
||||||
static struct ssl_counters {
|
static struct ssl_counters {
|
||||||
|
long long client_hello;
|
||||||
} ssl_counters;
|
} ssl_counters;
|
||||||
|
|
||||||
static void ssl_fill_stats(void *data, struct field *stats)
|
static void ssl_fill_stats(void *data, struct field *stats)
|
||||||
{
|
{
|
||||||
//struct ssl_counters *counters = data;
|
struct ssl_counters *counters = data;
|
||||||
|
|
||||||
|
stats[SSL_ST_CLIENT_HELLO] = mkf_u64(FN_COUNTER, counters->client_hello);
|
||||||
}
|
}
|
||||||
|
|
||||||
static struct stats_module ssl_stats_module = {
|
static struct stats_module ssl_stats_module = {
|
||||||
@ -2308,6 +2315,7 @@ static int ssl_sock_switchctx_cbk(SSL *ssl, int *al, void *arg)
|
|||||||
struct ebmb_node *node, *n, *node_ecdsa = NULL, *node_rsa = NULL, *node_anonymous = NULL;
|
struct ebmb_node *node, *n, *node_ecdsa = NULL, *node_rsa = NULL, *node_anonymous = NULL;
|
||||||
int allow_early = 0;
|
int allow_early = 0;
|
||||||
int i;
|
int i;
|
||||||
|
struct ssl_counters *counters;
|
||||||
|
|
||||||
conn = SSL_get_ex_data(ssl, ssl_app_data_index);
|
conn = SSL_get_ex_data(ssl, ssl_app_data_index);
|
||||||
s = __objt_listener(conn->target)->bind_conf;
|
s = __objt_listener(conn->target)->bind_conf;
|
||||||
@ -2533,6 +2541,10 @@ allow_early:
|
|||||||
if (!allow_early)
|
if (!allow_early)
|
||||||
SSL_set_max_early_data(ssl, 0);
|
SSL_set_max_early_data(ssl, 0);
|
||||||
#endif
|
#endif
|
||||||
|
counters = EXTRA_COUNTERS_GET(s->frontend->extra_counters_fe,
|
||||||
|
&ssl_stats_module);
|
||||||
|
++counters->client_hello;
|
||||||
|
|
||||||
return 1;
|
return 1;
|
||||||
abort:
|
abort:
|
||||||
/* abort handshake (was SSL_TLSEXT_ERR_ALERT_FATAL) */
|
/* abort handshake (was SSL_TLSEXT_ERR_ALERT_FATAL) */
|
||||||
|
Loading…
x
Reference in New Issue
Block a user