Strip interface name from host address if present.

This commit is contained in:
akwizgran
2013-04-07 20:13:37 +01:00
parent 5b37ff3a0e
commit 2de3160c90
4 changed files with 22 additions and 7 deletions

View File

@@ -184,7 +184,7 @@ class LanTcpPlugin extends TcpPlugin {
boolean site = addr.isSiteLocalAddress();
if(link || site) {
if(LOG.isLoggable(INFO))
LOG.info("Preferring " + addr.getHostAddress());
LOG.info("Preferring " + getHostAddress(addr));
return addr;
}
}
@@ -194,7 +194,7 @@ class LanTcpPlugin extends TcpPlugin {
for(InetAddress addr : Collections.list(iface.getInetAddresses())) {
if(addr.isLoopbackAddress()) continue;
if(LOG.isLoggable(INFO))
LOG.info("Accepting " + addr.getHostAddress());
LOG.info("Accepting " + getHostAddress(addr));
return addr;
}
}

View File

@@ -35,11 +35,13 @@ class PortMapperImpl implements PortMapper {
if(gateway == null) return null;
InetAddress internal = gateway.getLocalAddress();
if(internal == null) return null;
if(LOG.isLoggable(INFO))
LOG.info("Internal address " + getHostAddress(internal));
boolean succeeded = false;
InetAddress external = null;
try {
succeeded = gateway.addPortMapping(port, port,
internal.getHostAddress(), "TCP", "TCP");
getHostAddress(internal), "TCP", "TCP");
if(succeeded) {
shutdownManager.addShutdownHook(new Runnable() {
public void run() {
@@ -60,6 +62,13 @@ class PortMapperImpl implements PortMapper {
return new MappingResult(internal, external, port, succeeded);
}
private String getHostAddress(InetAddress a) {
String addr = a.getHostAddress();
int percent = addr.indexOf('%');
if(percent == -1) return addr;
return addr.substring(0, percent);
}
private void start() {
GatewayDiscover d = new GatewayDiscover();
try {

View File

@@ -93,7 +93,7 @@ abstract class TcpPlugin implements DuplexPlugin {
}
socket = ss;
if(LOG.isLoggable(INFO)) {
String addr = ss.getInetAddress().getHostAddress();
String addr = getHostAddress(ss.getInetAddress());
int port = ss.getLocalPort();
LOG.info("Listening on " + addr + " " + port);
}
@@ -109,10 +109,16 @@ abstract class TcpPlugin implements DuplexPlugin {
}
}
protected String getHostAddress(InetAddress a) {
String addr = a.getHostAddress();
int percent = addr.indexOf('%');
if(percent == -1) return addr;
return addr.substring(0, percent);
}
protected void setLocalSocketAddress(InetSocketAddress a) {
InetAddress addr = a.getAddress();
TransportProperties p = new TransportProperties();
p.put("address", addr.getHostAddress());
p.put("address", getHostAddress(a.getAddress()));
p.put("port", String.valueOf(a.getPort()));
callback.mergeLocalProperties(p);
}

View File

@@ -110,7 +110,7 @@ class WanTcpPlugin extends TcpPlugin {
a = mappingResult.getExternal();
}
TransportProperties p = new TransportProperties();
p.put("address", a.getAddress().getHostAddress());
p.put("address", getHostAddress(a.getAddress()));
p.put("port", String.valueOf(a.getPort()));
callback.mergeLocalProperties(p);
}