Commit Graph

129 Commits

Author SHA1 Message Date
tali 3ab60bc4c0 add member count, check +l or error on join 2024-01-30 17:32:00 -05:00
tali e7978a01f3 add validation of topics and protected topic mode 2024-01-27 15:56:11 -05:00
tali d5cdc71ac0 add validation of channel modes in some cases
- only +o may set channel mods
- only +v/+o may talk in moderated channels
- filter NAMES reply by channel +s and user +i
2024-01-27 15:34:30 -05:00
tali 5f573c98e7 disallow "*" as a channel key 2024-01-27 15:33:35 -05:00
tali c35c90fcb1 add handling +o/+v/-o/-v commands in channels 2024-01-25 18:55:03 -05:00
tali d66cd93152 parse priv (+o, +v) modes in chan mode strings 2024-01-25 18:53:30 -05:00
tali 2bea08d04f add Mode.Parse.chan_modes tests 2024-01-25 18:30:44 -05:00
tali b49b1db26b op users joining a fresh channel; list user prefixes 2024-01-24 13:17:59 -05:00
tali 5a463382d3 dont force :trailing on all 324 (RPL_CHANNELMODEIS) replies 2024-01-24 12:58:34 -05:00
tali 8e711970e7 clean up set_chan_* functions 2024-01-24 12:54:53 -05:00
tali 7d8807318b support "JOIN 0" command 2024-01-24 12:47:20 -05:00
tali 130f79163d add line to help remind me to add validation 2024-01-24 12:40:20 -05:00
tali 3658be9fe4 support TOPIC command 2024-01-24 12:38:20 -05:00
tali f057eb1648 get channel symbol correct in NAMES reply 2024-01-24 12:35:34 -05:00
tali 04ad9c6ed7 cover some edge cases such as join a channel twice 2024-01-24 12:12:44 -05:00
tali 67024c572e field accessors are ok, dont use methods in Server_info 2024-01-23 14:31:31 -05:00
tali 7dbd997b92 slight connection.welcome refactor 2024-01-23 14:28:57 -05:00
tali b58e690cfc remove Irc. prefix from everything!!!! 2024-01-23 14:24:35 -05:00
tali aeeefeaf04 move server info and config to Server_info 2024-01-23 14:21:43 -05:00
tali d3763b1204 add back Irc.Mode.of_list 2024-01-23 14:00:40 -05:00
tali 7f34e5643a add PART reason 2024-01-23 13:46:54 -05:00
tali 7762c40a22 fix User.is_registered !! 2024-01-23 13:46:48 -05:00
tali 4fca26cc8a refactor quit 2024-01-23 13:31:06 -05:00
tali d6385ab852 big huge refactor of channel join/part logic 2024-01-23 13:18:12 -05:00
tali 0cabfe5dc1 invert is_nick_available lol 2024-01-23 13:10:23 -05:00
tali ec0deb9667 refactor set_nick flow 2024-01-22 12:48:44 -05:00
tali 2ddd0bc827 move MODE handling above JOIN, make set_or_unset a polyvar 2024-01-22 12:37:20 -05:00
tali 6824f95a6f move on_msg_{nick,user} around, take set_mode out of welcome 2024-01-22 12:31:32 -05:00
tali 39de7303d2 split Router into Router_types + User + Chan 2024-01-21 15:04:08 -05:00
tali 7372227578 parse and set +k/+l flags 2024-01-20 11:19:29 -05:00
tali 3641f4c773 add basic get/set channel mode 2024-01-18 13:28:48 -05:00
tali f58de239fa add basic parsing of channel mode flags 2024-01-18 13:28:23 -05:00
tali 8db310e2b0 add verification to prevent get/set other users' modes 2024-01-18 13:28:21 -05:00
tali 11640e4aa1 fix logic for setting modes, initial mode, get mode reply 2024-01-18 12:29:36 -05:00
tali 5a355b1e45 add Router.Chan.mode, currently unused 2024-01-18 12:01:52 -05:00
tali 7f941a68a1 refactor Router.relay to allow sending to multiple targets at once 2024-01-14 13:21:16 -05:00
tali d399ea73de add preliminary changing user modes 2024-01-14 12:50:43 -05:00
tali fc54fe8599 implement "MODE <user>" functionality, refactor welcome message 2024-01-14 12:50:43 -05:00
tali 65fdddaac6 add mode field to user 2024-01-14 12:50:43 -05:00
tali de6ff7abf6 add algorithm parsing user mode strings 2024-01-14 12:50:43 -05:00
tali b46d808e1f add Irc.Mode.Set datastructure, backed by simple bit operations 2024-01-14 11:32:20 -05:00
tali 76b31627b2 more logging tweaks 2024-01-11 22:43:17 -05:00
tali b868915d64 correctly handle some BS edge cases for PRIVMSG 2024-01-11 22:14:23 -05:00
tali 8b76a2b6db add logging library 2024-01-11 22:14:11 -05:00
tali 925bf747e7 fixup remove comment 2024-01-11 00:29:38 -05:00
tali 12266e37e7 consider tab to be whitespace 2024-01-11 00:24:06 -05:00
tali 4d95927bfa fix 001 reply formatting 2024-01-11 00:22:23 -05:00
tali f383706931 parse comma separated targets into individual commands 2024-01-11 00:22:21 -05:00
tali 1f81abfad2 use global state for Outbox "Bcc" 2024-01-10 23:41:01 -05:00
tali f47a383fa1 use result monad for Connection 2024-01-10 23:38:25 -05:00