Overview
Comment: | Fix a missing copy. |
---|---|
Downloads: | Tarball | ZIP archive | SQL archive |
Timelines: | family | ancestors | descendants | both | trunk |
Files: | files | file ages | folders |
SHA3-256: |
7be8561f436cc641daad73a8841d6886 |
User & Date: | js on 2012-01-25 19:33:40 |
Other Links: | manifest | tags |
Context
2012-01-26
| ||
11:42 | Update Xcode project. check-in: a40233daa6 user: js tags: trunk | |
2012-01-25
| ||
19:33 | Fix a missing copy. check-in: 7be8561f43 user: js tags: trunk | |
15:42 | Allow initializing with private key and certificate check-in: 4e4556c32c user: florob@babelmonkeys.de tags: trunk | |
Changes
Modified src/SSLSocket.m from [824fd754a6] to [dc28b202e4].
︙ | ︙ | |||
107 108 109 110 111 112 113 | - initWithSocket: (OFTCPSocket*)socket { return [self initWithSocket: socket privateKeyFile: nil certificateFile: nil]; } | | | | > > | | | 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 | - initWithSocket: (OFTCPSocket*)socket { return [self initWithSocket: socket privateKeyFile: nil certificateFile: nil]; } - initWithSocket: (OFTCPSocket*)socket privateKeyFile: (OFString*)privateKeyFile_ certificateFile: (OFString*)certificateFile_ { self = [self init]; @try { /* FIXME: Also allow with accepted sockets */ privateKeyFile = [privateKeyFile_ copy]; certificateFile = [certificateFile_ copy]; sock = dup(socket->sock); if ((ssl = SSL_new(ctx)) == NULL || !SSL_set_fd(ssl, sock)) { close(sock); sock = INVALID_SOCKET; @throw [OFInitializationFailedException |
︙ | ︙ | |||
362 363 364 365 366 367 368 369 370 371 372 | return data; } - (X509Certificate*)peerCertificate { X509 *certificate = SSL_get_peer_certificate(ssl); if (!certificate) return nil; return [[[X509Certificate alloc] | > | > | | | 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 | return data; } - (X509Certificate*)peerCertificate { X509 *certificate = SSL_get_peer_certificate(ssl); if (!certificate) return nil; return [[[X509Certificate alloc] initWithX509Struct: certificate] autorelease]; } - (void)verifyPeerCertificate { unsigned long ret; if ((SSL_get_peer_certificate(ssl) == NULL) || ((ret = SSL_get_verify_result(ssl)) != X509_V_OK)) { const char *reason = X509_verify_cert_error_string(ret); @throw [SSLInvalidCertificateException exceptionWithClass: isa reason: [OFString stringWithUTF8String: reason]]; } } @end |