Author: nextgens
Date: 2007-06-05 11:43:14 +0000 (Tue, 05 Jun 2007)
New Revision: 13471

Modified:
   trunk/freenet/src/freenet/clients/http/FirstTimeWizardToadlet.java
Log:
FirstTimeWizardToadlet, add IPV6 addresses only if available

Modified: trunk/freenet/src/freenet/clients/http/FirstTimeWizardToadlet.java
===================================================================
--- trunk/freenet/src/freenet/clients/http/FirstTimeWizardToadlet.java  
2007-06-05 00:15:54 UTC (rev 13470)
+++ trunk/freenet/src/freenet/clients/http/FirstTimeWizardToadlet.java  
2007-06-05 11:43:14 UTC (rev 13471)
@@ -4,6 +4,7 @@
 package freenet.clients.http;

 import java.io.IOException;
+import java.net.Inet6Address;
 import java.net.InetAddress;
 import java.net.NetworkInterface;
 import java.net.URI;
@@ -244,8 +245,9 @@
                } else if(request.isPartSet("networkF")) {
                        StringBuffer sb = new StringBuffer();
                        // prevent the user from locking himself out
-                       sb.append("127.0.0.1,0:0:0:0:0:0:0:1");
+                       sb.append("127.0.0.1");
                        short ifCount = 0;
+                       boolean hasIPV6 = false;

                        Enumeration interfaces = 
NetworkInterface.getNetworkInterfaces();
                        while(interfaces.hasMoreElements()) {
@@ -255,6 +257,9 @@
                                Enumeration ipAddresses = 
currentIF.getInetAddresses();
                                while(ipAddresses.hasMoreElements()) {
                                        InetAddress currentInetAddress = 
(InetAddress) ipAddresses.nextElement();
+                                       if(currentInetAddress instanceof 
Inet6Address)
+                                               hasIPV6 = true;
+                                       
                                        if((currentInetAddress == null) || 
(currentInetAddress.isLoopbackAddress())) continue;

                                        String isIFSelected 
=request.getPartAsString(Base64.encode(currentInetAddress.getAddress()), 255);
@@ -266,6 +271,9 @@
                                }
                        }

+                       if(hasIPV6)
+                               sb.append(",0:0:0:0:0:0:0:1");
+                       
                        if(ifCount > 0) {
                                try {
                                        // Java doesn't provide a way to get 
the netmask : workaround and bind only to trusted if


Reply via email to