Hi Dana!
Thanks, I applied your slightly modified patch to support INFO, SUMMON, and USERS to CVS HEAD.
I simplified INFO a little bit to only send the already prepared NGIRCd_Version string and the start time to get rid of a lot of strlcpy/strlcat calls.
It is perhaps worth noting the commands SERVICE, SERVLIST, and SQUERY, which remain unimplemented, are described in RFC 2812 section 3, which also states that "All commands described in this section MUST be implemented by any server for this protocol."
You are right, probably it would make sense to implement "dummy handlers" until we eventually support services ... I'll have a look at it.
--- src/ngircd/irc-server.c 21 Nov 2007 12:16:36 -0000 1.46 +++ src/ngircd/irc-server.c 17 Feb 2008 06:47:42 -0000 @@ -285,6 +285,9 @@ IRC_SQUIT( CLIENT *Client, REQUEST *Req assert( Client != NULL ); assert( Req != NULL );
- if (! (Client_OperByMe(Client) || Client_Type(Client) ==
CLIENT_SERVER))
return IRC_WriteStrClient( Client, ERR_NOPRIVILEGES_MSG,
Client_ID( Client ) );
- /* Falsche Anzahl Parameter? */ if( Req->argc != 2 ) return IRC_WriteStrClient( Client,
ERR_NEEDMOREPARAMS_MSG, Client_ID( Client ), Req->command );
This isn't sufficient at all, because at the moment SQUIT only unregisters the server but didn't disconnect it at all: the result is that the server isn't known any more but the connection still is established. I'll think about it ...
Regards Alex