On Fri, 16 Jan 2015 12:27:29 -0600
"Alan M. Carroll" <a...@network-geographics.com> wrote:

> Friday, January 16, 2015, 12:17:35 PM, you wrote:
> 
> > Yeh +1 from me on not firing TXN_START unless it's really HTTP. Though, 
> > maybe the right approach is to keep the current event timing, but only fire 
> > TXN_START on HTTP ports?
> 
> We still want to fire that event on HTTP transactions on SSL ports if it's 
> actually an HTTP transaction. The problem here is that we don't really know 
> it's HTTP even on an HTTP port until we've parsed the request header and at 
> that point we've advanced to the READ_REQUEST_HDR state. A plugin may also 
> want to switch to a blind tunnel before any request is parsed at all, based 
> on IP addresses. So I think we have to live with TXN_START happening even in 
> non HTTP cases.
> 

Therein lies another question.  Do we accept a 'hard' association
between protocol and port?

If yes, we configure port(s) as HTTP and reject anything arriving
that's not HTTP (noting that HTTP processing is a subset of HTTPS,
and may have commonality with other protocols)

If no, then we need to parse (or at least pattern-match)
an HTTP request line to detect HTTP.

If starting from scratch I'd do both.  That is to say, allow
ports to be configured to a protocol (and drop/reject anything
inappropriate thereunto), but also detect the request line in
data before firing a TXN_START event.

-- 
Nick Kew

Reply via email to