Browse Source

first pass at renaming Oragono to Ergo

tags/v2.7.0-rc1
Shivaram Lingamneni 2 years ago
parent
commit
23c7218bf1
63 changed files with 253 additions and 262 deletions
  1. 1
    1
      .check-gofmt.sh
  2. 4
    4
      .gitignore
  3. 4
    4
      .goreleaser.yml
  4. 1
    1
      CHANGELOG.md
  5. 10
    21
      DEVELOPING.md
  6. 2
    2
      Makefile
  7. 10
    10
      README
  8. 25
    26
      default.yaml
  9. 18
    17
      ergo.go
  10. 0
    0
      ergo.motd
  11. 1
    1
      go.mod
  12. 6
    6
      irc/accounts.go
  13. 1
    1
      irc/authscript.go
  14. 1
    1
      irc/caps/set.go
  15. 4
    4
      irc/channel.go
  16. 1
    1
      irc/channelmanager.go
  17. 2
    2
      irc/channelreg.go
  18. 3
    3
      irc/chanserv.go
  19. 7
    7
      irc/client.go
  20. 3
    3
      irc/client_lookup_set.go
  21. 1
    1
      irc/client_test.go
  22. 1
    1
      irc/cloaks/cloaks.go
  23. 18
    15
      irc/config.go
  24. 3
    3
      irc/config_test.go
  25. 2
    2
      irc/connection_limits/limiter.go
  26. 1
    1
      irc/connection_limits/limiter_test.go
  27. 2
    2
      irc/database.go
  28. 1
    1
      irc/dline.go
  29. 1
    1
      irc/email/email.go
  30. 1
    1
      irc/errors.go
  31. 3
    3
      irc/gateways.go
  32. 4
    4
      irc/getters.go
  33. 13
    13
      irc/handlers.go
  34. 8
    8
      irc/help.go
  35. 1
    1
      irc/history/history.go
  36. 3
    3
      irc/histserv.go
  37. 1
    1
      irc/hostserv.go
  38. 1
    1
      irc/import.go
  39. 1
    1
      irc/ircconn.go
  40. 1
    1
      irc/kline.go
  41. 1
    1
      irc/listeners.go
  42. 2
    2
      irc/message_cache.go
  43. 3
    3
      irc/modes.go
  44. 1
    1
      irc/modes/modes.go
  45. 1
    1
      irc/modes_test.go
  46. 3
    3
      irc/mysql/history.go
  47. 2
    2
      irc/mysql/serialization.go
  48. 4
    4
      irc/nickname.go
  49. 4
    4
      irc/nickserv.go
  50. 2
    2
      irc/responsebuffer.go
  51. 3
    3
      irc/roleplay.go
  52. 1
    1
      irc/semaphores.go
  53. 13
    13
      irc/server.go
  54. 1
    1
      irc/services.go
  55. 1
    1
      irc/snomanager.go
  56. 1
    1
      irc/socket.go
  57. 1
    1
      irc/strings.go
  58. 1
    1
      irc/types.go
  59. 4
    4
      irc/uban.go
  60. 1
    1
      irc/usermaskset.go
  61. 5
    5
      irc/version.go
  62. 2
    2
      irc/znc.go
  63. 25
    26
      traditional.yaml

+ 1
- 1
.check-gofmt.sh View File

1
 #!/bin/bash
1
 #!/bin/bash
2
 
2
 
3
 # exclude vendor/
3
 # exclude vendor/
4
-SOURCES="./oragono.go ./irc"
4
+SOURCES="./ergo.go ./irc"
5
 
5
 
6
 if [ "$1" = "--fix" ]; then
6
 if [ "$1" = "--fix" ]; then
7
 	exec gofmt -s -w $SOURCES
7
 	exec gofmt -s -w $SOURCES

+ 4
- 4
.gitignore View File

95
 *.out
95
 *.out
96
 
96
 
97
 
97
 
98
-### Oragono ###
98
+### custom ###
99
 /_site/
99
 /_site/
