diff --git a/irc/config.go b/irc/config.go index d748e6f7..18434cfe 100644 --- a/irc/config.go +++ b/irc/config.go @@ -21,14 +21,18 @@ func (conf *PassConfig) PasswordBytes() []byte { } type Config struct { + Network struct { + Name string + } + Server struct { PassConfig + Name string Database string Listen []string Wslisten string Log string MOTD string - Name string } Operator map[string]*PassConfig @@ -67,6 +71,9 @@ func LoadConfig(filename string) (config *Config, err error) { return nil, err } + if config.Network.Name == "" { + return nil, errors.New("Network name missing") + } if config.Server.Name == "" { return nil, errors.New("Server name missing") } diff --git a/irc/server.go b/irc/server.go index a1479452..c5e16b23 100644 --- a/irc/server.go +++ b/irc/server.go @@ -88,11 +88,11 @@ func NewServer(config *Config) *Server { server.isupport.Add("CHANTYPES", "#") server.isupport.Add("EXCEPTS", "") server.isupport.Add("INVEX", "") - server.isupport.Add("KICKLEN", "") //TODO(dan): Support kick length? - server.isupport.Add("MAXLIST", "") //TODO(dan): Support max list length? - server.isupport.Add("MODES", "") //TODO(dan): Support max modes? - server.isupport.Add("NETWORK", "NetNameHere") //TODO(dan): Support network name - server.isupport.Add("NICKLEN", "") //TODO(dan): Support nick length + server.isupport.Add("KICKLEN", "") //TODO(dan): Support kick length? + server.isupport.Add("MAXLIST", "") //TODO(dan): Support max list length? + server.isupport.Add("MODES", "") //TODO(dan): Support max modes? + server.isupport.Add("NETWORK", config.Network.Name) + server.isupport.Add("NICKLEN", "") //TODO(dan): Support nick length server.isupport.Add("PREFIX", "(ov)@+") server.isupport.Add("STATUSMSG", "@+") //TODO(dan): Autogenerate based on PREFIXes, make sure it's actually supported server.isupport.Add("TARGMAX", "") //TODO(dan): Support this diff --git a/oragono.yaml b/oragono.yaml index 0458c0ad..c3ab2116 100644 --- a/oragono.yaml +++ b/oragono.yaml @@ -1,4 +1,11 @@ # oragono IRCd config + +# network configuration +network: + # name of the network + name: OragonoTest + +# server configuration server: # server name name: oragono.test