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/fe0542eedee09a2902c45034adec8ad223010b22
--
View it on GitLab:
https://dev.gajim.org/gajim/python-nbxmpp/-/commit/fe0542eedee09a2902c45034adec8ad223010b22
You're receiving this email because of your account on dev.gajim.org.
_______________________________________________
Commits mailing list
[email protected]
https://lists.gajim.org/cgi-bin/listinfo/commits