From owner-svn-src-all@FreeBSD.ORG Fri Dec 23 18:20:42 2011 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id B3DB01065670; Fri, 23 Dec 2011 18:20:42 +0000 (UTC) (envelope-from kabaev@gmail.com) Received: from mail-qy0-f182.google.com (mail-qy0-f182.google.com [209.85.216.182]) by mx1.freebsd.org (Postfix) with ESMTP id 184038FC13; Fri, 23 Dec 2011 18:20:41 +0000 (UTC) Received: by qcse13 with SMTP id e13so8647771qcs.13 for ; Fri, 23 Dec 2011 10:20:41 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=date:from:to:cc:subject:message-id:in-reply-to:references:x-mailer :mime-version:content-type; bh=7cNTGmVdZETB35mLWEfaD2VNzFl/gg7fBK+PeoJvkP0=; b=bRD58b+jHYhfRs7NyVVKkEQNB60+V9cNC5vFOaXgnt3lnYpy0bndH0Y4gITrLtVjul 62cRgs+E0d9ElwFnhs5E2FZ5u0qZx5IEdV63NacZIKTmqccAEE3d4J27+fZI0oKbg1Uq LxXgJTdtDv/8B8/W6JQwhdxs9U0JqDxHqkSSE= Received: by 10.224.197.7 with SMTP id ei7mr19911180qab.84.1324664441415; Fri, 23 Dec 2011 10:20:41 -0800 (PST) Received: from kan.dyndns.org (c-24-63-226-98.hsd1.ma.comcast.net. [24.63.226.98]) by mx.google.com with ESMTPS id q14sm25547314qap.4.2011.12.23.10.20.40 (version=SSLv3 cipher=OTHER); Fri, 23 Dec 2011 10:20:40 -0800 (PST) Date: Fri, 23 Dec 2011 13:20:34 -0500 From: Alexander Kabaev To: Kostik Belousov Message-ID: <20111223132034.12192baa@kan.dyndns.org> In-Reply-To: <20111223175143.GJ50300@deviant.kiev.zoral.com.ua> References: <201112231500.pBNF0c0O071712@svn.freebsd.org> <201112231058.46642.jhb@freebsd.org> <201112231122.34436.jhb@freebsd.org> <20111223120644.75fe944d@kan.dyndns.org> <20111223175143.GJ50300@deviant.kiev.zoral.com.ua> X-Mailer: Claws Mail 3.7.10 (GTK+ 2.24.6; amd64-portbld-freebsd9.0) Mime-Version: 1.0 Content-Type: multipart/signed; micalg=PGP-SHA1; boundary="Sig_/5lcKqYi_CebwpwoL9c8Y+NN"; protocol="application/pgp-signature" Cc: svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org, Colin Percival , John Baldwin Subject: Re: svn commit: r228843 - head/contrib/telnet/libtelnet head/crypto/heimdal/appl/telnet/libtelnet head/include head/lib/libc/gen head/lib/libc/iconv head/lib/libc/include head/lib/libc/net head/libexec... X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 23 Dec 2011 18:20:42 -0000 --Sig_/5lcKqYi_CebwpwoL9c8Y+NN Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: quoted-printable On Fri, 23 Dec 2011 19:51:43 +0200 Kostik Belousov wrote: > On Fri, Dec 23, 2011 at 12:06:44PM -0500, Alexander Kabaev wrote: > > On Fri, 23 Dec 2011 11:22:34 -0500 > > John Baldwin wrote: > >=20 > > > On Friday, December 23, 2011 10:58:46 am John Baldwin wrote: > > > > On Friday, December 23, 2011 10:00:38 am Colin Percival wrote: > > > > > Author: cperciva > > > > > Date: Fri Dec 23 15:00:37 2011 > > > > > New Revision: 228843 > > > > > URL: http://svn.freebsd.org/changeset/base/228843 > > > > >=20 > > > > > Log: > > > > > Fix a problem whereby a corrupt DNS record can cause named > > > > > to crash. [11:06]=20 > > > > > Add an API for alerting internal libc routines to the > > > > > presence of "unsafe" paths post-chroot, and use it in ftpd. > > > > > [11:07] > > > >=20 > > > > Eh, the whole libc_dlopen() thing looks like a gross hack (and > > > > who came up with that weird symbol name for a public API????). > > > > Is it really even needed given the other fix to have ftpd drop > > > > privilege before execing a helper program? I guess the main > > > > reason I don't like it is it doesn't do anything to address the > > > > more general problem. I would have expected instead something > > > > to restrict dlopen() entirely including from other libraries > > > > than just libc in certain circumstances. > > >=20 > > > At the very least if we feel that the libc_dlopen() thing is a > > > temporary band-aid, we should move the new symbols into the > > > private namespace so we can remove them once the better fix is in > > > rather than being required to support them forever. > libc_dlopen() is not exposed. > The __FreeBSD_libc_enter_restricted_mode() is, and its name is ugly > exactly to note the ugly intent. I do not see how the symbol can go > int FBSDprivate_1.0 when it was supposed to be used by third-party > applications. >=20 > Putting this hack into rtld itself IMO has to wide consequences. > For libc, we can enumerate the points that stop work after the call, > but for the generic applications the consequences are undefined. > > >=20 > > > --=20 > > > John Baldwin > >=20 > > Pardon for not catching that when I had a chance to influence the > > outcome, but I would like to voice my support to tucking the > > ugliness into private version namespace. > >=20 > > --=20 > > Alexander Kabaev >=20 Putting symbol into official namespace implies that we are willing to provide and maintain it forever, which I do not think was the intent for the function in question. FBSD_PRIVATE says nothing about who should and should not link to it, only the level of API stability one has to expect in the end. If/when we have better security mechanisms (capsicum?) available to users by default, this should be ripped out with extreme prejudice. --=20 Alexander Kabaev --Sig_/5lcKqYi_CebwpwoL9c8Y+NN Content-Type: application/pgp-signature; name=signature.asc Content-Disposition: attachment; filename=signature.asc -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.18 (FreeBSD) iD8DBQFO9MZ3Q6z1jMm+XZYRAivLAJ41jrp3y8Rx6Y1DMQrsVlraRSo5cQCfXtVN GlxoyBzrnlS+o8xRj9ZO3v4= =YO7h -----END PGP SIGNATURE----- --Sig_/5lcKqYi_CebwpwoL9c8Y+NN--