mirror of
https://github.com/zeek/zeek.git
synced 2025-10-10 02:28:21 +00:00
Add support to Bro for connecting with peers over IPv6.
- Communication::listen_ipv6 needs to be redef'd to true in order for IPv6 listening sockets to be opened. - Added Communication::listen_retry option as an interval at which to retry binding to socket addresses that were already in use. - Added some explicit baselines to check in the istate.events and istate.events-ssl tests -- the SSL test was incorrectly passing because it compared two empty files. (The files being empty because "http/base" was given as an argument to Bro which it couldn't handle because that script doesn't exist anymore).
This commit is contained in:
parent
ed9801db98
commit
1e66fe905a
20 changed files with 480 additions and 174 deletions
22
src/IPAddr.h
22
src/IPAddr.h
|
@ -188,11 +188,16 @@ public:
|
|||
* IPv4 to IPv6 address mapping to return a full 16 bytes.
|
||||
*
|
||||
* @param bytes The pointer to a memory location in which the
|
||||
* raw bytes of the address are to be copied in network byte-order.
|
||||
* raw bytes of the address are to be copied.
|
||||
*
|
||||
* @param order The byte-order in which the returned raw bytes are copied.
|
||||
* The default is network order.
|
||||
*/
|
||||
void CopyIPv6(uint32_t* bytes) const
|
||||
void CopyIPv6(uint32_t* bytes, ByteOrder order = Network) const
|
||||
{
|
||||
memcpy(bytes, in6.s6_addr, sizeof(in6.s6_addr));
|
||||
if ( order == Host )
|
||||
for ( unsigned int i = 0; i < 4; ++i ) bytes[i] = ntohl(bytes[i]);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -280,6 +285,19 @@ public:
|
|||
*/
|
||||
string AsString() const;
|
||||
|
||||
/**
|
||||
* Returns a string representation of the address suitable for inclusion
|
||||
* in an URI. For IPv4 addresses, this is the same as AsString(), but
|
||||
* IPv6 addresses are encased in square brackets.
|
||||
*/
|
||||
string AsURIString() const
|
||||
{
|
||||
if ( GetFamily() == IPv4 )
|
||||
return AsString();
|
||||
else
|
||||
return string("[") + AsString() + "]";
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns a host-order, plain hex string representation of the address.
|
||||
*/
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue