Browse Source

change default casefolding to ascii

See discussion on #1718
tags/v2.11.0-rc1
Shivaram Lingamneni 1 year ago
parent
commit
05e5e88de4
3 changed files with 20 additions and 20 deletions
  1. 2
    2
      README.md
  2. 9
    9
      default.yaml
  3. 9
    9
      traditional.yaml

+ 2
- 2
README.md View File

@@ -25,20 +25,20 @@ If you want to take a look at a running Ergo instance or test some client code,
25 25
 
26 26
 * integrated services: NickServ for user accounts, ChanServ for channel registration, and HostServ for vanity hosts
27 27
 * bouncer-like features: storing and replaying history, allowing multiple clients to use the same nickname
28
-* UTF-8 nick and channel names with rfc7613 (PRECIS)
29 28
 * native TLS/SSL support, including support for client certificates
29
+* [IRCv3 support](https://ircv3.net/software/servers.html)
30 30
 * [yaml](https://yaml.org/) configuration
31 31
 * updating server config and TLS certificates on-the-fly (rehashing)
32 32
 * SASL authentication
33 33
 * [LDAP support](https://github.com/ergochat/ergo-ldap)
34 34
 * supports [multiple languages](https://crowdin.com/project/ergochat) (you can also set a default language for your network)
35
+* optional support for UTF-8 nick and channel names with RFC 8265 (PRECIS)
35 36
 * advanced security and privacy features (support for requiring SASL for all logins, cloaking IPs, and running as a Tor hidden service)
36 37
 * an extensible privilege system for IRC operators
37 38
 * ident lookups for usernames
38 39
 * automated client connection limits
39 40
 * passwords stored with [bcrypt](https://godoc.org/golang.org/x/crypto)
40 41
 * `UBAN`, a unified ban system that can target IPs, networks, masks, and registered accounts (`KLINE` and `DLINE` are also supported)
41
-* [IRCv3 support](https://ircv3.net/software/servers.html)
42 42
 * a focus on developing with [specifications](https://ergo.chat/specs.html)
43 43
 
44 44
 For more detailed information on Ergo's functionality, see:

+ 9
- 9
default.yaml View File

@@ -131,15 +131,15 @@ server:
131 131
 
132 132
     # casemapping controls what kinds of strings are permitted as identifiers (nicknames,
133 133
     # channel names, account names, etc.), and how they are normalized for case.
134
-    # with the recommended default of 'precis', UTF8 identifiers that are "sane"
135
-    # (according to RFC 8265) are allowed, and the server additionally tries to protect
136
-    # against confusable characters ("homoglyph attacks").
137
-    # the other options are 'ascii' (traditional ASCII-only identifiers), and 'permissive',
138
-    # which allows identifiers to contain unusual characters like emoji, but makes users
139
-    # vulnerable to homoglyph attacks. unless you're really confident in your decision,
140
-    # we recommend leaving this value at its default (changing it once the network is
141
-    # already up and running is problematic).
142
-    casemapping: "precis"
134
+    # the recommended default is 'ascii' (traditional ASCII-only identifiers).
135
+    # the other options are 'precis', which allows UTF8 identifiers that are "sane"
136
+    # (according to UFC 8265), with additional mitigations for homoglyph attacks,
137
+    # and 'permissive', which allows identifiers containing unusual characters like
138
+    # emoji, at the cost of increased vulnerability to homoglyph attacks and potential
139
+    # client compatibility problems. we recommend leaving this value at its default;
140
+    # however, note that changing it once the network is already up and running is
141
+    # problematic.
142
+    casemapping: "ascii"
143 143
 
144 144
     # enforce-utf8 controls whether the server will preemptively discard non-UTF8
145 145
     # messages (since they cannot be relayed to websocket clients), or will allow

+ 9
- 9
traditional.yaml View File

@@ -105,15 +105,15 @@ server:
105 105
 
106 106
     # casemapping controls what kinds of strings are permitted as identifiers (nicknames,
107 107
     # channel names, account names, etc.), and how they are normalized for case.
108
-    # with the recommended default of 'precis', UTF8 identifiers that are "sane"
109
-    # (according to RFC 8265) are allowed, and the server additionally tries to protect
110
-    # against confusable characters ("homoglyph attacks").
111
-    # the other options are 'ascii' (traditional ASCII-only identifiers), and 'permissive',
112
-    # which allows identifiers to contain unusual characters like emoji, but makes users
113
-    # vulnerable to homoglyph attacks. unless you're really confident in your decision,
114
-    # we recommend leaving this value at its default (changing it once the network is
115
-    # already up and running is problematic).
116
-    casemapping: "precis"
108
+    # the recommended default is 'ascii' (traditional ASCII-only identifiers).
109
+    # the other options are 'precis', which allows UTF8 identifiers that are "sane"
110
+    # (according to UFC 8265), with additional mitigations for homoglyph attacks,
111
+    # and 'permissive', which allows identifiers containing unusual characters like
112
+    # emoji, at the cost of increased vulnerability to homoglyph attacks and potential
113
+    # client compatibility problems. we recommend leaving this value at its default;
114
+    # however, note that changing it once the network is already up and running is
115
+    # problematic.
116
+    casemapping: "ascii"
117 117
 
118 118
     # enforce-utf8 controls whether the server will preemptively discard non-UTF8
119 119
     # messages (since they cannot be relayed to websocket clients), or will allow

Loading…
Cancel
Save