mirror of
https://git.haproxy.org/git/haproxy.git/
synced 2025-09-22 22:31:28 +02:00
MINOR: log: use conn_get_{dst,src}() to retrieve the cli/frt/bck/srv/ addresses
This also allows us to check that the operation succeeded without logging whatever remained in the memory area in case of failure.
This commit is contained in:
parent
8dfffdb060
commit
8fa9984a17
20
src/log.c
20
src/log.c
@ -1904,7 +1904,7 @@ int sess_build_logline(struct session *sess, struct stream *s, char *dst, size_t
|
|||||||
struct proxy *be;
|
struct proxy *be;
|
||||||
struct http_txn *txn;
|
struct http_txn *txn;
|
||||||
const struct strm_logs *logs;
|
const struct strm_logs *logs;
|
||||||
const struct connection *be_conn;
|
struct connection *be_conn;
|
||||||
unsigned int s_flags;
|
unsigned int s_flags;
|
||||||
unsigned int uniq_id;
|
unsigned int uniq_id;
|
||||||
struct buffer chunk;
|
struct buffer chunk;
|
||||||
@ -2021,7 +2021,7 @@ int sess_build_logline(struct session *sess, struct stream *s, char *dst, size_t
|
|||||||
|
|
||||||
case LOG_FMT_CLIENTIP: // %ci
|
case LOG_FMT_CLIENTIP: // %ci
|
||||||
conn = objt_conn(sess->origin);
|
conn = objt_conn(sess->origin);
|
||||||
if (conn)
|
if (conn && conn_get_src(conn))
|
||||||
ret = lf_ip(tmplog, (struct sockaddr *)&conn->addr.from, dst + maxsize - tmplog, tmp);
|
ret = lf_ip(tmplog, (struct sockaddr *)&conn->addr.from, dst + maxsize - tmplog, tmp);
|
||||||
else
|
else
|
||||||
ret = lf_text_len(tmplog, NULL, 0, dst + maxsize - tmplog, tmp);
|
ret = lf_text_len(tmplog, NULL, 0, dst + maxsize - tmplog, tmp);
|
||||||
@ -2033,7 +2033,7 @@ int sess_build_logline(struct session *sess, struct stream *s, char *dst, size_t
|
|||||||
|
|
||||||
case LOG_FMT_CLIENTPORT: // %cp
|
case LOG_FMT_CLIENTPORT: // %cp
|
||||||
conn = objt_conn(sess->origin);
|
conn = objt_conn(sess->origin);
|
||||||
if (conn) {
|
if (conn && conn_get_src(conn)) {
|
||||||
if (conn->addr.from.ss_family == AF_UNIX) {
|
if (conn->addr.from.ss_family == AF_UNIX) {
|
||||||
ret = ltoa_o(sess->listener->luid, tmplog, dst + maxsize - tmplog);
|
ret = ltoa_o(sess->listener->luid, tmplog, dst + maxsize - tmplog);
|
||||||
} else {
|
} else {
|
||||||
@ -2052,8 +2052,7 @@ int sess_build_logline(struct session *sess, struct stream *s, char *dst, size_t
|
|||||||
|
|
||||||
case LOG_FMT_FRONTENDIP: // %fi
|
case LOG_FMT_FRONTENDIP: // %fi
|
||||||
conn = objt_conn(sess->origin);
|
conn = objt_conn(sess->origin);
|
||||||
if (conn) {
|
if (conn && conn_get_dst(conn)) {
|
||||||
conn_get_to_addr(conn);
|
|
||||||
ret = lf_ip(tmplog, (struct sockaddr *)&conn->addr.to, dst + maxsize - tmplog, tmp);
|
ret = lf_ip(tmplog, (struct sockaddr *)&conn->addr.to, dst + maxsize - tmplog, tmp);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
@ -2067,8 +2066,7 @@ int sess_build_logline(struct session *sess, struct stream *s, char *dst, size_t
|
|||||||
|
|
||||||
case LOG_FMT_FRONTENDPORT: // %fp
|
case LOG_FMT_FRONTENDPORT: // %fp
|
||||||
conn = objt_conn(sess->origin);
|
conn = objt_conn(sess->origin);
|
||||||
if (conn) {
|
if (conn && conn_get_dst(conn)) {
|
||||||
conn_get_to_addr(conn);
|
|
||||||
if (conn->addr.to.ss_family == AF_UNIX)
|
if (conn->addr.to.ss_family == AF_UNIX)
|
||||||
ret = ltoa_o(sess->listener->luid, tmplog, dst + maxsize - tmplog);
|
ret = ltoa_o(sess->listener->luid, tmplog, dst + maxsize - tmplog);
|
||||||
else
|
else
|
||||||
@ -2084,7 +2082,7 @@ int sess_build_logline(struct session *sess, struct stream *s, char *dst, size_t
|
|||||||
break;
|
break;
|
||||||
|
|
||||||
case LOG_FMT_BACKENDIP: // %bi
|
case LOG_FMT_BACKENDIP: // %bi
|
||||||
if (be_conn)
|
if (be_conn && conn_get_src(be_conn))
|
||||||
ret = lf_ip(tmplog, (const struct sockaddr *)&be_conn->addr.from, dst + maxsize - tmplog, tmp);
|
ret = lf_ip(tmplog, (const struct sockaddr *)&be_conn->addr.from, dst + maxsize - tmplog, tmp);
|
||||||
else
|
else
|
||||||
ret = lf_text_len(tmplog, NULL, 0, dst + maxsize - tmplog, tmp);
|
ret = lf_text_len(tmplog, NULL, 0, dst + maxsize - tmplog, tmp);
|
||||||
@ -2096,7 +2094,7 @@ int sess_build_logline(struct session *sess, struct stream *s, char *dst, size_t
|
|||||||
break;
|
break;
|
||||||
|
|
||||||
case LOG_FMT_BACKENDPORT: // %bp
|
case LOG_FMT_BACKENDPORT: // %bp
|
||||||
if (be_conn)
|
if (be_conn && conn_get_src(be_conn))
|
||||||
ret = lf_port(tmplog, (struct sockaddr *)&be_conn->addr.from, dst + maxsize - tmplog, tmp);
|
ret = lf_port(tmplog, (struct sockaddr *)&be_conn->addr.from, dst + maxsize - tmplog, tmp);
|
||||||
else
|
else
|
||||||
ret = lf_text_len(tmplog, NULL, 0, dst + maxsize - tmplog, tmp);
|
ret = lf_text_len(tmplog, NULL, 0, dst + maxsize - tmplog, tmp);
|
||||||
@ -2108,7 +2106,7 @@ int sess_build_logline(struct session *sess, struct stream *s, char *dst, size_t
|
|||||||
break;
|
break;
|
||||||
|
|
||||||
case LOG_FMT_SERVERIP: // %si
|
case LOG_FMT_SERVERIP: // %si
|
||||||
if (be_conn)
|
if (be_conn && conn_get_dst(be_conn))
|
||||||
ret = lf_ip(tmplog, (struct sockaddr *)&be_conn->addr.to, dst + maxsize - tmplog, tmp);
|
ret = lf_ip(tmplog, (struct sockaddr *)&be_conn->addr.to, dst + maxsize - tmplog, tmp);
|
||||||
else
|
else
|
||||||
ret = lf_text_len(tmplog, NULL, 0, dst + maxsize - tmplog, tmp);
|
ret = lf_text_len(tmplog, NULL, 0, dst + maxsize - tmplog, tmp);
|
||||||
@ -2120,7 +2118,7 @@ int sess_build_logline(struct session *sess, struct stream *s, char *dst, size_t
|
|||||||
break;
|
break;
|
||||||
|
|
||||||
case LOG_FMT_SERVERPORT: // %sp
|
case LOG_FMT_SERVERPORT: // %sp
|
||||||
if (be_conn)
|
if (be_conn && conn_get_dst(be_conn))
|
||||||
ret = lf_port(tmplog, (struct sockaddr *)&be_conn->addr.to, dst + maxsize - tmplog, tmp);
|
ret = lf_port(tmplog, (struct sockaddr *)&be_conn->addr.to, dst + maxsize - tmplog, tmp);
|
||||||
else
|
else
|
||||||
ret = lf_text_len(tmplog, NULL, 0, dst + maxsize - tmplog, tmp);
|
ret = lf_text_len(tmplog, NULL, 0, dst + maxsize - tmplog, tmp);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user