tali
|
a57d5b532a
|
add KICK command and clean up KICK/PART/QUIT reason param
|
2024-01-30 19:34:43 -05:00 |
tali
|
4aaa96c6c1
|
make "Router.membership" easier to type
|
2024-01-30 19:21:47 -05:00 |
tali
|
d8ef67310a
|
create some basic server unit tests
|
2024-01-30 19:12:57 -05:00 |
tali
|
2d9aaff4ef
|
TMC optimize List.flat_map
|
2024-01-30 19:05:35 -05:00 |
tali
|
7d4fa61935
|
refactor MODE reports errors about missing users
|
2024-01-30 18:56:44 -05:00 |
tali
|
eec24d1602
|
write List.flat_map
|
2024-01-30 18:54:41 -05:00 |
tali
|
2ecef57faa
|
improve mode parsing yet again, more graceful failures
|
2024-01-30 18:21:02 -05:00 |
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 |
tali
|
4e3a86d21a
|
remove Lwt syntax global imports
|
2024-01-10 23:26:42 -05:00 |
tali
|
7a101e0620
|
yet another user register flow refactor
|
2024-01-10 22:49:07 -05:00 |
tali
|
ae8b837c56
|
add TODO comments for various features missing from message handling
|
2024-01-10 19:43:20 -05:00 |
tali
|
15a4475d3c
|
new improved Irc.Mode.t utility
|
2024-01-10 19:13:15 -05:00 |
tali
|
fbf9211b5f
|
remove use of Irc.Mode.t
|
2024-01-10 18:58:22 -05:00 |
tali
|
d17e573e41
|
add part; part on quit; broadcast messages
|
2024-01-09 22:01:21 -05:00 |
tali
|
17e3739cfe
|
preliminary channels impl
|
2024-01-09 21:27:46 -05:00 |
tali
|
7fb44540d9
|
add bcc api to outbox
|
2024-01-09 21:19:22 -05:00 |
tali
|
b3ea5e5e10
|
basic nick/channel name validation
|
2024-01-09 20:32:36 -05:00 |
tali
|
347d19df59
|
fix edge case with trailing parameter serialization
|
2024-01-09 20:10:12 -05:00 |
tali
|
9b144cb712
|
rename Irc_server to just Server
|
2024-01-09 19:38:02 -05:00 |
tali
|
c4be8f45a8
|
outbox module + fix quit handling yet again
|
2024-01-09 19:35:03 -05:00 |
tali
|
bdf31dac5b
|
support MOTD command
|
2024-01-08 01:15:41 -05:00 |
tali
|
d340708d4f
|
fix quit logic; echo QUIT message
|
2024-01-08 01:13:14 -05:00 |
tali
|
e7e641f266
|
echo nick change message
|
2024-01-08 01:04:53 -05:00 |
tali
|
a4ab2f3650
|
add RPL_ISUPPORT to welcome text
|
2024-01-08 00:56:16 -05:00 |
tali
|
d310d4ad6e
|
refactor lowercase hash key handling
|
2024-01-08 00:55:53 -05:00 |
tali
|
7b72410498
|
fix nickname assignment logic for the 1000th time
|
2024-01-08 00:42:09 -05:00 |
tali
|
bd5afe7ad1
|
add fake JOIN command
|
2024-01-08 00:31:05 -05:00 |
tali
|
4dc454e9a2
|
privmsg between users; better cleanup on quit
|
2024-01-08 00:05:01 -05:00 |
tali
|
5e2384b855
|
working on routing
|
2024-01-07 23:14:32 -05:00 |
tali
|
4dc0d1b8a0
|
beefed up Irc.Msg.prefix
|
2024-01-07 18:51:26 -05:00 |
tali
|
f46522ba65
|
create irc user modes module Irc.Mode
|
2024-01-07 18:51:18 -05:00 |
tali
|
3d4f9a987e
|
rename Irc_msg to Irc.Msg
|
2024-01-07 16:29:12 -05:00 |
tali
|
150d25b1e0
|
user registration logic
|
2024-01-07 15:54:39 -05:00 |
tali
|
4e43ecd20b
|
new improved message parsing
|
2024-01-06 19:30:57 -05:00 |
tali
|
56dc7f2602
|
irc message parser/printer
|
2024-01-05 20:42:05 -05:00 |