ObjFW  Check-in [d310fdf719]

Overview
Comment:Fix compatibility with LibreSSL
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA3-256: d310fdf719fb933aadab2717c17d5e506d50072f64e46aa791308709767c55c6
User & Date: js on 2023-10-15 16:20:42
Other Links: manifest | tags
Context
2023-10-15
16:48
Update to Unicode 15.1 check-in: b0234d4248 user: js tags: trunk
16:20
Fix compatibility with LibreSSL check-in: d310fdf719 user: js tags: trunk
14:59
macros.h: Add missing #else check-in: f2891af000 user: js tags: trunk
Changes

Modified configure.ac from [f54f1e9278] to [e5cd06f0b5].

1814
1815
1816
1817
1818
1819
1820





1821
1822
1823
1824
1825
1826
1827
1814
1815
1816
1817
1818
1819
1820
1821
1822
1823
1824
1825
1826
1827
1828
1829
1830
1831
1832







+
+
+
+
+







		AC_CHECK_LIB($ssl, SSL_set1_host, [
			AC_CHECK_HEADER(openssl/ssl.h, [
				tls_support="OpenSSL"
				TLS_LIBS="-l$ssl -l$crypto $TLS_LIBS"

				AC_SUBST(OF_OPENSSL_TLS_STREAM_M,
					"OFOpenSSLTLSStream.m")

				old_LIBS="$LIBS"
				LIBS="$TLS_LIBS $LIBS"
				AC_CHECK_FUNCS(SSL_has_pending)
				LIBS="$old_LIBS"
			])
		], [], [-l$crypto])
	])

	AS_IF([test x"$with_tls" = x"gnutls" \
	    -o \( x"$with_tls" = x"yes" -a x"$tls_support" = x"no" \)], [
		PKG_CHECK_MODULES(gnutls, [gnutls >= 3.5.0], [

Modified src/tls/OFOpenSSLTLSStream.m from [175948cb73] to [9bec67b321].

194
195
196
197
198
199
200

201
202




203
204
205
206
207
208
209
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;