Commit 79303026 authored by Oliver Wiese's avatar Oliver Wiese
Browse files

update pods, move to swift 5, clean code

parent c29e62c2
Loading
Loading
Loading
Loading
+13 −11
Original line number Diff line number Diff line
PODS:
  - AppAuth (0.95.0)
  - AppAuth (0.95.1)
  - BZipCompression (1.0.2)
  - FrameAccessor (1.3.2)
  - GTMAppAuth (0.7.1):
    - AppAuth (~> 0.95)
    - GTMSessionFetcher (~> 1.1)
  - GTMSessionFetcher (1.2.1):
    - GTMSessionFetcher/Full (= 1.2.1)
  - GTMSessionFetcher/Core (1.2.1)
  - GTMSessionFetcher/Full (1.2.1):
    - GTMSessionFetcher/Core (= 1.2.1)
  - GTMSessionFetcher (1.2.2):
    - GTMSessionFetcher/Full (= 1.2.2)
  - GTMSessionFetcher/Core (1.2.2)
  - GTMSessionFetcher/Full (1.2.2):
    - GTMSessionFetcher/Core (= 1.2.2)
  - KeychainAccess (3.2.0)
  - mailcore2-ios (0.6.4)
  - Onboard (2.3.1)
  - OpenSSL-Universal (1.0.2.17)
  - OpenSSL-Universal (1.0.2.18):
    - OpenSSL-Universal/Static (= 1.0.2.18)
  - OpenSSL-Universal/Static (1.0.2.18)
  - QAKit (0.0.7)
  - Travellib (0.0.1)
  - VENTokenField (2.5.2):
@@ -58,22 +60,22 @@ CHECKOUT OPTIONS:
    :commit: 58473736aa31e57ed94c7ab6221af8def5839ca1
    :git: https://github.com/MailCore/mailcore2.git
  OpenSSL-Universal:
    :commit: 328cdcbe2192f19f539181964e9f4a2f6655505d
    :commit: 273a1f5097a9b7b8101c5678e2dd68ec015e22d5
    :git: https://github.com/krzyzanowskim/OpenSSL.git
  Travellib:
    :commit: dcba44234442f1881476cc8cf62b9aff53145609
    :git: https://git.imp.fu-berlin.de/jakobsbode/travellib.git

SPEC CHECKSUMS:
  AppAuth: 137f6bb6fc9dfbaf2cf9f6fcff1d336ff0163bc6
  AppAuth: cd34aac431e5c77c46ec7f03935377faa8c5808b
  BZipCompression: e0f96508e60eb93b5f5d4c7de1eb3dd0ac4f9ae9
  FrameAccessor: 0f7ba6ce37be9a5d0302a27c731dca70af8d438b
  GTMAppAuth: c5e41aaf039ac1ccc41543e6ea2ef7abd255ad41
  GTMSessionFetcher: 32aeca0aa144acea523e1c8e053089dec2cb98ca
  GTMSessionFetcher: 61bb0f61a4cb560030f1222021178008a5727a23
  KeychainAccess: 3b1bf8a77eb4c6ea1ce9404c292e48f948954c6b
  mailcore2-ios: 603bf559a9e50327a0f85a7fab7861ab1c042656
  Onboard: b6871f25ac753175b2ab9a362fb2feb26a81a311
  OpenSSL-Universal: 0a0ed6199966ca925e100a261c460b7f14c5871c
  OpenSSL-Universal: d10ab08e0b258023e5184f77660b1b9f4ec93926
  QAKit: abefda5db53a58012fc8410d310e0ef217515607
  Travellib: 819ccc356d19fdaf6f0b3c89db069d34aa6c3ec9
  VENTokenField: 5a19b838fb97f040e3d4c93f584b4adeaf3fc1ee
+4 −1
Original line number Diff line number Diff line
@@ -47,7 +47,10 @@ NS_ASSUME_NONNULL_BEGIN
    @param factory The @c OIDSafariViewControllerFactory to use for creating new instances of
        @c SFSafariViewController.
 */
