diff --git a/.check-gofmt.sh b/.check-gofmt.sh index 1daa7195..b8ab7c78 100755 --- a/.check-gofmt.sh +++ b/.check-gofmt.sh @@ -1,7 +1,7 @@ #!/bin/bash # exclude vendor/ -SOURCES="./oragono.go ./irc" +SOURCES="./ergo.go ./irc" if [ "$1" = "--fix" ]; then exec gofmt -s -w $SOURCES diff --git a/.gitignore b/.gitignore index 9de2763e..49bb335e 100644 --- a/.gitignore +++ b/.gitignore @@ -95,7 +95,7 @@ _testmain.go *.out -### Oragono ### +### custom ### /_site/ /.vscode/* /ircd* @@ -103,10 +103,10 @@ _testmain.go /web.* /ssl.* /tls.* -/oragono +/ergo /build/* _test -oragono.prof -oragono.mprof +ergo.prof +ergo.mprof /dist *.pem diff --git a/.goreleaser.yml b/.goreleaser.yml index 1ed07d0b..dcdbade7 100644 --- a/.goreleaser.yml +++ b/.goreleaser.yml @@ -1,9 +1,9 @@ # .goreleaser.yml # Build customization -project_name: oragono +project_name: ergo builds: - - main: oragono.go - binary: oragono + - main: ergo.go + binary: ergo goos: - freebsd - windows @@ -44,7 +44,7 @@ archives: files: - README - CHANGELOG.md - - oragono.motd + - ergo.motd - default.yaml - traditional.yaml - docs/MANUAL.md diff --git a/CHANGELOG.md b/CHANGELOG.md index e7ab3c74..7318feaa 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,5 @@ # Changelog -All notable changes to Oragono will be documented in this file. +All notable changes to Ergo will be documented in this file. ## [2.6.1] - 2021-04-26 diff --git a/DEVELOPING.md b/DEVELOPING.md index cb95d46a..cba58857 100644 --- a/DEVELOPING.md +++ b/DEVELOPING.md @@ -1,18 +1,18 @@ -# Developing Oragono +# Developing Ergo -This is a guide to modifying Oragono's code. If you're just trying to run your own Oragono, or use one, you shouldn't need to worry about these issues. +This is a guide to modifying Ergo's code. If you're just trying to run your own Ergo, or use one, you shouldn't need to worry about these issues. ## Golang issues You should use the [latest distribution of the Go language for your OS and architecture](https://golang.org/dl/). (If `uname -m` on your Raspberry Pi reports `armv7l`, use the `armv6l` distribution of Go; if it reports v8, you may be able to use the `arm64` distribution.) -Oragono vendors all its dependencies. Because of this, Oragono is self-contained and you should not need to fetch any dependencies with `go get`. Doing so is not recommended, since it may fetch incompatible versions of the dependencies. +Ergo vendors all its dependencies. Because of this, Ergo is self-contained and you should not need to fetch any dependencies with `go get`. Doing so is not recommended, since it may fetch incompatible versions of the dependencies. -If you're upgrading the Go version used by Oragono, there are several places where it's hard-coded and must be changed: +If you're upgrading the Go version used by Ergo, there are several places where it's hard-coded and must be changed: 1. `.travis.yml`, which controls the version that our CI test suite uses to build and test the code (e.g., for a PR) -2. `Dockerfile`, which controls the version that the Oragono binaries in our Docker images are built with +2. `Dockerfile`, which controls the version that the Ergo binaries in our Docker images are built with 3. `go.mod`: this should be updated automatically by Go when you do module-related operations @@ -40,7 +40,7 @@ Develop branches are either used to work out implementation details in preperati 1. Publish the release on GitHub (Releases -> "Draft a new release"); use the new tag, post the changelog entries, upload the binaries 1. Update the `irctest_stable` branch with the new changes (this may be a force push). 1. If it's a production release (as opposed to a release candidate), update the `stable` branch with the new changes. (This may be a force push in the event that stable contained a backport. This is fine because all stable releases and release candidates are tagged.) -1. Similarly, for a production release, update the `irctest_stable` branch (this is the branch used by upstream irctest to integration-test against Oragono). +1. Similarly, for a production release, update the `irctest_stable` branch (this is the branch used by upstream irctest to integration-test against Ergo). 1. Make the appropriate announcements: * For a release candidate: 1. the channel topic @@ -49,7 +49,7 @@ Develop branches are either used to work out implementation details in preperati * For a production release: 1. everything applicable to a release candidate 1. Twitter - 1. oragono.io/news + 1. ergo.chat/news 1. ircv3.net support tables, if applicable 1. other social media? @@ -63,7 +63,7 @@ Once it's built and released, you need to setup the new development version. To ```md ## Unreleased -New release of Oragono! +New release of Ergo! ### Config Changes @@ -80,17 +80,6 @@ New release of Oragono! -## Fuzzing and Testing - -Fuzzing can be useful. We don't have testing done inside the IRCd itself, but this fuzzer I've written works alright and has helped shake out various bugs: [irc_fuzz.py](https://gist.github.com/DanielOaks/63ae611039cdf591dfa4). - -In addition, I've got the beginnings of a stress-tester here which is useful: -https://github.com/DanielOaks/irc-stress-test - -As well, there's a decent set of 'tests' here, which I like to run Oragono through now and then: -https://github.com/DanielOaks/irctest - - ## Debugging It's helpful to enable all loglines while developing. Here's how to configure this: @@ -107,12 +96,12 @@ To debug a hang, the best thing to do is to get a stack trace. The easiest way t $ kill -ABRT -This will kill Oragono and print out a stack trace for you to take a look at. +This will kill Ergo and print out a stack trace for you to take a look at. ## Concurrency design -Oragono involves a fair amount of shared state. Here are some of the main points: +Ergo involves a fair amount of shared state. Here are some of the main points: 1. Each client has a separate goroutine that listens for incoming messages and synchronously processes them. 1. All sends to clients are asynchronous; `client.Send` appends the message to a queue, which is then processed on a separate goroutine. It is always safe to call `client.Send`. diff --git a/Makefile b/Makefile index ae0ca33e..553fd2c3 100644 --- a/Makefile +++ b/Makefile @@ -37,8 +37,8 @@ test: ./.check-gofmt.sh smoke: - oragono mkcerts --conf ./default.yaml || true - oragono run --conf ./default.yaml --smoke + ergo mkcerts --conf ./default.yaml || true + ergo run --conf ./default.yaml --smoke gofmt: ./.check-gofmt.sh --fix diff --git a/README b/README index 25069f37..d4cd81c7 100644 --- a/README +++ b/README @@ -7,7 +7,7 @@ ----------------------------------------------------------------------------------------------- -Oragono is a modern IRC server written in Go. Its core design principles are: +Ergo is a modern IRC server written in Go. Its core design principles are: * Being simple to set up and use * Combining the features of an ircd, a services framework, and a bouncer: @@ -17,9 +17,9 @@ Oragono is a modern IRC server written in Go. Its core design principles are: * Bleeding-edge IRCv3 support * Highly customizable via a rehashable (runtime-reloadable) YAML config - https://oragono.io/ - https://github.com/oragono/oragono - #oragono on Freenode + https://ergo.chat/ + https://github.com/ergochat/ergo + #ergo on irc.ergo.chat or irc.libera.chat ----------------------------------------------------------------------------------------------- @@ -34,23 +34,23 @@ Modify the config file as needed (the recommendations at the top may be helpful) To generate passwords for opers and connect passwords, you can use this command: - $ oragono genpasswd + $ ergo genpasswd If you need to generate self-signed TLS certificates, use this command: - $ oragono mkcerts + $ ergo mkcerts -You are now ready to start Oragono! +You are now ready to start Ergo! - $ oragono run + $ ergo run For further instructions, consult the manual. A copy of the manual should be included in your release under `docs/MANUAL.md`. Or you can view it on the -Web: https://oragono.io/manual.html +Web: https://ergo.chat/manual.html === Updating === -If you're updating from a previous version of Oragono, check out the CHANGELOG for a list +If you're updating from a previous version of Ergo, check out the CHANGELOG for a list of important changes you'll want to take a look at. The change log details config changes, fixes, new features and anything else you'll want to be aware of! diff --git a/default.yaml b/default.yaml index 7e3605c6..8271bf7d 100644 --- a/default.yaml +++ b/default.yaml @@ -1,9 +1,9 @@ -# This is the default config file for Oragono. +# This is the default config file for Ergo. # It contains recommended defaults for all settings, including some behaviors # that differ from conventional ircd+services setups. See traditional.yaml # for a config with more "mainstream" behavior. # -# If you are setting up a new oragono server, you should copy this file +# If you are setting up a new Ergo server, you should copy this file # to a new one named 'ircd.yaml', then read the whole file to see which # settings you want to customize. If you don't understand a setting, or # aren't sure what behavior you want, most of the defaults are fine @@ -25,12 +25,12 @@ # network configuration network: # name of the network - name: OragonoTest + name: ErgoTest # server configuration server: # server name - name: oragono.test + name: ergo.test # addresses to listen on listeners: @@ -62,12 +62,12 @@ server: min-tls-version: 1.2 # Example of a Unix domain socket for proxying: - # "/tmp/oragono_sock": + # "/tmp/ergo_sock": # Example of a Tor listener: any connection that comes in on this listener will # be considered a Tor connection. It is strongly recommended that this listener # *not* be on a public interface --- it should be on 127.0.0.0/8 or unix domain: - # "/hidden_service_sockets/oragono_tor_sock": + # "/hidden_service_sockets/ergo_tor_sock": # tor: true # Example of a WebSocket listener: @@ -120,14 +120,14 @@ server: websockets: # Restrict the origin of WebSocket connections by matching the "Origin" HTTP - # header. This setting causes oragono to reject websocket connections unless + # header. This setting causes ergo to reject websocket connections unless # they originate from a page on one of the whitelisted websites in this list. # This prevents malicious websites from making their visitors connect to your - # oragono instance without their knowledge. An empty list means there are no + # ergo instance without their knowledge. An empty list means there are no # restrictions. allowed-origins: - # - "https://oragono.io" - # - "https://*.oragono.io" + # - "https://ergo.chat" + # - "https://*.ergo.chat" # casemapping controls what kinds of strings are permitted as identifiers (nicknames, # channel names, account names, etc.), and how they are normalized for case. @@ -164,13 +164,12 @@ server: # the value must begin with a '~' character. comment out / omit to disable: coerce-ident: '~u' - # password to login to the server - # generated using "oragono genpasswd" - #password: "" + # password to login to the server, generated using `ergo genpasswd`: + #password: "$2a$04$0123456789abcdef0123456789abcdef0123456789abcdef01234" # motd filename # if you change the motd, you should move it to ircd.motd - motd: oragono.motd + motd: ergo.motd # motd formatting codes # if this is true, the motd is escaped using formatting codes like $c, $b, and $i @@ -206,7 +205,7 @@ server: # (comment this out to use passwords only) certfp: "abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789" - # password the gateway uses to connect, made with oragono genpasswd + # password the gateway uses to connect, made with `ergo genpasswd` password: "$2a$04$abcdef0123456789abcdef0123456789abcdef0123456789abcde" # IPs/CIDRs that can use this webirc command @@ -228,7 +227,7 @@ server: compatibility: # many clients require that the final parameter of certain messages be an # RFC1459 trailing parameter, i.e., prefixed with :, whether or not this is - # actually required. this forces Oragono to send those parameters + # actually required. this forces Ergo to send those parameters # as trailings. this is recommended unless you're testing clients for conformance; # defaults to true when unset for that reason. force-trailing: true @@ -241,7 +240,7 @@ server: # traditionally, IRC servers will truncate and send messages that are # too long to be relayed intact. this behavior can be disabled by setting - # allow-truncation to false, in which case Oragono will reject the message + # allow-truncation to false, in which case Ergo will reject the message # and return an error to the client. (note that this option defaults to true # when unset.) allow-truncation: false @@ -309,7 +308,7 @@ server: # IP cloaking hides users' IP addresses from other users and from channel admins # (but not from server admins), while still allowing channel admins to ban # offending IP addresses or networks. In place of hostnames derived from reverse - # DNS, users see fake domain names like pwbs2ui4377257x8.oragono. These names are + # DNS, users see fake domain names like pwbs2ui4377257x8.irc. These names are # generated deterministically from the underlying IP address, but if the underlying # IP is not already known, it is infeasible to recover it from the cloaked name. # If you disable this, you should probably enable lookup-hostnames in its place. @@ -351,10 +350,10 @@ server: secure-nets: # - "10.0.0.0/8" - # oragono will write files to disk under certain circumstances, e.g., + # Ergo will write files to disk under certain circumstances, e.g., # CPU profiling or data export. by default, these files will be written # to the working directory. set this to customize: - #output-path: "/home/oragono/out" + #output-path: "/home/ergo/out" # the hostname used by "services", e.g., NickServ, defaults to "localhost", # e.g., `NickServ!NickServ@localhost`. uncomment this to override: @@ -497,7 +496,7 @@ accounts: # nickname after the initial connection is complete forbid-anonymous-nick-changes: false - # multiclient controls whether oragono allows multiple connections to + # multiclient controls whether Ergo allows multiple connections to # attach to the same client/nickname identity; this is part of the # functionality traditionally provided by a bouncer like ZNC multiclient: @@ -658,7 +657,7 @@ opers: # operators can be authenticated either by password (with the /OPER command), # or by certificate fingerprint, or both. if a password hash is set, then a # password is required to oper up (e.g., /OPER dan mypassword). to generate - # the hash, use `oragono genpasswd`. + # the hash, use `ergo genpasswd`. password: "$2a$04$0123456789abcdef0123456789abcdef0123456789abcdef01234" # if a SHA-256 certificate fingerprint is configured here, then it will be @@ -718,7 +717,7 @@ logging: # debug options debug: - # when enabled, oragono will attempt to recover from certain kinds of + # when enabled, Ergo will attempt to recover from certain kinds of # client-triggered runtime errors that would normally crash the server. # this makes the server more resilient to DoS, but could result in incorrect # behavior. deployments that would prefer to "start from scratch", e.g., by @@ -749,9 +748,9 @@ datastore: port: 3306 # if socket-path is set, it will be used instead of host:port #socket-path: "/var/run/mysqld/mysqld.sock" - user: "oragono" + user: "ergo" password: "hunter2" - history-database: "oragono_history" + history-database: "ergo_history" timeout: 3s max-conns: 4 # this may be necessary to prevent middleware from closing your connections: @@ -965,5 +964,5 @@ history: # - "typing" # whether to allow customization of the config at runtime using environment variables, -# e.g., ORAGONO__SERVER__MAX_SENDQ=128k. see the manual for more details. +# e.g., ERGO__SERVER__MAX_SENDQ=128k. see the manual for more details. allow-environment-overrides: true diff --git a/oragono.go b/ergo.go similarity index 84% rename from oragono.go rename to ergo.go index 308409b6..3820aef2 100644 --- a/oragono.go +++ b/ergo.go @@ -13,12 +13,13 @@ import ( "strings" "syscall" - "github.com/docopt/docopt-go" - "github.com/oragono/oragono/irc" - "github.com/oragono/oragono/irc/logger" - "github.com/oragono/oragono/irc/mkcerts" "golang.org/x/crypto/bcrypt" "golang.org/x/crypto/ssh/terminal" + + "github.com/docopt/docopt-go" + "github.com/ergochat/ergo/irc" + "github.com/ergochat/ergo/irc/logger" + "github.com/ergochat/ergo/irc/mkcerts" ) // set via linker flags, either by make or by goreleaser: @@ -47,7 +48,7 @@ func fileDoesNotExist(file string) bool { return false } -// implements the `oragono mkcerts` command +// implements the `ergo mkcerts` command func doMkcerts(configFile string, quiet bool) { config, err := irc.LoadRawConfig(configFile) if err != nil { @@ -78,7 +79,7 @@ func doMkcerts(configFile string, quiet bool) { if !(fileDoesNotExist(cert) && fileDoesNotExist(key)) { log.Fatalf("Preexisting TLS cert and/or key files: %s %s", cert, key) } - err := mkcerts.CreateCert("Oragono", host, cert, key) + err := mkcerts.CreateCert("Ergo", host, cert, key) if err == nil { if !quiet { log.Printf(" Certificate created at %s : %s\n", cert, key) @@ -92,16 +93,16 @@ func doMkcerts(configFile string, quiet bool) { func main() { irc.SetVersionString(version, commit) - usage := `oragono. + usage := `ergo. Usage: - oragono initdb [--conf ] [--quiet] - oragono upgradedb [--conf ] [--quiet] - oragono importdb [--conf ] [--quiet] - oragono genpasswd [--conf ] [--quiet] - oragono mkcerts [--conf ] [--quiet] - oragono run [--conf ] [--quiet] [--smoke] - oragono -h | --help - oragono --version + ergo initdb [--conf ] [--quiet] + ergo upgradedb [--conf ] [--quiet] + ergo importdb [--conf ] [--quiet] + ergo genpasswd [--conf ] [--quiet] + ergo mkcerts [--conf ] [--quiet] + ergo run [--conf ] [--quiet] [--smoke] + ergo -h | --help + ergo --version Options: --conf Configuration file to use [default: ircd.yaml]. --quiet Don't show startup/shutdown lines. @@ -183,7 +184,7 @@ Options: // warning if running a non-final version if strings.Contains(irc.Ver, "unreleased") { - logman.Warning("server", "You are currently running an unreleased beta version of Oragono that may be unstable and could corrupt your database.\nIf you are running a production network, please download the latest build from https://oragono.io/downloads.html and run that instead.") + logman.Warning("server", "You are currently running an unreleased beta version of Ergo that may be unstable and could corrupt your database.\nIf you are running a production network, please download the latest build from https://ergo.chat/downloads.html and run that instead.") } server, err := irc.NewServer(config, logman) @@ -193,7 +194,7 @@ Options: } if !arguments["--quiet"].(bool) { logman.Info("server", "Server running") - defer logman.Info("server", fmt.Sprintf("Oragono v%s exiting", irc.SemVer)) + defer logman.Info("server", fmt.Sprintf("%s exiting", irc.Ver)) } if !arguments["--smoke"].(bool) { server.Run() diff --git a/oragono.motd b/ergo.motd similarity index 100% rename from oragono.motd rename to ergo.motd diff --git a/go.mod b/go.mod index 8e7fa2c8..9eb305c5 100644 --- a/go.mod +++ b/go.mod @@ -1,4 +1,4 @@ -module github.com/oragono/oragono +module github.com/ergochat/ergo go 1.16 diff --git a/irc/accounts.go b/irc/accounts.go index cfa12977..99e4aeb4 100644 --- a/irc/accounts.go +++ b/irc/accounts.go @@ -15,12 +15,12 @@ import ( "time" "unicode" - "github.com/oragono/oragono/irc/connection_limits" - "github.com/oragono/oragono/irc/email" - "github.com/oragono/oragono/irc/migrations" - "github.com/oragono/oragono/irc/modes" - "github.com/oragono/oragono/irc/passwd" - "github.com/oragono/oragono/irc/utils" + "github.com/ergochat/ergo/irc/connection_limits" + "github.com/ergochat/ergo/irc/email" + "github.com/ergochat/ergo/irc/migrations" + "github.com/ergochat/ergo/irc/modes" + "github.com/ergochat/ergo/irc/passwd" + "github.com/ergochat/ergo/irc/utils" "github.com/tidwall/buntdb" ) diff --git a/irc/authscript.go b/irc/authscript.go index 80e7e304..bb5dea95 100644 --- a/irc/authscript.go +++ b/irc/authscript.go @@ -10,7 +10,7 @@ import ( "fmt" "net" - "github.com/oragono/oragono/irc/utils" + "github.com/ergochat/ergo/irc/utils" ) // JSON-serializable input and output types for the script diff --git a/irc/caps/set.go b/irc/caps/set.go index c33f6ecb..fbd72bd5 100644 --- a/irc/caps/set.go +++ b/irc/caps/set.go @@ -5,7 +5,7 @@ package caps import ( "fmt" - "github.com/oragono/oragono/irc/utils" + "github.com/ergochat/ergo/irc/utils" ) // Set holds a set of enabled capabilities. diff --git a/irc/channel.go b/irc/channel.go index 22add543..1fdd4332 100644 --- a/irc/channel.go +++ b/irc/channel.go @@ -15,10 +15,10 @@ import ( "github.com/goshuirc/irc-go/ircutils" - "github.com/oragono/oragono/irc/caps" - "github.com/oragono/oragono/irc/history" - "github.com/oragono/oragono/irc/modes" - "github.com/oragono/oragono/irc/utils" + "github.com/ergochat/ergo/irc/caps" + "github.com/ergochat/ergo/irc/history" + "github.com/ergochat/ergo/irc/modes" + "github.com/ergochat/ergo/irc/utils" ) type ChannelSettings struct { diff --git a/irc/channelmanager.go b/irc/channelmanager.go index 671020e3..6b91b885 100644 --- a/irc/channelmanager.go +++ b/irc/channelmanager.go @@ -7,7 +7,7 @@ import ( "sort" "sync" - "github.com/oragono/oragono/irc/utils" + "github.com/ergochat/ergo/irc/utils" ) type channelManagerEntry struct { diff --git a/irc/channelreg.go b/irc/channelreg.go index 9cc7f8a5..1a3a366e 100644 --- a/irc/channelreg.go +++ b/irc/channelreg.go @@ -12,8 +12,8 @@ import ( "github.com/tidwall/buntdb" - "github.com/oragono/oragono/irc/modes" - "github.com/oragono/oragono/irc/utils" + "github.com/ergochat/ergo/irc/modes" + "github.com/ergochat/ergo/irc/utils" ) // this is exclusively the *persistence* layer for channel registration; diff --git a/irc/chanserv.go b/irc/chanserv.go index 62e6483c..e6995932 100644 --- a/irc/chanserv.go +++ b/irc/chanserv.go @@ -10,10 +10,10 @@ import ( "strings" "time" + "github.com/ergochat/ergo/irc/modes" + "github.com/ergochat/ergo/irc/sno" + "github.com/ergochat/ergo/irc/utils" "github.com/goshuirc/irc-go/ircfmt" - "github.com/oragono/oragono/irc/modes" - "github.com/oragono/oragono/irc/sno" - "github.com/oragono/oragono/irc/utils" ) const chanservHelp = `ChanServ lets you register and manage channels.` diff --git a/irc/client.go b/irc/client.go index f432c259..a1e1cc3e 100644 --- a/irc/client.go +++ b/irc/client.go @@ -21,13 +21,13 @@ import ( "github.com/goshuirc/irc-go/ircreader" ident "github.com/oragono/go-ident" - "github.com/oragono/oragono/irc/caps" - "github.com/oragono/oragono/irc/connection_limits" - "github.com/oragono/oragono/irc/flatip" - "github.com/oragono/oragono/irc/history" - "github.com/oragono/oragono/irc/modes" - "github.com/oragono/oragono/irc/sno" - "github.com/oragono/oragono/irc/utils" + "github.com/ergochat/ergo/irc/caps" + "github.com/ergochat/ergo/irc/connection_limits" + "github.com/ergochat/ergo/irc/flatip" + "github.com/ergochat/ergo/irc/history" + "github.com/ergochat/ergo/irc/modes" + "github.com/ergochat/ergo/irc/sno" + "github.com/ergochat/ergo/irc/utils" ) const ( diff --git a/irc/client_lookup_set.go b/irc/client_lookup_set.go index 2cc60318..8d96e021 100644 --- a/irc/client_lookup_set.go +++ b/irc/client_lookup_set.go @@ -8,9 +8,9 @@ import ( "strings" "sync" - "github.com/oragono/oragono/irc/caps" - "github.com/oragono/oragono/irc/modes" - "github.com/oragono/oragono/irc/utils" + "github.com/ergochat/ergo/irc/caps" + "github.com/ergochat/ergo/irc/modes" + "github.com/ergochat/ergo/irc/utils" ) // ClientManager keeps track of clients by nick, enforcing uniqueness of casefolded nicks diff --git a/irc/client_test.go b/irc/client_test.go index d371c11f..7aeee37b 100644 --- a/irc/client_test.go +++ b/irc/client_test.go @@ -6,7 +6,7 @@ package irc import ( "testing" - "github.com/oragono/oragono/irc/utils" + "github.com/ergochat/ergo/irc/utils" ) func TestGenerateBatchID(t *testing.T) { diff --git a/irc/cloaks/cloaks.go b/irc/cloaks/cloaks.go index 0418d993..a46b5208 100644 --- a/irc/cloaks/cloaks.go +++ b/irc/cloaks/cloaks.go @@ -8,7 +8,7 @@ import ( "golang.org/x/crypto/sha3" - "github.com/oragono/oragono/irc/utils" + "github.com/ergochat/ergo/irc/utils" ) type CloakConfig struct { diff --git a/irc/config.go b/irc/config.go index 02f562cf..e88ff285 100644 --- a/irc/config.go +++ b/irc/config.go @@ -27,19 +27,19 @@ import ( "github.com/goshuirc/irc-go/ircfmt" "gopkg.in/yaml.v2" - "github.com/oragono/oragono/irc/caps" - "github.com/oragono/oragono/irc/cloaks" - "github.com/oragono/oragono/irc/connection_limits" - "github.com/oragono/oragono/irc/custime" - "github.com/oragono/oragono/irc/email" - "github.com/oragono/oragono/irc/isupport" - "github.com/oragono/oragono/irc/jwt" - "github.com/oragono/oragono/irc/languages" - "github.com/oragono/oragono/irc/logger" - "github.com/oragono/oragono/irc/modes" - "github.com/oragono/oragono/irc/mysql" - "github.com/oragono/oragono/irc/passwd" - "github.com/oragono/oragono/irc/utils" + "github.com/ergochat/ergo/irc/caps" + "github.com/ergochat/ergo/irc/cloaks" + "github.com/ergochat/ergo/irc/connection_limits" + "github.com/ergochat/ergo/irc/custime" + "github.com/ergochat/ergo/irc/email" + "github.com/ergochat/ergo/irc/isupport" + "github.com/ergochat/ergo/irc/jwt" + "github.com/ergochat/ergo/irc/languages" + "github.com/ergochat/ergo/irc/logger" + "github.com/ergochat/ergo/irc/modes" + "github.com/ergochat/ergo/irc/mysql" + "github.com/ergochat/ergo/irc/passwd" + "github.com/ergochat/ergo/irc/utils" ) // here's how this works: exported (capitalized) members of the config structs @@ -1025,10 +1025,13 @@ func (ce *configPathError) Error() string { func mungeFromEnvironment(config *Config, envPair string) (applied bool, err *configPathError) { equalIdx := strings.IndexByte(envPair, '=') name, value := envPair[:equalIdx], envPair[equalIdx+1:] - if !strings.HasPrefix(name, "ORAGONO__") { + if strings.HasPrefix(name, "ERGO__") { + name = strings.TrimPrefix(name, "ERGO__") + } else if strings.HasPrefix(name, "ORAGONO__") { + name = strings.TrimPrefix(name, "ORAGONO__") + } else { return false, nil } - name = strings.TrimPrefix(name, "ORAGONO__") pathComponents := strings.Split(name, "__") for i, pathComponent := range pathComponents { pathComponents[i] = screamingSnakeToKebab(pathComponent) diff --git a/irc/config_test.go b/irc/config_test.go index cdc9a24d..3d55865b 100644 --- a/irc/config_test.go +++ b/irc/config_test.go @@ -19,12 +19,12 @@ func TestEnvironmentOverrides(t *testing.T) { env := []string{ `USER=shivaram`, // unrelated var `ORAGONO_USER=oragono`, // this should be ignored as well - `ORAGONO__NETWORK__NAME=example.com`, + `ERGO__NETWORK__NAME=example.com`, `ORAGONO__SERVER__COMPATIBILITY__FORCE_TRAILING=false`, `ORAGONO__SERVER__COERCE_IDENT="~user"`, - `ORAGONO__SERVER__MOTD=short.motd.txt`, + `ERGO__SERVER__MOTD=short.motd.txt`, `ORAGONO__ACCOUNTS__NICK_RESERVATION__ENABLED=true`, - `ORAGONO__ACCOUNTS__DEFAULT_USER_MODES="+iR"`, + `ERGO__ACCOUNTS__DEFAULT_USER_MODES="+iR"`, `ORAGONO__SERVER__IP_CLOAKING={"enabled": true, "enabled-for-always-on": true, "netname": "irc", "cidr-len-ipv4": 32, "cidr-len-ipv6": 64, "num-bits": 64}`, } for _, envPair := range env { diff --git a/irc/connection_limits/limiter.go b/irc/connection_limits/limiter.go index 9b844d99..c5c2f902 100644 --- a/irc/connection_limits/limiter.go +++ b/irc/connection_limits/limiter.go @@ -10,8 +10,8 @@ import ( "sync" "time" - "github.com/oragono/oragono/irc/flatip" - "github.com/oragono/oragono/irc/utils" + "github.com/ergochat/ergo/irc/flatip" + "github.com/ergochat/ergo/irc/utils" ) var ( diff --git a/irc/connection_limits/limiter_test.go b/irc/connection_limits/limiter_test.go index 5328d2c0..0b7638a3 100644 --- a/irc/connection_limits/limiter_test.go +++ b/irc/connection_limits/limiter_test.go @@ -8,7 +8,7 @@ import ( "testing" "time" - "github.com/oragono/oragono/irc/flatip" + "github.com/ergochat/ergo/irc/flatip" ) func easyParseIP(ipstr string) (result flatip.IP) { diff --git a/irc/database.go b/irc/database.go index 5f6e9a59..0851e3fe 100644 --- a/irc/database.go +++ b/irc/database.go @@ -14,8 +14,8 @@ import ( "strings" "time" - "github.com/oragono/oragono/irc/modes" - "github.com/oragono/oragono/irc/utils" + "github.com/ergochat/ergo/irc/modes" + "github.com/ergochat/ergo/irc/utils" "github.com/tidwall/buntdb" ) diff --git a/irc/dline.go b/irc/dline.go index db7d4ffb..848d7b17 100644 --- a/irc/dline.go +++ b/irc/dline.go @@ -10,7 +10,7 @@ import ( "sync" "time" - "github.com/oragono/oragono/irc/flatip" + "github.com/ergochat/ergo/irc/flatip" "github.com/tidwall/buntdb" ) diff --git a/irc/email/email.go b/irc/email/email.go index 4b7554b0..dad129c2 100644 --- a/irc/email/email.go +++ b/irc/email/email.go @@ -10,7 +10,7 @@ import ( "regexp" "strings" - "github.com/oragono/oragono/irc/smtp" + "github.com/ergochat/ergo/irc/smtp" ) var ( diff --git a/irc/errors.go b/irc/errors.go index 41228b32..30eb3e54 100644 --- a/irc/errors.go +++ b/irc/errors.go @@ -10,7 +10,7 @@ import ( "fmt" "time" - "github.com/oragono/oragono/irc/utils" + "github.com/ergochat/ergo/irc/utils" ) // Runtime Errors diff --git a/irc/gateways.go b/irc/gateways.go index e7dbbecf..cbc9c4c6 100644 --- a/irc/gateways.go +++ b/irc/gateways.go @@ -9,9 +9,9 @@ import ( "errors" "net" - "github.com/oragono/oragono/irc/flatip" - "github.com/oragono/oragono/irc/modes" - "github.com/oragono/oragono/irc/utils" + "github.com/ergochat/ergo/irc/flatip" + "github.com/ergochat/ergo/irc/modes" + "github.com/ergochat/ergo/irc/utils" ) var ( diff --git a/irc/getters.go b/irc/getters.go index d7c6dcaf..3000c1e4 100644 --- a/irc/getters.go +++ b/irc/getters.go @@ -9,10 +9,10 @@ import ( "time" "unsafe" - "github.com/oragono/oragono/irc/caps" - "github.com/oragono/oragono/irc/languages" - "github.com/oragono/oragono/irc/modes" - "github.com/oragono/oragono/irc/utils" + "github.com/ergochat/ergo/irc/caps" + "github.com/ergochat/ergo/irc/languages" + "github.com/ergochat/ergo/irc/modes" + "github.com/ergochat/ergo/irc/utils" ) func (server *Server) Config() (config *Config) { diff --git a/irc/handlers.go b/irc/handlers.go index 44cf8515..ed8cb422 100644 --- a/irc/handlers.go +++ b/irc/handlers.go @@ -25,14 +25,14 @@ import ( "github.com/goshuirc/irc-go/ircutils" "golang.org/x/crypto/bcrypt" - "github.com/oragono/oragono/irc/caps" - "github.com/oragono/oragono/irc/custime" - "github.com/oragono/oragono/irc/flatip" - "github.com/oragono/oragono/irc/history" - "github.com/oragono/oragono/irc/jwt" - "github.com/oragono/oragono/irc/modes" - "github.com/oragono/oragono/irc/sno" - "github.com/oragono/oragono/irc/utils" + "github.com/ergochat/ergo/irc/caps" + "github.com/ergochat/ergo/irc/custime" + "github.com/ergochat/ergo/irc/flatip" + "github.com/ergochat/ergo/irc/history" + "github.com/ergochat/ergo/irc/jwt" + "github.com/ergochat/ergo/irc/modes" + "github.com/ergochat/ergo/irc/sno" + "github.com/ergochat/ergo/irc/utils" ) // helper function to parse ACC callbacks, e.g., mailto:person@example.com, tel:16505551234 @@ -710,7 +710,7 @@ func debugHandler(server *Server, client *Client, msg ircmsg.Message, rb *Respon rb.Notice(fmt.Sprintf("num goroutines: %d", count)) case "PROFILEHEAP": - profFile := server.Config().getOutputPath("oragono.mprof") + profFile := server.Config().getOutputPath("ergo.mprof") file, err := os.Create(profFile) if err != nil { rb.Notice(fmt.Sprintf("error: %s", err)) @@ -721,7 +721,7 @@ func debugHandler(server *Server, client *Client, msg ircmsg.Message, rb *Respon rb.Notice(fmt.Sprintf("written to %s", profFile)) case "STARTCPUPROFILE": - profFile := server.Config().getOutputPath("oragono.prof") + profFile := server.Config().getOutputPath("ergo.prof") file, err := os.Create(profFile) if err != nil { rb.Notice(fmt.Sprintf("error: %s", err)) @@ -1082,13 +1082,13 @@ func infoHandler(server *Server, client *Client, msg ircmsg.Message, rb *Respons for _, line := range infoString1 { rb.Add(nil, server.name, RPL_INFO, nick, line) } - rb.Add(nil, server.name, RPL_INFO, nick, fmt.Sprintf(client.t("This is Oragono version %s."), SemVer)) + rb.Add(nil, server.name, RPL_INFO, nick, fmt.Sprintf(client.t("This is Ergo version %s."), SemVer)) if Commit != "" { rb.Add(nil, server.name, RPL_INFO, nick, fmt.Sprintf(client.t("It was built from git hash %s."), Commit)) } rb.Add(nil, server.name, RPL_INFO, nick, fmt.Sprintf(client.t("It was compiled using %s."), runtime.Version())) rb.Add(nil, server.name, RPL_INFO, nick, "") - rb.Add(nil, server.name, RPL_INFO, nick, client.t("Oragono is released under the MIT license.")) + rb.Add(nil, server.name, RPL_INFO, nick, client.t("Ergo is released under the MIT license.")) rb.Add(nil, server.name, RPL_INFO, nick, "") rb.Add(nil, server.name, RPL_INFO, nick, client.t("Core Developers:")) for _, line := range infoString2 { @@ -1099,7 +1099,7 @@ func infoHandler(server *Server, client *Client, msg ircmsg.Message, rb *Respons rb.Add(nil, server.name, RPL_INFO, nick, line) } rb.Add(nil, server.name, RPL_INFO, nick, client.t("For a more complete list of contributors, see our changelog:")) - rb.Add(nil, server.name, RPL_INFO, nick, " https://github.com/oragono/oragono/blob/master/CHANGELOG.md") + rb.Add(nil, server.name, RPL_INFO, nick, " https://github.com/ergochat/ergo/blob/master/CHANGELOG.md") rb.Add(nil, server.name, RPL_INFO, nick, "") // show translators for languages other than good ole' regular English tlines := server.Languages().Translators() diff --git a/irc/help.go b/irc/help.go index f750f86f..347f981d 100644 --- a/irc/help.go +++ b/irc/help.go @@ -9,7 +9,7 @@ import ( "strings" "sync" - "github.com/oragono/oragono/irc/languages" + "github.com/ergochat/ergo/irc/languages" ) // HelpEntryType represents the different sorts of help entries that can exist. @@ -37,7 +37,7 @@ type HelpEntry struct { var ( cmodeHelpText = `== Channel Modes == -Oragono supports the following channel modes: +Ergo supports the following channel modes: +b | Client masks that are banned from the channel (e.g. *!*@127.0.0.1) +e | Client masks that are exempted from bans. @@ -68,7 +68,7 @@ Oragono supports the following channel modes: +v (+) | Voice channel mode.` umodeHelpText = `== User Modes == -Oragono supports the following user modes: +Ergo supports the following user modes: +a | User is marked as being away. This mode is set with the /AWAY command. +i | User is marked as invisible (their channels are hidden from whois replies). @@ -81,7 +81,7 @@ Oragono supports the following user modes: +T | CTCP messages to the user are blocked.` snomaskHelpText = `== Server Notice Masks == -Oragono supports the following server notice masks for operators: +Ergo supports the following server notice masks for operators: a | Local announcements. c | Local client connections. @@ -502,7 +502,7 @@ given, views the current topic on the channel.`, "uban": { text: `UBAN [arguments] -Oragono's "unified ban" system. Accepts the following subcommands: +Ergo's "unified ban" system. Accepts the following subcommands: 1. UBAN ADD [REQUIRE-SASL] [DURATION ] [REASON...] 2. UBAN DEL @@ -638,15 +638,15 @@ for direct use by end users.`, "casemapping": { text: `RPL_ISUPPORT CASEMAPPING -Oragono supports an experimental unicode casemapping designed for extended +Ergo supports an experimental unicode casemapping designed for extended Unicode support. This casemapping is based off RFC 7613 and the draft rfc7613 -casemapping spec here: https://oragono.io/specs.html`, +casemapping spec here: https://ergo.chat/specs.html`, helpType: ISupportHelpEntry, }, "prefix": { text: `RPL_ISUPPORT PREFIX -Oragono supports the following channel membership prefixes: +Ergo supports the following channel membership prefixes: +q (~) | Founder channel mode. +a (&) | Admin channel mode. diff --git a/irc/history/history.go b/irc/history/history.go index 0e10e856..db3c0d22 100644 --- a/irc/history/history.go +++ b/irc/history/history.go @@ -4,7 +4,7 @@ package history import ( - "github.com/oragono/oragono/irc/utils" + "github.com/ergochat/ergo/irc/utils" "sync" "time" ) diff --git a/irc/histserv.go b/irc/histserv.go index 653e6822..c9228809 100644 --- a/irc/histserv.go +++ b/irc/histserv.go @@ -11,9 +11,9 @@ import ( "strconv" "time" - "github.com/oragono/oragono/irc/history" - "github.com/oragono/oragono/irc/modes" - "github.com/oragono/oragono/irc/utils" + "github.com/ergochat/ergo/irc/history" + "github.com/ergochat/ergo/irc/modes" + "github.com/ergochat/ergo/irc/utils" ) const ( diff --git a/irc/hostserv.go b/irc/hostserv.go index 6a8ed9cf..d59774c1 100644 --- a/irc/hostserv.go +++ b/irc/hostserv.go @@ -10,7 +10,7 @@ import ( "github.com/goshuirc/irc-go/ircfmt" - "github.com/oragono/oragono/irc/utils" + "github.com/ergochat/ergo/irc/utils" ) const ( diff --git a/irc/import.go b/irc/import.go index 55e855ba..c7286cfc 100644 --- a/irc/import.go +++ b/irc/import.go @@ -12,7 +12,7 @@ import ( "github.com/tidwall/buntdb" - "github.com/oragono/oragono/irc/utils" + "github.com/ergochat/ergo/irc/utils" ) const ( diff --git a/irc/ircconn.go b/irc/ircconn.go index 328b65ad..29efbf8d 100644 --- a/irc/ircconn.go +++ b/irc/ircconn.go @@ -12,7 +12,7 @@ import ( "github.com/goshuirc/irc-go/ircmsg" "github.com/goshuirc/irc-go/ircreader" - "github.com/oragono/oragono/irc/utils" + "github.com/ergochat/ergo/irc/utils" ) const ( diff --git a/irc/kline.go b/irc/kline.go index be59482a..bc1e9123 100644 --- a/irc/kline.go +++ b/irc/kline.go @@ -13,7 +13,7 @@ import ( "github.com/tidwall/buntdb" - "github.com/oragono/oragono/irc/utils" + "github.com/ergochat/ergo/irc/utils" ) const ( diff --git a/irc/listeners.go b/irc/listeners.go index 336afed2..9e4592d2 100644 --- a/irc/listeners.go +++ b/irc/listeners.go @@ -13,7 +13,7 @@ import ( "github.com/gorilla/websocket" - "github.com/oragono/oragono/irc/utils" + "github.com/ergochat/ergo/irc/utils" ) var ( diff --git a/irc/message_cache.go b/irc/message_cache.go index 4efe8234..f6ea17eb 100644 --- a/irc/message_cache.go +++ b/irc/message_cache.go @@ -8,8 +8,8 @@ import ( "github.com/goshuirc/irc-go/ircmsg" - "github.com/oragono/oragono/irc/caps" - "github.com/oragono/oragono/irc/utils" + "github.com/ergochat/ergo/irc/caps" + "github.com/ergochat/ergo/irc/utils" ) // MessageCache caches serialized IRC messages. diff --git a/irc/modes.go b/irc/modes.go index c4c4beb7..0aabfbdd 100644 --- a/irc/modes.go +++ b/irc/modes.go @@ -10,9 +10,9 @@ import ( "strconv" "strings" - "github.com/oragono/oragono/irc/modes" - "github.com/oragono/oragono/irc/sno" - "github.com/oragono/oragono/irc/utils" + "github.com/ergochat/ergo/irc/modes" + "github.com/ergochat/ergo/irc/sno" + "github.com/ergochat/ergo/irc/utils" ) var ( diff --git a/irc/modes/modes.go b/irc/modes/modes.go index f91cc06b..1024c8ed 100644 --- a/irc/modes/modes.go +++ b/irc/modes/modes.go @@ -10,7 +10,7 @@ import ( "sort" "strings" - "github.com/oragono/oragono/irc/utils" + "github.com/ergochat/ergo/irc/utils" ) var ( diff --git a/irc/modes_test.go b/irc/modes_test.go index 005d0555..94eca03c 100644 --- a/irc/modes_test.go +++ b/irc/modes_test.go @@ -7,7 +7,7 @@ import ( "reflect" "testing" - "github.com/oragono/oragono/irc/modes" + "github.com/ergochat/ergo/irc/modes" ) func TestParseDefaultChannelModes(t *testing.T) { diff --git a/irc/mysql/history.go b/irc/mysql/history.go index e9b284b9..8d78291e 100644 --- a/irc/mysql/history.go +++ b/irc/mysql/history.go @@ -16,10 +16,10 @@ import ( "sync/atomic" "time" + "github.com/ergochat/ergo/irc/history" + "github.com/ergochat/ergo/irc/logger" + "github.com/ergochat/ergo/irc/utils" _ "github.com/go-sql-driver/mysql" - "github.com/oragono/oragono/irc/history" - "github.com/oragono/oragono/irc/logger" - "github.com/oragono/oragono/irc/utils" ) var ( diff --git a/irc/mysql/serialization.go b/irc/mysql/serialization.go index bc3dbcf9..5226a1dd 100644 --- a/irc/mysql/serialization.go +++ b/irc/mysql/serialization.go @@ -3,8 +3,8 @@ package mysql import ( "encoding/json" - "github.com/oragono/oragono/irc/history" - "github.com/oragono/oragono/irc/utils" + "github.com/ergochat/ergo/irc/history" + "github.com/ergochat/ergo/irc/utils" ) // 123 / '{' is the magic number that means JSON; diff --git a/irc/nickname.go b/irc/nickname.go index b8a153ba..ec652d77 100644 --- a/irc/nickname.go +++ b/irc/nickname.go @@ -9,11 +9,11 @@ import ( "fmt" "strings" + "github.com/ergochat/ergo/irc/history" + "github.com/ergochat/ergo/irc/modes" + "github.com/ergochat/ergo/irc/sno" + "github.com/ergochat/ergo/irc/utils" "github.com/goshuirc/irc-go/ircfmt" - "github.com/oragono/oragono/irc/history" - "github.com/oragono/oragono/irc/modes" - "github.com/oragono/oragono/irc/sno" - "github.com/oragono/oragono/irc/utils" ) var ( diff --git a/irc/nickserv.go b/irc/nickserv.go index 6dcc23af..1c1b606a 100644 --- a/irc/nickserv.go +++ b/irc/nickserv.go @@ -13,10 +13,10 @@ import ( "github.com/goshuirc/irc-go/ircfmt" - "github.com/oragono/oragono/irc/custime" - "github.com/oragono/oragono/irc/passwd" - "github.com/oragono/oragono/irc/sno" - "github.com/oragono/oragono/irc/utils" + "github.com/ergochat/ergo/irc/custime" + "github.com/ergochat/ergo/irc/passwd" + "github.com/ergochat/ergo/irc/sno" + "github.com/ergochat/ergo/irc/utils" ) // "enabled" callbacks for specific nickserv commands diff --git a/irc/responsebuffer.go b/irc/responsebuffer.go index 7e071f99..50cca702 100644 --- a/irc/responsebuffer.go +++ b/irc/responsebuffer.go @@ -7,9 +7,9 @@ import ( "runtime/debug" "time" + "github.com/ergochat/ergo/irc/caps" + "github.com/ergochat/ergo/irc/utils" "github.com/goshuirc/irc-go/ircmsg" - "github.com/oragono/oragono/irc/caps" - "github.com/oragono/oragono/irc/utils" ) const ( diff --git a/irc/roleplay.go b/irc/roleplay.go index 246112ab..97625644 100644 --- a/irc/roleplay.go +++ b/irc/roleplay.go @@ -7,9 +7,9 @@ import ( "fmt" "strings" - "github.com/oragono/oragono/irc/history" - "github.com/oragono/oragono/irc/modes" - "github.com/oragono/oragono/irc/utils" + "github.com/ergochat/ergo/irc/history" + "github.com/ergochat/ergo/irc/modes" + "github.com/ergochat/ergo/irc/utils" ) const ( diff --git a/irc/semaphores.go b/irc/semaphores.go index 1847c87a..e814a1e2 100644 --- a/irc/semaphores.go +++ b/irc/semaphores.go @@ -5,7 +5,7 @@ package irc import ( "runtime" - "github.com/oragono/oragono/irc/utils" + "github.com/ergochat/ergo/irc/utils" ) // See #237 for context. Operations that might allocate large amounts of temporary diff --git a/irc/server.go b/irc/server.go index 269fd88c..2eb7a41e 100644 --- a/irc/server.go +++ b/irc/server.go @@ -22,15 +22,15 @@ import ( "github.com/goshuirc/irc-go/ircfmt" - "github.com/oragono/oragono/irc/caps" - "github.com/oragono/oragono/irc/connection_limits" - "github.com/oragono/oragono/irc/flatip" - "github.com/oragono/oragono/irc/history" - "github.com/oragono/oragono/irc/logger" - "github.com/oragono/oragono/irc/modes" - "github.com/oragono/oragono/irc/mysql" - "github.com/oragono/oragono/irc/sno" - "github.com/oragono/oragono/irc/utils" + "github.com/ergochat/ergo/irc/caps" + "github.com/ergochat/ergo/irc/connection_limits" + "github.com/ergochat/ergo/irc/flatip" + "github.com/ergochat/ergo/irc/history" + "github.com/ergochat/ergo/irc/logger" + "github.com/ergochat/ergo/irc/modes" + "github.com/ergochat/ergo/irc/mysql" + "github.com/ergochat/ergo/irc/sno" + "github.com/ergochat/ergo/irc/utils" "github.com/tidwall/buntdb" ) @@ -356,9 +356,9 @@ func (server *Server) tryRegister(c *Client, session *Session) (exiting bool) { func (server *Server) playSTSBurst(session *Session) { nick := utils.SafeErrorParam(session.client.preregNick) session.Send(nil, server.name, RPL_WELCOME, nick, fmt.Sprintf("Welcome to the Internet Relay Network %s", nick)) - session.Send(nil, server.name, RPL_YOURHOST, nick, fmt.Sprintf("Your host is %[1]s, running version %[2]s", server.name, "oragono")) + session.Send(nil, server.name, RPL_YOURHOST, nick, fmt.Sprintf("Your host is %[1]s, running version %[2]s", server.name, "ergo")) session.Send(nil, server.name, RPL_CREATED, nick, fmt.Sprintf("This server was created %s", time.Time{}.Format(time.RFC1123))) - session.Send(nil, server.name, RPL_MYINFO, nick, server.name, "oragono", "o", "o", "o") + session.Send(nil, server.name, RPL_MYINFO, nick, server.name, "ergo", "o", "o", "o") session.Send(nil, server.name, RPL_ISUPPORT, nick, "CASEMAPPING=ascii", "are supported by this server") session.Send(nil, server.name, ERR_NOMOTD, nick, "MOTD is unavailable") for _, line := range server.Config().Server.STS.bannerLines { @@ -1059,8 +1059,8 @@ var ( ▐█▌.▐▌▐█•█▌▐█ ▪▐▌▐█▄▪▐█▐█▌ ▐▌██▐█▌▐█▌.▐▌ ▀█▄▀▪.▀ ▀ ▀ ▀ ·▀▀▀▀ ▀█▄▀ ▀▀ █▪ ▀█▄▀▪ - https://oragono.io/ - https://github.com/oragono/oragono + https://ergo.chat/ + https://github.com/ergochat/ergo https://crowdin.com/project/oragono `, "\n") infoString2 = strings.Split(` Daniel Oakley, DanielOaks, diff --git a/irc/services.go b/irc/services.go index b3ac1229..df4003cf 100644 --- a/irc/services.go +++ b/irc/services.go @@ -11,9 +11,9 @@ import ( "strings" "time" + "github.com/ergochat/ergo/irc/utils" "github.com/goshuirc/irc-go/ircfmt" "github.com/goshuirc/irc-go/ircmsg" - "github.com/oragono/oragono/irc/utils" ) // defines an IRC service, e.g., NICKSERV diff --git a/irc/snomanager.go b/irc/snomanager.go index 0bd394bc..994934fa 100644 --- a/irc/snomanager.go +++ b/irc/snomanager.go @@ -4,8 +4,8 @@ import ( "fmt" "sync" + "github.com/ergochat/ergo/irc/sno" "github.com/goshuirc/irc-go/ircfmt" - "github.com/oragono/oragono/irc/sno" ) // SnoManager keeps track of which clients to send snomasks to. diff --git a/irc/socket.go b/irc/socket.go index ff5ac5c1..ce8eb008 100644 --- a/irc/socket.go +++ b/irc/socket.go @@ -9,7 +9,7 @@ import ( "io" "sync" - "github.com/oragono/oragono/irc/utils" + "github.com/ergochat/ergo/irc/utils" ) var ( diff --git a/irc/strings.go b/irc/strings.go index 9bc6ceb7..73e339f3 100644 --- a/irc/strings.go +++ b/irc/strings.go @@ -16,7 +16,7 @@ import ( "golang.org/x/text/unicode/norm" "golang.org/x/text/width" - "github.com/oragono/oragono/irc/utils" + "github.com/ergochat/ergo/irc/utils" ) const ( diff --git a/irc/types.go b/irc/types.go index 176e7111..9166befc 100644 --- a/irc/types.go +++ b/irc/types.go @@ -8,7 +8,7 @@ package irc import ( "time" - "github.com/oragono/oragono/irc/modes" + "github.com/ergochat/ergo/irc/modes" ) type empty struct{} diff --git a/irc/uban.go b/irc/uban.go index b28fa6f4..7e5821a5 100644 --- a/irc/uban.go +++ b/irc/uban.go @@ -11,10 +11,10 @@ import ( "github.com/goshuirc/irc-go/ircmsg" - "github.com/oragono/oragono/irc/custime" - "github.com/oragono/oragono/irc/flatip" - "github.com/oragono/oragono/irc/sno" - "github.com/oragono/oragono/irc/utils" + "github.com/ergochat/ergo/irc/custime" + "github.com/ergochat/ergo/irc/flatip" + "github.com/ergochat/ergo/irc/sno" + "github.com/ergochat/ergo/irc/utils" ) func consumeDuration(params []string, rb *ResponseBuffer) (duration time.Duration, requireSASL bool, remainingParams []string, err error) { diff --git a/irc/usermaskset.go b/irc/usermaskset.go index e8c97145..81569709 100644 --- a/irc/usermaskset.go +++ b/irc/usermaskset.go @@ -13,7 +13,7 @@ import ( "time" "unsafe" - "github.com/oragono/oragono/irc/utils" + "github.com/ergochat/ergo/irc/utils" ) type MaskInfo struct { diff --git a/irc/version.go b/irc/version.go index 722020b4..c8fc6d11 100644 --- a/irc/version.go +++ b/irc/version.go @@ -6,13 +6,13 @@ package irc import "fmt" const ( - // SemVer is the semantic version of Oragono. + // SemVer is the semantic version of Ergo. SemVer = "2.7.0-unreleased" ) var ( - // Ver is the full version of Oragono, used in responses to clients. - Ver = fmt.Sprintf("oragono-%s", SemVer) + // Ver is the full version of Ergo, used in responses to clients. + Ver = fmt.Sprintf("ergo-%s", SemVer) // Commit is the full git hash, if available Commit string ) @@ -21,8 +21,8 @@ var ( func SetVersionString(version, commit string) { Commit = commit if version != "" { - Ver = fmt.Sprintf("oragono-%s", version) + Ver = fmt.Sprintf("ergo-%s", version) } else if len(Commit) == 40 { - Ver = fmt.Sprintf("oragono-%s-%s", SemVer, Commit[:16]) + Ver = fmt.Sprintf("ergo-%s-%s", SemVer, Commit[:16]) } } diff --git a/irc/znc.go b/irc/znc.go index a9d22d7c..48e066f7 100644 --- a/irc/znc.go +++ b/irc/znc.go @@ -9,8 +9,8 @@ import ( "strings" "time" - "github.com/oragono/oragono/irc/history" - "github.com/oragono/oragono/irc/utils" + "github.com/ergochat/ergo/irc/history" + "github.com/ergochat/ergo/irc/utils" ) const ( diff --git a/traditional.yaml b/traditional.yaml index 47ff6088..43f4a325 100644 --- a/traditional.yaml +++ b/traditional.yaml @@ -1,17 +1,17 @@ -# This is the "traditional" or "mainstream" config file for Oragono. +# This is the "traditional" or "mainstream" config file for Ergo. # It tries to replicate the behavior of other ircds, at the cost of not -# taking full advantage of Oragono's features. This config is suitable for use +# taking full advantage of Ergo's features. This config is suitable for use # in IRCv3 conformance testing. # network configuration network: # name of the network - name: OragonoTest + name: ErgoTest # server configuration server: # server name - name: oragono.test + name: ergo.test # addresses to listen on listeners: @@ -36,12 +36,12 @@ server: # min-tls-version: 1.2 # Example of a Unix domain socket for proxying: - # "/tmp/oragono_sock": + # "/tmp/ergo_sock": # Example of a Tor listener: any connection that comes in on this listener will # be considered a Tor connection. It is strongly recommended that this listener # *not* be on a public interface --- it should be on 127.0.0.0/8 or unix domain: - # "/hidden_service_sockets/oragono_tor_sock": + # "/hidden_service_sockets/ergo_tor_sock": # tor: true # Example of a WebSocket listener: @@ -94,14 +94,14 @@ server: websockets: # Restrict the origin of WebSocket connections by matching the "Origin" HTTP - # header. This setting causes oragono to reject websocket connections unless + # header. This setting causes ergo to reject websocket connections unless # they originate from a page on one of the whitelisted websites in this list. # This prevents malicious websites from making their visitors connect to your - # oragono instance without their knowledge. An empty list means there are no + # ergo instance without their knowledge. An empty list means there are no # restrictions. allowed-origins: - # - "https://oragono.io" - # - "https://*.oragono.io" + # - "https://ergo.chat" + # - "https://*.ergo.chat" # casemapping controls what kinds of strings are permitted as identifiers (nicknames, # channel names, account names, etc.), and how they are normalized for case. @@ -137,13 +137,12 @@ server: # the value must begin with a '~' character. comment out / omit to disable: #coerce-ident: '~u' - # password to login to the server - # generated using "oragono genpasswd" - #password: "" + # password to login to the server, generated using `ergo genpasswd`: + #password: "$2a$04$0123456789abcdef0123456789abcdef0123456789abcdef01234" # motd filename # if you change the motd, you should move it to ircd.motd - motd: oragono.motd + motd: ergo.motd # motd formatting codes # if this is true, the motd is escaped using formatting codes like $c, $b, and $i @@ -179,7 +178,7 @@ server: # (comment this out to use passwords only) certfp: "abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789" - # password the gateway uses to connect, made with oragono genpasswd + # password the gateway uses to connect, made with `ergo genpasswd` password: "$2a$04$abcdef0123456789abcdef0123456789abcdef0123456789abcde" # IPs/CIDRs that can use this webirc command @@ -201,7 +200,7 @@ server: compatibility: # many clients require that the final parameter of certain messages be an # RFC1459 trailing parameter, i.e., prefixed with :, whether or not this is - # actually required. this forces Oragono to send those parameters + # actually required. this forces Ergo to send those parameters # as trailings. this is recommended unless you're testing clients for conformance; # defaults to true when unset for that reason. force-trailing: true @@ -214,7 +213,7 @@ server: # traditionally, IRC servers will truncate and send messages that are # too long to be relayed intact. this behavior can be disabled by setting - # allow-truncation to false, in which case Oragono will reject the message + # allow-truncation to false, in which case Ergo will reject the message # and return an error to the client. (note that this option defaults to true # when unset.) allow-truncation: true @@ -282,7 +281,7 @@ server: # IP cloaking hides users' IP addresses from other users and from channel admins # (but not from server admins), while still allowing channel admins to ban # offending IP addresses or networks. In place of hostnames derived from reverse - # DNS, users see fake domain names like pwbs2ui4377257x8.oragono. These names are + # DNS, users see fake domain names like pwbs2ui4377257x8.irc. These names are # generated deterministically from the underlying IP address, but if the underlying # IP is not already known, it is infeasible to recover it from the cloaked name. ip-cloaking: @@ -323,10 +322,10 @@ server: secure-nets: # - "10.0.0.0/8" - # oragono will write files to disk under certain circumstances, e.g., + # Ergo will write files to disk under certain circumstances, e.g., # CPU profiling or data export. by default, these files will be written # to the working directory. set this to customize: - #output-path: "/home/oragono/out" + #output-path: "/home/ergo/out" # the hostname used by "services", e.g., NickServ, defaults to "localhost", # e.g., `NickServ!NickServ@localhost`. uncomment this to override: @@ -469,7 +468,7 @@ accounts: # nickname after the initial connection is complete forbid-anonymous-nick-changes: false - # multiclient controls whether oragono allows multiple connections to + # multiclient controls whether Ergo allows multiple connections to # attach to the same client/nickname identity; this is part of the # functionality traditionally provided by a bouncer like ZNC multiclient: @@ -630,7 +629,7 @@ opers: # operators can be authenticated either by password (with the /OPER command), # or by certificate fingerprint, or both. if a password hash is set, then a # password is required to oper up (e.g., /OPER dan mypassword). to generate - # the hash, use `oragono genpasswd`. + # the hash, use `ergo genpasswd`. password: "$2a$04$0123456789abcdef0123456789abcdef0123456789abcdef01234" # if a SHA-256 certificate fingerprint is configured here, then it will be @@ -691,7 +690,7 @@ logging: # debug options debug: - # when enabled, oragono will attempt to recover from certain kinds of + # when enabled, Ergo will attempt to recover from certain kinds of # client-triggered runtime errors that would normally crash the server. # this makes the server more resilient to DoS, but could result in incorrect # behavior. deployments that would prefer to "start from scratch", e.g., by @@ -722,9 +721,9 @@ datastore: port: 3306 # if socket-path is set, it will be used instead of host:port #socket-path: "/var/run/mysqld/mysqld.sock" - user: "oragono" + user: "ergo" password: "hunter2" - history-database: "oragono_history" + history-database: "ergo_history" timeout: 3s max-conns: 4 # this may be necessary to prevent middleware from closing your connections: @@ -937,5 +936,5 @@ history: # - "typing" # whether to allow customization of the config at runtime using environment variables, -# e.g., ORAGONO__SERVER__MAX_SENDQ=128k. see the manual for more details. +# e.g., ERGO__SERVER__MAX_SENDQ=128k. see the manual for more details. allow-environment-overrides: true