Hacktoberfest 2026: the issues maintainers tagged for October, open and beginner-friendly. Browse Hacktoberfest issues

unsupported suricata 8 sticky buffers

Open
#249 1 comment 0 reactions 0 assignees View on GitHub

Maintainers usually reply within 1 day

Nobody has claimed this yet.

Assessment

Difficulty
3/5
Estimated time
1-2 days
Newbie friendliness
58/100
Issue type
Bug
Clarity
Mostly clear
Activity status
Active
Tech stack
go
Domain
backend, security

Research direction

Start by locating the sticky buffer parser and its tests; the issue does not name specific files or test cases. Check how the listed Suricata 8 buffer names are represented, including the noted underscored forms. Done means rules using the listed names parse successfully, with tests covering the previously unsupported buffers.

Written by the indexing model from the issue text.

Description

gonids is missing support for quite a few sticky buffers as of suricata 8. I've hit parse failures on the following:

mqtt.connect.password
mqtt.connect.username
mqtt.publish.message
mqtt.publish.topic
file.name
smtp.rcpt_to
websocket.payload

for completeness, here's the complete list of unsupported sticky buffers:

dnp3.data
dns.additionals.rrname
dns.answer.name
dns.answers.rrname
dns.authorities.rrname
dns.queries.rrname
dns.query.name
dns.response.rrname
email.cc
email.date
email.from
email.message_id
email.received
email.subject
email.to
email.url
email.x_mailer
enip.product_name
enip.service_name
file.name
ftp.completion_code
ftp.reply
ike.init_spi
ike.key_exchange_payload
ike.nonce_payload
ike.resp_spi
ike.vendor
krb5.cname
krb5.sname
ldap.request.attribute_type
ldap.request.dn
ldap.responses.attribute_type
ldap.responses.dn
ldap.responses.message
mdns.additionals.rrname
mdns.answers.rrname
mdns.authorities.rrname
mdns.queries.rrname
mdns.response.rrname
mqtt.connect.clientid
mqtt.connect.password
mqtt.connect.protocol_string
mqtt.connect.username
mqtt.connect.willmessage
mqtt.connect.willtopic
mqtt.publish.message
mqtt.publish.topic
mqtt.subscribe.topic
mqtt.unsubscribe.topic
ntp.reference_id
pgsql.query
rfb.name
sdp.attribute
sdp.bandwidth
sdp.connection_data
sdp.email
sdp.encryption_key
sdp.media.connection_data
sdp.media.encryption_key
sdp.media.media
sdp.media.media_info
sdp.origin
sdp.phone_number
sdp.repeat_time
sdp.session_info
sdp.session_name
sdp.time
sdp.timezone
sdp.uri
sip.content_length
sip.content_type
sip.from
sip.protocol
sip.request_line
sip.response_line
sip.stat_code
sip.stat_msg
sip.to
sip.user_agent
sip.via
smb.named_pipe
smb.ntlmssp_domain
smb.ntlmssp_user
smb.share
smtp.helo
smtp.mail_from
smtp.rcpt_to
snmp.usm
tls.alpn
tls.random_bytes
tls.random_time
tls.subjectaltname
websocket.payload

A couple of these (smb.named_pipe, smb.share, krb5.cname and krb5.sname) are supported in an underscored form.

Thanks for the help! For context, I'm trying to parse the Vulncheck initial access rule set to do some mechanical manipulations.

Dominant language
Go
Stars
197
Forks
52
Avg merge
1d 1h
Merged PRs (30d)
21

Getting set up

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from google/gonids

All issues in google/gonids

Similar issues

More Go issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.