You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cordova.apache.org by ag...@apache.org on 2013/05/02 16:45:26 UTC
ios commit: [CB-3321] Fix bogus "failed whitelist" log messages
Updated Branches:
refs/heads/master 2f53c3ff6 -> bb7556d6a
[CB-3321] Fix bogus "failed whitelist" log messages
Project: http://git-wip-us.apache.org/repos/asf/cordova-ios/repo
Commit: http://git-wip-us.apache.org/repos/asf/cordova-ios/commit/bb7556d6
Tree: http://git-wip-us.apache.org/repos/asf/cordova-ios/tree/bb7556d6
Diff: http://git-wip-us.apache.org/repos/asf/cordova-ios/diff/bb7556d6
Branch: refs/heads/master
Commit: bb7556d6ac90f3db6c19982cacef0f30d6fd9ff1
Parents: 2f53c3f
Author: Andrew Grieve <ag...@chromium.org>
Authored: Thu May 2 10:44:39 2013 -0400
Committer: Andrew Grieve <ag...@chromium.org>
Committed: Thu May 2 10:44:39 2013 -0400
----------------------------------------------------------------------
CordovaLib/Classes/CDVWhitelist.h | 1 +
CordovaLib/Classes/CDVWhitelist.m | 14 ++++++++++++--
2 files changed, 13 insertions(+), 2 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/bb7556d6/CordovaLib/Classes/CDVWhitelist.h
----------------------------------------------------------------------
diff --git a/CordovaLib/Classes/CDVWhitelist.h b/CordovaLib/Classes/CDVWhitelist.h
index e339dd0..9165097 100644
--- a/CordovaLib/Classes/CDVWhitelist.h
+++ b/CordovaLib/Classes/CDVWhitelist.h
@@ -28,6 +28,7 @@ extern NSString* const kCDVDefaultWhitelistRejectionString;
- (id)initWithArray:(NSArray*)array;
- (BOOL)schemeIsAllowed:(NSString*)scheme;
- (BOOL)URLIsAllowed:(NSURL*)url;
+- (BOOL)URLIsAllowed:(NSURL*)url logFailure:(BOOL)logFailure;
- (NSString*)errorStringForURL:(NSURL*)url;
@end
http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/bb7556d6/CordovaLib/Classes/CDVWhitelist.m
----------------------------------------------------------------------
diff --git a/CordovaLib/Classes/CDVWhitelist.m b/CordovaLib/Classes/CDVWhitelist.m
index db7aa32..686a0ed 100644
--- a/CordovaLib/Classes/CDVWhitelist.m
+++ b/CordovaLib/Classes/CDVWhitelist.m
@@ -170,19 +170,27 @@ NSString* const kCDVDefaultSchemeName = @"cdv-default-scheme";
- (BOOL)URLIsAllowed:(NSURL*)url
{
+ return [self URLIsAllowed:url logFailure:YES];
+}
+
+- (BOOL)URLIsAllowed:(NSURL*)url logFailure:(BOOL)logFailure
+{
NSString* scheme = [url scheme];
// http[s] and ftp[s] should also validate against the common set in the kCDVDefaultSchemeName list
if ([scheme isEqualToString:@"http"] || [scheme isEqualToString:@"https"] || [scheme isEqualToString:@"ftp"] || [scheme isEqualToString:@"ftps"]) {
NSURL* newUrl = [NSURL URLWithString:[NSString stringWithFormat:@"%@://%@", kCDVDefaultSchemeName, [url host]]];
// If it is allowed, we are done. If not, continue to check for the actual scheme-specific list
- if ([self URLIsAllowed:newUrl]) {
+ if ([self URLIsAllowed:newUrl logFailure:NO]) {
return YES;
}
}
// Check that the scheme is supported
if (![self schemeIsAllowed:scheme]) {
+ if (logFailure) {
+ NSLog(@"%@", [self errorStringForURL:url]);
+ }
return NO;
}
@@ -210,7 +218,9 @@ NSString* const kCDVDefaultSchemeName = @"cdv-default-scheme";
}
}
- NSLog(@"%@", [self errorStringForURL:url]);
+ if (logFailure) {
+ NSLog(@"%@", [self errorStringForURL:url]);
+ }
// if we got here, the url host is not in the white-list, do nothing
return NO;
}