Compare commits
6 Commits
0.4.2
...
f065d26a5f
| Author | SHA1 | Date | |
|---|---|---|---|
| f065d26a5f | |||
|
0a46ac4527
|
|||
|
85553eefc5
|
|||
|
f24f7c9b08
|
|||
|
|
c3a8c2011c | ||
|
7099853125
|
@@ -2,6 +2,12 @@
|
|||||||
|
|
||||||
All notable changes to this project will be documented in this file.
|
All notable changes to this project will be documented in this file.
|
||||||
|
|
||||||
|
## [0.4.3] - 2026-03-01
|
||||||
|
|
||||||
|
### Bug Fixes
|
||||||
|
|
||||||
|
- [`7099853`](https://gitea.pufereq.pl/judas/judas_client/commit/709985312514f866b760610fe7d8374763d188b2) **connector.py**: fix no timeout on connection error
|
||||||
|
|
||||||
## [0.4.2] - 2026-03-01
|
## [0.4.2] - 2026-03-01
|
||||||
|
|
||||||
### Bug Fixes
|
### Bug Fixes
|
||||||
|
|||||||
@@ -4,7 +4,7 @@ build-backend = "uv_build"
|
|||||||
|
|
||||||
[project]
|
[project]
|
||||||
name = "judas_client"
|
name = "judas_client"
|
||||||
version = "0.4.2"
|
version = "0.4.3"
|
||||||
description = "A client for judas, a remote PC fleet management system."
|
description = "A client for judas, a remote PC fleet management system."
|
||||||
readme = "README.md"
|
readme = "README.md"
|
||||||
authors = []
|
authors = []
|
||||||
|
|||||||
@@ -107,7 +107,7 @@ class Connector:
|
|||||||
def send_hello(self) -> None:
|
def send_hello(self) -> None:
|
||||||
"""Send a HELLO message to the server."""
|
"""Send a HELLO message to the server."""
|
||||||
self.logger.debug("[*] Sending HELLO message...")
|
self.logger.debug("[*] Sending HELLO message...")
|
||||||
hello_message: Message = Message.hello(self.mac_address)
|
hello_message: Message = Message.Control.hello(self.mac_address)
|
||||||
self.send(hello_message)
|
self.send(hello_message)
|
||||||
|
|
||||||
def close(self) -> None:
|
def close(self) -> None:
|
||||||
@@ -145,8 +145,24 @@ class Connector:
|
|||||||
self.socket.connect((self.host, self.port))
|
self.socket.connect((self.host, self.port))
|
||||||
connected = True
|
connected = True
|
||||||
except BlockingIOError:
|
except BlockingIOError:
|
||||||
# connection in progress
|
# connection in progress, wait for socket to become writable
|
||||||
|
self.logger.debug(
|
||||||
|
"[.] Connection in progress, waiting for completion..."
|
||||||
|
)
|
||||||
|
events = self.selector.select(timeout=1)
|
||||||
|
for _, mask in events:
|
||||||
|
if mask & selectors.EVENT_WRITE:
|
||||||
|
err = self.socket.getsockopt(
|
||||||
|
socket.SOL_SOCKET, socket.SO_ERROR
|
||||||
|
)
|
||||||
|
if err == 0:
|
||||||
connected = True
|
connected = True
|
||||||
|
else:
|
||||||
|
self.logger.error(
|
||||||
|
f"[!] Connection failed with error code: {err}"
|
||||||
|
)
|
||||||
|
if not connected:
|
||||||
|
continue
|
||||||
except socket.error as e:
|
except socket.error as e:
|
||||||
self.logger.error(f"[!] Connection error: {e}")
|
self.logger.error(f"[!] Connection error: {e}")
|
||||||
self.logger.debug(f"[.] Retrying in {delay} seconds...")
|
self.logger.debug(f"[.] Retrying in {delay} seconds...")
|
||||||
@@ -202,7 +218,9 @@ class Connector:
|
|||||||
self.on_message(message)
|
self.on_message(message)
|
||||||
|
|
||||||
if message.ack_required:
|
if message.ack_required:
|
||||||
ack_message: Message = Message.ack(message.id)
|
ack_message: Message = Message.Control.ack(
|
||||||
|
message.id
|
||||||
|
)
|
||||||
self.send(ack_message)
|
self.send(ack_message)
|
||||||
self._send_outbound()
|
self._send_outbound()
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
|
|||||||
6
uv.lock
generated
6
uv.lock
generated
@@ -275,7 +275,7 @@ wheels = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "judas-client"
|
name = "judas-client"
|
||||||
version = "0.4.2"
|
version = "0.4.3"
|
||||||
source = { editable = "." }
|
source = { editable = "." }
|
||||||
dependencies = [
|
dependencies = [
|
||||||
{ name = "judas-protocol" },
|
{ name = "judas-protocol" },
|
||||||
@@ -318,8 +318,8 @@ test = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "judas-protocol"
|
name = "judas-protocol"
|
||||||
version = "0.6.0"
|
version = "0.8.0"
|
||||||
source = { git = "https://gitea.pufereq.pl/judas/judas_protocol.git#d16c1914ba343aed300f1c5fae0201370c3274de" }
|
source = { git = "https://gitea.pufereq.pl/judas/judas_protocol.git#a805ccf38edffadc1b8c8b276e60758c86516cd3" }
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "markdown-it-py"
|
name = "markdown-it-py"
|
||||||
|
|||||||
Reference in New Issue
Block a user