Shivaram Lingamneni
26fd3e69a8
fix #749
4 years ago
Shivaram Lingamneni
4391b1ba5a
restrict ASCII mode to printable characters only
4 years ago
Shivaram Lingamneni
781bb6b051
more systematic bad-character check in permissive mode
4 years ago
Shivaram Lingamneni
2d4dbeba1c
disallow some bad characters in foldPermissive
4 years ago
Shivaram Lingamneni
f9b5224ae0
have realSkeleton use cases.Fold as well
4 years ago
Shivaram Lingamneni
91d6888b7e
fix #693
4 years ago
Shivaram Lingamneni
baa71ba2be
remove unnecessary special-casing for ASCII
4 years ago
Shivaram Lingamneni
332f0d8d91
fix #644
4 years ago
Shivaram Lingamneni
938ce7e435
fix #331
5 years ago
Shivaram Lingamneni
24c46235a3
remove m -> rn skeleton mapping again
5 years ago
Shivaram Lingamneni
b075ea6eb9
use regular Skeleton instead of SkeletonTweaked
dan: "I probably wouldn't expect those mappings to cause much
trouble at all for legitimate users at the end of the day"
shivaram: [concurs]
5 years ago
Shivaram Lingamneni
6e9a31a574
use confusables.SkeletonTweaked to fix the test
5 years ago
Shivaram Lingamneni
be4d098945
fix an edge case in skeletonization
'm' skeletonizes to 'rn' (but is exempted by the isBoring check),
but the fullwidth 'm' does not skeletonize to anything. The root cause
of this is the (still unexplained) patchiness of the skeleton mapping
for fullwidth -> standard-width Latin characters; the fix is to perform
width mapping first, before either skeletonization or isBoring.
5 years ago
Daniel Oaks
8cd5db1194
Restrict idents as other servers do
5 years ago
Shivaram Lingamneni
c34d9e0b72
more lenient casefolding for skeletons
5 years ago
Shivaram Lingamneni
18c0c9da45
use our fork of mtibben/confusables for now
5 years ago
Shivaram Lingamneni
b9b2553a2f
use the TR39 skeleton algorithm to prevent confusables (#178)
5 years ago
Shivaram Lingamneni
40e63dbbe8
fix #306
Fix spurious bidi rule violations in casefolding channel names
by stripping the # before starting the casefolding.
5 years ago
Daniel Oaks
2419f69879
Move all errors into errors.go
6 years ago
Daniel Oaks
197ab520bf
Change casemapping name and advertisement to match new spec
6 years ago
Daniel Oaks
ac91a3e484
strings: Follow latest advice on PRECIS regarding string stabilizing
7 years ago
Euan Kemp
449ef4cea1
strings: disallow ':' in nicks
This matches the behavior of inspircd at the very least.
Previously, the comment above that section claimed ':' should be
disallowed, but the code didn't do so.
I also simplified the code a little bit and added tests.
7 years ago
Daniel Oaks
317a804644
Fix dates at top of source files
7 years ago
Daniel Oaks
ea0121aeff
strings: Prevent crash
7 years ago
Daniel Oaks
2b240faa90
strings: Fix nick bugs, use UsernameCaseMapped
7 years ago
Daniel Oaks
c7fdb4656e
strings: Use inbuilt precis.Nickname encoding now
7 years ago
Daniel Oaks
9ccd6037a6
strings: Make Nickname profile not actually case-sensitive
7 years ago
Daniel Oaks
5e72409695
Move from ascii(ish) unicode encoding to prelim rfc7700 using functions instead
7 years ago
Daniel Oaks
bc42960552
strings: Remove CTCP stuff, unused
8 years ago
Daniel Oaks
5a8e7709b2
strings: Disallow more broken nicknames
8 years ago
Daniel Oaks
1b67af7e85
strings: Also explicitly disallow . in nicknames
8 years ago
Daniel Oaks
9d853d5be7
strings: Don't allow nicks to start with dashes or 0-9
8 years ago
Daniel Oaks
a5911ad14c
server: Add configurable NICKLEN and CHANNELLEN
8 years ago
Daniel Oaks
2f08401a0f
Attempt to add mostly-correct license info at the top of each file... track this stuff a bit better
8 years ago
Daniel Oaks
fd6ed36995
strings: Restrict *? explicitly as they are used for mask matching
8 years ago
Daniel Oaks
77bf7173ff
Require that server names must be hostnames, and nicks cannot be hostnames
8 years ago
Daniel Oaks
4a8d526c4d
strings: Nicks and usernames can't contain ! or @
8 years ago
Daniel Oaks
7ce62444de
strings: Disallow nicknames that mess with the protocol in bad ways
8 years ago
Robin Burchell
6ad97f7e5d
irc: Switch to golang.org versions, not google code versions of dependencies.
This has a few advantages:
* the google code versions are no longer maintained
* the google code versions are using mercurial (which I don't have installed)
9 years ago
Edmund Huber
2272aae213
spelling and gofmt
10 years ago
Edmund Huber
34b01b115e
add a type for CTCP-encoded strings, and NOTICEs for error cases
10 years ago
Jeremy Latt
96a108f8da
mark unicode normalization with type
10 years ago