Archived copy of http://routing.chatnet.org:80/code.html as of 2002-06-09 · original content, not edited · ChatNet Old Stuff
You have reached the ChatNet Development Committee home page. On this site you will find the tasks that are being addressed by the committee as well as the new ideas posted by staff and users alike. The development team is hard at work making ChatNet a better place to visit. The Development and Routing Committee bears the burden of improving the IRC daemon and updating the services for the ChatNet Internet Relay Chat network. This page is a little messy, but it will be changed as soon as the rest of the website is functional.

ChatNet Routing And Development
     
IRCD
Support
Operations 
Support and Services
Channel Services 
Support and Services
Exion Pyra Pyra Sharky |SaMaN| Thread
Spectre AbcX Vampire
     
IRCD Instruction ChatWorld Instruction K9 Instruction
Open Open Open

If you are interested in joining the development team, please understand that we are looking for people to work on the IRCD. The services development is well in hand. We have a long list of updates that are going to require many man hours to implement as we create the environment we are striving for. The list that follows are the update notices for the IRCD and the services as of November 09, 2001

1: (1 Nov, 2001) /whois preventing channel list for services based on UMode IsULine(sptr). The information here regards prevention of channel display of services, as well as the modification of what you see when you look at the Operations line. We have more then one level now on ChatNet. There is now a display for IRC OPERATOR, IRC ADMINISTRATOR, SERVICE ADMINISTRATOR and IRC SERVICE. In modifying this, there should be statements explaining what these levels are on the ChatNet website. This will be part of the distribution package.
FILES MODIFIED
s_user.c - Line 1764: Insert check for level of access for WHOIS_OPERATOR. - Line 1709: Insert checks for the existence of a U:line
QA STATUS: Complete Passed 3/11/2001 Spectre
2: (1 Nov, 2001) prevention of kick of services with message based on UMode IsULine(sptr) Error code 447 added to s_err.c. This will represent the statement stipulating that you have attempted to kick an IRC service and no longer deserve to live.
FILES MODIFIED:
s_err.c - Line 499 created call 447 ERR_USERISSERVICE
channel.c - Line 1996 created check against
ULine(who)
numeric.h - Line 330 create definition for constant ERR_USERISSERVICE (447)
QA STATUS: Complete Passed 3/11/2001 Spectre
3: prevention of BAN of a U:Lined address.

QA STATUS: Not Started

4: (1 Nov, 2001) prevention of negatively changing modes o or v on a ULined target (based on parv[2-5]). After the value of who is returned to the set_mode function, the value is checked for the FLAG_ULINE bit. If this flag is seen, the IRCD will just send back an error that is similar to the error recieved if the user is not a channel opererator.
FILES MODIFIED:
s_err.c - Line 500 created call 448 ERR_NOMODESERVICE (448)
numeric.h - Line 331 create definition for constant ERR_NOMODESERVICE (448)
channel.c - After function find chasing, the returned aClient data structure is evaluated against the ULINE bit.
QA STATUS: Complete Passed 3/11/2001 Spectre
5: /CHANSERV Change reference by command from /chanserv to /k9. Edited msg.h to change the command hash to reflect K9 instead of chanserv. This will make /K9 a secured command pathway between the service and the IRCD.

QA STATUS: Not Started

6: /OPERSERV Change reference by command from /operserv to /chatworld and /cw Edited msg.h to change the command hash to reflect ChatWorld and CW instead of operserv. This will make /CW and /CHATWORLD a secured command pathway between the service and the IRCD.

QA STATUS: Not Started

7: Institute parameterization of m_list. There should be a method to limit what is sent to client

QA STATUS: Not Started

8: Reverse DNS lookup for DNS Zline

QA STATUS: Not Started

9: Logic to not broadcast service instituted kills (see Jesper)

QA STATUS: Not Started

