commit - 51ed74205432036f729d96bf5683ca858aae9f10
commit + f76e0a1db689dadfe32f211002248d03416b3982
blob - c565830a6b82957c8cc0287046c2175b7459b60c
blob + 671bf6cef5b5fed0e6f855baa2b98d5b8a447aaa
--- src/ngircd/client.c
+++ src/ngircd/client.c
"%s \"%s\" unregistered (connection %d): %s",
Client_TypeText(Client), Client_Mask(Client),
Client->conn_id, Txt);
+ Log_ServerNotice('c', "Client exiting: %s (%s@%s) [%s]",
+ Client_ID(Client), Client_User(Client),
+ Client_Hostname(Client), Txt);
if (SendQuit) {
/* Inforam all the other servers */
blob - 94c7dd1e92a393ae24478cb037af1755cb25e334
blob + b463c5f9f54006fb0fde6539c508c666569775ea
--- src/ngircd/defines.h
+++ src/ngircd/defines.h
#define RECONNECT_DELAY 3 /* Time to delay re-connect attempts
in seconds. */
-#define USERMODES "aiorsw" /* Supported user modes. */
+#define USERMODES "aciorsw" /* Supported user modes. */
#define CHANMODES "biIklmnoPstvz" /* Supported channel modes. */
#define CONNECTED true /* Internal status codes. */
blob - c8b44dbc1653723d0a32cddd4f63300c8e906a60
blob + 8e77e7fe34ddcefde11788fd00a5e15c0c7e77f9
--- src/ngircd/irc-login.c
+++ src/ngircd/irc-login.c
Client_Modes(Client), Client_ID(From),
Client_ID(Client_Introducer(Client)),
Client_Hops(Client), Client_Hops(Client) > 1 ? "s": "");
- } else
+ } else {
Log(LOG_NOTICE, "%s \"%s\" registered (connection %d).",
Client_TypeText(Client), Client_Mask(Client),
Client_Conn(Client));
+ Log_ServerNotice('c', "Client connecting: %s (%s@%s) [%s] - %s",
+ Client_ID(Client), Client_User(Client),
+ Client_Hostname(Client),
+ Conn_IPA(Client_Conn(Client)),
+ Client_TypeText(Client));
+ }
/* Inform other servers */
IRC_WriteStrServersPrefixFlag_CB(From,
blob - d22d32f01acc3c82a787ecc375a6fe041cc57e39
blob + cd470863aa2edea492a9e818cce5103c1d50af72
--- src/ngircd/irc-mode.c
+++ src/ngircd/irc-mode.c
else ok = IRC_WriteStrClient( Origin, ERR_NOPRIVILEGES_MSG, Client_ID( Origin ));
break;
+ case 'c': /* Receive connect notices
+ * (only settable by IRC operators!) */
+ if(!set || Client_OperByMe(Origin)
+ || Client_Type(Client) == CLIENT_SERVER)
+ x[0] = 'c';
+ else
+ ok = IRC_WriteStrClient(Origin,
+ ERR_NOPRIVILEGES_MSG,
+ Client_ID(Origin));
+ break;
case 'o': /* IRC operator (only unsettable!) */
if(( ! set ) || ( Client_Type( Client ) == CLIENT_SERVER ))
{