]> arthur.barton.de Git - ngircd-alex.git/blobdiff - src/ngircd/irc-info.c
Introduce option to configure the maximum nick name lenth in ngircd.conf
[ngircd-alex.git] / src / ngircd / irc-info.c
index a63e3aa7ad45971b3ff86f9f0c09945e3efe5230..683f7d1b04b8a79f0f3ff04f2d94771c14270ee4 100644 (file)
@@ -14,7 +14,7 @@
 
 #include "portab.h"
 
 
 #include "portab.h"
 
-static char UNUSED id[] = "$Id: irc-info.c,v 1.38 2007/10/04 15:03:56 alex Exp $";
+static char UNUSED id[] = "$Id: irc-info.c,v 1.40 2007/11/21 12:16:36 alex Exp $";
 
 #include "imp.h"
 #include <assert.h>
 
 #include "imp.h"
 #include <assert.h>
@@ -885,18 +885,21 @@ IRC_Send_LUSERS( CLIENT *Client )
 } /* IRC_Send_LUSERS */
 
 
 } /* IRC_Send_LUSERS */
 
 
-static bool Show_MOTD_Start(CLIENT *Client)
+static bool
+Show_MOTD_Start(CLIENT *Client)
 {
        return IRC_WriteStrClient(Client, RPL_MOTDSTART_MSG,
                Client_ID( Client ), Client_ID( Client_ThisServer( )));
 }
 
 {
        return IRC_WriteStrClient(Client, RPL_MOTDSTART_MSG,
                Client_ID( Client ), Client_ID( Client_ThisServer( )));
 }
 
-static bool Show_MOTD_Sendline(CLIENT *Client, const char *msg)
+static bool
+Show_MOTD_Sendline(CLIENT *Client, const char *msg)
 {
        return IRC_WriteStrClient(Client, RPL_MOTD_MSG, Client_ID( Client ), msg);
 }
 
 {
        return IRC_WriteStrClient(Client, RPL_MOTD_MSG, Client_ID( Client ), msg);
 }
 
-static bool Show_MOTD_End(CLIENT *Client)
+static bool
+Show_MOTD_End(CLIENT *Client)
 {
        return IRC_WriteStrClient( Client, RPL_ENDOFMOTD_MSG, Client_ID( Client ));
 }
 {
        return IRC_WriteStrClient( Client, RPL_ENDOFMOTD_MSG, Client_ID( Client ));
 }
@@ -1047,4 +1050,22 @@ IRC_Send_WHO( CLIENT *Client, CHANNEL *Chan, bool OnlyOps )
 } /* IRC_Send_WHO */
 
 
 } /* IRC_Send_WHO */
 
 
+/**
+ * Send the ISUPPORT numeric (005).
+ * This numeric indicates the features that are supported by this server.
+ * See <http://www.irc.org/tech_docs/005.html> for details.
+ */
+GLOBAL bool
+IRC_Send_ISUPPORT PARAMS((CLIENT * Client))
+{
+       if (!IRC_WriteStrClient(Client, RPL_ISUPPORT1_MSG, Client_ID(Client),
+                               Conf_MaxJoins))
+               return DISCONNECTED;
+       return IRC_WriteStrClient(Client, RPL_ISUPPORT2_MSG, Client_ID(Client),
+                                 CHANNEL_NAME_LEN - 1, Conf_MaxNickLength - 1,
+                                 COMMAND_LEN - 23, CLIENT_AWAY_LEN - 1,
+                                 COMMAND_LEN - 113);
+} /* IRC_Send_ISUPPORT */
+
+
 /* -eof- */
 /* -eof- */