3
0
mirror of https://github.com/ergochat/ergo.git synced 2024-11-10 22:19:31 +01:00
Commit Graph

134 Commits

Author SHA1 Message Date
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 2017-10-01 15:18:52 +10: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
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
Shivaram Lingamneni
e8b1870067 refactor the rehash implementation 2017-09-28 02:13:24 -04:00
Daniel Oaks
79de443496 channel: Don't send TOPIC on entirely new channel 2017-09-26 08:01:10 +10:00
Daniel Oaks
3b0d9c4db9 Send nick parameter correctly on ERR_NOSUCHNICK numerics 2017-09-26 07:52:43 +10:00
Shivaram Lingamneni
333afe1062 make default channel modes configurable 2017-09-06 17:37:29 -04:00
Daniel Oaks
c9ed749538 Rename deps 2017-06-15 10:14:19 -06:00
Daniel Oaks
9a94121281 JOIN: Fix a dumb bug. Really dumb bug. 2017-04-17 20:28:01 +10:00
Daniel Oaks
22216d4d60 Fix lots of nits 2017-04-16 11:31:33 +10:00
Daniel Oaks
0046025d60 Enable chanmode +r, fix bug with registering channels 2017-03-28 17:32:03 +10:00
Daniel Oaks
317a804644 Fix dates at top of source files 2017-03-27 22:15:02 +10:00
Daniel Oaks
013635a827 channel: Give founder mode if channel already exists and founder joins 2017-03-27 14:52:34 +10:00
Daniel Oaks
6aebd4aad9 channel: Add comments, fix a small bug with moderated mode 2017-03-27 14:29:51 +10:00
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.
2017-03-26 22:11:09 +10:00
Daniel Oaks
861b65eb39 channels: Automagically save channel bans/excepts/invites 2017-03-26 20:37:13 +10:00
Daniel Oaks
e34475d536 Merge branch 'master' into devel+chanserv 2017-03-24 21:25:37 +10:00
Daniel Oaks
f5eeca5339 channel: Fix not being able to Part 2017-03-24 21:24:51 +10:00
Daniel Oaks
194411716d channel: Automagically save topic updates on registered channels 2017-03-24 13:49:29 +10:00
Daniel Oaks
580385392a channel: Alert of given modes (+o/+q) on join 2017-03-24 12:38:07 +10:00
Daniel Oaks
05074e966d modes: Continue overhauling 2017-03-24 12:23:21 +10:00
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.
2017-03-11 22:01:40 +10:00
Daniel Oaks
439331cfb8 logger: Move to separate package, make *much* nicer 2017-03-10 22:02:08 +10:00
Daniel Oaks
b328a4fcd3 logging: Add userinput and output, fix up lots 2017-03-06 22:11:10 +10:00
Daniel Oaks
522001d4f6 Cleanup message sending 2017-01-18 07:27:06 +10:00
Daniel Oaks
e741c1476b Implement message-ids draft 2017-01-18 07:26:41 +10:00
Daniel Oaks
62dc3c8f66 server: Implement TAGMSG draft command 2017-01-18 07:26:05 +10:00
Daniel Oaks
f6185fa336 Get it working, using not-great and very initial splitting code 2017-01-18 07:26:05 +10:00
Daniel Oaks
e9324c3250 modes: Fix some more mutexes 2017-01-11 12:26:58 +10:00
Daniel Oaks
c39bebc696 Fix various locks around joining, kicking and quitting 2017-01-11 12:16:51 +10:00
Daniel Oaks
6f7c683247 channel: RWMutex for members access 2017-01-11 02:09:08 +10:00
Daniel Oaks
8eb8193b18 JOIN: Only give chanop, not chan founder (will save that for regged chans) 2016-12-01 18:12:51 +10:00
Daniel Oaks
5eafd2656e channel: Send channel NOTICEs properly 2016-11-29 21:41:26 +10:00
Daniel Oaks
a7949b6cb4 irc: Assorted golint cleanups 2016-10-23 11:48:57 +10:00
Daniel Oaks
517893065b Support STATUSMSG 2016-10-23 00:45:51 +10:00
Daniel Oaks
d9db688963 Implement echo-message capability 2016-10-22 22:29:01 +10:00
Daniel Oaks
a8d910e233 capability: Add invite-notify 2016-10-16 14:14:55 +10:00
Daniel Oaks
2e3ffd2f23 caps: Add message-tags draft capability 2016-10-16 12:54:15 +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
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
0087de6092 client: Add AWAYLEN 2016-09-12 12:40:09 +10:00
Daniel Oaks
79d831bbb7 channel: Add KICKLEN and TOPICLEN 2016-09-12 12:22:50 +10:00
Daniel Oaks
754b74c21c accounts: Add account-tag capability 2016-09-12 11:25:31 +10:00
Daniel Oaks
5269dc8776 accounts: Very roughly introduce account type 2016-09-05 22:35:13 +10:00
Daniel Oaks
6e66c5c8a7 channel: Prevent duping error code in channel.Persist -- from jlatt/ergonomadic#39 <3 2016-08-14 13:34:24 +10:00
Daniel Oaks
e33a810522 capability: Add extended-join and userhost-in-names 2016-08-14 11:59:33 +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