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

Reply via email to