use vchan library in Qubes OS

classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

use vchan library in Qubes OS

Drew
I want to do some experiments with vchan and develop an UI that let me
manage some DomUs (userspace) configs from a domU, without using
Qrexec or anything Qubes specific.

I've read:
[1]: https://lists.xen.org/archives/html/xen-users/2014-01/msg00162.html
[2]: https://www.cs.uic.edu/~xzhang/vchan/

Qubes OS run on top of Xen, so it should be possible to use the vchan
library inside the DomUs.

1) In the sites its described a communication between Dom0 and a DomU,
but I need to establish variuos bidirectional channels between DomUs.
Is it possible?

2) I don't know if Qubes OS is using or not a different version of the
vchan library nor if the developers have set up specific limitations
that can make the job harder.

3) In the libs folders I found all the libraries I think I need, but I
couldn't find any header (libxenvchan.h, ...) in the VMs systems, so
do I need to compile and install Xen from source, to be able to write
my own programs, even on Qubes OS?
And if I wanted to distribute a package for Qubes, the default
Debian/Fedora templates would need extra deps?


I've tried to write a new header with the `extern` declarations and
compile 'node.c'  from /xen/tools/libvchan:
[https://github.com/xen-project/xen/blob/master/tools/libvchan/node.c]
as a test, linking the binary to 'libvchan-xen.so', which I think its
Qubes specific and 'libxenvchan.so' in a second attempt.

The compilation succeded, but the program couldn't establish any
connections between VMs:
user@develop:~/myvchan$ ./node server write 3 /data/vchan
libxenvchan_*_init: Permission denied
user@develop:~/myvchan$ ./node server write 3 <ANY_PATH>
libxenvchan_*_init: Permission denied
user@develop:~/myvchan$ ./node client read 3 /data/vchan
libxenvchan_*_init: Permission denied
user@develop:~/myvchan$ ./node client read  3 /local/domain/<DOMID>/myc
libxenvchan_*_init: No such file or directory
user@develop:~/myvchan$ xenstore-exists /local/domain/<DOMID>/matrix
user@develop:~/myvchan$ echo $?
0


Anyone can explain me what I'm missing and guide me through the right
procedure ?

_______________________________________________
Xen-users mailing list
[hidden email]
https://lists.xenproject.org/mailman/listinfo/xen-users