Shivaram Lingamneni
4bffdba610
SAMODE +f shouldn't require channel privileges
Reported by @Mikaela ; normally this requires +o or higher on the
channel that is the target of the forward, but SAMODE should bypass
this check.
2 лет назад
Shivaram Lingamneni
abfb8442ab
fix handling of +k with an empty key parameter
This should be disallowed; `MODE #keytest +k :` should just be an error.
3 лет назад
Valentin Lorentz
e894c44960
Add missing channel parameter to ERR_INVALIDMODEPARAM.
3 лет назад
Kyle Fuller
9adc77498e
Include nick in ERR_LISTMODEALREADYSET and ERR_LISTMODENOTSET
3 лет назад
Shivaram Lingamneni
23c7218bf1
first pass at renaming Oragono to Ergo
3 лет назад
Shivaram Lingamneni
eb2dfa78c9
fix #1617
Prevent LUSERS stats from getting out of sync when modes are
modified on offline clients.
3 лет назад
Shivaram Lingamneni
fed002d11a
fix #1618
Allow snomasks to be added via oper config block, even if the oper
doesn't have `ban` or `snomasks` and therefore can't add snomasks
on their own.
3 лет назад
Shivaram Lingamneni
16f0170512
fix #1563
ERR_INVALIDMODEPARAM should take both the mode and the invalid parameter
as arguments.
3 лет назад
Shivaram Lingamneni
91cfdb963d
fix #1074
Make snomask add/remove behavior match other ircds
3 лет назад
Shivaram Lingamneni
42316bc04f
fix #1176
Transition most "is an operator" checks to require a specific operator
capability
3 лет назад
Shivaram Lingamneni
ba72d3acfc
implement a channel forwarding mode
Fixes #1260
3 лет назад
Shivaram Lingamneni
c279b2d14c
DRY mode apply code
ParseUserModeChanges and ParseChannelModeChanges already validate
that the modes are modifiable, so there's no need to repeat it here.
3 лет назад
Alex Jaspersen
504659abb5
Add +M (only registered/voice can speak) chanmode.
Add chanmode preventing speech to error message.
Fixes #1182 .
3 лет назад
Conrad Lukawski
fca2900918
Add +T no-CTCP usermode
4 лет назад
Alex Jaspersen
0241e0c31d
Apply default user modes just before registration.
Previously, we were applying defaults before the user had completed
registration. This meant that the number of invisible users was
incremented when the user connected, and then the total was incremented
when registration was completed.
Now both counters are updated at the same time. If a user disconnects
prior to registration, +i has not yet been applied so it would not be
decremented.
4 лет назад
Shivaram Lingamneni
4d50607c79
add persistence for user modes
4 лет назад
Shivaram Lingamneni
2f9234318c
fix #1021
4 лет назад
Alex Jaspersen
d5cec62df3
Call ApplyUserModeChanges for default user modes.
This ensures that counts like the number of invisible users are updated
correctly.
4 лет назад
Alex Jaspersen
b3a7e5c996
Set default user modes when always-on clients reconnect.
Add default-user-modes configuration to conventional.yaml.
Fix comment on DefaultUserModes.
4 лет назад
Alex Jaspersen
df9bf15f00
Add support for setting user modes by default.
4 лет назад
Shivaram Lingamneni
f5fe580d22
partial implementation of #729
This propagates CS AMODE changes to the actual modes, but not the other
way around.
Also fixes #909 .
4 лет назад
Shivaram Lingamneni
d98e3581b3
disallow /SAMODE nick +o
4 лет назад
Shivaram Lingamneni
438fffab99
fix #725
4 лет назад
Shivaram Lingamneni
166dc60729
fix #753
Also add +C no-ctcp mode, since it's not conflicted
4 лет назад
Shivaram Lingamneni
bd822853bc
fix some translation warnings
4 лет назад
Shivaram Lingamneni
07865b8f63
chanserv enhancements and miscellaneous fixes
* Fix #684
* Fix #683
* Add `CHANSERV CLEAR`
* Allow mode changes from channel founders even when they aren't joined
* Operators with the chanreg capability are exempt from max-channels-per-account
* Small fixes and cleanup
4 лет назад
Shivaram Lingamneni
82c5041225
fix #649
4 лет назад
Shivaram Lingamneni
332f0d8d91
fix #644
4 лет назад
Shivaram Lingamneni
0835ad6af5
fix #514
Also ensure that people can remove their own persistent modes via CS AMODE
5 лет назад
Shivaram Lingamneni
4b88a60ba6
clean up some old getters
5 лет назад
Shivaram Lingamneni
30f6e11698
fix #400
Also fix some issues with STATUSMSG
5 лет назад
Shivaram Lingamneni
a729772f0c
fix a deadlock in CS AMODE
5 лет назад
Shivaram Lingamneni
18a8b075ea
fix #425 and #395
5 лет назад
Shivaram Lingamneni
63029e2ff5
refactor channel registration
5 лет назад
Shivaram Lingamneni
e2e07c0eee
fix #374
5 лет назад
Shivaram Lingamneni
2c7c8fbaf9
history replay enhancements
5 лет назад
Shivaram Lingamneni
ac08ce0f20
move ChannelOperator check into hasPrivs helper
6 лет назад
Shivaram Lingamneni
1383190249
refactor rehash to rely more on server.config
6 лет назад
Shivaram Lingamneni
02a4aaf583
some tweaks to account/channel unregistration
6 лет назад
Shivaram Lingamneni
d3815fbe61
review fixes and updates
6 лет назад
Shivaram Lingamneni
abbbd2c899
review fix
6 лет назад
Shivaram Lingamneni
fad2475c3f
modes refactor, #255
6 лет назад
moocow
744ad2ce0b
Stats for LUSERS logic now seperated, fixed params in LUSERS
6 лет назад
Daniel Oaks
5811226760
Only allow valid snomasks to be set
6 лет назад
Daniel Oaks
e0fa97d344
Get labeled-reply working just fine
6 лет назад
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)
6 лет назад
Daniel Oaks
47d2ce351c
Centralise all command handlers in handlers.go
6 лет назад
Daniel Oaks
8bc2c0ee67
temp *badbadbad*
6 лет назад
Daniel Oaks
16a55cbba8
Add labeled-responses for MODE
6 лет назад
Daniel Oaks
275227a461
Make like every client-facing string translatable
6 лет назад