From owner-freebsd-standards Fri Sep 6 15:30:55 2002 Delivered-To: freebsd-standards@freebsd.org Received: from mx1.FreeBSD.org (mx1.FreeBSD.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 5806337B401 for ; Fri, 6 Sep 2002 15:30:52 -0700 (PDT) Received: from south.nanolink.com (south.nanolink.com [217.75.134.10]) by mx1.FreeBSD.org (Postfix) with SMTP id 6A96743E42 for ; Fri, 6 Sep 2002 15:30:50 -0700 (PDT) (envelope-from roam@straylight.ringlet.net) Received: (qmail 91407 invoked by uid 85); 6 Sep 2002 22:39:41 -0000 Received: from discworld.nanolink.com (HELO straylight.ringlet.net) (217.75.135.248) by south.nanolink.com with SMTP; 6 Sep 2002 22:39:37 -0000 Received: (qmail 24451 invoked by uid 1000); 6 Sep 2002 22:29:39 -0000 Date: Sat, 7 Sep 2002 01:29:39 +0300 From: Peter Pentchev To: standards@FreeBSD.org Cc: "Chris S.J.Peron" , Garrett Wollman , Mike Heffner , Dag-Erling Smorgrav Subject: glob(3) in -STABLE: PR bin/42275 Message-ID: <20020906222939.GE384@straylight.oblivion.bg> Mime-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="S1BNGpv0yoYahz37" Content-Disposition: inline User-Agent: Mutt/1.5.1i X-Virus-Scanned: by Nik's Monitoring Daemon (AMaViS perl-11d ) Sender: owner-freebsd-standards@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG --S1BNGpv0yoYahz37 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable Hi, I've been sitting on PR bin/42275 for a week now, guess it's about time to take some action, if only requesting a discussion :) I've CC'd Garrett Wollman and Mike Heffner as people who were involved in the recent glob(3) overhaul in CURRENT, and DES as the OpenSSH maintainer. The problem: STABLE's glob(3) does not consider a 'no match' case to be an error; sftp(1) depends on it being an error, and reacts badly to the empty list returned instead. A few months ago, in the 4.6 release cycle, it was decided to patch sftp(1) for the time being, resulting in revision 1.1.1.1.2.2 of src/crypto/openssh/sftp-int.c. However, now the problem has resurfaced with the OpenSSH update to 3.4, and there are some additional circumstances to take into account, such as the fact that CURRENT now has a real POSIX-compatible glob(3), up to and including the GLOB_NOMATCH return value. The solutions, as I see them: #1 - do the 'hide head in sand' thing again, and patch STABLE's sftp-int.c file again. Pros: easy, been done before. Cons: gratuitious local patches, hard to maintain (as witnessed by the problem's reappearance). #2 - MFC the POSIX-compatible glob(3) in full. Pros: full POSIX compatibility in STABLE, proper GLOB_NOMATCH handling. Cons: API and ABI breakage for both the glob(3) error codes and general behavior; in addition, the MFC itself might not be quite trivial, what with the conditional preprocessor definitions. #3 - MFC a limited version of the glob(3) overhaul, only adding the GLOB_NOMATCH error code and handling. Pros: GLOB_NOMATCH handling in STABLE, working sftp(1) client. Cons: limited API and ABI incompatiblity for the glob(3) error codes - some programs may get an error code that did not exist at the time they were compiled. I wonder if this will indeed be a problem.. So.. opinions? I really hope this will be resolved in some way or other before 4.7 rolls out the door.. G'luck, Peter --=20 Peter Pentchev roam@ringlet.net roam@FreeBSD.org PGP key: http://people.FreeBSD.org/~roam/roam.key.asc Key fingerprint FDBA FD79 C26F 3C51 C95E DF9E ED18 B68D 1619 4553 The rest of this sentence is written in Thailand, on --S1BNGpv0yoYahz37 Content-Type: application/pgp-signature Content-Disposition: inline -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.0.7 (FreeBSD) iD8DBQE9eSxT7Ri2jRYZRVMRAr3/AKCndPLbvQo0aPkQQMqzEXhr5+sAZACfat2z XdHptgxgVT36l/5EwOrnRdo= =oce4 -----END PGP SIGNATURE----- --S1BNGpv0yoYahz37-- To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-standards" in the body of the message