diff --git a/src/syncterm/telnets.c b/src/syncterm/telnets.c index 3d6c87f217f434882d8735b93ecc917f8dbda250..8b530ebb0036e1d947ba9240e0dcb50305273a01 100644 --- a/src/syncterm/telnets.c +++ b/src/syncterm/telnets.c @@ -12,6 +12,7 @@ #include "sockwrap.h" #include "ssh.h" #include "syncterm.h" +#include "telnet_io.h" #include "threadwrap.h" #include "uifcinit.h" #include "window.h" @@ -245,6 +246,17 @@ telnets_connect(struct bbslist *bbs) if (!bbs->hidepopups) uifc.pop(NULL); // TODO: Why is this called twice? + // Suppress Go Aheads (both directions) + request_telnet_opt(TELNET_WILL, TELNET_SUP_GA); + request_telnet_opt(TELNET_DO, TELNET_SUP_GA); + if (!bbs->telnet_no_binary) { + // Enable binary mode (both directions) + request_telnet_opt(TELNET_WILL, TELNET_BINARY_TX); + request_telnet_opt(TELNET_DO, TELNET_BINARY_TX); + } + // Request that the server echos + request_telnet_opt(TELNET_DO, TELNET_ECHO); + return 0; }