device_info, MAX_USER_AGENT_DEVICES) )
{
logger.log(RNA_EVENT_NEW, NEW_OS, p, &rt, (const struct in6_addr*)ip->get_ip6_ptr(),
- src_mac, (FpFingerprint*)uafp);
+ src_mac, (FpFingerprint*)uafp, packet_time());
}
}
}
void RnaLogger::log(uint16_t type, uint16_t subtype, const Packet* p, RnaTracker* ht,
- const struct in6_addr* src_ip, const uint8_t* src_mac, const FpFingerprint* fp)
+ const struct in6_addr* src_ip, const uint8_t* src_mac, const FpFingerprint* fp,
+ uint32_t event_time)
{
- log(type, subtype, src_ip, src_mac, ht, p, 0, 0,
+ log(type, subtype, src_ip, src_mac, ht, p, event_time, 0,
nullptr, nullptr, fp, nullptr, nullptr);
}
rle.ip = src_ip;
else
rle.ip = nullptr;
+
if ( event_time )
+ {
+ rle.event_time = event_time;
(*ht)->update_last_event(event_time);
+ }
EventManager::call_loggers(nullptr, const_cast<Packet*>(p), "RNA", &rle);
const snort::FpFingerprint* fpr, const snort::HostClient* hcp) : type(t), subtype(st),
mac(mc), ht(rt), hm(hmp), proto(pr), cond_var(cv), ha(hap), fp(fpr), hc(hcp) { }
+ uint32_t event_time = 0;
uint16_t type;
uint16_t subtype;
const struct in6_addr* ip;
// for fingerprint
void log(uint16_t type, uint16_t subtype, const snort::Packet* p, RnaTracker* ht,
- const struct in6_addr* src_ip, const uint8_t* src_mac, const snort::FpFingerprint* fp);
+ const struct in6_addr* src_ip, const uint8_t* src_mac, const snort::FpFingerprint* fp,
+ uint32_t event_time);
// for event time
void log(uint16_t type, uint16_t subtype, const snort::Packet* p, RnaTracker* ht,
const TcpFingerprint* tfp = processor->get(p, rna_flow);
if (tfp && ht->add_tcp_fingerprint(tfp->fpid))
- logger.log(RNA_EVENT_NEW, NEW_OS, p, &ht, src_ip_ptr, src_mac, tfp);
+ logger.log(RNA_EVENT_NEW, NEW_OS, p, &ht, src_ip_ptr, src_mac, tfp, packet_time());
}
}