mirror of
https://github.com/osmarks/ngircd.git
synced 2025-01-19 12:02:52 +00:00
Implement +I (private channel list on whois)
Implements enhancement requested in issue #179
This commit is contained in:
parent
c5da483685
commit
21767c968d
@ -177,7 +177,7 @@
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
/** Supported user modes. */
|
/** Supported user modes. */
|
||||||
#define USERMODES "abBcCFioqrRswx"
|
#define USERMODES "abBcCFiIoqrRswx"
|
||||||
|
|
||||||
/** Supported channel modes. */
|
/** Supported channel modes. */
|
||||||
#define CHANMODES "abehiIklmMnoOPqQrRstvVz"
|
#define CHANMODES "abehiIklmMnoOPqQrRstvVz"
|
||||||
|
@ -313,7 +313,8 @@ IRC_WHOIS_SendReply(CLIENT *Client, CLIENT *from, CLIENT *c)
|
|||||||
Client_Info(Client_Introducer(c))))
|
Client_Info(Client_Introducer(c))))
|
||||||
return DISCONNECTED;
|
return DISCONNECTED;
|
||||||
|
|
||||||
/* Channels */
|
/* Channels, show only if client has no +I or if from is oper */
|
||||||
|
if(!(Client_HasMode(c, 'I')) || Client_HasMode(from, 'o')) {
|
||||||
snprintf(str, sizeof(str), RPL_WHOISCHANNELS_MSG,
|
snprintf(str, sizeof(str), RPL_WHOISCHANNELS_MSG,
|
||||||
Client_ID(from), Client_ID(c));
|
Client_ID(from), Client_ID(c));
|
||||||
cl2chan = Channel_FirstChannelOf(c);
|
cl2chan = Channel_FirstChannelOf(c);
|
||||||
@ -355,6 +356,7 @@ IRC_WHOIS_SendReply(CLIENT *Client, CLIENT *from, CLIENT *c)
|
|||||||
if (!IRC_WriteStrClient(Client, "%s", str))
|
if (!IRC_WriteStrClient(Client, "%s", str))
|
||||||
return DISCONNECTED;
|
return DISCONNECTED;
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/* IRC-Services? */
|
/* IRC-Services? */
|
||||||
if (Client_Type(c) == CLIENT_SERVICE &&
|
if (Client_Type(c) == CLIENT_SERVICE &&
|
||||||
|
@ -206,6 +206,7 @@ Client_Mode( CLIENT *Client, REQUEST *Req, CLIENT *Origin, CLIENT *Target )
|
|||||||
case 'b': /* Block private msgs */
|
case 'b': /* Block private msgs */
|
||||||
case 'C': /* Only messages from clients sharing a channel */
|
case 'C': /* Only messages from clients sharing a channel */
|
||||||
case 'i': /* Invisible */
|
case 'i': /* Invisible */
|
||||||
|
case 'I': /* Hide channel list from WHOIS */
|
||||||
case 's': /* Server messages */
|
case 's': /* Server messages */
|
||||||
case 'w': /* Wallops messages */
|
case 'w': /* Wallops messages */
|
||||||
x[0] = *mode_ptr;
|
x[0] = *mode_ptr;
|
||||||
|
Loading…
Reference in New Issue
Block a user