Commit Graph

341 Commits

Author SHA1 Message Date
Daniel Oaks f665ebac16 channels: Help prevent issues when join/parting 2017-04-18 17:19:44 +10:00
Daniel Oaks e0035dfa04 types: Make ChannelNameMap use mutexes to fix crash 2017-04-17 21:03:02 +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 451c40f170 WHO: Fix a small hang 2017-03-27 14:30:00 +10:00
Daniel Oaks 70b7606996 config: Allow enabling/disabling channel reg 2017-03-24 12:52:38 +10:00
Daniel Oaks 6842d2ead6 Merge master 2017-03-24 12:29:13 +10:00
Daniel Oaks 05074e966d modes: Continue overhauling 2017-03-24 12:23:21 +10:00
Daniel Oaks f29a5f0e70 socket: Very initial SendQ limit 2017-03-14 08:12:39 +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 531cf675c8 rehash: Add note about cap del/new order 2017-03-09 19:09:58 +10:00
Daniel Oaks 5c38800a02 config: Advertise STS draft, fix subsequent REHASHing 2017-03-09 19:07:35 +10:00
Daniel Oaks 25a373b7eb logger: Add notice on connection when server is logging all I/O 2017-03-08 21:57:31 +10:00
Daniel Oaks b328a4fcd3 logging: Add userinput and output, fix up lots 2017-03-06 22:11:10 +10:00
Daniel Oaks 415a8117ee logger: Better colours and output 2017-03-06 20:15:28 +10:00
Daniel Oaks 29e89b16a0 logger: Very initial working new logs 2017-03-06 15:50:23 +10:00
Daniel Oaks ba0f291e20 logger: Initial new logger 2017-03-06 13:05:33 +10:00
Daniel Oaks 3058161f62 config: Fix accounts registration/authentication 2017-03-06 09:43:52 +10:00
Daniel Oaks d1cb4b9b37 server: Bunch of nits 2017-03-06 09:27:08 +10:00
Daniel Oaks 9f6c4363b7 USERHOST: Clean up a bit, support multiple nicks 2017-03-06 09:14:15 +10:00
vegax87 a623d8ef1e Solved! RPL_USERHOST must use trailing 2017-01-23 21:20:42 +01:00
vegax87 2ff48a7088 I forgot a little typo 2017-01-23 18:51:09 +01:00
vegax87 1bb9502206 I don't understand why USERHOST is working with spaces... 2017-01-23 18:49:42 +01:00
vegax87 f3c9c2b4b5 USERHOST command 2017-01-23 17:44:35 +01:00
Daniel Oaks c8b5fb65e0 WHOIS: Use inbuilt functionality to force trailing, as suggested by @vegax87 2017-01-23 09:03:49 +10:00
Daniel Oaks ccae0cf7cd LIST: Fix list to display right member counts 2017-01-22 13:01:44 +10:00
Daniel Oaks cbe49ff3d8 Use a better line-splitting algorithm 2017-01-18 08:05:31 +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 92626a178d server: Start roughly hacking in new message-tags support 2017-01-18 07:26:05 +10:00
Daniel Oaks d2e18962e3 Very initial maxline work 2017-01-18 07:26:05 +10:00
Daniel Oaks a0c97542ee LUSERS: minor chan cleanup to avoid counting 2017-01-17 22:52:19 +10:00
Daniel Oaks 298f4907ac LUSERS: Minor cleanups, we don't need to worry about changelog lines for now 2017-01-17 22:49:14 +10:00
vegax87 750f0ffcb6 removed Unknown connections 2017-01-17 12:09:51 +01:00
vegax87 b4427fa782 some comments 2017-01-15 15:29:16 +01:00
vegax87 4797331962 Basic implementation of LUSERS command 2017-01-15 01:48:47 +01:00
Daniel Oaks 2de273462b WHOIS: Hack to make silly clients work 2017-01-14 13:54:57 +10:00
Daniel Oaks 2b240faa90 strings: Fix nick bugs, use UsernameCaseMapped 2017-01-14 02:32:15 +10:00
Daniel Oaks 0a3de9a912 whois: Send channels without prefix (handled by Send()) 2017-01-13 13:12:36 +10:00
vegax87 a54dcb9057 Fixed WHOIS Command 2017-01-13 02:05:58 +01:00
Daniel Oaks 91d59575ce Add initial automated connection throttling 2017-01-12 21:17:50 +10:00
Daniel Oaks 4168eaafbb Basic implementation of KLINEs 2017-01-11 22:38:16 +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 efb3000717 client_lookup_set: Use RWMutex 2017-01-11 01:06:02 +10:00
Daniel Oaks f57a43f3da KICK: Allow multiple kicks to the same channel 2016-12-01 18:10:38 +10:00
Daniel Oaks a8eabe8e9c client: Fix a lot of bugs around setting NICK 2016-11-29 22:33:10 +10:00
Daniel Oaks 5eafd2656e channel: Send channel NOTICEs properly 2016-11-29 21:41:26 +10:00
Daniel Oaks 9a9820fa88 NICK: Prevent races, remove a DoS 2016-11-16 12:02:22 +10:00
Daniel Oaks 95e36b99a2 Nick locking (entirely broken, needs to be completely redesigned) 2016-11-16 03:05:33 +10:00
Daniel Oaks 6d6c1936cc Handle db better, fix bug, update db schema, rest 2016-11-06 13:47:13 +10:00
Daniel Oaks ee3853f845 restapi: Initial commit 2016-11-06 12:49:39 +10:00
Daniel Oaks c3174bb648 Various crash fixes, and little cleanups for safety 2016-11-04 21:38:47 +10:00
Daniel Oaks 8c797d0f76 Initial DLINE changes 2016-11-04 12:42:58 +10:00
Daniel Oaks 07e4728c15 roleplay: Initial commit 2016-11-01 23:56:25 +10:00
Daniel Oaks 62a0cbc1f6 server: Move maxTargets to constant, fix bug on privmsg/notice 2016-10-27 00:51:55 +10:00
Daniel Oaks f62ffe006f server: Support more RPL_ISUPPORT stuff 2016-10-24 01:01:27 +10:00
Daniel Oaks 78028135eb modes: Limit length of beI mode lists 2016-10-24 00:50:18 +10:00
Daniel Oaks a404bf83d1 Add automated client connection limiting 2016-10-23 23:05:00 +10:00
Daniel Oaks 194fa9af9f HELP: Check topics exist at startup, fix a bug 2016-10-23 18:59:13 +10:00
Daniel Oaks a7949b6cb4 irc: Assorted golint cleanups 2016-10-23 11:48:57 +10:00
Daniel Oaks 29e811a531 oper: Support custom vhosts, and chghost 2016-10-23 11:28:31 +10:00
Daniel Oaks f3459830e7 opers: Allow setting custom whois lines 2016-10-23 11:01:05 +10:00
Daniel Oaks 64bdedaee2 Add oper classes, for more finely-grained control 2016-10-23 10:47:11 +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 b84dbb1a06 Support cap-notify and enabling/disabling SASL 2016-10-22 22:18:41 +10:00
Daniel Oaks ef437348cf server: rehash on SIGHUP 2016-10-22 21:20:08 +10:00
Daniel Oaks 1812edb2db server: Add a mutex to kill a very small, bad race 2016-10-22 21:01:19 +10:00
Daniel Oaks 835187a736 REHASH: Update listeners, fix some bad hangs/locks 2016-10-22 20:54:04 +10:00
Daniel Oaks 6cd71e1b9e Add REHASH command 2016-10-19 21:38:31 +10:00
Daniel Oaks 425a521d27 channel: Fix MODE and WHO 2016-10-16 21:28:59 +10:00
Daniel Oaks 41d534d6dd server: fix sprintf call 2016-10-16 20:45:36 +10:00
Daniel Oaks 1e956355bf NICK: Fix small bug when casefolding 2016-10-16 20:35:50 +10:00
Daniel Oaks 1bab81091f Add MONITOR command 2016-10-16 20:14:56 +10:00
Daniel Oaks 9162d0da61 account-tag: Fix sending on PRIVMSG/NOTICE 2016-10-16 13:27:33 +10:00
Daniel Oaks 8abffde6a0 PRIVMSG: Fix sending them 2016-10-16 12:59:36 +10:00
Daniel Oaks 2e3ffd2f23 caps: Add message-tags draft capability 2016-10-16 12:54:15 +10:00
Daniel Oaks 43e28e2fef PROXY: Remove command, I don't think it's that useful 2016-10-15 16:29:34 +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 0eebd6273c AWAY: Only dispatch AWAY when cap-notify is used 2016-10-13 18:08:08 +10:00
Daniel Oaks e807f3ca04 Fixing warnings and golint stuff 2016-10-13 17:36:44 +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 969eed394f KILL: Make reason optional, to match other ircds 2016-09-14 20:57:33 +10:00
Daniel Oaks 0701267395 server: Add CHANMODES 2016-09-13 22:05:38 +10:00
Daniel Oaks 0087de6092 client: Add AWAYLEN 2016-09-12 12:40:09 +10:00
Daniel Oaks 266c534af9 theater: Remove THEATER command for now 2016-09-12 12:31:25 +10:00
Daniel Oaks 79d831bbb7 channel: Add KICKLEN and TOPICLEN 2016-09-12 12:22:50 +10:00
Daniel Oaks 3321243486 server: Add away-notify capability 2016-09-12 11:56:20 +10:00
Daniel Oaks e3fbdebc48 registration: Hook up reg to actual accounts 2016-09-05 22:54:09 +10:00
Daniel Oaks 5269dc8776 accounts: Very roughly introduce account type 2016-09-05 22:35:13 +10:00
Daniel Oaks 739f8d71d2 server: Close db and store more properly 2016-09-05 22:14:20 +10:00
Daniel Oaks 4cb196f50a server: Close store properly, on shutdown 2016-09-05 19:39:16 +10:00
Daniel Oaks 6e96a175d6 registration: Add new password manager, integrate registration and credential types 2016-09-05 18:45:42 +10:00
Daniel Oaks 68c83a95d4 WHOIS: Fixes, add certfp 2016-09-05 14:23:57 +10:00