3
0
mirror of https://github.com/ergochat/ergo.git synced 2024-11-24 12:59:33 +01:00
Commit Graph

862 Commits

Author SHA1 Message Date
Shivaram Lingamneni
9a9a85cd55 fix hostmask issue
PTR records ending in . (e.g., `google-public-dns-b.google.com.`)
were considered invalid
2017-09-05 11:43:50 -04:00
Daniel Oaks
ffabd26653 Make sure ISUPPORT outputs are sorted and tested 2017-07-30 22:42:37 +10:00
Daniel Oaks
97cfc0b629 Print warnings to heavily encourage exposing port 6697 as a TLS port 2017-07-27 23:29:08 +10:00
Daniel Oaks
0b75351e56 Merge pull request #128 from euank/return-bad-ip-err
server: close connection on parse-ip failure
2017-07-26 17:19:08 +10:00
Euan Kemp
3b47f3d470 config: don't casefold tls names
I don't think casefolding things like `:6697` ever made sense.
Since these are configured by the ircd operator, it makes sense to
assume they'll already be in a canonical form regardless.
2017-07-25 23:28:29 -07:00
Euan Kemp
449ef4cea1 strings: disallow ':' in nicks
This matches the behavior of inspircd at the very least.

Previously, the comment above that section claimed ':' should be
disallowed, but the code didn't do so.

I also simplified the code a little bit and added tests.
2017-07-25 23:28:29 -07:00
Euan Kemp
2b155f9b1e server: close connection on parse-ip failure
Close the client's connection if we're unable to parse their IP.

This also simplifies the check to reduce indentation by a level.

