Traffic Server
  1. Traffic Server
  2. TS-1077

HTTP ports cannot be configured for IPv6 and transparency.

    Details

      Description

      The syntax of records.config has IPv6 and transparency as mutually exclusive options. This should be changed.

      1. ts-1077.diff
        156 kB
        Alan M. Carroll
      2. ts-1077.txt
        7 kB
        Alan M. Carroll

        Issue Links

          Activity

          Hide
          Alan M. Carroll added a comment - - edited

          New style:

          Provide a single string value in records.config for the configuration of HTTP ports,

          proxy.config.http.server_ports

          It is a list of space/comma separated values. Each value is a colon separated list of keys. The keys are
          [number] Port.
          ipv6 IPv6
          ipv4 IPv4
          tr-in Inbound transparent.
          tr-out Outbound transparent.
          tr-full Full transparency.
          ssl SSL termination.
          ip-in=XXX Set the inbound local (listening) IP address.
          ip-out=XXX Set the outbound local (to server) IP address. This can be used twice, once for IPv4 and once for IPv6.

          This is not only simpler for users but is easily extensible by adding additional keywords. It also unifies the -A and -httpport options (there's no longer any difference in the argument formats or meaning). The internal logic is also unified across Server and between Server and Manager. It should also be fully backwards compatible and old versions should continue to work as expected.

          Show
          Alan M. Carroll added a comment - - edited New style: Provide a single string value in records.config for the configuration of HTTP ports, proxy.config.http.server_ports It is a list of space/comma separated values. Each value is a colon separated list of keys. The keys are [number] Port. ipv6 IPv6 ipv4 IPv4 tr-in Inbound transparent. tr-out Outbound transparent. tr-full Full transparency. ssl SSL termination. ip-in=XXX Set the inbound local (listening) IP address. ip-out=XXX Set the outbound local (to server) IP address. This can be used twice, once for IPv4 and once for IPv6. This is not only simpler for users but is easily extensible by adding additional keywords. It also unifies the -A and -httpport options (there's no longer any difference in the argument formats or meaning). The internal logic is also unified across Server and between Server and Manager. It should also be fully backwards compatible and old versions should continue to work as expected.
          Hide
          Alan M. Carroll added a comment -

          Patch.

          Show
          Alan M. Carroll added a comment - Patch.
          Hide
          Alan M. Carroll added a comment -

          Updated patch.

          Show
          Alan M. Carroll added a comment - Updated patch.
          Hide
          Alan M. Carroll added a comment -

          Updated patch with more features and some debugging.

          Show
          Alan M. Carroll added a comment - Updated patch with more features and some debugging.
          Hide
          Alan M. Carroll added a comment -

          I have been stuck for a week on the same bug which I just cannot crack. The current patch fails regression in HttpTxnCache on the second pass (testing for cache hit). The request connects correctly and then just stops and is shut down and the test then stalls forever. The request header is never read, the accept side immediately generates a VC_EVENT_EOS before it even tries to read the socket.

          Show
          Alan M. Carroll added a comment - I have been stuck for a week on the same bug which I just cannot crack. The current patch fails regression in HttpTxnCache on the second pass (testing for cache hit). The request connects correctly and then just stops and is shut down and the test then stalls forever. The request header is never read, the accept side immediately generates a VC_EVENT_EOS before it even tries to read the socket.
          Hide
          Alan M. Carroll added a comment -

          Patch that passes regression.

          Show
          Alan M. Carroll added a comment - Patch that passes regression.
          Hide
          Alan M. Carroll added a comment -

          Transparency fix.

          Show
          Alan M. Carroll added a comment - Transparency fix.
          Hide
          Alan M. Carroll added a comment -

          Forgot to include lib/records/I_RecHttp.h and lib/records/RecHttp.cc.

          Show
          Alan M. Carroll added a comment - Forgot to include lib/records/I_RecHttp.h and lib/records/RecHttp.cc.
          Hide
          Alan M. Carroll added a comment -

          Fixed some tab / indenting problems.
          Changed frequent_accept default back to true.
          Changed TSNetAccept to set frequent_accept to false (required to pass regression).

          Show
          Alan M. Carroll added a comment - Fixed some tab / indenting problems. Changed frequent_accept default back to true. Changed TSNetAccept to set frequent_accept to false (required to pass regression).
          Hide
          Alan M. Carroll added a comment -

          SSL fixed.

          if ssl.enable and ssl.server_port are set, those are used to create an SSL port.

          If ssl.enable is set then an SSL port is forced, using ssl.server_port if available and 443 if not.

          If an SSL port is set in http.server_ports that is used regardless of ssl.enable.

          Show
          Alan M. Carroll added a comment - SSL fixed. if ssl.enable and ssl.server_port are set, those are used to create an SSL port. If ssl.enable is set then an SSL port is forced, using ssl.server_port if available and 443 if not. If an SSL port is set in http.server_ports that is used regardless of ssl.enable.
          Hide
          Igor Galić added a comment -

          Can you please update the admin docs as well?

          Or tell one of our minions if you can't.

          Show
          Igor Galić added a comment - Can you please update the admin docs as well? Or tell one of our minions if you can't.
          Hide
          Alan M. Carroll added a comment -

          Default proxy port regression test related failures fixed.
          Fixed missing TsBuffer.h file.

          Show
          Alan M. Carroll added a comment - Default proxy port regression test related failures fixed. Fixed missing TsBuffer.h file.
          Hide
          Alan M. Carroll added a comment -

          Last update of patch to match what was committed. And also because it's just become a habit.

          Show
          Alan M. Carroll added a comment - Last update of patch to match what was committed. And also because it's just become a habit.
          Hide
          Alan M. Carroll added a comment -

          Committed patch. See the attached ts-1077.txt for more detail on the changes.

          Show
          Alan M. Carroll added a comment - Committed patch. See the attached ts-1077.txt for more detail on the changes.

            People

            • Assignee:
              Alan M. Carroll
              Reporter:
              Alan M. Carroll
            • Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved:

                Development