<div dir="ltr">Thank you Jason. Using a new keyword as you suggested worked for me.<br></div><div class="gmail_extra"><br><div class="gmail_quote">On Wed, Apr 29, 2015 at 12:02 PM, Jason Ish <span dir="ltr"><<a href="mailto:lists@unx.ca" target="_blank">lists@unx.ca</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="HOEnZb"><div class="h5">On Tue, Apr 28, 2015 at 11:19 AM, Adrian Falk <<a href="mailto:adrianfalk2@gmail.com">adrianfalk2@gmail.com</a>> wrote:<br>
> Hello,<br>
><br>
> Please provide an example of how signature matching works on a app-layer<br>
> reassembled buffer.<br>
><br>
> To explain further, as part of app-layer parsing I perform app-layer<br>
> reassembly into a buffer (referenced by the app-layer protocol transaction<br>
> structure). However for signature matching in SigMatchSinatures() and all<br>
> the functions it calls, it uses the "Packet" data structure to get payload<br>
> and payload_len.<br>
><br>
> Is there an example of app-layer reassembly and how signatures (especially<br>
> payload inspection) is applied against a reassembled buffer instead of<br>
> buffer referenced by p->payload? I don't want to use a brand-new keyword to<br>
> implement this.<br>
<br>
</div></div>I believe you will require a new keyword, and associated code to point<br>
DetectEngineContentInspection at the right buffer.  For examples, you<br>
could look at the dnsquery keyword, or the dnp3_data keyword in my<br>
dnp3_branch, specifically this commit:<br>
<a href="https://github.com/jasonish/suricata/commit/9f47ae0ffaf490958c6fbb4921951f3ad523a44a" target="_blank">https://github.com/jasonish/suricata/commit/9f47ae0ffaf490958c6fbb4921951f3ad523a44a</a><br>
<br>
Which likely contains more than required - specifically look at<br>
detect-dnp3-data.c (for keyword setup) and detect-engine-dnp3-data.c<br>
(for doing the match).<br>
<br>
I'm sure Victor will jump in if I'm wrong about not requiring a new<br>
keyword.  I do think a simpler template would be useful as an example<br>
here.<br>
<br>
Hope that helps,<br>
Jason<br>
</blockquote></div><br></div>