Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Dynamic alprotos : make SNMP totally dynamic v8 #12533

Open
wants to merge 8 commits into
base: master
Choose a base branch
from

Conversation

catenacyber
Copy link
Contributor

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

Describe changes:

  • detect: fix overflow for files protocol as reported by coverity
  • snmp: register protocol dynamically, to do so :
    • make some arrays even more dynamic
    • add an helper function AppProtoNewProtoFromString
    • have plugins be able to log flow or packet direction (update SC_PLUGIN_API_VERSION)

#12470 with needed rebase

CID 1640392

Would happen only if we reached 15 protocols handling files
Ticket: 5053

Do not asume that we know the number of alprotos at the end
of AppLayerNamesSetup, but make arrays allocated by later
AppLayerProtoDetectSetup dynamic so that it can be reallocated
from AppLayerParserRegisterProtocolParsers

This helps have a single entry point for a protocol like SNMP
So that we do not have to know g_alproto_max to register
dynamically a new protocol from its name
Ticket: 5053

Move enum OutputJsonLogDirection and struct
EveJsonTxLoggerRegistrationData from C to rust
and cast

and also remove unneeded mut

and rustfmt
@catenacyber catenacyber changed the title Applayer plugin 5053 v4.8 Dynamic alprotos : make SNMP totally dynamic v8 Feb 6, 2025
#define SC_PLUGIN_API_VERSION 8
#define SC_PLUGIN_API_VERSION 0x801
Copy link
Member

@jasonish jasonish Feb 6, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I still don't think we should be twiddling this for a development release.

For 8.0, we should use something like 800000, or something.. 9.0, 900000. If we did an 8.1 then 800100.

But if we are going to twiddle it, just start at 1.. Then 2, then 3, etc..

@suricata-qa
Copy link

Information: QA ran without warnings.

Pipeline 24663

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.

3 participants