IRC protocol notes ------------------ IRC has been for a long time notoriously under-documented. The original RFC was RFC1459 ("Internet Relay Chat Protocol") and was written way back in May 1993. Since that time the IRC protocol has changed quite a bit, especially in respect to the numeric codes sent to clients by the server. These have been recently updated to the modern 2.10 IRC protocol as used by the IRCnet network. They do differ in a few places, and where they do, dircproxy follows the new RFCs. For reference, the new RFCs are as follows: RFC2810 Internet Relay Chat: Architecture RFC2811 Internet Relay Chat: Channel Management RFC2812 Internet Relay Chat: Client Protocol RFC2813 Internet Relay Chat: Server Protocol Noteworthy differences ====================== RFC1459 says that parameters 2 and 3 of the USER command should be the hostname of the client, and of the server. With the advent of DNS and ident checking etc, these have been redundant for a while. RFC2812 changes the meaning of these parameters, defining the second parameter to be a bit mask of modes to set on connection, and the third to be unused. dircproxy completely ignores the 3rd parameter, and performs an atoi() on the second. If the second isn't 0 then it assumes the client follows RFC2812 and treats the bits accordingly. dircproxy always sends "0" as the second parameter and "*" as the third to any server it connects to. Modern servers send four numerics upon connection, 001 thru 004. These provide information about the server. These were not defined in RFC1459 but are defined in RFC2812. dircproxy requires these parameters to be sent by the server so it knows when the connection is completed. All servers send them anyway, so this should not cause a problem. RFC1459 says parameters in commands can be separated by one or more spaces. RFC2812 says they are separated by only ONE space (thus allowing for empty parameters). dircproxy follows RFC2812 by default, however if this causes problems for you then define the OLD_RFC1459_PARAM_SPACE in dircproxy.h Copyright (C) 2002 Scott James Remnant . All Rights Reserved.