Skip to content

Commit d76cada

Browse files
authored
SESSION_SSL=NEVER (#137)
1 parent a934485 commit d76cada

File tree

2 files changed

+21
-3
lines changed

2 files changed

+21
-3
lines changed

tnz/tnz.py

+13-1
Original file line numberDiff line numberDiff line change
@@ -98,6 +98,7 @@ def __init__(self, name=None):
9898
self.__secure = False
9999
self.__cert_verified = False
100100
self.__start_tls_hostname = None
101+
self.__start_tls_completed = False
101102
self.__host_verified = False
102103
self._event = None
103104
self.__loop = None
@@ -2144,7 +2145,11 @@ def _process(self, data):
21442145
self.send_do(25, buffer=True)
21452146

21462147
elif data[2] == 46: # START_TLS
2147-
if not hasattr(self.__loop, "start_tls"):
2148+
if os.environ.get("SESSION_SSL") == "NEVER":
2149+
self.__log_info("START_TLS SESSION_SSL=NEVER.")
2150+
self.send_wont(data[2], buffer=True)
2151+
2152+
elif not hasattr(self.__loop, "start_tls"):
21482153
self._log_warn("START_TLS unsupported.")
21492154
self._log_warn("Python >= 3.7 required")
21502155
self.send_wont(data[2], buffer=True)
@@ -4502,6 +4507,7 @@ async def __start_tls(self, context):
45024507

45034508
else:
45044509
self._transport = transport
4510+
self.__start_tls_completed = True
45054511
self.__secure = True
45064512
if context.verify_mode == ssl.CERT_REQUIRED:
45074513
self.__cert_verified = True
@@ -4764,6 +4770,12 @@ def secure(self):
47644770
"""
47654771
return self.__secure
47664772

4773+
@property
4774+
def start_tls_completed(self):
4775+
"""Bool indicating if start_tls completed.
4776+
"""
4777+
return self.__start_tls_completed
4778+
47674779
@property
47684780
def tn3270(self):
47694781
"""Bool indicating if NOT NVT mode.

tnz/zti.py

+8-2
Original file line numberDiff line numberDiff line change
@@ -780,13 +780,19 @@ def do_session(self, arg):
780780
elif tns.cert_verified:
781781
verify = "cert"
782782

783+
session_ssl = int(not tns.start_tls_completed)
783784
if verify:
785+
if not session_ssl:
786+
print(f" SESSION_SSL=0")
787+
784788
print(f" SESSION_SSL_VERIFY={verify}")
785789
else:
786-
print(f" SESSION_SSL=1")
790+
if session_ssl:
791+
print(f" SESSION_SSL=1")
792+
787793
print(f" SESSION_SSL_VERIFY=none")
788794
else:
789-
print(f" SESSION_SSL=0")
795+
print(f" SESSION_SSL=NEVER")
790796

791797
print(f" SESSION_TN_ENHANCED={tns.tn3270e:d}")
792798
print(f" SESSION_DEVICE_TYPE={tns.terminal_type}")

0 commit comments

Comments
 (0)