+ (void)setSafariViewControllerFactory:(id<OIDSafariViewControllerFactory>)factory;
+ (void)setSafariViewControllerFactory:(id<OIDSafariViewControllerFactory>)factory
    __deprecated_msg("SFSafariViewController customization has been removed. If you need to "
                     "customize the external user-agent, suggest you create your own version of "
                     "OIDExternalUserAgentIOS and customize it as you need");

/*! @internal
    @brief Unavailable. Please use @c initWithPresentingViewController:
+51 −42
Original line number Diff line number Diff line
@@ -85,10 +85,13 @@ static id<OIDSafariViewControllerFactory> __nullable gSafariViewControllerFactor

  _externalUserAgentFlowInProgress = YES;
  _session = session;
  BOOL openedSafari = NO;
  BOOL openedUserAgent = NO;
  NSURL *requestURL = [request externalUserAgentRequestURL];

  // iOS 11, use SFAuthenticationSession
  if (@available(iOS 11.0, *)) {
    // SFAuthenticationSession doesn't work with guided access (rdar://40809553)
    if (!openedUserAgent && !UIAccessibilityIsGuidedAccessEnabled()) {
      __weak OIDExternalUserAgentIOS *weakSelf = self;
      NSString *redirectScheme = request.redirectScheme;
      SFAuthenticationSession *authenticationVC =
@@ -97,8 +100,9 @@ static id<OIDSafariViewControllerFactory> __nullable gSafariViewControllerFactor
                                     completionHandler:^(NSURL * _Nullable callbackURL,
                                                         NSError * _Nullable error) {
        __strong OIDExternalUserAgentIOS *strongSelf = weakSelf;
      if (!strongSelf)
        if (!strongSelf) {
            return;
        }
        strongSelf->_authenticationVC = nil;
        if (callbackURL) {
          [strongSelf->_session resumeExternalUserAgentFlowWithURL:callbackURL];
@@ -111,26 +115,33 @@ static id<OIDSafariViewControllerFactory> __nullable gSafariViewControllerFactor
        }
      }];
      _authenticationVC = authenticationVC;
    openedSafari = [authenticationVC start];
  } else if (@available(iOS 9.0, *)) {
      openedUserAgent = [authenticationVC start];
    }
  }
  // iOS 9 and 10, use SFSafariViewController
  if (@available(iOS 9.0, *)) {
    if (!openedUserAgent) {
      SFSafariViewController *safariVC =
        [[[self class] safariViewControllerFactory] safariViewControllerWithURL:requestURL];
          [[SFSafariViewController alloc] initWithURL:requestURL];
      safariVC.delegate = self;
      _safariVC = safariVC;
      [_presentingViewController presentViewController:safariVC animated:YES completion:nil];
    openedSafari = YES;
  } else {
    openedSafari = [[UIApplication sharedApplication] openURL:requestURL];
      openedUserAgent = YES;
    }
  }
  // iOS 8 and earlier, use mobile Safari
  if (!openedUserAgent){
    openedUserAgent = [[UIApplication sharedApplication] openURL:requestURL];
  }

  if (!openedSafari) {
  if (!openedUserAgent) {
    [self cleanUp];
    NSError *safariError = [OIDErrorUtilities errorWithCode:OIDErrorCodeSafariOpenError
                                            underlyingError:nil
                                                description:@"Unable to open Safari."];
    [session failExternalUserAgentFlowWithError:safariError];
  }
  return openedSafari;
  return openedUserAgent;
}

- (void)dismissExternalUserAgentAnimated:(BOOL)animated completion:(void (^)(void))completion {
@@ -147,18 +158,16 @@ static id<OIDSafariViewControllerFactory> __nullable gSafariViewControllerFactor
  
  [self cleanUp];
  
  if (@available(iOS 11.0, *)) {
  if (authenticationVC) {
    // dismiss the SFAuthenticationSession
    [authenticationVC cancel];
    if (completion) completion();
  } else if (@available(iOS 9.0, *)) {
    if (safariVC) {
  } else if (safariVC) {
    // dismiss the SFSafariViewController
    [safariVC dismissViewControllerAnimated:YES completion:completion];
  } else {
    if (completion) completion();
  }
  } else {
    if (completion) completion();
  }
}

- (void)cleanUp {
+8 −8
Original line number Diff line number Diff line
@@ -631,7 +631,7 @@ NSData * GTM_NULLABLE_TYPE GTMDataFromInputStream(NSInputStream *inputStream, NS
- (GTM_NULLABLE NSDate *)stoppedAllFetchersDate;

// Methods for compatibility with the old GTMHTTPFetcher.
@property(readonly, strong, GTM_NULLABLE) NSOperationQueue *delegateQueue;
@property(atomic, readonly, strong, GTM_NULLABLE) NSOperationQueue *delegateQueue;

@end  // @protocol GTMSessionFetcherServiceProtocol

@@ -653,25 +653,25 @@ NSData * GTM_NULLABLE_TYPE GTMDataFromInputStream(NSInputStream *inputStream, NS

- (BOOL)isAuthorizedRequest:(NSURLRequest *)request;

@property(strong, readonly, GTM_NULLABLE) NSString *userEmail;
@property(atomic, strong, readonly, GTM_NULLABLE) NSString *userEmail;

@optional

// Indicate if authorization may be attempted. Even if this succeeds,
// authorization may fail if the user's permissions have been revoked.
@property(readonly) BOOL canAuthorize;
@property(atomic, readonly) BOOL canAuthorize;

// For development only, allow authorization of non-SSL requests, allowing
// transmission of the bearer token unencrypted.
@property(assign) BOOL shouldAuthorizeAllRequests;
@property(atomic, assign) BOOL shouldAuthorizeAllRequests;

- (void)authorizeRequest:(GTM_NULLABLE NSMutableURLRequest *)request
       completionHandler:(void (^)(NSError * GTM_NULLABLE_TYPE error))handler;

#if GTM_USE_SESSION_FETCHER
@property (weak, GTM_NULLABLE) id<GTMSessionFetcherServiceProtocol> fetcherService;
@property(atomic, weak, GTM_NULLABLE) id<GTMSessionFetcherServiceProtocol> fetcherService;
#else
@property (weak, GTM_NULLABLE) id<GTMHTTPFetcherServiceProtocol> fetcherService;
@property(atomic, weak, GTM_NULLABLE) id<GTMHTTPFetcherServiceProtocol> fetcherService;
#endif

- (BOOL)primeForRefresh;
@@ -728,7 +728,7 @@ NSData * GTM_NULLABLE_TYPE GTMDataFromInputStream(NSInputStream *inputStream, NS

// The fetcher's request.  This may not be set after beginFetch has been invoked. The request
// may change due to redirects.
@property(strong, GTM_NULLABLE) NSURLRequest *request;
@property(atomic, strong, GTM_NULLABLE) NSURLRequest *request;

// Set a header field value on the request. Header field value changes will not
// affect a fetch after the fetch has begun.
@@ -819,7 +819,7 @@ NSData * GTM_NULLABLE_TYPE GTMDataFromInputStream(NSInputStream *inputStream, NS
//   "Background Session Task state persistence"
//   https://forums.developer.apple.com/thread/11554
//
@property(assign) BOOL useBackgroundSession;
@property(atomic, assign) BOOL useBackgroundSession;

// Indicates if the fetcher was started using a background session.
@property(atomic, readonly, getter=isUsingBackgroundSession) BOOL usingBackgroundSession;
+4 −0
Original line number Diff line number Diff line
@@ -2275,6 +2275,10 @@ didReceiveChallenge:(NSURLAuthenticationChallenge *)challenge
      (originalScheme != nil && [originalScheme caseInsensitiveCompare:@"http"] == NSOrderedSame &&
       redirectScheme != nil && [redirectScheme caseInsensitiveCompare:@"https"] == NSOrderedSame);

  // This can't really be nil for the inputs, but to keep the analyzer happy
  // for the -caseInsensitiveCompare: call below, give it a value if it were.
  if (!originalScheme) originalScheme = @"https";

  // Check for changes to the scheme and disallow any changes except for http to https.
  if (!insecureToSecureRedirect &&
      (redirectScheme.length != originalScheme.length ||
Loading