summaryrefslogtreecommitdiff
path: root/src/vdagentd.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/vdagentd.c')
-rw-r--r--src/vdagentd.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/vdagentd.c b/src/vdagentd.c
index 66afeaa..c9a085c 100644
--- a/src/vdagentd.c
+++ b/src/vdagentd.c
@@ -281,6 +281,13 @@ static void do_client_file_xfer(struct vdagent_virtio_port *vport,
"active session, cancelling client file-xfer request %u",
s->id, VD_AGENT_FILE_XFER_STATUS_CANCELLED);
return;
+ } else if (session_info_session_is_locked(session_info)) {
+ syslog(LOG_DEBUG, "Session is locked, skipping file-xfer-start");
+ send_file_xfer_status(vport,
+ "User's session is locked and cannot start file transfer. "
+ "Cancelling client file-xfer request %u",
+ s->id, VD_AGENT_FILE_XFER_STATUS_ERROR);
+ return;
}
udscs_write(active_session_conn, VDAGENTD_FILE_XFER_START, 0, 0,
data, message_header->size);