mirror of
https://github.com/zeek/zeek.git
synced 2025-10-02 14:48:21 +00:00
Fix a build failure on OpenBSD
The definition of a "struct pcap_pkthdr" on OpenBSD contains a member of type "struct bpf_timeval" instead of "struct timeval" used on other systems. Also, on OpenBSD the header netinet/if_ether.h does not #include net/if_arp.h as it does on other systems.
This commit is contained in:
parent
15f2b30c73
commit
e198fba2d9
4 changed files with 16 additions and 8 deletions
|
@ -761,7 +761,7 @@ void NetSessions::DoNextInnerPacket(double t, const Packet* pkt,
|
||||||
uint32 caplen, len;
|
uint32 caplen, len;
|
||||||
caplen = len = inner->TotalLen();
|
caplen = len = inner->TotalLen();
|
||||||
|
|
||||||
struct timeval ts;
|
pkt_timeval ts;
|
||||||
int link_type;
|
int link_type;
|
||||||
Layer3Proto l3_proto;
|
Layer3Proto l3_proto;
|
||||||
|
|
||||||
|
|
|
@ -3343,7 +3343,7 @@ function dump_packet%(pkt: pcap_packet, file_name: string%) : bool
|
||||||
|
|
||||||
if ( addl_pkt_dumper )
|
if ( addl_pkt_dumper )
|
||||||
{
|
{
|
||||||
struct timeval ts;
|
pkt_timeval ts;
|
||||||
uint32 caplen, len, link_type;
|
uint32 caplen, len, link_type;
|
||||||
u_char *data;
|
u_char *data;
|
||||||
|
|
||||||
|
|
|
@ -9,13 +9,14 @@ extern "C" {
|
||||||
#elif defined(HAVE_SYS_ETHERNET_H)
|
#elif defined(HAVE_SYS_ETHERNET_H)
|
||||||
#include <sys/ethernet.h>
|
#include <sys/ethernet.h>
|
||||||
#elif defined(HAVE_NETINET_IF_ETHER_H)
|
#elif defined(HAVE_NETINET_IF_ETHER_H)
|
||||||
|
#include <net/if_arp.h>
|
||||||
#include <netinet/if_ether.h>
|
#include <netinet/if_ether.h>
|
||||||
#elif defined(HAVE_NET_ETHERTYPES_H)
|
#elif defined(HAVE_NET_ETHERTYPES_H)
|
||||||
#include <net/ethertypes.h>
|
#include <net/ethertypes.h>
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
void Packet::Init(int arg_link_type, struct timeval *arg_ts, uint32 arg_caplen,
|
void Packet::Init(int arg_link_type, pkt_timeval *arg_ts, uint32 arg_caplen,
|
||||||
uint32 arg_len, const u_char *arg_data, int arg_copy,
|
uint32 arg_len, const u_char *arg_data, int arg_copy,
|
||||||
std::string arg_tag)
|
std::string arg_tag)
|
||||||
{
|
{
|
||||||
|
@ -588,7 +589,7 @@ static iosource::PktDumper* dump = 0;
|
||||||
|
|
||||||
Packet* Packet::Unserialize(UnserialInfo* info)
|
Packet* Packet::Unserialize(UnserialInfo* info)
|
||||||
{
|
{
|
||||||
struct timeval ts;
|
pkt_timeval ts;
|
||||||
uint32 len, link_type;
|
uint32 len, link_type;
|
||||||
|
|
||||||
if ( ! (UNSERIALIZE((uint32 *)&ts.tv_sec) &&
|
if ( ! (UNSERIALIZE((uint32 *)&ts.tv_sec) &&
|
||||||
|
|
|
@ -5,6 +5,13 @@
|
||||||
#include "IP.h"
|
#include "IP.h"
|
||||||
#include "NetVar.h"
|
#include "NetVar.h"
|
||||||
|
|
||||||
|
#if defined(__OpenBSD__)
|
||||||
|
#include <net/bpf.h>
|
||||||
|
typedef struct bpf_timeval pkt_timeval;
|
||||||
|
#else
|
||||||
|
typedef struct timeval pkt_timeval;
|
||||||
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The Layer 3 type of a packet, as determined by the parsing code in Packet.
|
* The Layer 3 type of a packet, as determined by the parsing code in Packet.
|
||||||
*/
|
*/
|
||||||
|
@ -48,7 +55,7 @@ public:
|
||||||
* @param tag A textual tag to associate with the packet for
|
* @param tag A textual tag to associate with the packet for
|
||||||
* differentiating the input streams.
|
* differentiating the input streams.
|
||||||
*/
|
*/
|
||||||
Packet(int link_type, struct timeval *ts, uint32 caplen,
|
Packet(int link_type, pkt_timeval *ts, uint32 caplen,
|
||||||
uint32 len, const u_char *data, int copy = false,
|
uint32 len, const u_char *data, int copy = false,
|
||||||
std::string tag = std::string(""))
|
std::string tag = std::string(""))
|
||||||
: data(0), l2_src(0), l2_dst(0)
|
: data(0), l2_src(0), l2_dst(0)
|
||||||
|
@ -61,7 +68,7 @@ public:
|
||||||
*/
|
*/
|
||||||
Packet() : data(0), l2_src(0), l2_dst(0)
|
Packet() : data(0), l2_src(0), l2_dst(0)
|
||||||
{
|
{
|
||||||
struct timeval ts = {0, 0};
|
pkt_timeval ts = {0, 0};
|
||||||
Init(0, &ts, 0, 0, 0);
|
Init(0, &ts, 0, 0, 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -96,7 +103,7 @@ public:
|
||||||
* @param tag A textual tag to associate with the packet for
|
* @param tag A textual tag to associate with the packet for
|
||||||
* differentiating the input streams.
|
* differentiating the input streams.
|
||||||
*/
|
*/
|
||||||
void Init(int link_type, struct timeval *ts, uint32 caplen,
|
void Init(int link_type, pkt_timeval *ts, uint32 caplen,
|
||||||
uint32 len, const u_char *data, int copy = false,
|
uint32 len, const u_char *data, int copy = false,
|
||||||
std::string tag = std::string(""));
|
std::string tag = std::string(""));
|
||||||
|
|
||||||
|
@ -155,7 +162,7 @@ public:
|
||||||
// These are passed in through the constructor.
|
// These are passed in through the constructor.
|
||||||
std::string tag; /// Used in serialization
|
std::string tag; /// Used in serialization
|
||||||
double time; /// Timestamp reconstituted as float
|
double time; /// Timestamp reconstituted as float
|
||||||
struct timeval ts; /// Capture timestamp
|
pkt_timeval ts; /// Capture timestamp
|
||||||
const u_char* data; /// Packet data.
|
const u_char* data; /// Packet data.
|
||||||
uint32 len; /// Actual length on wire
|
uint32 len; /// Actual length on wire
|
||||||
uint32 cap_len; /// Captured packet length
|
uint32 cap_len; /// Captured packet length
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue