Selaa lähdekoodia

qubes-rpc, qrexec: register callbacks for qrexec-lib

Now qrexec-lib do not use exported symbols of particular names, but
explicitly registered callbacks.
Marek Marczykowski-Górecki 10 vuotta sitten
vanhempi
commit
75b1e24bab
4 muutettua tiedostoa jossa 5 lisäystä ja 5 poistoa
  1. 3 0
      qrexec/qrexec-agent.c
  2. 1 0
      qubes-rpc/qfile-agent.c
  3. 0 5
      qubes-rpc/qfile-unpacker.c
  4. 1 0
      qubes-rpc/tar2qfile.c

+ 3 - 0
qrexec/qrexec-agent.c

@@ -71,6 +71,8 @@ int passfd_socket;
 
 int meminfo_write_started = 0;
 
+void do_exec(const char *cmd);
+
 void init()
 {
 	peer_server_init(REXEC_PORT);
@@ -80,6 +82,7 @@ void init()
 	umask(077);
 	trigger_fd =
 	    open(QREXEC_AGENT_TRIGGER_PATH, O_RDONLY | O_NONBLOCK);
+	register_exec_func(do_exec);
 }
 
 void wake_meminfo_writer() {

+ 1 - 0
qubes-rpc/qfile-agent.c

@@ -49,6 +49,7 @@ int main(int argc, char **argv)
 	signal(SIGPIPE, SIG_IGN);
 	// this will allow checking for possible feedback packet in the middle of transfer
 	set_nonblock(0);
+	register_notify_progress(&notify_progress);
 	notify_progress(0, PROGRESS_FLAG_INIT);
 	crc32_sum = 0;
 	cwd = getcwd(NULL, 0);

+ 0 - 5
qubes-rpc/qfile-unpacker.c

@@ -31,11 +31,6 @@ int prepare_creds_return_uid(const char *username)
 	return pwd->pw_uid;
 }
 
-
-void notify_progress(int p1, int p2)
-{
-	}
-
 int main(int argc, char ** argv)
 {
 	char *incoming_dir;

+ 1 - 0
qubes-rpc/tar2qfile.c

@@ -963,6 +963,7 @@ int main(int argc, char **argv)
 	signal(SIGPIPE, SIG_IGN);
 	// this will allow checking for possible feedback packet in the middle of transfer
 	// if disabled, the copy_file process could hang
+	register_notify_progress(&notify_progress);
 	notify_progress(0, PROGRESS_FLAG_INIT);
 	//set_size_limit(1500000000, 2048);