Extend whitelist to handle URLs without // chars

Project: http://git-wip-us.apache.org/repos/asf/cordova-amazon-fireos/repo
Commit: 
http://git-wip-us.apache.org/repos/asf/cordova-amazon-fireos/commit/2fdc6757
Tree: http://git-wip-us.apache.org/repos/asf/cordova-amazon-fireos/tree/2fdc6757
Diff: http://git-wip-us.apache.org/repos/asf/cordova-amazon-fireos/diff/2fdc6757

Branch: refs/heads/master
Commit: 2fdc6757a795c2345eb00948e66a8fb257f30aa4
Parents: 7cb244e
Author: Ian Clelland <[email protected]>
Authored: Thu Jun 26 15:48:50 2014 -0400
Committer: Archana Naik <[email protected]>
Committed: Tue Aug 5 12:44:44 2014 -0700

----------------------------------------------------------------------
 framework/src/org/apache/cordova/Whitelist.java | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cordova-amazon-fireos/blob/2fdc6757/framework/src/org/apache/cordova/Whitelist.java
----------------------------------------------------------------------
diff --git a/framework/src/org/apache/cordova/Whitelist.java 
b/framework/src/org/apache/cordova/Whitelist.java
index ecbb7f6..5101ec3 100644
--- a/framework/src/org/apache/cordova/Whitelist.java
+++ b/framework/src/org/apache/cordova/Whitelist.java
@@ -124,15 +124,15 @@ public class Whitelist {
                     whiteList = null;
                 }
                 else { // specific access
-                    Pattern parts = 
Pattern.compile("^((\\*|[A-Za-z-]+)://)?(\\*|((\\*\\.)?[^*/:]+))?(:(\\d+))?(/.*)?");
+                    Pattern parts = 
Pattern.compile("^((\\*|[A-Za-z-]+):(//)?)?(\\*|((\\*\\.)?[^*/:]+))?(:(\\d+))?(/.*)?");
                     Matcher m = parts.matcher(origin);
                     if (m.matches()) {
                         String scheme = m.group(2);
-                        String host = m.group(3);
+                        String host = m.group(4);
                         // Special case for two urls which are allowed to have 
empty hosts
                         if (("file".equals(scheme) || 
"content".equals(scheme)) && host == null) host = "*";
-                        String port = m.group(7);
-                        String path = m.group(8);
+                        String port = m.group(8);
+                        String path = m.group(9);
                         if (scheme == null) {
                             // XXX making it stupid friendly for people who 
forget to include protocol/SSL
                             whiteList.add(new URLPattern("http", host, port, 
path));

Reply via email to