-
Notifications
You must be signed in to change notification settings - Fork 73
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
Generated RFC 3164 messages are not valid CEF messages (was "toRfc3164SyslogMessage appends bogus ':' suffix to syslog header") #18
Comments
|
Yes, that's precisely the line. It basically looks like this: |
My understanding is that the Common Event Format (CEF) and RFC 3164 are two distinct formats and that we should implement an additional format in the syslog-java-client to support your use case. Do you agree with this statement? References: |
As far as I know CEF is completely compatible with RFC 3164, as it only formats the message part. The ":" symbol simply is not in RFC 3164. |
And in any event, popular parsers don't expect it, e.g. |
Here's one of the valid examples from RFC 3164: Admittedly, they do also have examples with ":" - and of course that's valid, but, spec wise, it's just the first character in the message in that case. I see no reason for a library to enforce such convention. |
For convenience, I'm including relevant sections from RFC 3164:
This is where the header ends. But it looks like the ":" convention has some grounds as part of the message field, where it can follow the TAG if there is one (as done in CEF. In that sense, "CEF" is the tag):
Various references in the spec imply that TAG is optional:
All in all, my suggestion would be to either consider the |
I may have misread this spec when I added the ':' or used a misleading sample. I'll check without ':' some common integrations (papertrail...) |
|
Well, there's no app name in my case - I would expect a colon if there was one. In any event, this behavior breaks RSA NetWitenss parsing, at the very least. It doesn't break ArcSight, which is much more liberal, generally speaking. |
Could you please do a quick test setting an application name to see if there is something specific to the case where the application name is omitted ? |
Hello @asaf-romano, did you have by any chance the opportunity to do this test? |
@asaf-romano friendly ping |
Hi all, I saw your changes in "#18 RFC 3164 message format: remove ":"" commit. Now there is no ":" even if app name is specified and there still will is "-" like nullable value, if I understand correctly. What about behavior like:
This seems like the best options for me, @asaf-romano issues will be solved when sending the message with an empty or null app name. @asaf-romano Could you confirm this? And there will be still the possibility to append app name with ": " part. (which could be desired, fe. paper trail parses this somehow and uses the first world if a message has no app name part). I committed the changes into my fork of the repository and I could create a merge request if you confirm this as desired behavior. Regards, |
Is it possible to use "syslog-java-client" with Common Event Format? |
toRfc3164SyslogMessage appends bogus ": " suffix to syslog headers. This makes it impossible to send proper CEF messages (which expect " CEF: " string right after the header).
The text was updated successfully, but these errors were encountered: