-
Notifications
You must be signed in to change notification settings - Fork 0
/
TODO
53 lines (49 loc) · 3.87 KB
/
TODO
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
#####################################################################
# The Perl Internet Relay Chat Daemon #
# _ _ _ #
# (_) (_) | | #
# _ _ _ _ __ ___ _ _ __ ___ __| | #
# | | | | | '_ \ / _ \ | | '__/ __|/ _` | #
# | | |_| | | | | (_) | | | | | (__| (_| | #
# | |\__,_|_| |_|\___/ |_|_| \___|\__,_| #
# _/ | #
# |__/ todo list #
# #
#####################################################################
TODO
---------------------------------------------------------------------
Fix multiple connections from the same nick (FAIL)
part messages (be sure to limit them as well)
finish linking protocol and make services compatible
Relay invites to all servers (except when channels are local, of course)
setting modes is SO buggy. it's ridiculous. For example, if i set +lsL 1 #cooper (limit 1 redirect #cooper), i might end up with +ls #cooper (+s having an argument) and +L being ignored completely, get +s isn't to have any arguments, and it is indeed setting "#cooper" as the link even though +L isn't set. It might take me a few years to fix this.
I found yet another bug in mode setting. For whatever reason, if +s is set the ircd completely ignores the fact that +L or +l is set.. I didn't test with other modes but i'm sure it does it with each of them. :(
In another mode bug, setting +a-o lol lol1 might send to users as ":nick!ident@host MODE #channel +o-a lol1 lol", causing client confusion though the server is actually correct and the proper modes were set.
Matthew wants me to change the linking protocol burst from BU and BC to NICK and JOIN (which makes more sense for making atheme compatable, I suppose)
I also need to make linking two IRCds capable, without crashing on BU and BC (of course).
Modes e and I (ban exception and invite exception)
The linking protocol doesn't send privmsgs... we need to send to servers with a client involved only for ethical reasons.
Although we send data, we ignore most received. :P
Write services to show off my linking protocol
G-line (a global kline)
Check the comments in "setupaslocal" subroutine in in the LocalServer package :P
Note to self: when creating a new channel mode, don't forget to add it to the server burst
What I've done
---------------------------------------------------------------------
We actually check if an rDNS resolves now, and if not use the user's IP address instead.
Prefixes ~ & and % (owner, admin, and halfop +q +a and +h)
Multi-prefix names output
CAP reply
Channel link (+L). if the population limit (+l) is reached, forward you to the linked channel (if there aren't double links)
auto +nt on channel create
internal logging channel - server privmsgs channel on client connect, oper, etc
added network administrator lines (NA) and mode O (oper override) to prevent accidental abuse
in viewing of ban and mute list (/mode b|Z), we show full hosts instead of the server name (... @ that)
We now check if a ban/mute mask is valid (fail for not checking before) +b fgt = fgt!*@* +b fgt@* = *!fgt@* +Z *@* = *!*@*
Channel mode +Z, mutes. (Similar to charybdis's quiet, +q)
Now checks for bans and mutes on privmsg.. (fail for not checking for bans before)
Fixed kline, and added the ability for operators to kline via IRC. After a mask is klined, existing users that match the mask are killed.
Almost completely rewrote the linking protocol. Now sends bursts properly, MODE, TOPIC, JOIN, and PART commands. (PRIVMSG is being worked on)
Now responds to LAG pings from XChat
Network name configuration option
and a lot of bug fixes