I've made a custom audit.Assembler to handle auditd messages at the end of a log pipeline that doesn't guarantee ordered delivery. This seems like a generally useful thing, so would you accept some PRs to get this added in?
I think this would mean refactoring libaudit.Reassembler to an interface and implementing a UnorderedReassembler struct that emits a slice of messages when it gets a complete set. FWIW, our NewUnorderedReassembler() has the same args as NewReassembler() and is used basically the same way.
I promise to also commit a bunch of tests at the same time. :)
I've made a custom
audit.Assemblerto handle auditd messages at the end of a log pipeline that doesn't guarantee ordered delivery. This seems like a generally useful thing, so would you accept some PRs to get this added in?I think this would mean refactoring
libaudit.Reassemblerto an interface and implementing aUnorderedReassemblerstruct that emits a slice of messages when it gets a complete set. FWIW, ourNewUnorderedReassembler()has the same args asNewReassembler()and is used basically the same way.I promise to also commit a bunch of tests at the same time. :)