[master] 953da35 Also decorate listensock's with a protocol name we can use.
Poul-Henning Kamp
phk at FreeBSD.org
Mon Mar 23 08:46:40 CET 2015
commit 953da35369e781f987d34898a1a44f51cdc5c9d5
Author: Poul-Henning Kamp <phk at FreeBSD.org>
Date: Thu Mar 19 15:15:04 2015 +0000
Also decorate listensock's with a protocol name we can use.
diff --git a/bin/varnishd/cache/cache_acceptor.c b/bin/varnishd/cache/cache_acceptor.c
index 6d7c9c2..c8ef147 100644
--- a/bin/varnishd/cache/cache_acceptor.c
+++ b/bin/varnishd/cache/cache_acceptor.c
@@ -296,6 +296,8 @@ vca_make_session(struct worker *wrk, void *arg)
struct wrk_accept *wa;
struct sockaddr_storage ss;
struct suckaddr *sa;
+ enum sess_step first_step;
+ const char *proto_name;
socklen_t sl;
char laddr[VTCP_ADDRBUFSIZE];
char lport[VTCP_PORTBUFSIZE];
@@ -305,6 +307,8 @@ vca_make_session(struct worker *wrk, void *arg)
CHECK_OBJ_NOTNULL(wrk, WORKER_MAGIC);
CAST_OBJ_NOTNULL(wa, arg, WRK_ACCEPT_MAGIC);
pp = wa->sesspool;
+ first_step = wa->acceptlsock->first_step;
+ proto_name = wa->acceptlsock->proto_name;
/* Turn accepted socket into a session */
AN(wrk->aws->r);
@@ -348,7 +352,7 @@ vca_make_session(struct worker *wrk, void *arg)
VTCP_name(sa, laddr, sizeof laddr, lport, sizeof lport);
- VSL(SLT_Begin, sp->vxid, "sess 0 HTTP/1");
+ VSL(SLT_Begin, sp->vxid, "sess 0 %s", proto_name);
VSL(SLT_SessOpen, sp->vxid, "%s %s %s %s %s %.6f %d",
raddr, rport, wa->acceptlsock->name, laddr, lport,
sp->t_open, sp->fd);
@@ -363,6 +367,8 @@ vca_make_session(struct worker *wrk, void *arg)
need_test = 0;
}
vca_tcp_opt_set(sp->fd, 0);
+
+ assert(first_step == S_STP_H1NEWSESS);
/* SES_sess_pool_task() must be sceduled with reserved WS */
assert(8 == WS_Reserve(sp->ws, 8));
wrk->task.func = SES_sess_pool_task;
diff --git a/bin/varnishd/common/heritage.h b/bin/varnishd/common/heritage.h
index c8f857b..05f340a 100644
--- a/bin/varnishd/common/heritage.h
+++ b/bin/varnishd/common/heritage.h
@@ -40,6 +40,7 @@ struct listen_sock {
const char *name;
const struct suckaddr *addr;
enum sess_step first_step;
+ const char *proto_name;
};
VTAILQ_HEAD(listen_sock_head, listen_sock);
diff --git a/bin/varnishd/mgt/mgt_acceptor.c b/bin/varnishd/mgt/mgt_acceptor.c
index 318d215..238d351 100644
--- a/bin/varnishd/mgt/mgt_acceptor.c
+++ b/bin/varnishd/mgt/mgt_acceptor.c
@@ -133,6 +133,7 @@ mac_callback(void *priv, const struct suckaddr *sa)
ls->sock = -1;
ls->addr = sa;
ls->first_step = S_STP_H1NEWSESS;
+ ls->proto_name = "HTTP/1";
fail = mac_opensocket(ls, NULL);
if (ls->sock < 0) {
*(mh->err) = strerror(fail);
More information about the varnish-commit
mailing list