History log of /fuchsia/zircon/system/utest/namespace/namespace-test.c
Revision Date Author Comments
# 379f22fa 06-Jun-2018 Adam Barth <abarth@google.com>

[fdio] Move headers into lib/fdio/...

Change-Id: Ie8d74e716da913bf6e2672c4acf8cd67b4962b7f


# b7da9ded 06-Feb-2018 Brian Swetland <swetland@google.com>

[fdio][namespaces] remove overlay functionality

Under the new rules you cannot bind a path below a path
that has a remote bind point. So, for example:

create(ns) OK
bind(ns, "/dev/foo", 1) OK
bind(ns, "/dev/bar", 2) OK
bind(ns, "/dev", 3) FAIL
bind(ns, "/tmp", 4) OK
bind(ns, "/tmp/tmp", 5) FAIL

create(ns2) OK
bind(ns2, "/", 6) OK
bind(ns2, "/tmp", 7) FAIL

And when you open something via the namespace you either get a
pure virtual directory (like "/" or "/dev" in the above example)
that you can readdir() and open_at() but cannot otherwise interact
with, or you get a clone of the bound directory ("/dev/foo, "/dev/bar",
or "/tmp" in the example) which you can pass to another process,
do all the usual directory operations on, etc.

Change-Id: Ifc88718c532a7cf24fbbb7bdd728978cc8382304


# f3e2126c 12-Sep-2017 Roland McGrath <mcgrathr@google.com>

[zx] Magenta -> Zircon

The Great Renaming is here!

Change-Id: I3229bdeb2a3d0e40fb4db6fec8ca7d971fbffb94


# 2447c554 10-Jul-2017 Sean Klein <smklein@google.com>

[namespace] Allow misc filesystem ops to originate from namespace

Change-Id: Ib1bc700f9722e4965f5f6698dc0c9efd8e480c1d


# c915e066 10-Jul-2017 Sean Klein <smklein@google.com>

[namespace] Convert namespace uapp into uapp & test

This will allow namespaces to be tested as a part of
the automated build.

Change-Id: I50a969968dc47a40a83a95ce87d5fed2b5e57ce0


# 509e8764 10-Jul-2017 Sean Klein <smklein@google.com>

[namespace] Fix namespace test

"/boot/src" no longer exists

Change-Id: I7509da806a6570c37cc81918ba61b80c5667798f


# 05e6e5d7 24-May-2017 Sean Klein <smklein@google.com>

[magenta] Prevent opening directories as writable

Errno "EISDIR" for "open" can be returned for the following reason,
according to POSIX:
The named file is a directory and oflag includes O_WRONLY or O_RDWR.

(IEEE Std 1003.1, 2004 Edition)

Convert usage of opening a directory with "O_RDWR" or "O_WRONLY" to
"O_DIRECTORY" explicitly, when possible.

Change-Id: I47094798677dd22abcf2c40e3a1ff7b17525ba8c


# c63c92a6 28-Apr-2017 Brian Swetland <swetland@google.com>

[mxio][namespace] provide mxio_ns_destroy()

This can only succeed when there are no open directories of this
namespace. Otherwise ERR_BAD_STATE is returned.

Change-Id: Icedf179e78304c52abeb0cc32d5f2c4e9c648736


# 95d76272 26-Apr-2017 Brian Swetland <swetland@google.com>

[mxio][namespace] provide the ability to export namespaces

The resulting table is suitable for using launchpad() to
pass the namespace to a new process.

When launchpad is asked to CLONE_MXIO_ROOT, it will clone the
installed namespace, if it exists. If not, it will attempt to
clone the legacy MXIO_ROOT and service root handles.

namespace-test, if run with arguments, starts a shell in the
specified namespace. Example:

magenta$ namespace-test /bin=/boot/bin /boot/lib=/boot/lib /src=/boot/src /dev/misc=/dev/misc
magenta$ ls /
? 0 0 bin
? 0 0 boot
? 0 0 src
? 0 0 dev
magenta$ ls /dev
? 1 0 misc
magenta$ touch
/bin/sh: 6: touch: not found
magenta$ /bin/touch
usage: touch [-w] [-t] [-T] [-d] [-v] f1 [f2...]

Change-Id: Iaa16fa6dec46f7036d1ef1fd76012937eb61ee1c


# 83011856 21-Apr-2017 Brian Swetland <swetland@google.com>

[mxio][namespace] tools for creating local namespaces

- mxio_ns_create()
- mxio_ns_bind()
- mxio_ns_opendir()
- mxio_ns_chdir()
- mxio_ns_install()

Change-Id: I14239e4c408b5319f19b6a111a49a745e9838acd