Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 24 Feb 2014 18:31:08 +0000 (GMT)
From:      Robert Watson <rwatson@FreeBSD.org>
To:        Jordan Hubbard <jordan.hubbard@gmail.com>
Cc:        freebsd-filesystems@freebsd.org, freebsd-hackers@freebsd.org, Willem Jan Withagen <wjw@digiware.nl>, Perry Hutchison <perryh@pluto.rain.com>
Subject:   Re: Thoughts on Multi-Symlink Concept
Message-ID:  <alpine.BSF.2.00.1402241828000.61905@fledge.watson.org>
In-Reply-To: <43505B61-FAE8-4A61-922E-78F6007BBFC3@gmail.com>
References:  <CAO2cuEMC==HstC4VkkiFpHyo6LA_xyCjYKvCEECXneVLNnZpZg@mail.gmail.com> <A31B3F88-861F-459B-AD67-F146D5514594@mail.turbofuzz.com> <530049a1.XXZ1PjZFgRyCu9X6%perryh@pluto.rain.com> <53092D83.6050603@digiware.nl> <43505B61-FAE8-4A61-922E-78F6007BBFC3@gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help
On Sat, 22 Feb 2014, Jordan Hubbard wrote:

>> Yes, please can we get these ....
>>
>> Apollo Domain systems had those, and they were great. Set SYSTYPE to BSD4 
>> and get the BSD tree and all that came with it, or SYSV to get the other 
>> stuff.
>
> Yep, I loved these things on Domain/OS!  We system admin types used them to 
> do all kinds of clever (and useful) things.
>
> Looks like FreeBSD has actually *had* an implementation for 6 years now.  I 
> don’t necessarily agree with the architectural decision to create a 
> different namespace and command (varsym) to manipulate it - it was really 
> nice just having it be a part of the standard environ(7) - but hey, any 
> implementation is better than no implementation.  Whatever happened to 
> https://wiki.freebsd.org/200808DevSummit?action=AttachFile&do=get&target=variant-symlinks-for-freebsd.pdf 
> ?