Finally, this replaces the two-var construction of the pseudo-const
messages with an inline dereference via a slice to allow constructing
them less noisily.
2017-07-25 22:19:40 -07:00
Daniel Oaks
b807f492ed OPER: If client's already opered-up, ignore new OPER attempts 2017-07-23 22:50:50 +10:00
Euan Kemp
2e8a98a925 irc: fix timer memleak
This is a gotcha called out in the `time.After` docs. `time.After` will
leak the underlying channel if nothing ever receives on it.
2017-07-14 17:21:53 +10:00
Daniel Oaks
c0fbc7908d sasl: Always send a 906 in response to AUTHENTICATE * 2017-06-30 11:06:10 +10:00
Daniel Oaks
7735ddfa03 Setup v0.8.3-unreleased devel ver 2017-06-30 11:04:24 +10:00
Daniel Oaks
376fa70244 Release v0.8.2 2017-06-30 01:14:50 +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
279ac928ae Setup 0.8.2-unreleased for next release 2017-06-28 14:59:01 +10:00
Daniel Oaks
325ed3e112 Release v0.8.1 2017-06-26 15:57:38 +10:00
Daniel Oaks
23a26f83fe client: Show real IP and whether the target's using TLS in WHOIS 2017-06-23 05:15:10 +10:00
Daniel Oaks
1c0c4841a1 General comments, fix misspellings and lints 2017-06-19 14:53:16 -06:00
Daniel Oaks
e5980beb7d SANICK: Fix check for new user 2017-06-18 08:23:51 -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
5b3cea8b98 xline: Add snomasks for setting/removing xlines 2017-06-11 10:17:55 -06:00
Daniel Oaks
309ec8191e Add 'k' snomask for kills (including those coming from dlines and klines) 2017-06-11 10:01:39 -06:00
Daniel Oaks
3ee26041ff Send snomask on client quits 2017-06-11 09:42:37 -06:00
Daniel Oaks
8a6ba6f9cc LIST: Start implementing ELIST conditions 2017-06-11 07:45:58 -06:00
Daniel Oaks
55d8eb5dce Make 'nick' snomask look nicer 2017-06-10 17:07:44 -06:00
Daniel Oaks
34863a6320 JOIN: Disable JOIN 0 support, in line with Insp 2017-06-10 17:03:23 -06:00
Daniel Oaks
4128ff6137 server: Check for channel permissions when renaming channels 2017-06-04 20:06:11 -06:00
Daniel Oaks
0f8ab4eaec server: Add proposed RENAME command 2017-06-04 20:01:37 -06:00
Daniel Oaks
53190ef131 Send a whole lot more snomasks 2017-05-28 12:43:09 -06:00
Daniel Oaks
ebb9d629d7 xline: Add ANDKILL param to kill all matching clients 2017-05-24 00:58:36 -06:00
Daniel Oaks
a271481c41 Setup 0.8.1-unreleased for next release 2017-05-16 21:08:15 -06:00
Daniel Oaks
f051b43f27 Release v0.8.0 2017-05-09 22:01:14 +10:00
Daniel Oaks
ab2ae70f13 help: Add help text for snomasks 2017-05-09 21:33:03 +10:00
Daniel Oaks
d847d55c06 Fix wordWrap function so it doesn't drop chars, and fix client.Notice() to automagically split very long lines. 2017-05-09 21:09:44 +10:00
Daniel Oaks
9fe7c143c8 server: Remove useless comments, make idle/quit function layouts nicer 2017-05-09 20:37:48 +10:00
Daniel Oaks
fb63691c8b commands: Timeout unregistered clients 2017-05-09 20:36:45 +10:00
Daniel Oaks
ff82872934 reg: Rename commands to match 2017-05-08 09:28:30 +10:00
Daniel Oaks
fd793d6adb Add very initial snomasks 2017-05-08 09:15:16 +10:00
Daniel Oaks
1afd3b8f78 server: Change localconnect msg to include username/realname 2017-05-01 19:03:04 +10:00
Daniel Oaks
f5ecf70ecf logger: Flush file writes to ensure they get written out 2017-05-01 19:02:49 +10:00
Daniel Oaks
7ac96114c3 log: Allow logging to stdout 2017-05-01 18:51:37 +10:00
Daniel Oaks
51425b7764 help: Generate index of help topics 2017-04-30 13:53:49 +10:00
Daniel Oaks
5c518531be Integrate StackImpact profiling 2017-04-30 12:35:07 +10:00
Daniel Oaks
2bd4d03ecc Prevent copying locks because that's silly 2017-04-30 11:12:25 +10:00
Daniel Oaks
4254672133 socket: Fix bad mutex unlock 2017-04-19 08:50:57 +10:00
Daniel Oaks
c911ff2bcd Squash a bunch of possible races 2017-04-18 22:26:01 +10:00
Daniel Oaks
f7a4f5d956 socket: Move to a timing-out send method that reduces goroutines and ensures QUIT/ERROR are sent 2017-04-18 20:29:00 +10:00
Daniel Oaks
067f982da4 socket: Remove old comment 2017-04-18 17:19:55 +10:00
Daniel Oaks
f665ebac16 channels: Help prevent issues when join/parting 2017-04-18 17:19:44 +10:00
Daniel Oaks
4a66771c39 socket: Attempt to close sockets better 2017-04-18 16:43:24 +10:00
Daniel Oaks
1c917a19a7 client: Ensure ERROR message is parsed when quitting 2017-04-17 23:05:47 +10:00
Daniel Oaks
9cfa92ede8 modes: Avoid unnecessarily sending unknown mode numerics 2017-04-17 23:05:24 +10:00
Daniel Oaks
86957d4392 socket: Fix quitting 2017-04-17 22:35:25 +10:00
Daniel Oaks
7aaa30d399 Setup 0.7.3-unreleased for next release 2017-04-17 21:59:53 +10:00
Daniel Oaks
9264ffc857 Release v0.7.2 2017-04-17 21:16:22 +10:00
Daniel Oaks
121269661b socket: Make closing work a little better 2017-04-17 21:03:07 +10:00
Daniel Oaks
e0035dfa04 types: Make ChannelNameMap use mutexes to fix crash 2017-04-17 21:03:02 +10:00
Daniel Oaks
ff3a864aa3 accountreg: Fix crash 2017-04-17 21:00:49 +10:00
Daniel Oaks
9a94121281 JOIN: Fix a dumb bug. Really dumb bug. 2017-04-17 20:28:01 +10:00
Daniel Oaks
88b5dd5621 Fix misspelling 2017-04-16 11:36:33 +10:00
Daniel Oaks
166cddecb1 Fix nits 2017-04-16 11:35:44 +10:00
Daniel Oaks
22216d4d60 Fix lots of nits 2017-04-16 11:31:33 +10:00
Daniel Oaks
8ba0bf347d Setup 0.7.2-unreleased for next release 2017-04-16 10:59:31 +10:00
Daniel Oaks
511da5b434 Release v0.7.1 2017-03-28 17:34:52 +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
99fd9af432 Setup 0.8.0-unreleased for next release 2017-03-27 22:07:11 +10:00
Daniel Oaks
1741a0fad1 Release v0.7.0 2017-03-27 14:53:50 +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
451c40f170 WHO: Fix a small hang 2017-03-27 14:30:00 +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
cec3416eae modes: Kill a crash 2017-03-26 22:09:46 +10:00
Daniel Oaks
a8e13b062b logger: Make safer to avoid file write races 2017-03-26 21:41:52 +10:00
Daniel Oaks
861b65eb39 channels: Automagically save channel bans/excepts/invites 2017-03-26 20:37:13 +10:00
Daniel Oaks
1798572015 Add comments 2017-03-25 09:19:13 +10:00
Daniel Oaks
b4b120a83e nickserv: Point towards /HELP REG since not implemented yet 2017-03-24 21:59:13 +10:00
Daniel Oaks
91fab3ba55 socket: Better deal with chanfloods 2017-03-24 21:54:22 +10:00
Daniel Oaks
aad1070633 client: Unlock channel mutex earlier 2017-03-24 21:54:06 +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
70b7606996 config: Allow enabling/disabling channel reg 2017-03-24 12:52:38 +10:00
Daniel Oaks
580385392a channel: Alert of given modes (+o/+q) on join 2017-03-24 12:38:07 +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
f5536d7945 socket: Add a simple println when SendQ exceeded, config comment update 2017-03-23 12:12:39 +10:00
Daniel Oaks
c3be2d0d46 socket: Fixup sending code so we can support more connections 2017-03-23 12:07:23 +10:00
Daniel Oaks
f29a5f0e70 socket: Very initial SendQ limit 2017-03-14 08:12:39 +10:00
Daniel Oaks
de4db1c6ef socket: Start overhaul of sockets and writing 2017-03-13 23:53:21 +10:00
Daniel Oaks
73d406ccd6 logger: Don't output control chars on log files 2017-03-13 23:52:28 +10:00
Daniel Oaks
657ed644cb modes: Start overhauling modes 2017-03-13 08:08:18 +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
7bb53af44e logger: Enable Windows support, properly lock writing to stderr 2017-03-10 12:27:05 +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
3d597a4fb3 accounts: Login to accounts properly
Avoids letting clients login to two accounts at once
2017-03-08 21:50:12 +10:00
Daniel Oaks
0c86c454c2 dline/kline: Allow year/month/day durations 2017-03-07 19:56:21 +10:00
Daniel Oaks
8834de5b32 rest: Expose DLINEs and KLINEs as xlines 2017-03-07 19:55:14 +10:00
Daniel Oaks
5de03f2169 logging: Reverse arrows for in and out, in ~= left, out ~= right 2017-03-06 22:12:27 +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
3d443339e5 logger: Initial colours 2017-03-06 16:28:38 +10:00
Daniel Oaks
29e89b16a0 logger: Very initial working new logs 2017-03-06 15:50:23 +10:00
Daniel Oaks
45dd882ec4 logger: Make new logger 2017-03-06 15:16:00 +10:00
Daniel Oaks
1ddeec9225 config: Parse logger config 2017-03-06 13:31:10 +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
542503f63e ws: Up the read/write buffer size 2017-03-06 09:26:54 +10:00
Daniel Oaks
9f6c4363b7 USERHOST: Clean up a bit, support multiple nicks 2017-03-06 09:14:15 +10:00
vegax87
b3a54cbb2c Merge branch 'master' of https://github.com/DanielOaks/oragono 2017-02-09 12:23:10 +01:00
Martin Lindhe
730d283201 server-time: convert local time to UTC before using it, fixes #94 2017-02-07 01:37:32 +01:00
vegax87
ef7c94e109 removed blank lines 2017-01-23 23:49:41 +01: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
9e65d9b87e Add SAMODE command, restricted by oper capab 2017-01-23 09:36:13 +10: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
ea0121aeff strings: Prevent crash 2017-01-22 12:44:05 +10:00
Daniel Oaks
c2fedfb177 client: Forego the ForceTrailing func, just automagically work it out based on the command name 2017-01-22 10:43:02 +10:00
Daniel Oaks
b257c5955e client: Add SendForceTrailing function, to force the last param to be a trailing 2017-01-20 23:51:36 +10:00
Daniel Oaks
db919722cb cull some old, unnecessary files 2017-01-19 16:12:10 +10:00
Daniel Oaks
4ca23f3554 Setup 0.7.0-unreleased for next release 2017-01-19 15:39:19 +10:00
Daniel Oaks
a9dfff4f30 Release v0.6.0 2017-01-19 08:12:59 +10:00
Daniel Oaks
67d65b0e3d client: Ignore empty lines, send ERROR with no prefix 2017-01-19 07:56:33 +10:00
Daniel Oaks
52127edde3 config: Better explain linelen 2017-01-18 09:46:30 +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
5e6ac67010 casemapping: Update name 2017-01-14 08:02:24 +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
1bc08f18b7 dline: Display correct message on bad dline 2017-01-11 22:37:58 +10:00
Daniel Oaks
4b5f4b6755 dline: Fix a bug where UNDLINE didn't remove them from datastore 2017-01-11 22:22:26 +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
efb3000717 client_lookup_set: Use RWMutex 2017-01-11 01:06:02 +10:00
Daniel Oaks
658d1656fa accounts: Only allow verified accounts to SASL auth 2017-01-11 01:02:26 +10:00
Daniel Oaks
b612b1be60 Setup 0.6.0-unreleased for next release 2016-12-11 19:46:39 +10:00
Daniel Oaks
20fe4c7704 Release v0.5.0 2016-12-10 22:24:49 +10:00
Daniel Oaks
1cc217a9ae sasl: Follow PLAIN spec more closely 2016-12-01 18:48:11 +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
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
7068072292 monitor: Send with account-tag where appropriate 2016-11-29 21:40:56 +10:00
Daniel Oaks
dc605ebb01 client: Send quit messages more correctly 2016-11-29 21:06:01 +10:00
Daniel Oaks
2e2e91689a client: Send quit message to friends correctly 2016-11-29 19:28:22 +10:00
Daniel Oaks
9314edd405 modes: Convey cmode changes to other channel members... 2016-11-29 19:16:01 +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
4a22311156 Merge branch 'develop' of https://github.com/DanielOaks/oragono into develop 2016-11-14 04:05:22 +00:00
Daniel Oaks
7f4bbbc587 rp: Mention mode in help text, fix comment 2016-11-14 14:03:48 +10:00
Daniel Oaks
b6f807dfdc commands: Use ERR_NOTREGISTERED when appropriate 2016-11-08 07:07:31 +10:00
Daniel Oaks
6d6c1936cc Handle db better, fix bug, update db schema, rest 2016-11-06 13:47:13 +10:00
Daniel Oaks
65cb932e46 restapi: Add version and rehashing 2016-11-06 12:49:39 +10:00
Daniel Oaks
539e5431b9 restapi: Add accts, restructure a little 2016-11-06 12:49:39 +10:00
Daniel Oaks
ee3853f845 restapi: Initial commit 2016-11-06 12:49:39 +10:00
Daniel Oaks
4402e3e3aa dline: Fix language 2016-11-06 12:46:11 +10:00
Daniel Oaks
f1e2c54fca dline: Prevent opers from banning themselves 2016-11-05 21:44:49 +10:00
Daniel Oaks
46307dedf2 dline: Load DLINEs properly and return proper info 2016-11-04 22:15:14 +10:00
Daniel Oaks
c3174bb648 Various crash fixes, and little cleanups for safety 2016-11-04 21:38:47 +10:00
Daniel Oaks
011419e755 dline: Should be working now 2016-11-04 21:15:23 +10:00
Daniel Oaks
8c797d0f76 Initial DLINE changes 2016-11-04 12:42:58 +10:00
Daniel Oaks
9a3a5fff90 Setup 0.5.0-unreleased for next release 2016-11-03 20:25:40 +10:00
Daniel Oaks
b1db65009e Release v0.4.0 2016-11-03 17:25:10 +10:00
Daniel Oaks
9fea9cf658 modes: Restrict changing modes correctly 2016-11-03 16:59:57 +10:00
Daniel Oaks
d32ccdc572 roleplay: More fixes and checks 2016-11-02 00:42:25 +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
c7fdb4656e strings: Use inbuilt precis.Nickname encoding now 2016-10-27 00:44:36 +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
1092caa190 MONITOR: Fix display of long lists 2016-10-23 20:24:02 +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
8e2a8cb1b3 opers: Enforce oper class permissions 2016-10-23 11:13:08 +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
a5395b5fe2 Setup 0.4.0-unreleased for next release 2016-10-23 09:42:57 +10:00
Daniel Oaks
09efb8e322 Release v0.3.0 2016-10-23 00:56:13 +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
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
149550b453 socket: Timeout TLS handshakes 2016-10-22 20:53:36 +10:00
Daniel Oaks
6cd71e1b9e Add REHASH command 2016-10-19 21:38:31 +10:00
Daniel Oaks
6e24efe84b Setup 0.3.0-unreleased for next release 2016-10-19 21:37:59 +10:00
Daniel Oaks
d96ca0ba25 client_lookup_set: Expose ByNick so we can loop over all clients 2016-10-19 21:35:51 +10:00
Daniel Oaks
b23707c12a Release v0.2.0 2016-10-16 21:36:21 +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
e100bd18af HELP: correct misspelling 2016-10-16 20:44:38 +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
859d0cd607 net: Prepend IPv6 addresses with '0' if necessary 2016-10-16 14:17:29 +10:00
Daniel Oaks
a8d910e233 capability: Add invite-notify 2016-10-16 14:14:55 +10:00
Daniel Oaks
b33cbd311c accounts: Release SASL lock after finishing auth 2016-10-16 14:01:40 +10:00
Daniel Oaks
e643c2101f capability: Add 3.2 CAP values 2016-10-16 13:54:09 +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
7b50f64d7e help: Add new /HELP command 2016-10-14 20:56:44 +10:00
Daniel Oaks
da6f350563 modes: Remove ReOp channel mode (unused) 2016-10-14 20:55:26 +10:00
Daniel Oaks
28b81d1a45 password_new: Rename to password_salted 2016-10-14 17:11:53 +10:00
Daniel Oaks
d226a0c6d3 nickname: Preserve case when setting NICK 2016-10-14 00:31:13 +10:00
Daniel Oaks
9ccd6037a6 strings: Make Nickname profile not actually case-sensitive 2016-10-14 00:25:37 +10:00
Daniel Oaks
4fa094cea2 accounts: Support account-notify capability 2016-10-13 18:18:00 +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
09802f7181 constants: Remove unused constants.
We may re-add MaxReplyLength later as a variable config option, similar to mammon.
2016-10-13 16:44:36 +10:00
Daniel Oaks
3c2fae666a net: Fix issue where some local clients would break.
Ran into this on Windows, when it didn't return "localhost" as a possible name for 127.0.0.1 or ::1.
2016-10-13 16:34:04 +10:00
Daniel Oaks
985f87d9d1 client: Remove silly testing Println 2016-10-13 16:21:19 +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
2bfcc553ce client: Don't fail silently on error sending messages 2016-09-19 23:00:19 +10:00
Daniel Oaks
5d7d510348 client: Fix minor bug when doing SASL before NICK/USER 2016-09-19 22:30:29 +10:00
Daniel Oaks
32b328f53f accounts: Fix broken long SASL auth strings 2016-09-19 21:34:17 +10:00
Daniel Oaks
88ce999b52 Rename things for next version 2016-09-18 11:48:41 +10:00
Daniel Oaks
2fdc9e5941 Release v0.1.0 2016-09-18 09:15:23 +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
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
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
bc42960552 strings: Remove CTCP stuff, unused 2016-09-12 12:33:37 +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
754b74c21c accounts: Add account-tag capability 2016-09-12 11:25:31 +10:00
Daniel Oaks
c2aa31001a client: Fix initial RPL_UMODEIS 2016-09-07 21:50:42 +10:00
Daniel Oaks
220bc2c609 server-time: Fix time format 2016-09-07 21:48:03 +10:00
Daniel Oaks
b5e7d8968f accounts: Add SASL EXTERNAL handler 2016-09-07 21:32:58 +10:00
Daniel Oaks
70665850aa accounts: Add SASL PLAIN handler 2016-09-07 20:46:01 +10:00
Daniel Oaks
1679bc9ac2 accounts: Add initial SASL handler, still need to write mechanism handlers 2016-09-06 16:31:59 +10:00
Daniel Oaks
5d6b4127ff registration: Fix comment 2016-09-05 23:00:21 +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
90d5f7d6a2 registration: Very initial, very skodgy 'working' account reg 2016-09-05 19:43:32 +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
Daniel Oaks
49034cb20e certfp: Add certfp retrieval from client 2016-09-05 13:53:39 +10:00
Daniel Oaks
d3d88cfa0c registration: Move REG CREATE to its' own function 2016-09-04 21:42:19 +10:00
Daniel Oaks
6e9722dee5 accounts: Rename some args, check credential type 2016-09-04 21:15:28 +10:00
Daniel Oaks
e7fced804e accounts: Fix broken numeric, write more framework for reg 2016-09-04 20:08:53 +10:00
Daniel Oaks
e4b6c1852b accounts: Add very initial, extremely broken account work (not including config changes) 2016-09-04 19:25:33 +10:00
Daniel Oaks
1746be2bb8 db: Add very initial buntdb datastore 2016-08-19 23:21:52 +10:00
Daniel Oaks
2ab8d4cb6e names: Allow more characters in channel names -- from jlatt/ergonomadic#39 <3 2016-08-14 14:15:31 +10:00
Daniel Oaks
a177ca36b1 server: Add some comments and clean up a bit -- from jlatt/ergonomadic#39 <3 2016-08-14 14:13:01 +10:00
Daniel Oaks
43553390d6 WHOWAS: Make maximum number of entries configurable 2016-08-14 14:07:50 +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
ef592d160c capability: Add server-time 2016-08-13 22:04:21 +10:00
Daniel Oaks
e04ef1ca11 NICK: Fix setting nicks after registration 2016-08-13 20:54:15 +10:00
Daniel Oaks
842f0d05ab strings: Only allow # channels, since we only implement those 2016-08-13 20:53:56 +10:00
Daniel Oaks
5a8e7709b2 strings: Disallow more broken nicknames 2016-08-13 20:53:23 +10:00
Daniel Oaks
1b67af7e85 strings: Also explicitly disallow . in nicknames 2016-08-12 23:38:19 +10:00
Daniel Oaks
9d853d5be7 strings: Don't allow nicks to start with dashes or 0-9 2016-08-12 23:33:44 +10:00
Daniel Oaks
5e55e35774 OPER: Fix sent MODE string 2016-08-12 22:26:45 +10:00
Daniel Oaks
a5911ad14c server: Add configurable NICKLEN and CHANNELLEN 2016-08-12 22:20:32 +10:00
Daniel Oaks
d810033a02 client: Timeout ident more nicely 2016-07-02 19:12:00 +10:00
Daniel Oaks
199f8bd8ae USER: disallow usernames that break the protocol 2016-06-30 23:55:44 +10:00
Daniel Oaks
19c2bb69fc Allow looking up usernames with ident on connection 2016-06-30 19:28:34 +10:00
Daniel Oaks
1d51bb450a constants: Make SEM_VER the actual version number conforming to Semantec Versioning, and VER the composed number 2016-06-30 17:42:24 +10:00
Daniel Oaks
748bc759cb Cleanups reported by goreportcard 2016-06-30 15:43:27 +10:00
Daniel Oaks
5d3b185881 client: Use more accurate QUIT message for ping timeouts 2016-06-30 15:35:34 +10:00
Daniel Oaks
b820559050 modes: Add TLS umode (+Z) 2016-06-29 01:09:07 +10:00
Daniel Oaks
2874d4f897 remove empty file 2016-06-28 16:25:11 +10:00
Daniel Oaks
138f61d852 remove empty file 2016-06-28 16:24:28 +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
41473bb444 Fix PASS handling 2016-06-28 16:06:17 +10:00