Changeset 8dde7b7


Ignore:
Timestamp:
Mar 17, 2015 9:29:03 PM (6 years ago)
Author:
zzz <zzz@…>
Branches:
master
Children:
d3f5596
Parents:
64faeef
Message:

UPnP:

  • New fix Device.getAbsoluteURL() once again after merge
  • Don't load local files in Service.getSCPDNode()
Location:
router/java/src/org/cybergarage/upnp
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • router/java/src/org/cybergarage/upnp/Device.java

    r64faeef r8dde7b7  
    256256        public String getAbsoluteURL(String urlString, String baseURLStr,
    257257                        String locationURLStr) {
     258                //Debug.warning("GAURL \"" + urlString + "\" \"" + baseURLStr + "\" \"" + locationURLStr + '"');
    258259                if ((urlString == null) || (urlString.length() <= 0))
    259260                        return "";
     
    261262                try {
    262263                        URL url = new URL(urlString);
     264                        //Debug.warning("Return 0: " + url);
    263265                        return url.toString();
    264266                } catch (Exception e) {
     
    268270                        if ((locationURLStr != null) && (0 < locationURLStr.length())) {
    269271                                if (!locationURLStr.endsWith("/") || !urlString.startsWith("/")) {
    270                                         String absUrl = locationURLStr + urlString;
     272                                        String absUrl;
     273                                        // I2P - getAbsoluteURL("/WANIPCn.xml", "", "http://192.168.1.1:5555/rootDesc.xml")
     274                                        // returns here as  "http://192.168.1.1:5555/rootDesc.xml/WANIPCn.xml" which is horribly wrong
     275                                        // So back up to last slash
     276                                        if (!locationURLStr.endsWith("/")) {
     277                                                if (urlString.startsWith("/"))
     278                                                      absUrl = locationURLStr.substring(0, locationURLStr.lastIndexOf('/')) + urlString;
     279                                                else
     280                                                      absUrl = locationURLStr.substring(0, locationURLStr.lastIndexOf('/') + 1) + urlString;
     281                                        } else {
     282                                                absUrl = locationURLStr + urlString;
     283                                        }
    271284                                        try {
    272285                                                URL url = new URL(absUrl);
     286                                                //Debug.warning("Return 1: " + url);
    273287                                                return url.toString();
    274288                                        } catch (Exception e) {
     
    278292                                        try {
    279293                                                URL url = new URL(absUrl);
     294                                                //Debug.warning("Return 2: " + url);
    280295                                                return url.toString();
    281296                                        } catch (Exception e) {
     
    286301                                try {
    287302                                        URL url = new URL(absUrl);
     303                                        //Debug.warning("Return 3: " + url);
    288304                                        return url.toString();
    289305                                } catch (Exception e) {
     
    307323                                try {
    308324                                        URL url = new URL(absUrl);
     325                                        //Debug.warning("Return 4: " + url);
    309326                                        return url.toString();
    310327                                } catch (Exception e) {
     
    314331                                try {
    315332                                        URL url = new URL(absUrl);
     333                                        //Debug.warning("Return 5: " + url);
    316334                                        return url.toString();
    317335                                } catch (Exception e) {
     
    322340                        try {
    323341                                URL url = new URL(absUrl);
     342                                //Debug.warning("Return 6: " + url);
    324343                                return url.toString();
    325344                        } catch (Exception e) {
     
    327346                }
    328347
     348                //Debug.warning("Return 7: " + urlString);
    329349                return urlString;
    330350        }
  • router/java/src/org/cybergarage/upnp/Service.java

    r64faeef r8dde7b7  
    437437                String scpdURLStr = getSCPDURL();
    438438
     439/****
     440 * I2P - no, dont attempt to load local file
     441 *
    439442                // Thanks for Robin V. (Sep 18, 2010)
    440443                String rootDevPath = rootDev.getDescriptionFilePath();
     
    456459                        }
    457460                }
     461****/
    458462
    459463                try {
     
    465469                        }
    466470                }
    467                 catch (Exception e) {}
    468                
     471                catch (Exception e) {
     472                        // I2P
     473                        Debug.warning(e);
     474                }
     475               
     476/****
     477 * I2P - no, dont attempt to load local file
     478 *
    469479                String newScpdURLStr = rootDev.getDescriptionFilePath() + HTTP.toRelativeURL(scpdURLStr);
    470480                try {
     
    475485                        Debug.warning(e);
    476486                }
     487****/
    477488               
    478489                return null;
Note: See TracChangeset for help on using the changeset viewer.