mirror of
https://github.com/zeek/zeek.git
synced 2025-10-10 02:28:21 +00:00
Merge remote-tracking branch 'origin/topic/jsiwek/ipv6-comm'
* origin/topic/jsiwek/ipv6-comm: Enable Bro to communicate with peers over non-global IPv6 addresses. Add unit tests for Broccoli SSL and Broccoli IPv6 connectivity. Remove AI_ADDRCONFIG getaddrinfo hints flag for listening sockets. Undo communication protocol version bump. Add support to Bro for connecting with peers over IPv6. Closes #820. Conflicts: src/bro.bif
This commit is contained in:
commit
f7261a7851
31 changed files with 749 additions and 201 deletions
26
src/IPAddr.h
26
src/IPAddr.h
|
@ -188,11 +188,20 @@ 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 +289,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