mirror of
https://github.com/zeek/zeek.git
synced 2025-10-03 07:08:19 +00:00
Reformat the world
This commit is contained in:
parent
194cb24547
commit
b2f171ec69
714 changed files with 35149 additions and 35203 deletions
|
@ -1,12 +1,14 @@
|
|||
#include "zeek/PrefixTable.h"
|
||||
|
||||
#include "zeek/Reporter.h"
|
||||
#include "zeek/Val.h"
|
||||
|
||||
namespace zeek::detail {
|
||||
namespace zeek::detail
|
||||
{
|
||||
|
||||
prefix_t* PrefixTable::MakePrefix(const IPAddr& addr, int width)
|
||||
{
|
||||
prefix_t* prefix = (prefix_t*) util::safe_malloc(sizeof(prefix_t));
|
||||
prefix_t* prefix = (prefix_t*)util::safe_malloc(sizeof(prefix_t));
|
||||
|
||||
addr.CopyIPv6(&prefix->add.sin6);
|
||||
prefix->family = AF_INET6;
|
||||
|
@ -18,8 +20,9 @@ prefix_t* PrefixTable::MakePrefix(const IPAddr& addr, int width)
|
|||
|
||||
IPPrefix PrefixTable::PrefixToIPPrefix(prefix_t* prefix)
|
||||
{
|
||||
return IPPrefix(IPAddr(IPv6, reinterpret_cast<const uint32_t*>(&prefix->add.sin6),
|
||||
IPAddr::Network), prefix->bitlen, true);
|
||||
return IPPrefix(
|
||||
IPAddr(IPv6, reinterpret_cast<const uint32_t*>(&prefix->add.sin6), IPAddr::Network),
|
||||
prefix->bitlen, true);
|
||||
}
|
||||
|
||||
void* PrefixTable::Insert(const IPAddr& addr, int width, void* data)
|
||||
|
@ -46,29 +49,28 @@ void* PrefixTable::Insert(const IPAddr& addr, int width, void* data)
|
|||
void* PrefixTable::Insert(const Val* value, void* data)
|
||||
{
|
||||
// [elem] -> elem
|
||||
if ( value->GetType()->Tag() == TYPE_LIST &&
|
||||
value->AsListVal()->Length() == 1 )
|
||||
if ( value->GetType()->Tag() == TYPE_LIST && value->AsListVal()->Length() == 1 )
|
||||
value = value->AsListVal()->Idx(0).get();
|
||||
|
||||
switch ( value->GetType()->Tag() ) {
|
||||
case TYPE_ADDR:
|
||||
return Insert(value->AsAddr(), 128, data);
|
||||
break;
|
||||
switch ( value->GetType()->Tag() )
|
||||
{
|
||||
case TYPE_ADDR:
|
||||
return Insert(value->AsAddr(), 128, data);
|
||||
break;
|
||||
|
||||
case TYPE_SUBNET:
|
||||
return Insert(value->AsSubNet().Prefix(),
|
||||
value->AsSubNet().LengthIPv6(), data);
|
||||
break;
|
||||
case TYPE_SUBNET:
|
||||
return Insert(value->AsSubNet().Prefix(), value->AsSubNet().LengthIPv6(), data);
|
||||
break;
|
||||
|
||||
default:
|
||||
reporter->InternalWarning("Wrong index type for PrefixTable");
|
||||
return nullptr;
|
||||
}
|
||||
default:
|
||||
reporter->InternalWarning("Wrong index type for PrefixTable");
|
||||
return nullptr;
|
||||
}
|
||||
}
|
||||
|
||||
std::list<std::tuple<IPPrefix,void*>> PrefixTable::FindAll(const IPAddr& addr, int width) const
|
||||
std::list<std::tuple<IPPrefix, void*>> PrefixTable::FindAll(const IPAddr& addr, int width) const
|
||||
{
|
||||
std::list<std::tuple<IPPrefix,void*>> out;
|
||||
std::list<std::tuple<IPPrefix, void*>> out;
|
||||
prefix_t* prefix = MakePrefix(addr, width);
|
||||
|
||||
int elems = 0;
|
||||
|
@ -84,7 +86,7 @@ std::list<std::tuple<IPPrefix,void*>> PrefixTable::FindAll(const IPAddr& addr, i
|
|||
return out;
|
||||
}
|
||||
|
||||
std::list<std::tuple<IPPrefix,void*>> PrefixTable::FindAll(const SubNetVal* value) const
|
||||
std::list<std::tuple<IPPrefix, void*>> PrefixTable::FindAll(const SubNetVal* value) const
|
||||
{
|
||||
return FindAll(value->AsSubNet().Prefix(), value->AsSubNet().LengthIPv6());
|
||||
}
|
||||
|
@ -93,8 +95,7 @@ void* PrefixTable::Lookup(const IPAddr& addr, int width, bool exact) const
|
|||
{
|
||||
prefix_t* prefix = MakePrefix(addr, width);
|
||||
patricia_node_t* node =
|
||||
exact ? patricia_search_exact(tree, prefix) :
|
||||
patricia_search_best(tree, prefix);
|
||||
exact ? patricia_search_exact(tree, prefix) : patricia_search_best(tree, prefix);
|
||||
|
||||
int elems = 0;
|
||||
patricia_node_t** list = nullptr;
|
||||
|
@ -106,25 +107,24 @@ void* PrefixTable::Lookup(const IPAddr& addr, int width, bool exact) const
|
|||
void* PrefixTable::Lookup(const Val* value, bool exact) const
|
||||
{
|
||||
// [elem] -> elem
|
||||
if ( value->GetType()->Tag() == TYPE_LIST &&
|
||||
value->AsListVal()->Length() == 1 )
|
||||
if ( value->GetType()->Tag() == TYPE_LIST && value->AsListVal()->Length() == 1 )
|
||||
value = value->AsListVal()->Idx(0).get();
|
||||
|
||||
switch ( value->GetType()->Tag() ) {
|
||||
case TYPE_ADDR:
|
||||
return Lookup(value->AsAddr(), 128, exact);
|
||||
break;
|
||||
switch ( value->GetType()->Tag() )
|
||||
{
|
||||
case TYPE_ADDR:
|
||||
return Lookup(value->AsAddr(), 128, exact);
|
||||
break;
|
||||
|
||||
case TYPE_SUBNET:
|
||||
return Lookup(value->AsSubNet().Prefix(),
|
||||
value->AsSubNet().LengthIPv6(), exact);
|
||||
break;
|
||||
case TYPE_SUBNET:
|
||||
return Lookup(value->AsSubNet().Prefix(), value->AsSubNet().LengthIPv6(), exact);
|
||||
break;
|
||||
|
||||
default:
|
||||
reporter->InternalWarning("Wrong index type %d for PrefixTable",
|
||||
value->GetType()->Tag());
|
||||
return nullptr;
|
||||
}
|
||||
default:
|
||||
reporter->InternalWarning("Wrong index type %d for PrefixTable",
|
||||
value->GetType()->Tag());
|
||||
return nullptr;
|
||||
}
|
||||
}
|
||||
|
||||
void* PrefixTable::Remove(const IPAddr& addr, int width)
|
||||
|
@ -145,24 +145,23 @@ void* PrefixTable::Remove(const IPAddr& addr, int width)
|
|||
void* PrefixTable::Remove(const Val* value)
|
||||
{
|
||||
// [elem] -> elem
|
||||
if ( value->GetType()->Tag() == TYPE_LIST &&
|
||||
value->AsListVal()->Length() == 1 )
|
||||
if ( value->GetType()->Tag() == TYPE_LIST && value->AsListVal()->Length() == 1 )
|
||||
value = value->AsListVal()->Idx(0).get();
|
||||
|
||||
switch ( value->GetType()->Tag() ) {
|
||||
case TYPE_ADDR:
|
||||
return Remove(value->AsAddr(), 128);
|
||||
break;
|
||||
switch ( value->GetType()->Tag() )
|
||||
{
|
||||
case TYPE_ADDR:
|
||||
return Remove(value->AsAddr(), 128);
|
||||
break;
|
||||
|
||||
case TYPE_SUBNET:
|
||||
return Remove(value->AsSubNet().Prefix(),
|
||||
value->AsSubNet().LengthIPv6());
|
||||
break;
|
||||
case TYPE_SUBNET:
|
||||
return Remove(value->AsSubNet().Prefix(), value->AsSubNet().LengthIPv6());
|
||||
break;
|
||||
|
||||
default:
|
||||
reporter->InternalWarning("Wrong index type for PrefixTable");
|
||||
return nullptr;
|
||||
}
|
||||
default:
|
||||
reporter->InternalWarning("Wrong index type for PrefixTable");
|
||||
return nullptr;
|
||||
}
|
||||
}
|
||||
|
||||
PrefixTable::iterator PrefixTable::InitIterator()
|
||||
|
@ -184,7 +183,7 @@ void* PrefixTable::GetNext(iterator* i)
|
|||
|
||||
if ( i->Xrn->l )
|
||||
{
|
||||
if (i->Xrn->r)
|
||||
if ( i->Xrn->r )
|
||||
*i->Xsp++ = i->Xrn->r;
|
||||
|
||||
i->Xrn = i->Xrn->l;
|
||||
|
@ -193,17 +192,17 @@ void* PrefixTable::GetNext(iterator* i)
|
|||
else if ( i->Xrn->r )
|
||||
i->Xrn = i->Xrn->r;
|
||||
|
||||
else if (i->Xsp != i->Xstack)
|
||||
else if ( i->Xsp != i->Xstack )
|
||||
i->Xrn = *(--i->Xsp);
|
||||
|
||||
else
|
||||
i->Xrn = (patricia_node_t*) nullptr;
|
||||
i->Xrn = (patricia_node_t*)nullptr;
|
||||
|
||||
if ( i->Xnode->prefix )
|
||||
return (void*) i->Xnode->data;
|
||||
return (void*)i->Xnode->data;
|
||||
}
|
||||
|
||||
// Not reached.
|
||||
}
|
||||
|
||||
} // namespace zeek::detail
|
||||
} // namespace zeek::detail
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue