[
https://issues.apache.org/jira/browse/TS-4457?focusedWorklogId=30037&page=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-30037
]
ASF GitHub Bot logged work on TS-4457:
--------------------------------------
Author: ASF GitHub Bot
Created on: 30/Sep/16 20:53
Start Date: 30/Sep/16 20:53
Worklog Time Spent: 10m
Work Description: Github user ericcarlschwartz commented on a diff in the
pull request:
https://github.com/apache/trafficserver/pull/1066#discussion_r81416047
--- Diff: proxy/http/HttpTransactHeaders.cc ---
@@ -812,26 +813,16 @@
HttpTransactHeaders::insert_via_header_in_response(HttpTransact::State *s, HTTPH
}
char *incoming_via = s->via_string;
- int scheme = s->next_hop_scheme;
+ ink_assert(s->state_machine);
- ink_assert(scheme >= 0);
- int scheme_len = hdrtoken_index_to_length(scheme);
- int32_t hversion = header->version_get().m_version;
-
- memcpy(via_string, hdrtoken_index_to_wks(scheme), scheme_len);
- via_string += scheme_len;
-
- // Common case (I hope?)
- if ((HTTP_MAJOR(hversion) == 1) && HTTP_MINOR(hversion) == 1) {
- memcpy(via_string, "/1.1 ", 5);
- via_string += 5;
- } else {
- *via_string++ = '/';
- *via_string++ = '0' + HTTP_MAJOR(hversion);
- *via_string++ = '.';
- *via_string++ = '0' + HTTP_MINOR(hversion);
+ char const *proto_buf[10]; // 10 seems like a reasonable number of
protos to print
+ int retval = s->state_machine->populate_client_protocol(proto_buf, 10);
+ for (int i = 0; i < retval; i++) {
+ memcpy(via_string, proto_buf[i], strlen(proto_buf[i]));
--- End diff --
so for http2 we get five entries, the largest of which is six chars. i
guess it could be possible to get more in some far off future and we should
plan for that. i think limiting the stack size would be a better approach if we
want to prevent the string from getting too long
Issue Time Tracking
-------------------
Worklog Id: (was: 30037)
Time Spent: 4h 50m (was: 4h 40m)
> Via header always reports http1
> -------------------------------
>
> Key: TS-4457
> URL: https://issues.apache.org/jira/browse/TS-4457
> Project: Traffic Server
> Issue Type: Bug
> Reporter: Miles Libbey
> Assignee: Eric Schwartz
> Fix For: 7.1.0
>
> Time Spent: 4h 50m
> Remaining Estimate: 0h
>
> When using http2, the Via header says http1.1.
> $ curl -D- -o/dev/null -s "https://docs.trafficserver.apache.org/" | grep via
> via:http/1.1 ATS (ApacheTrafficServer/6.2.0 [cRs f ])
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)