Overview
Comment: | Adjust to ObjFW changes |
---|---|
Downloads: | Tarball | ZIP archive | SQL archive |
Timelines: | family | ancestors | descendants | both | trunk |
Files: | files | file ages | folders |
SHA3-256: |
0fcda2add4f924e2ab72f69e01e6b979 |
User & Date: | js on 2019-07-14 18:58:56 |
Other Links: | manifest | tags |
Context
2019-08-22
| ||
12:28 | Adjust to ObjFW changes check-in: 70888d6046 user: js tags: trunk | |
2019-07-14
| ||
18:58 | Adjust to ObjFW changes check-in: 0fcda2add4 user: js tags: trunk | |
2019-03-14
| ||
22:02 | Use dot syntax check-in: ca772cd7fd user: js tags: trunk | |
Changes
Modified src/SSLSocket.m from [c3716babf5] to [00f36e1b43].
︙ | ︙ | |||
376 377 378 379 380 381 382 | port: (uint16_t)port runLoopMode: (of_run_loop_mode_t)runLoopMode block: (of_tcp_socket_async_connect_block_t)block { [super asyncConnectToHost: host port: port runLoopMode: runLoopMode | | > > | 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 | port: (uint16_t)port runLoopMode: (of_run_loop_mode_t)runLoopMode block: (of_tcp_socket_async_connect_block_t)block { [super asyncConnectToHost: host port: port runLoopMode: runLoopMode block: ^ (OFTCPSocket *sock_, id exception) { SSLSocket *sock = (SSLSocket *)sock_; if (exception == nil) { @try { [sock SSL_startTLSWithExpectedHost: host port: port]; } @catch (id e) { block(sock, e); return; |
︙ | ︙ | |||
444 445 446 447 448 449 450 451 452 453 454 455 456 457 | } - (size_t)lowlevelReadIntoBuffer: (void *)buffer length: (size_t)length { ssize_t ret; if (length > INT_MAX) @throw [OFOutOfRangeException exception]; if (_socket == INVALID_SOCKET) @throw [OFNotOpenException exceptionWithObject: self]; if (_atEndOfStream) | > > > > > > > > > > | 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 | } - (size_t)lowlevelReadIntoBuffer: (void *)buffer length: (size_t)length { ssize_t ret; /* * There is no SSL session yet. However, it might be necessary to read * from and write to the socket before negotiating an SSL session: For * example, the socket might be connected to a SOCKS5 proxy and needs * to establish a SOCKS5 connection before negotiating an SSL session. */ if (_SSL == NULL) return [super lowlevelReadIntoBuffer: buffer length: length]; if (length > INT_MAX) @throw [OFOutOfRangeException exception]; if (_socket == INVALID_SOCKET) @throw [OFNotOpenException exceptionWithObject: self]; if (_atEndOfStream) |
︙ | ︙ | |||
475 476 477 478 479 480 481 482 483 484 485 486 487 488 | } - (size_t)lowlevelWriteBuffer: (const void *)buffer length: (size_t)length { int bytesWritten; if (_socket == INVALID_SOCKET) @throw [OFNotOpenException exceptionWithObject: self]; if (length > INT_MAX) @throw [OFOutOfRangeException exception]; if ((bytesWritten = SSL_write(_SSL, buffer, (int)length)) < 0) | > > > > > > > > > > > > > > | 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 | } - (size_t)lowlevelWriteBuffer: (const void *)buffer length: (size_t)length { int bytesWritten; /* * There is no SSL session yet. However, it might be necessary to read * from and write to the socket before negotiating an SSL session: For * example, the socket might be connected to a SOCKS5 proxy and needs * to establish a SOCKS5 connection before negotiating an SSL session. * * TODO: Think of a way to make this safer, so that it's impossible to * forget to establish an SSL session and then send unencrypted data by * accident. */ if (_SSL == NULL) return [super lowlevelWriteBuffer: buffer length: length]; if (_socket == INVALID_SOCKET) @throw [OFNotOpenException exceptionWithObject: self]; if (length > INT_MAX) @throw [OFOutOfRangeException exception]; if ((bytesWritten = SSL_write(_SSL, buffer, (int)length)) < 0) |
︙ | ︙ |