Daniel Oaks
ff50a25b65
Merge pull request #161 from slingamn/chanreg.3
...
remove registeredChannelsMutex
2017-11-13 12:46:23 +10:00
Shivaram Lingamneni
6d619bf411
fix channel mode change privilege enforcement
2017-11-08 23:37:38 -05:00
Shivaram Lingamneni
d4cb15354f
remove registeredChannelsMutex
...
This moves channel registration to an eventual consistency model,
where the in-memory datastructures (Channel and ChannelManager)
are the exclusive source of truth, and updates to them get persisted
asynchronously to the DB.
2017-11-08 22:24:33 -05:00
Shivaram Lingamneni
9b74c47b74
rename some getters
...
Rename getters in conformance with the "Effective Go" styleguide recommendation:
https://golang.org/doc/effective_go.html#Getters
2017-11-03 02:36:55 -04:00
Shivaram Lingamneni
71e82a9ccf
move a check, avoiding a crash
2017-10-23 18:01:28 -04:00
Shivaram Lingamneni
240f121e5e
bug fix: SAMODE should list other users' modes
2017-10-22 23:07:21 -04:00
Shivaram Lingamneni
fa83ccd82b
refactor synchronization for Channel
2017-10-22 19:50:16 -04:00
Daniel Oaks
e3a0387cf5
channel: Fix +m (moderated) and +R (registeredonly) channel modes, add note about opers overriding +m/+R
2017-10-01 15:14:32 +10:00
Daniel Oaks
2759d8f5d3
modes: Allow 'MODE b' (used by irssi for channel sync) (thanks @dx!)
2017-09-26 07:58:17 +10:00
Shivaram Lingamneni
333afe1062
make default channel modes configurable
2017-09-06 17:37:29 -04:00
Daniel Oaks
f9ef97b204
modes: Add experimental, untested +R user mode to block messages from unregistered users
2017-09-06 14:38:54 +10:00
Daniel Oaks
b633db3c9d
modes: Also allow Voice
2017-06-30 01:14:38 +10:00
Daniel Oaks
6ffc96d495
modes: Let users give other users privs in channels. Silly bug.
2017-06-30 00:59:51 +10:00
Daniel Oaks
1c0c4841a1
General comments, fix misspellings and lints
2017-06-19 14:53:16 -06:00
Daniel Oaks
c9ed749538
Rename deps
2017-06-15 10:14:19 -06:00
Daniel Oaks
a8fa131244
Move to new repo
2017-06-14 12:00:53 -06:00
Daniel Oaks
fd793d6adb
Add very initial snomasks
2017-05-08 09:15:16 +10:00
Daniel Oaks
9cfa92ede8
modes: Avoid unnecessarily sending unknown mode numerics
2017-04-17 23:05:24 +10:00
Daniel Oaks
0046025d60
Enable chanmode +r, fix bug with registering channels
2017-03-28 17:32:03 +10:00
Daniel Oaks
cec3416eae
modes: Kill a crash
2017-03-26 22:09:46 +10:00
Daniel Oaks
861b65eb39
channels: Automagically save channel bans/excepts/invites
2017-03-26 20:37:13 +10:00
Daniel Oaks
05074e966d
modes: Continue overhauling
2017-03-24 12:23:21 +10:00
Daniel Oaks
657ed644cb
modes: Start overhauling modes
2017-03-13 08:08:18 +10:00
Daniel Oaks
9e65d9b87e
Add SAMODE command, restricted by oper capab
2017-01-23 09:36:13 +10:00
Daniel Oaks
e9324c3250
modes: Fix some more mutexes
2017-01-11 12:26:58 +10:00
Daniel Oaks
6f7c683247
channel: RWMutex for members access
2017-01-11 02:09:08 +10:00
Daniel Oaks
9314edd405
modes: Convey cmode changes to other channel members...
2016-11-29 19:16:01 +10:00
Daniel Oaks
c3174bb648
Various crash fixes, and little cleanups for safety
2016-11-04 21:38:47 +10:00
Daniel Oaks
9fea9cf658
modes: Restrict changing modes correctly
2016-11-03 16:59:57 +10:00
Daniel Oaks
07e4728c15
roleplay: Initial commit
2016-11-01 23:56:25 +10:00
Daniel Oaks
78028135eb
modes: Limit length of beI mode lists
2016-10-24 00:50:18 +10:00
Daniel Oaks
c599c8f599
modes: Fix error with cmodes being sent badly
2016-10-23 00:49:33 +10:00
Daniel Oaks
517893065b
Support STATUSMSG
2016-10-23 00:45:51 +10:00
Daniel Oaks
425a521d27
channel: Fix MODE and WHO
2016-10-16 21:28:59 +10:00
Daniel Oaks
06028e0117
modes: Remove channel.Persist mode
...
It's broken anyways, and we'll be replacing it with our custom channel ownership stuff later.
2016-10-14 21:04:04 +10:00
Daniel Oaks
da6f350563
modes: Remove ReOp channel mode (unused)
2016-10-14 20:55:26 +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
c9a82e3f6f
modes: Return right character on unknown mode char
2016-09-14 20:42:55 +10:00
Daniel Oaks
ad8df3c9a8
modes: Fix modes, re-add +l and +k
2016-09-14 19:48:47 +10:00
Daniel Oaks
266c534af9
theater: Remove THEATER command for now
2016-09-12 12:31:25 +10:00
Daniel Oaks
b820559050
modes: Add TLS umode (+Z)
2016-06-29 01:09:07 +10:00
Daniel Oaks
670cf51452
modes: Migrating useful mode structs and functions directly to modes
2016-06-28 16:22:35 +10:00
Daniel Oaks
bded3202c2
channels: send RPL_CHANNELCREATED and RPL_TOPICTIME
2016-06-26 21:06:28 +10:00
Daniel Oaks
e19c1527a4
modes: Fix modes, re-add channel modes
2016-06-22 21:35:26 +10:00
Daniel Oaks
04442ddef1
Stuff is no longer completely broken. Just mostly.
2016-06-20 22:53:45 +10:00
Daniel Oaks
9e7a590f23
server: Fix
2016-06-19 21:59:18 +10:00
Daniel Oaks
e83283e7fd
urgh this should not even be commited yet, this will all be squashed out
2016-06-17 22:17:42 +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
Daniel Oaks
cd7d30a997
Set default channel modes to +nt
2016-04-21 19:29:50 +10:00
Daniel Oaks
8b79662f1a
modes: use secret instead of private, it's the standard these days. fix secret channel hiding in whois
2016-04-14 22:33:38 +10:00
Daniel Oaks
a715882a75
Remove RplCurrentMode NOTICE on successful MODE commands. Fixes #22
2016-04-14 21:53:45 +10:00
Daniel Oaks
3972fc49ed
privileges: Add founder/admin/halfop (qah), remove owner (O)
...
channel owner is from 2812 and unused in the real world
2016-04-14 09:36:02 +10:00
Edmund Huber
e1c235a9ea
fix up MODE behavior to allow /mode <not-your-nick> and show per-channel modes, fixes #29
2014-03-29 19:36:42 +01:00
Edmund Huber
6267b6a40c
clean up /theater so that it doesn't need a bunch of pointers and that it reuses channel-scoped-user-modes machinery
2014-03-22 22:25:24 +01:00
Edmund Huber
d5bdc78d55
adding theater-mode, fixes #15
2014-03-20 05:05:18 +01:00
Jeremy Latt
d85e6681d9
move modes code to its own file; fix SQL (un)marshalling
2014-03-13 13:22:38 -07:00