diff --git a/CHANGELOG.md b/CHANGELOG.md index 3e1e2204d..0265baad5 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -74,7 +74,7 @@ The table below shows which release corresponds to each branch, and what date th | [2.2.0](#220) | | Jan 5, 2015 ## 5.0.0 (`dev`) - +- [#2747][2747] fix(ssh): preserve ANSI escape codes in interactive mode (closes #2703) - [#2740][2740] setup: install docs to FHS-compliant share/doc/pwntools - [#2739][2739] shellcraft: migrate lazy importer to find_spec for Python 3.12+ - [#2725][2725] feat(libcdb): add extra_mirrors arg + PWNLIB_EXTRA_LIBC_MIRRORS env to download_libraries @@ -139,6 +139,7 @@ The table below shows which release corresponds to each branch, and what date th - [#2733][2733] loongarch64: fix incorrect mov assembly template - [#2746][2746] elf: point people at libc_start_main_return when they look up __libc_start_main_ret +[2747]: https://github.com/Gallopsled/pwntools/pull/2747 [2675]: https://github.com/Gallopsled/pwntools/pull/2675 [2652]: https://github.com/Gallopsled/pwntools/pull/2652 [2638]: https://github.com/Gallopsled/pwntools/pull/2638 diff --git a/pwnlib/tubes/ssh.py b/pwnlib/tubes/ssh.py index da47c5683..7d222c946 100644 --- a/pwnlib/tubes/ssh.py +++ b/pwnlib/tubes/ssh.py @@ -232,9 +232,8 @@ def recv_thread(event): elif cur == b'\a': # Ugly hack until term unstands bell characters continue - stdout = sys.stdout - if not term.term_mode: - stdout = getattr(stdout, 'buffer', stdout) + + stdout = getattr(sys.stdout, 'buffer', sys.stdout) stdout.write(cur) stdout.flush() except EOFError: