@@ -0,0 +1,48 @@
+--- bin/varnishncsa/varnishncsa.c.orig 2009-03-27 13:13:32.000000000 +0100
++++ bin/varnishncsa/varnishncsa.c 2009-12-18 17:17:11.000000000 +0100
+@@ -102,6 +102,7 @@
+
+ static size_t nll;
+ static int prefer_x_forwarded_for = 0;
++static int print_virtualhost = 0;
+
+ static int
+ isprefix(const char *str, const char *prefix, const char *end,
+@@ -400,6 +401,9 @@
+ fo = priv;
+
+ /* %h */
++ if (lp->df_Host && print_virtualhost)
++ fprintf(fo, "%s ", lp->df_Host);
++
+ if (!lp->df_h && spec & VSL_S_BACKEND)
+ fprintf(fo, "127.0.0.1 ");
+ else if (lp->df_X_Forwarded_For && prefer_x_forwarded_for)
+@@ -512,7 +516,7 @@
+ {
+
+ fprintf(stderr,
+- "usage: varnishncsa %s [-aDV] [-n varnish_name] "
++ "usage: varnishncsa %s [-aDvV] [-n varnish_name] "
+ "[-P file] [-w file]\n", VSL_USAGE);
+ exit(1);
+ }
+@@ -531,7 +535,7 @@
+
+ vd = VSL_New();
+
+- while ((c = getopt(argc, argv, VSL_ARGS "aDn:P:Vw:f")) != -1) {
++ while ((c = getopt(argc, argv, VSL_ARGS "aDn:P:Vw:fv")) != -1) {
+ switch (c) {
+ case 'a':
+ a_flag = 1;
+@@ -548,6 +552,9 @@
+ case 'P':
+ P_arg = optarg;
+ break;
++ case 'v':
++ print_virtualhost = 1;
++ break;
+ case 'V':
+ varnish_version("varnishncsa");
+ exit(0);
|