c05b26763a
1) Instead of a set of predefined commands, we send MSG_AGENT_TO_SERVER_TRIGGER_CONNECT_EXISTING msg with a parameter (e.g. "org.qubes-os.vm.Filecopy") defining required action 2) qrexec_daemon just forks qrexec_policy, that will take care of actually allowing and executing required action 3) after MSG_AGENT_TO_SERVER_TRIGGER_CONNECT_EXISTING, qrexec_agent does not execute a command - it justs uses already established file descriptors to send data to/from. Thus, there is no need to use ~/.xxxxxspool - a command line tool can have direct access to remote fds.
15 lines
860 B
Makefile
15 lines
860 B
Makefile
CC=gcc
|
|
CFLAGS+=-g -Wall -I../vchan -I../common -pie -fPIC
|
|
XENLIBS=-lvchan -lu2mfn -lxenstore -lxenctrl
|
|
COMMONIOALL=../common/ioall.o
|
|
|
|
all: qrexec_daemon qrexec_agent qrexec_client
|
|
qrexec_daemon: qrexec_daemon.o unix_server.o $(COMMONIOALL) txrx-vchan.o buffer.o write_stdin.o
|
|
$(CC) -pie -L../vchan -L../u2mfn -g -o qrexec_daemon qrexec_daemon.o unix_server.o $(COMMONIOALL) txrx-vchan.o write_stdin.o buffer.o $(XENLIBS)
|
|
qrexec_agent: qrexec_agent.o unix_server.o exec.o txrx-vchan.o write_stdin.o buffer.o $(COMMONIOALL)
|
|
$(CC) -pie -L../vchan -L../u2mfn -g -o qrexec_agent qrexec_agent.o unix_server.o exec.o txrx-vchan.o write_stdin.o buffer.o $(COMMONIOALL) $(XENLIBS)
|
|
qrexec_client: qrexec_client.o $(COMMONIOALL) exec.o
|
|
$(CC) -pie -g -o qrexec_client qrexec_client.o $(COMMONIOALL) exec.o
|
|
clean:
|
|
rm -f *.o *~ qrexec_daemon qrexec_agent qrexec_client
|