Skip to content

Commit

Permalink
Merge pull request #61339 from lyuma/streampeerssl_get_stream
Browse files Browse the repository at this point in the history
  • Loading branch information
akien-mga authored Jun 1, 2022
2 parents d9daf38 + 7e28385 commit 6cd730e
Show file tree
Hide file tree
Showing 5 changed files with 13 additions and 0 deletions.
1 change: 1 addition & 0 deletions core/io/stream_peer_ssl.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -60,6 +60,7 @@ void StreamPeerSSL::_bind_methods() {
ClassDB::bind_method(D_METHOD("accept_stream", "stream", "private_key", "certificate", "chain"), &StreamPeerSSL::accept_stream, DEFVAL(Ref<X509Certificate>()));
ClassDB::bind_method(D_METHOD("connect_to_stream", "stream", "validate_certs", "for_hostname", "valid_certificate"), &StreamPeerSSL::connect_to_stream, DEFVAL(false), DEFVAL(String()), DEFVAL(Ref<X509Certificate>()));
ClassDB::bind_method(D_METHOD("get_status"), &StreamPeerSSL::get_status);
ClassDB::bind_method(D_METHOD("get_stream"), &StreamPeerSSL::get_stream);
ClassDB::bind_method(D_METHOD("disconnect_from_stream"), &StreamPeerSSL::disconnect_from_stream);
ClassDB::bind_method(D_METHOD("set_blocking_handshake_enabled", "enabled"), &StreamPeerSSL::set_blocking_handshake_enabled);
ClassDB::bind_method(D_METHOD("is_blocking_handshake_enabled"), &StreamPeerSSL::is_blocking_handshake_enabled);
Expand Down
1 change: 1 addition & 0 deletions core/io/stream_peer_ssl.h
Original file line number Diff line number Diff line change
Expand Up @@ -61,6 +61,7 @@ class StreamPeerSSL : public StreamPeer {
virtual Error accept_stream(Ref<StreamPeer> p_base, Ref<CryptoKey> p_key, Ref<X509Certificate> p_cert, Ref<X509Certificate> p_ca_chain = Ref<X509Certificate>()) = 0;
virtual Error connect_to_stream(Ref<StreamPeer> p_base, bool p_validate_certs = false, const String &p_for_hostname = String(), Ref<X509Certificate> p_valid_cert = Ref<X509Certificate>()) = 0;
virtual Status get_status() const = 0;
virtual Ref<StreamPeer> get_stream() const = 0;

virtual void disconnect_from_stream() = 0;

Expand Down
6 changes: 6 additions & 0 deletions doc/classes/StreamPeerSSL.xml
Original file line number Diff line number Diff line change
Expand Up @@ -44,6 +44,12 @@
Returns the status of the connection. See [enum Status] for values.
</description>
</method>
<method name="get_stream" qualifiers="const">
<return type="StreamPeer" />
<description>
Returns the underlying [StreamPeer] connection, used in [method accept_stream] or [method connect_to_stream].
</description>
</method>
<method name="poll">
<return type="void" />
<description>
Expand Down
4 changes: 4 additions & 0 deletions modules/mbedtls/stream_peer_mbedtls.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -298,6 +298,10 @@ StreamPeerMbedTLS::Status StreamPeerMbedTLS::get_status() const {
return status;
}

Ref<StreamPeer> StreamPeerMbedTLS::get_stream() const {
return base;
}

StreamPeerSSL *StreamPeerMbedTLS::_create_func() {
return memnew(StreamPeerMbedTLS);
}
Expand Down
1 change: 1 addition & 0 deletions modules/mbedtls/stream_peer_mbedtls.h
Original file line number Diff line number Diff line change
Expand Up @@ -57,6 +57,7 @@ class StreamPeerMbedTLS : public StreamPeerSSL {
virtual Error accept_stream(Ref<StreamPeer> p_base, Ref<CryptoKey> p_key, Ref<X509Certificate> p_cert, Ref<X509Certificate> p_ca_chain = Ref<X509Certificate>());
virtual Error connect_to_stream(Ref<StreamPeer> p_base, bool p_validate_certs = false, const String &p_for_hostname = String(), Ref<X509Certificate> p_valid_cert = Ref<X509Certificate>());
virtual Status get_status() const;
virtual Ref<StreamPeer> get_stream() const;

virtual void disconnect_from_stream();

Expand Down

0 comments on commit 6cd730e

Please sign in to comment.