Hi Steve,
Thanks for the reply. I compared the record string I was passing to auparse_feed() against the example string in auparse/test/auparse_test.c (in audit-userspace git repo).
Looks like I needed to prepend "msg=" before the audit message and pass the exact length of the record string to auparse_feed().
Changing the lines in to the code to:
snprintf(record_buffer, (record_buffer_len - 1), "type=%s msg=%.*s\n", type_name, reply.len, reply.message);
auparse_feed(au, record_buffer, strlen(record_buffer));
worked.
Also I noticed that the EOE record is treated as its own event even though there were other records with the same audit serial number. I guess this is expected as after EOE there will be no more records for this event and if EOE was treated as a part of the previous event, then it will not be possible to tell when this event is complete.
Thanks for the help,
Tarun