ObjFW  Diff

Differences From Artifact [eaf4116fbc]:

  • File src/tls/OFOpenSSLTLSStream.m — part of check-in [fa9652e096] at 2024-11-13 23:46:28 on branch trunk — OFOpenSSLTLSStream: Use more error codes (user: js size: 12606)

To Artifact [4f0885eb41]:

  • File src/tls/OFOpenSSLTLSStream.m — part of check-in [6dc94f286a] at 2024-11-18 23:32:40 on branch trunk — OFTLSStream: Ensure shutdown is sent with OpenSSL (user: js size: 12838)

128
129
130
131
132
133
134
135
136










137
138
139
140
141
142
143
}

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

	if (_handshakeDone)
		SSL_shutdown(_SSL);











	SSL_free(_SSL);
	_SSL = NULL;

	_handshakeDone = false;

	[_host release];







|

>
>
>
>
>
>
>
>
>
>







128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
}

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

	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];