From: djm@openbsd.org Date: Sun, 6 Jun 2021 03:17:02 +0000 (+0000) Subject: upstream: degrade gracefully if a sftp-server offers the X-Git-Tag: V_8_7_P1~165 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=bda270d7fb8522d43c21a79a4b02a052d7c64de8;p=thirdparty%2Fopenssh-portable.git upstream: degrade gracefully if a sftp-server offers the limits@openssh.com extension but fails when the client tries to invoke it. Reported by Hector Martin via bz3318 OpenBSD-Commit-ID: bd9d1839c41811616ede4da467e25746fcd9b967 --- diff --git a/sftp-client.c b/sftp-client.c index cadaee6bd..1167027f3 100644 --- a/sftp-client.c +++ b/sftp-client.c @@ -1,4 +1,4 @@ -/* $OpenBSD: sftp-client.c,v 1.142 2021/04/03 06:18:41 djm Exp $ */ +/* $OpenBSD: sftp-client.c,v 1.143 2021/06/06 03:17:02 djm Exp $ */ /* * Copyright (c) 2001-2004 Damien Miller * @@ -577,8 +577,12 @@ do_limits(struct sftp_conn *conn, struct sftp_limits *limits) if (id != msg_id) fatal("ID mismatch (%u != %u)", msg_id, id); if (type != SSH2_FXP_EXTENDED_REPLY) { - fatal("Expected SSH2_FXP_EXTENDED_REPLY(%u) packet, got %u", + debug_f("expected SSH2_FXP_EXTENDED_REPLY(%u) packet, got %u", SSH2_FXP_EXTENDED_REPLY, type); + /* Disable the limits extension */ + conn->exts &= ~SFTP_EXT_LIMITS; + sshbuf_free(msg); + return 0; } memset(limits, 0, sizeof(*limits));