summaryrefslogtreecommitdiffstats
path: root/server/agent-msg-filter.c
diff options
context:
space:
mode:
authorHans de Goede <hdegoede@redhat.com>2013-06-06 16:03:33 +0200
committerHans de Goede <hdegoede@redhat.com>2013-06-06 16:07:30 +0200
commitdb278430f8994fe774beb50397cc935de5f1755f (patch)
treecff7b836f3ef7de76584a99756ccf49076c7b14b /server/agent-msg-filter.c
parentb30daf38bfcb9e4a7c0e80b128493e0794469ba2 (diff)
downloadspice-db278430f8994fe774beb50397cc935de5f1755f.tar.gz
spice-db278430f8994fe774beb50397cc935de5f1755f.tar.xz
spice-db278430f8994fe774beb50397cc935de5f1755f.zip
server: Add support for filtering out agent file-xfer msgs (rhbz#961848)
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Diffstat (limited to 'server/agent-msg-filter.c')
-rw-r--r--server/agent-msg-filter.c12
1 files changed, 11 insertions, 1 deletions
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;