Some care is required here: at least one of the past implementations floating 
around had the neat property that user-defined symlink expansions occurred 
before system-defined ones, even for setuid binaries.  This allowed trivial 
replacement of libraries out from under a binary, making rooting boxes easy. 
I'm actually a fan of variant symlinks as well, having used them in AFS -- I'd 
just prefer we aim for a model that minimises inconvenient rooting of boxes. 
(I'm not passing judgement on this particular patch, mind you.)  I believe 
Brooks Davis did the last serious pass at variant symlinks and might opine 
further on the topic.

Robert
From owner-freebsd-hackers@FreeBSD.ORG  Mon Feb 24 18:37:53 2014
Return-Path: <owner-freebsd-hackers@FreeBSD.ORG>
Delivered-To: freebsd-hackers@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115])
 (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by hub.freebsd.org (Postfix) with ESMTPS id EB91B26C;
 Mon, 24 Feb 2014 18:37:53 +0000 (UTC)
Received: from co9outboundpool.messaging.microsoft.com
 (co9ehsobe002.messaging.microsoft.com [207.46.163.25])
 (using TLSv1 with cipher AES128-SHA (128/128 bits))
 (No client certificate requested)
 by mx1.freebsd.org (Postfix) with ESMTPS id 93B931780;
 Mon, 24 Feb 2014 18:37:52 +0000 (UTC)
Received: from mail44-co9-R.bigfish.com (10.236.132.237) by
 CO9EHSOBE023.bigfish.com (10.236.130.86) with Microsoft SMTP Server id
 14.1.225.22; Mon, 24 Feb 2014 18:37:45 +0000
Received: from mail44-co9 (localhost [127.0.0.1])	by mail44-co9-R.bigfish.com
 (Postfix) with ESMTP id B9566C803E6;
 Mon, 24 Feb 2014 18:37:45 +0000 (UTC)
X-Forefront-Antispam-Report: CIP:157.56.240.101; KIP:(null); UIP:(null);
 IPV:NLI; H:BL2PRD0510HT001.namprd05.prod.outlook.com; RD:none; EFVD:NLI
X-SpamScore: -2
X-BigFish: VPS-2(zz98dI9371I542I1432Izz1f42h2148h208ch1ee6h1de0h1fdah2073h2146h1202h1e76h2189h1d1ah1d2ah21bch1fc6hzz1de098h8275dh1de097h186068hz2fh109h2a8h839h944hd24hf0ah1220h1288h12a5h12a9h12bdh137ah13b6h1441h1504h1537h153bh162dh1631h1758h18e1h1946h19b5h19ceh1ad9h1b0ah224fh1d07h1d0ch1d2eh1d3fh1de9h1dfeh1dffh1fe8h1ff5h2216h22d0h2336h2461h2487h24ach24d7h2516h2545h255eh9a9j1155h)
Received-SPF: pass (mail44-co9: domain of juniper.net designates
 157.56.240.101 as permitted sender) client-ip=157.56.240.101;
 envelope-from=aduane@juniper.net;
 helo=BL2PRD0510HT001.namprd05.prod.outlook.com ; .outlook.com ; 
X-Forefront-Antispam-Report-Untrusted: SFV:NSPM;
 SFS:(10009001)(6009001)(377454003)(199002)(189002)(13464003)(24454002)(51704005)(54316002)(81686001)(53806001)(54356001)(46102001)(51856001)(76482001)(19580395003)(56776001)(95666003)(31966008)(74366001)(81816001)(74316001)(15975445006)(47446002)(74662001)(33646001)(47976001)(92566001)(94946001)(74502001)(94316002)(93516002)(93136001)(86362001)(47736001)(74876001)(49866001)(85852003)(74706001)(56816005)(90146001)(83072002)(80022001)(65816001)(87936001)(83322001)(19580405001)(95416001)(69226001)(4396001)(50986001)(79102001)(66066001)(63696002)(87266001)(76576001)(76796001)(59766001)(77982001)(76786001)(2656002)(80976001)(81542001)(85306002)(81342001)(24736002);
 DIR:OUT; SFP:1101; SCL:1; SRVR:BY2PR05MB775;
 H:BY2PR05MB582.namprd05.prod.outlook.com; CLIP:66.129.241.12;
 FPR:BCC1D6DC.AEDA7D16.32F5BD7B.4EF1D94B.20382; PTR:InfoNoRecords; A:1; MX:1;
 LANG:en; 
Received: from mail44-co9 (localhost.localdomain [127.0.0.1]) by mail44-co9
 (MessageSwitch) id 1393267063714704_3014; Mon, 24 Feb 2014 18:37:43 +0000
 (UTC)
Received: from CO9EHSMHS005.bigfish.com (unknown [10.236.132.250])	by
 mail44-co9.bigfish.com (Postfix) with ESMTP id A8B2B8C0047;	Mon, 24 Feb 2014
 18:37:43 +0000 (UTC)
Received: from BL2PRD0510HT001.namprd05.prod.outlook.com (157.56.240.101) by
 CO9EHSMHS005.bigfish.com (10.236.130.15) with Microsoft SMTP Server (TLS) id
 14.16.227.3; Mon, 24 Feb 2014 18:37:43 +0000
Received: from BY2PR05MB775.namprd05.prod.outlook.com (10.141.224.152) by
 BL2PRD0510HT001.namprd05.prod.outlook.com (10.255.100.36) with Microsoft SMTP
 Server (TLS) id 14.16.411.0; Mon, 24 Feb 2014 18:37:42 +0000
Received: from BY2PR05MB582.namprd05.prod.outlook.com (10.141.219.146) by
 BY2PR05MB775.namprd05.prod.outlook.com (10.141.224.152) with Microsoft SMTP
 Server (TLS) id 15.0.883.10; Mon, 24 Feb 2014 18:37:40 +0000
Received: from BY2PR05MB582.namprd05.prod.outlook.com ([10.141.219.146]) by
 BY2PR05MB582.namprd05.prod.outlook.com ([10.141.219.146]) with mapi id
 15.00.0883.010; Mon, 24 Feb 2014 18:37:40 +0000
From: Andrew Duane <aduane@juniper.net>
To: Robert Watson <rwatson@freebsd.org>, Jordan Hubbard
 <jordan.hubbard@gmail.com>
Subject: RE: Thoughts on Multi-Symlink Concept
Thread-Topic: Thoughts on Multi-Symlink Concept
Thread-Index: AQHPMCLWAfcQ8HrO+ky5HMi/vn1+QZrEvQ4sgAAA7RA=
Date: Mon, 24 Feb 2014 18:37:39 +0000
Message-ID: <c95138a571f141878d75a60e54f4f38c@BY2PR05MB582.namprd05.prod.outlook.com>
References: <CAO2cuEMC==HstC4VkkiFpHyo6LA_xyCjYKvCEECXneVLNnZpZg@mail.gmail.com>
 <A31B3F88-861F-459B-AD67-F146D5514594@mail.turbofuzz.com>
 <530049a1.XXZ1PjZFgRyCu9X6%perryh@pluto.rain.com>
 <53092D83.6050603@digiware.nl>
 <43505B61-FAE8-4A61-922E-78F6007BBFC3@gmail.com>
 <alpine.BSF.2.00.1402241828000.61905@fledge.watson.org>
In-Reply-To: <alpine.BSF.2.00.1402241828000.61905@fledge.watson.org>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-originating-ip: [66.129.241.12]
x-forefront-prvs: 0132C558ED
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-OriginatorOrg: juniper.net
X-FOPE-CONNECTOR: Id%0$Dn%*$RO%0$TLS%0$FQDN%$TlsDn%
Cc: "freebsd-filesystems@freebsd.org" <freebsd-filesystems@freebsd.org>,
 "freebsd-hackers@freebsd.org" <freebsd-hackers@freebsd.org>,
 Willem Jan Withagen <wjw@digiware.nl>, Perry Hutchison <perryh@pluto.rain.com>
X-BeenThere: freebsd-hackers@freebsd.org
X-Mailman-Version: 2.1.17
Precedence: list
List-Id: Technical Discussions relating to FreeBSD
 <freebsd-hackers.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/options/freebsd-hackers>, 
 <mailto:freebsd-hackers-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/freebsd-hackers/>;
List-Post: <mailto:freebsd-hackers@freebsd.org>
List-Help: <mailto:freebsd-hackers-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/freebsd-hackers>,
 <mailto:freebsd-hackers-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Mon, 24 Feb 2014 18:37:54 -0000


-----Original Message-----
From: owner-freebsd-hackers@freebsd.org [mailto:owner-freebsd-hackers@freeb=
sd.org] On Behalf Of Robert Watson
Sent: Monday, February 24, 2014 1:31 PM
To: Jordan Hubbard
Cc: freebsd-filesystems@freebsd.org; freebsd-hackers@freebsd.org; Willem Ja=
n Withagen; Perry Hutchison
Subject: Re: Thoughts on Multi-Symlink Concept

On Sat, 22 Feb 2014, Jordan Hubbard wrote:

>>> Apollo Domain systems had those, and they were great. Set SYSTYPE to BS=
D4=20
>>> and get the BSD tree and all that came with it, or SYSV to get the othe=
r=20
>.> stuff.
>>
>> Yep, I loved these things on Domain/OS!  We system admin types used them=
 to=20
>> do all kinds of clever (and useful) things.
>>
>> Looks like FreeBSD has actually *had* an implementation for 6 years now.=
  I=20
>> don't necessarily agree with the architectural decision to create a=20
>> different namespace and command (varsym) to manipulate it - it was reall=
y=20
>> nice just having it be a part of the standard environ(7) - but hey, any=
=20
>> implementation is better than no implementation.  Whatever happened to=20
>> https://wiki.freebsd.org/200808DevSummit?action=3DAttachFile&do=3Dget&ta=
rget=3Dvariant-symlinks-for-freebsd.pdf?
>
>Some care is required here: at least one of the past implementations float=
ing=20
>around had the neat property that user-defined symlink expansions occurred=
=20
>before system-defined ones, even for setuid binaries.  This allowed trivia=
l=20
>replacement of libraries out from under a binary, making rooting boxes eas=
y.=20
>I'm actually a fan of variant symlinks as well, having used them in AFS --=
 I'd=20
>just prefer we aim for a model that minimises inconvenient rooting of boxe=
s.=20
>(I'm not passing judgement on this particular patch, mind you.)  I believe=
=20
>Brooks Davis did the last serious pass at variant symlinks and might opine=
=20
>further on the topic.
>
>Robert

I'd also be careful of violating the Principle of Least Astonishment with a=
ny
Implementation. Multi or Variable symlnks that suddenly change meaning
Can really confound people.

/Andrew





Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?alpine.BSF.2.00.1402241828000.61905>