Skip to content

Commit d99c9da

Browse files
committed
add IPADDRESS to NEW_ENVIRON in fingerprinting server
1 parent 00dedb0 commit d99c9da

3 files changed

Lines changed: 5 additions & 3 deletions

File tree

telnetlib3/fingerprinting.py

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -162,6 +162,7 @@ class ProbeResult(TypedDict, total=False):
162162
ENVIRON_EXTENDED: list[str] = [
163163
"HOME",
164164
"SHELL",
165+
"IPADDRESS",
165166
"SSH_CLIENT",
166167
"SSH_TTY",
167168
"HOSTNAME",
@@ -625,7 +626,7 @@ def _create_protocol_fingerprint(
625626
protocol = _get_protocol(writer)
626627
extra_dict = getattr(protocol, "_extra", {}) if protocol else {}
627628

628-
for key in ("HOME", "USER", "SHELL"):
629+
for key in ("HOME", "USER", "SHELL", "IPADDRESS"):
629630
if key in extra_dict:
630631
fingerprint[key] = "True" if extra_dict[key] else "None"
631632

@@ -796,7 +797,7 @@ def _create_session_fingerprint(writer: Union[TelnetWriter, TelnetWriterUnicode]
796797
if term := (writer.get_extra_info("TERM") or writer.get_extra_info("term")):
797798
identity["TERM"] = term
798799

799-
for key in ("USER", "HOME", "SHELL", "LANG", "charset"):
800+
for key in ("USER", "HOME", "SHELL", "LANG", "IPADDRESS", "charset"):
800801
if (value := writer.get_extra_info(key)) is not None and value:
801802
identity[key] = value
802803

telnetlib3/fingerprinting_display.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -402,7 +402,7 @@ def _build_telnet_rows(term: "blessed.Terminal", data: Dict[str, Any]) -> List[T
402402
pairs.append(("SLC", ", ".join(parts)))
403403

404404
env_vars = []
405-
for key in ("USER", "HOME", "SHELL"):
405+
for key in ("USER", "HOME", "SHELL", "IPADDRESS"):
406406
if proto_data.get(key) == "True":
407407
env_vars.append(key)
408408
if env_vars:

telnetlib3/tests/test_fingerprinting.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1031,6 +1031,7 @@ def test_fingerprinting_server_on_request_environ():
10311031
assert "HOME" in env
10321032
assert "SHELL" in env
10331033
assert "USER" in env
1034+
assert "IPADDRESS" in env
10341035

10351036

10361037
def test_fingerprint_server_shell_has_no_protocol_factory():

0 commit comments

Comments
 (0)