Shivaram Lingamneni
519d19c364
fix #364
2019-02-13 16:48:26 -05:00
Daniel Oaks
a273ef624c
Merge pull request #377 from slingamn/kickfail
...
fix another three bugs that were reported today
2019-02-14 07:23:56 +10:00
Shivaram Lingamneni
c019fa3ab2
fix #375
2019-02-13 15:48:15 -05:00
Shivaram Lingamneni
e2e07c0eee
fix #374
2019-02-13 15:09:23 -05:00
Shivaram Lingamneni
b7ec121c19
fix some KICK issues
...
reported by bogdomania
1. KICK without privileges incorrectly returned ERR_CANNOTSENDTOCHAN
2. Halfops should be able to kick voice and unprivileged, but not other halfops
2019-02-13 14:38:10 -05:00
Shivaram Lingamneni
4c7a5585db
fix #371
2019-02-13 13:22:00 -05:00
Daniel Oaks
78a0b322f7
Make it act as intended
2019-02-13 23:42:03 +10:00
Daniel Oaks
53ed368701
Draft implementation of draft/setname
2019-02-13 23:22:16 +10:00
Shivaram Lingamneni
7786043275
make the land-grab check case-insensitive
2019-02-13 03:19:47 -05:00
Shivaram Lingamneni
6d690b0e36
add loglines for account registration, login, and unregistration
2019-02-13 02:54:27 -05:00
Shivaram Lingamneni
f40c363170
compatibility mode for NS IDENTIFY
...
Standard nickserv clients like znc's expect (by default) to send just:
PRIVMSG NickServ :identify $passphrase
with the account name assumed to be the currently held nick.
Let's support this in the common case where the client doesn't have a certfp
(if it does, the first argument is the account name, not the passphrase).
2019-02-13 02:54:27 -05:00
Shivaram Lingamneni
5beb0764f2
review fix
2019-02-12 12:53:58 -05:00
Shivaram Lingamneni
e4c9351254
fix: set the existing channels unregistered
2019-02-12 02:09:31 -05:00
Shivaram Lingamneni
afe94d43c3
update resume support to draft/resume-0.3
2019-02-12 01:03:19 -05:00
Daniel Oaks
3220242fae
Merge pull request #358 from slingamn/resumefix.3
...
RESUME should end cap negotiation without requiring CAP LS
2019-02-10 20:59:23 +10:00
Daniel Oaks
6ca2cb26d7
Merge pull request #351 from slingamn/changelog.2
...
changelog and manual updates, plus some last-minute fixes
2019-02-10 20:45:45 +10:00
Shivaram Lingamneni
46083f5739
fix typo in CHATHISTORY help url
...
reported by bogdomania
2019-02-10 02:09:48 -05:00
Shivaram Lingamneni
35abe7940a
RESUME should end cap negotiation without requiring CAP LS
2019-02-09 20:26:32 -05:00
Shivaram Lingamneni
370255bec1
review fixes
2019-02-06 15:47:20 -05:00
Daniel Oaks
fef58bb935
Merge pull request #354 from slingamn/issue353
...
don't send the client its own on-join MODE line
2019-02-07 06:37:10 +10:00
Shivaram Lingamneni
2910eda737
fix a nit
2019-02-06 14:28:17 -05:00
Chris Smith
34a9a37b82
Fix usernames being used in place of hostnames.
...
Closes #355
2019-02-06 19:14:32 +00:00
Shivaram Lingamneni
20b8ba8cae
don't send the client its own on-join MODE line
...
Fixes #353 .
2019-02-06 13:50:45 -05:00
Shivaram Lingamneni
eff2571096
limit the number of channels a client can join
2019-02-06 04:55:05 -05:00
Shivaram Lingamneni
ff7bbc4a9c
track channel registrations per account
...
* limit the total number of registrations per account
* when an account is unregistered, unregister all its channels
2019-02-06 04:34:45 -05:00
Shivaram Lingamneni
73f36fba08
NS REGISTER needs a login throttle check as well
2019-02-05 20:23:32 -05:00
Shivaram Lingamneni
775ead700f
prevent nick reservation land-grabs
2019-02-05 20:18:40 -05:00
Shivaram Lingamneni
7608e0c76c
fix #121
2019-02-05 20:17:55 -05:00
Daniel Oaks
457b7eaf11
Review fixes
2019-02-06 08:45:09 +10:00
Daniel Oaks
8ecf96d447
Set uninteresting username if user's using a special nick
2019-02-06 08:33:15 +10:00
Daniel Oaks
71a33890b8
Merge pull request #344 from slingamn/history.4
...
add CHATHISTORY and HISTORY implementations
2019-02-05 22:16:45 +10:00
Shivaram Lingamneni
a9f9f725b1
review fixes
2019-02-05 04:29:32 -05:00
Shivaram Lingamneni
928caba922
Merge pull request #345 from slingamn/saslonly.3
...
add sasl-only config option
2019-02-05 04:10:35 -05:00
Shivaram Lingamneni
36612f6e2d
review fixes
2019-02-05 03:05:05 -05:00
Shivaram Lingamneni
bf1d758de9
simplify username logic
2019-02-05 02:42:13 -05:00
Shivaram Lingamneni
e094c2a9c5
add tests for masking in limiter/throttler
2019-02-05 02:25:16 -05:00
Shivaram Lingamneni
eb8f0e50df
fix masking bug
...
IP.Mask() returns a new IP value, rather than modifying its target in place
2019-02-05 02:25:16 -05:00
Shivaram Lingamneni
1c23af8767
add sasl-only config option
2019-02-05 00:51:58 -05:00
Shivaram Lingamneni
463de94610
allow history queries against PRIVMSG of other clients, if the accounts match
2019-02-04 12:46:04 -05:00
Shivaram Lingamneni
51fcedc5a1
review fix
2019-02-04 12:16:28 -05:00
Shivaram Lingamneni
f6b3008f8f
add CHATHISTORY and HISTORY implementations
2019-02-04 05:33:36 -05:00
Shivaram Lingamneni
057d00b2c8
Merge pull request #341 from oragono/restrict-usernames
...
Restrict idents as other servers do
2019-02-03 15:24:08 -05:00
Daniel Oaks
2ce203a6d8
Setup v0.13.0-unreleased devel ver (I forgot to do this~)
2019-02-04 06:18:40 +10:00
Daniel Oaks
e8309aee79
Avoiding a crash when getting a short ident is a good thing
2019-02-04 05:02:13 +10:00
Daniel Oaks
151002e232
Up identlen default to 20
2019-02-04 05:01:46 +10:00
Daniel Oaks
7eef390756
Handle translations a little better
2019-02-04 03:54:10 +10:00
Daniel Oaks
46f8ef9ed3
Be less strict with our language file loading, and handle multiple credits better
2019-02-03 20:21:07 +10:00
Daniel Oaks
cfbb4361dc
Restrict ident length similar to other servers
2019-02-03 19:24:59 +10:00
Daniel Oaks
8cd5db1194
Restrict idents as other servers do
2019-02-03 18:49:42 +10:00
Shivaram Lingamneni
c34d9e0b72
more lenient casefolding for skeletons
2019-02-03 02:45:02 -05:00
Daniel Oaks
e7399ba2b5
Merge pull request #339 from slingamn/startuplog
...
rename the "startup", "rehash", and "shutdown" log types to "server"
2019-02-03 12:37:24 +10:00
Daniel Oaks
1f33ad290c
Merge pull request #334 from slingamn/confusables.4
...
implement confusables prevention (#178 )
2019-02-03 12:33:44 +10:00
Shivaram Lingamneni
cbe0f79f73
unify "startup", "rehash", and "shutdown" log categories as "server"
2019-02-02 21:13:01 -05:00
Shivaram Lingamneni
f48af3ee44
correctly support disabling caps with CAP REQ, fixes #337
2019-02-02 20:22:07 -05:00
Shivaram Lingamneni
35948d2e5b
refactor some conditions for clarity
2019-01-31 17:34:06 -05:00
Shivaram Lingamneni
18c0c9da45
use our fork of mtibben/confusables for now
2019-01-30 22:02:14 -05:00
Shivaram Lingamneni
b9b2553a2f
use the TR39 skeleton algorithm to prevent confusables ( #178 )
2019-01-30 21:48:53 -05:00
Shivaram Lingamneni
8438afcc5c
fix: usernames from ident don't get a ~
2019-01-28 23:35:00 -05:00
Shivaram Lingamneni
4bbba5b478
fix the issue for AllNickmasks as well
2019-01-28 23:12:25 -05:00
Shivaram Lingamneni
a2a9788f39
fix spurious bidi violations when casefolding the nickmask of an RTL nick
2019-01-28 18:15:35 -05:00
Shivaram Lingamneni
96737ea6d7
fix a memory leak
...
Even after the timer fired, we were retaining a pointer to it;
clean those up too along with the other cleanup tasks.
2019-01-23 02:06:00 -05:00
Shivaram Lingamneni
854d85a474
add schema change for [dk]line refactor
2019-01-22 17:18:38 -05:00
Shivaram Lingamneni
6bdc6af186
refactor [dk]lines, implement #144
2019-01-22 17:18:38 -05:00
Shivaram Lingamneni
f154ea9583
add an error message for schema changes
2019-01-22 01:25:32 -05:00
Daniel Oaks
85276c5e6d
Merge branch 'master' of github.com:oragono/oragono
2019-01-12 22:18:08 +10:00
Daniel Oaks
63fde2d62a
Re-enable MaxLine
2019-01-12 22:17:51 +10:00
Shivaram Lingamneni
0475fe882c
fix ns register validation bug
2019-01-09 15:03:44 -05:00
Shivaram Lingamneni
d6494957a4
forbid logging in twice via nickserv
2019-01-05 20:59:42 -05:00
Shivaram Lingamneni
598d9a025b
review fix: add maxParams for service commands
2019-01-04 11:45:59 -05:00
Shivaram Lingamneni
4caa362f18
fix histserv nick reservation
2019-01-04 10:32:08 -05:00
Shivaram Lingamneni
a52d167278
additional defensive check in EnforcementStatus
2019-01-03 23:44:01 -05:00
Shivaram Lingamneni
efc0ce3b81
fix an edge case in configurable nickname reservation
2019-01-03 23:05:47 -05:00
Shivaram Lingamneni
b80df0885f
refactor services code
2019-01-03 22:34:11 -05:00
Daniel Oaks
ea970f94a0
Merge pull request #323 from slingamn/initdb.1
...
fix #322
2019-01-03 09:18:19 +10:00
Shivaram Lingamneni
501bb1e5c5
replay JOIN/PART/QUIT/KICK as PRIVMSG from HistServ
...
see https://github.com/ircv3/ircv3-specifications/issues/293
2019-01-02 17:58:04 -05:00
Shivaram Lingamneni
f20abf414f
don't log an error logline for an incorrect SASL password
2019-01-02 10:29:42 -05:00
Shivaram Lingamneni
2ee89b15b3
per-user settings for nickname enforcement
2019-01-02 10:15:59 -05:00
Shivaram Lingamneni
d0ded906d4
fix a fairly bad bug where nicks could get out of sync
...
during nick change, removeInternal(client) was being called even before checking
whether the new nick was in use or reserved. Reproduction steps:
1. Log in a client 'alice'
2. Log in a client 'bob'
3. bob issues /nick alice, which fails (correctly) with:
:oragono.test 433 bob alice :Nickname is already in use
4. alice issues /msg bob hi, which fails (incorrectly) with:
:oragono.test 401 alice bob :No such nick
2019-01-02 10:15:59 -05:00
Shivaram Lingamneni
9a2117f75d
preregNick doesn't need synchronization
...
(since it's only accessed from the client's own goroutine)
2019-01-02 10:15:59 -05:00
Shivaram Lingamneni
f94f737b31
add support for login throttling
2019-01-02 10:15:59 -05:00
Shivaram Lingamneni
3cd3601a30
refactor join/part
2019-01-02 09:55:45 -05:00
Shivaram Lingamneni
960d51159c
add ClientDetails struct for getting a snapshot of client state
2019-01-02 09:55:45 -05:00
Shivaram Lingamneni
c2b2559ab4
avoid some uses of Sprintf for loglines
2019-01-02 09:55:45 -05:00
Shivaram Lingamneni
ec4f1c189a
pointless optimizations to the logger
2019-01-01 16:43:35 -05:00
Shivaram Lingamneni
6402a69fb9
use the rehash log category consistently
2018-12-31 01:44:31 -05:00
Shivaram Lingamneni
d6d3a10817
implement #322
...
Automatically create the datastore on `oragono run` if it doesn't exist.
See also #302 .
2018-12-31 01:44:31 -05:00
Shivaram Lingamneni
7c36ec3f9d
allow auto-ops (halfop and higher) to bypass channel join restrictions
2018-12-30 18:28:56 -05:00
Shivaram Lingamneni
a4b3fb0e83
changes to client idle time counting
...
1. Remove leaveClientIdle (unused)
2. s/leaveClientActive/leaveClientIdle/
3. make ISON a leaveClientIdle command (some clients send it periodically
if a /msg window is left open)
2018-12-30 18:17:24 -05:00
Shivaram Lingamneni
ba2aacaf5b
fix #297
...
add validation for isupport tokens
2018-12-30 18:17:24 -05:00
Shivaram Lingamneni
b34bab16a7
ensure that identical PRIVMSG share a time tag
2018-12-30 18:17:24 -05:00
Shivaram Lingamneni
d5eade5494
force trailing zeroes in timestamp wire format
...
According to jwheare, ISO 8601 doesn't specify the behavior one way
or the other, and the server-time spec is also ambiguous, but this
is safest.
2018-12-30 18:17:24 -05:00
Shivaram Lingamneni
ac480d782f
add millisecond resolution to loglines
2018-12-30 18:17:24 -05:00
Shivaram Lingamneni
f35a1c7212
use GenerateSecretToken for msgids
2018-12-30 18:17:24 -05:00
Shivaram Lingamneni
c95ed46949
add whois support for services
2018-12-30 18:17:24 -05:00
Daniel Oaks
cd339281e4
Merge pull request #320 from slingamn/replay.1
...
history replay enhancements
2018-12-29 10:15:02 +10:00
Shivaram Lingamneni
2c7c8fbaf9
history replay enhancements
2018-12-28 13:45:55 -05:00
Shivaram Lingamneni
525b2c52b1
fix hostserv help string
2018-12-28 11:07:08 -05:00
Shivaram Lingamneni
f58c873f84
fix RPL_INVITING response to match modern ircdocs
2018-12-23 13:49:03 -05:00
Shivaram Lingamneni
b6b4d365bc
fix #313
2018-12-23 13:30:25 -05:00
Daniel Oaks
f912f64f21
Merge pull request #304 from slingamn/history.1
...
draft/resume-0.2 implementation, message history support
2018-12-15 04:37:16 +10:00