ObjFW  Check-in [957527d55e]

Overview
Comment:OFTLSStream: Ensure shutdown is sent with OpenSSL
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | 1.2
Files: files | file ages | folders
SHA3-256: 957527d55ea4416b68ab2c86bbbea116b55cdc5360c5e823b8e3ca0963dcf901
User & Date: js on 2024-11-18 23:33:16
Other Links: branch diff | manifest | tags
Context
2024-11-18
23:34
Port to latest devkitARM Leaf check-in: b7fc48b734 user: js tags: 1.2
23:33
OFTLSStream: Ensure shutdown is sent with OpenSSL check-in: 957527d55e user: js tags: 1.2
23:32
OFTLSStream: Ensure shutdown is sent with OpenSSL Leaf check-in: 6dc94f286a user: js tags: trunk
23:28
GitHub Actions: Remove macOS 12 check-in: df271d3182 user: js tags: 1.2
Changes

Modified src/tls/OFOpenSSLTLSStream.m from [ca917e4347] to [4fc8bd4998].

88
89
90
91
92
93
94
95

96










97
98
99
100
101
102
103
88
89
90
91
92
93
94

95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113







-
+

+
+
+
+
+
+
+
+
+
+







}

- (void)close
{
	if (_SSL == NULL)
		@throw [OFNotOpenException exceptionWithObject: self];

	if (_handshakeDone)
	if (_handshakeDone) {
		SSL_shutdown(_SSL);

		while (BIO_ctrl_pending(_writeBIO) > 0) {
			int tmp = BIO_read(_writeBIO, _buffer, bufferSize);

			OFEnsure(tmp >= 0);

			[_underlyingStream writeBuffer: _buffer length: tmp];
			[_underlyingStream flushWriteBuffer];
		}
	}

	SSL_free(_SSL);
	_SSL = NULL;

	_handshakeDone = false;

	[_host release];