Set ALPN info on XMPP connections if GIO >= 2.60
This commit is contained in:
parent
1985fe1d7b
commit
d194eae61d
|
@ -146,9 +146,9 @@ function(vala_precompile output)
|
||||||
endforeach(pkg ${ARGS_PACKAGES})
|
endforeach(pkg ${ARGS_PACKAGES})
|
||||||
|
|
||||||
set(vala_define_opts "")
|
set(vala_define_opts "")
|
||||||
foreach(def ${ARGS_DEFINTIONS})
|
foreach(def ${ARGS_DEFINITIONS})
|
||||||
list(APPEND vala_define_opts "--define=${def}")
|
list(APPEND vala_define_opts "--define=${def}")
|
||||||
endforeach(def ${ARGS_DEFINTIONS})
|
endforeach(def ${ARGS_DEFINITIONS})
|
||||||
|
|
||||||
set(custom_vapi_arguments "")
|
set(custom_vapi_arguments "")
|
||||||
if(ARGS_CUSTOM_VAPIS)
|
if(ARGS_CUSTOM_VAPIS)
|
||||||
|
@ -212,6 +212,7 @@ function(vala_precompile output)
|
||||||
${VALA_EXECUTABLE}
|
${VALA_EXECUTABLE}
|
||||||
ARGS
|
ARGS
|
||||||
--fast-vapi ${fast_vapi_file}
|
--fast-vapi ${fast_vapi_file}
|
||||||
|
${vala_define_opts}
|
||||||
${ARGS_OPTIONS}
|
${ARGS_OPTIONS}
|
||||||
${VALAC_FLAGS}
|
${VALAC_FLAGS}
|
||||||
${in_file}
|
${in_file}
|
||||||
|
|
|
@ -6,6 +6,16 @@ find_packages(ENGINE_PACKAGES REQUIRED
|
||||||
GObject
|
GObject
|
||||||
)
|
)
|
||||||
|
|
||||||
|
set(ENGINE_DEFINITIONS "")
|
||||||
|
|
||||||
|
find_package(GIO)
|
||||||
|
if(GIO_VERSION VERSION_GREATER "2.60")
|
||||||
|
message(STATUS "ALPN support enabled")
|
||||||
|
set(ENGINE_DEFINITIONS ALPN_SUPPORT)
|
||||||
|
else()
|
||||||
|
message(STATUS "No ALPN support, needs GIO >= 2.60")
|
||||||
|
endif()
|
||||||
|
|
||||||
vala_precompile(ENGINE_VALA_C
|
vala_precompile(ENGINE_VALA_C
|
||||||
SOURCES
|
SOURCES
|
||||||
"src/glib_fixes.vapi"
|
"src/glib_fixes.vapi"
|
||||||
|
@ -91,6 +101,8 @@ GENERATE_VAPI
|
||||||
xmpp-vala
|
xmpp-vala
|
||||||
GENERATE_HEADER
|
GENERATE_HEADER
|
||||||
xmpp-vala
|
xmpp-vala
|
||||||
|
DEFINITIONS
|
||||||
|
${ENGINE_DEFINITIONS}
|
||||||
)
|
)
|
||||||
|
|
||||||
add_custom_target(xmpp-vala-vapi
|
add_custom_target(xmpp-vala-vapi
|
||||||
|
|
|
@ -39,6 +39,9 @@ public class TlsConnectionProvider : ConnectionProvider {
|
||||||
debug("Connecting to %s %i (tls)", srv_target.get_hostname(), srv_target.get_port());
|
debug("Connecting to %s %i (tls)", srv_target.get_hostname(), srv_target.get_port());
|
||||||
IOStream? io_stream = yield client.connect_to_host_async(srv_target.get_hostname(), srv_target.get_port());
|
IOStream? io_stream = yield client.connect_to_host_async(srv_target.get_hostname(), srv_target.get_port());
|
||||||
TlsConnection tls_connection = TlsClientConnection.new(io_stream, new NetworkAddress(stream.remote_name.to_string(), srv_target.get_port()));
|
TlsConnection tls_connection = TlsClientConnection.new(io_stream, new NetworkAddress(stream.remote_name.to_string(), srv_target.get_port()));
|
||||||
|
#if ALPN_SUPPORT
|
||||||
|
tls_connection.set_advertised_protocols(new string[]{"xmpp-client"});
|
||||||
|
#endif
|
||||||
tls_connection.accept_certificate.connect(stream.get_module(Tls.Module.IDENTITY).on_invalid_certificate);
|
tls_connection.accept_certificate.connect(stream.get_module(Tls.Module.IDENTITY).on_invalid_certificate);
|
||||||
stream.add_flag(new Tls.Flag() { finished=true });
|
stream.add_flag(new Tls.Flag() { finished=true });
|
||||||
return tls_connection;
|
return tls_connection;
|
||||||
|
|
Loading…
Reference in a new issue