From ad3236e3205dc25b9c3e363145fae59e56201d89 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Deuc=D0=B5?= <shurd@sasktel.net>
Date: Fri, 17 Jan 2025 10:21:32 -0500
Subject: [PATCH] Set initial telnet modes in telnets

Not sure how I missed this one.
---
 src/syncterm/telnets.c | 12 ++++++++++++
 1 file changed, 12 insertions(+)

diff --git a/src/syncterm/telnets.c b/src/syncterm/telnets.c
index 3d6c87f217..8b530ebb00 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;
 }
 
-- 
GitLab