From 63fde2d62ab4dd345f9d63586f25ce13378c0c0c Mon Sep 17 00:00:00 2001 From: Daniel Oaks Date: Sat, 12 Jan 2019 22:17:51 +1000 Subject: [PATCH] Re-enable MaxLine --- irc/config.go | 7 +++++-- irc/server.go | 7 +++++++ 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/irc/config.go b/irc/config.go index 272b91bc..c19bf157 100644 --- a/irc/config.go +++ b/irc/config.go @@ -529,8 +529,11 @@ func LoadConfig(filename string) (config *Config, err error) { } config.Server.WebIRC = newWebIRC // process limits - if config.Limits.LineLen.Tags < 512 || config.Limits.LineLen.Rest < 512 { - return nil, ErrLineLengthsTooSmall + if config.Limits.LineLen.Tags < 512 { + config.Limits.LineLen.Tags = 512 + } + if config.Limits.LineLen.Rest < 512 { + config.Limits.LineLen.Rest = 512 } var newLogConfigs []logger.LoggingConfig for _, logConfig := range config.Logging { diff --git a/irc/server.go b/irc/server.go index 0eda3a7a..bd396032 100644 --- a/irc/server.go +++ b/irc/server.go @@ -693,6 +693,13 @@ func (server *Server) applyConfig(config *Config, initial bool) (err error) { server.accounts.initVHostRequestQueue() } + // MaxLine + if config.Limits.LineLen.Tags != 512 || config.Limits.LineLen.Rest != 512 { + SupportedCapabilities.Enable(caps.MaxLine) + value := fmt.Sprintf("%d,%d", config.Limits.LineLen.Tags, config.Limits.LineLen.Rest) + CapValues.Set(caps.MaxLine, value) + } + // STS stsPreviouslyEnabled := oldConfig != nil && oldConfig.Server.STS.Enabled stsValue := config.Server.STS.Value()