Creating a more intuitive interface for making HTTP Requests
Reverting…

Commit: 3ec53cf42bb391b9ca4089a43a43e254a2638b45 [3ec53cf]
Parents: 5eaa869b9e
Author: Alex Leverington <alex@tantrumstreet.com>
Date: December 3, 2013 at 1:06:39 AM PST
Committer: Mattt Thompson <m@mattt.me>

Squashed commit of the following:

commit 4a48db5de0bb40ae5a23f40078f837ac95006116
Merge: 5eaa869 6f8c1bf
Author: Mattt Thompson <m@mattt.me>
Date: Tue Dec 3 01:04:29 2013 -0800

Merge branch 'master' of github.com:nessence/AFNetworking into nessence-master

Conflicts:
AFNetworking/AFSecurityPolicy.m
Tests/Tests/AFSecurityPolicyTests.m

commit 6f8c1bf1e715d8615ed8291c8089a9d6c0653f2f
Author: Alex Leverington <alex@tantrumstreet.com>
Date: Wed Oct 9 03:58:40 2013 -0500

update documentation

commit 96a724290bffe4a825ea1abf850ec3993b522811
Author: Alex Leverington <alex@tantrumstreet.com>
Date: Wed Oct 9 03:01:40 2013 -0500

revert to leaf certificate checking as that was default before. add cert chain to resources for default tests. added default tests in case of certificate chains being used.

commit 2c1f4b80fee46908d1f93569fa9fd69905538fe4
Author: Alex Leverington <alex@tantrumstreet.com>
Date: Wed Oct 9 01:28:00 2013 -0500

update modes to explicitly specifying whether complete chain or leaves should be validated.
add new tests for explicit modes.

commit 291caa4a149d55a17ac884e56bc0bf8f25796bfe
Author: Alex Leverington <alex@tantrumstreet.com>
Date: Tue Oct 8 22:26:15 2013 -0500

fix tests to load certs. previous tests were not loading any certificate which doesn’t accurately reflect name or text of test.

commit 983e84e6895963bded794961c4764079eb156c7f
Author: Alex Leverington <alex@tantrumstreet.com>
Date: Tue Oct 8 07:36:20 2013 -0500

use unsigned integer

commit 6fbfd413edba1c0343d23d30d95e3dbc11be4011
Author: Alex Leverington <alex@tantrumstreet.com>
Date: Tue Oct 8 05:43:28 2013 -0500

Ensure full certificate chain is verified to prevent false positives from compromised certificate chains and ensure developer includes full cert chain. Ensure trust is validated before evaluating certificate. Security policy tests pass with changes. Prior to changes, tests for setSSLPinningMode:AFSSLPinningModePublicKey and setSSLPinningMode:AFSSLPinningModeCertificate would pass when one or more certificates weren't bundled.

We know from SecTrustEvaluate that the certificate presented by the server is valid. Thus, it wouldn’t make sense to return true if only one certificate in the chain validates, because, SSL pinning is to ensure the previously-issued certificate chain matches the server trust. While the prior implementation protects against MITM certs from sources such as corporate firewalls, this measure is to combat wider-spread compromises of certificate authorities.

Signed-off-by: Mattt Thompson <m@mattt.me>
Fixing a couple compiler warnings