Traffic Server
  1. Traffic Server
  2. TS-1236

HTTP Accept filters do not work on Illumos

    Details

    • Type: Bug Bug
    • Status: Closed
    • Priority: Minor Minor
    • Resolution: Fixed
    • Affects Version/s: 3.1.3
    • Fix Version/s: 3.1.4
    • Component/s: Core
    • Labels:
      None
    • Environment:

      Illumos (OmniOS)

      Description

      The path for creating the socket() and binding happen outside of the previously used code path.

      1. TS-1236.diff
        0.9 kB
        James Peach
      2. LocalManager-acceptfilt.patch
        1 kB
        Theo Schlossnagle

        Activity

        Hide
        Leif Hedstrom added a comment -

        Did this get committed? If so, can we close?

        Show
        Leif Hedstrom added a comment - Did this get committed? If so, can we close?
        Hide
        Alan M. Carroll added a comment -

        Isn't it wonderful that we have redundant socket creation code so that you can't mess everything up with one patch?

        This looks good to me. My primary comment would be whether we want to support filter control on a per port basis. That is, add something to HttpProxyPort for this. In that case you would move the global config option checking to HttpProxyPort::processOptions. That would check for the port option and if not found, use the global config setting (proxy.config.net.defer_accept). The local socket binding code would then always just check the HttpProxyPort data, or that would be passed down to the iocore socket code. I don't know enough about the defer accept use case to say if this would be a good idea.

        Show
        Alan M. Carroll added a comment - Isn't it wonderful that we have redundant socket creation code so that you can't mess everything up with one patch? This looks good to me. My primary comment would be whether we want to support filter control on a per port basis. That is, add something to HttpProxyPort for this. In that case you would move the global config option checking to HttpProxyPort::processOptions. That would check for the port option and if not found, use the global config setting (proxy.config.net.defer_accept). The local socket binding code would then always just check the HttpProxyPort data, or that would be passed down to the iocore socket code. I don't know enough about the defer accept use case to say if this would be a good idea.
        Hide
        James Peach added a comment -

        Attached suggested minor cosmetic improvements.

        Patch looks fine. A couple of comments wouldn't hurt, since it's not easy to figure out what httpfilt is.

        Show
        James Peach added a comment - Attached suggested minor cosmetic improvements. Patch looks fine. A couple of comments wouldn't hurt, since it's not easy to figure out what httpfilt is.
        Hide
        Theo Schlossnagle added a comment -

        This fixes it for me. If I could get some reviewers to make sure I don't need to handle other broken operating systems that would be helpful.

        Show
        Theo Schlossnagle added a comment - This fixes it for me. If I could get some reviewers to make sure I don't need to handle other broken operating systems that would be helpful.

          People

          • Assignee:
            Theo Schlossnagle
            Reporter:
            Theo Schlossnagle
          • Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

            • Due:
              Created:
              Updated:
              Resolved:

              Time Tracking

              Estimated:
              Original Estimate - 1h
              1h
              Remaining:
              Remaining Estimate - 1h
              1h
              Logged:
              Time Spent - Not Specified
              Not Specified

                Development