Skip to content

Commit b76f54a

Browse files
committed
feat: cloud protocol - send preface bytes before packet
1 parent cca0355 commit b76f54a

File tree

2 files changed

+9
-0
lines changed

2 files changed

+9
-0
lines changed

src/smartinspect/protocols/cloud/cloud_protocol.py

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -59,6 +59,8 @@ class CloudProtocol(TcpProtocol):
5959
_DEFAULT_TLS_CERTIFICATE_LOCATION: str = "resource"
6060
_DEFAULT_TLS_CERTIFICATE_FILEPATH: str = "client.pem"
6161

62+
_PREFACE_BYTES = bytes([0x29, 0x17, 0x73, 0x50])
63+
6264
def __init__(self) -> None:
6365
super().__init__()
6466
self._reconnect_allowed: bool = True
@@ -512,6 +514,10 @@ def _internal_initialize_socket(self):
512514
else:
513515
return super()._internal_initialize_socket()
514516

517+
def _internal_write_packet(self, packet: Packet) -> None:
518+
self._get_stream().write(self._PREFACE_BYTES)
519+
super()._internal_write_packet(packet)
520+
515521
def _internal_reconnect(self) -> bool:
516522
if self._reconnect_allowed:
517523
logger.debug("Trying to reconnect")

src/smartinspect/protocols/tcp_protocol.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -106,6 +106,9 @@ def _do_handshake(self) -> None:
106106
self._read_server_banner()
107107
self._send_client_banner()
108108

109+
def _get_stream(self):
110+
return self.__stream
111+
109112
def _read_server_banner(self) -> None:
110113
answer = self.__stream.readline().strip()
111114
if not answer:

0 commit comments

Comments
 (0)