[arch-commits] Commit in openssh/trunk (PKGBUILD dispatch.patch)

Gaetan Bisson bisson at archlinux.org
Wed May 20 09:16:30 UTC 2015


    Date: Wednesday, May 20, 2015 @ 11:16:30
  Author: bisson
Revision: 239585

fix FS#45020

Added:
  openssh/trunk/dispatch.patch
Modified:
  openssh/trunk/PKGBUILD

----------------+
 PKGBUILD       |    5 ++-
 dispatch.patch |   81 +++++++++++++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 85 insertions(+), 1 deletion(-)

Modified: PKGBUILD
===================================================================
--- PKGBUILD	2015-05-20 07:59:44 UTC (rev 239584)
+++ PKGBUILD	2015-05-20 09:16:30 UTC (rev 239585)
@@ -5,7 +5,7 @@
 
 pkgname=openssh
 pkgver=6.8p1
-pkgrel=2
+pkgrel=3
 pkgdesc='Free version of the SSH connectivity tools'
 url='http://www.openssh.org/portable.html'
 license=('custom:BSD')
@@ -17,6 +17,7 @@
 validpgpkeys=('59C2118ED206D927E667EBE3D3E5F56B6D920D30')
 source=("ftp://ftp.openbsd.org/pub/OpenBSD/OpenSSH/portable/${pkgname}-${pkgver}.tar.gz"{,.asc}
         'error.patch'
+        'dispatch.patch'
         'sshdgenkeys.service'
         'sshd at .service'
         'sshd.service'
@@ -25,6 +26,7 @@
         'sshd.pam')
 sha1sums=('cdbc51e46a902b30d263b05fdc71340920e91c92' 'SKIP'
           '1b6b11efe9b20b9d1e51a59ac4b16eefb1dc84b8'
+          'e629d45e899bbb2b3e702080f37cb40f3dc2b9b4'
           'cc1ceec606c98c7407e7ac21ade23aed81e31405'
           '6a0ff3305692cf83aca96e10f3bb51e1c26fccda'
           'ec49c6beba923e201505f5669cea48cad29014db'
@@ -39,6 +41,7 @@
 prepare() {
 	cd "${srcdir}/${pkgname}-${pkgver}"
 	patch -p1 -i ../error.patch
+	patch -p1 -i ../dispatch.patch
 }
 
 build() {

Added: dispatch.patch
===================================================================
--- dispatch.patch	                        (rev 0)
+++ dispatch.patch	2015-05-20 09:16:30 UTC (rev 239585)
@@ -0,0 +1,81 @@
+From 639d6bc57b1942393ed12fb48f00bc05d4e093e4 Mon Sep 17 00:00:00 2001
+From: djm at openbsd.org <djm at openbsd.org>
+Date: Fri, 01 May 2015 07:10:01 +0000
+Subject: upstream commit
+
+refactor ssh_dispatch_run_fatal() to use sshpkt_fatal()
+ to better report error conditions. Teach sshpkt_fatal() about ECONNRESET.
+
+Improves error messages on TCP connection resets. bz#2257
+
+ok dtucker@
+---
+diff --git a/dispatch.c b/dispatch.c
+index afe6182..aac933e 100644
+--- a/dispatch.c
++++ b/dispatch.c
+@@ -1,4 +1,4 @@
+-/* $OpenBSD: dispatch.c,v 1.26 2015/02/12 20:34:19 dtucker Exp $ */
++/* $OpenBSD: dispatch.c,v 1.27 2015/05/01 07:10:01 djm Exp $ */
+ /*
+  * Copyright (c) 2000 Markus Friedl.  All rights reserved.
+  *
+@@ -137,22 +137,6 @@ ssh_dispatch_run_fatal(struct ssh *ssh, int mode, volatile sig_atomic_t *done,
+ {
+ 	int r;
+ 
+-	if ((r = ssh_dispatch_run(ssh, mode, done, ctxt)) != 0) {
+-		switch (r) {
+-		case SSH_ERR_CONN_CLOSED:
+-			logit("Connection closed by %.200s",
+-			    ssh_remote_ipaddr(ssh));
+-			cleanup_exit(255);
+-		case SSH_ERR_CONN_TIMEOUT:
+-			logit("Connection to %.200s timed out while "
+-			    "waiting to read", ssh_remote_ipaddr(ssh));
+-			cleanup_exit(255);
+-		case SSH_ERR_DISCONNECTED:
+-			logit("Disconnected from %.200s",
+-			    ssh_remote_ipaddr(ssh));
+-			cleanup_exit(255);
+-		default:
+-			fatal("%s: %s", __func__, ssh_err(r));
+-		}
+-	}
++	if ((r = ssh_dispatch_run(ssh, mode, done, ctxt)) != 0)
++		sshpkt_fatal(ssh, __func__, r);
+ }
+diff --git a/packet.c b/packet.c
+index 4922573..a7727ef 100644
+--- a/packet.c
++++ b/packet.c
+@@ -1,4 +1,4 @@
+-/* $OpenBSD: packet.c,v 1.208 2015/02/13 18:57:00 markus Exp $ */
++/* $OpenBSD: packet.c,v 1.212 2015/05/01 07:10:01 djm Exp $ */
+ /*
+  * Author: Tatu Ylonen <ylo at cs.hut.fi>
+  * Copyright (c) 1995 Tatu Ylonen <ylo at cs.hut.fi>, Espoo, Finland
+@@ -1920,9 +1920,19 @@ sshpkt_fatal(struct ssh *ssh, const char *tag, int r)
+ 		logit("Connection closed by %.200s", ssh_remote_ipaddr(ssh));
+ 		cleanup_exit(255);
+ 	case SSH_ERR_CONN_TIMEOUT:
+-		logit("Connection to %.200s timed out while "
+-		    "waiting to write", ssh_remote_ipaddr(ssh));
++		logit("Connection to %.200s timed out", ssh_remote_ipaddr(ssh));
+ 		cleanup_exit(255);
++	case SSH_ERR_DISCONNECTED:
++		logit("Disconnected from %.200s",
++		    ssh_remote_ipaddr(ssh));
++		cleanup_exit(255);
++	case SSH_ERR_SYSTEM_ERROR:
++		if (errno == ECONNRESET) {
++			logit("Connection reset by %.200s",
++			    ssh_remote_ipaddr(ssh));
++			cleanup_exit(255);
++		}
++		/* FALLTHROUGH */
+ 	default:
+ 		fatal("%s%sConnection to %.200s: %s",
+ 		    tag != NULL ? tag : "", tag != NULL ? ": " : "",
+--
+cgit v0.9.2



More information about the arch-commits mailing list