Shivaram Lingamneni
db39608bcb
change "last signoff" tracking to "last seen"
...
Explicit quit and ping timeout behave the same way,
but reattach after abandoning/losing the previous session
(without the break being detected server-side) is more aggressive
about replaying missed messages, at the cost of potential duplication.
2020-02-27 02:17:58 -05:00
Shivaram Lingamneni
f5ca35ed72
rename 'bouncer' to 'multiclient'
2020-02-21 00:33:55 -05:00
Shivaram Lingamneni
8123e3c08f
improve nick and channel length validation
2020-02-21 00:33:37 -05:00
Shivaram Lingamneni
33dac4c0ba
initial persistent history implementation
2020-02-19 00:24:12 -05:00
Shivaram Lingamneni
82c5041225
fix #649
2019-10-16 18:10:32 -04:00
Shivaram Lingamneni
332f0d8d91
fix #644
2019-10-16 12:51:40 -04:00
Shivaram Lingamneni
06b1e7b603
fix #632
2019-09-24 21:47:37 -04:00
Shivaram Lingamneni
938ce7e435
fix #331
2019-07-14 16:17:37 -04:00
Shivaram Lingamneni
8794740f89
be more pedantic about distinguishing skeletons and casefolds
2019-05-24 13:09:56 -04:00
Shivaram Lingamneni
3d445573cf
implement draft/resume-0.4
2019-05-21 22:36:37 -04:00
Shivaram Lingamneni
8fc588375b
implement user preferences system
2019-05-19 06:17:30 -04:00
Shivaram Lingamneni
278e4acf57
fix handling of nil session in reattach code
2019-05-09 05:03:21 -04:00
Shivaram Lingamneni
60c8f286e8
fix several session destruction bugs
2019-05-08 20:55:34 -04:00
Daniel Oaks
267c51bbbf
Review fix
2019-04-28 15:57:42 +10:00
Daniel Oaks
22ed6bb1f1
Detect cap-notify clients better (as recommended by cap spec)
2019-04-28 01:50:43 +10:00
Shivaram Lingamneni
fe6a520fa4
temporarily assign the client a nick during reattach
...
(So that the registration burst displays correctly)
2019-04-14 22:05:53 -04:00
Shivaram Lingamneni
c2faeed4b5
initial implementation of bouncer functionality
2019-04-14 20:48:50 -04:00
Shivaram Lingamneni
63029e2ff5
refactor channel registration
2019-03-12 04:16:16 -04:00
Shivaram Lingamneni
b9b2553a2f
use the TR39 skeleton algorithm to prevent confusables ( #178 )
2019-01-30 21:48:53 -05:00
Shivaram Lingamneni
efc0ce3b81
fix an edge case in configurable nickname reservation
2019-01-03 23:05:47 -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
c2b2559ab4
avoid some uses of Sprintf for loglines
2019-01-02 09:55:45 -05:00
Shivaram Lingamneni
c95ed46949
add whois support for services
2018-12-30 18:17:24 -05:00
Shivaram Lingamneni
a0bf548fc5
draft/resume-0.2 implementation, message history support
2018-11-26 05:23:27 -05:00
Shivaram Lingamneni
988cb22692
changes to nick reservation
...
* Clients are now renamed, not disconnected, on reservation timeout
* Nick reservation config is now its own subsection
2018-02-18 04:46:14 -05:00
Shivaram Lingamneni
ad73d68807
refactor account registration, add nick enforcement
2018-02-11 05:30:40 -05:00
Daniel Oaks
2419f69879
Move all errors into errors.go
2018-02-03 22:03:36 +10:00
Shivaram Lingamneni
d5a5f939dd
review fixes
2017-11-22 16:35:57 -05:00
Shivaram Lingamneni
52b0fb71e7
refactor ClientManager
2017-11-22 05:09:38 -05:00
Shivaram Lingamneni
b83d454554
fix ban regexp not being recompiled on removal
2017-11-13 18:25:51 -05:00
Shivaram Lingamneni
fa83ccd82b
refactor synchronization for Channel
2017-10-22 19:50:16 -04:00
Daniel Oaks
eac6a69782
Fix some notes and add some comments.
2017-10-05 23:29:34 +10:00
Daniel Oaks
275449e6cc
caps: Move most capability-handling types into the caps package
2017-09-29 17:25:58 +10:00
Daniel Oaks
9bfdc4fdfb
Move caps to their own package to prevent conflicts
2017-09-29 12:07:52 +10:00
Daniel Oaks
c9ed749538
Rename deps
2017-06-15 10:14:19 -06:00
Daniel Oaks
317a804644
Fix dates at top of source files
2017-03-27 22:15:02 +10:00
Daniel Oaks
1798572015
Add comments
2017-03-25 09:19:13 +10:00
Daniel Oaks
2b240faa90
strings: Fix nick bugs, use UsernameCaseMapped
2017-01-14 02:32:15 +10:00
Daniel Oaks
efb3000717
client_lookup_set: Use RWMutex
2017-01-11 01:06:02 +10:00
Daniel Oaks
a8eabe8e9c
client: Fix a lot of bugs around setting NICK
2016-11-29 22:33:10 +10:00
Daniel Oaks
9a9820fa88
NICK: Prevent races, remove a DoS
2016-11-16 12:02:22 +10:00
Daniel Oaks
95e36b99a2
Nick locking (entirely broken, needs to be completely redesigned)
2016-11-16 03:05:33 +10:00
Daniel Oaks
ee3853f845
restapi: Initial commit
2016-11-06 12:49:39 +10:00
Daniel Oaks
b84dbb1a06
Support cap-notify and enabling/disabling SASL
2016-10-22 22:18:41 +10:00
Daniel Oaks
d96ca0ba25
client_lookup_set: Expose ByNick so we can loop over all clients
2016-10-19 21:35:51 +10:00
Daniel Oaks
1bab81091f
Add MONITOR command
2016-10-16 20:14:56 +10:00
Daniel Oaks
5e72409695
Move from ascii(ish) unicode encoding to prelim rfc7700 using functions instead
2016-10-11 23:51:46 +10:00
Daniel Oaks
ae69ef5cd6
db: Remove SQLite db, hopefully looking up clients still works.Channel persistence is broken by this, will fix it later.
2016-09-17 21:23:04 +10:00
Daniel Oaks
2f08401a0f
Attempt to add mostly-correct license info at the top of each file... track this stuff a bit better
2016-06-15 21:50:56 +10:00