From 3ee6078256bf6de363f23e462656dafa39293906 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Miroslav=20=C5=A0ediv=C3=BD?= Date: Sat, 20 Apr 2024 17:13:32 +0200 Subject: [PATCH] add filetransfer lock. --- internal/plugins/filetransfer/manager.go | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/internal/plugins/filetransfer/manager.go b/internal/plugins/filetransfer/manager.go index 34fa7ee0..517ee846 100644 --- a/internal/plugins/filetransfer/manager.go +++ b/internal/plugins/filetransfer/manager.go @@ -56,9 +56,17 @@ func (m *Manager) isEnabledForSession(session types.Session) bool { } } + settings, ok := m.sessions.Settings().Plugins["filetransfer"] + // by default, allow file transfer if the plugin config is not present + if ok && canTransfer && session.Profile().IsAdmin { + canTransfer, ok = settings.(bool) + // if the plugin is present but not a boolean, allow file transfer + if !ok { + canTransfer = true + } + } + return m.config.Enabled && canTransfer - // TODO: when locking is implemented - // && (session.Profile().IsAdmin || !h.state.IsLocked("file_transfer")) } func (m *Manager) refresh() (error, bool) {