- Timestamp:
- Mar 21, 2023, 4:45:19 AM (2 years ago)
- Location:
- trunk
- Files:
-
- 29 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Makefile
r801 r804 7 7 MANDIR ?= share/man 8 8 9 all: suika suikactl doc/suika.19 all: suika suikactl suika-znc-import doc/suika.1 10 10 11 11 suika: -
trunk/bridge.go
r784 r804 1 package s oju1 package suika 2 2 3 3 import ( -
trunk/certfp.go
r614 r804 1 package s oju1 package suika 2 2 3 3 import ( … … 58 58 cert := &x509.Certificate{ 59 59 SerialNumber: serialNumber, 60 Subject: pkix.Name{CommonName: "s ojuauto-generated certificate"},60 Subject: pkix.Name{CommonName: "suika auto-generated certificate"}, 61 61 NotBefore: notBefore, 62 62 NotAfter: notAfter, -
trunk/cmd/suika-znc-import/main.go
r801 r804 17 17 ) 18 18 19 const usage = `usage: s oju-znc-import [options...] <znc config path>19 const usage = `usage: suika-znc-import [options...] <znc config path> 20 20 21 21 Imports configuration from a ZNC file. Users and networks are merged if they 22 already exist in the s oju database. ZNC settings overwrite existing soju22 already exist in the suika database. ZNC settings overwrite existing suika 23 23 settings. 24 24 … … 26 26 27 27 -help Show this help message 28 -config <path> Path to s ojuconfig file28 -config <path> Path to suika config file 29 29 -user <username> Limit import to username (may be specified multiple times) 30 30 -network <name> Limit import to network (may be specified multiple times) … … 65 65 ctx := context.Background() 66 66 67 db, err := s oju.OpenDB(cfg.SQLDriver, cfg.SQLSource)67 db, err := suika.OpenDB(cfg.SQLDriver, cfg.SQLSource) 68 68 if err != nil { 69 69 log.Fatalf("failed to open database: %v", err) … … 87 87 log.Fatalf("failed to list users in DB: %v", err) 88 88 } 89 existingUsers := make(map[string]*s oju.User, len(l))89 existingUsers := make(map[string]*suika.User, len(l)) 90 90 for i, u := range l { 91 91 existingUsers[u.Username] = &l[i] … … 108 108 } else { 109 109 // "!!" is an invalid crypt format, thus disables password auth 110 u = &s oju.User{Username: username, Password: "!!"}110 u = &suika.User{Username: username, Password: "!!"} 111 111 usersCreated++ 112 112 log.Printf("user %q: creating new user", username) … … 124 124 log.Fatalf("failed to list networks for user %q: %v", username, err) 125 125 } 126 existingNetworks := make(map[string]*s oju.Network, len(l))126 existingNetworks := make(map[string]*suika.Network, len(l)) 127 127 for i, n := range l { 128 128 existingNetworks[n.GetName()] = &l[i] … … 176 176 logger.Printf("updating existing network") 177 177 } else { 178 n = &s oju.Network{Name: netName}178 n = &suika.Network{Name: netName} 179 179 logger.Printf("creating new network") 180 180 } … … 195 195 logger.Fatalf("failed to list channels: %v", err) 196 196 } 197 existingChannels := make(map[string]*s oju.Channel, len(l))197 existingChannels := make(map[string]*suika.Channel, len(l)) 198 198 for i, ch := range l { 199 199 existingChannels[ch.Name] = &l[i] … … 214 214 logger.Printf("channel %q: updating existing channel", chName) 215 215 } else { 216 ch = &s oju.Channel{Name: chName}216 ch = &suika.Channel{Name: chName} 217 217 logger.Printf("channel %q: creating new channel", chName) 218 218 } … … 233 233 234 234 if usersCreated > 0 { 235 log.Printf("warning: user passwords haven't been imported, please set them with `s ojuctl change-password <username>`")235 log.Printf("warning: user passwords haven't been imported, please set them with `suikactl change-password <username>`") 236 236 } 237 237 -
trunk/cmd/suika/main.go
r801 r804 60 60 ) 61 61 62 func loadConfig() (*config.Server, *s oju.Config, error) {62 func loadConfig() (*config.Server, *suika.Config, error) { 63 63 var raw *config.Server 64 64 if configPath != "" { … … 89 89 } 90 90 91 cfg := &s oju.Config{91 cfg := &suika.Config{ 92 92 Hostname: raw.Hostname, 93 93 Title: raw.Title, … … 124 124 } 125 125 126 db, err := s oju.OpenDB(cfg.SQLDriver, cfg.SQLSource)126 db, err := suika.OpenDB(cfg.SQLDriver, cfg.SQLSource) 127 127 if err != nil { 128 128 log.Fatalf("failed to open database: %v", err) … … 138 138 } 139 139 140 srv := s oju.NewServer(db)140 srv := suika.NewServer(db) 141 141 srv.SetConfig(serverCfg) 142 srv.Logger = s oju.NewLogger(log.Writer(), debug)142 srv.Logger = suika.NewLogger(log.Writer(), debug) 143 143 144 144 for _, listen := range cfg.Listen { … … 242 242 case "ident": 243 243 if srv.Identd == nil { 244 srv.Identd = s oju.NewIdentd()244 srv.Identd = suika.NewIdentd() 245 245 } 246 246 … … 316 316 } 317 317 318 if db, ok := db.(s oju.MetricsCollectorDatabase); ok && srv.MetricsRegistry != nil {318 if db, ok := db.(suika.MetricsCollectorDatabase); ok && srv.MetricsRegistry != nil { 319 319 srv.MetricsRegistry.MustRegister(db.MetricsCollector()) 320 320 } … … 345 345 } 346 346 347 func proxyProtoListener(ln net.Listener, srv *s oju.Server) net.Listener {347 func proxyProtoListener(ln net.Listener, srv *suika.Server) net.Listener { 348 348 return &proxyproto.Listener{ 349 349 Listener: ln, -
trunk/cmd/suikactl/main.go
r801 r804 16 16 ) 17 17 18 const usage = `usage: s ojuctl [-config path] <action> [options...]18 const usage = `usage: suikactl [-config path] <action> [options...] 19 19 20 20 create-user <username> [-admin] Create a new user … … 45 45 } 46 46 47 db, err := s oju.OpenDB(cfg.SQLDriver, cfg.SQLSource)47 db, err := suika.OpenDB(cfg.SQLDriver, cfg.SQLSource) 48 48 if err != nil { 49 49 log.Fatalf("failed to open database: %v", err) … … 74 74 } 75 75 76 user := s oju.User{76 user := suika.User{ 77 77 Username: username, 78 78 Password: string(hashed), -
trunk/config/config.go
r705 r804 64 64 Hostname: hostname, 65 65 SQLDriver: "sqlite3", 66 SQLSource: "s oju.db",66 SQLSource: "suika.db", 67 67 MaxUserNetworks: -1, 68 68 MultiUpstream: true, -
trunk/conn.go
r757 r804 1 package s oju1 package suika 2 2 3 3 import ( -
trunk/db.go
r781 r804 1 package s oju1 package suika 2 2 3 3 import ( -
trunk/db_postgres.go
r781 r804 1 package s oju1 package suika 2 2 3 3 import ( … … 149 149 } 150 150 if version > len(postgresMigrations) { 151 return fmt.Errorf("s oju(version %d) older than schema (version %d)", len(postgresMigrations), version)151 return fmt.Errorf("suika (version %d) older than schema (version %d)", len(postgresMigrations), version) 152 152 } 153 153 … … 344 344 // keep saslPlain* nil 345 345 default: 346 return fmt.Errorf("s oju: cannot store network: unsupported SASL mechanism %q", network.SASL.Mechanism)346 return fmt.Errorf("suika: cannot store network: unsupported SASL mechanism %q", network.SASL.Mechanism) 347 347 } 348 348 } -
trunk/db_postgres_test.go
r621 r804 1 package s oju1 package suika 2 2 3 3 import ( -
trunk/db_sqlite.go
r784 r804 1 package s oju1 package suika 2 2 3 3 import ( … … 230 230 return nil 231 231 } else if version > len(sqliteMigrations) { 232 return fmt.Errorf("s oju(version %d) older than schema (version %d)", len(sqliteMigrations), version)232 return fmt.Errorf("suika (version %d) older than schema (version %d)", len(sqliteMigrations), version) 233 233 } 234 234 … … 507 507 // keep saslPlain* nil 508 508 default: 509 return fmt.Errorf("s oju: cannot store network: unsupported SASL mechanism %q", network.SASL.Mechanism)509 return fmt.Errorf("suika: cannot store network: unsupported SASL mechanism %q", network.SASL.Mechanism) 510 510 } 511 511 } -
trunk/db_sqlite_test.go
r619 r804 1 package s oju1 package suika 2 2 3 3 import ( -
trunk/downstream.go
r794 r804 1 package s oju1 package suika 2 2 3 3 import ( … … 410 410 if dc.network != nil { 411 411 if dc.network != net { 412 panic("s oju: tried to marshal an entity for another network")412 panic("suika: tried to marshal an entity for another network") 413 413 } 414 414 return name … … 424 424 if dc.network != nil { 425 425 if dc.network != net { 426 panic("s oju: tried to marshal a user prefix for another network")426 panic("suika: tried to marshal a user prefix for another network") 427 427 } 428 428 return prefix … … 632 632 633 633 func (dc *downstreamConn) sendPing(msgID string) { 634 token := "s oju-msgid-" + msgID634 token := "suika-msgid-" + msgID 635 635 dc.SendMessage(&irc.Message{ 636 636 Command: "PING", … … 640 640 641 641 func (dc *downstreamConn) handlePong(token string) { 642 if !strings.HasPrefix(token, "s oju-msgid-") {642 if !strings.HasPrefix(token, "suika-msgid-") { 643 643 dc.logger.Printf("received unrecognized PONG token %q", token) 644 644 return 645 645 } 646 msgID := strings.TrimPrefix(token, "s oju-msgid-")646 msgID := strings.TrimPrefix(token, "suika-msgid-") 647 647 dc.ackMsgID(msgID) 648 648 } … … 1412 1412 Prefix: dc.srv.prefix(), 1413 1413 Command: irc.RPL_WELCOME, 1414 Params: []string{dc.nick, "Welcome to s oju, " + dc.nick},1414 Params: []string{dc.nick, "Welcome to suika, " + dc.nick}, 1415 1415 }) 1416 1416 dc.SendMessage(&irc.Message{ … … 1422 1422 Prefix: dc.srv.prefix(), 1423 1423 Command: irc.RPL_MYINFO, 1424 Params: []string{dc.nick, dc.srv.Config().Hostname, "s oju", "aiwroO", "OovaimnqpsrtklbeI"},1424 Params: []string{dc.nick, dc.srv.Config().Hostname, "suika", "aiwroO", "OovaimnqpsrtklbeI"}, 1425 1425 }) 1426 1426 for _, msg := range generateIsupport(dc.srv.prefix(), dc.nick, isupport) { … … 2258 2258 Prefix: dc.srv.prefix(), 2259 2259 Command: irc.RPL_WHOISSERVER, 2260 Params: []string{dc.nick, dc.nick, dc.srv.Config().Hostname, "s oju"},2260 Params: []string{dc.nick, dc.nick, dc.srv.Config().Hostname, "suika"}, 2261 2261 }) 2262 2262 if dc.user.Admin { … … 2288 2288 Prefix: dc.srv.prefix(), 2289 2289 Command: irc.RPL_WHOISSERVER, 2290 Params: []string{dc.nick, serviceNick, dc.srv.Config().Hostname, "s oju"},2290 Params: []string{dc.nick, serviceNick, dc.srv.Config().Hostname, "suika"}, 2291 2291 }) 2292 2292 dc.SendMessage(&irc.Message{ -
trunk/ident.go
r766 r804 1 package s oju1 package suika 2 2 3 3 import ( -
trunk/irc.go
r786 r804 1 package s oju1 package suika 2 2 3 3 import ( -
trunk/irc_test.go
r785 r804 1 package s oju1 package suika 2 2 3 3 import ( -
trunk/msgstore.go
r667 r804 1 package s oju1 package suika 2 2 3 3 import ( -
trunk/msgstore_fs.go
r787 r804 1 package s oju1 package suika 2 2 3 3 import ( -
trunk/msgstore_memory.go
r669 r804 1 package s oju1 package suika 2 2 3 3 import ( -
trunk/net_go113.go
r582 r804 2 2 // +build !go1.16 3 3 4 package s oju4 package suika 5 5 6 6 import ( -
trunk/net_go116.go
r582 r804 2 2 // +build go1.16 3 3 4 package s oju4 package suika 5 5 6 6 import ( -
trunk/rate.go
r735 r804 1 package s oju1 package suika 2 2 3 3 import ( -
trunk/server.go
r801 r804 1 package s oju1 package suika 2 2 3 3 import ( … … 210 210 211 211 factory.NewGaugeFunc(prometheus.GaugeOpts{ 212 Name: "s oju_users_active",212 Name: "suika_users_active", 213 213 Help: "Current number of active users", 214 214 }, func() float64 { … … 220 220 221 221 factory.NewGaugeFunc(prometheus.GaugeOpts{ 222 Name: "s oju_downstreams_active",222 Name: "suika_downstreams_active", 223 223 Help: "Current number of downstream connections", 224 224 }, s.metrics.downstreams.Float64) 225 225 226 226 factory.NewGaugeFunc(prometheus.GaugeOpts{ 227 Name: "s oju_upstreams_active",227 Name: "suika_upstreams_active", 228 228 Help: "Current number of upstream connections", 229 229 }, s.metrics.upstreams.Float64) 230 230 231 231 s.metrics.upstreamOutMessagesTotal = factory.NewCounter(prometheus.CounterOpts{ 232 Name: "s oju_upstream_out_messages_total",232 Name: "suika_upstream_out_messages_total", 233 233 Help: "Total number of outgoing messages sent to upstream servers", 234 234 }) 235 235 236 236 s.metrics.upstreamInMessagesTotal = factory.NewCounter(prometheus.CounterOpts{ 237 Name: "s oju_upstream_in_messages_total",237 Name: "suika_upstream_in_messages_total", 238 238 Help: "Total number of incoming messages received from upstream servers", 239 239 }) 240 240 241 241 s.metrics.downstreamOutMessagesTotal = factory.NewCounter(prometheus.CounterOpts{ 242 Name: "s oju_downstream_out_messages_total",242 Name: "suika_downstream_out_messages_total", 243 243 Help: "Total number of outgoing messages sent to downstream clients", 244 244 }) 245 245 246 246 s.metrics.downstreamInMessagesTotal = factory.NewCounter(prometheus.CounterOpts{ 247 Name: "s oju_downstream_in_messages_total",247 Name: "suika_downstream_in_messages_total", 248 248 Help: "Total number of incoming messages received from downstream clients", 249 249 }) 250 250 251 251 s.metrics.upstreamConnectErrorsTotal = factory.NewCounter(prometheus.CounterOpts{ 252 Name: "s oju_upstream_connect_errors_total",252 Name: "suika_upstream_connect_errors_total", 253 253 Help: "Total number of upstream connection errors", 254 254 }) -
trunk/server_test.go
r697 r804 1 package s oju1 package suika 2 2 3 3 import ( … … 10 10 ) 11 11 12 var testServerPrefix = &irc.Prefix{Name: "s oju-test-server"}12 var testServerPrefix = &irc.Prefix{Name: "suika-test-server"} 13 13 14 14 const ( 15 testUsername = "s oju-test-user"15 testUsername = "suika-test-user" 16 16 testPassword = testUsername 17 17 ) … … 133 133 Prefix: testServerPrefix, 134 134 Command: irc.RPL_YOURHOST, 135 Params: []string{nick, "Your host is s oju-test-server"},135 Params: []string{nick, "Your host is suika-test-server"}, 136 136 }) 137 137 c.WriteMessage(&irc.Message{ … … 143 143 Prefix: testServerPrefix, 144 144 Command: irc.RPL_MYINFO, 145 Params: []string{nick, testServerPrefix.Name, "s oju", "aiwroO", "OovaimnqpsrtklbeI"},145 Params: []string{nick, testServerPrefix.Name, "suika", "aiwroO", "OovaimnqpsrtklbeI"}, 146 146 }) 147 147 c.WriteMessage(&irc.Message{ -
trunk/service.go
r772 r804 1 package s oju1 package suika 2 2 3 3 import ( … … 22 22 const serviceNick = "BouncerServ" 23 23 const serviceNickCM = "bouncerserv" 24 const serviceRealname = "s ojubouncer service"24 const serviceRealname = "suika bouncer service" 25 25 26 26 // maxRSABits is the maximum number of RSA key bits used when generating a new … … 262 262 "create": { 263 263 usage: "-username <username> -password <password> [-realname <realname>] [-admin]", 264 desc: "create a new s ojuuser",264 desc: "create a new suika user", 265 265 handle: handleUserCreate, 266 266 admin: true, -
trunk/service_test.go
r566 r804 1 package s oju1 package suika 2 2 3 3 import ( … … 23 23 24 24 func TestSplit(t *testing.T) { 25 assertSplit(t, " ch 'up' #s oju'relay'-det\"ache\"d message ", []string{25 assertSplit(t, " ch 'up' #suika 'relay'-det\"ache\"d message ", []string{ 26 26 "ch", 27 27 "up", 28 "#s oju",28 "#suika", 29 29 "relay-detached", 30 30 "message", -
trunk/upstream.go
r784 r804 1 package s oju1 package suika 2 2 3 3 import ( … … 200 200 201 201 // Don't do the TLS handshake immediately, because we need to register 202 // the new connection with identd ASAP. See: 203 // https://todo.sr.ht/~emersion/soju/69#event-41859 202 // the new connection with identd ASAP. 204 203 netConn = tls.Client(netConn, tlsConfig) 205 204 case "irc+insecure": … … 473 472 474 473 if msg.Prefix.Name == serviceNick { 475 uc.logger.Printf("skipping %v from s oju's service: %v", msg.Command, msg)474 uc.logger.Printf("skipping %v from suika's service: %v", msg.Command, msg) 476 475 break 477 476 } 478 477 if entity == serviceNick { 479 uc.logger.Printf("skipping %v to s oju's service: %v", msg.Command, msg)478 uc.logger.Printf("skipping %v to suika's service: %v", msg.Command, msg) 480 479 break 481 480 } -
trunk/user.go
r787 r804 1 package s oju1 package suika 2 2 3 3 import (
Note:
See TracChangeset
for help on using the changeset viewer.