mirror of
https://github.com/ergochat/ergo.git
synced 2024-11-25 13:29:27 +01:00
parent
9214d978d0
commit
3ee6fd1f6c
@ -335,7 +335,11 @@ server:
|
|||||||
# oragono will write files to disk under certain circumstances, e.g.,
|
# oragono will write files to disk under certain circumstances, e.g.,
|
||||||
# CPU profiling or data export. by default, these files will be written
|
# CPU profiling or data export. by default, these files will be written
|
||||||
# to the working directory. set this to customize:
|
# to the working directory. set this to customize:
|
||||||
# output-path: "/home/oragono/out"
|
#output-path: "/home/oragono/out"
|
||||||
|
|
||||||
|
# the hostname used by "services", e.g., NickServ, defaults to "localhost",
|
||||||
|
# e.g., `NickServ!NickServ@localhost`. uncomment this to override:
|
||||||
|
#override-services-hostname: "example.network"
|
||||||
|
|
||||||
# account options
|
# account options
|
||||||
accounts:
|
accounts:
|
||||||
|
@ -526,17 +526,18 @@ type Config struct {
|
|||||||
forceTrailing bool
|
forceTrailing bool
|
||||||
SendUnprefixedSasl bool `yaml:"send-unprefixed-sasl"`
|
SendUnprefixedSasl bool `yaml:"send-unprefixed-sasl"`
|
||||||
}
|
}
|
||||||
isupport isupport.List
|
isupport isupport.List
|
||||||
IPLimits connection_limits.LimiterConfig `yaml:"ip-limits"`
|
IPLimits connection_limits.LimiterConfig `yaml:"ip-limits"`
|
||||||
Cloaks cloaks.CloakConfig `yaml:"ip-cloaking"`
|
Cloaks cloaks.CloakConfig `yaml:"ip-cloaking"`
|
||||||
SecureNetDefs []string `yaml:"secure-nets"`
|
SecureNetDefs []string `yaml:"secure-nets"`
|
||||||
secureNets []net.IPNet
|
secureNets []net.IPNet
|
||||||
supportedCaps *caps.Set
|
supportedCaps *caps.Set
|
||||||
capValues caps.Values
|
capValues caps.Values
|
||||||
Casemapping Casemapping
|
Casemapping Casemapping
|
||||||
EnforceUtf8 bool `yaml:"enforce-utf8"`
|
EnforceUtf8 bool `yaml:"enforce-utf8"`
|
||||||
OutputPath string `yaml:"output-path"`
|
OutputPath string `yaml:"output-path"`
|
||||||
IPCheckScript ScriptConfig `yaml:"ip-check-script"`
|
IPCheckScript ScriptConfig `yaml:"ip-check-script"`
|
||||||
|
OverrideServicesHostname string `yaml:"override-services-hostname"`
|
||||||
}
|
}
|
||||||
|
|
||||||
Roleplay struct {
|
Roleplay struct {
|
||||||
|
@ -530,6 +530,8 @@ func (server *Server) applyConfig(config *Config) (err error) {
|
|||||||
} else if oldConfig.Server.IPCheckScript.MaxConcurrency != config.Server.IPCheckScript.MaxConcurrency ||
|
} else if oldConfig.Server.IPCheckScript.MaxConcurrency != config.Server.IPCheckScript.MaxConcurrency ||
|
||||||
oldConfig.Accounts.AuthScript.MaxConcurrency != config.Accounts.AuthScript.MaxConcurrency {
|
oldConfig.Accounts.AuthScript.MaxConcurrency != config.Accounts.AuthScript.MaxConcurrency {
|
||||||
return fmt.Errorf("Cannot change max-concurrency for scripts after launching the server, rehash aborted")
|
return fmt.Errorf("Cannot change max-concurrency for scripts after launching the server, rehash aborted")
|
||||||
|
} else if oldConfig.Server.OverrideServicesHostname != config.Server.OverrideServicesHostname {
|
||||||
|
return fmt.Errorf("Cannot change override-services-hostname after launching the server, rehash aborted")
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -563,6 +565,10 @@ func (server *Server) applyConfig(config *Config) (err error) {
|
|||||||
if maxAuthConc != 0 {
|
if maxAuthConc != 0 {
|
||||||
server.semaphores.AuthScript.Initialize(maxAuthConc)
|
server.semaphores.AuthScript.Initialize(maxAuthConc)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if err := overrideServicePrefixes(config.Server.OverrideServicesHostname); err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if oldConfig != nil {
|
if oldConfig != nil {
|
||||||
|
@ -316,6 +316,19 @@ func makeServiceHelpTextGenerator(cmd string, banner string) func(*Client) strin
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func overrideServicePrefixes(hostname string) error {
|
||||||
|
if hostname == "" {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
if !utils.IsHostname(hostname) {
|
||||||
|
return fmt.Errorf("`%s` is an invalid services hostname", hostname)
|
||||||
|
}
|
||||||
|
for _, serv := range OragonoServices {
|
||||||
|
serv.prefix = fmt.Sprintf("%s!%s@%s", serv.Name, serv.Name, hostname)
|
||||||
|
}
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
func initializeServices() {
|
func initializeServices() {
|
||||||
// this modifies the global Commands map,
|
// this modifies the global Commands map,
|
||||||
// so it must be called from irc/commands.go's init()
|
// so it must be called from irc/commands.go's init()
|
||||||
|
@ -307,7 +307,11 @@ server:
|
|||||||
# oragono will write files to disk under certain circumstances, e.g.,
|
# oragono will write files to disk under certain circumstances, e.g.,
|
||||||
# CPU profiling or data export. by default, these files will be written
|
# CPU profiling or data export. by default, these files will be written
|
||||||
# to the working directory. set this to customize:
|
# to the working directory. set this to customize:
|
||||||
# output-path: "/home/oragono/out"
|
#output-path: "/home/oragono/out"
|
||||||
|
|
||||||
|
# the hostname used by "services", e.g., NickServ, defaults to "localhost",
|
||||||
|
# e.g., `NickServ!NickServ@localhost`. uncomment this to override:
|
||||||
|
#override-services-hostname: "example.network"
|
||||||
|
|
||||||
# account options
|
# account options
|
||||||
accounts:
|
accounts:
|
||||||
|
Loading…
Reference in New Issue
Block a user