} perm;
char *interface; /* interface name or NULL */
int maxseg; /* for TCP, advertised MSS */
+
+ struct {
+ const char *file; /* file where the section appears */
+ int line; /* line where the section appears */
+ } conf; /* config information */
};
/* This structure contains all information needed to easily handle a protocol.
int no_options2; /* PR_O2_* */
struct pxcounters counters; /* statistics counters */
+
+ struct {
+ const char *file; /* file where the section appears */
+ int line; /* line where the section appears */
+ } conf; /* config information */
};
struct switching_rule {
int puid; /* proxy-unique server ID, used for SNMP */
struct srvcounters counters; /* statistics counters */
+
+ struct {
+ const char *file; /* file where the section appears */
+ int line; /* line where the section appears */
+ } conf; /* config information */
};
curproxy->next = proxy;
proxy = curproxy;
+ curproxy->conf.file = file;
+ curproxy->conf.line = linenum;
LIST_INIT(&curproxy->pendconns);
LIST_INIT(&curproxy->acl);
LIST_INIT(&curproxy->block_cond);
/* parse the listener address if any */
if ((curproxy->cap & PR_CAP_FE) && *args[2]) {
+ struct listener *new, *last = curproxy->listen;
if (!str2listener(args[2], curproxy)) {
err_code |= ERR_FATAL;
goto out;
}
+ new = curproxy->listen;
+ while (new != last) {
+ new->conf.file = file;
+ new->conf.line = linenum;
+ new = new->next;
+ }
global.maxsock++;
}
/* Now let's parse the proxy-specific keywords */
if (!strcmp(args[0], "bind")) { /* new listen addresses */
- struct listener *last_listen;
+ struct listener *new_listen, *last_listen;
int cur_arg;
if (curproxy == &defproxy) {
goto out;
}
+ new_listen = curproxy->listen;
+ while (new_listen != last_listen) {
+ new_listen->conf.file = file;
+ new_listen->conf.line = linenum;
+ new_listen = new_listen->next;
+ }
+
cur_arg = 2;
while (*(args[cur_arg])) {
if (!strcmp(args[cur_arg], "interface")) { /* specifically bind to this interface */
curproxy->srv = newsrv;
newsrv->proxy = curproxy;
newsrv->puid = curproxy->next_svid++;
+ newsrv->conf.file = file;
+ newsrv->conf.line = linenum;
LIST_INIT(&newsrv->pendconns);
do_check = 0;