HN user

abarth

505 karma
Posts0
Comments48
View on HN
No posts found.

There are some similarities. The main difference is that Wine is mostly in-process whereas, in this design is mostly out-of-process. I'll add a section on Wine to the "prior art" section of the doc.

Disclosure: I wrote the doc linked above.

The memory model is similar (a flat, linear address space). The OS APIs are quite different. Fuchsia's OS APIs are designed around an object-capability discipline. For example, almost all the syscalls take a zx_handle_t as their first argument, which means they are operations on an object the process has previously been granted access explicitly. In Linux, many OS APIs operate on the "ambient" environment rather than on a specific kernel object.

Disclosure: I work on Fuchsia.

I'm sorry, but I'm not sure what you mean by "this manifest." The blog post linked above was written by Wayne Piekarski, who is a Developer Advocate for Fuchsia. My role in the project is as a software engineer.

I understand where you're coming from, but that ends up being an inclusion issue in the project. I'm comfortable having my name and bio "out there" on the Internet, but I recognize that's a privilege. Not everyone who contributes to the project will be comfortable doing that.

Using an example from the doc, if your child process accesses "/dev/class/framebuffer", can you intercept its communications?

Yes. When creating the namespace for the child, the parent can map names to what whatever communication channels it chooses. If the parent wants to interpose on the child's access to "/dev/class/framebuffer", the parent could map that name to a channel that leads back to the parent.

Can a process create a custom sandbox and run, say, AppMgr with limited permission to limit the permissions of all apps it manages?

Yes. That's useful for testing as well as for sandboxing.

When you create a child process, you can clone your namespace or you can construct a new one for the child.

(Disclosure: I wrote the doc linked above.)

I'd recommend starting out with a small max-age value so that any mistaken records will expire quickly. (Disclosure: I'm a co-editor of the HSTS RFC.)

Chrome lets you see some of the HSTS internals:

chrome://net-internals/#hsts

There's no list of HSTS hosts because the host names are hashed on disk.

I just tested this on my laptop (which I keep on the stable channel). For some reason, I needed to reload the page to trigger the update check.

After the update to Chrome 28, I still had Flash 11.7. The blog post says that Flash 11.8.800.97 (the latest version) is rolling out via the component updater. I don't think there's any UI to trigger a component update, but it should happen naturally by itself.

Chrome 28 is available now on the stable channel:

http://googlechromereleases.blogspot.com/2013/07/stable-chan...

The update is rolling out gradually. If you would like to make sure you're on the latest version, you can select "About Google Chrome" from the "Chrome" menu on Mac. That will take you to a page that shows you which version you're running and checks for updates.

As the release blog mentions, the Flash update is rolling out via the component updater, which updates Flash independently of the rest of Chrome.

Their feedback is very useful to us as we iterate on the specification and implementation of CSP. (Disclosure: I'm an editor of the CSP specification.)

Peter's posts talk about everything that's going on in the WebKit project. The nightlies are just builds of Apple's Mac OS X and Windows ports.