qyliss changed the topic of #spectrum to: A compartmentalized operating system | https://spectrum-os.org/ | Logs: https://logs.nix.samueldr.com/spectrum/
pie_ has joined #spectrum
<qyliss> Potentially. Need to look into it more first.
<qyliss> Just sent off the project plan to NLnet. Status update is about 2/3 written.
pie_ has quit [Ping timeout: 252 seconds]
<qyliss> A Conversation at CCCamp, and a Status Update: https://alyssa.is/back-from-cccamp-2019/
<qyliss> Tomorrow, I'll start on a mailing list.
<qyliss> Re cage, wayland-virtfs: It's possible, but I need to look into it more. I'm guessing that they currently, for example, share the clipboard. That would be Extremely Not Okay in Spectrum, and I don't know how easy changing that would be.
<qyliss> Hopefully it would be easy enough, but I don't know for sure.
<hyperfekt> Read it! Thanks for the update c:
<hyperfekt> qyliss: I'm not sure the post makes sufficiently apparent that virtio wayland and virtfs are two distinct things
<qyliss> Oh shit I got the name wrong didn’t i
<qyliss> I meant to link it too
<puck> qyliss: so like. the clipboard probably transfers over wayland, so your compositor (which would be a pretty trusted piece of software anyways) would have to be aware of this, and could have a "clipboard transfer" feature that allows you to see the clipboard of each window
<puck> oh actually. not sure wayland clipboards work over virtio-wayland?
<puck> the way the format works is that you create a wl_data_source, and the receiving end gets a wl_data_offer; the two can then transfer arbitrary (?) data over a file descriptor. This is also how drag&drop works
<qyliss> ooh
<qyliss> that sounds good
<qyliss> oh
<qyliss> well then
<qyliss> lol
<qyliss> Anyway, not sure I actually have a good link for virtio-wayland, so I guess I'll just remove the link and fix the name.
<qyliss> Fixed.
<hyperfekt> Not sure. According to the docs a file descriptor is used to transfer the data so it needs some extra support to copy and translate that between host and guest. I would assume the Googlers either already implemented it or will do so soon because they would probably like clipboards to work. 🤷‍♀️
<puck> this is pretty dependent on compositor support, so i bet a compositor could maybe limit transfer to e.g. text/plain, and "sanitized" image files?
<qyliss> that would be rad
<puck> hyperfekt: yeah, I think virtio-wl gets you basically file descriptors with slightly arbitrary settings, but this is not quite clear to me rn
<qyliss> would be amazing if we could implicitly do something like Qubes PDF rasterization in a DispVM. Would be a big step up.
<Shell> (sorry for the oob communication :p)
<hyperfekt> Apparently virtio_wl does clipboards but VirtIO DRM didn't at the time of this mail: https://lore.kernel.org/patchwork/patch/863004/
<qyliss> A magic "run this in a completely unrtusted sandbox" command like qrexec would be a good thing to have pretty early on too.
<puck> hyperfekt: seems it doesn't
<puck> unless you want to have your shared memory stored on the GPU lollllll
<hyperfekt> puck: Well that was almost two years ago so I wouldn't be surprised if it existed by now
<puck> yeah possibly
<hyperfekt> i liked the dispvm idea so much i want to put /everything/ into dispvms 😬 one per process
<Shell> isn't that like, the point of Spectrum?
<qyliss> Pretty much :)
<hyperfekt> yeah the differentiation is gradual. i think spectrum is one per application, no?
<qyliss> you can have multiple instances of an application in separate VMs
<qyliss> an application may well consist of multiple processes though
<qyliss> Starting a VM for every line in a shell script would be a little silly, for example :)
<hyperfekt> little enough that i wanna do it :b at least when redhat finally gets the linux unikernel done
<qyliss> the what
<qyliss> samueldr: I’ve CNAMEd logs.spectrum-os.org. to you. Think you need to do something on your end now?
<samueldr> yes, tell the http server it should serve it
<samueldr> (doing it)
<qyliss> hyperfekt: veeery interesting. Will keep an eye on it. Could be useful to us.
<hyperfekt> qyliss: I think the real challenge is making file descriptors between VMs work. I don't know much Linux kernel stuff yet. But the idea of strict site isolation + per-process VMs elates me :b
<qyliss> Yeah file descriptors
<qyliss> Between VMs could cause us trouble
<qyliss> If that’s how clipboards work
<samueldr> qyliss: should work now, my server will generate let's encrypt certs so don't be too spooked in the cert transparency reports :)
<samueldr> though there's one issue I need to fix: the server doesn't know it's serving from another domain name, I think it all ends up being localhost due to proxypass
qyliss changed the topic of #spectrum to: A compartmentalized operating system | https://spectrum-os.org/ | Logs: https://logs.spectrum-os.org/spectrum/
<qyliss> samueldr: wonderful, thank you very much
<Shell> samueldr: does it not respect x-forwarded-for?
<samueldr> Shell: haven't checked yet why, but it's something along the line
<hyperfekt> qyliss: virtio_wl has 'virtual file descriptors', whatever that means. Need more reading. https://github.com/matthewmgamble/virtio_wl/blob/master/virtio_wl.c
<qyliss> Oooh
<samueldr> Shell: it could also be something about using a unix domain socket instead of tcp socket
<samueldr> done; the domain name it sees, with `server unix:/.../....sock` is whatever `upstream NAME {}` is set
aranea has joined #spectrum
<puck> <qyliss> If that’s how clipboards work <- it's just "feed the file descriptor your mime type-defined content, read it out the other end" -- so letting everything go through a local file descriptor would be fine
<qyliss> samueldr: https://logs.spectrum-os.org/ seems to not list any channels at all in the sidebar now
<qyliss> puck: oh that’s good
<samueldr> qyliss: that's by design from the upstream irclogger from whitequark
<samueldr> it'd need patches (relatively trivial I think) to add lists per-domain instead
<qyliss> oh, I see
<qyliss> In that case, could you redirect / to /spectrum?
<samueldr> hmm, I think it's possible
<qyliss> It just means that right now people landing on / can’t do anything
<samueldr> yep, you're right
<qyliss> since there’s only one channel a simple redirect would be fine
<samueldr> (that's what happens with jruby's https://logs.jruby.org/ )
<samueldr> (jruby's being the example from whitequark of that feature)
<samueldr> ugh, inverted the hostname on which the redirect should happen...
<samueldr> all done
<qyliss> Thank you very much :)
pie_ has joined #spectrum