[Bro-Dev] [JIRA] (BIT-1333) Bro's ASCII logging facilities do not escape escape characters

Paul Pearce (JIRA) jira at bro-tracker.atlassian.net
Tue Mar 10 18:21:01 PDT 2015

    [ https://bro-tracker.atlassian.net/browse/BIT-1333?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=19926#comment-19926 ] 

Paul Pearce commented on BIT-1333:

Thanks for taking this on.

That branch behaves correctly on the toy above. Unfortunately I can't get my analysis pipeline working with this branch to test further. connection$http$resp_mime_types is never initialized when inside a file_over_new_connection event. This breaks my pipeline.

I see from the release notes (https://www.bro.org/sphinx-git/install/release-notes.html#changed-functionality) that some mime type behavior has changed. Is this new behavior correct but undocumented, or a bug?

> Bro's ASCII logging facilities do not escape escape characters
> --------------------------------------------------------------
>                 Key: BIT-1333
>                 URL: https://bro-tracker.atlassian.net/browse/BIT-1333
>             Project: Bro Issue Tracker
>          Issue Type: Problem
>          Components: Bro
>    Affects Versions: 2.3
>            Reporter: Paul Pearce
>            Assignee: Seth Hall
> * Bro escapes non-printable ASCII characters with either \x?? or ^ depending on the character (https://www.bro.org/sphinx/scripts/base/bif/strings.bif.bro.html). 
> * Bro does not however escape \ or ^. 
> * This behavior makes recovering the original string impossible as you can not differentiate between an escaped sequence and a string containing those characters. 
> Examples: 
> $ bro -e 'event bro_init() { print "foo \xc2\xae bar \\xc2\\xae baz"; }'
>  foo \xc2\xae bar \xc2\xae baz
> $ bro -e 'event bro_init() { print "foo\x00bar\\0baz"; }'
>  foo\0bar\0baz
> $ bro -e 'event bro_init() { print "foo \16 bar ^N baz"; }'
>  foo ^N bar ^N baz
> Additionally, it would be ideal if there was a way to standardize escaping to a single syntax (\x?? for all, for example). This would allow post-processing of the bro logs in languages like Python or Ruby trivially using existing decode/encode functionality. I'm happy to file a separate feature request for this behavior, if that is preferred.
> I brought this up on the mailing list (http://mailman.icsi.berkeley.edu/pipermail/bro/2015-February/008174.html). It was suggested (off list) that I file a ticket as well.

This message was sent by Atlassian JIRA

More information about the bro-dev mailing list