From db278430f8994fe774beb50397cc935de5f1755f Mon Sep 17 00:00:00 2001 From: Hans de Goede Date: Thu, 6 Jun 2013 16:03:33 +0200 Subject: server: Add support for filtering out agent file-xfer msgs (rhbz#961848) Signed-off-by: Hans de Goede --- server/agent-msg-filter.c | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) (limited to 'server/agent-msg-filter.c') diff --git a/server/agent-msg-filter.c b/server/agent-msg-filter.c index b48dd765..567e03d0 100644 --- a/server/agent-msg-filter.c +++ b/server/agent-msg-filter.c @@ -27,10 +27,11 @@ #include "red_dispatcher.h" void agent_msg_filter_init(struct AgentMsgFilter *filter, - int copy_paste, int discard_all) + int copy_paste, int file_xfer, int discard_all) { memset(filter, 0, sizeof(*filter)); filter->copy_paste_enabled = copy_paste; + filter->file_xfer_enabled = file_xfer; filter->discard_all = discard_all; } @@ -81,6 +82,15 @@ data_to_read: filter->result = AGENT_MSG_FILTER_DISCARD; } break; + case VD_AGENT_FILE_XFER_START: + case VD_AGENT_FILE_XFER_STATUS: + case VD_AGENT_FILE_XFER_DATA: + if (filter->file_xfer_enabled) { + filter->result = AGENT_MSG_FILTER_OK; + } else { + filter->result = AGENT_MSG_FILTER_DISCARD; + } + break; case VD_AGENT_MONITORS_CONFIG: if (red_dispatcher_use_client_monitors_config()) { filter->result = AGENT_MSG_FILTER_MONITORS_CONFIG; -- cgit