Ignore:
Timestamp:
May 12, 2013, 4:12:46 AM (6 years ago)
Author:
landonf@…
Message:

Additional fixes for 10.6.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/dports/security/certsync/files/certsync.m

    r105984 r105985  
    193193   
    194194    for (id certObj in result) {
    195         CFErrorRef cferror;
    196         CFStringRef subject = SecCertificateCopyShortDescription(NULL, (SecCertificateRef) certObj, &cferror);
     195        CFErrorRef cferror = NULL;
     196        CFStringRef subject;
     197
     198#if MAC_OS_X_VERSION_MAX_ALLOWED > MAC_OS_X_VERSION_10_6
     199        if (SecCertificateCopyShortDescription != NULL) {
     200            subject = PLCFAutorelease(SecCertificateCopyShortDescription(NULL, (SecCertificateRef) certObj, &cferror));
     201        } else {
     202            subject = PLCFAutorelease(SecCertificateCopySubjectSummary((SecCertificateRef) certObj));
     203        }
     204#else
     205        subject = PLCFAutorelease(SecCertificateCopySubjectSummary((SecCertificateRef) certObj));
     206#endif
     207
    197208        if (subject == NULL) {
    198209            nsfprintf(stderr, @"Failed to extract certificate description: %@\n", cferror);
     
    217228    }
    218229#else
    219     err = SecItemExport((CFArrayRef) anchors, kSecFormatPEMSequence, kSecItemPemArmour, NULL, &pemData);
     230    err = SecKeychainItemExport((CFArrayRef) anchors, kSecFormatPEMSequence, kSecItemPemArmour, NULL, &pemData);
    220231#endif
    221232   
     
    245256
    246257int main (int argc, char * const argv[]) {
    247     @autoreleasepool {
    248         /* Parse the command line arguments */
    249         BOOL userAnchors = NO;
    250         NSString *outputFile = nil;
    251        
    252         int ch;
    253         while ((ch = getopt(argc, argv, "huo:")) != -1) {
    254             switch (ch) {
    255                 case 'u':
    256                     userAnchors = YES;
    257                     break;
    258                    
    259                 case 'o':
    260                     outputFile = [NSString stringWithUTF8String: optarg];
    261                     break;
    262 
    263                 case 'h':
    264                     usage(argv[0]);
    265                     exit(EXIT_SUCCESS);
    266 
    267                 default:
    268                     usage(argv[0]);
    269                     exit(EXIT_FAILURE);
    270             }
    271         }
    272         argc -= optind;
    273         argv += optind;
    274        
    275         /* Perform export  */
    276         return exportCertificates(userAnchors, outputFile);
    277     }
    278 }
    279 
     258    NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
     259
     260    /* Parse the command line arguments */
     261    BOOL userAnchors = NO;
     262    NSString *outputFile = nil;
     263   
     264    int ch;
     265    while ((ch = getopt(argc, argv, "huo:")) != -1) {
     266        switch (ch) {
     267            case 'u':
     268                userAnchors = YES;
     269                break;
     270               
     271            case 'o':
     272                outputFile = [NSString stringWithUTF8String: optarg];
     273                break;
     274
     275            case 'h':
     276                usage(argv[0]);
     277                exit(EXIT_SUCCESS);
     278
     279            default:
     280                usage(argv[0]);
     281                exit(EXIT_FAILURE);
     282        }
     283    }
     284    argc -= optind;
     285    argv += optind;
     286   
     287    /* Perform export  */
     288    int ret = exportCertificates(userAnchors, outputFile);
     289
     290    [pool release];
     291   
     292    return ret;
     293}
     294
Note: See TracChangeset for help on using the changeset viewer.