int readcfgfile(const char *file);
void cfg_register_keywords(struct cfg_kw_list *kwl);
void cfg_unregister_keywords(struct cfg_kw_list *kwl);
-void init_default_instance();
int check_config_validity();
int str2listener(char *str, struct proxy *curproxy, struct bind_conf *bind_conf, const char *file, int line, char **err);
int str2receiver(char *str, struct proxy *curproxy, struct bind_conf *bind_conf, const char *file, int line, char **err);
struct server *findserver(const struct proxy *px, const char *name);
int proxy_cfg_ensure_no_http(struct proxy *curproxy);
void init_new_proxy(struct proxy *p);
+void proxy_preset_defaults(struct proxy *defproxy);
int get_backend_server(const char *bk_name, const char *sv_name,
struct proxy **bk, struct server **sv);
void proxy_capture_error(struct proxy *proxy, int is_back,
deinit_proxy_tcpcheck(&defproxy);
/* we cannot free uri_auth because it might already be used */
- init_default_instance();
+ init_new_proxy(&defproxy);
+ proxy_preset_defaults(&defproxy);
curproxy = &defproxy;
curproxy->conf.args.file = curproxy->conf.file = strdup(file);
curproxy->conf.args.line = curproxy->conf.line = linenum;
}
#endif
-void init_default_instance()
-{
- init_new_proxy(&defproxy);
- defproxy.mode = PR_MODE_TCP;
- defproxy.disabled = 0;
- defproxy.maxconn = cfg_maxpconn;
- defproxy.conn_retries = CONN_RETRIES;
- defproxy.redispatch_after = 0;
- defproxy.options = PR_O_REUSE_SAFE;
- defproxy.max_out_conns = MAX_SRV_LIST;
-
- defproxy.defsrv.check.inter = DEF_CHKINTR;
- defproxy.defsrv.check.fastinter = 0;
- defproxy.defsrv.check.downinter = 0;
- defproxy.defsrv.agent.inter = DEF_CHKINTR;
- defproxy.defsrv.agent.fastinter = 0;
- defproxy.defsrv.agent.downinter = 0;
- defproxy.defsrv.check.rise = DEF_RISETIME;
- defproxy.defsrv.check.fall = DEF_FALLTIME;
- defproxy.defsrv.agent.rise = DEF_AGENT_RISETIME;
- defproxy.defsrv.agent.fall = DEF_AGENT_FALLTIME;
- defproxy.defsrv.check.port = 0;
- defproxy.defsrv.agent.port = 0;
- defproxy.defsrv.maxqueue = 0;
- defproxy.defsrv.minconn = 0;
- defproxy.defsrv.maxconn = 0;
- defproxy.defsrv.max_reuse = -1;
- defproxy.defsrv.max_idle_conns = -1;
- defproxy.defsrv.pool_purge_delay = 5000;
- defproxy.defsrv.slowstart = 0;
- defproxy.defsrv.onerror = DEF_HANA_ONERR;
- defproxy.defsrv.consecutive_errors_limit = DEF_HANA_ERRLIMIT;
- defproxy.defsrv.uweight = defproxy.defsrv.iweight = 1;
-
- defproxy.email_alert.level = LOG_ALERT;
- defproxy.load_server_state_from_file = PR_SRV_STATE_FILE_UNSPEC;
-#if defined(USE_QUIC)
- quic_transport_params_init(&defproxy.defsrv.quic_params, 0);
-#endif
-
-}
-
/* Allocate and initialize the frontend of a "peers" section found in
* file <file> at line <linenum> with <id> as ID.
* Return 0 if succeeded, -1 if not.
global.maxsock = 10; /* reserve 10 fds ; will be incremented by socket eaters */
- init_default_instance();
+ init_new_proxy(&defproxy);
+ proxy_preset_defaults(&defproxy);
/* in wait mode, we don't try to read the configuration files */
if (!(global.mode & MODE_MWORKER_WAIT)) {
HA_RWLOCK_INIT(&p->lock);
}
+/* Preset default settings onto proxy <defproxy>. */
+void proxy_preset_defaults(struct proxy *defproxy)
+{
+ defproxy->mode = PR_MODE_TCP;
+ defproxy->disabled = 0;
+ defproxy->maxconn = cfg_maxpconn;
+ defproxy->conn_retries = CONN_RETRIES;
+ defproxy->redispatch_after = 0;
+ defproxy->options = PR_O_REUSE_SAFE;
+ defproxy->max_out_conns = MAX_SRV_LIST;
+
+ defproxy->defsrv.check.inter = DEF_CHKINTR;
+ defproxy->defsrv.check.fastinter = 0;
+ defproxy->defsrv.check.downinter = 0;
+ defproxy->defsrv.agent.inter = DEF_CHKINTR;
+ defproxy->defsrv.agent.fastinter = 0;
+ defproxy->defsrv.agent.downinter = 0;
+ defproxy->defsrv.check.rise = DEF_RISETIME;
+ defproxy->defsrv.check.fall = DEF_FALLTIME;
+ defproxy->defsrv.agent.rise = DEF_AGENT_RISETIME;
+ defproxy->defsrv.agent.fall = DEF_AGENT_FALLTIME;
+ defproxy->defsrv.check.port = 0;
+ defproxy->defsrv.agent.port = 0;
+ defproxy->defsrv.maxqueue = 0;
+ defproxy->defsrv.minconn = 0;
+ defproxy->defsrv.maxconn = 0;
+ defproxy->defsrv.max_reuse = -1;
+ defproxy->defsrv.max_idle_conns = -1;
+ defproxy->defsrv.pool_purge_delay = 5000;
+ defproxy->defsrv.slowstart = 0;
+ defproxy->defsrv.onerror = DEF_HANA_ONERR;
+ defproxy->defsrv.consecutive_errors_limit = DEF_HANA_ERRLIMIT;
+ defproxy->defsrv.uweight = defproxy->defsrv.iweight = 1;
+
+ defproxy->email_alert.level = LOG_ALERT;
+ defproxy->load_server_state_from_file = PR_SRV_STATE_FILE_UNSPEC;
+#if defined(USE_QUIC)
+ quic_transport_params_init(&defproxy->defsrv.quic_params, 0);
+#endif
+}
+
/* to be called under the proxy lock after stopping some listeners. This will
* automatically update the p->disabled flag after stopping the last one, and
* will emit a log indicating the proxy's condition. The function is idempotent
#endif
/* please don't put default server settings here, they are set in
- * init_default_instance().
+ * proxy_preset_defaults().
*/
return srv;
}