diff options
Diffstat (limited to 'app')
-rw-r--r-- | app/plugin.go | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/app/plugin.go b/app/plugin.go index d96e6e990..3f06a000f 100644 --- a/app/plugin.go +++ b/app/plugin.go @@ -30,6 +30,8 @@ import ( "github.com/mattermost/mattermost-server/plugin" "github.com/mattermost/mattermost-server/plugin/pluginenv" + "github.com/mattermost/mattermost-server/plugin/rpcplugin" + "github.com/mattermost/mattermost-server/plugin/rpcplugin/sandbox" ) const ( @@ -382,6 +384,12 @@ func (a *App) InitPlugins(pluginPath, webappPath string, supervisorOverride plug if supervisorOverride != nil { options = append(options, pluginenv.SupervisorProvider(supervisorOverride)) + } else if err := sandbox.CheckSupport(); err != nil { + l4g.Warn(err.Error()) + l4g.Warn("plugin sandboxing is not supported. plugins will run with the same access level as the server") + options = append(options, pluginenv.SupervisorProvider(rpcplugin.SupervisorProvider)) + } else { + options = append(options, pluginenv.SupervisorProvider(sandbox.SupervisorProvider)) } if env, err := pluginenv.New(options...); err != nil { |