varnishd: Support "-b None" argument

for "backend default none;"

Ref #3067
parent 75d56fe1
...@@ -102,6 +102,7 @@ usage(void) ...@@ -102,6 +102,7 @@ usage(void)
printf(FMT, "", "Proto can be \"PROXY\" or \"HTTP\" (default)"); printf(FMT, "", "Proto can be \"PROXY\" or \"HTTP\" (default)");
printf(FMT, "", "user, group and mode set permissions for"); printf(FMT, "", "user, group and mode set permissions for");
printf(FMT, "", " a Unix domain socket."); printf(FMT, "", " a Unix domain socket.");
printf(FMT, "-b none", "No backend");
printf(FMT, "-b [addr[:port]|path]", "Backend address and port"); printf(FMT, "-b [addr[:port]|path]", "Backend address and port");
printf(FMT, "", " or socket file path"); printf(FMT, "", " or socket file path");
printf(FMT, "", " default: \":80\""); printf(FMT, "", " default: \":80\"");
...@@ -626,14 +627,15 @@ main(int argc, char * const *argv) ...@@ -626,14 +627,15 @@ main(int argc, char * const *argv)
vsb = VSB_new_auto(); vsb = VSB_new_auto();
AN(vsb); AN(vsb);
VSB_cat(vsb, "vcl 4.1;\n"); VSB_cat(vsb, "vcl 4.1;\n");
VSB_cat(vsb, "backend default {\n"); VSB_cat(vsb, "backend default ");
if (*optarg != '/') if (! strcasecmp(optarg, "none"))
VSB_printf(vsb, " .host = \"%s\";\n", VSB_cat(vsb, "none;\n");
optarg); else if (*optarg != '/')
VSB_printf(vsb, "{\n .host = \"%s\";\n}\n",
optarg);
else else
VSB_printf(vsb, " .path = \"%s\";\n", VSB_printf(vsb, "{\n .path = \"%s\";\n}\n",
optarg); optarg);
VSB_cat(vsb, "}\n");
AZ(VSB_finish(vsb)); AZ(VSB_finish(vsb));
fa->src = strdup(VSB_data(vsb)); fa->src = strdup(VSB_data(vsb));
AN(fa->src); AN(fa->src);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment