aboutsummaryrefslogtreecommitdiff
path: root/crypto/openssh
diff options
context:
space:
mode:
authorEd Maste <emaste@FreeBSD.org>2024-07-01 13:14:15 +0000
committerEd Maste <emaste@FreeBSD.org>2024-07-05 13:16:40 +0000
commitb81424adf7181d816c10b1345aaa3305ab0ec304 (patch)
tree65b455abeaccd4486330e91f28a9ef5c21d0cd48 /crypto/openssh
parent383fd3ea00128cf65fbea0e4cbdb9849945c854b (diff)
Diffstat (limited to 'crypto/openssh')
-rw-r--r--crypto/openssh/clientloop.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/crypto/openssh/clientloop.c b/crypto/openssh/clientloop.c
index 8ec36af94b3f..6dcd6c8535aa 100644
--- a/crypto/openssh/clientloop.c
+++ b/crypto/openssh/clientloop.c
@@ -608,8 +608,9 @@ obfuscate_keystroke_timing(struct ssh *ssh, struct timespec *timeout,
if (timespeccmp(&now, &chaff_until, >=)) {
/* Stop if there have been no keystrokes for a while */
stop_reason = "chaff time expired";
- } else if (timespeccmp(&now, &next_interval, >=)) {
- /* Otherwise if we were due to send, then send chaff */
+ } else if (timespeccmp(&now, &next_interval, >=) &&
+ !ssh_packet_have_data_to_write(ssh)) {
+ /* If due to send but have no data, then send chaff */
if (send_chaff(ssh))
nchaff++;
}