Commit Graph

438 Commits

Author SHA1 Message Date
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
Daniel Oaks bded3202c2 channels: send RPL_CHANNELCREATED and RPL_TOPICTIME 2016-06-26 21:06:28 +10:00
Daniel Oaks 34a099b61a Fix PING and PONG 2016-06-22 22:04:13 +10:00
Daniel Oaks e19c1527a4 modes: Fix modes, re-add channel modes 2016-06-22 21:35:26 +10:00
Daniel Oaks 04442ddef1 Stuff is no longer completely broken. Just mostly. 2016-06-20 22:53:45 +10:00
Daniel Oaks b8dc10f92d nickname: Fix 2016-06-20 10:04:53 +10:00
Daniel Oaks 9e7a590f23 server: Fix 2016-06-19 21:59:18 +10:00
Daniel Oaks 2a519c8061 use server.name and server.nameString, name for checking and getting nice comparison, nameString for reply outputs 2016-06-19 15:43:16 +10:00
Daniel Oaks 7b13858f8c client: Fix 2016-06-19 15:37:29 +10:00
Daniel Oaks 7fcc6bdbc4 channels: Fix 2016-06-19 14:55:24 +10:00
Daniel Oaks c2e5386966 commands: Fix comment 2016-06-19 12:53:52 +10:00
Daniel Oaks 08225c201d continue work reorganising and redoing EVERYTHING 2016-06-19 10:01:30 +10:00
Daniel Oaks e83283e7fd urgh this should not even be commited yet, this will all be squashed out 2016-06-17 22:17:42 +10:00
Daniel Oaks dbca03e948 Split numerics into their own new file 2016-06-16 19:41:07 +10:00
Daniel Oaks 3a5314bd8e Add basic ClientSocket work 2016-06-15 22:16:07 +10:00
Daniel Oaks 2f08401a0f Attempt to add mostly-correct license info at the top of each file... track this stuff a bit better 2016-06-15 21:50:56 +10:00
Daniel Oaks 9860094020 socket: Use updated socket code 2016-06-15 21:21:45 +10:00
Daniel Oaks fd6ed36995 strings: Restrict *? explicitly as they are used for mask matching 2016-06-15 17:41:53 +10:00
Daniel Oaks 3a9a643d30 server: Let websocket listeners also be TLS 2016-04-28 20:41:26 +10:00
Daniel Oaks 2fb6acb92a restructure SSL/TLS a bit, name config items better 2016-04-28 20:12:23 +10:00
Daniel Oaks cfcecd0101 tests: Start net tests 2016-04-21 22:32:17 +10:00
Daniel Oaks cd7d30a997 Set default channel modes to +nt 2016-04-21 19:29:50 +10:00
Daniel Oaks 8885f14f19 PROXY: Restrict to specified addresses/hostnames 2016-04-21 16:53:55 +10:00
Daniel Oaks 77bf7173ff Require that server names must be hostnames, and nicks cannot be hostnames 2016-04-21 10:48:15 +10:00
Daniel Oaks 4a8d526c4d strings: Nicks and usernames can't contain ! or @ 2016-04-21 10:21:36 +10:00