Note: this Wiki is now deprecated. Newer versions of the Suricata Developers Guide should be found at the Suricata Developer Guide.
Suricata Developers Guide¶
Suricata is fully open source, meaning that everyone is welcome to participate in its development.
Contributing to Suricata¶
Even though everyone is welcomed to contribute, contributing to Suricata does require you to follow some rules. You will find them on the Contributing page.
Code Submission Quality Criteria
Git/Github¶
Github work flow and Git work flow
Code documentation¶
Doxygen pages are available at http://doxygen.openinfosecfoundation.org/ These are updated daily based on the latest git master.
QA¶
Packet Pipeline¶
Threading Basics¶
Request for Comments¶
Extending Suricata¶
Thread Modules
Output Plugins
Detection Plugins
Debugging
Unit Tests
AppLayer
How to hack the build process¶
Internals / API documentation¶
Unittest Helper Functions
Callbacks
File Log Output Format
Performance Bottlenecks
HTTP profiles
Using perf tool
Unix Socket
Extending Suricata
Packet Acquisition API
Log API
Libraries
Upgrading¶
WIP¶
Pages to document ongoing work.