Shivaram Lingamneni
34925ce4a7
fix #516
2019-05-23 21:21:36 -04:00
Shivaram Lingamneni
174115deb6
fix #455
2019-05-23 21:20:14 -04:00
Shivaram Lingamneni
4b88a60ba6
clean up some old getters
2019-05-22 19:07:12 -04:00
Shivaram Lingamneni
1de166bccb
eliminate client.Realname() getter
2019-05-22 16:10:56 -04:00
Shivaram Lingamneni
3d445573cf
implement draft/resume-0.4
2019-05-21 22:36:37 -04:00
Shivaram Lingamneni
0b55fed7c5
consolidate acceptClient into RunNewClient
2019-05-12 20:57:53 -04:00
Shivaram Lingamneni
80a594802f
remove more indirections
2019-05-12 20:57:53 -04:00
Shivaram Lingamneni
353aeb0389
normalize most times in the app to UTC
...
Fixes #480
2019-05-12 20:57:53 -04:00
Shivaram Lingamneni
5331afbdd4
Merge remote-tracking branch 'origin/master' into compat.4
2019-05-11 21:56:41 -04:00
Shivaram Lingamneni
c193def606
fix some issues found with staticcheck.io
2019-05-10 01:44:14 -04:00
Shivaram Lingamneni
ce6a3e42df
load isupport directly into the config object
...
eliminates Server.configurableStateMutex
2019-05-10 00:32:10 -04:00
Shivaram Lingamneni
61d666a25b
load motd directly into the config object
2019-05-10 00:13:48 -04:00
Shivaram Lingamneni
fbc6c84a01
add client compatibility switches
2019-05-09 15:41:08 -04:00
Shivaram Lingamneni
60c8f286e8
fix several session destruction bugs
2019-05-08 20:55:34 -04:00
Shivaram Lingamneni
da656c07c8
add NICKSERV SESSIONS command to list sessions
2019-05-08 18:18:05 -04:00
Shivaram Lingamneni
51465b4a3a
strip out the +a away mode
2019-04-28 15:12:48 -04:00
Daniel Oaks
22ed6bb1f1
Detect cap-notify clients better (as recommended by cap spec)
2019-04-28 01:50:43 +10:00
Daniel Oaks
cb1de17ffc
Omit SASL cap when auth is disabled
2019-04-28 01:39:02 +10:00
Shivaram Lingamneni
4af783ed9e
fix #449
2019-04-14 20:48:50 -04:00
Shivaram Lingamneni
c2faeed4b5
initial implementation of bouncer functionality
2019-04-14 20:48:50 -04:00
Daniel Oaks
8f47b3a6cf
Actually advertise the draft/acc capability lol
2019-04-08 10:42:17 +10:00
Daniel Oaks
4df71df454
Initial ACC update to match the new spec
2019-04-08 10:40:19 +10:00
Shivaram Lingamneni
63029e2ff5
refactor channel registration
2019-03-12 04:16:16 -04:00
Daniel Oaks
baa7e5af0b
Merge pull request #442 from slingamn/message_tags.5
...
upgrade message-tags to non-draft version
2019-03-12 08:47:08 +10:00
Shivaram Lingamneni
2e88f82e41
remove indirections in Fakelag and NickTimer
2019-03-08 05:36:54 -05:00
Shivaram Lingamneni
85493ef031
upgrade message-tags to non-draft version
2019-03-07 04:31:08 -05:00
Shivaram Lingamneni
5f26023d88
Merge remote-tracking branch 'origin/master' into tor.2
2019-02-26 14:46:15 -05:00
Shivaram Lingamneni
b0f89062fa
add support for tor ( #369 )
2019-02-25 22:09:09 -05:00
Shivaram Lingamneni
c6b9fe0218
fix #384
2019-02-19 03:12:47 -05:00
Daniel Oaks
53ed368701
Draft implementation of draft/setname
2019-02-13 23:22:16 +10: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
Shivaram Lingamneni
35abe7940a
RESUME should end cap negotiation without requiring CAP LS
2019-02-09 20:26:32 -05:00
Shivaram Lingamneni
7608e0c76c
fix #121
2019-02-05 20:17:55 -05: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
1c23af8767
add sasl-only config option
2019-02-05 00:51:58 -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
cbe0f79f73
unify "startup", "rehash", and "shutdown" log categories as "server"
2019-02-02 21:13:01 -05:00
Shivaram Lingamneni
6bdc6af186
refactor [dk]lines, implement #144
2019-01-22 17:18:38 -05:00
Daniel Oaks
63fde2d62a
Re-enable MaxLine
2019-01-12 22:17:51 +10:00
Daniel Oaks
ea970f94a0
Merge pull request #323 from slingamn/initdb.1
...
fix #322
2019-01-03 09:18:19 +10: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
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
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
ba2aacaf5b
fix #297
...
add validation for isupport tokens
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
2c7c8fbaf9
history replay enhancements
2018-12-28 13:45:55 -05:00
Shivaram Lingamneni
a0bf548fc5
draft/resume-0.2 implementation, message history support
2018-11-26 05:23:27 -05:00
Shivaram Lingamneni
c3d197f4ff
make unix domain socket permissions configurable
2018-08-28 19:28:49 -04:00
Shivaram Lingamneni
c72a84e49f
Merge pull request #284 from slingamn/passhashing.1
...
new password hashing technique
2018-08-27 23:55:54 -04:00
Shivaram Lingamneni
1fb9bd7208
Fix a bug in 330 RPL_WHOISACCOUNT
...
According to https://defs.ircdocs.horse/defs/numerics.html , 330 RPL_WHOISACCOUNT
takes 4 parameters: `<client> <nick> <authname> :<info>`. We were omitting
the second parameter (the target nick).
Also refactor locking.
2018-08-17 11:45:32 -04:00
Shivaram Lingamneni
cbc2b07d35
Merge remote-tracking branch 'origin/master' into passhashing.2
2018-08-15 13:02:05 -04:00
Shivaram Lingamneni
578ca2fdf6
add support for service command aliases
2018-08-06 10:08:58 -04:00
Shivaram Lingamneni
3c12fb6254
fix #283 (remove unnecessary log.Fatal)
...
The server should never crash during rehash, even if the config is invalid.
2018-08-06 10:08:58 -04:00
Shivaram Lingamneni
dfb0a57040
refactor the password hashing / password autoupgrade system
2018-08-06 02:26:21 -04:00
Shivaram Lingamneni
1383190249
refactor rehash to rely more on server.config
2018-07-16 03:46:40 -04:00
Shivaram Lingamneni
2a33c1483b
atomic bitset implementations of caps.Set and modes.ModeSet
2018-06-25 18:17:47 -04:00
Shivaram Lingamneni
31f386f5a9
add CHANSERV UNREGISTER
2018-06-04 05:02:22 -04:00
Daniel Oaks
45b8d9e6fa
Update snomask to work with HOPM
2018-05-29 03:21:48 +10:00
Daniel Oaks
de7b679fc5
Merge pull request #247 from slingamn/vhosts.3
...
initial vhosts implementation, #183
2018-05-19 08:51:16 +10:00
Shivaram Lingamneni
ebfef1e848
add Semaphore and ServerSemaphores
2018-04-26 06:03:10 -04:00
Shivaram Lingamneni
74fa58dda0
Merge remote-tracking branch 'origin/master' into vhosts.4
2018-04-23 21:46:12 -04:00
Shivaram Lingamneni
cc9941cb07
review fixes, bug fixes
2018-04-23 02:38:35 -04:00
Shivaram Lingamneni
fad2475c3f
modes refactor, #255
2018-04-22 19:36:15 -04:00
Daniel Oaks
4a17eadbce
Merge pull request #246 from slingamn/db_autoupgrade.1
...
implement database auto-upgrades (#243 )
2018-04-22 13:39:41 +10:00
moocow
744ad2ce0b
Stats for LUSERS logic now seperated, fixed params in LUSERS
2018-04-20 22:48:15 +02:00
Shivaram Lingamneni
5e62cc4ebc
initial vhosts implementation, #183
2018-04-19 03:00:56 -04:00
Daniel Oaks
40d6cd02da
Fix whois channel handling
2018-04-18 01:11:12 +10:00
Shivaram Lingamneni
69fd3ac324
implement database auto-upgrades ( #243 )
2018-04-16 16:35:01 -04:00
Daniel Oaks
9e8920394f
Only display modestring on connect if it's set
2018-04-09 16:37:06 +10:00
Daniel Oaks
ab6cd599b2
Fix name of ISUPPORT token (REGCOMMANDS -> ACCCOMMANDS)
2018-04-01 12:04:25 +10:00
Daniel Oaks
5cbd4d1de2
Force help entries for every ChanServ command as well
2018-04-01 11:54:49 +10:00
Daniel Oaks
7b8c4e7e91
Refactor nickserv.go to better support NS HELP and translations
2018-04-01 11:22:06 +10:00
Shivaram Lingamneni
7cfa75a59e
Merge pull request #218 from slingamn/socketwriter.1
...
refactor irc.Socket
2018-03-28 13:26:03 -04:00
Shivaram Lingamneni
65f2e95d2b
Merge pull request #222 from slingamn/fakelag.3
...
implement fakelag (#189 )
2018-03-28 13:25:49 -04:00
Shivaram Lingamneni
1bf5e2a7c8
implement fakelag ( #189 )
2018-03-22 11:04:21 -04:00
Shivaram Lingamneni
a8b952da77
store maxSendQBytes in a uint32 to avoid alignment problems
...
The sync.atomic documentation says:
"On both ARM and x86-32, it is the caller's responsibility to arrange
for 64-bit alignment of 64-bit words accessed atomically."
2018-03-19 00:24:20 -04:00
Shivaram Lingamneni
2885b37768
partial fix for #217
...
See discussion on issue; this might not be a complete fix but it's
definitely better than the current behavior.
2018-03-18 00:12:50 -04:00
Shivaram Lingamneni
d1f5c59eef
fix #190
2018-03-17 23:26:07 -04:00
Shivaram Lingamneni
211ed6af99
add an option to expose a pprof http endpoint
2018-03-13 16:55:30 -04:00
Shivaram Lingamneni
54123ef9a2
clear failed nick assignments to avoid confusion
2018-02-27 05:22:01 -05:00
Shivaram Lingamneni
be86684e96
implement #199
2018-02-26 22:48:52 -05:00
Daniel Oaks
04d7792ed2
Merge pull request #195 from slingamn/stopevent
...
clean up stopEvent (requires go v1.10)
2018-02-23 07:49:22 -08:00
Daniel Oaks
25f8b15232
Merge pull request #194 from slingamn/issue192.1
...
fix #192
2018-02-19 14:54:03 +10:00
Shivaram Lingamneni
02161184cf
clean up stopEvent (requires go v1.10)
2018-02-18 23:18:32 -05:00
Shivaram Lingamneni
5b636371a9
fix SASL enable-disable logic
2018-02-18 22:15:43 -05:00
Shivaram Lingamneni
ced3a17cd3
fix #192
2018-02-18 21:52:39 -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
e0fa97d344
Get labeled-reply working just fine
2018-02-06 00:21:08 +10:00
Daniel Oaks
3680a3fe9a
Merge
2018-02-04 21:32:48 +10:00
Daniel Oaks
2419f69879
Move all errors into errors.go
2018-02-03 22:03:36 +10:00
Daniel Oaks
2ecec25d28
Misc refactoring
2018-02-03 21:15:07 +10:00
Daniel Oaks
3634d0601e
Split modes into a subpackage (this is painful, but will force us to simplify and improve the API for interacting with modes)
2018-02-03 20:21:32 +10:00
Daniel Oaks
afd6ca610c
Split language into a subpackage
2018-02-03 19:46:14 +10:00
Daniel Oaks
1b14230758
...fix info string, how did that get messed up?
2018-02-03 19:30:23 +10:00