Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package openssh for openSUSE:Factory checked in at 2024-10-14 13:06:29 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/openssh (Old) and /work/SRC/openSUSE:Factory/.openssh.new.19354 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "openssh" Mon Oct 14 13:06:29 2024 rev:186 rq:1207806 version:9.9p1 Changes: -------- --- /work/SRC/openSUSE:Factory/openssh/openssh.changes 2024-09-26 18:52:31.359181511 +0200 +++ /work/SRC/openSUSE:Factory/.openssh.new.19354/openssh.changes 2024-10-14 13:06:34.335104812 +0200 @@ -1,0 +2,10 @@ +Fri Oct 11 09:28:30 UTC 2024 - Antonio Larrosa <alarr...@suse.com> + +- Add a patch to fix a regression introduced in 9.6 that makes X11 + forwarding very slow. Submitted to upstream in + https://bugzilla.mindrot.org/show_bug.cgi?id=3655#c4 . Fixes + bsc#1229449: + * fix-x11-regression-bsc1229449.patch +- Remove empty line at the end of sshd-sle.pamd (bsc#1227456) + +------------------------------------------------------------------- New: ---- fix-x11-regression-bsc1229449.patch BETA DEBUG BEGIN: New:/work/SRC/openSUSE:Factory/.openssh.new.19354/openssh.changes- bsc#1229449: /work/SRC/openSUSE:Factory/.openssh.new.19354/openssh.changes: * fix-x11-regression-bsc1229449.patch /work/SRC/openSUSE:Factory/.openssh.new.19354/openssh.changes-- Remove empty line at the end of sshd-sle.pamd (bsc#1227456) BETA DEBUG END: ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ openssh.spec ++++++ --- /var/tmp/diff_new_pack.5Fr8Yc/_old 2024-10-14 13:06:36.967215300 +0200 +++ /var/tmp/diff_new_pack.5Fr8Yc/_new 2024-10-14 13:06:36.971215468 +0200 @@ -141,9 +141,11 @@ # 200 - 300 -- Patches submitted to upstream # PATCH-FIX-UPSTREAM -- https://github.com/openssh/openssh-portable/pull/452 boo#1229010 Patch200: 0001-auth-pam-Immediately-report-instructions-to-clients-and-fix-handling-in-ssh-client.patch +# PATCH-FIX-UPSTREAM -- https://bugzilla.mindrot.org/show_bug.cgi?id=3655#c4 +Patch201: fix-x11-regression-bsc1229449.patch # 1000 - 2000 -- Conditional patches -# PATCH-FIX-OPENSUSE bsc#1211301 Add crypto-policies support %if 0%{with crypto_policies} +# PATCH-FIX-OPENSUSE bsc#1211301 Add crypto-policies support Patch1000: openssh-9.6p1-crypto-policies.patch Patch1001: openssh-9.6p1-crypto-policies-man.patch %endif ++++++ fix-x11-regression-bsc1229449.patch ++++++ Index: openssh-9.9p1/clientloop.c =================================================================== --- openssh-9.9p1.orig/clientloop.c +++ openssh-9.9p1/clientloop.c @@ -663,9 +663,10 @@ obfuscate_keystroke_timing(struct ssh *s if (just_started) return 1; - /* Don't arm output fd for poll until the timing interval has elapsed */ + /* Don't arm output fd for poll until the timing interval has elapsed... */ if (timespeccmp(&now, &next_interval, <)) - return 0; + /* ...unless there's x11 communicattion happening */ + return x11_channel_used_recently(ssh); /* Calculate number of intervals missed since the last check */ n = (now.tv_sec - next_interval.tv_sec) * 1000LL * 1000 * 1000; Index: openssh-9.9p1/channels.c =================================================================== --- openssh-9.9p1.orig/channels.c +++ openssh-9.9p1/channels.c @@ -5352,3 +5352,22 @@ x11_request_forwarding_with_spoofing(str fatal_fr(r, "send x11-req"); free(new_data); } + +/* + * Returns whether an x11 channel was used recently (less than a second ago) + */ +int +x11_channel_used_recently(struct ssh *ssh) { + u_int i; + Channel *c; + time_t lastused = 0; + + for (i = 0; i < ssh->chanctxt->channels_alloc; i++) { + c = ssh->chanctxt->channels[i]; + if (c == NULL || c->ctype == NULL || c->lastused == 0 || + strcmp(c->ctype, "x11-connection")) + continue; + lastused = c->lastused; + } + return (lastused != 0 && monotime() < lastused + 1); +} Index: openssh-9.9p1/channels.h =================================================================== --- openssh-9.9p1.orig/channels.h +++ openssh-9.9p1/channels.h @@ -382,6 +382,7 @@ int x11_connect_display(struct ssh *); int x11_create_display_inet(struct ssh *, int, int, int, u_int *, int **); void x11_request_forwarding_with_spoofing(struct ssh *, int, const char *, const char *, const char *, int); +int x11_channel_used_recently(struct ssh *ssh); /* channel close */ ++++++ sshd-sle.pamd ++++++ --- /var/tmp/diff_new_pack.5Fr8Yc/_old 2024-10-14 13:06:37.279228397 +0200 +++ /var/tmp/diff_new_pack.5Fr8Yc/_new 2024-10-14 13:06:37.283228565 +0200 @@ -9,4 +9,3 @@ session include common-session session optional pam_motd.so -