[124891] trunk/dports/security/certsync/files
cal at macports.org
cal at macports.org
Sat Aug 30 03:49:53 PDT 2014
Revision: 124891
https://trac.macports.org/changeset/124891
Author: cal at macports.org
Date: 2014-08-30 03:49:53 -0700 (Sat, 30 Aug 2014)
Log Message:
-----------
certsync: Fix warnings and potential crash on Tiger
https://lists.macosforge.org/pipermail/macports-dev/2014-August/027807.html
Modified Paths:
--------------
trunk/dports/security/certsync/files/certsync.m
trunk/dports/security/certsync/files/compat.h
Modified: trunk/dports/security/certsync/files/certsync.m
===================================================================
--- trunk/dports/security/certsync/files/certsync.m 2014-08-30 10:36:35 UTC (rev 124890)
+++ trunk/dports/security/certsync/files/certsync.m 2014-08-30 10:49:53 UTC (rev 124891)
@@ -403,8 +403,14 @@
/* Set the keychain preference domain to user, this causes
* ValidateSystemTrust to use the user's keychain */
if ((err = SecKeychainSetPreferenceDomain(kSecPreferencesDomainUser)) != errSecSuccess) {
- CFStringRef errMsg = PLCFAutorelease(SecCopyErrorMessageString(err, NULL));
- nsfprintf(stderr, @"Failed to set keychain preference domain: %@\n", errMsg);
+ if (SecCopyErrorMessageString != NULL) {
+ /* >= 10.5 */
+ CFStringRef errMsg = PLCFAutorelease(SecCopyErrorMessageString(err, NULL));
+ nsfprintf(stderr, @"Failed to set keychain preference domain: %@\n", errMsg);
+ } else {
+ /* <= 10.4 */
+ nsfprintf(stderr, @"Failed to set keychain preference domain: %d\n", err);
+ }
[pool release];
return EXIT_FAILURE;
@@ -423,8 +429,14 @@
/* Admin & System */
/* Causes ValidateSystemTrust to ignore the user's keychain */
if ((err = SecKeychainSetPreferenceDomain(kSecPreferencesDomainSystem)) != errSecSuccess) {
- CFStringRef errMsg = PLCFAutorelease(SecCopyErrorMessageString(err, NULL));
- nsfprintf(stderr, @"Failed to set keychain preference domain: %@\n", errMsg);
+ if (SecCopyErrorMessageString != NULL) {
+ /* >= 10.5 */
+ CFStringRef errMsg = PLCFAutorelease(SecCopyErrorMessageString(err, NULL));
+ nsfprintf(stderr, @"Failed to set keychain preference domain: %@\n", errMsg);
+ } else {
+ /* <= 10.4 */
+ nsfprintf(stderr, @"Failed to set keychain preference domain: %d\n", err);
+ }
[pool release];
return EXIT_FAILURE;
Modified: trunk/dports/security/certsync/files/compat.h
===================================================================
--- trunk/dports/security/certsync/files/compat.h 2014-08-30 10:36:35 UTC (rev 124890)
+++ trunk/dports/security/certsync/files/compat.h 2014-08-30 10:49:53 UTC (rev 124891)
@@ -54,6 +54,13 @@
/* SecTrustSettingsCopyCertificates() was added in 10.5 */
extern OSStatus SecTrustSettingsCopyCertificates (SecTrustSettingsDomain domain, CFArrayRef *certArray) __attribute__((weak_import));
#define SecTrustSettingsCopyCertificates ((OSStatus(*)(SecTrustSettingsDomain, CFArrayRef *)) NULL) /* We can't safely weak-link what we don't have */
+
+ /* SecTrustSettingsCopyTrustSettings() was added in 10.5 */
+ extern OSStatus SecTrustSettingsCopyTrustSettings (SecCertificateRef certRef, SecTrustSettingsDomain domain, CFArrayRef *trustSettings) __attribute__((weak_import));
+ #define SecTrustSettingsCopyTrustSettings ((OSStatus(*)(SecCertificateRef, SecTrustSettingsDomain, CFArrayRef *)) NULL) /* We can't safely weak-link what we don't have */
+
+ extern CFStringRef SecCopyErrorMessageString (OSStatus status, void *reserved) __attribute__((weak_import));
+ #define SecCopyErrorMessageString ((CFStringRef(*)(OSStatus, void *)) NULL) /* We can't safely weak-link what we don't have */
/* CFError was added in 10.5 */
typedef CFTypeRef CFErrorRef;
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.macosforge.org/pipermail/macports-changes/attachments/20140830/0bee9d42/attachment.html>
More information about the macports-changes
mailing list