From mboxrd@z Thu Jan 1 00:00:00 1970
Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail
From: Philipp Stephani
Newsgroups: gmane.emacs.bugs
Subject: bug#45198: 28.0.50; Sandbox mode
Date: Sat, 17 Apr 2021 21:19:37 +0200
Message-ID:
References: <5818DFAA-3A9C-4335-BAAF-1227A02C290A@acm.org>
<19511709-E42B-4ABD-9823-39EA08A79B1F@gmail.com>
<83v98kvr7y.fsf@gnu.org> <9A5BCDF3-6543-46C0-AB56-2311392FC549@gmail.com>
Mime-Version: 1.0
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214";
logging-data="24193"; mail-complaints-to="usenet@ciao.gmane.io"
Cc: Alan Third , 45198@debbugs.gnu.org,
Stefan Kangas ,
=?UTF-8?Q?Jo=C3=A3o_?= =?UTF-8?Q?T=C3=A1vora?= ,
Stefan Monnier
To: Mattias =?UTF-8?Q?Engdeg=C3=A5rd?=
Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Sat Apr 17 21:20:17 2021
Return-path:
Envelope-to: geb-bug-gnu-emacs@m.gmane-mx.org
Original-Received: from lists.gnu.org ([209.51.188.17])
by ciao.gmane.io with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
(Exim 4.92)
(envelope-from )
id 1lXqUK-0006BQ-J5
for geb-bug-gnu-emacs@m.gmane-mx.org; Sat, 17 Apr 2021 21:20:16 +0200
Original-Received: from localhost ([::1]:50554 helo=lists1p.gnu.org)
by lists.gnu.org with esmtp (Exim 4.90_1)
(envelope-from )
id 1lXqUJ-0000g3-M7
for geb-bug-gnu-emacs@m.gmane-mx.org; Sat, 17 Apr 2021 15:20:15 -0400
Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:36288)
by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
(Exim 4.90_1) (envelope-from )
id 1lXqU6-0000eH-Gf
for bug-gnu-emacs@gnu.org; Sat, 17 Apr 2021 15:20:02 -0400
Original-Received: from debbugs.gnu.org ([209.51.188.43]:33106)
by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128)
(Exim 4.90_1) (envelope-from )
id 1lXqU6-0002Lx-7y
for bug-gnu-emacs@gnu.org; Sat, 17 Apr 2021 15:20:02 -0400
Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2)
(envelope-from ) id 1lXqU6-0000a6-4G
for bug-gnu-emacs@gnu.org; Sat, 17 Apr 2021 15:20:02 -0400
X-Loop: help-debbugs@gnu.org
Resent-From: Philipp Stephani
Original-Sender: "Debbugs-submit"
Resent-CC: bug-gnu-emacs@gnu.org
Resent-Date: Sat, 17 Apr 2021 19:20:02 +0000
Resent-Message-ID:
Resent-Sender: help-debbugs@gnu.org
X-GNU-PR-Message: followup 45198
X-GNU-PR-Package: emacs
X-GNU-PR-Keywords: patch
Original-Received: via spool by 45198-submit@debbugs.gnu.org id=B45198.16186871942210
(code B ref 45198); Sat, 17 Apr 2021 19:20:02 +0000
Original-Received: (at 45198) by debbugs.gnu.org; 17 Apr 2021 19:19:54 +0000
Original-Received: from localhost ([127.0.0.1]:44651 helo=debbugs.gnu.org)
by debbugs.gnu.org with esmtp (Exim 4.84_2)
(envelope-from )
id 1lXqTy-0000ZZ-L4
for submit@debbugs.gnu.org; Sat, 17 Apr 2021 15:19:54 -0400
Original-Received: from mail-oi1-f181.google.com ([209.85.167.181]:33397)
by debbugs.gnu.org with esmtp (Exim 4.84_2)
(envelope-from ) id 1lXqTx-0000ZO-Jy
for 45198@debbugs.gnu.org; Sat, 17 Apr 2021 15:19:53 -0400
Original-Received: by mail-oi1-f181.google.com with SMTP id l131so26398992oih.0
for <45198@debbugs.gnu.org>; Sat, 17 Apr 2021 12:19:53 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025;
h=mime-version:references:in-reply-to:from:date:message-id:subject:to
:cc:content-transfer-encoding;
bh=Ui8F8rSDXUU0+2TtgS0qCZ5bnr0trQvRNjtgldxJAHs=;
b=PKXQR96onIOTna9VMp9DJnkquBG7vgux5dCXKNK1vLiIkDcU2OVshBQbpWMmJv2xsY
6kRkEzhK7JWFfnnVNYnSZsDgFPsnn/jTKeR7DNAr8IUPruGzMbrvdva2EUEjiBsjhLvd
tEkgsugdoLdqMlehKic1WirReOZ+yEKU4lzilH28wWMOdYV5MaOVOx13+7ZJUpwK9gMQ
e6QtEuLOtC9ayHSEHUX9qZBuVMd62g3CHjV27tV5YRLdj5aids1jKW7cSmLbaYK9uLhy
zKAxpjJEU08jTbbcGdrQSwHQjJ5gofvwwEJmRkCIVN2BKig1UGtuQyH/qo84PnZSB6pf
kkgw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20161025;
h=x-gm-message-state:mime-version:references:in-reply-to:from:date
:message-id:subject:to:cc:content-transfer-encoding;
bh=Ui8F8rSDXUU0+2TtgS0qCZ5bnr0trQvRNjtgldxJAHs=;
b=uWHMtSAqgQNpaTPNr4NNTiRlA32BxbRhCnXTdJuMTzMhkIRd0WN9L0m1/tJnJwZaBA
H3IqP+Cjt4cnvw8wHNXWTDOx59aXlq97bh/CNpn5kAG9r0v3YAtbBU4jOxqsDgygXyQ9
zl0Ez0WRxfmR4ZKT6i/XXa6sWbk9LKUvST5h9To+/3mpGS9u1nakoLzQACxA5QdY4Maz
La3A4z8F4ghG9UHgQjzca+fTWLDHgTJPFOsxe/nNlBC4ZeoFdxhI6+mSoamzE9ScB+eC
CHLYAMmJlzacopJyE+Yy1xnC9NrPZ7A8vHgMpchCUw3yvQgE/3V41PrjQ9g6YI7kvU3T
mq2A==
X-Gm-Message-State: AOAM533cV8GVq9OeWkJz04Twh0J4s49AC1+3Iaz2Sukeu86pgLEUk+vN
EZvAf8cGXQH5x9BXVLMIiSp4MByTORnGd4TNM60=
X-Google-Smtp-Source: ABdhPJzxdR2MdvIpmGysf2aVVMty+y/8QYWs07GdiMDSew0X2jGZXPzHPAQNJ23ulmGVKvpbRyQ7ahImmAfdaMgSxDU=
X-Received: by 2002:a54:4582:: with SMTP id z2mr10904177oib.158.1618687188092;
Sat, 17 Apr 2021 12:19:48 -0700 (PDT)
In-Reply-To:
X-BeenThere: debbugs-submit@debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
X-BeenThere: bug-gnu-emacs@gnu.org
List-Id: "Bug reports for GNU Emacs,
the Swiss army knife of text editors"
List-Unsubscribe: ,
List-Archive:
List-Post:
List-Help:
List-Subscribe: ,
Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org
Original-Sender: "bug-gnu-emacs"
Xref: news.gmane.io gmane.emacs.bugs:204256
Archived-At:
Am Sa., 17. Apr. 2021 um 19:48 Uhr schrieb Mattias Engdeg=C3=A5rd :
>
> 17 apr. 2021 kl. 18.10 skrev Philipp :
>
> > (cl-defun start-sandbox (function &key readable-directories stdout-buff=
er) ...)
> > (defun wait-for-sandbox (sandbox) ...)
> >
> > where start-sandbox returns an opaque sandbox object running FUNCTION t=
hat wait-for-sandbox can wait for. That should be generic enough that it's=
extensible and implementable on several platforms, and doesn't lock us int=
o specific implementation choices.
>
> That's probably a nice interface. A slightly more low-level mechanism is =
what I had in mind, a `make-process` variant that starts an Emacs subproces=
s with the required arguments to set up a sandbox and leaving it to the use=
r to supply remaining arguments. But maybe we are really talking about more=
or less the same thing.
Yes, that would essentially be how start-sandbox would get
implemented. In the Seccomp case, something like (conceptually)
(start-process "bwrap ... -- emacs --seccomp=3D... --quick --batch
--eval=3DFUNCTION")
where bwrap can set up mount namespaces to restrict the filesystem.