Philipp Hörist pushed to branch master at gajim / python-nbxmpp
Commits: fe0542ee by lovetox at 2020-05-30T11:47:17+02:00 Client: Expose local address
- - - - -
3 changed files:
- nbxmpp/client.py - nbxmpp/connection.py - nbxmpp/tcp.py
Changes:
===================================== nbxmpp/client.py ===================================== @@ -112,6 +112,7 @@ class Client(Observable): self._peer_certificate_errors = None
self._con = None + self._local_address = None self._mode = Mode.CLIENT
self._ping_source_id = None @@ -237,6 +238,10 @@ class Client(Observable): self.state = state self._xmpp_state_machine()
+ @property + def local_address(self): + return self._local_address + @property def connection_types(self): return list(self._allowed_con_types or [ConnectionType.DIRECT_TLS, @@ -411,8 +416,9 @@ class Client(Observable): # Alias for backwards compat return self.send_stanza(stanza)
- def _on_connected(self, _connection, _signal_name): + def _on_connected(self, connection, _signal_name): self.set_state(StreamState.CONNECTED) + self._local_address = connection.local_address
def _on_disconnected(self, _connection, _signal_name): self.state = StreamState.DISCONNECTED
===================================== nbxmpp/connection.py ===================================== @@ -53,6 +53,7 @@ class Connection(Observable):
self._client_cert = client_cert self._address = address + self._local_address = None self._state = None
self._state = TCPState.DISCONNECTED @@ -63,6 +64,10 @@ class Connection(Observable): self._ignore_tls_errors = ignore_tls_errors self._ignored_tls_errors = ignored_tls_errors
+ @property + def local_address(self): + return self._local_address + @property def peer_certificate(self): return (self._peer_certificate, self._peer_certificate_errors)
===================================== nbxmpp/tcp.py ===================================== @@ -127,6 +127,8 @@ class TCPConnection(Connection): self._con.set_graceful_disconnect(True) self._con.get_socket().set_keepalive(True)
+ self._local_address = self._con.get_local_address() + self.state = TCPState.CONNECTED
use_proxy = self._address.proxy is not None
View it on GitLab: https://dev.gajim.org/gajim/python-nbxmpp/-/commit/fe0542eedee09a2902c45034a...