MINOR: proxy: define cap PR_CAP_LUA

Define a new cap PR_CAP_LUA. It can be used to allocate the internal
proxy for lua Socket class. This cap overrides default settings for
preferable values in the lua context.
diff --git a/include/haproxy/proxy-t.h b/include/haproxy/proxy-t.h
index 009a7bd..e8e2385 100644
--- a/include/haproxy/proxy-t.h
+++ b/include/haproxy/proxy-t.h
@@ -68,6 +68,7 @@
 #define PR_CAP_BE      0x0002
 #define PR_CAP_LISTEN  (PR_CAP_FE|PR_CAP_BE)
 #define PR_CAP_DEF     0x0004           /* defaults section */
+#define PR_CAP_LUA     0x0008           /* internal proxy used by lua engine */
 
 /* bits for proxy->options */
 #define PR_O_REDISP     0x00000001      /* allow reconnection to dispatch in case of errors */
diff --git a/src/proxy.c b/src/proxy.c
index 1541b63..335bbaf 100644
--- a/src/proxy.c
+++ b/src/proxy.c
@@ -1342,10 +1342,14 @@
 {
 	defproxy->mode = PR_MODE_TCP;
 	defproxy->disabled = 0;
-	defproxy->maxconn = cfg_maxpconn;
-	defproxy->conn_retries = CONN_RETRIES;
+	if (!(defproxy->cap & PR_CAP_LUA)) {
+		defproxy->maxconn = cfg_maxpconn;
+		defproxy->conn_retries = CONN_RETRIES;
+	}
 	defproxy->redispatch_after = 0;
 	defproxy->options = PR_O_REUSE_SAFE;
+	if (defproxy->cap & PR_CAP_LUA)
+		defproxy->options2 |= PR_O2_INDEPSTR;
 	defproxy->max_out_conns = MAX_SRV_LIST;
 
 	defproxy->defsrv.check.inter = DEF_CHKINTR;
@@ -1376,6 +1380,9 @@
 #if defined(USE_QUIC)
 	quic_transport_params_init(&defproxy->defsrv.quic_params, 0);
 #endif
+
+	if (defproxy->cap & PR_CAP_LUA)
+		defproxy->timeout.connect = 5000;
 }
 
 /* Frees all dynamic settings allocated on a default proxy that's about to be
@@ -1470,7 +1477,9 @@
 	curproxy->last_change = now.tv_sec;
 	curproxy->id = strdup(name);
 	curproxy->cap = cap;
-	proxy_store_name(curproxy);
+
+	if (!(cap & PR_CAP_LUA))
+		proxy_store_name(curproxy);
 
  done:
 	return curproxy;