ObjFW  Diff

Differences From Artifact [175948cb73]:

  • File src/tls/OFOpenSSLTLSStream.m — part of check-in [a61e0594b4] at 2023-10-15 12:32:29 on branch trunk — Add -[OFStream lowlevelIsAtEndOfStream] This allows for a much cleaner solution to avoid the internal read buffer of e.g. a TLS connection never being processed while waiting for a delimiter. (user: js size: 10461) [more...]

To Artifact [9bec67b321]:

  • File src/tls/OFOpenSSLTLSStream.m — part of check-in [d310fdf719] at 2023-10-15 16:20:42 on branch trunk — Fix compatibility with LibreSSL (user: js size: 10615)

194
195
196
197
198
199
200

201
202




203
204
205
206
207
208
209
	}

	return bytesWritten;
}

- (bool)lowlevelHasDataInReadBuffer
{

	return (_underlyingStream.hasDataInReadBuffer ||
	    SSL_has_pending(_SSL) || BIO_ctrl_pending(_readBIO) > 0);




}

- (void)asyncPerformClientHandshakeWithHost: (OFString *)host
				runLoopMode: (OFRunLoopMode)runLoopMode
{
	static const OFTLSStreamErrorCode initFailedErrorCode =
	    OFTLSStreamErrorCodeInitializationFailed;







>


>
>
>
>







194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
	}

	return bytesWritten;
}

- (bool)lowlevelHasDataInReadBuffer
{
#ifdef HAVE_SSL_HAS_PENDING
	return (_underlyingStream.hasDataInReadBuffer ||
	    SSL_has_pending(_SSL) || BIO_ctrl_pending(_readBIO) > 0);
#else
	return (_underlyingStream.hasDataInReadBuffer ||
	    SSL_pending(_SSL) > 0 || BIO_ctrl_pending(_readBIO) > 0);
#endif
}

- (void)asyncPerformClientHandshakeWithHost: (OFString *)host
				runLoopMode: (OFRunLoopMode)runLoopMode
{
	static const OFTLSStreamErrorCode initFailedErrorCode =
	    OFTLSStreamErrorCodeInitializationFailed;