REORG: include: move log.h to haproxy/log{,-t}.h
The current state of the logging is a real mess. The main problem is that almost all files include log.h just in order to have access to the alert/warning functions like ha_alert() etc, and don't care about logs. But log.h also deals with real logging as well as log-format and depends on stream.h and various other things. As such it forces a few heavy files like stream.h to be loaded early and to hide missing dependencies depending where it's loaded. Among the missing ones is syslog.h which was often automatically included resulting in no less than 3 users missing it. Among 76 users, only 5 could be removed, and probably 70 don't need the full set of dependencies. A good approach would consist in splitting that file in 3 parts: - one for error output ("errors" ?). - one for log_format processing - and one for actual logging.
This commit is contained in:
parent
c6599682d5
commit
aeed4a85d6
@ -18,12 +18,12 @@
|
||||
|
||||
#include <haproxy/global.h>
|
||||
#include <haproxy/hlua.h>
|
||||
#include <haproxy/log.h>
|
||||
#include <haproxy/time.h>
|
||||
|
||||
#include <types/stream.h>
|
||||
|
||||
#include <haproxy/arg.h>
|
||||
#include <proto/log.h>
|
||||
#include <proto/spoe.h>
|
||||
|
||||
#include <api.h>
|
||||
|
@ -24,8 +24,7 @@
|
||||
|
||||
#include <haproxy/api.h>
|
||||
#include <haproxy/list-t.h>
|
||||
|
||||
#include <proto/log.h>
|
||||
#include <haproxy/log.h>
|
||||
#include <proto/proxy.h>
|
||||
|
||||
/* configuration sections */
|
||||
|
@ -27,6 +27,7 @@
|
||||
#include <haproxy/api.h>
|
||||
#include <haproxy/connection-t.h>
|
||||
#include <haproxy/fd.h>
|
||||
#include <haproxy/http_ana.h>
|
||||
#include <haproxy/listener-t.h>
|
||||
#include <haproxy/obj_type.h>
|
||||
#include <haproxy/pool.h>
|
||||
|
@ -74,6 +74,11 @@
|
||||
#define MAX_SYSLOG_LEN 1024
|
||||
#endif
|
||||
|
||||
/* 64kB to archive startup-logs seems way more than enough */
|
||||
#ifndef STARTUP_LOG_SIZE
|
||||
#define STARTUP_LOG_SIZE 65536
|
||||
#endif
|
||||
|
||||
// maximum line size when parsing config
|
||||
#ifndef LINESIZE
|
||||
#define LINESIZE 2048
|
||||
|
@ -1,34 +1,36 @@
|
||||
/*
|
||||
include/types/log.h
|
||||
This file contains definitions of log-related structures and macros.
|
||||
* include/haproxy/log-t.h
|
||||
* This file contains definitions of log-related structures and macros.
|
||||
*
|
||||
* Copyright (C) 2000-2020 Willy Tarreau - w@1wt.eu
|
||||
*
|
||||
* This library is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU Lesser General Public
|
||||
* License as published by the Free Software Foundation, version 2.1
|
||||
* exclusively.
|
||||
*
|
||||
* This library is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
* Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public
|
||||
* License along with this library; if not, write to the Free Software
|
||||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
*/
|
||||
|
||||
Copyright (C) 2000-2006 Willy Tarreau - w@1wt.eu
|
||||
|
||||
This library is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU Lesser General Public
|
||||
License as published by the Free Software Foundation, version 2.1
|
||||
exclusively.
|
||||
|
||||
This library is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
Lesser General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Lesser General Public
|
||||
License along with this library; if not, write to the Free Software
|
||||
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
*/
|
||||
|
||||
#ifndef _TYPES_LOG_H
|
||||
#define _TYPES_LOG_H
|
||||
#ifndef _HAPROXY_LOG_T_H
|
||||
#define _HAPROXY_LOG_T_H
|
||||
|
||||
#include <sys/socket.h>
|
||||
#include <sys/un.h>
|
||||
#include <netinet/in.h>
|
||||
#include <haproxy/api-t.h>
|
||||
#include <haproxy/thread.h>
|
||||
|
||||
#include <haproxy/list-t.h>
|
||||
#include <haproxy/ring-t.h>
|
||||
#include <haproxy/thread-t.h>
|
||||
#include <haproxy/api-t.h>
|
||||
|
||||
|
||||
#define NB_LOG_FACILITIES 24
|
||||
#define NB_LOG_LEVELS 8
|
||||
@ -36,13 +38,35 @@
|
||||
#define SYSLOG_PORT 514
|
||||
#define UNIQUEID_LEN 128
|
||||
|
||||
/* 64kB to archive startup-logs seems way more than enough */
|
||||
#ifndef STARTUP_LOG_SIZE
|
||||
#define STARTUP_LOG_SIZE 65536
|
||||
#endif
|
||||
/* flags used in logformat_node->options */
|
||||
#define LOG_OPT_HEXA 0x00000001
|
||||
#define LOG_OPT_MANDATORY 0x00000002
|
||||
#define LOG_OPT_QUOTE 0x00000004
|
||||
#define LOG_OPT_REQ_CAP 0x00000008
|
||||
#define LOG_OPT_RES_CAP 0x00000010
|
||||
#define LOG_OPT_HTTP 0x00000020
|
||||
#define LOG_OPT_ESC 0x00000040
|
||||
|
||||
|
||||
/* Fields that need to be extracted from the incoming connection or request for
|
||||
* logging or for sending specific header information. They're set in px->to_log
|
||||
* and appear as flags in session->logs.logwait, which are removed once the
|
||||
* required information has been collected.
|
||||
*/
|
||||
#define LW_INIT 1 /* anything */
|
||||
#define LW_CLIP 2 /* CLient IP */
|
||||
#define LW_SVIP 4 /* SerVer IP */
|
||||
#define LW_SVID 8 /* server ID */
|
||||
#define LW_REQ 16 /* http REQuest */
|
||||
#define LW_RESP 32 /* http RESPonse */
|
||||
#define LW_BYTES 256 /* bytes read from server */
|
||||
#define LW_COOKIE 512 /* captured cookie */
|
||||
#define LW_REQHDR 1024 /* request header(s) */
|
||||
#define LW_RSPHDR 2048 /* response header(s) */
|
||||
#define LW_BCKIP 4096 /* backend IP */
|
||||
#define LW_FRTIP 8192 /* frontend IP */
|
||||
#define LW_XPRT 16384 /* transport layer information (eg: SSL) */
|
||||
|
||||
/* The array containing the names of the log levels. */
|
||||
extern const char *log_levels[];
|
||||
|
||||
/* enum for log format */
|
||||
enum {
|
||||
@ -60,7 +84,7 @@ enum log_tgt {
|
||||
LOG_TARGET_BUFFER, // ring buffer
|
||||
};
|
||||
|
||||
/* lists of fields that can be logged */
|
||||
/* lists of fields that can be logged, for logformat_node->type */
|
||||
enum {
|
||||
|
||||
LOG_FMT_TEXT = 0, /* raw text */
|
||||
@ -156,34 +180,6 @@ struct logformat_node {
|
||||
void *expr; // for use with LOG_FMT_EXPR
|
||||
};
|
||||
|
||||
#define LOG_OPT_HEXA 0x00000001
|
||||
#define LOG_OPT_MANDATORY 0x00000002
|
||||
#define LOG_OPT_QUOTE 0x00000004
|
||||
#define LOG_OPT_REQ_CAP 0x00000008
|
||||
#define LOG_OPT_RES_CAP 0x00000010
|
||||
#define LOG_OPT_HTTP 0x00000020
|
||||
#define LOG_OPT_ESC 0x00000040
|
||||
|
||||
|
||||
/* Fields that need to be extracted from the incoming connection or request for
|
||||
* logging or for sending specific header information. They're set in px->to_log
|
||||
* and appear as flags in session->logs.logwait, which are removed once the
|
||||
* required information has been collected.
|
||||
*/
|
||||
#define LW_INIT 1 /* anything */
|
||||
#define LW_CLIP 2 /* CLient IP */
|
||||
#define LW_SVIP 4 /* SerVer IP */
|
||||
#define LW_SVID 8 /* server ID */
|
||||
#define LW_REQ 16 /* http REQuest */
|
||||
#define LW_RESP 32 /* http RESPonse */
|
||||
#define LW_BYTES 256 /* bytes read from server */
|
||||
#define LW_COOKIE 512 /* captured cookie */
|
||||
#define LW_REQHDR 1024 /* request header(s) */
|
||||
#define LW_RSPHDR 2048 /* response header(s) */
|
||||
#define LW_BCKIP 4096 /* backend IP */
|
||||
#define LW_FRTIP 8192 /* frontend IP */
|
||||
#define LW_XPRT 16384 /* transport layer information (eg: SSL) */
|
||||
|
||||
/* Range of indexes for log sampling. */
|
||||
struct smp_log_range {
|
||||
unsigned int low; /* Low limit of the indexes of this range. */
|
||||
@ -223,7 +219,7 @@ struct logsrv {
|
||||
__decl_thread(HA_SPINLOCK_T lock);
|
||||
};
|
||||
|
||||
#endif /* _TYPES_LOG_H */
|
||||
#endif /* _HAPROXY_LOG_T_H */
|
||||
|
||||
/*
|
||||
* Local variables:
|
@ -1,44 +1,40 @@
|
||||
/*
|
||||
include/proto/log.h
|
||||
This file contains definitions of log-related functions, structures,
|
||||
and macros.
|
||||
* include/haproxy/log.h
|
||||
* This file contains definitions of log-related functions.
|
||||
*
|
||||
* Copyright (C) 2000-2020 Willy Tarreau - w@1wt.eu
|
||||
*
|
||||
* This library is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU Lesser General Public
|
||||
* License as published by the Free Software Foundation, version 2.1
|
||||
* exclusively.
|
||||
*
|
||||
* This library is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
* Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public
|
||||
* License along with this library; if not, write to the Free Software
|
||||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
*/
|
||||
|
||||
Copyright (C) 2000-2008 Willy Tarreau - w@1wt.eu
|
||||
|
||||
This library is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU Lesser General Public
|
||||
License as published by the Free Software Foundation, version 2.1
|
||||
exclusively.
|
||||
#ifndef _HAPROXY_LOG_H
|
||||
#define _HAPROXY_LOG_H
|
||||
|
||||
This library is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
Lesser General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Lesser General Public
|
||||
License along with this library; if not, write to the Free Software
|
||||
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
*/
|
||||
|
||||
#ifndef _PROTO_LOG_H
|
||||
#define _PROTO_LOG_H
|
||||
|
||||
#include <stdio.h>
|
||||
#include <syslog.h>
|
||||
|
||||
#include <haproxy/api.h>
|
||||
#include <haproxy/pool.h>
|
||||
#include <haproxy/log-t.h>
|
||||
#include <haproxy/pool-t.h>
|
||||
#include <haproxy/thread-t.h>
|
||||
|
||||
#include <types/log.h>
|
||||
#include <types/proxy.h>
|
||||
#include <types/stream.h>
|
||||
|
||||
#include <proto/stream.h>
|
||||
#include <types/proxy.h>
|
||||
|
||||
extern struct pool_head *pool_head_requri;
|
||||
extern struct pool_head *pool_head_uniqueid;
|
||||
|
||||
extern const char *log_levels[];
|
||||
extern char *log_format;
|
||||
extern char default_tcp_log_format[];
|
||||
extern char default_http_log_format[];
|
||||
@ -54,32 +50,13 @@ extern THREAD_LOCAL char *logline;
|
||||
extern THREAD_LOCAL char *logline_rfc5424;
|
||||
|
||||
|
||||
/*
|
||||
* Test if <idx> index numbered from 0 is in <rg> range with low and high
|
||||
* limits of indexes numbered from 1.
|
||||
*/
|
||||
static inline int in_smp_log_range(struct smp_log_range *rg, unsigned int idx)
|
||||
{
|
||||
if (idx + 1 <= rg->high && idx + 1 >= rg->low)
|
||||
return 1;
|
||||
return 0;
|
||||
}
|
||||
|
||||
/* Initialize/Deinitialize log buffers used for syslog messages */
|
||||
int init_log_buffers();
|
||||
void deinit_log_buffers();
|
||||
|
||||
/*
|
||||
* Builds a log line.
|
||||
*/
|
||||
/* build a log line for the session and an optional stream */
|
||||
int sess_build_logline(struct session *sess, struct stream *s, char *dst, size_t maxsize, struct list *list_format);
|
||||
|
||||
static inline int build_logline(struct stream *s, char *dst, size_t maxsize, struct list *list_format)
|
||||
{
|
||||
return sess_build_logline(strm_sess(s), s, dst, maxsize, list_format);
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* send a log for the stream when we have enough info about it.
|
||||
* Will not log if the frontend has no log defined.
|
||||
@ -191,7 +168,26 @@ char *update_log_hdr(const time_t time);
|
||||
char * get_format_pid_sep1(int format, size_t *len);
|
||||
char * get_format_pid_sep2(int format, size_t *len);
|
||||
|
||||
#endif /* _PROTO_LOG_H */
|
||||
/*
|
||||
* Test if <idx> index numbered from 0 is in <rg> range with low and high
|
||||
* limits of indexes numbered from 1.
|
||||
*/
|
||||
static inline int in_smp_log_range(struct smp_log_range *rg, unsigned int idx)
|
||||
{
|
||||
if (idx + 1 <= rg->high && idx + 1 >= rg->low)
|
||||
return 1;
|
||||
return 0;
|
||||
}
|
||||
|
||||
/*
|
||||
* Builds a log line for the stream (must be valid).
|
||||
*/
|
||||
static inline int build_logline(struct stream *s, char *dst, size_t maxsize, struct list *list_format)
|
||||
{
|
||||
return sess_build_logline(strm_sess(s), s, dst, maxsize, list_format);
|
||||
}
|
||||
|
||||
#endif /* _HAPROXY_LOG_H */
|
||||
|
||||
/*
|
||||
* Local variables:
|
@ -29,7 +29,6 @@
|
||||
#include <haproxy/thread-t.h>
|
||||
#include <haproxy/tools.h>
|
||||
#include <haproxy/trace-t.h>
|
||||
#include <types/log.h>
|
||||
|
||||
/* Make a string from the location of the trace producer as "file:line" */
|
||||
#define TRC_LOC _TRC_LOC(__FILE__, __LINE__)
|
||||
|
@ -27,13 +27,13 @@
|
||||
#include <haproxy/applet-t.h>
|
||||
#include <haproxy/api.h>
|
||||
#include <haproxy/dns-t.h>
|
||||
#include <haproxy/task.h>
|
||||
#include <haproxy/time.h>
|
||||
#include <types/proxy.h>
|
||||
#include <types/queue.h>
|
||||
#include <types/server.h>
|
||||
|
||||
#include <proto/queue.h>
|
||||
#include <proto/log.h>
|
||||
#include <haproxy/freq_ctr.h>
|
||||
|
||||
|
||||
|
@ -43,7 +43,6 @@
|
||||
#include <haproxy/acl-t.h>
|
||||
#include <types/backend.h>
|
||||
#include <haproxy/freq_ctr-t.h>
|
||||
#include <types/log.h>
|
||||
#include <haproxy/sample-t.h>
|
||||
#include <types/server.h>
|
||||
#include <haproxy/stick_table-t.h>
|
||||
|
@ -30,7 +30,6 @@
|
||||
#include <haproxy/thread.h>
|
||||
|
||||
#include <haproxy/freq_ctr-t.h>
|
||||
#include <types/log.h>
|
||||
#include <types/proxy.h>
|
||||
#include <haproxy/sample-t.h>
|
||||
#include <types/stream.h>
|
||||
|
@ -8,10 +8,10 @@
|
||||
#include <haproxy/http_ana.h>
|
||||
#include <haproxy/http_fetch.h>
|
||||
#include <haproxy/http_htx.h>
|
||||
#include <haproxy/log.h>
|
||||
#include <haproxy/thread.h>
|
||||
#include <haproxy/global.h>
|
||||
#include <haproxy/arg.h>
|
||||
#include <proto/log.h>
|
||||
#include <haproxy/sample.h>
|
||||
#include <import/xxhash.h>
|
||||
#include <import/lru.h>
|
||||
|
@ -18,13 +18,13 @@
|
||||
#include <haproxy/auth.h>
|
||||
#include <haproxy/api.h>
|
||||
#include <haproxy/list.h>
|
||||
#include <haproxy/log.h>
|
||||
#include <haproxy/pattern.h>
|
||||
#include <haproxy/tools.h>
|
||||
|
||||
#include <haproxy/global.h>
|
||||
|
||||
#include <haproxy/arg.h>
|
||||
#include <proto/log.h>
|
||||
#include <proto/proxy.h>
|
||||
#include <haproxy/sample.h>
|
||||
#include <haproxy/stick_table.h>
|
||||
|
@ -15,10 +15,10 @@
|
||||
#include <haproxy/obj_type.h>
|
||||
#include <haproxy/pool.h>
|
||||
#include <haproxy/list.h>
|
||||
#include <haproxy/log.h>
|
||||
#include <haproxy/task.h>
|
||||
#include <haproxy/tools.h>
|
||||
|
||||
#include <proto/log.h>
|
||||
#include <proto/proxy.h>
|
||||
#include <haproxy/stick_table.h>
|
||||
|
||||
|
@ -29,11 +29,10 @@
|
||||
#include <haproxy/api.h>
|
||||
#include <haproxy/global.h>
|
||||
#include <haproxy/errors.h>
|
||||
#include <haproxy/log.h>
|
||||
#include <haproxy/pattern-t.h>
|
||||
#include <haproxy/thread.h>
|
||||
|
||||
#include <proto/log.h>
|
||||
|
||||
struct userlist *userlist = NULL; /* list of all existing userlists */
|
||||
|
||||
#ifdef USE_LIBCRYPT
|
||||
|
@ -34,6 +34,7 @@
|
||||
#include <haproxy/lb_fwlc.h>
|
||||
#include <haproxy/lb_fwrr.h>
|
||||
#include <haproxy/lb_map.h>
|
||||
#include <haproxy/log.h>
|
||||
#include <haproxy/obj_type.h>
|
||||
#include <haproxy/payload.h>
|
||||
#include <haproxy/session.h>
|
||||
@ -48,7 +49,6 @@
|
||||
|
||||
#include <haproxy/arg.h>
|
||||
#include <proto/backend.h>
|
||||
#include <proto/log.h>
|
||||
#include <haproxy/protocol.h>
|
||||
#include <haproxy/proto_tcp.h>
|
||||
#include <proto/proxy.h>
|
||||
|
@ -18,6 +18,7 @@
|
||||
#include <haproxy/http_ana.h>
|
||||
#include <haproxy/http_htx.h>
|
||||
#include <haproxy/http_rules.h>
|
||||
#include <haproxy/log.h>
|
||||
#include <haproxy/shctx.h>
|
||||
#include <haproxy/stream_interface.h>
|
||||
#include <import/eb32tree.h>
|
||||
@ -26,7 +27,6 @@
|
||||
#include <types/proxy.h>
|
||||
|
||||
#include <proto/proxy.h>
|
||||
#include <proto/log.h>
|
||||
#include <proto/stream.h>
|
||||
|
||||
|
||||
|
@ -55,6 +55,7 @@
|
||||
#include <haproxy/lb_fwrr.h>
|
||||
#include <haproxy/lb_map.h>
|
||||
#include <haproxy/listener.h>
|
||||
#include <haproxy/log.h>
|
||||
#include <haproxy/mailers-t.h>
|
||||
#include <haproxy/obj_type-t.h>
|
||||
#include <haproxy/peers-t.h>
|
||||
@ -71,7 +72,6 @@
|
||||
#include <haproxy/global.h>
|
||||
|
||||
#include <proto/backend.h>
|
||||
#include <proto/log.h>
|
||||
#include <haproxy/protocol.h>
|
||||
#include <proto/proxy.h>
|
||||
#include <haproxy/peers.h>
|
||||
|
@ -46,6 +46,7 @@
|
||||
#include <haproxy/http_htx.h>
|
||||
#include <haproxy/h1.h>
|
||||
#include <haproxy/htx.h>
|
||||
#include <haproxy/log.h>
|
||||
#include <haproxy/signal.h>
|
||||
#include <haproxy/ssl_sock.h>
|
||||
#include <haproxy/stats-t.h>
|
||||
@ -58,14 +59,12 @@
|
||||
#include <haproxy/arg.h>
|
||||
#include <proto/backend.h>
|
||||
#include <haproxy/fd.h>
|
||||
#include <proto/log.h>
|
||||
#include <proto/queue.h>
|
||||
#include <haproxy/port_range.h>
|
||||
#include <haproxy/proto_tcp.h>
|
||||
#include <haproxy/protocol.h>
|
||||
#include <proto/proxy.h>
|
||||
#include <proto/server.h>
|
||||
#include <proto/log.h>
|
||||
#include <haproxy/proto_udp.h>
|
||||
#include <haproxy/sample.h>
|
||||
|
||||
|
@ -36,6 +36,7 @@
|
||||
#include <haproxy/frontend.h>
|
||||
#include <haproxy/list.h>
|
||||
#include <haproxy/listener.h>
|
||||
#include <haproxy/log.h>
|
||||
#include <haproxy/mworker-t.h>
|
||||
#include <haproxy/pattern-t.h>
|
||||
#include <haproxy/peers.h>
|
||||
@ -57,7 +58,6 @@
|
||||
#include <haproxy/compression.h>
|
||||
#include <haproxy/fd.h>
|
||||
#include <haproxy/freq_ctr.h>
|
||||
#include <proto/log.h>
|
||||
#include <haproxy/pipe.h>
|
||||
#include <haproxy/protocol.h>
|
||||
#include <proto/proxy.h>
|
||||
|
2
src/da.c
2
src/da.c
@ -8,9 +8,9 @@
|
||||
#include <haproxy/http_fetch.h>
|
||||
#include <haproxy/http_htx.h>
|
||||
#include <haproxy/htx.h>
|
||||
#include <haproxy/log.h>
|
||||
#include <haproxy/global.h>
|
||||
#include <haproxy/arg.h>
|
||||
#include <proto/log.h>
|
||||
#include <haproxy/sample.h>
|
||||
#include <dac.h>
|
||||
|
||||
|
@ -16,6 +16,7 @@
|
||||
#include <time.h>
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <syslog.h>
|
||||
#include <sys/types.h>
|
||||
#include <sys/wait.h>
|
||||
|
||||
@ -24,6 +25,7 @@
|
||||
#include <haproxy/cli.h>
|
||||
#include <haproxy/debug.h>
|
||||
#include <haproxy/hlua.h>
|
||||
#include <haproxy/log.h>
|
||||
#include <haproxy/stream_interface.h>
|
||||
#include <haproxy/task.h>
|
||||
#include <haproxy/thread.h>
|
||||
|
@ -28,6 +28,7 @@
|
||||
#include <haproxy/dns.h>
|
||||
#include <haproxy/errors.h>
|
||||
#include <haproxy/http_rules.h>
|
||||
#include <haproxy/log.h>
|
||||
#include <haproxy/sample.h>
|
||||
#include <haproxy/stats-t.h>
|
||||
#include <haproxy/stream_interface.h>
|
||||
@ -41,7 +42,6 @@
|
||||
#include <haproxy/global.h>
|
||||
|
||||
#include <haproxy/fd.h>
|
||||
#include <proto/log.h>
|
||||
#include <proto/server.h>
|
||||
#include <haproxy/proto_udp.h>
|
||||
#include <proto/proxy.h>
|
||||
|
@ -28,7 +28,6 @@
|
||||
|
||||
#include <haproxy/activity.h>
|
||||
#include <haproxy/fd.h>
|
||||
#include <proto/log.h>
|
||||
|
||||
/*
|
||||
* Private data:
|
||||
|
@ -19,6 +19,7 @@
|
||||
#include <haproxy/filters.h>
|
||||
#include <haproxy/http_fetch.h>
|
||||
#include <haproxy/http_htx.h>
|
||||
#include <haproxy/log.h>
|
||||
#include <haproxy/regex.h>
|
||||
#include <haproxy/sample.h>
|
||||
#include <haproxy/session.h>
|
||||
@ -26,7 +27,6 @@
|
||||
|
||||
#include <haproxy/global.h>
|
||||
|
||||
#include <proto/log.h>
|
||||
#include <proto/proxy.h>
|
||||
#include <proto/server.h>
|
||||
|
||||
|
1
src/fd.c
1
src/fd.c
@ -92,7 +92,6 @@
|
||||
#include <haproxy/global.h>
|
||||
|
||||
#include <haproxy/fd.h>
|
||||
#include <proto/log.h>
|
||||
#include <haproxy/port_range.h>
|
||||
|
||||
struct fdtab *fdtab = NULL; /* array of all the file descriptors */
|
||||
|
@ -19,6 +19,7 @@
|
||||
#include <haproxy/filters.h>
|
||||
#include <haproxy/frontend.h>
|
||||
#include <haproxy/http_rules.h>
|
||||
#include <haproxy/log.h>
|
||||
#include <haproxy/sample.h>
|
||||
#include <haproxy/signal.h>
|
||||
#include <haproxy/thread.h>
|
||||
@ -37,7 +38,6 @@
|
||||
#include <haproxy/arg.h>
|
||||
#include <proto/backend.h>
|
||||
#include <haproxy/freq_ctr.h>
|
||||
#include <proto/log.h>
|
||||
#include <proto/proxy.h>
|
||||
#include <proto/spoe.h>
|
||||
#include <proto/stream.h>
|
||||
|
@ -18,6 +18,7 @@
|
||||
#include <haproxy/http_ana-t.h>
|
||||
#include <haproxy/http_htx.h>
|
||||
#include <haproxy/htx.h>
|
||||
#include <haproxy/log.h>
|
||||
#include <haproxy/tools.h>
|
||||
#include <haproxy/time.h>
|
||||
|
||||
@ -25,7 +26,6 @@
|
||||
#include <types/proxy.h>
|
||||
#include <types/stream.h>
|
||||
|
||||
#include <proto/log.h>
|
||||
#include <proto/stream.h>
|
||||
|
||||
const char *trace_flt_id = "trace filter";
|
||||
|
@ -27,6 +27,7 @@
|
||||
#include <haproxy/chunk.h>
|
||||
#include <haproxy/frontend.h>
|
||||
#include <haproxy/http_ana.h>
|
||||
#include <haproxy/log.h>
|
||||
#include <haproxy/sample.h>
|
||||
#include <haproxy/stream_interface.h>
|
||||
#include <haproxy/task.h>
|
||||
@ -37,7 +38,6 @@
|
||||
|
||||
#include <haproxy/arg.h>
|
||||
#include <haproxy/fd.h>
|
||||
#include <proto/log.h>
|
||||
#include <haproxy/proto_tcp.h>
|
||||
#include <proto/proxy.h>
|
||||
#include <proto/stream.h>
|
||||
|
@ -97,6 +97,7 @@
|
||||
#include <haproxy/pool.h>
|
||||
#include <haproxy/list.h>
|
||||
#include <haproxy/listener.h>
|
||||
#include <haproxy/log.h>
|
||||
#include <haproxy/mworker.h>
|
||||
#include <haproxy/namespace.h>
|
||||
#include <haproxy/net_helper.h>
|
||||
@ -123,7 +124,6 @@
|
||||
#include <haproxy/arg.h>
|
||||
#include <proto/backend.h>
|
||||
#include <haproxy/fd.h>
|
||||
#include <proto/log.h>
|
||||
#include <haproxy/protocol.h>
|
||||
#include <proto/proxy.h>
|
||||
#include <proto/queue.h>
|
||||
|
@ -21,6 +21,7 @@
|
||||
#include <haproxy/cli-t.h>
|
||||
#include <haproxy/hlua-t.h>
|
||||
#include <haproxy/http.h>
|
||||
#include <haproxy/log.h>
|
||||
#include <haproxy/net_helper.h>
|
||||
#include <haproxy/regex.h>
|
||||
#include <haproxy/stats.h>
|
||||
|
@ -38,7 +38,6 @@
|
||||
#include <haproxy/capture-t.h>
|
||||
|
||||
#include <haproxy/arg.h>
|
||||
#include <proto/log.h>
|
||||
|
||||
/* Release memory allocated by most of HTTP actions. Concretly, it releases
|
||||
* <arg.http>.
|
||||
|
@ -22,6 +22,7 @@
|
||||
#include <haproxy/http_ana.h>
|
||||
#include <haproxy/http_htx.h>
|
||||
#include <haproxy/htx.h>
|
||||
#include <haproxy/log.h>
|
||||
#include <haproxy/net_helper.h>
|
||||
#include <haproxy/regex.h>
|
||||
#include <haproxy/stats.h>
|
||||
@ -31,7 +32,6 @@
|
||||
|
||||
#include <haproxy/capture-t.h>
|
||||
|
||||
#include <proto/log.h>
|
||||
#include <proto/proxy.h>
|
||||
#include <proto/server.h>
|
||||
#include <proto/stream.h>
|
||||
|
@ -37,7 +37,6 @@
|
||||
#include <haproxy/version.h>
|
||||
|
||||
#include <haproxy/arg.h>
|
||||
#include <proto/log.h>
|
||||
#include <proto/stream.h>
|
||||
|
||||
|
||||
|
@ -26,6 +26,7 @@
|
||||
#include <haproxy/global.h>
|
||||
#include <haproxy/list.h>
|
||||
#include <haproxy/listener.h>
|
||||
#include <haproxy/log.h>
|
||||
#include <haproxy/task.h>
|
||||
#include <haproxy/tools.h>
|
||||
#include <haproxy/time.h>
|
||||
@ -34,7 +35,6 @@
|
||||
|
||||
#include <haproxy/fd.h>
|
||||
#include <haproxy/freq_ctr.h>
|
||||
#include <proto/log.h>
|
||||
#include <haproxy/protocol.h>
|
||||
#include <haproxy/proto_sockpair.h>
|
||||
#include <haproxy/sample.h>
|
||||
|
@ -29,6 +29,7 @@
|
||||
#include <haproxy/cli.h>
|
||||
#include <haproxy/frontend.h>
|
||||
#include <haproxy/http.h>
|
||||
#include <haproxy/log.h>
|
||||
#include <haproxy/ssl_sock.h>
|
||||
#include <haproxy/stream_interface.h>
|
||||
#include <haproxy/tools.h>
|
||||
@ -36,10 +37,8 @@
|
||||
#include <haproxy/version.h>
|
||||
|
||||
#include <haproxy/global.h>
|
||||
#include <types/log.h>
|
||||
|
||||
#include <haproxy/fd.h>
|
||||
#include <proto/log.h>
|
||||
#include <haproxy/ring.h>
|
||||
#include <haproxy/sample.h>
|
||||
#include <haproxy/sink.h>
|
||||
|
@ -23,7 +23,6 @@
|
||||
#include <haproxy/tools.h>
|
||||
|
||||
#include <haproxy/arg.h>
|
||||
#include <proto/log.h>
|
||||
#include <haproxy/sample.h>
|
||||
|
||||
/* Parse an IPv4 or IPv6 address and store it into the sample.
|
||||
|
@ -21,6 +21,7 @@
|
||||
#include <haproxy/htx.h>
|
||||
#include <import/ist.h>
|
||||
#include <haproxy/list.h>
|
||||
#include <haproxy/log.h>
|
||||
#include <haproxy/net_helper.h>
|
||||
#include <haproxy/regex.h>
|
||||
#include <haproxy/session-t.h>
|
||||
@ -29,7 +30,6 @@
|
||||
|
||||
#include <types/proxy.h>
|
||||
|
||||
#include <proto/log.h>
|
||||
#include <proto/stream.h>
|
||||
#include <haproxy/trace.h>
|
||||
|
||||
|
@ -24,7 +24,7 @@
|
||||
#include <types/proxy.h>
|
||||
|
||||
#include <haproxy/http_htx.h>
|
||||
#include <proto/log.h>
|
||||
#include <haproxy/log.h>
|
||||
#include <haproxy/session-t.h>
|
||||
#include <proto/stream.h>
|
||||
#include <haproxy/stream_interface.h>
|
||||
|
@ -23,9 +23,9 @@
|
||||
#include <haproxy/api.h>
|
||||
#include <common/cfgparse.h>
|
||||
#include <haproxy/errors.h>
|
||||
#include <haproxy/log.h>
|
||||
#include <haproxy/mworker.h>
|
||||
|
||||
#include <proto/log.h>
|
||||
|
||||
static int use_program = 0; /* do we use the program section ? */
|
||||
|
||||
|
@ -22,6 +22,7 @@
|
||||
#include <haproxy/cli.h>
|
||||
#include <haproxy/list.h>
|
||||
#include <haproxy/listener.h>
|
||||
#include <haproxy/log.h>
|
||||
#include <haproxy/mworker.h>
|
||||
#include <haproxy/peers.h>
|
||||
#include <haproxy/signal.h>
|
||||
@ -31,7 +32,6 @@
|
||||
#include <haproxy/global.h>
|
||||
|
||||
#include <haproxy/fd.h>
|
||||
#include <proto/log.h>
|
||||
#include <proto/proxy.h>
|
||||
#include <proto/stream.h>
|
||||
|
||||
|
@ -14,8 +14,8 @@
|
||||
#include <haproxy/namespace.h>
|
||||
#include <haproxy/hash.h>
|
||||
#include <haproxy/errors.h>
|
||||
#include <haproxy/log.h>
|
||||
#include <haproxy/signal.h>
|
||||
#include <proto/log.h>
|
||||
|
||||
/* Opens the namespace <ns_name> and returns the FD or -1 in case of error
|
||||
* (check errno).
|
||||
|
@ -16,12 +16,12 @@
|
||||
|
||||
#include <haproxy/api.h>
|
||||
#include <haproxy/global.h>
|
||||
#include <haproxy/log.h>
|
||||
#include <haproxy/net_helper.h>
|
||||
#include <haproxy/pattern.h>
|
||||
#include <haproxy/regex.h>
|
||||
#include <haproxy/tools.h>
|
||||
|
||||
#include <proto/log.h>
|
||||
#include <haproxy/sample.h>
|
||||
|
||||
#include <import/ebsttree.h>
|
||||
|
@ -26,6 +26,7 @@
|
||||
#include <haproxy/cli.h>
|
||||
#include <haproxy/dict.h>
|
||||
#include <haproxy/frontend.h>
|
||||
#include <haproxy/log.h>
|
||||
#include <haproxy/net_helper.h>
|
||||
#include <haproxy/obj_type-t.h>
|
||||
#include <haproxy/peers.h>
|
||||
@ -39,7 +40,6 @@
|
||||
#include <haproxy/thread.h>
|
||||
|
||||
#include <haproxy/fd.h>
|
||||
#include <proto/log.h>
|
||||
#include <proto/proxy.h>
|
||||
#include <proto/stream.h>
|
||||
#include <haproxy/stick_table.h>
|
||||
|
@ -21,13 +21,13 @@
|
||||
#include <haproxy/thread.h>
|
||||
#include <haproxy/pool.h>
|
||||
#include <haproxy/list.h>
|
||||
#include <haproxy/log.h>
|
||||
#include <haproxy/stats-t.h>
|
||||
#include <haproxy/stream_interface.h>
|
||||
#include <haproxy/tools.h>
|
||||
|
||||
#include <haproxy/activity-t.h>
|
||||
|
||||
#include <proto/log.h>
|
||||
|
||||
#ifdef CONFIG_HAP_LOCAL_POOLS
|
||||
/* These are the most common pools, expected to be initialized first. These
|
||||
|
@ -32,13 +32,13 @@
|
||||
#include <haproxy/global.h>
|
||||
#include <haproxy/list.h>
|
||||
#include <haproxy/listener.h>
|
||||
#include <haproxy/log.h>
|
||||
#include <haproxy/tools.h>
|
||||
#include <haproxy/time.h>
|
||||
#include <haproxy/version.h>
|
||||
|
||||
#include <haproxy/fd.h>
|
||||
#include <haproxy/freq_ctr.h>
|
||||
#include <proto/log.h>
|
||||
#include <haproxy/protocol.h>
|
||||
|
||||
static void sockpair_add_listener(struct listener *listener, int port);
|
||||
|
@ -39,6 +39,7 @@
|
||||
#include <haproxy/http_rules.h>
|
||||
#include <haproxy/list.h>
|
||||
#include <haproxy/listener.h>
|
||||
#include <haproxy/log.h>
|
||||
#include <haproxy/sample.h>
|
||||
#include <haproxy/tools.h>
|
||||
#include <haproxy/namespace.h>
|
||||
@ -47,7 +48,6 @@
|
||||
|
||||
#include <haproxy/arg.h>
|
||||
#include <haproxy/fd.h>
|
||||
#include <proto/log.h>
|
||||
#include <haproxy/port_range.h>
|
||||
#include <haproxy/protocol.h>
|
||||
#include <haproxy/proto_tcp.h>
|
||||
|
@ -32,12 +32,12 @@
|
||||
#include <haproxy/global.h>
|
||||
#include <haproxy/list.h>
|
||||
#include <haproxy/listener.h>
|
||||
#include <haproxy/log.h>
|
||||
#include <haproxy/tools.h>
|
||||
#include <haproxy/time.h>
|
||||
#include <haproxy/version.h>
|
||||
|
||||
#include <haproxy/fd.h>
|
||||
#include <proto/log.h>
|
||||
#include <haproxy/protocol.h>
|
||||
|
||||
static int uxst_bind_listener(struct listener *listener, char *errmsg, int errlen);
|
||||
|
@ -26,6 +26,7 @@
|
||||
#include <haproxy/global.h>
|
||||
#include <haproxy/http_ana.h>
|
||||
#include <haproxy/listener.h>
|
||||
#include <haproxy/log.h>
|
||||
#include <haproxy/obj_type-t.h>
|
||||
#include <haproxy/peers.h>
|
||||
#include <haproxy/pool.h>
|
||||
@ -41,7 +42,6 @@
|
||||
|
||||
#include <proto/backend.h>
|
||||
#include <haproxy/fd.h>
|
||||
#include <proto/log.h>
|
||||
#include <haproxy/proto_tcp.h>
|
||||
#include <proto/proxy.h>
|
||||
#include <proto/server.h>
|
||||
|
@ -26,6 +26,7 @@
|
||||
#include <haproxy/buf.h>
|
||||
#include <haproxy/connection.h>
|
||||
#include <haproxy/global.h>
|
||||
#include <haproxy/log.h>
|
||||
#include <haproxy/stream_interface.h>
|
||||
#include <haproxy/tools.h>
|
||||
#include <haproxy/ticks.h>
|
||||
@ -33,7 +34,6 @@
|
||||
|
||||
#include <haproxy/fd.h>
|
||||
#include <haproxy/freq_ctr.h>
|
||||
#include <proto/log.h>
|
||||
#include <haproxy/pipe.h>
|
||||
|
||||
|
||||
|
@ -15,9 +15,9 @@
|
||||
#include <string.h>
|
||||
|
||||
#include <haproxy/api.h>
|
||||
#include <haproxy/log.h>
|
||||
#include <haproxy/regex.h>
|
||||
#include <haproxy/tools.h>
|
||||
#include <proto/log.h>
|
||||
|
||||
/* regex trash buffer used by various regex tests */
|
||||
THREAD_LOCAL regmatch_t pmatch[MAX_MATCH]; /* rm_so, rm_eo for regular expressions */
|
||||
|
@ -24,6 +24,7 @@
|
||||
#include <haproxy/global.h>
|
||||
#include <haproxy/hash.h>
|
||||
#include <haproxy/http.h>
|
||||
#include <haproxy/log.h>
|
||||
#include <haproxy/net_helper.h>
|
||||
#include <haproxy/protobuf.h>
|
||||
#include <haproxy/regex.h>
|
||||
@ -34,7 +35,6 @@
|
||||
#include <haproxy/base64.h>
|
||||
|
||||
#include <haproxy/arg.h>
|
||||
#include <proto/log.h>
|
||||
#include <proto/proxy.h>
|
||||
#include <haproxy/sink.h>
|
||||
#include <haproxy/stick_table.h>
|
||||
|
@ -15,12 +15,12 @@
|
||||
#include <haproxy/global.h>
|
||||
#include <haproxy/http.h>
|
||||
#include <haproxy/listener.h>
|
||||
#include <haproxy/log.h>
|
||||
#include <haproxy/pool.h>
|
||||
#include <haproxy/session.h>
|
||||
#include <haproxy/tcp_rules.h>
|
||||
#include <haproxy/vars.h>
|
||||
|
||||
#include <proto/log.h>
|
||||
#include <proto/proxy.h>
|
||||
#include <proto/stream.h>
|
||||
|
||||
|
@ -13,9 +13,9 @@
|
||||
#include <signal.h>
|
||||
#include <string.h>
|
||||
|
||||
#include <haproxy/log.h>
|
||||
#include <haproxy/task.h>
|
||||
#include <haproxy/signal.h>
|
||||
#include <proto/log.h>
|
||||
|
||||
/* Principle : we keep an in-order list of the first occurrence of all received
|
||||
* signals. All occurrences of a same signal are grouped though. The signal
|
||||
|
@ -23,8 +23,8 @@
|
||||
#include <haproxy/cli.h>
|
||||
#include <import/ist.h>
|
||||
#include <haproxy/list.h>
|
||||
#include <haproxy/log.h>
|
||||
#include <haproxy/time.h>
|
||||
#include <proto/log.h>
|
||||
#include <haproxy/ring.h>
|
||||
#include <haproxy/signal.h>
|
||||
#include <haproxy/sink.h>
|
||||
|
@ -16,6 +16,7 @@
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
#include <syslog.h>
|
||||
#include <unistd.h>
|
||||
|
||||
#include <sys/stat.h>
|
||||
|
@ -12,6 +12,7 @@
|
||||
#include <errno.h>
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
#include <syslog.h>
|
||||
#include <sys/stat.h>
|
||||
#include <sys/types.h>
|
||||
|
||||
|
@ -53,6 +53,7 @@
|
||||
#include <haproxy/frontend.h>
|
||||
#include <haproxy/global.h>
|
||||
#include <haproxy/http_rules.h>
|
||||
#include <haproxy/log.h>
|
||||
#include <haproxy/openssl-compat.h>
|
||||
#include <haproxy/pattern-t.h>
|
||||
#include <haproxy/shctx.h>
|
||||
@ -77,7 +78,6 @@
|
||||
#include <haproxy/freq_ctr.h>
|
||||
#include <haproxy/proto_tcp.h>
|
||||
#include <proto/server.h>
|
||||
#include <proto/log.h>
|
||||
#include <proto/proxy.h>
|
||||
#include <proto/stream.h>
|
||||
|
||||
|
@ -41,6 +41,7 @@
|
||||
#include <haproxy/pool.h>
|
||||
#include <haproxy/list.h>
|
||||
#include <haproxy/listener.h>
|
||||
#include <haproxy/log.h>
|
||||
#include <haproxy/map-t.h>
|
||||
#include <haproxy/pattern-t.h>
|
||||
#include <haproxy/session.h>
|
||||
@ -58,7 +59,6 @@
|
||||
#include <proto/backend.h>
|
||||
#include <haproxy/fd.h>
|
||||
#include <haproxy/freq_ctr.h>
|
||||
#include <proto/log.h>
|
||||
#include <haproxy/pipe.h>
|
||||
#include <proto/proxy.h>
|
||||
#include <proto/stream.h>
|
||||
|
@ -21,6 +21,7 @@
|
||||
#include <haproxy/http_rules.h>
|
||||
#include <haproxy/pool.h>
|
||||
#include <haproxy/list.h>
|
||||
#include <haproxy/log.h>
|
||||
#include <haproxy/net_helper.h>
|
||||
#include <haproxy/peers.h>
|
||||
#include <haproxy/stats-t.h>
|
||||
@ -34,7 +35,6 @@
|
||||
#include <import/ebsttree.h>
|
||||
|
||||
#include <haproxy/arg.h>
|
||||
#include <proto/log.h>
|
||||
#include <haproxy/proto_tcp.h>
|
||||
#include <proto/proxy.h>
|
||||
#include <haproxy/sample.h>
|
||||
|
@ -36,6 +36,7 @@
|
||||
#include <haproxy/istbuf.h>
|
||||
#include <haproxy/thread.h>
|
||||
#include <haproxy/htx.h>
|
||||
#include <haproxy/log.h>
|
||||
#include <haproxy/pool.h>
|
||||
#include <haproxy/session.h>
|
||||
#include <haproxy/stats-t.h>
|
||||
@ -49,7 +50,6 @@
|
||||
#include <proto/backend.h>
|
||||
#include <haproxy/fd.h>
|
||||
#include <haproxy/freq_ctr.h>
|
||||
#include <proto/log.h>
|
||||
#include <proto/stream.h>
|
||||
#include <haproxy/pipe.h>
|
||||
#include <proto/proxy.h>
|
||||
|
@ -18,6 +18,7 @@
|
||||
#include <haproxy/connection.h>
|
||||
#include <haproxy/global.h>
|
||||
#include <haproxy/list.h>
|
||||
#include <haproxy/log.h>
|
||||
#include <haproxy/sample.h>
|
||||
#include <haproxy/stream_interface.h>
|
||||
#include <haproxy/tcp_rules.h>
|
||||
@ -27,7 +28,6 @@
|
||||
|
||||
#include <haproxy/arg-t.h>
|
||||
|
||||
#include <proto/log.h>
|
||||
#include <proto/proxy.h>
|
||||
#include <haproxy/stick_table.h>
|
||||
#include <proto/stream.h>
|
||||
|
@ -24,7 +24,7 @@
|
||||
#include <haproxy/cli.h>
|
||||
#include <haproxy/istbuf.h>
|
||||
#include <haproxy/list.h>
|
||||
#include <proto/log.h>
|
||||
#include <haproxy/log.h>
|
||||
#include <haproxy/sink.h>
|
||||
#include <haproxy/trace.h>
|
||||
|
||||
|
@ -15,10 +15,10 @@
|
||||
|
||||
#include <haproxy/api.h>
|
||||
#include <haproxy/base64.h>
|
||||
#include <haproxy/log.h>
|
||||
#include <haproxy/stats-t.h>
|
||||
#include <haproxy/uri_auth.h>
|
||||
|
||||
#include <proto/log.h>
|
||||
|
||||
/*
|
||||
* Initializes a basic uri_auth structure header and returns a pointer to it.
|
||||
|
@ -15,9 +15,9 @@
|
||||
#include <haproxy/api.h>
|
||||
#include <haproxy/debug.h>
|
||||
#include <haproxy/global.h>
|
||||
#include <haproxy/log.h>
|
||||
#include <haproxy/thread.h>
|
||||
#include <haproxy/tools.h>
|
||||
#include <proto/log.h>
|
||||
|
||||
|
||||
/*
|
||||
|
@ -10,8 +10,8 @@
|
||||
#include <haproxy/http_ana.h>
|
||||
#include <haproxy/http_fetch.h>
|
||||
#include <haproxy/http_htx.h>
|
||||
#include <haproxy/log.h>
|
||||
#include <haproxy/arg.h>
|
||||
#include <proto/log.h>
|
||||
#include <haproxy/sample.h>
|
||||
#include <import/ebsttree.h>
|
||||
#include <import/ebmbtree.h>
|
||||
|
Loading…
x
Reference in New Issue
Block a user