10: add m_map In the UNDERNET world, they are using numeric 005 for RPL_MAP. In Bahamut, this numeric is occupied by protocol reply for the motd, RPL_PROTOCTL. Because we are basing off of Bahamut and not IRCU, I have had to change the numeric for RPL_MAP to 008. This shouldnt be an issue unless they keep adding to the numerics. If they do this, I will move all CH-BHT added numerics to the 700 range.
FILES MODIFIED:
s_err.c - Addition of 006, 007, and 008 numerics.
numeric.h - Addition of 006, 007, and 008 numerics.
map.c - created to move the IRCU map call to the
CN-BHT IRCD.
struct.h - created link list structures from IRCU
QA STATUS: Development In Progress - Spectre
11: (1 Nov, 2001) MS-CHAT Can not connect in parse.c send the Register first request 2 times instead of once this causes the MS client to register with the IRCD.
FILES MODIFIED:
s_auth.c - Modified tosnd 2 register statements initially to force MS to auth.
QA STATUS: Complete Passed 3/11/2001 Spectre
12: Create a config executable that is actually creating a CHATNET config.h. The current one creates options.h which is not full proof, nor is it very good. I suppose this should build the entire config.h file and then should have the option to create a file called ~/.chatnet.h. This file is merely a mirror of the config file that is used to merge in information for future compiles. This will require logic to check for a new define that is missing from the .chatnet.h information. This make will also have to create logic to inform that compiler that this file was built and saved.

QA STATUS: Not Started

13: Make mode +d for users, and make it completely deaf mode. Do not allow anything but server notices through.

QA STATUS: Not Started

14: (open-1 Nov, 2001) /KILL Prevent the killing of a ULined client. This has to be checked against the "mask host" as well if there are operators that are V:Lined so to speak. When the offender tries to kill the service he is removed from the IRCD after the service sends out a warning message using error code 449.
FILES MODIFIED:
s_user.c - in function m_kill.c there is a check versus server. This check has been modified to check for services as well.
s_err.c - created model for error message 449 ERR_NOKILLSERVICE
numeric.h - created definition for error code 449
ERR_NOKILLSERVICE
QA STATUS: Complete Passed 3/11/2001 Spectre
15:  (MODE +M) (open-Nov 1, 2001)The situtation occured where a server was desynched and the network started sending error messages as local to all machines. This occured in IOV with mode +m and Vagabond was mode +o and -v. It appears that there is a logic breakdown in the IRCD regarding what exactly a local server is.

QA STATUS: Reviewed but could not recreate in LAB. Will back burner this until it happens again.

16: (RAW WHO Level) (open-Nov 2, 2001) Fix raw who #channel x so that it isnt limited to admins, however is limited to +O or even a specific O:line mode.

QA STATUS: Not Started

17: Thread (open-Nov 2, 2001)Mode +b does not know how to parse a ban like *!user@host. It has an issue with the first character if it isnt a * or a ~.

QA STATUS: Not Started

18: Spectre (open-Nov 2, 2001) /SQUIT with out parameters == a quit from the server. That is idiotic. Change so that if !IsServer(cptr) then return.

QA STATUS: Not Started

19: Spectre /KICK (open-Nov 2, 2001) sends a they arent on that channel error after it performs the action. This is because they are checked after the kick. This was due to a failure of the code to return out of m_kick prior to evaluating through the code. This was fixed by forcing a return. I was to lazy to make it a switch statement.
FILES MODIFIED:
channel.c - Line 1996 created check against ULine(who)
QA STATUS: Complete Passed 3/11/2001 Spectre
20: Qwerty I would like to request we bring back server splits and merges be put out in server notices to +s users. Any other server notices aside from kills would be very nice. Talked with Boulder about this subject, and he liked the idea, and suggestied I ask you Thank you in advance - /qwert

QA STATUS: Not Started

21 MRX - The message for HTM is deceiving. Could it stipulate why there are commands that dont work: /* 263 */ ":%s 263 %s :Server load is temporarily too heavy. Please wait a while and try again.", Changed to: /* 263 */ ":%s 263 %s :The server is in High Traffic Mode This limits the servers commands. Try again later.". This should also include the command that was sent in.

QA STATUS: Not Started

22: Spectre - Change INVITE to a single person only unless Staff, and never a channel.

QA STATUS: Not Started