Class NetworkAdminImpl
- java.lang.Object
-
- com.biglybt.core.networkmanager.admin.NetworkAdmin
-
- com.biglybt.core.networkmanager.admin.impl.NetworkAdminImpl
-
- All Implemented Interfaces:
AEDiagnosticsEvidenceGenerator
public class NetworkAdminImpl extends NetworkAdmin implements AEDiagnosticsEvidenceGenerator
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description private static class
NetworkAdminImpl.AddressHistoryRecord
protected class
NetworkAdminImpl.networkInterface
protected static class
NetworkAdminImpl.networkNode
-
Field Summary
Fields Modifier and Type Field Description private java.net.InetAddress[]
additionalServiceBindIPs
private java.util.Map<java.lang.String,NetworkAdminImpl.AddressHistoryRecord>
address_history
private long
address_history_update_time
private static java.net.InetAddress
anyLocalAddress
private static java.net.InetAddress
anyLocalAddressIPv4
private static java.net.InetAddress
anyLocalAddressIPv6
private java.util.List
as_history
private java.util.List
asn_ips_checked
private static int
ASN_MIN_CHECK
private AsyncDispatcher
async_asn_dispacher
(package private) java.util.Map<java.net.InetAddress,NetworkAdminASN>
async_asn_history
static int
BS_ERROR
static int
BS_INACTIVE
(package private) long
bs_last_calc
private java.lang.Object[]
bs_last_value
static int
BS_OK
static int
BS_WARNING
private java.net.InetAddress[]
currentBindIPs
private boolean
forceBind
private static boolean
FULL_INTF_PROBE
private static AESemaphore
gdpa_initial_sem
private static long
gdpa_last_fail
private static long
gdpa_last_lookup
private static java.net.InetAddress[]
gdpa_lock
private static AESemaphore
gdpa_sem
private static java.net.InetAddress
gdpa6
private static boolean
gdpa6_checking
private static int
gdpa6_count
private static long
gdpa6_last_check
private static java.net.InetAddress
gdpa6_last_good
private java.lang.Object
getni_lock
private boolean
ignoreIPv4
private boolean
ignoreIPv6
private boolean
initialised
private static int
INTERFACE_CHECK_MILLIS
private boolean
IPv6_enabled
private long
last_asn_lookup_time
private java.util.List<java.net.NetworkInterface>
last_getni_result
private CopyOnWriteList<NetworkAdminPropertyChangeListener>
listeners
private static java.net.InetAddress
localhostV4
private static java.net.InetAddress
localhostV6
private boolean
logged_bind_force_issue
private static LogIDs
LOGID
private static int
MAX_ASYNC_ASN_LOOKUPS
private java.util.Set<java.net.NetworkInterface>
old_network_interfaces
private boolean
preferIPv6
private int
roundRobinCounterV4
private int
roundRobinCounterV6
private static int
ROUTE_CHECK_MILLIS
private static int
ROUTE_CHECK_TICKS
private boolean
supportsIPv4
private boolean
supportsIPv6
private boolean
supportsIPv6withNIO
private static java.lang.String
TEST_ADDRESS
private boolean
testedIPv6Routing
(package private) NetworkAdminRouteListener
trace_route_listener
-
Fields inherited from class com.biglybt.core.networkmanager.admin.NetworkAdmin
IP_PROTOCOL_VERSION_AUTO, IP_PROTOCOL_VERSION_REQUIRE_V4, IP_PROTOCOL_VERSION_REQUIRE_V6, PR_ADDITIONAL_SERVICE_ADDRESS, PR_AS, PR_DEFAULT_BIND_ADDRESS, PR_NAMES, PR_NETWORK_INTERFACES
-
-
Constructor Summary
Constructors Constructor Description NetworkAdminImpl()
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description void
addAndFirePropertyChangeListener(NetworkAdminPropertyChangeListener listener)
void
addPropertyChangeListener(NetworkAdminPropertyChangeListener listener)
protected void
addToASHistory(NetworkAdminASN asn)
protected NetworkAdminASNImpl
ASNFromMap(java.util.Map m)
protected java.util.Map
ASNToMap(NetworkAdminASNImpl x)
protected void
bind(java.nio.channels.ServerSocketChannel ssc, java.net.InetAddress address, int port)
protected boolean[]
bytesToBits(byte[] bytes)
private java.net.InetAddress[]
calcBindAddresses(java.lang.String addressString, boolean enforceBind)
protected boolean
canBind(java.net.InetAddress bind_ip)
protected boolean
canConnectWithBind(java.net.InetAddress bind_address, int timeout)
boolean
canPing()
boolean
canTraceRoute()
private int
categoriseIntf(java.net.NetworkInterface intf)
(package private) void
checkActiveConnections()
private java.lang.String
checkBindAddresses(boolean log_alerts)
(package private) void
checkConnectionRoutes()
protected void
checkDefaultBindAddress(boolean first_time)
private void
checkDNSSPI()
(package private) void
checkIPV6Routing()
protected boolean
checkNetworkInterfaces(boolean first_time, boolean force)
java.lang.String
classifyRoute(java.net.InetAddress address)
(package private) void
clearMaybeVPNs()
NetworkAdminProtocol
createInboundProtocol(Core core, int type, int port)
NetworkAdminSocksProxy
createSocksProxy(java.lang.String host, int port, java.lang.String username, java.lang.String password)
protected void
firePropertyChange(java.lang.String property)
void
generate(IndentWriter writer)
void
generateDiagnostics(IndentWriter iw)
protected void
generateDiagnostics(IndentWriter iw, NetworkAdminProtocol[] protocols)
java.net.InetAddress[]
getAllBindAddresses(boolean include_wildcard)
java.net.InetAddress
getAlternativeProtocolBindAddress(java.net.InetAddress address)
java.net.InetAddress[]
getBindableAddresses()
Returns the list of current addresses that can successfully be bound to with an ephemeral portprivate java.net.InetAddress[]
getBindableAddresses(boolean ignore_loopback, boolean ignore_link_local)
int
getBindablePort(int prefer_port)
java.lang.Object[]
getBindingStatus()
java.lang.String
getBindStatus()
private java.lang.String
getConfigKey(java.net.NetworkInterface intf)
NetworkAdminASN
getCurrentASN()
java.net.InetAddress
getDefaultPublicAddress()
java.net.InetAddress
getDefaultPublicAddress(boolean peek)
java.net.InetAddress
getDefaultPublicAddressV6()
protected NetworkAdminASN
getFromASHistory(java.net.InetAddress address)
NetworkAdminHTTPProxy
getHTTPProxy()
NetworkAdminProtocol[]
getInboundProtocols(Core core)
java.lang.Object[]
getInterfaceForAddress(java.net.InetAddress address)
NetworkAdminNetworkInterface[]
getInterfaces()
java.net.InetAddress
getLoopbackAddress()
java.net.InetAddress
getMultiHomedOutgoingRoundRobinBindAddress(java.net.InetAddress target)
java.net.InetAddress[]
getMultiHomedServiceBindAddresses(boolean nio)
NetworkAdminNATDevice[]
getNATDevices(Core core)
java.lang.String
getNetworkInterfacesAsString()
NetworkAdminProtocol[]
getOutboundProtocols(Core core)
NetworkAdminNode[]
getRoute(java.net.InetAddress interface_address, java.net.InetAddress target, int max_millis, NetworkAdminRouteListener listener)
void
getRoutes(java.net.InetAddress target, int max_millis, NetworkAdminRoutesListener listener)
java.net.InetAddress
getSingleHomedServiceBindAddress(int proto)
java.net.InetAddress[]
getSingleHomedServiceBinding(java.lang.String host)
Selects a bind address based on available host address and bind protocol familiesNetworkAdminSocksProxy[]
getSocksProxies()
private java.lang.String
getString(java.net.InetAddress[] addresses)
private java.lang.String
getString(java.util.List<java.net.InetAddress> addresses)
protected java.net.InetAddress
guessAddress(java.util.List addresses)
java.net.InetAddress
guessRoutableBindAddress()
boolean
hasDHTIPV4()
boolean
hasDHTIPV6()
boolean
hasIPV4Potential()
boolean
hasIPV6Potential(boolean nio)
boolean
hasMissingForcedBind()
private void
interfacesChanged(boolean first_time)
boolean
isIPV6Enabled()
boolean
isSocksActive()
void
logNATStatus(IndentWriter iw)
NetworkAdminASN
lookupASN(java.net.InetAddress address)
ad-hoc queryvoid
lookupASN(java.net.InetAddress address, NetworkAdminASNListener listener)
NetworkAdminASN
lookupCurrentASN(java.net.InetAddress address)
Only call if the supplied address is believed to be the current public addressstatic void
main(java.lang.String[] args)
protected java.net.InetAddress
mapAddressToBindIP(java.net.InetAddress address)
private void
maybeVPN(java.net.NetworkInterface intf)
private boolean
maybeVPNDone(java.net.NetworkInterface intf)
boolean
mustBind()
private static java.util.List<java.net.InetAddress>
parseAddresses(java.lang.String str)
NetworkAdminNode
pingTarget(java.net.InetAddress interface_address, java.net.InetAddress target, int max_millis, NetworkAdminRouteListener listener)
void
pingTargets(java.net.InetAddress target, int max_millis, NetworkAdminRoutesListener listener)
void
removePropertyChangeListener(NetworkAdminPropertyChangeListener listener)
java.net.InetAddress[]
resolveBindAddresses(java.lang.String bind_to)
Given an interface name etc this will return the corresponding ip addressesvoid
runInitialChecks(Core core)
protected void
setIPv6Enabled(boolean enabled)
private void
setup(Core core)
private void
setupAdditionalServiceBindIPs(java.lang.String str)
java.net.InetAddress
testProtocol(NetworkAdminProtocol protocol)
-
Methods inherited from class com.biglybt.core.networkmanager.admin.NetworkAdmin
getSingleHomedServiceBindAddress, getSingleton, hasIPV6Potential
-
-
-
-
Field Detail
-
LOGID
private static final LogIDs LOGID
-
FULL_INTF_PROBE
private static final boolean FULL_INTF_PROBE
- See Also:
- Constant Field Values
-
TEST_ADDRESS
private static final java.lang.String TEST_ADDRESS
- See Also:
- Constant Field Values
-
anyLocalAddress
private static java.net.InetAddress anyLocalAddress
-
anyLocalAddressIPv4
private static java.net.InetAddress anyLocalAddressIPv4
-
anyLocalAddressIPv6
private static java.net.InetAddress anyLocalAddressIPv6
-
localhostV4
private static java.net.InetAddress localhostV4
-
localhostV6
private static java.net.InetAddress localhostV6
-
INTERFACE_CHECK_MILLIS
private static final int INTERFACE_CHECK_MILLIS
- See Also:
- Constant Field Values
-
ROUTE_CHECK_MILLIS
private static final int ROUTE_CHECK_MILLIS
- See Also:
- Constant Field Values
-
ROUTE_CHECK_TICKS
private static final int ROUTE_CHECK_TICKS
- See Also:
- Constant Field Values
-
old_network_interfaces
private java.util.Set<java.net.NetworkInterface> old_network_interfaces
-
address_history
private final java.util.Map<java.lang.String,NetworkAdminImpl.AddressHistoryRecord> address_history
-
address_history_update_time
private long address_history_update_time
-
currentBindIPs
private java.net.InetAddress[] currentBindIPs
-
forceBind
private boolean forceBind
-
supportsIPv6withNIO
private boolean supportsIPv6withNIO
-
supportsIPv6
private boolean supportsIPv6
-
supportsIPv4
private boolean supportsIPv4
-
ignoreIPv4
private boolean ignoreIPv4
-
ignoreIPv6
private boolean ignoreIPv6
-
IPv6_enabled
private boolean IPv6_enabled
-
preferIPv6
private boolean preferIPv6
-
additionalServiceBindIPs
private java.net.InetAddress[] additionalServiceBindIPs
-
testedIPv6Routing
private volatile boolean testedIPv6Routing
-
roundRobinCounterV4
private int roundRobinCounterV4
-
roundRobinCounterV6
private int roundRobinCounterV6
-
logged_bind_force_issue
private boolean logged_bind_force_issue
-
listeners
private final CopyOnWriteList<NetworkAdminPropertyChangeListener> listeners
-
trace_route_listener
final NetworkAdminRouteListener trace_route_listener
-
ASN_MIN_CHECK
private static final int ASN_MIN_CHECK
- See Also:
- Constant Field Values
-
last_asn_lookup_time
private long last_asn_lookup_time
-
asn_ips_checked
private final java.util.List asn_ips_checked
-
as_history
private final java.util.List as_history
-
async_asn_dispacher
private final AsyncDispatcher async_asn_dispacher
-
MAX_ASYNC_ASN_LOOKUPS
private static final int MAX_ASYNC_ASN_LOOKUPS
- See Also:
- Constant Field Values
-
async_asn_history
final java.util.Map<java.net.InetAddress,NetworkAdminASN> async_asn_history
-
initialised
private final boolean initialised
-
last_getni_result
private java.util.List<java.net.NetworkInterface> last_getni_result
-
getni_lock
private final java.lang.Object getni_lock
-
gdpa_lock
private static final java.net.InetAddress[] gdpa_lock
-
gdpa_sem
private static AESemaphore gdpa_sem
-
gdpa_last_fail
private static long gdpa_last_fail
-
gdpa_last_lookup
private static long gdpa_last_lookup
-
gdpa_initial_sem
private static final AESemaphore gdpa_initial_sem
-
gdpa6
private static java.net.InetAddress gdpa6
-
gdpa6_count
private static int gdpa6_count
-
gdpa6_last_good
private static java.net.InetAddress gdpa6_last_good
-
gdpa6_last_check
private static long gdpa6_last_check
-
gdpa6_checking
private static boolean gdpa6_checking
-
BS_INACTIVE
public static final int BS_INACTIVE
- See Also:
- Constant Field Values
-
BS_OK
public static final int BS_OK
- See Also:
- Constant Field Values
-
BS_WARNING
public static final int BS_WARNING
- See Also:
- Constant Field Values
-
BS_ERROR
public static final int BS_ERROR
- See Also:
- Constant Field Values
-
bs_last_calc
long bs_last_calc
-
bs_last_value
private java.lang.Object[] bs_last_value
-
-
Method Detail
-
setup
private void setup(Core core)
-
checkDNSSPI
private void checkDNSSPI()
-
setIPv6Enabled
protected void setIPv6Enabled(boolean enabled)
-
isIPV6Enabled
public boolean isIPV6Enabled()
- Specified by:
isIPV6Enabled
in classNetworkAdmin
-
checkNetworkInterfaces
protected boolean checkNetworkInterfaces(boolean first_time, boolean force)
-
getMultiHomedOutgoingRoundRobinBindAddress
public java.net.InetAddress getMultiHomedOutgoingRoundRobinBindAddress(java.net.InetAddress target)
- Specified by:
getMultiHomedOutgoingRoundRobinBindAddress
in classNetworkAdmin
-
setupAdditionalServiceBindIPs
private void setupAdditionalServiceBindIPs(java.lang.String str)
-
getMultiHomedServiceBindAddresses
public java.net.InetAddress[] getMultiHomedServiceBindAddresses(boolean nio)
- Specified by:
getMultiHomedServiceBindAddresses
in classNetworkAdmin
-
getSingleHomedServiceBindAddress
public java.net.InetAddress getSingleHomedServiceBindAddress(int proto)
- Specified by:
getSingleHomedServiceBindAddress
in classNetworkAdmin
-
getSingleHomedServiceBinding
public java.net.InetAddress[] getSingleHomedServiceBinding(java.lang.String host) throws java.net.UnknownHostException, java.nio.channels.UnsupportedAddressTypeException
Description copied from class:NetworkAdmin
Selects a bind address based on available host address and bind protocol families- Specified by:
getSingleHomedServiceBinding
in classNetworkAdmin
- Returns:
- Array with 2 entries, first is selected host address, second is selected bind address (possibly null of course)
- Throws:
java.net.UnknownHostException
java.nio.channels.UnsupportedAddressTypeException
-
getAllBindAddresses
public java.net.InetAddress[] getAllBindAddresses(boolean include_wildcard)
- Specified by:
getAllBindAddresses
in classNetworkAdmin
-
resolveBindAddresses
public java.net.InetAddress[] resolveBindAddresses(java.lang.String bind_to)
Description copied from class:NetworkAdmin
Given an interface name etc this will return the corresponding ip addresses- Specified by:
resolveBindAddresses
in classNetworkAdmin
- Returns:
-
parseAddresses
private static java.util.List<java.net.InetAddress> parseAddresses(java.lang.String str)
-
calcBindAddresses
private java.net.InetAddress[] calcBindAddresses(java.lang.String addressString, boolean enforceBind)
-
checkBindAddresses
private java.lang.String checkBindAddresses(boolean log_alerts)
-
checkDefaultBindAddress
protected void checkDefaultBindAddress(boolean first_time)
-
getNetworkInterfacesAsString
public java.lang.String getNetworkInterfacesAsString()
- Specified by:
getNetworkInterfacesAsString
in classNetworkAdmin
-
hasIPV4Potential
public boolean hasIPV4Potential()
- Specified by:
hasIPV4Potential
in classNetworkAdmin
-
hasIPV6Potential
public boolean hasIPV6Potential(boolean nio)
- Specified by:
hasIPV6Potential
in classNetworkAdmin
-
getLoopbackAddress
public java.net.InetAddress getLoopbackAddress()
- Specified by:
getLoopbackAddress
in classNetworkAdmin
-
getBindableAddresses
public java.net.InetAddress[] getBindableAddresses()
Description copied from class:NetworkAdmin
Returns the list of current addresses that can successfully be bound to with an ephemeral port- Specified by:
getBindableAddresses
in classNetworkAdmin
- Returns:
-
getBindableAddresses
private java.net.InetAddress[] getBindableAddresses(boolean ignore_loopback, boolean ignore_link_local)
-
canBind
protected boolean canBind(java.net.InetAddress bind_ip)
-
getBindablePort
public int getBindablePort(int prefer_port) throws java.io.IOException
- Specified by:
getBindablePort
in classNetworkAdmin
- Throws:
java.io.IOException
-
bind
protected void bind(java.nio.channels.ServerSocketChannel ssc, java.net.InetAddress address, int port) throws java.io.IOException
- Throws:
java.io.IOException
-
guessRoutableBindAddress
public java.net.InetAddress guessRoutableBindAddress()
- Specified by:
guessRoutableBindAddress
in classNetworkAdmin
-
getAlternativeProtocolBindAddress
public java.net.InetAddress getAlternativeProtocolBindAddress(java.net.InetAddress address)
- Specified by:
getAlternativeProtocolBindAddress
in classNetworkAdmin
-
canConnectWithBind
protected boolean canConnectWithBind(java.net.InetAddress bind_address, int timeout)
-
mapAddressToBindIP
protected java.net.InetAddress mapAddressToBindIP(java.net.InetAddress address)
-
bytesToBits
protected boolean[] bytesToBits(byte[] bytes)
-
guessAddress
protected java.net.InetAddress guessAddress(java.util.List addresses)
-
interfacesChanged
private void interfacesChanged(boolean first_time)
-
getDefaultPublicAddress
public java.net.InetAddress getDefaultPublicAddress()
- Specified by:
getDefaultPublicAddress
in classNetworkAdmin
-
getDefaultPublicAddress
public java.net.InetAddress getDefaultPublicAddress(boolean peek)
- Specified by:
getDefaultPublicAddress
in classNetworkAdmin
-
getDefaultPublicAddressV6
public java.net.InetAddress getDefaultPublicAddressV6()
- Specified by:
getDefaultPublicAddressV6
in classNetworkAdmin
-
hasDHTIPV4
public boolean hasDHTIPV4()
- Specified by:
hasDHTIPV4
in classNetworkAdmin
-
hasDHTIPV6
public boolean hasDHTIPV6()
- Specified by:
hasDHTIPV6
in classNetworkAdmin
-
firePropertyChange
protected void firePropertyChange(java.lang.String property)
-
getInterfaces
public NetworkAdminNetworkInterface[] getInterfaces()
- Specified by:
getInterfaces
in classNetworkAdmin
-
getOutboundProtocols
public NetworkAdminProtocol[] getOutboundProtocols(Core core)
- Specified by:
getOutboundProtocols
in classNetworkAdmin
-
createInboundProtocol
public NetworkAdminProtocol createInboundProtocol(Core core, int type, int port)
- Specified by:
createInboundProtocol
in classNetworkAdmin
-
getInboundProtocols
public NetworkAdminProtocol[] getInboundProtocols(Core core)
- Specified by:
getInboundProtocols
in classNetworkAdmin
-
testProtocol
public java.net.InetAddress testProtocol(NetworkAdminProtocol protocol) throws NetworkAdminException
- Specified by:
testProtocol
in classNetworkAdmin
- Throws:
NetworkAdminException
-
isSocksActive
public boolean isSocksActive()
- Specified by:
isSocksActive
in classNetworkAdmin
-
createSocksProxy
public NetworkAdminSocksProxy createSocksProxy(java.lang.String host, int port, java.lang.String username, java.lang.String password)
- Specified by:
createSocksProxy
in classNetworkAdmin
-
getSocksProxies
public NetworkAdminSocksProxy[] getSocksProxies()
- Specified by:
getSocksProxies
in classNetworkAdmin
-
getHTTPProxy
public NetworkAdminHTTPProxy getHTTPProxy()
- Specified by:
getHTTPProxy
in classNetworkAdmin
-
getNATDevices
public NetworkAdminNATDevice[] getNATDevices(Core core)
- Specified by:
getNATDevices
in classNetworkAdmin
-
getCurrentASN
public NetworkAdminASN getCurrentASN()
- Specified by:
getCurrentASN
in classNetworkAdmin
-
ASNToMap
protected java.util.Map ASNToMap(NetworkAdminASNImpl x)
-
ASNFromMap
protected NetworkAdminASNImpl ASNFromMap(java.util.Map m)
-
lookupCurrentASN
public NetworkAdminASN lookupCurrentASN(java.net.InetAddress address) throws NetworkAdminException
Description copied from class:NetworkAdmin
Only call if the supplied address is believed to be the current public address- Specified by:
lookupCurrentASN
in classNetworkAdmin
- Returns:
- Throws:
NetworkAdminException
-
lookupASN
public NetworkAdminASN lookupASN(java.net.InetAddress address) throws NetworkAdminException
Description copied from class:NetworkAdmin
ad-hoc query- Specified by:
lookupASN
in classNetworkAdmin
- Returns:
- Throws:
NetworkAdminException
-
lookupASN
public void lookupASN(java.net.InetAddress address, NetworkAdminASNListener listener)
- Specified by:
lookupASN
in classNetworkAdmin
-
addToASHistory
protected void addToASHistory(NetworkAdminASN asn)
-
getFromASHistory
protected NetworkAdminASN getFromASHistory(java.net.InetAddress address)
-
runInitialChecks
public void runInitialChecks(Core core)
- Specified by:
runInitialChecks
in classNetworkAdmin
-
canTraceRoute
public boolean canTraceRoute()
- Specified by:
canTraceRoute
in classNetworkAdmin
-
getRoute
public NetworkAdminNode[] getRoute(java.net.InetAddress interface_address, java.net.InetAddress target, int max_millis, NetworkAdminRouteListener listener) throws NetworkAdminException
- Throws:
NetworkAdminException
-
canPing
public boolean canPing()
- Specified by:
canPing
in classNetworkAdmin
-
pingTarget
public NetworkAdminNode pingTarget(java.net.InetAddress interface_address, java.net.InetAddress target, int max_millis, NetworkAdminRouteListener listener) throws NetworkAdminException
- Throws:
NetworkAdminException
-
getRoutes
public void getRoutes(java.net.InetAddress target, int max_millis, NetworkAdminRoutesListener listener) throws NetworkAdminException
- Specified by:
getRoutes
in classNetworkAdmin
- Throws:
NetworkAdminException
-
pingTargets
public void pingTargets(java.net.InetAddress target, int max_millis, NetworkAdminRoutesListener listener) throws NetworkAdminException
- Specified by:
pingTargets
in classNetworkAdmin
- Throws:
NetworkAdminException
-
mustBind
public boolean mustBind()
- Specified by:
mustBind
in classNetworkAdmin
-
hasMissingForcedBind
public boolean hasMissingForcedBind()
- Specified by:
hasMissingForcedBind
in classNetworkAdmin
-
getBindStatus
public java.lang.String getBindStatus()
- Specified by:
getBindStatus
in classNetworkAdmin
-
getBindingStatus
public java.lang.Object[] getBindingStatus()
-
getString
private java.lang.String getString(java.util.List<java.net.InetAddress> addresses)
-
checkConnectionRoutes
void checkConnectionRoutes()
-
checkActiveConnections
void checkActiveConnections()
-
checkIPV6Routing
void checkIPV6Routing()
-
clearMaybeVPNs
void clearMaybeVPNs()
-
maybeVPNDone
private boolean maybeVPNDone(java.net.NetworkInterface intf)
-
maybeVPN
private void maybeVPN(java.net.NetworkInterface intf)
-
getConfigKey
private java.lang.String getConfigKey(java.net.NetworkInterface intf)
-
categoriseIntf
private int categoriseIntf(java.net.NetworkInterface intf)
-
classifyRoute
public java.lang.String classifyRoute(java.net.InetAddress address)
- Specified by:
classifyRoute
in classNetworkAdmin
-
getInterfaceForAddress
public java.lang.Object[] getInterfaceForAddress(java.net.InetAddress address)
- Specified by:
getInterfaceForAddress
in classNetworkAdmin
- Returns:
- { NetworkInterface, InetAddress (best intf address)}, {NetworkInterface} or {InetAddress (nomatch, same as arg)}
-
addPropertyChangeListener
public void addPropertyChangeListener(NetworkAdminPropertyChangeListener listener)
- Specified by:
addPropertyChangeListener
in classNetworkAdmin
-
addAndFirePropertyChangeListener
public void addAndFirePropertyChangeListener(NetworkAdminPropertyChangeListener listener)
- Specified by:
addAndFirePropertyChangeListener
in classNetworkAdmin
-
removePropertyChangeListener
public void removePropertyChangeListener(NetworkAdminPropertyChangeListener listener)
- Specified by:
removePropertyChangeListener
in classNetworkAdmin
-
generate
public void generate(IndentWriter writer)
- Specified by:
generate
in interfaceAEDiagnosticsEvidenceGenerator
-
getString
private java.lang.String getString(java.net.InetAddress[] addresses)
-
generateDiagnostics
public void generateDiagnostics(IndentWriter iw)
- Specified by:
generateDiagnostics
in classNetworkAdmin
-
generateDiagnostics
protected void generateDiagnostics(IndentWriter iw, NetworkAdminProtocol[] protocols)
-
logNATStatus
public void logNATStatus(IndentWriter iw)
- Specified by:
logNATStatus
in classNetworkAdmin
-
main
public static void main(java.lang.String[] args)
-
-