100
 /.vscode/*
100
 /.vscode/*
101
 /ircd*
101
 /ircd*
103
 /web.*
103
 /web.*
104
 /ssl.*
104
 /ssl.*
105
 /tls.*
105
 /tls.*
106
-/oragono
106
+/ergo
107
 /build/*
107
 /build/*
108
 _test
108
 _test
109
-oragono.prof
110
-oragono.mprof
109
+ergo.prof
110
+ergo.mprof
111
 /dist
111
 /dist
112
 *.pem
112
 *.pem

+ 4
- 4
.goreleaser.yml View File

1
 # .goreleaser.yml
1
 # .goreleaser.yml
2
 # Build customization
2
 # Build customization
3
-project_name: oragono
3
+project_name: ergo
4
 builds:
4
 builds:
5
-  - main: oragono.go
6
-    binary: oragono
5
+  - main: ergo.go
6
+    binary: ergo
7
     goos:
7
     goos:
8
       - freebsd
8
       - freebsd
9
       - windows
9
       - windows
44
     files:
44
     files:
45
       - README
45
       - README
46
       - CHANGELOG.md
46
       - CHANGELOG.md
47
-      - oragono.motd
47
+      - ergo.motd
48
       - default.yaml
48
       - default.yaml
49
       - traditional.yaml
49
       - traditional.yaml
50
       - docs/MANUAL.md
50
       - docs/MANUAL.md

+ 1
- 1
CHANGELOG.md View File

1
 # Changelog
1
 # Changelog
2
-All notable changes to Oragono will be documented in this file.
2
+All notable changes to Ergo will be documented in this file.
3
 
3
 
4
 ## [2.6.1] - 2021-04-26
4
 ## [2.6.1] - 2021-04-26
5
 
5
 

+ 10
- 21
DEVELOPING.md View File

1
-# Developing Oragono
1
+# Developing Ergo
2
 
2
 
3
-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.
3
+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.
4
 
4
 
5
 
5
 
6
 ## Golang issues
6
 ## Golang issues
7
 
7
 
8
 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.)
8
 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.)
9
 
9
 
10
-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.
10
+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.
11
 
11
 
12
-If you're upgrading the Go version used by Oragono, there are several places where it's hard-coded and must be changed:
12
+If you're upgrading the Go version used by Ergo, there are several places where it's hard-coded and must be changed:
13
 
13
 
14
 1. `.travis.yml`, which controls the version that our CI test suite uses to build and test the code (e.g., for a PR)
14
 1. `.travis.yml`, which controls the version that our CI test suite uses to build and test the code (e.g., for a PR)
15
-2. `Dockerfile`, which controls the version that the Oragono binaries in our Docker images are built with
15
+2. `Dockerfile`, which controls the version that the Ergo binaries in our Docker images are built with
16
 3. `go.mod`: this should be updated automatically by Go when you do module-related operations
16
 3. `go.mod`: this should be updated automatically by Go when you do module-related operations
17
 
17
 
18
 
18
 
40
 1. Publish the release on GitHub (Releases -> "Draft a new release"); use the new tag, post the changelog entries, upload the binaries
40
 1. Publish the release on GitHub (Releases -> "Draft a new release"); use the new tag, post the changelog entries, upload the binaries
41
 1. Update the `irctest_stable` branch with the new changes (this may be a force push).
41
 1. Update the `irctest_stable` branch with the new changes (this may be a force push).
42
 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.)
42
 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.)
43
-1. Similarly, for a production release, update the `irctest_stable` branch (this is the branch used by upstream irctest to integration-test against Oragono).
43
+1. Similarly, for a production release, update the `irctest_stable` branch (this is the branch used by upstream irctest to integration-test against Ergo).
44
 1. Make the appropriate announcements:
44
 1. Make the appropriate announcements:
45
     * For a release candidate:
45
     * For a release candidate:
46
         1. the channel topic
46
         1. the channel topic
49
     * For a production release:
49
     * For a production release:
50
         1. everything applicable to a release candidate
50
         1. everything applicable to a release candidate
51
         1. Twitter
51
         1. Twitter
52
-        1. oragono.io/news
52
+        1. ergo.chat/news
53
         1. ircv3.net support tables, if applicable
53
         1. ircv3.net support tables, if applicable
54
         1. other social media?
54
         1. other social media?
55
 
55
 
63
 
63
 
64
 ```md
64
 ```md
65
 ## Unreleased
65
 ## Unreleased
66
-New release of Oragono!
66
+New release of Ergo!
67
 
67
 
68
 ### Config Changes
68
 ### Config Changes
69
 
69
 
80
 
80
 
81
 
81
 
82
 
82
 
83
-## Fuzzing and Testing
84
-
85
-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).
86
-
87
-In addition, I've got the beginnings of a stress-tester here which is useful:
88
-https://github.com/DanielOaks/irc-stress-test
89
-
90
-As well, there's a decent set of 'tests' here, which I like to run Oragono through now and then:
91
-https://github.com/DanielOaks/irctest
92
-
93
-
94
 ## Debugging
83
 ## Debugging
95
 
84
 
96
 It's helpful to enable all loglines while developing. Here's how to configure this:
85
 It's helpful to enable all loglines while developing. Here's how to configure this:
107
 
96
 
108
     $ kill -ABRT <procid>
97
     $ kill -ABRT <procid>
109
 
98
 
110
-This will kill Oragono and print out a stack trace for you to take a look at.
99
+This will kill Ergo and print out a stack trace for you to take a look at.
111
 
100
 
112
 
101
 
113
 ## Concurrency design
102
 ## Concurrency design
114
 
103
 
115
-Oragono involves a fair amount of shared state. Here are some of the main points:
104
+Ergo involves a fair amount of shared state. Here are some of the main points:
116
 
105
 
117
 1. Each client has a separate goroutine that listens for incoming messages and synchronously processes them.
106
 1. Each client has a separate goroutine that listens for incoming messages and synchronously processes them.
118
 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`.
107
 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`.

+ 2
- 2
Makefile View File

37
 	./.check-gofmt.sh
37
 	./.check-gofmt.sh
38
 
38
 
39
 smoke:
39
 smoke:
40
-	oragono mkcerts --conf ./default.yaml || true
41
-	oragono run --conf ./default.yaml --smoke
40
+	ergo mkcerts --conf ./default.yaml || true
41
+	ergo run --conf ./default.yaml --smoke
42
 
42
 
43
 gofmt:
43
 gofmt:
44
 	./.check-gofmt.sh --fix
44
 	./.check-gofmt.sh --fix

+ 10
- 10
README View File

7
 
7
 
8
 -----------------------------------------------------------------------------------------------
8
 -----------------------------------------------------------------------------------------------
9
 
9
 
10
-Oragono is a modern IRC server written in Go. Its core design principles are:
10
+Ergo is a modern IRC server written in Go. Its core design principles are:
11
 
11
 
12
 * Being simple to set up and use
12
 * Being simple to set up and use
13
 * Combining the features of an ircd, a services framework, and a bouncer:
13
 * Combining the features of an ircd, a services framework, and a bouncer:
17
 * Bleeding-edge IRCv3 support
17
 * Bleeding-edge IRCv3 support
18
 * Highly customizable via a rehashable (runtime-reloadable) YAML config
18
 * Highly customizable via a rehashable (runtime-reloadable) YAML config
19
 
19
 
20
-                                     https://oragono.io/
21
-                              https://github.com/oragono/oragono
22
-                                     #oragono on Freenode
20
+                                     https://ergo.chat/
21
+                              https://github.com/ergochat/ergo
22
+                          #ergo on irc.ergo.chat or irc.libera.chat
23
 
23
 
24
 -----------------------------------------------------------------------------------------------
24
 -----------------------------------------------------------------------------------------------
25
 
25
 
34
 
34
 
35
 To generate passwords for opers and connect passwords, you can use this command:
35
 To generate passwords for opers and connect passwords, you can use this command:
36
 
36
 
37
-    $ oragono genpasswd
37
+    $ ergo genpasswd
38
 
38
 
39
 If you need to generate self-signed TLS certificates, use this command:
39
 If you need to generate self-signed TLS certificates, use this command:
40
 
40
 
41
-    $ oragono mkcerts
41
+    $ ergo mkcerts
42
 
42
 
43
-You are now ready to start Oragono!
43
+You are now ready to start Ergo!
44
 
44
 
45
-    $ oragono run
45
+    $ ergo run
46
 
46
 
47
 For further instructions, consult the manual. A copy of the manual should be
47
 For further instructions, consult the manual. A copy of the manual should be
48
 included in your release under `docs/MANUAL.md`. Or you can view it on the
48
 included in your release under `docs/MANUAL.md`. Or you can view it on the
49
-Web: https://oragono.io/manual.html
49
+Web: https://ergo.chat/manual.html
50
 
50
 
51
 === Updating ===
51
 === Updating ===
52
 
52
 
53
-If you're updating from a previous version of Oragono, check out the CHANGELOG for a list
53
+If you're updating from a previous version of Ergo, check out the CHANGELOG for a list
54
 of important changes you'll want to take a look at. The change log details config changes,
54
 of important changes you'll want to take a look at. The change log details config changes,
55
 fixes, new features and anything else you'll want to be aware of!
55
 fixes, new features and anything else you'll want to be aware of!
56
 
56
 

+ 25
- 26
default.yaml View File

1
-# This is the default config file for Oragono.
1
+# This is the default config file for Ergo.
2
 # It contains recommended defaults for all settings, including some behaviors
2
 # It contains recommended defaults for all settings, including some behaviors
3
 # that differ from conventional ircd+services setups. See traditional.yaml
3
 # that differ from conventional ircd+services setups. See traditional.yaml
4
 # for a config with more "mainstream" behavior.
4
 # for a config with more "mainstream" behavior.
5
 #
5
 #
6
-# If you are setting up a new oragono server, you should copy this file
6
+# If you are setting up a new Ergo server, you should copy this file
7
 # to a new one named 'ircd.yaml', then read the whole file to see which
7
 # to a new one named 'ircd.yaml', then read the whole file to see which
8
 # settings you want to customize. If you don't understand a setting, or
8
 # settings you want to customize. If you don't understand a setting, or
9
 # aren't sure what behavior you want, most of the defaults are fine
9
 # aren't sure what behavior you want, most of the defaults are fine
25
 # network configuration
25
 # network configuration
26
 network:
26
 network:
27
     # name of the network
27
     # name of the network
28
-    name: OragonoTest
28
+    name: ErgoTest
29
 
29
 
30
 # server configuration
30
 # server configuration
31
 server:
31
 server:
32
     # server name
32
     # server name
33
-    name: oragono.test
33
+    name: ergo.test
34
 
34
 
35
     # addresses to listen on
35
     # addresses to listen on
36
     listeners:
36
     listeners:
62
             min-tls-version: 1.2
62
             min-tls-version: 1.2
63
 
63
 
64
         # Example of a Unix domain socket for proxying:
64
         # Example of a Unix domain socket for proxying:
65
-        # "/tmp/oragono_sock":
65
+        # "/tmp/ergo_sock":
66
 
66
 
67
         # Example of a Tor listener: any connection that comes in on this listener will
67
         # Example of a Tor listener: any connection that comes in on this listener will
68
         # be considered a Tor connection. It is strongly recommended that this listener
68
         # be considered a Tor connection. It is strongly recommended that this listener
69
         # *not* be on a public interface --- it should be on 127.0.0.0/8 or unix domain:
69
         # *not* be on a public interface --- it should be on 127.0.0.0/8 or unix domain:
70
-        # "/hidden_service_sockets/oragono_tor_sock":
70
+        # "/hidden_service_sockets/ergo_tor_sock":
71
         #     tor: true
71
         #     tor: true
72
 
72
 
73
         # Example of a WebSocket listener:
73
         # Example of a WebSocket listener:
120
 
120
 
121
     websockets:
121
     websockets:
122
         # Restrict the origin of WebSocket connections by matching the "Origin" HTTP
122
         # Restrict the origin of WebSocket connections by matching the "Origin" HTTP
123
-        # header. This setting causes oragono to reject websocket connections unless
123
+        # header. This setting causes ergo to reject websocket connections unless
124
         # they originate from a page on one of the whitelisted websites in this list.
124
         # they originate from a page on one of the whitelisted websites in this list.
125
         # This prevents malicious websites from making their visitors connect to your
125
         # This prevents malicious websites from making their visitors connect to your
126
-        # oragono instance without their knowledge. An empty list means there are no
126
+        # ergo instance without their knowledge. An empty list means there are no
127
         # restrictions.
127
         # restrictions.
128
         allowed-origins:
128
         allowed-origins:
129
-            # - "https://oragono.io"
130
-            # - "https://*.oragono.io"
129
+            # - "https://ergo.chat"
130
+            # - "https://*.ergo.chat"
131
 
131
 
132
     # casemapping controls what kinds of strings are permitted as identifiers (nicknames,
132
     # casemapping controls what kinds of strings are permitted as identifiers (nicknames,
133
     # channel names, account names, etc.), and how they are normalized for case.
133
     # channel names, account names, etc.), and how they are normalized for case.
164
     # the value must begin with a '~' character. comment out / omit to disable:
164
     # the value must begin with a '~' character. comment out / omit to disable:
165
     coerce-ident: '~u'
165
     coerce-ident: '~u'
166
 
166
 
167
-    # password to login to the server
168
-    # generated using  "oragono genpasswd"
169
-    #password: ""
167
+    # password to login to the server, generated using `ergo genpasswd`:
168
+    #password: "$2a$04$0123456789abcdef0123456789abcdef0123456789abcdef01234"
170
 
169
 
171
     # motd filename
170
     # motd filename
172
     # if you change the motd, you should move it to ircd.motd
171
     # if you change the motd, you should move it to ircd.motd
173
-    motd: oragono.motd
172
+    motd: ergo.motd
174
 
173
 
175
     # motd formatting codes
174
     # motd formatting codes
176
     # if this is true, the motd is escaped using formatting codes like $c, $b, and $i
175
     # if this is true, the motd is escaped using formatting codes like $c, $b, and $i
206
             # (comment this out to use passwords only)
205
             # (comment this out to use passwords only)
207
             certfp: "abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789"
206
             certfp: "abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789"
208
 
207
 
209
-            # password the gateway uses to connect, made with oragono genpasswd
208
+            # password the gateway uses to connect, made with `ergo genpasswd`
210
             password: "$2a$04$abcdef0123456789abcdef0123456789abcdef0123456789abcde"
209
             password: "$2a$04$abcdef0123456789abcdef0123456789abcdef0123456789abcde"
211
 
210
 
212
             # IPs/CIDRs that can use this webirc command
211
             # IPs/CIDRs that can use this webirc command
228
     compatibility:
227
     compatibility:
229
         # many clients require that the final parameter of certain messages be an
228
         # many clients require that the final parameter of certain messages be an
230
         # RFC1459 trailing parameter, i.e., prefixed with :, whether or not this is
229
         # RFC1459 trailing parameter, i.e., prefixed with :, whether or not this is
231
-        # actually required. this forces Oragono to send those parameters
230
+        # actually required. this forces Ergo to send those parameters
232
         # as trailings. this is recommended unless you're testing clients for conformance;
231
         # as trailings. this is recommended unless you're testing clients for conformance;
233
         # defaults to true when unset for that reason.
232
         # defaults to true when unset for that reason.
234
         force-trailing: true
233
         force-trailing: true
241
 
240
 
242
         # traditionally, IRC servers will truncate and send messages that are
241
         # traditionally, IRC servers will truncate and send messages that are
243
         # too long to be relayed intact. this behavior can be disabled by setting
242
         # too long to be relayed intact. this behavior can be disabled by setting
244
-        # allow-truncation to false, in which case Oragono will reject the message
243
+        # allow-truncation to false, in which case Ergo will reject the message
245
         # and return an error to the client. (note that this option defaults to true
244
         # and return an error to the client. (note that this option defaults to true
246
         # when unset.)
245
         # when unset.)
247
         allow-truncation: false
246
         allow-truncation: false
309
     # IP cloaking hides users' IP addresses from other users and from channel admins
308
     # IP cloaking hides users' IP addresses from other users and from channel admins
310
     # (but not from server admins), while still allowing channel admins to ban
309
     # (but not from server admins), while still allowing channel admins to ban
311
     # offending IP addresses or networks. In place of hostnames derived from reverse
310
     # offending IP addresses or networks. In place of hostnames derived from reverse
312
-    # DNS, users see fake domain names like pwbs2ui4377257x8.oragono. These names are
311
+    # DNS, users see fake domain names like pwbs2ui4377257x8.irc. These names are
313
     # generated deterministically from the underlying IP address, but if the underlying
312
     # generated deterministically from the underlying IP address, but if the underlying
314
     # IP is not already known, it is infeasible to recover it from the cloaked name.
313
     # IP is not already known, it is infeasible to recover it from the cloaked name.
315
     # If you disable this, you should probably enable lookup-hostnames in its place.
314
     # If you disable this, you should probably enable lookup-hostnames in its place.
351
     secure-nets:
350
     secure-nets:
352
         # - "10.0.0.0/8"
351
         # - "10.0.0.0/8"
353
 
352
 
354
-    # oragono will write files to disk under certain circumstances, e.g.,
353
+    # Ergo will write files to disk under certain circumstances, e.g.,
355
     # CPU profiling or data export. by default, these files will be written
354
     # CPU profiling or data export. by default, these files will be written
356
     # to the working directory. set this to customize:
355
     # to the working directory. set this to customize:
357
-    #output-path: "/home/oragono/out"
356
+    #output-path: "/home/ergo/out"
358
 
357
 
359
     # the hostname used by "services", e.g., NickServ, defaults to "localhost",
358
     # the hostname used by "services", e.g., NickServ, defaults to "localhost",
360
     # e.g., `NickServ!NickServ@localhost`. uncomment this to override:
359
     # e.g., `NickServ!NickServ@localhost`. uncomment this to override:
497
         # nickname after the initial connection is complete
496
         # nickname after the initial connection is complete
498
         forbid-anonymous-nick-changes: false
497
         forbid-anonymous-nick-changes: false
499
 
498
 
500
-    # multiclient controls whether oragono allows multiple connections to
499
+    # multiclient controls whether Ergo allows multiple connections to
501
     # attach to the same client/nickname identity; this is part of the
500
     # attach to the same client/nickname identity; this is part of the
502
     # functionality traditionally provided by a bouncer like ZNC
501
     # functionality traditionally provided by a bouncer like ZNC
503
     multiclient:
502
     multiclient:
658
         # operators can be authenticated either by password (with the /OPER command),
657
         # operators can be authenticated either by password (with the /OPER command),
659
         # or by certificate fingerprint, or both. if a password hash is set, then a
658
         # or by certificate fingerprint, or both. if a password hash is set, then a
660
         # password is required to oper up (e.g., /OPER dan mypassword). to generate
659
         # password is required to oper up (e.g., /OPER dan mypassword). to generate
661
-        # the hash, use `oragono genpasswd`.
660
+        # the hash, use `ergo genpasswd`.
662
         password: "$2a$04$0123456789abcdef0123456789abcdef0123456789abcdef01234"
661
         password: "$2a$04$0123456789abcdef0123456789abcdef0123456789abcdef01234"
663
 
662
 
664
         # if a SHA-256 certificate fingerprint is configured here, then it will be
663
         # if a SHA-256 certificate fingerprint is configured here, then it will be
718
 
717
 
719
 # debug options
718
 # debug options
720
 debug:
719
 debug:
721
-    # when enabled, oragono will attempt to recover from certain kinds of
720
+    # when enabled, Ergo will attempt to recover from certain kinds of
722
     # client-triggered runtime errors that would normally crash the server.
721
     # client-triggered runtime errors that would normally crash the server.
723
     # this makes the server more resilient to DoS, but could result in incorrect
722
     # this makes the server more resilient to DoS, but could result in incorrect
724
     # behavior. deployments that would prefer to "start from scratch", e.g., by
723
     # behavior. deployments that would prefer to "start from scratch", e.g., by
749
         port: 3306
748
         port: 3306
750
         # if socket-path is set, it will be used instead of host:port
749
         # if socket-path is set, it will be used instead of host:port
751
         #socket-path: "/var/run/mysqld/mysqld.sock"
750
         #socket-path: "/var/run/mysqld/mysqld.sock"
752
-        user: "oragono"
751
+        user: "ergo"
753
         password: "hunter2"
752
         password: "hunter2"
754
-        history-database: "oragono_history"
753
+        history-database: "ergo_history"
755
         timeout: 3s
754
         timeout: 3s
756
         max-conns: 4
755
         max-conns: 4
757
         # this may be necessary to prevent middleware from closing your connections:
756
         # this may be necessary to prevent middleware from closing your connections:
965
         #    - "typing"
964
         #    - "typing"
966
 
965
 
967
 # whether to allow customization of the config at runtime using environment variables,
966
 # whether to allow customization of the config at runtime using environment variables,
968
-# e.g., ORAGONO__SERVER__MAX_SENDQ=128k. see the manual for more details.
967
+# e.g., ERGO__SERVER__MAX_SENDQ=128k. see the manual for more details.
969
 allow-environment-overrides: true
968
 allow-environment-overrides: true

oragono.go → ergo.go View File

13
 	"strings"
13
 	"strings"
14
 	"syscall"
14
 	"syscall"
15
 
15
 
16
-	"github.com/docopt/docopt-go"
17
-	"github.com/oragono/oragono/irc"
18
-	"github.com/oragono/oragono/irc/logger"
19
-	"github.com/oragono/oragono/irc/mkcerts"
20
 	"golang.org/x/crypto/bcrypt"
16
 	"golang.org/x/crypto/bcrypt"
21
 	"golang.org/x/crypto/ssh/terminal"
17
 	"golang.org/x/crypto/ssh/terminal"
18
+
19
+	"github.com/docopt/docopt-go"
20
+	"github.com/ergochat/ergo/irc"
21
+	"github.com/ergochat/ergo/irc/logger"
22
+	"github.com/ergochat/ergo/irc/mkcerts"
22
 )
23
 )
23
 
24
 
24
 // set via linker flags, either by make or by goreleaser:
25
 // set via linker flags, either by make or by goreleaser:
47
 	return false
48
 	return false
48
 }
49
 }
49
 
50
 
50
-// implements the `oragono mkcerts` command
51
+// implements the `ergo mkcerts` command
51
 func doMkcerts(configFile string, quiet bool) {
52
 func doMkcerts(configFile string, quiet bool) {
52
 	config, err := irc.LoadRawConfig(configFile)
53
 	config, err := irc.LoadRawConfig(configFile)
53
 	if err != nil {
54
 	if err != nil {
78
 		if !(fileDoesNotExist(cert) && fileDoesNotExist(key)) {
79
 		if !(fileDoesNotExist(cert) && fileDoesNotExist(key)) {
79
 			log.Fatalf("Preexisting TLS cert and/or key files: %s %s", cert, key)
80
 			log.Fatalf("Preexisting TLS cert and/or key files: %s %s", cert, key)
80
 		}
81
 		}
81
-		err := mkcerts.CreateCert("Oragono", host, cert, key)
82
+		err := mkcerts.CreateCert("Ergo", host, cert, key)
82
 		if err == nil {
83
 		if err == nil {
83
 			if !quiet {
84
 			if !quiet {
84
 				log.Printf("  Certificate created at %s : %s\n", cert, key)
85
 				log.Printf("  Certificate created at %s : %s\n", cert, key)
92
 
93
 
93
 func main() {
94
 func main() {
94
 	irc.SetVersionString(version, commit)
95
 	irc.SetVersionString(version, commit)
95
-	usage := `oragono.
96
+	usage := `ergo.
96
 Usage:
97
 Usage:
97
-	oragono initdb [--conf <filename>] [--quiet]
98
-	oragono upgradedb [--conf <filename>] [--quiet]
99
-	oragono importdb <database.json> [--conf <filename>] [--quiet]
100
-	oragono genpasswd [--conf <filename>] [--quiet]
101
-	oragono mkcerts [--conf <filename>] [--quiet]
102
-	oragono run [--conf <filename>] [--quiet] [--smoke]
103
-	oragono -h | --help
104
-	oragono --version
98
+	ergo initdb [--conf <filename>] [--quiet]
99
+	ergo upgradedb [--conf <filename>] [--quiet]
100
+	ergo importdb <database.json> [--conf <filename>] [--quiet]
101
+	ergo genpasswd [--conf <filename>] [--quiet]
102
+	ergo mkcerts [--conf <filename>] [--quiet]
103
+	ergo run [--conf <filename>] [--quiet] [--smoke]
104
+	ergo -h | --help
105
+	ergo --version
105
 Options:
106
 Options:
106
 	--conf <filename>  Configuration file to use [default: ircd.yaml].
107
 	--conf <filename>  Configuration file to use [default: ircd.yaml].
107
 	--quiet            Don't show startup/shutdown lines.
108
 	--quiet            Don't show startup/shutdown lines.
183
 
184
 
184
 		// warning if running a non-final version
185
 		// warning if running a non-final version
185
 		if strings.Contains(irc.Ver, "unreleased") {
186
 		if strings.Contains(irc.Ver, "unreleased") {
186
-			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.")
187
+			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.")
187
 		}
188
 		}
188
 
189
 
189
 		server, err := irc.NewServer(config, logman)
190
 		server, err := irc.NewServer(config, logman)
193
 		}
194
 		}
194
 		if !arguments["--quiet"].(bool) {
195
 		if !arguments["--quiet"].(bool) {
195
 			logman.Info("server", "Server running")
196
 			logman.Info("server", "Server running")
196
-			defer logman.Info("server", fmt.Sprintf("Oragono v%s exiting", irc.SemVer))
197
+			defer logman.Info("server", fmt.Sprintf("%s exiting", irc.Ver))
197
 		}
198
 		}
198
 		if !arguments["--smoke"].(bool) {
199
 		if !arguments["--smoke"].(bool) {
199
 			server.Run()
200
 			server.Run()

oragono.motd → ergo.motd View File


+ 1
- 1
go.mod View File

1
-module github.com/oragono/oragono
1
+module github.com/ergochat/ergo
2
 
2
 
3
 go 1.16
3
 go 1.16
4
 
4
 

+ 6
- 6
irc/accounts.go View File

15
 	"time"
15
 	"time"
16
 	"unicode"
16
 	"unicode"
17
 
17
 
18
-	"github.com/oragono/oragono/irc/connection_limits"
19
-	"github.com/oragono/oragono/irc/email"
20
-	"github.com/oragono/oragono/irc/migrations"
21
-	"github.com/oragono/oragono/irc/modes"
22
-	"github.com/oragono/oragono/irc/passwd"
23
-	"github.com/oragono/oragono/irc/utils"
18
+	"github.com/ergochat/ergo/irc/connection_limits"
19
+	"github.com/ergochat/ergo/irc/email"
20
+	"github.com/ergochat/ergo/irc/migrations"
21
+	"github.com/ergochat/ergo/irc/modes"
22
+	"github.com/ergochat/ergo/irc/passwd"
23
+	"github.com/ergochat/ergo/irc/utils"
24
 	"github.com/tidwall/buntdb"
24
 	"github.com/tidwall/buntdb"
25
 )
25
 )
26
 
26
 

+ 1
- 1
irc/authscript.go View File

10
 	"fmt"
10
 	"fmt"
11
 	"net"
11
 	"net"
12
 
12
 
13
-	"github.com/oragono/oragono/irc/utils"
13
+	"github.com/ergochat/ergo/irc/utils"
14
 )
14
 )
15
 
15
 
16
 // JSON-serializable input and output types for the script
16
 // JSON-serializable input and output types for the script

+ 1
- 1
irc/caps/set.go View File

5
 
5
 
6
 import (
6
 import (
7
 	"fmt"
7
 	"fmt"
8
-	"github.com/oragono/oragono/irc/utils"
8
+	"github.com/ergochat/ergo/irc/utils"
9
 )
9
 )
10
 
10
 
11
 // Set holds a set of enabled capabilities.
11
 // Set holds a set of enabled capabilities.

+ 4
- 4
irc/channel.go View File

15
 
15
 
16
 	"github.com/goshuirc/irc-go/ircutils"
16
 	"github.com/goshuirc/irc-go/ircutils"
17
 
17
 
18
-	"github.com/oragono/oragono/irc/caps"
19
-	"github.com/oragono/oragono/irc/history"
20
-	"github.com/oragono/oragono/irc/modes"
21
-	"github.com/oragono/oragono/irc/utils"
18
+	"github.com/ergochat/ergo/irc/caps"
19
+	"github.com/ergochat/ergo/irc/history"
20
+	"github.com/ergochat/ergo/irc/modes"
21
+	"github.com/ergochat/ergo/irc/utils"
22
 )
22
 )
23
 
23
 
24
 type ChannelSettings struct {
24
 type ChannelSettings struct {

+ 1
- 1
irc/channelmanager.go View File

7
 	"sort"
7
 	"sort"
8
 	"sync"
8
 	"sync"
9
 
9
 
10
-	"github.com/oragono/oragono/irc/utils"
10
+	"github.com/ergochat/ergo/irc/utils"
11
 )
11
 )
12
 
12
 
13
 type channelManagerEntry struct {
13
 type channelManagerEntry struct {

+ 2
- 2
irc/channelreg.go View File

12
 
12
 
13
 	"github.com/tidwall/buntdb"
13
 	"github.com/tidwall/buntdb"
14
 
14
 
15
-	"github.com/oragono/oragono/irc/modes"
16
-	"github.com/oragono/oragono/irc/utils"
15
+	"github.com/ergochat/ergo/irc/modes"
16
+	"github.com/ergochat/ergo/irc/utils"
17
 )
17
 )
18
 
18
 
19
 // this is exclusively the *persistence* layer for channel registration;
19
 // this is exclusively the *persistence* layer for channel registration;

+ 3
- 3
irc/chanserv.go View File

10
 	"strings"
10
 	"strings"
11
 	"time"
11
 	"time"
12
 
12
 
13
+	"github.com/ergochat/ergo/irc/modes"
14
+	"github.com/ergochat/ergo/irc/sno"
15
+	"github.com/ergochat/ergo/irc/utils"
13
 	"github.com/goshuirc/irc-go/ircfmt"
16
 	"github.com/goshuirc/irc-go/ircfmt"
14
-	"github.com/oragono/oragono/irc/modes"
15
-	"github.com/oragono/oragono/irc/sno"
16
-	"github.com/oragono/oragono/irc/utils"
17
 )
17
 )
18
 
18
 
19
 const chanservHelp = `ChanServ lets you register and manage channels.`
19
 const chanservHelp = `ChanServ lets you register and manage channels.`

+ 7
- 7
irc/client.go View File

21
 	"github.com/goshuirc/irc-go/ircreader"
21
 	"github.com/goshuirc/irc-go/ircreader"
22
 	ident "github.com/oragono/go-ident"
22
 	ident "github.com/oragono/go-ident"
23
 
23
 
24
-	"github.com/oragono/oragono/irc/caps"
25
-	"github.com/oragono/oragono/irc/connection_limits"
26
-	"github.com/oragono/oragono/irc/flatip"
27
-	"github.com/oragono/oragono/irc/history"
28
-	"github.com/oragono/oragono/irc/modes"
29
-	"github.com/oragono/oragono/irc/sno"
30
-	"github.com/oragono/oragono/irc/utils"
24
+	"github.com/ergochat/ergo/irc/caps"
25
+	"github.com/ergochat/ergo/irc/connection_limits"
26
+	"github.com/ergochat/ergo/irc/flatip"
27
+	"github.com/ergochat/ergo/irc/history"
28
+	"github.com/ergochat/ergo/irc/modes"
29
+	"github.com/ergochat/ergo/irc/sno"
30
+	"github.com/ergochat/ergo/irc/utils"
31
 )
31
 )
32
 
32
 
33
 const (
33
 const (

+ 3
- 3
irc/client_lookup_set.go View File

8
 	"strings"
8
 	"strings"
9
 	"sync"
9
 	"sync"
10
 
10
 
11
-	"github.com/oragono/oragono/irc/caps"
12
-	"github.com/oragono/oragono/irc/modes"
13
-	"github.com/oragono/oragono/irc/utils"
11
+	"github.com/ergochat/ergo/irc/caps"
12
+	"github.com/ergochat/ergo/irc/modes"
13
+	"github.com/ergochat/ergo/irc/utils"
14
 )
14
 )
15
 
15
 
16
 // ClientManager keeps track of clients by nick, enforcing uniqueness of casefolded nicks
16
 // ClientManager keeps track of clients by nick, enforcing uniqueness of casefolded nicks

+ 1
- 1
irc/client_test.go View File

6
 import (
6
 import (
7
 	"testing"
7
 	"testing"
8
 
8
 
9
-	"github.com/oragono/oragono/irc/utils"
9
+	"github.com/ergochat/ergo/irc/utils"
10
 )
10
 )
11
 
11
 
12
 func TestGenerateBatchID(t *testing.T) {
12
 func TestGenerateBatchID(t *testing.T) {

+ 1
- 1
irc/cloaks/cloaks.go View File

8
 
8
 
9
 	"golang.org/x/crypto/sha3"
9
 	"golang.org/x/crypto/sha3"
10
 
10
 
11
-	"github.com/oragono/oragono/irc/utils"
11
+	"github.com/ergochat/ergo/irc/utils"
12
 )
12
 )
13
 
13
 
14
 type CloakConfig struct {
14
 type CloakConfig struct {

+ 18
- 15
irc/config.go View File

27
 	"github.com/goshuirc/irc-go/ircfmt"
27
 	"github.com/goshuirc/irc-go/ircfmt"
28
 	"gopkg.in/yaml.v2"
28
 	"gopkg.in/yaml.v2"
29
 
29
 
30
-	"github.com/oragono/oragono/irc/caps"
31
-	"github.com/oragono/oragono/irc/cloaks"
32
-	"github.com/oragono/oragono/irc/connection_limits"
33
-	"github.com/oragono/oragono/irc/custime"
34
-	"github.com/oragono/oragono/irc/email"
35
-	"github.com/oragono/oragono/irc/isupport"
36
-	"github.com/oragono/oragono/irc/jwt"
37
-	"github.com/oragono/oragono/irc/languages"
38
-	"github.com/oragono/oragono/irc/logger"
39
-	"github.com/oragono/oragono/irc/modes"
40
-	"github.com/oragono/oragono/irc/mysql"
41
-	"github.com/oragono/oragono/irc/passwd"
42
-	"github.com/oragono/oragono/irc/utils"
30
+	"github.com/ergochat/ergo/irc/caps"
31
+	"github.com/ergochat/ergo/irc/cloaks"
32
+	"github.com/ergochat/ergo/irc/connection_limits"
33
+	"github.com/ergochat/ergo/irc/custime"
34
+	"github.com/ergochat/ergo/irc/email"
35
+	"github.com/ergochat/ergo/irc/isupport"
36
+	"github.com/ergochat/ergo/irc/jwt"
37
+	"github.com/ergochat/ergo/irc/languages"
38
+	"github.com/ergochat/ergo/irc/logger"
39
+	"github.com/ergochat/ergo/irc/modes"
40
+	"github.com/ergochat/ergo/irc/mysql"
41
+	"github.com/ergochat/ergo/irc/passwd"
42
+	"github.com/ergochat/ergo/irc/utils"
43
 )
43
 )
44
 
44
 
45
 // here's how this works: exported (capitalized) members of the config structs
45
 // here's how this works: exported (capitalized) members of the config structs
1025
 func mungeFromEnvironment(config *Config, envPair string) (applied bool, err *configPathError) {
1025
 func mungeFromEnvironment(config *Config, envPair string) (applied bool, err *configPathError) {
1026
 	equalIdx := strings.IndexByte(envPair, '=')
1026
 	equalIdx := strings.IndexByte(envPair, '=')
1027
 	name, value := envPair[:equalIdx], envPair[equalIdx+1:]
1027
 	name, value := envPair[:equalIdx], envPair[equalIdx+1:]
1028
-	if !strings.HasPrefix(name, "ORAGONO__") {
1028
+	if strings.HasPrefix(name, "ERGO__") {
1029
+		name = strings.TrimPrefix(name, "ERGO__")
1030
+	} else if strings.HasPrefix(name, "ORAGONO__") {
1031
+		name = strings.TrimPrefix(name, "ORAGONO__")
1032
+	} else {
1029
 		return false, nil
1033
 		return false, nil
1030
 	}
1034
 	}
1031
-	name = strings.TrimPrefix(name, "ORAGONO__")
1032
 	pathComponents := strings.Split(name, "__")
1035
 	pathComponents := strings.Split(name, "__")
1033
 	for i, pathComponent := range pathComponents {
1036
 	for i, pathComponent := range pathComponents {
1034
 		pathComponents[i] = screamingSnakeToKebab(pathComponent)
1037
 		pathComponents[i] = screamingSnakeToKebab(pathComponent)

+ 3
- 3
irc/config_test.go View File

19
 	env := []string{
19
 	env := []string{
20
 		`USER=shivaram`,        // unrelated var
20
 		`USER=shivaram`,        // unrelated var
21
 		`ORAGONO_USER=oragono`, // this should be ignored as well
21
 		`ORAGONO_USER=oragono`, // this should be ignored as well
22
-		`ORAGONO__NETWORK__NAME=example.com`,
22
+		`ERGO__NETWORK__NAME=example.com`,
23
 		`ORAGONO__SERVER__COMPATIBILITY__FORCE_TRAILING=false`,
23
 		`ORAGONO__SERVER__COMPATIBILITY__FORCE_TRAILING=false`,
24
 		`ORAGONO__SERVER__COERCE_IDENT="~user"`,
24
 		`ORAGONO__SERVER__COERCE_IDENT="~user"`,
25
-		`ORAGONO__SERVER__MOTD=short.motd.txt`,
25
+		`ERGO__SERVER__MOTD=short.motd.txt`,
26
 		`ORAGONO__ACCOUNTS__NICK_RESERVATION__ENABLED=true`,
26
 		`ORAGONO__ACCOUNTS__NICK_RESERVATION__ENABLED=true`,
27
-		`ORAGONO__ACCOUNTS__DEFAULT_USER_MODES="+iR"`,
27
+		`ERGO__ACCOUNTS__DEFAULT_USER_MODES="+iR"`,
28
 		`ORAGONO__SERVER__IP_CLOAKING={"enabled": true, "enabled-for-always-on": true, "netname": "irc", "cidr-len-ipv4": 32, "cidr-len-ipv6": 64, "num-bits": 64}`,
28
 		`ORAGONO__SERVER__IP_CLOAKING={"enabled": true, "enabled-for-always-on": true, "netname": "irc", "cidr-len-ipv4": 32, "cidr-len-ipv6": 64, "num-bits": 64}`,
29
 	}
29
 	}
30
 	for _, envPair := range env {
30
 	for _, envPair := range env {

+ 2
- 2
irc/connection_limits/limiter.go View File

10
 	"sync"
10
 	"sync"
11
 	"time"
11
 	"time"
12
 
12
 
13
-	"github.com/oragono/oragono/irc/flatip"
14
-	"github.com/oragono/oragono/irc/utils"
13
+	"github.com/ergochat/ergo/irc/flatip"
14
+	"github.com/ergochat/ergo/irc/utils"
15
 )
15
 )
16
 
16
 
17
 var (
17
 var (

+ 1
- 1
irc/connection_limits/limiter_test.go View File

8
 	"testing"
8
 	"testing"
9
 	"time"
9
 	"time"
10
 
10
 
11
-	"github.com/oragono/oragono/irc/flatip"
11
+	"github.com/ergochat/ergo/irc/flatip"
12
 )
12
 )
13
 
13
 
14
 func easyParseIP(ipstr string) (result flatip.IP) {
14
 func easyParseIP(ipstr string) (result flatip.IP) {

+ 2
- 2
irc/database.go View File

14
 	"strings"
14
 	"strings"
15
 	"time"
15
 	"time"
16
 
16
 
17
-	"github.com/oragono/oragono/irc/modes"
18
-	"github.com/oragono/oragono/irc/utils"
17
+	"github.com/ergochat/ergo/irc/modes"
18
+	"github.com/ergochat/ergo/irc/utils"
19
 
19
 
20
 	"github.com/tidwall/buntdb"
20
 	"github.com/tidwall/buntdb"
21
 )
21
 )

+ 1
- 1
irc/dline.go View File

10
 	"sync"
10
 	"sync"
11
 	"time"
11
 	"time"
12
 
12
 
13
-	"github.com/oragono/oragono/irc/flatip"
13
+	"github.com/ergochat/ergo/irc/flatip"
14
 	"github.com/tidwall/buntdb"
14
 	"github.com/tidwall/buntdb"
15
 )
15
 )
16
 
16
 

+ 1
- 1
irc/email/email.go View File

10
 	"regexp"
10
 	"regexp"
11
 	"strings"
11
 	"strings"
12
 
12
 
13
-	"github.com/oragono/oragono/irc/smtp"
13
+	"github.com/ergochat/ergo/irc/smtp"
14
 )
14
 )
15
 
15
 
16
 var (
16
 var (

+ 1
- 1
irc/errors.go View File

10
 	"fmt"
10
 	"fmt"
11
 	"time"
11
 	"time"
12
 
12
 
13
-	"github.com/oragono/oragono/irc/utils"
13
+	"github.com/ergochat/ergo/irc/utils"
14
 )
14
 )
15
 
15
 
16
 // Runtime Errors
16
 // Runtime Errors

+ 3
- 3
irc/gateways.go View File

9
 	"errors"
9
 	"errors"
10
 	"net"
10
 	"net"
11
 
11
 
12
-	"github.com/oragono/oragono/irc/flatip"
13
-	"github.com/oragono/oragono/irc/modes"
14
-	"github.com/oragono/oragono/irc/utils"
12
+	"github.com/ergochat/ergo/irc/flatip"
13
+	"github.com/ergochat/ergo/irc/modes"
14
+	"github.com/ergochat/ergo/irc/utils"
15
 )
15
 )
16
 
16
 
17
 var (
17
 var (

+ 4
- 4
irc/getters.go View File

9
 	"time"
9
 	"time"
10
 	"unsafe"
10
 	"unsafe"
11
 
11
 
12
-	"github.com/oragono/oragono/irc/caps"
13
-	"github.com/oragono/oragono/irc/languages"
14
-	"github.com/oragono/oragono/irc/modes"
15
-	"github.com/oragono/oragono/irc/utils"
12
+	"github.com/ergochat/ergo/irc/caps"
13
+	"github.com/ergochat/ergo/irc/languages"
14
+	"github.com/ergochat/ergo/irc/modes"
15
+	"github.com/ergochat/ergo/irc/utils"
16
 )
16
 )
17
 
17
 
18
 func (server *Server) Config() (config *Config) {
18
 func (server *Server) Config() (config *Config) {

+ 13
- 13
irc/handlers.go View File

25
 	"github.com/goshuirc/irc-go/ircutils"
25
 	"github.com/goshuirc/irc-go/ircutils"
26
 	"golang.org/x/crypto/bcrypt"
26
 	"golang.org/x/crypto/bcrypt"
27
 
27
 
28
-	"github.com/oragono/oragono/irc/caps"
29
-	"github.com/oragono/oragono/irc/custime"
30
-	"github.com/oragono/oragono/irc/flatip"
31
-	"github.com/oragono/oragono/irc/history"
32
-	"github.com/oragono/oragono/irc/jwt"
33
-	"github.com/oragono/oragono/irc/modes"
34
-	"github.com/oragono/oragono/irc/sno"
35
-	"github.com/oragono/oragono/irc/utils"
28
+	"github.com/ergochat/ergo/irc/caps"
29
+	"github.com/ergochat/ergo/irc/custime"
30
+	"github.com/ergochat/ergo/irc/flatip"
31
+	"github.com/ergochat/ergo/irc/history"
32
+	"github.com/ergochat/ergo/irc/jwt"
33
+	"github.com/ergochat/ergo/irc/modes"
34
+	"github.com/ergochat/ergo/irc/sno"
35
+	"github.com/ergochat/ergo/irc/utils"
36
 )
36
 )
37
 
37
 
38
 // helper function to parse ACC callbacks, e.g., mailto:person@example.com, tel:16505551234
38
 // helper function to parse ACC callbacks, e.g., mailto:person@example.com, tel:16505551234
710
 		rb.Notice(fmt.Sprintf("num goroutines: %d", count))
710
 		rb.Notice(fmt.Sprintf("num goroutines: %d", count))
711
 
711
 
712
 	case "PROFILEHEAP":
712
 	case "PROFILEHEAP":
713
-		profFile := server.Config().getOutputPath("oragono.mprof")
713
+		profFile := server.Config().getOutputPath("ergo.mprof")
714
 		file, err := os.Create(profFile)
714
 		file, err := os.Create(profFile)
715
 		if err != nil {
715
 		if err != nil {
716
 			rb.Notice(fmt.Sprintf("error: %s", err))
716
 			rb.Notice(fmt.Sprintf("error: %s", err))
721
 		rb.Notice(fmt.Sprintf("written to %s", profFile))
721
 		rb.Notice(fmt.Sprintf("written to %s", profFile))
722
 
722
 
723
 	case "STARTCPUPROFILE":
723
 	case "STARTCPUPROFILE":
724
-		profFile := server.Config().getOutputPath("oragono.prof")
724
+		profFile := server.Config().getOutputPath("ergo.prof")
725
 		file, err := os.Create(profFile)
725
 		file, err := os.Create(profFile)
726
 		if err != nil {
726
 		if err != nil {
727
 			rb.Notice(fmt.Sprintf("error: %s", err))
727
 			rb.Notice(fmt.Sprintf("error: %s", err))
1082
 	for _, line := range infoString1 {
1082
 	for _, line := range infoString1 {
1083
 		rb.Add(nil, server.name, RPL_INFO, nick, line)
1083
 		rb.Add(nil, server.name, RPL_INFO, nick, line)
1084
 	}
1084
 	}
1085
-	rb.Add(nil, server.name, RPL_INFO, nick, fmt.Sprintf(client.t("This is Oragono version %s."), SemVer))
1085
+	rb.Add(nil, server.name, RPL_INFO, nick, fmt.Sprintf(client.t("This is Ergo version %s."), SemVer))
1086
 	if Commit != "" {
1086
 	if Commit != "" {
1087
 		rb.Add(nil, server.name, RPL_INFO, nick, fmt.Sprintf(client.t("It was built from git hash %s."), Commit))
1087
 		rb.Add(nil, server.name, RPL_INFO, nick, fmt.Sprintf(client.t("It was built from git hash %s."), Commit))
1088
 	}
1088
 	}
1089
 	rb.Add(nil, server.name, RPL_INFO, nick, fmt.Sprintf(client.t("It was compiled using %s."), runtime.Version()))
1089
 	rb.Add(nil, server.name, RPL_INFO, nick, fmt.Sprintf(client.t("It was compiled using %s."), runtime.Version()))
1090
 	rb.Add(nil, server.name, RPL_INFO, nick, "")
1090
 	rb.Add(nil, server.name, RPL_INFO, nick, "")
1091
-	rb.Add(nil, server.name, RPL_INFO, nick, client.t("Oragono is released under the MIT license."))
1091
+	rb.Add(nil, server.name, RPL_INFO, nick, client.t("Ergo is released under the MIT license."))
1092
 	rb.Add(nil, server.name, RPL_INFO, nick, "")
1092
 	rb.Add(nil, server.name, RPL_INFO, nick, "")
1093
 	rb.Add(nil, server.name, RPL_INFO, nick, client.t("Core Developers:"))
1093
 	rb.Add(nil, server.name, RPL_INFO, nick, client.t("Core Developers:"))
1094
 	for _, line := range infoString2 {
1094
 	for _, line := range infoString2 {
1099
 		rb.Add(nil, server.name, RPL_INFO, nick, line)
1099
 		rb.Add(nil, server.name, RPL_INFO, nick, line)
1100
 	}
1100
 	}
1101
 	rb.Add(nil, server.name, RPL_INFO, nick, client.t("For a more complete list of contributors, see our changelog:"))
1101
 	rb.Add(nil, server.name, RPL_INFO, nick, client.t("For a more complete list of contributors, see our changelog:"))
1102
-	rb.Add(nil, server.name, RPL_INFO, nick, "    https://github.com/oragono/oragono/blob/master/CHANGELOG.md")
1102
+	rb.Add(nil, server.name, RPL_INFO, nick, "    https://github.com/ergochat/ergo/blob/master/CHANGELOG.md")
1103
 	rb.Add(nil, server.name, RPL_INFO, nick, "")
1103
 	rb.Add(nil, server.name, RPL_INFO, nick, "")
1104
 	// show translators for languages other than good ole' regular English
1104
 	// show translators for languages other than good ole' regular English
1105
 	tlines := server.Languages().Translators()
1105
 	tlines := server.Languages().Translators()

+ 8
- 8
irc/help.go View File

9
 	"strings"
9
 	"strings"
10
 	"sync"
10
 	"sync"
11
 
11
 
12
-	"github.com/oragono/oragono/irc/languages"
12
+	"github.com/ergochat/ergo/irc/languages"
13
 )
13
 )
14
 
14
 
15
 // HelpEntryType represents the different sorts of help entries that can exist.
15
 // HelpEntryType represents the different sorts of help entries that can exist.
37
 var (
37
 var (
38
 	cmodeHelpText = `== Channel Modes ==
38
 	cmodeHelpText = `== Channel Modes ==
39
 
39
 
40
-Oragono supports the following channel modes:
40
+Ergo supports the following channel modes:
41
 
41
 
42
   +b  |  Client masks that are banned from the channel (e.g. *!*@127.0.0.1)
42
   +b  |  Client masks that are banned from the channel (e.g. *!*@127.0.0.1)
43
   +e  |  Client masks that are exempted from bans.
43
   +e  |  Client masks that are exempted from bans.
68
   +v (+)  |  Voice channel mode.`
68
   +v (+)  |  Voice channel mode.`
69
 	umodeHelpText = `== User Modes ==
69
 	umodeHelpText = `== User Modes ==
70
 
70
 
71
-Oragono supports the following user modes:
71
+Ergo supports the following user modes:
72
 
72
 
73
   +a  |  User is marked as being away. This mode is set with the /AWAY command.
73
   +a  |  User is marked as being away. This mode is set with the /AWAY command.
74
   +i  |  User is marked as invisible (their channels are hidden from whois replies).
74
   +i  |  User is marked as invisible (their channels are hidden from whois replies).
81
   +T  |  CTCP messages to the user are blocked.`
81
   +T  |  CTCP messages to the user are blocked.`
82
 	snomaskHelpText = `== Server Notice Masks ==
82
 	snomaskHelpText = `== Server Notice Masks ==
83
 
83
 
84
-Oragono supports the following server notice masks for operators:
84
+Ergo supports the following server notice masks for operators:
85
 
85
 
86
   a  |  Local announcements.
86
   a  |  Local announcements.
87
   c  |  Local client connections.
87
   c  |  Local client connections.
502
 	"uban": {
502
 	"uban": {
503
 		text: `UBAN <subcommand> [arguments]
503
 		text: `UBAN <subcommand> [arguments]
504
 
504
 
505
-Oragono's "unified ban" system. Accepts the following subcommands:
505
+Ergo's "unified ban" system. Accepts the following subcommands:
506
 
506
 
507
 1. UBAN ADD <target> [REQUIRE-SASL] [DURATION <duration>] [REASON...]
507
 1. UBAN ADD <target> [REQUIRE-SASL] [DURATION <duration>] [REASON...]
508
 2. UBAN DEL <target>
508
 2. UBAN DEL <target>
638
 	"casemapping": {
638
 	"casemapping": {
639
 		text: `RPL_ISUPPORT CASEMAPPING
639
 		text: `RPL_ISUPPORT CASEMAPPING
640
 
640
 
641
-Oragono supports an experimental unicode casemapping designed for extended
641
+Ergo supports an experimental unicode casemapping designed for extended
642
 Unicode support. This casemapping is based off RFC 7613 and the draft rfc7613
642
 Unicode support. This casemapping is based off RFC 7613 and the draft rfc7613
643
-casemapping spec here: https://oragono.io/specs.html`,
643
+casemapping spec here: https://ergo.chat/specs.html`,
644
 		helpType: ISupportHelpEntry,
644
 		helpType: ISupportHelpEntry,
645
 	},
645
 	},
646
 	"prefix": {
646
 	"prefix": {
647
 		text: `RPL_ISUPPORT PREFIX
647
 		text: `RPL_ISUPPORT PREFIX
648
 
648
 
649
-Oragono supports the following channel membership prefixes:
649
+Ergo supports the following channel membership prefixes:
650
 
650
 
651
   +q (~)  |  Founder channel mode.
651
   +q (~)  |  Founder channel mode.
652
   +a (&)  |  Admin channel mode.
652
   +a (&)  |  Admin channel mode.

+ 1
- 1
irc/history/history.go View File

4
 package history
4
 package history
5
 
5
 
6
 import (
6
 import (
7
-	"github.com/oragono/oragono/irc/utils"
7
+	"github.com/ergochat/ergo/irc/utils"
8
 	"sync"
8
 	"sync"
9
 	"time"
9
 	"time"
10
 )
10
 )

+ 3
- 3
irc/histserv.go View File

11
 	"strconv"
11
 	"strconv"
12
 	"time"
12
 	"time"
13
 
13
 
14
-	"github.com/oragono/oragono/irc/history"
15
-	"github.com/oragono/oragono/irc/modes"
16
-	"github.com/oragono/oragono/irc/utils"
14
+	"github.com/ergochat/ergo/irc/history"
15
+	"github.com/ergochat/ergo/irc/modes"
16
+	"github.com/ergochat/ergo/irc/utils"
17
 )
17
 )
18
 
18
 
19
 const (
19
 const (

+ 1
- 1
irc/hostserv.go View File

10
 
10
 
11
 	"github.com/goshuirc/irc-go/ircfmt"
11
 	"github.com/goshuirc/irc-go/ircfmt"
12
 
12
 
13
-	"github.com/oragono/oragono/irc/utils"
13
+	"github.com/ergochat/ergo/irc/utils"
14
 )
14
 )
15
 
15
 
16
 const (
16
 const (

+ 1
- 1
irc/import.go View File

12
 
12
 
13
 	"github.com/tidwall/buntdb"
13
 	"github.com/tidwall/buntdb"
14
 
14
 
15
-	"github.com/oragono/oragono/irc/utils"
15
+	"github.com/ergochat/ergo/irc/utils"
16
 )
16
 )
17
 
17
 
18
 const (
18
 const (

+ 1
- 1
irc/ircconn.go View File

12
 	"github.com/goshuirc/irc-go/ircmsg"
12
 	"github.com/goshuirc/irc-go/ircmsg"
13
 	"github.com/goshuirc/irc-go/ircreader"
13
 	"github.com/goshuirc/irc-go/ircreader"
14
 
14
 
15
-	"github.com/oragono/oragono/irc/utils"
15
+	"github.com/ergochat/ergo/irc/utils"
16
 )
16
 )
17
 
17
 
18
 const (
18
 const (

+ 1
- 1
irc/kline.go View File

13
 
13
 
14
 	"github.com/tidwall/buntdb"
14
 	"github.com/tidwall/buntdb"
15
 
15
 
16
-	"github.com/oragono/oragono/irc/utils"
16
+	"github.com/ergochat/ergo/irc/utils"
17
 )
17
 )
18
 
18
 
19
 const (
19
 const (

+ 1
- 1
irc/listeners.go View File

13
 
13
 
14
 	"github.com/gorilla/websocket"
14
 	"github.com/gorilla/websocket"
15
 
15
 
16
-	"github.com/oragono/oragono/irc/utils"
16
+	"github.com/ergochat/ergo/irc/utils"
17
 )
17
 )
18
 
18
 
19
 var (
19
 var (

+ 2
- 2
irc/message_cache.go View File

8
 
8
 
9
 	"github.com/goshuirc/irc-go/ircmsg"
9
 	"github.com/goshuirc/irc-go/ircmsg"
10
 
10
 
11
-	"github.com/oragono/oragono/irc/caps"
12
-	"github.com/oragono/oragono/irc/utils"
11
+	"github.com/ergochat/ergo/irc/caps"
12
+	"github.com/ergochat/ergo/irc/utils"
13
 )
13
 )
14
 
14
 
15
 // MessageCache caches serialized IRC messages.
15
 // MessageCache caches serialized IRC messages.

+ 3
- 3
irc/modes.go View File

10
 	"strconv"
10
 	"strconv"
11
 	"strings"
11
 	"strings"
12
 
12
 
13
-	"github.com/oragono/oragono/irc/modes"
14
-	"github.com/oragono/oragono/irc/sno"
15
-	"github.com/oragono/oragono/irc/utils"
13
+	"github.com/ergochat/ergo/irc/modes"
14
+	"github.com/ergochat/ergo/irc/sno"
15
+	"github.com/ergochat/ergo/irc/utils"
16
 )
16
 )
17
 
17
 
18
 var (
18
 var (

+ 1
- 1
irc/modes/modes.go View File

10
 	"sort"
10
 	"sort"
11
 	"strings"
11
 	"strings"
12
 
12
 
13
-	"github.com/oragono/oragono/irc/utils"
13
+	"github.com/ergochat/ergo/irc/utils"
14
 )
14
 )
15
 
15
 
16
 var (
16
 var (

+ 1
- 1
irc/modes_test.go View File

7
 	"reflect"
7
 	"reflect"
8
 	"testing"
8
 	"testing"
9
 
9
 
10
-	"github.com/oragono/oragono/irc/modes"
10
+	"github.com/ergochat/ergo/irc/modes"
11
 )
11
 )
12
 
12
 
13
 func TestParseDefaultChannelModes(t *testing.T) {
13
 func TestParseDefaultChannelModes(t *testing.T) {

+ 3
- 3
irc/mysql/history.go View File

16
 	"sync/atomic"
16
 	"sync/atomic"
17
 	"time"
17
 	"time"
18
 
18
 
19
+	"github.com/ergochat/ergo/irc/history"
20
+	"github.com/ergochat/ergo/irc/logger"
21
+	"github.com/ergochat/ergo/irc/utils"
19
 	_ "github.com/go-sql-driver/mysql"
22
 	_ "github.com/go-sql-driver/mysql"
20
-	"github.com/oragono/oragono/irc/history"
21
-	"github.com/oragono/oragono/irc/logger"
22
-	"github.com/oragono/oragono/irc/utils"
23
 )
23
 )
24
 
24
 
25
 var (
25
 var (

+ 2
- 2
irc/mysql/serialization.go View File

3
 import (
3
 import (
4
 	"encoding/json"
4
 	"encoding/json"
5
 
5
 
6
-	"github.com/oragono/oragono/irc/history"
7
-	"github.com/oragono/oragono/irc/utils"
6
+	"github.com/ergochat/ergo/irc/history"
7
+	"github.com/ergochat/ergo/irc/utils"
8
 )
8
 )
9
 
9
 
10
 // 123 / '{' is the magic number that means JSON;
10
 // 123 / '{' is the magic number that means JSON;

+ 4
- 4
irc/nickname.go View File

9
 	"fmt"
9
 	"fmt"
10
 	"strings"
10
 	"strings"
11
 
11
 
12
+	"github.com/ergochat/ergo/irc/history"
13
+	"github.com/ergochat/ergo/irc/modes"
14
+	"github.com/ergochat/ergo/irc/sno"
15
+	"github.com/ergochat/ergo/irc/utils"
12
 	"github.com/goshuirc/irc-go/ircfmt"
16
 	"github.com/goshuirc/irc-go/ircfmt"
13
-	"github.com/oragono/oragono/irc/history"
14
-	"github.com/oragono/oragono/irc/modes"
15
-	"github.com/oragono/oragono/irc/sno"
16
-	"github.com/oragono/oragono/irc/utils"
17
 )
17
 )
18
 
18
 
19
 var (
19
 var (

+ 4
- 4
irc/nickserv.go View File

13
 
13
 
14
 	"github.com/goshuirc/irc-go/ircfmt"
14
 	"github.com/goshuirc/irc-go/ircfmt"
15
 
15
 
16
-	"github.com/oragono/oragono/irc/custime"
17
-	"github.com/oragono/oragono/irc/passwd"
18
-	"github.com/oragono/oragono/irc/sno"
19
-	"github.com/oragono/oragono/irc/utils"
16
+	"github.com/ergochat/ergo/irc/custime"
17
+	"github.com/ergochat/ergo/irc/passwd"
18
+	"github.com/ergochat/ergo/irc/sno"
19
+	"github.com/ergochat/ergo/irc/utils"
20
 )
20
 )
21
 
21
 
22
 // "enabled" callbacks for specific nickserv commands
22
 // "enabled" callbacks for specific nickserv commands

+ 2
- 2
irc/responsebuffer.go View File

7
 	"runtime/debug"
7
 	"runtime/debug"
8
 	"time"
8
 	"time"
9
 
9
 
10
+	"github.com/ergochat/ergo/irc/caps"
11
+	"github.com/ergochat/ergo/irc/utils"
10
 	"github.com/goshuirc/irc-go/ircmsg"
12
 	"github.com/goshuirc/irc-go/ircmsg"
11
-	"github.com/oragono/oragono/irc/caps"
12
-	"github.com/oragono/oragono/irc/utils"
13
 )
13
 )
14
 
14
 
15
 const (
15
 const (

+ 3
- 3
irc/roleplay.go View File

7
 	"fmt"
7
 	"fmt"
8
 	"strings"
8
 	"strings"
9
 
9
 
10
-	"github.com/oragono/oragono/irc/history"
11
-	"github.com/oragono/oragono/irc/modes"
12
-	"github.com/oragono/oragono/irc/utils"
10
+	"github.com/ergochat/ergo/irc/history"
11
+	"github.com/ergochat/ergo/irc/modes"
12
+	"github.com/ergochat/ergo/irc/utils"
13
 )
13
 )
14
 
14
 
15
 const (
15
 const (

+ 1
- 1
irc/semaphores.go View File

5
 import (
5
 import (
6
 	"runtime"
6
 	"runtime"
7
 
7
 
8
-	"github.com/oragono/oragono/irc/utils"
8
+	"github.com/ergochat/ergo/irc/utils"
9
 )
9
 )
10
 
10
 
11
 // See #237 for context. Operations that might allocate large amounts of temporary
11
 // See #237 for context. Operations that might allocate large amounts of temporary

+ 13
- 13
irc/server.go View File

22
 
22
 
23
 	"github.com/goshuirc/irc-go/ircfmt"
23
 	"github.com/goshuirc/irc-go/ircfmt"
24
 
24
 
25
-	"github.com/oragono/oragono/irc/caps"
26
-	"github.com/oragono/oragono/irc/connection_limits"
27
-	"github.com/oragono/oragono/irc/flatip"
28
-	"github.com/oragono/oragono/irc/history"
29
-	"github.com/oragono/oragono/irc/logger"
30
-	"github.com/oragono/oragono/irc/modes"
31
-	"github.com/oragono/oragono/irc/mysql"
32
-	"github.com/oragono/oragono/irc/sno"
33
-	"github.com/oragono/oragono/irc/utils"
25
+	"github.com/ergochat/ergo/irc/caps"
26
+	"github.com/ergochat/ergo/irc/connection_limits"
27
+	"github.com/ergochat/ergo/irc/flatip"
28
+	"github.com/ergochat/ergo/irc/history"
29
+	"github.com/ergochat/ergo/irc/logger"
30
+	"github.com/ergochat/ergo/irc/modes"
31
+	"github.com/ergochat/ergo/irc/mysql"
32
+	"github.com/ergochat/ergo/irc/sno"
33
+	"github.com/ergochat/ergo/irc/utils"
34
 	"github.com/tidwall/buntdb"
34
 	"github.com/tidwall/buntdb"
35
 )
35
 )
36
 
36
 
356
 func (server *Server) playSTSBurst(session *Session) {
356
 func (server *Server) playSTSBurst(session *Session) {
357
 	nick := utils.SafeErrorParam(session.client.preregNick)
357
 	nick := utils.SafeErrorParam(session.client.preregNick)
358
 	session.Send(nil, server.name, RPL_WELCOME, nick, fmt.Sprintf("Welcome to the Internet Relay Network %s", nick))
358
 	session.Send(nil, server.name, RPL_WELCOME, nick, fmt.Sprintf("Welcome to the Internet Relay Network %s", nick))
359
-	session.Send(nil, server.name, RPL_YOURHOST, nick, fmt.Sprintf("Your host is %[1]s, running version %[2]s", server.name, "oragono"))
359
+	session.Send(nil, server.name, RPL_YOURHOST, nick, fmt.Sprintf("Your host is %[1]s, running version %[2]s", server.name, "ergo"))
360
 	session.Send(nil, server.name, RPL_CREATED, nick, fmt.Sprintf("This server was created %s", time.Time{}.Format(time.RFC1123)))
360
 	session.Send(nil, server.name, RPL_CREATED, nick, fmt.Sprintf("This server was created %s", time.Time{}.Format(time.RFC1123)))
361
-	session.Send(nil, server.name, RPL_MYINFO, nick, server.name, "oragono", "o", "o", "o")
361
+	session.Send(nil, server.name, RPL_MYINFO, nick, server.name, "ergo", "o", "o", "o")
362
 	session.Send(nil, server.name, RPL_ISUPPORT, nick, "CASEMAPPING=ascii", "are supported by this server")
362
 	session.Send(nil, server.name, RPL_ISUPPORT, nick, "CASEMAPPING=ascii", "are supported by this server")
363
 	session.Send(nil, server.name, ERR_NOMOTD, nick, "MOTD is unavailable")
363
 	session.Send(nil, server.name, ERR_NOMOTD, nick, "MOTD is unavailable")
364
 	for _, line := range server.Config().Server.STS.bannerLines {
364
 	for _, line := range server.Config().Server.STS.bannerLines {
1059
 ▐█▌.▐▌▐█•█▌▐█ ▪▐▌▐█▄▪▐█▐█▌ ▐▌██▐█▌▐█▌.▐▌
1059
 ▐█▌.▐▌▐█•█▌▐█ ▪▐▌▐█▄▪▐█▐█▌ ▐▌██▐█▌▐█▌.▐▌
1060
  ▀█▄▀▪.▀  ▀ ▀  ▀ ·▀▀▀▀  ▀█▄▀ ▀▀ █▪ ▀█▄▀▪
1060
  ▀█▄▀▪.▀  ▀ ▀  ▀ ·▀▀▀▀  ▀█▄▀ ▀▀ █▪ ▀█▄▀▪
1061
 
1061
 
1062
-         https://oragono.io/
1063
-   https://github.com/oragono/oragono
1062
+         https://ergo.chat/
1063
+   https://github.com/ergochat/ergo
1064
    https://crowdin.com/project/oragono
1064
    https://crowdin.com/project/oragono
1065
 `, "\n")
1065
 `, "\n")
1066
 	infoString2 = strings.Split(`    Daniel Oakley,          DanielOaks,    <daniel@danieloaks.net>
1066
 	infoString2 = strings.Split(`    Daniel Oakley,          DanielOaks,    <daniel@danieloaks.net>

+ 1
- 1
irc/services.go View File

11
 	"strings"
11
 	"strings"
12
 	"time"
12
 	"time"
13
 
13
 
14
+	"github.com/ergochat/ergo/irc/utils"
14
 	"github.com/goshuirc/irc-go/ircfmt"
15
 	"github.com/goshuirc/irc-go/ircfmt"
15
 	"github.com/goshuirc/irc-go/ircmsg"
16
 	"github.com/goshuirc/irc-go/ircmsg"
16
-	"github.com/oragono/oragono/irc/utils"
17
 )
17
 )
18
 
18
 
19
 // defines an IRC service, e.g., NICKSERV
19
 // defines an IRC service, e.g., NICKSERV

+ 1
- 1
irc/snomanager.go View File

4
 	"fmt"
4
 	"fmt"
5
 	"sync"
5
 	"sync"
6
 
6
 
7
+	"github.com/ergochat/ergo/irc/sno"
7
 	"github.com/goshuirc/irc-go/ircfmt"
8
 	"github.com/goshuirc/irc-go/ircfmt"
8
-	"github.com/oragono/oragono/irc/sno"
9
 )
9
 )
10
 
10
 
11
 // SnoManager keeps track of which clients to send snomasks to.
11
 // SnoManager keeps track of which clients to send snomasks to.

+ 1
- 1
irc/socket.go View File

9
 	"io"
9
 	"io"
10
 	"sync"
10
 	"sync"
11
 
11
 
12
-	"github.com/oragono/oragono/irc/utils"
12
+	"github.com/ergochat/ergo/irc/utils"
13
 )
13
 )
14
 
14
 
15
 var (
15
 var (

+ 1
- 1
irc/strings.go View File

16
 	"golang.org/x/text/unicode/norm"
16
 	"golang.org/x/text/unicode/norm"
17
 	"golang.org/x/text/width"
17
 	"golang.org/x/text/width"
18
 
18
 
19
-	"github.com/oragono/oragono/irc/utils"
19
+	"github.com/ergochat/ergo/irc/utils"
20
 )
20
 )
21
 
21
 
22
 const (
22
 const (

+ 1
- 1
irc/types.go View File

8
 import (
8
 import (
9
 	"time"
9
 	"time"
10
 
10
 
11
-	"github.com/oragono/oragono/irc/modes"
11
+	"github.com/ergochat/ergo/irc/modes"
12
 )
12
 )
13
 
13
 
14
 type empty struct{}
14
 type empty struct{}

+ 4
- 4
irc/uban.go View File

11
 
11
 
12
 	"github.com/goshuirc/irc-go/ircmsg"
12
 	"github.com/goshuirc/irc-go/ircmsg"
13
 
13
 
14
-	"github.com/oragono/oragono/irc/custime"
15
-	"github.com/oragono/oragono/irc/flatip"
16
-	"github.com/oragono/oragono/irc/sno"
17
-	"github.com/oragono/oragono/irc/utils"
14
+	"github.com/ergochat/ergo/irc/custime"
15
+	"github.com/ergochat/ergo/irc/flatip"
16
+	"github.com/ergochat/ergo/irc/sno"
17
+	"github.com/ergochat/ergo/irc/utils"
18
 )
18
 )
19
 
19
 
20
 func consumeDuration(params []string, rb *ResponseBuffer) (duration time.Duration, requireSASL bool, remainingParams []string, err error) {
20
 func consumeDuration(params []string, rb *ResponseBuffer) (duration time.Duration, requireSASL bool, remainingParams []string, err error) {

+ 1
- 1
irc/usermaskset.go View File

13
 	"time"
13
 	"time"
14
 	"unsafe"
14
 	"unsafe"
15
 
15
 
16
-	"github.com/oragono/oragono/irc/utils"
16
+	"github.com/ergochat/ergo/irc/utils"
17
 )
17
 )
18
 
18
 
19
 type MaskInfo struct {
19
 type MaskInfo struct {

+ 5
- 5
irc/version.go View File

6
 import "fmt"
6
 import "fmt"
7
 
7
 
8
 const (
8
 const (
9
-	// SemVer is the semantic version of Oragono.
9
+	// SemVer is the semantic version of Ergo.
10
 	SemVer = "2.7.0-unreleased"
10
 	SemVer = "2.7.0-unreleased"
11
 )
11
 )
12
 
12
 
13
 var (
13
 var (
14
-	// Ver is the full version of Oragono, used in responses to clients.
15
-	Ver = fmt.Sprintf("oragono-%s", SemVer)
14
+	// Ver is the full version of Ergo, used in responses to clients.
15
+	Ver = fmt.Sprintf("ergo-%s", SemVer)
16
 	// Commit is the full git hash, if available
16
 	// Commit is the full git hash, if available
17
 	Commit string
17
 	Commit string
18
 )
18
 )
21
 func SetVersionString(version, commit string) {
21
 func SetVersionString(version, commit string) {
22
 	Commit = commit
22
 	Commit = commit
23
 	if version != "" {
23
 	if version != "" {
24
-		Ver = fmt.Sprintf("oragono-%s", version)
24
+		Ver = fmt.Sprintf("ergo-%s", version)
25
 	} else if len(Commit) == 40 {
25
 	} else if len(Commit) == 40 {
26
-		Ver = fmt.Sprintf("oragono-%s-%s", SemVer, Commit[:16])
26
+		Ver = fmt.Sprintf("ergo-%s-%s", SemVer, Commit[:16])
27
 	}
27
 	}
28
 }
28
 }

+ 2
- 2
irc/znc.go View File

9
 	"strings"
9
 	"strings"
10
 	"time"
10
 	"time"
11
 
11
 
12
-	"github.com/oragono/oragono/irc/history"
13
-	"github.com/oragono/oragono/irc/utils"
12
+	"github.com/ergochat/ergo/irc/history"
13
+	"github.com/ergochat/ergo/irc/utils"
14
 )
14
 )
15
 
15
 
16
 const (
16
 const (

+ 25
- 26
traditional.yaml View File

1
-# This is the "traditional" or "mainstream" config file for Oragono.
1
+# This is the "traditional" or "mainstream" config file for Ergo.
2
 # It tries to replicate the behavior of other ircds, at the cost of not
2
 # It tries to replicate the behavior of other ircds, at the cost of not
3
-# taking full advantage of Oragono's features. This config is suitable for use
3
+# taking full advantage of Ergo's features. This config is suitable for use
4
 # in IRCv3 conformance testing.
4
 # in IRCv3 conformance testing.
5
 
5
 
6
 # network configuration
6
 # network configuration
7
 network:
7
 network:
8
     # name of the network
8
     # name of the network
9
-    name: OragonoTest
9
+    name: ErgoTest
10
 
10
 
11
 # server configuration
11
 # server configuration
12
 server:
12
 server:
13
     # server name
13
     # server name
14
-    name: oragono.test
14
+    name: ergo.test
15
 
15
 
16
     # addresses to listen on
16
     # addresses to listen on
17
     listeners:
17
     listeners:
36
             # min-tls-version: 1.2
36
             # min-tls-version: 1.2
37
 
37
 
38
         # Example of a Unix domain socket for proxying:
38
         # Example of a Unix domain socket for proxying:
39
-        # "/tmp/oragono_sock":
39
+        # "/tmp/ergo_sock":
40
 
40
 
41
         # Example of a Tor listener: any connection that comes in on this listener will
41
         # Example of a Tor listener: any connection that comes in on this listener will
42
         # be considered a Tor connection. It is strongly recommended that this listener
42
         # be considered a Tor connection. It is strongly recommended that this listener
43
         # *not* be on a public interface --- it should be on 127.0.0.0/8 or unix domain:
43
         # *not* be on a public interface --- it should be on 127.0.0.0/8 or unix domain:
44
-        # "/hidden_service_sockets/oragono_tor_sock":
44
+        # "/hidden_service_sockets/ergo_tor_sock":
45
         #     tor: true
45
         #     tor: true
46
 
46
 
47
         # Example of a WebSocket listener:
47
         # Example of a WebSocket listener:
94
 
94
 
95
     websockets:
95
     websockets:
96
         # Restrict the origin of WebSocket connections by matching the "Origin" HTTP
96
         # Restrict the origin of WebSocket connections by matching the "Origin" HTTP
97
-        # header. This setting causes oragono to reject websocket connections unless
97
+        # header. This setting causes ergo to reject websocket connections unless
98
         # they originate from a page on one of the whitelisted websites in this list.
98
         # they originate from a page on one of the whitelisted websites in this list.
99
         # This prevents malicious websites from making their visitors connect to your
99
         # This prevents malicious websites from making their visitors connect to your
100
-        # oragono instance without their knowledge. An empty list means there are no
100
+        # ergo instance without their knowledge. An empty list means there are no
101
         # restrictions.
101
         # restrictions.
102
         allowed-origins:
102
         allowed-origins:
103
-            # - "https://oragono.io"
104
-            # - "https://*.oragono.io"
103
+            # - "https://ergo.chat"
104
+            # - "https://*.ergo.chat"
105
 
105
 
106
     # casemapping controls what kinds of strings are permitted as identifiers (nicknames,
106
     # casemapping controls what kinds of strings are permitted as identifiers (nicknames,
107
     # channel names, account names, etc.), and how they are normalized for case.
107
     # channel names, account names, etc.), and how they are normalized for case.
137
     # the value must begin with a '~' character. comment out / omit to disable:
137
     # the value must begin with a '~' character. comment out / omit to disable:
138
     #coerce-ident: '~u'
138
     #coerce-ident: '~u'
139
 
139
 
140
-    # password to login to the server
141
-    # generated using  "oragono genpasswd"
142
-    #password: ""
140
+    # password to login to the server, generated using `ergo genpasswd`:
141
+    #password: "$2a$04$0123456789abcdef0123456789abcdef0123456789abcdef01234"
143
 
142
 
144
     # motd filename
143
     # motd filename
145
     # if you change the motd, you should move it to ircd.motd
144
     # if you change the motd, you should move it to ircd.motd
146
-    motd: oragono.motd
145
+    motd: ergo.motd
147
 
146
 
148
     # motd formatting codes
147
     # motd formatting codes
149
     # if this is true, the motd is escaped using formatting codes like $c, $b, and $i
148
     # if this is true, the motd is escaped using formatting codes like $c, $b, and $i
179
             # (comment this out to use passwords only)
178
             # (comment this out to use passwords only)
180
             certfp: "abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789"
179
             certfp: "abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789"
181
 
180
 
182
-            # password the gateway uses to connect, made with oragono genpasswd
181
+            # password the gateway uses to connect, made with `ergo genpasswd`
183
             password: "$2a$04$abcdef0123456789abcdef0123456789abcdef0123456789abcde"
182
             password: "$2a$04$abcdef0123456789abcdef0123456789abcdef0123456789abcde"
184
 
183
 
185
             # IPs/CIDRs that can use this webirc command
184
             # IPs/CIDRs that can use this webirc command
201
     compatibility:
200
     compatibility:
202
         # many clients require that the final parameter of certain messages be an
201
         # many clients require that the final parameter of certain messages be an
203
         # RFC1459 trailing parameter, i.e., prefixed with :, whether or not this is
202
         # RFC1459 trailing parameter, i.e., prefixed with :, whether or not this is
204
-        # actually required. this forces Oragono to send those parameters
203
+        # actually required. this forces Ergo to send those parameters
205
         # as trailings. this is recommended unless you're testing clients for conformance;
204
         # as trailings. this is recommended unless you're testing clients for conformance;
206
         # defaults to true when unset for that reason.
205
         # defaults to true when unset for that reason.
207
         force-trailing: true
206
         force-trailing: true
214
 
213
 
215
         # traditionally, IRC servers will truncate and send messages that are
214
         # traditionally, IRC servers will truncate and send messages that are
216
         # too long to be relayed intact. this behavior can be disabled by setting
215
         # too long to be relayed intact. this behavior can be disabled by setting
217
-        # allow-truncation to false, in which case Oragono will reject the message
216
+        # allow-truncation to false, in which case Ergo will reject the message
218
         # and return an error to the client. (note that this option defaults to true
217
         # and return an error to the client. (note that this option defaults to true
219
         # when unset.)
218
         # when unset.)
220
         allow-truncation: true
219
         allow-truncation: true
282
     # IP cloaking hides users' IP addresses from other users and from channel admins
281
     # IP cloaking hides users' IP addresses from other users and from channel admins
283
     # (but not from server admins), while still allowing channel admins to ban
282
     # (but not from server admins), while still allowing channel admins to ban
284
     # offending IP addresses or networks. In place of hostnames derived from reverse
283
     # offending IP addresses or networks. In place of hostnames derived from reverse
285
-    # DNS, users see fake domain names like pwbs2ui4377257x8.oragono. These names are
284
+    # DNS, users see fake domain names like pwbs2ui4377257x8.irc. These names are
286
     # generated deterministically from the underlying IP address, but if the underlying
285
     # generated deterministically from the underlying IP address, but if the underlying
287
     # IP is not already known, it is infeasible to recover it from the cloaked name.
286
     # IP is not already known, it is infeasible to recover it from the cloaked name.
288
     ip-cloaking:
287
     ip-cloaking:
323
     secure-nets:
322
     secure-nets:
324
         # - "10.0.0.0/8"
323
         # - "10.0.0.0/8"
325
 
324
 
326
-    # oragono will write files to disk under certain circumstances, e.g.,
325
+    # Ergo will write files to disk under certain circumstances, e.g.,
327
     # CPU profiling or data export. by default, these files will be written
326
     # CPU profiling or data export. by default, these files will be written
328
     # to the working directory. set this to customize:
327
     # to the working directory. set this to customize:
329
-    #output-path: "/home/oragono/out"
328
+    #output-path: "/home/ergo/out"
330
 
329
 
331
     # the hostname used by "services", e.g., NickServ, defaults to "localhost",
330
     # the hostname used by "services", e.g., NickServ, defaults to "localhost",
332
     # e.g., `NickServ!NickServ@localhost`. uncomment this to override:
331
     # e.g., `NickServ!NickServ@localhost`. uncomment this to override:
469
         # nickname after the initial connection is complete
468
         # nickname after the initial connection is complete
470
         forbid-anonymous-nick-changes: false
469
         forbid-anonymous-nick-changes: false
471
 
470
 
472
-    # multiclient controls whether oragono allows multiple connections to
471
+    # multiclient controls whether Ergo allows multiple connections to
473
     # attach to the same client/nickname identity; this is part of the
472
     # attach to the same client/nickname identity; this is part of the
474
     # functionality traditionally provided by a bouncer like ZNC
473
     # functionality traditionally provided by a bouncer like ZNC
475
     multiclient:
474
     multiclient:
630
         # operators can be authenticated either by password (with the /OPER command),
629
         # operators can be authenticated either by password (with the /OPER command),
631
         # or by certificate fingerprint, or both. if a password hash is set, then a
630
         # or by certificate fingerprint, or both. if a password hash is set, then a
632
         # password is required to oper up (e.g., /OPER dan mypassword). to generate
631
         # password is required to oper up (e.g., /OPER dan mypassword). to generate
633
-        # the hash, use `oragono genpasswd`.
632
+        # the hash, use `ergo genpasswd`.
634
         password: "$2a$04$0123456789abcdef0123456789abcdef0123456789abcdef01234"
633
         password: "$2a$04$0123456789abcdef0123456789abcdef0123456789abcdef01234"
635
 
634
 
636
         # if a SHA-256 certificate fingerprint is configured here, then it will be
635
         # if a SHA-256 certificate fingerprint is configured here, then it will be
691
 
690
 
692
 # debug options
691
 # debug options
693
 debug:
692
 debug:
694
-    # when enabled, oragono will attempt to recover from certain kinds of
693
+    # when enabled, Ergo will attempt to recover from certain kinds of
695
     # client-triggered runtime errors that would normally crash the server.
694
     # client-triggered runtime errors that would normally crash the server.
696
     # this makes the server more resilient to DoS, but could result in incorrect
695
     # this makes the server more resilient to DoS, but could result in incorrect
697
     # behavior. deployments that would prefer to "start from scratch", e.g., by
696
     # behavior. deployments that would prefer to "start from scratch", e.g., by
722
         port: 3306
721
         port: 3306
723
         # if socket-path is set, it will be used instead of host:port
722
         # if socket-path is set, it will be used instead of host:port
724
         #socket-path: "/var/run/mysqld/mysqld.sock"
723
         #socket-path: "/var/run/mysqld/mysqld.sock"
725
-        user: "oragono"
724
+        user: "ergo"
726
         password: "hunter2"
725
         password: "hunter2"
727
-        history-database: "oragono_history"
726
+        history-database: "ergo_history"
728
         timeout: 3s
727
         timeout: 3s
729
         max-conns: 4
728
         max-conns: 4
730
         # this may be necessary to prevent middleware from closing your connections:
729
         # this may be necessary to prevent middleware from closing your connections:
937
         #    - "typing"
936
         #    - "typing"
938
 
937
 
939
 # whether to allow customization of the config at runtime using environment variables,
938
 # whether to allow customization of the config at runtime using environment variables,
940
-# e.g., ORAGONO__SERVER__MAX_SENDQ=128k. see the manual for more details.
939
+# e.g., ERGO__SERVER__MAX_SENDQ=128k. see the manual for more details.
941
 allow-environment-overrides: true
940
 allow-environment-overrides: true

Loading…
Cancel
Save