| Index: net/base/net_util.h
|
| diff --git a/net/base/net_util.h b/net/base/net_util.h
|
| index 39cb6abdc9caef02a5b3b3532d5efddeb4d1df33..5999ad273e1fbedff0cf193288eed5e22b230cba 100644
|
| --- a/net/base/net_util.h
|
| +++ b/net/base/net_util.h
|
| @@ -438,6 +438,24 @@ NET_EXPORT_PRIVATE int GetPortFromSockaddr(const struct sockaddr* address,
|
| // machine.
|
| NET_EXPORT_PRIVATE bool IsLocalhost(const std::string& host);
|
|
|
| +// A subset of IP address attributes which are actionable by the
|
| +// application layer. Currently unimplemented for all hosts;
|
| +// IP_ADDRESS_ATTRIBUTE_NONE is always returned.
|
| +enum IPAddressAttributes {
|
| + IP_ADDRESS_ATTRIBUTE_NONE = 0,
|
| +
|
| + // A temporary address is dynamic by nature and will not contain MAC
|
| + // address. Presence of MAC address in IPv6 addresses can be used to
|
| + // track an endpoint and cause privacy concern. Please refer to
|
| + // RFC4941.
|
| + IP_ADDRESS_ATTRIBUTE_TEMPORARY = 1 << 0,
|
| +
|
| + // A temporary address could become deprecated once the preferred
|
| + // lifetime is reached. It is still valid but shouldn't be used to
|
| + // create new connections.
|
| + IP_ADDRESS_ATTRIBUTE_DEPRECATED = 1 << 1,
|
| +};
|
| +
|
| // struct that is used by GetNetworkList() to represent a network
|
| // interface.
|
| struct NET_EXPORT NetworkInterface {
|
| @@ -447,7 +465,8 @@ struct NET_EXPORT NetworkInterface {
|
| uint32 interface_index,
|
| NetworkChangeNotifier::ConnectionType type,
|
| const IPAddressNumber& address,
|
| - uint32 network_prefix);
|
| + uint32 network_prefix,
|
| + int ip_address_attributes);
|
| ~NetworkInterface();
|
|
|
| std::string name;
|
| @@ -456,6 +475,7 @@ struct NET_EXPORT NetworkInterface {
|
| NetworkChangeNotifier::ConnectionType type;
|
| IPAddressNumber address;
|
| uint32 network_prefix;
|
| + int ip_address_attributes; // Combination of |IPAddressAttributes|.
|
| };
|
|
|
| typedef std::vector<NetworkInterface> NetworkInterfaceList;
|
|
|