MEDIUM: sample change the prototype of sample-fetches and converters functions
This patch removes the structs "session", "stream" and "proxy" from
the sample-fetches and converters function prototypes.
This permits to remove some weight in the prototype call.
diff --git a/src/ssl_sock.c b/src/ssl_sock.c
index eb1d88c..d490955 100644
--- a/src/ssl_sock.c
+++ b/src/ssl_sock.c
@@ -3084,12 +3084,12 @@
/* boolean, returns true if client cert was present */
static int
-smp_fetch_ssl_fc_has_crt(struct proxy *px, struct session *sess, struct stream *strm, unsigned int opt,
- const struct arg *args, struct sample *smp, const char *kw, void *private)
+smp_fetch_ssl_fc_has_crt(unsigned int opt, const struct arg *args, struct sample *smp,
+ const char *kw, void *private)
{
struct connection *conn;
- conn = objt_conn(sess->origin);
+ conn = objt_conn(smp->sess->origin);
if (!conn || conn->xprt != &ssl_sock)
return 0;
@@ -3110,8 +3110,8 @@
* should be use.
*/
static int
-smp_fetch_ssl_x_der(struct proxy *px, struct session *sess, struct stream *strm, unsigned int opt,
- const struct arg *args, struct sample *smp, const char *kw, void *private)
+smp_fetch_ssl_x_der(unsigned int opt, const struct arg *args, struct sample *smp,
+ const char *kw, void *private)
{
int cert_peer = (kw[4] == 'c') ? 1 : 0;
X509 *crt = NULL;
@@ -3119,7 +3119,7 @@
struct chunk *smp_trash;
struct connection *conn;
- conn = objt_conn(sess->origin);
+ conn = objt_conn(smp->sess->origin);
if (!conn || conn->xprt != &ssl_sock)
return 0;
@@ -3155,8 +3155,8 @@
* should be use.
*/
static int
-smp_fetch_ssl_x_serial(struct proxy *px, struct session *sess, struct stream *strm, unsigned int opt,
- const struct arg *args, struct sample *smp, const char *kw, void *private)
+smp_fetch_ssl_x_serial(unsigned int opt, const struct arg *args, struct sample *smp,
+ const char *kw, void *private)
{
int cert_peer = (kw[4] == 'c') ? 1 : 0;
X509 *crt = NULL;
@@ -3164,7 +3164,7 @@
struct chunk *smp_trash;
struct connection *conn;
- conn = objt_conn(sess->origin);
+ conn = objt_conn(smp->sess->origin);
if (!conn || conn->xprt != &ssl_sock)
return 0;
@@ -3200,8 +3200,8 @@
* should be use.
*/
static int
-smp_fetch_ssl_x_sha1(struct proxy *px, struct session *sess, struct stream *strm, unsigned int opt,
- const struct arg *args, struct sample *smp, const char *kw, void *private)
+smp_fetch_ssl_x_sha1(unsigned int opt, const struct arg *args, struct sample *smp,
+ const char *kw, void *private)
{
int cert_peer = (kw[4] == 'c') ? 1 : 0;
X509 *crt = NULL;
@@ -3210,7 +3210,7 @@
struct chunk *smp_trash;
struct connection *conn;
- conn = objt_conn(sess->origin);
+ conn = objt_conn(smp->sess->origin);
if (!conn || conn->xprt != &ssl_sock)
return 0;
@@ -3245,8 +3245,8 @@
* should be use.
*/
static int
-smp_fetch_ssl_x_notafter(struct proxy *px, struct session *sess, struct stream *strm, unsigned int opt,
- const struct arg *args, struct sample *smp, const char *kw, void *private)
+smp_fetch_ssl_x_notafter(unsigned int opt, const struct arg *args, struct sample *smp,
+ const char *kw, void *private)
{
int cert_peer = (kw[4] == 'c') ? 1 : 0;
X509 *crt = NULL;
@@ -3254,7 +3254,7 @@
struct chunk *smp_trash;
struct connection *conn;
- conn = objt_conn(sess->origin);
+ conn = objt_conn(smp->sess->origin);
if (!conn || conn->xprt != &ssl_sock)
return 0;
@@ -3289,8 +3289,8 @@
* should be use.
*/
static int
-smp_fetch_ssl_x_i_dn(struct proxy *px, struct session *sess, struct stream *strm, unsigned int opt,
- const struct arg *args, struct sample *smp, const char *kw, void *private)
+smp_fetch_ssl_x_i_dn(unsigned int opt, const struct arg *args, struct sample *smp,
+ const char *kw, void *private)
{
int cert_peer = (kw[4] == 'c') ? 1 : 0;
X509 *crt = NULL;
@@ -3299,7 +3299,7 @@
struct chunk *smp_trash;
struct connection *conn;
- conn = objt_conn(sess->origin);
+ conn = objt_conn(smp->sess->origin);
if (!conn || conn->xprt != &ssl_sock)
return 0;
@@ -3349,8 +3349,8 @@
* should be use.
*/
static int
-smp_fetch_ssl_x_notbefore(struct proxy *px, struct session *sess, struct stream *strm, unsigned int opt,
- const struct arg *args, struct sample *smp, const char *kw, void *private)
+smp_fetch_ssl_x_notbefore(unsigned int opt, const struct arg *args, struct sample *smp,
+ const char *kw, void *private)
{
int cert_peer = (kw[4] == 'c') ? 1 : 0;
X509 *crt = NULL;
@@ -3358,7 +3358,7 @@
struct chunk *smp_trash;
struct connection *conn;
- conn = objt_conn(sess->origin);
+ conn = objt_conn(smp->sess->origin);
if (!conn || conn->xprt != &ssl_sock)
return 0;
@@ -3393,8 +3393,8 @@
* should be use.
*/
static int
-smp_fetch_ssl_x_s_dn(struct proxy *px, struct session *sess, struct stream *strm, unsigned int opt,
- const struct arg *args, struct sample *smp, const char *kw, void *private)
+smp_fetch_ssl_x_s_dn(unsigned int opt, const struct arg *args, struct sample *smp,
+ const char *kw, void *private)
{
int cert_peer = (kw[4] == 'c') ? 1 : 0;
X509 *crt = NULL;
@@ -3403,7 +3403,7 @@
struct chunk *smp_trash;
struct connection *conn;
- conn = objt_conn(sess->origin);
+ conn = objt_conn(smp->sess->origin);
if (!conn || conn->xprt != &ssl_sock)
return 0;
@@ -3450,13 +3450,13 @@
/* integer, returns true if current session use a client certificate */
static int
-smp_fetch_ssl_c_used(struct proxy *px, struct session *sess, struct stream *strm, unsigned int opt,
- const struct arg *args, struct sample *smp, const char *kw, void *private)
+smp_fetch_ssl_c_used(unsigned int opt, const struct arg *args, struct sample *smp,
+ const char *kw, void *private)
{
X509 *crt;
struct connection *conn;
- conn = objt_conn(sess->origin);
+ conn = objt_conn(smp->sess->origin);
if (!conn || conn->xprt != &ssl_sock)
return 0;
@@ -3481,14 +3481,14 @@
* should be use.
*/
static int
-smp_fetch_ssl_x_version(struct proxy *px, struct session *sess, struct stream *strm, unsigned int opt,
- const struct arg *args, struct sample *smp, const char *kw, void *private)
+smp_fetch_ssl_x_version(unsigned int opt, const struct arg *args, struct sample *smp,
+ const char *kw, void *private)
{
int cert_peer = (kw[4] == 'c') ? 1 : 0;
X509 *crt;
struct connection *conn;
- conn = objt_conn(sess->origin);
+ conn = objt_conn(smp->sess->origin);
if (!conn || conn->xprt != &ssl_sock)
return 0;
@@ -3518,15 +3518,15 @@
* should be use.
*/
static int
-smp_fetch_ssl_x_sig_alg(struct proxy *px, struct session *sess, struct stream *strm, unsigned int opt,
- const struct arg *args, struct sample *smp, const char *kw, void *private)
+smp_fetch_ssl_x_sig_alg(unsigned int opt, const struct arg *args, struct sample *smp,
+ const char *kw, void *private)
{
int cert_peer = (kw[4] == 'c') ? 1 : 0;
X509 *crt;
int nid;
struct connection *conn;
- conn = objt_conn(sess->origin);
+ conn = objt_conn(smp->sess->origin);
if (!conn || conn->xprt != &ssl_sock)
return 0;
@@ -3567,15 +3567,15 @@
* should be use.
*/
static int
-smp_fetch_ssl_x_key_alg(struct proxy *px, struct session *sess, struct stream *strm, unsigned int opt,
- const struct arg *args, struct sample *smp, const char *kw, void *private)
+smp_fetch_ssl_x_key_alg(unsigned int opt, const struct arg *args, struct sample *smp,
+ const char *kw, void *private)
{
int cert_peer = (kw[4] == 'c') ? 1 : 0;
X509 *crt;
int nid;
struct connection *conn;
- conn = objt_conn(sess->origin);
+ conn = objt_conn(smp->sess->origin);
if (!conn || conn->xprt != &ssl_sock)
return 0;
@@ -3615,11 +3615,11 @@
* char is 'b'.
*/
static int
-smp_fetch_ssl_fc(struct proxy *px, struct session *sess, struct stream *strm, unsigned int opt,
- const struct arg *args, struct sample *smp, const char *kw, void *private)
+smp_fetch_ssl_fc(unsigned int opt, const struct arg *args, struct sample *smp,
+ const char *kw, void *private)
{
int back_conn = (kw[4] == 'b') ? 1 : 0;
- struct connection *conn = objt_conn(strm->si[back_conn].end);
+ struct connection *conn = objt_conn(smp->strm->si[back_conn].end);
smp->type = SMP_T_BOOL;
smp->data.uint = (conn && conn->xprt == &ssl_sock);
@@ -3628,11 +3628,11 @@
/* boolean, returns true if client present a SNI */
static int
-smp_fetch_ssl_fc_has_sni(struct proxy *px, struct session *sess, struct stream *strm, unsigned int opt,
- const struct arg *args, struct sample *smp, const char *kw, void *private)
+smp_fetch_ssl_fc_has_sni(unsigned int opt, const struct arg *args, struct sample *smp,
+ const char *kw, void *private)
{
#ifdef SSL_CTRL_SET_TLSEXT_HOSTNAME
- struct connection *conn = objt_conn(sess->origin);
+ struct connection *conn = objt_conn(smp->sess->origin);
smp->type = SMP_T_BOOL;
smp->data.uint = (conn && conn->xprt == &ssl_sock) &&
@@ -3649,15 +3649,15 @@
* char is 'b'.
*/
static int
-smp_fetch_ssl_fc_cipher(struct proxy *px, struct session *sess, struct stream *strm, unsigned int opt,
- const struct arg *args, struct sample *smp, const char *kw, void *private)
+smp_fetch_ssl_fc_cipher(unsigned int opt, const struct arg *args, struct sample *smp,
+ const char *kw, void *private)
{
int back_conn = (kw[4] == 'b') ? 1 : 0;
struct connection *conn;
smp->flags = 0;
- conn = objt_conn(strm->si[back_conn].end);
+ conn = objt_conn(smp->strm->si[back_conn].end);
if (!conn || !conn->xprt_ctx || conn->xprt != &ssl_sock)
return 0;
@@ -3678,15 +3678,15 @@
* char is 'b'.
*/
static int
-smp_fetch_ssl_fc_alg_keysize(struct proxy *px, struct session *sess, struct stream *strm, unsigned int opt,
- const struct arg *args, struct sample *smp, const char *kw, void *private)
+smp_fetch_ssl_fc_alg_keysize(unsigned int opt, const struct arg *args, struct sample *smp,
+ const char *kw, void *private)
{
int back_conn = (kw[4] == 'b') ? 1 : 0;
struct connection *conn;
smp->flags = 0;
- conn = objt_conn(strm->si[back_conn].end);
+ conn = objt_conn(smp->strm->si[back_conn].end);
if (!conn || !conn->xprt_ctx || conn->xprt != &ssl_sock)
return 0;
@@ -3703,15 +3703,15 @@
* char is 'b'.
*/
static int
-smp_fetch_ssl_fc_use_keysize(struct proxy *px, struct session *sess, struct stream *strm, unsigned int opt,
- const struct arg *args, struct sample *smp, const char *kw, void *private)
+smp_fetch_ssl_fc_use_keysize(unsigned int opt, const struct arg *args, struct sample *smp,
+ const char *kw, void *private)
{
int back_conn = (kw[4] == 'b') ? 1 : 0;
struct connection *conn;
smp->flags = 0;
- conn = objt_conn(strm->si[back_conn].end);
+ conn = objt_conn(smp->strm->si[back_conn].end);
if (!conn || !conn->xprt_ctx || conn->xprt != &ssl_sock)
return 0;
@@ -3726,15 +3726,15 @@
#ifdef OPENSSL_NPN_NEGOTIATED
static int
-smp_fetch_ssl_fc_npn(struct proxy *px, struct session *sess, struct stream *strm, unsigned int opt,
- const struct arg *args, struct sample *smp, const char *kw, void *private)
+smp_fetch_ssl_fc_npn(unsigned int opt, const struct arg *args, struct sample *smp,
+ const char *kw, void *private)
{
struct connection *conn;
smp->flags = SMP_F_CONST;
smp->type = SMP_T_STR;
- conn = objt_conn(sess->origin);
+ conn = objt_conn(smp->sess->origin);
if (!conn || !conn->xprt_ctx || conn->xprt != &ssl_sock)
return 0;
@@ -3751,8 +3751,8 @@
#ifdef TLSEXT_TYPE_application_layer_protocol_negotiation
static int
-smp_fetch_ssl_fc_alpn(struct proxy *px, struct session *sess, struct stream *strm, unsigned int opt,
- const struct arg *args, struct sample *smp, const char *kw, void *private)
+smp_fetch_ssl_fc_alpn(unsigned int opt, const struct arg *args, struct sample *smp,
+ const char *kw, void *private)
{
struct connection *conn;
@@ -3779,15 +3779,15 @@
* char is 'b'.
*/
static int
-smp_fetch_ssl_fc_protocol(struct proxy *px, struct session *sess, struct stream *strm, unsigned int opt,
- const struct arg *args, struct sample *smp, const char *kw, void *private)
+smp_fetch_ssl_fc_protocol(unsigned int opt, const struct arg *args, struct sample *smp,
+ const char *kw, void *private)
{
int back_conn = (kw[4] == 'b') ? 1 : 0;
struct connection *conn;
smp->flags = 0;
- conn = objt_conn(strm->si[back_conn].end);
+ conn = objt_conn(smp->strm->si[back_conn].end);
if (!conn || !conn->xprt_ctx || conn->xprt != &ssl_sock)
return 0;
@@ -3807,8 +3807,8 @@
* char is 'b'.
*/
static int
-smp_fetch_ssl_fc_session_id(struct proxy *px, struct session *sess, struct stream *strm, unsigned int opt,
- const struct arg *args, struct sample *smp, const char *kw, void *private)
+smp_fetch_ssl_fc_session_id(unsigned int opt, const struct arg *args, struct sample *smp,
+ const char *kw, void *private)
{
#if OPENSSL_VERSION_NUMBER > 0x0090800fL
int back_conn = (kw[4] == 'b') ? 1 : 0;
@@ -3818,7 +3818,7 @@
smp->flags = SMP_F_CONST;
smp->type = SMP_T_BIN;
- conn = objt_conn(strm->si[back_conn].end);
+ conn = objt_conn(smp->strm->si[back_conn].end);
if (!conn || !conn->xprt_ctx || conn->xprt != &ssl_sock)
return 0;
@@ -3837,8 +3837,8 @@
}
static int
-smp_fetch_ssl_fc_sni(struct proxy *px, struct session *sess, struct stream *strm, unsigned int opt,
- const struct arg *args, struct sample *smp, const char *kw, void *private)
+smp_fetch_ssl_fc_sni(unsigned int opt, const struct arg *args, struct sample *smp,
+ const char *kw, void *private)
{
#ifdef SSL_CTRL_SET_TLSEXT_HOSTNAME
struct connection *conn;
@@ -3846,7 +3846,7 @@
smp->flags = SMP_F_CONST;
smp->type = SMP_T_STR;
- conn = objt_conn(sess->origin);
+ conn = objt_conn(smp->sess->origin);
if (!conn || !conn->xprt_ctx || conn->xprt != &ssl_sock)
return 0;
@@ -3862,8 +3862,8 @@
}
static int
-smp_fetch_ssl_fc_unique_id(struct proxy *px, struct session *sess, struct stream *strm, unsigned int opt,
- const struct arg *args, struct sample *smp, const char *kw, void *private)
+smp_fetch_ssl_fc_unique_id(unsigned int opt, const struct arg *args, struct sample *smp,
+ const char *kw, void *private)
{
#if OPENSSL_VERSION_NUMBER > 0x0090800fL
int back_conn = (kw[4] == 'b') ? 1 : 0;
@@ -3873,7 +3873,7 @@
smp->flags = 0;
- conn = objt_conn(strm->si[back_conn].end);
+ conn = objt_conn(smp->strm->si[back_conn].end);
if (!conn || !conn->xprt_ctx || conn->xprt != &ssl_sock)
return 0;
@@ -3903,12 +3903,12 @@
/* integer, returns the first verify error in CA chain of client certificate chain. */
static int
-smp_fetch_ssl_c_ca_err(struct proxy *px, struct session *sess, struct stream *strm, unsigned int opt,
- const struct arg *args, struct sample *smp, const char *kw, void *private)
+smp_fetch_ssl_c_ca_err(unsigned int opt, const struct arg *args, struct sample *smp,
+ const char *kw, void *private)
{
struct connection *conn;
- conn = objt_conn(sess->origin);
+ conn = objt_conn(smp->sess->origin);
if (!conn || conn->xprt != &ssl_sock)
return 0;
@@ -3926,12 +3926,12 @@
/* integer, returns the depth of the first verify error in CA chain of client certificate chain. */
static int
-smp_fetch_ssl_c_ca_err_depth(struct proxy *px, struct session *sess, struct stream *strm, unsigned int opt,
- const struct arg *args, struct sample *smp, const char *kw, void *private)
+smp_fetch_ssl_c_ca_err_depth(unsigned int opt, const struct arg *args, struct sample *smp,
+ const char *kw, void *private)
{
struct connection *conn;
- conn = objt_conn(sess->origin);
+ conn = objt_conn(smp->sess->origin);
if (!conn || conn->xprt != &ssl_sock)
return 0;
@@ -3949,12 +3949,12 @@
/* integer, returns the first verify error on client certificate */
static int
-smp_fetch_ssl_c_err(struct proxy *px, struct session *sess, struct stream *strm, unsigned int opt,
- const struct arg *args, struct sample *smp, const char *kw, void *private)
+smp_fetch_ssl_c_err(unsigned int opt, const struct arg *args, struct sample *smp,
+ const char *kw, void *private)
{
struct connection *conn;
- conn = objt_conn(sess->origin);
+ conn = objt_conn(smp->sess->origin);
if (!conn || conn->xprt != &ssl_sock)
return 0;
@@ -3972,12 +3972,12 @@
/* integer, returns the verify result on client cert */
static int
-smp_fetch_ssl_c_verify(struct proxy *px, struct session *sess, struct stream *strm, unsigned int opt,
- const struct arg *args, struct sample *smp, const char *kw, void *private)
+smp_fetch_ssl_c_verify(unsigned int opt, const struct arg *args, struct sample *smp,
+ const char *kw, void *private)
{
struct connection *conn;
- conn = objt_conn(sess->origin);
+ conn = objt_conn(smp->sess->origin);
if (!conn || conn->xprt != &ssl_sock)
return 0;