Changeset 31cd726


Ignore:
Timestamp:
May 20, 2009 3:01:43 PM (11 years ago)
Author:
zzz <zzz@…>
Branches:
master
Children:
846c5fcf
Parents:
3ba43a77
Message:
  • UPnP:
    • Fix up port handling, add some logging on bind fails
    • Force IPv4 only for binds
Location:
router/java/src
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • router/java/src/net/i2p/router/transport/UPnPManager.java

    r3ba43a77 r31cd726  
    4949        _manager = manager;
    5050        _log = _context.logManager().getLog(UPnPManager.class);
     51        // UPnP wants to bind to IPv6 link local interfaces by default, but what UPnP router
     52        // is going to want to talk IPv6 anyway? Just make it easy and force IPv4 only
     53        org.cybergarage.upnp.UPnP.setEnable(org.cybergarage.upnp.UPnP.USE_ONLY_IPV4_ADDR);
    5154        _upnp = new UPnP(context);
    5255        _upnp.setHTTPPort(_context.getProperty(PROP_HTTP_PORT, DEFAULT_HTTP_PORT));
     
    151154    public String renderStatusHTML() {
    152155        if (!_isRunning)
    153             return "<a name=\"upnp\"><<b>UPnP is not enabled</b>\n";
     156            return "<a name=\"upnp\"><b>UPnP is not enabled</b>\n";
    154157        return _upnp.renderStatusHTML();
    155158    }
  • router/java/src/org/cybergarage/http/HTTPServer.java

    r3ba43a77 r31cd726  
    9292                }
    9393                catch (IOException e) {
     94                        Debug.warning("HTTP server open failed " + addr + " " + port, e);
    9495                        return false;
    9596                }
  • router/java/src/org/cybergarage/upnp/ControlPoint.java

    r3ba43a77 r31cd726  
    787787                while (httpServerList.open(bindPort) == false) {
    788788                        retryCnt++;
    789                         if (UPnP.SERVER_RETRY_COUNT < retryCnt)
     789                        if (UPnP.SERVER_RETRY_COUNT < retryCnt) {
     790                                Debug.warning("Failed to open HTTP event listener port " + bindPort);
     791                                // I2P do we really need this, or can we just break ?
    790792                                return false;
    791                         setHTTPPort(bindPort + 1);
     793                        }
     794                        // I2P go down not up so we don't run into other I2P things
     795                        setHTTPPort(bindPort - 1);
    792796                        bindPort = getHTTPPort();
    793797                }
     
    800804               
    801805                SSDPNotifySocketList ssdpNotifySocketList = getSSDPNotifySocketList();
    802                 if (ssdpNotifySocketList.open() == false)
     806                if (ssdpNotifySocketList.open() == false) {
     807                        Debug.warning("Failed to open SSDP notify port 1900");
    803808                        return false;
     809                }
    804810                ssdpNotifySocketList.setControlPoint(this);                     
    805811                ssdpNotifySocketList.start();
     
    814820                while (ssdpSearchResponseSocketList.open(ssdpPort) == false) {
    815821                        retryCnt++;
    816                         if (UPnP.SERVER_RETRY_COUNT < retryCnt)
     822                        if (UPnP.SERVER_RETRY_COUNT < retryCnt) {
     823                                Debug.warning("Failed to open SSDP search response port " + ssdpPort);
    817824                                return false;
    818                         setSSDPPort(ssdpPort + 1);
     825                        }
     826                        // I2P go down not up so we don't run into other I2P things
     827                        setSSDPPort(ssdpPort - 1);
    819828                        ssdpPort = getSSDPPort();
    820829                }
  • router/java/src/org/cybergarage/upnp/UPnP.java

    r3ba43a77 r31cd726  
    3838        public final static String VERSION = "1.7";
    3939
    40         public final static int SERVER_RETRY_COUNT = 100;
     40        // I2P was 100
     41        public final static int SERVER_RETRY_COUNT = 4;
    4142        public final static int DEFAULT_EXPIRED_DEVICE_EXTRA_TIME = 60;
    4243
Note: See TracChangeset for help on using the changeset viewer.