[master] f23d3944b Somewhere along the way we lost the "long description" of the feature bits. Merge it into "short description" (which can be longer now), reorder features and improve messages.

Poul-Henning Kamp phk at FreeBSD.org
Tue Jun 9 08:59:07 UTC 2020

commit f23d3944b78104b4fec6ee743451d297efaf0a93
Author: Poul-Henning Kamp <phk at FreeBSD.org>
Date:   Tue Jun 9 08:57:41 2020 +0000

    Somewhere along the way we lost the "long description" of the
    feature bits.  Merge it into "short description" (which can be
    longer now), reorder features and improve messages.

diff --git a/bin/varnishd/common/common_param.h b/bin/varnishd/common/common_param.h
index 6d1630c2e..5896bde0a 100644
--- a/bin/varnishd/common/common_param.h
+++ b/bin/varnishd/common/common_param.h
@@ -53,7 +53,7 @@ COM_DO_DEBUG(const volatile uint8_t *p, enum debug_bits x)
 enum feature_bits {
-#define FEATURE_BIT(U, l, d, ld) FEATURE_##U,
+#define FEATURE_BIT(U, l, d) FEATURE_##U,
 #include "tbl/feature_bits.h"
diff --git a/bin/varnishd/mgt/mgt_param_bits.c b/bin/varnishd/mgt/mgt_param_bits.c
index cf39ee027..61edab2e4 100644
--- a/bin/varnishd/mgt/mgt_param_bits.c
+++ b/bin/varnishd/mgt/mgt_param_bits.c
@@ -208,7 +208,7 @@ tweak_debug(struct vsb *vsb, const struct parspec *par, const char *arg)
 static const char * const feature_tags[] = {
-#  define FEATURE_BIT(U, l, d, ld) [FEATURE_##U] = #l,
+#  define FEATURE_BIT(U, l, d) [FEATURE_##U] = #l,
 #  include "tbl/feature_bits.h"
@@ -275,7 +275,7 @@ struct parspec VSL_parspec[] = {
 		"Enable/Disable various minor features.\n"
 		"\tnone\tDisable all features.\n\n"
 		"Use +/- prefix to enable/disable individual feature:"
-#define FEATURE_BIT(U, l, d, ld) "\n\t" #l "\t" d
+#define FEATURE_BIT(U, l, d) "\n\t" #l "\t" d
 #include "tbl/feature_bits.h"
diff --git a/include/tbl/feature_bits.h b/include/tbl/feature_bits.h
index 042240f3c..2f314cfb2 100644
--- a/include/tbl/feature_bits.h
+++ b/include/tbl/feature_bits.h
@@ -33,56 +33,45 @@
 /*lint -save -e525 -e539 */
-    "Short panic message.",
-    "Reduce level of detail for panic messages."
+    "Enable HTTP/2 protocol support."
-FEATURE_BIT(WAIT_SILO,			wait_silo,
-    "Wait for persistent silo.",
-    "Wait for persistent silos to load completely before serving requests."
+    "Short panic message."
-    "No coredumps.",
-    "Don't attempt to coredump child process on panics."
+    "No coredumps.  Must be set before child process starts."
-FEATURE_BIT(ESI_IGNORE_HTTPS,		esi_ignore_https,
-    "Treat HTTPS as HTTP in ESI:includes",
-    "Convert <esi:include src\"https://... to http://..."
+    "Extract host from full URI in the HTTP/1 request line, if the scheme is https."
-FEATURE_BIT(ESI_DISABLE_XML_CHECK,	esi_disable_xml_check,
-    "Don't check of body looks like XML",
-    "Allow ESI processing on any kind of object"
+FEATURE_BIT(HTTP_DATE_POSTEL,	http_date_postel,
+    "Tolerate non compliant timestamp headers "
+    "like `Date`, `Last-Modified`, `Expires` etc."
-FEATURE_BIT(ESI_IGNORE_OTHER_ELEMENTS,	esi_ignore_other_elements,
-    "Ignore non-esi XML-elements",
-    "Allows syntax errors in the XML"
+FEATURE_BIT(ESI_IGNORE_HTTPS,		esi_ignore_https,
+    "Convert `<esi:include src\"https://...` to `http://...`"
-FEATURE_BIT(ESI_REMOVE_BOM,		esi_remove_bom,
-    "Remove UTF-8 BOM",
-    "Remove UTF-8 BOM from front of object."
-    "Ignore and remove the UTF-8 BOM (0xeb 0xbb 0xbf) from front of object."
+FEATURE_BIT(ESI_DISABLE_XML_CHECK,	esi_disable_xml_check,
+    "Allow ESI processing on non-XML ESI bodies"
-    "Also split https URIs",
-    "Extract host from full URI in the request line if the scheme is https."
+FEATURE_BIT(ESI_IGNORE_OTHER_ELEMENTS,	esi_ignore_other_elements,
+    "Ignore XML syntax errors in ESI bodies."
-    "Support HTTP/2 protocol",
-    "Enable HTTP/2 protocol support."
+FEATURE_BIT(ESI_REMOVE_BOM,		esi_remove_bom,
+    "Ignore UTF-8 BOM in ESI bodies."
-FEATURE_BIT(HTTP_DATE_POSTEL,	http_date_postel,
-    "Relax parsing of timestamps in HTTP headers",
-    "Tolerate non standards conforming variations of timestamp headers"
-    "like Date:, Last-Modified:, Expires: etc."
+FEATURE_BIT(WAIT_SILO,			wait_silo,
+    "Wait for persistent silos to completely load before serving requests."

More information about the varnish-commit mailing list