Daniel Oaks
b8d47c3e4f
channel: Server opers shouldn't override nooutside, reggedonly and moderated modes. if they want to do that sort of thing, they have SAMODE and all to be explicit about it
6 gadus atpakaļ
Daniel Oaks
e3a0387cf5
channel: Fix +m (moderated) and +R (registeredonly) channel modes, add note about opers overriding +m/+R
6 gadus atpakaļ
Daniel Oaks
275449e6cc
caps: Move most capability-handling types into the caps package
6 gadus atpakaļ
Daniel Oaks
9bfdc4fdfb
Move caps to their own package to prevent conflicts
6 gadus atpakaļ
Shivaram Lingamneni
e8b1870067
refactor the rehash implementation
6 gadus atpakaļ
Daniel Oaks
79de443496
channel: Don't send TOPIC on entirely new channel
6 gadus atpakaļ
Daniel Oaks
3b0d9c4db9
Send nick parameter correctly on ERR_NOSUCHNICK numerics
6 gadus atpakaļ
Shivaram Lingamneni
333afe1062
make default channel modes configurable
6 gadus atpakaļ
Daniel Oaks
c9ed749538
Rename deps
7 gadus atpakaļ
Daniel Oaks
9a94121281
JOIN: Fix a dumb bug. Really dumb bug.
7 gadus atpakaļ
Daniel Oaks
22216d4d60
Fix lots of nits
7 gadus atpakaļ
Daniel Oaks
0046025d60
Enable chanmode +r, fix bug with registering channels
7 gadus atpakaļ
Daniel Oaks
317a804644
Fix dates at top of source files
7 gadus atpakaļ
Daniel Oaks
013635a827
channel: Give founder mode if channel already exists and founder joins
7 gadus atpakaļ
Daniel Oaks
6aebd4aad9
channel: Add comments, fix a small bug with moderated mode
7 gadus atpakaļ
Daniel Oaks
300d02bd9c
channel: Kill a race condition that locked up the server.
Specifically, if you joined a channel while someone else was trying to part. the Join method would grab the lock, the Quit method would queue to grab the lock, the Join method would unlock and then try to regrab the lock, and it would get into a situation where nobody would have the lock and everyone would be waiting for it.
This caused weird oddities with clients.
7 gadus atpakaļ
Daniel Oaks
861b65eb39
channels: Automagically save channel bans/excepts/invites
7 gadus atpakaļ
Daniel Oaks
f5eeca5339
channel: Fix not being able to Part
7 gadus atpakaļ
Daniel Oaks
194411716d
channel: Automagically save topic updates on registered channels
7 gadus atpakaļ
Daniel Oaks
580385392a
channel: Alert of given modes (+o/+q) on join
7 gadus atpakaļ
Daniel Oaks
05074e966d
modes: Continue overhauling
7 gadus atpakaļ
Daniel Oaks
b33b217fab
Add very initial ChanServ and NickServ virtual clients
As well, add channel registration and re-applying founder privs on the first client joining the channel. I'm going to re-architect our modes system to better acocunt for this sort of change.
7 gadus atpakaļ
Daniel Oaks
439331cfb8
logger: Move to separate package, make *much* nicer
7 gadus atpakaļ
Daniel Oaks
b328a4fcd3
logging: Add userinput and output, fix up lots
7 gadus atpakaļ
Daniel Oaks
522001d4f6
Cleanup message sending
7 gadus atpakaļ
Daniel Oaks
e741c1476b
Implement message-ids draft
7 gadus atpakaļ
Daniel Oaks
62dc3c8f66
server: Implement TAGMSG draft command
7 gadus atpakaļ
Daniel Oaks
f6185fa336
Get it working, using not-great and very initial splitting code
7 gadus atpakaļ
Daniel Oaks
e9324c3250
modes: Fix some more mutexes
7 gadus atpakaļ
Daniel Oaks
c39bebc696
Fix various locks around joining, kicking and quitting
7 gadus atpakaļ
Daniel Oaks
6f7c683247
channel: RWMutex for members access
7 gadus atpakaļ
Daniel Oaks
8eb8193b18
JOIN: Only give chanop, not chan founder (will save that for regged chans)
7 gadus atpakaļ
Daniel Oaks
5eafd2656e
channel: Send channel NOTICEs properly
7 gadus atpakaļ
Daniel Oaks
a7949b6cb4
irc: Assorted golint cleanups
7 gadus atpakaļ
Daniel Oaks
517893065b
Support STATUSMSG
7 gadus atpakaļ
Daniel Oaks
d9db688963
Implement echo-message capability
7 gadus atpakaļ
Daniel Oaks
a8d910e233
capability: Add invite-notify
7 gadus atpakaļ
Daniel Oaks
2e3ffd2f23
caps: Add message-tags draft capability
7 gadus atpakaļ
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.
7 gadus atpakaļ
Daniel Oaks
5e72409695
Move from ascii(ish) unicode encoding to prelim rfc7700 using functions instead
7 gadus atpakaļ
Daniel Oaks
ae69ef5cd6
db: Remove SQLite db, hopefully looking up clients still works.Channel persistence is broken by this, will fix it later.
7 gadus atpakaļ
Daniel Oaks
0087de6092
client: Add AWAYLEN
7 gadus atpakaļ
Daniel Oaks
79d831bbb7
channel: Add KICKLEN and TOPICLEN
7 gadus atpakaļ
Daniel Oaks
754b74c21c
accounts: Add account-tag capability
7 gadus atpakaļ
Daniel Oaks
5269dc8776
accounts: Very roughly introduce account type
7 gadus atpakaļ
Daniel Oaks
6e66c5c8a7
channel: Prevent duping error code in channel.Persist -- from jlatt/ergonomadic#39 <3
8 gadus atpakaļ
Daniel Oaks
e33a810522
capability: Add extended-join and userhost-in-names
8 gadus atpakaļ
Daniel Oaks
bded3202c2
channels: send RPL_CHANNELCREATED and RPL_TOPICTIME
8 gadus atpakaļ
Daniel Oaks
e19c1527a4
modes: Fix modes, re-add channel modes
8 gadus atpakaļ
Daniel Oaks
9e7a590f23
server: Fix
8 gadus atpakaļ