Skip to content

Websockets 2695 v14#10173

Closed
catenacyber wants to merge 16 commits into
OISF:masterfrom
catenacyber:websockets-2695-v14
Closed

Websockets 2695 v14#10173
catenacyber wants to merge 16 commits into
OISF:masterfrom
catenacyber:websockets-2695-v14

Conversation

@catenacyber
Copy link
Copy Markdown
Contributor

Link to redmine ticket:
https://redmine.openinfosecfoundation.org/issues/2695

Describe changes:

SV_BRANCH=pr/1571

OISF/suricata-verify#1571

#10163 with rebase on top of #10166 (and thus getting rid of output-json-websocket.c)

I think this is good enough for a first version even if there may be improvements (that should happen in later tickets) :

  • using latest HTTP/1 transaction in a single rule, instead of splitting rule and using flowbits. Should the Websocket state own the last HTTP1 transaction ? And if so, need to see with DOH2 as well the mechanism to get the right transaction for each keyword...
  • support websockets over HTTP/2 : need pcap
    This is a big one as websockets over HTTP/2 only use a single HTTP/2 stream and not the whole TCP connection which keeps having newer regular HTTP/2 streams (or other websocket ones). That means a HTTP2 transactions will own a Websocket State + some streaming buffer as TCP...

catenacyber and others added 16 commits January 16, 2024 11:48
Fixing single_match and manual_find intertwined with SCLogDebug
So that we can write enip.revision: 0x203

Ticket: 6645
Ticket: 6647

Allows keywords using integers to use strings in signature
parsing based on a rust enumeration with a derive.
Ticket: 6648

Like &0x40=0x40 to test for a specific bit set
Ticket: 6628

Document the generic detection capabilities for integer keywords.
and make every integer keyword pointing to this section.
if no config option is found,
as is done for udp

Ticket: 6304
Including the one for websocket over HTTP/2
port is used in AppLayerProtoDetectProbingParserPort
and not in AppLayerProtoDetectProbingParserElement
As for WebSocket which is detected only by protocol change.
When there is a protocol change, and a specific protocol is
expected, like WebSeocket, always run it, no matter the port.
This was referenced Jan 16, 2024
@catenacyber
Copy link
Copy Markdown
Contributor Author

Replaced by #10176

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

1 participant