Skip to content
This repository was archived by the owner on Jan 17, 2023. It is now read-only.

Commit cf4f46a

Browse files
committed
Use builtin __Require macros from AssertMacros.h
The `AF_Require` and `AF_Require_noErr` macros were introduced in de8b20f for solving #2015. It turns out there exist exactly equivalent macros in the AssertMacros.h header, respectively `__Require_Quiet` and `__Require_noErr_Quiet`.
1 parent be30d70 commit cf4f46a

File tree

1 file changed

+8
-26
lines changed

1 file changed

+8
-26
lines changed

AFNetworking/AFSecurityPolicy.m

Lines changed: 8 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -22,31 +22,13 @@
2222

2323
#import "AFSecurityPolicy.h"
2424

25-
// Equivalent of macro in <AssertMacros.h>, without causing compiler warning:
26-
// "'DebugAssert' is deprecated: first deprecated in OS X 10.8"
27-
#ifndef AF_Require
28-
#define AF_Require(assertion, exceptionLabel) \
29-
do { \
30-
if (__builtin_expect(!(assertion), 0)) { \
31-
goto exceptionLabel; \
32-
} \
33-
} while (0)
34-
#endif
35-
36-
#ifndef AF_Require_noErr
37-
#define AF_Require_noErr(errorCode, exceptionLabel) \
38-
do { \
39-
if (__builtin_expect(0 != (errorCode), 0)) { \
40-
goto exceptionLabel; \
41-
} \
42-
} while (0)
43-
#endif
25+
#import <AssertMacros.h>
4426

4527
#if !defined(__IPHONE_OS_VERSION_MIN_REQUIRED)
4628
static NSData * AFSecKeyGetData(SecKeyRef key) {
4729
CFDataRef data = NULL;
4830

49-
AF_Require_noErr(SecItemExport(key, kSecFormatUnknown, kSecItemPemArmour, NULL, &data), _out);
31+
__Require_noErr_Quiet(SecItemExport(key, kSecFormatUnknown, kSecItemPemArmour, NULL, &data), _out);
5032

5133
return (__bridge_transfer NSData *)data;
5234

@@ -77,14 +59,14 @@ static id AFPublicKeyForCertificate(NSData *certificate) {
7759
SecTrustResultType result;
7860

7961
allowedCertificate = SecCertificateCreateWithData(NULL, (__bridge CFDataRef)certificate);
80-
AF_Require(allowedCertificate != NULL, _out);
62+
__Require_Quiet(allowedCertificate != NULL, _out);
8163

8264
allowedCertificates[0] = allowedCertificate;
8365
tempCertificates = CFArrayCreate(NULL, (const void **)allowedCertificates, 1, NULL);
8466

8567
policy = SecPolicyCreateBasicX509();
86-
AF_Require_noErr(SecTrustCreateWithCertificates(tempCertificates, policy, &allowedTrust), _out);
87-
AF_Require_noErr(SecTrustEvaluate(allowedTrust, &result), _out);
68+
__Require_noErr_Quiet(SecTrustCreateWithCertificates(tempCertificates, policy, &allowedTrust), _out);
69+
__Require_noErr_Quiet(SecTrustEvaluate(allowedTrust, &result), _out);
8870

8971
allowedPublicKey = (__bridge_transfer id)SecTrustCopyPublicKey(allowedTrust);
9072

@@ -111,7 +93,7 @@ static id AFPublicKeyForCertificate(NSData *certificate) {
11193
static BOOL AFServerTrustIsValid(SecTrustRef serverTrust) {
11294
BOOL isValid = NO;
11395
SecTrustResultType result;
114-
AF_Require_noErr(SecTrustEvaluate(serverTrust, &result), _out);
96+
__Require_noErr_Quiet(SecTrustEvaluate(serverTrust, &result), _out);
11597

11698
isValid = (result == kSecTrustResultUnspecified || result == kSecTrustResultProceed);
11799

@@ -142,10 +124,10 @@ static BOOL AFServerTrustIsValid(SecTrustRef serverTrust) {
142124
CFArrayRef certificates = CFArrayCreate(NULL, (const void **)someCertificates, 1, NULL);
143125

144126
SecTrustRef trust;
145-
AF_Require_noErr(SecTrustCreateWithCertificates(certificates, policy, &trust), _out);
127+
__Require_noErr_Quiet(SecTrustCreateWithCertificates(certificates, policy, &trust), _out);
146128

147129
SecTrustResultType result;
148-
AF_Require_noErr(SecTrustEvaluate(trust, &result), _out);
130+
__Require_noErr_Quiet(SecTrustEvaluate(trust, &result), _out);
149131

150132
[trustChain addObject:(__bridge_transfer id)SecTrustCopyPublicKey(trust)];
151133

0 commit comments

Comments
 (0)