Introduce numeric RPL_HOSTHIDDEN_MSG(396)
This numeric is sent to the client each time it changes its displayed hostname using "MODE +/-x", and if "CloakHost" is set right after the MOTD has been sent.
This commit is contained in:
parent
33fae67579
commit
21467c76f1
|
@ -1483,7 +1483,15 @@ Show_MOTD_Sendline(CLIENT *Client, const char *msg)
|
||||||
static bool
|
static bool
|
||||||
Show_MOTD_End(CLIENT *Client)
|
Show_MOTD_End(CLIENT *Client)
|
||||||
{
|
{
|
||||||
return IRC_WriteStrClient( Client, RPL_ENDOFMOTD_MSG, Client_ID( Client ));
|
if (!IRC_WriteStrClient(Client, RPL_ENDOFMOTD_MSG, Client_ID(Client)))
|
||||||
|
return DISCONNECTED;
|
||||||
|
|
||||||
|
if (*Conf_CloakHost)
|
||||||
|
return IRC_WriteStrClient(Client, RPL_HOSTHIDDEN_MSG,
|
||||||
|
Client_ID(Client),
|
||||||
|
Client_Hostname(Client));
|
||||||
|
|
||||||
|
return CONNECTED;
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef SSL_SUPPORT
|
#ifdef SSL_SUPPORT
|
||||||
|
|
|
@ -138,6 +138,7 @@ Client_Mode( CLIENT *Client, REQUEST *Req, CLIENT *Origin, CLIENT *Target )
|
||||||
{
|
{
|
||||||
char the_modes[COMMAND_LEN], x[2], *mode_ptr;
|
char the_modes[COMMAND_LEN], x[2], *mode_ptr;
|
||||||
bool ok, set;
|
bool ok, set;
|
||||||
|
bool send_RPL_HOSTHIDDEN_MSG = false;
|
||||||
int mode_arg;
|
int mode_arg;
|
||||||
size_t len;
|
size_t len;
|
||||||
|
|
||||||
|
@ -279,6 +280,7 @@ Client_Mode( CLIENT *Client, REQUEST *Req, CLIENT *Origin, CLIENT *Target )
|
||||||
Client_ID(Origin));
|
Client_ID(Origin));
|
||||||
else
|
else
|
||||||
x[0] = 'x';
|
x[0] = 'x';
|
||||||
|
send_RPL_HOSTHIDDEN_MSG = true;
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
if (Client_Type(Client) != CLIENT_SERVER) {
|
if (Client_Type(Client) != CLIENT_SERVER) {
|
||||||
|
@ -348,6 +350,10 @@ Client_Mode( CLIENT *Client, REQUEST *Req, CLIENT *Origin, CLIENT *Target )
|
||||||
"MODE %s :%s",
|
"MODE %s :%s",
|
||||||
Client_ID(Target),
|
Client_ID(Target),
|
||||||
the_modes);
|
the_modes);
|
||||||
|
if (send_RPL_HOSTHIDDEN_MSG)
|
||||||
|
IRC_WriteStrClient(Client, RPL_HOSTHIDDEN_MSG,
|
||||||
|
Client_ID(Client),
|
||||||
|
Client_HostnameCloaked(Client));
|
||||||
}
|
}
|
||||||
LogDebug("%s \"%s\": Mode change, now \"%s\".",
|
LogDebug("%s \"%s\": Mode change, now \"%s\".",
|
||||||
Client_TypeText(Target), Client_Mask(Target),
|
Client_TypeText(Target), Client_Mask(Target),
|
||||||
|
|
|
@ -96,6 +96,7 @@
|
||||||
#define RPL_YOUREOPER_MSG "381 %s :You are now an IRC Operator"
|
#define RPL_YOUREOPER_MSG "381 %s :You are now an IRC Operator"
|
||||||
#define RPL_YOURESERVICE_MSG "383 %s :You are service %s"
|
#define RPL_YOURESERVICE_MSG "383 %s :You are service %s"
|
||||||
#define RPL_TIME_MSG "391 %s %s :%s"
|
#define RPL_TIME_MSG "391 %s %s :%s"
|
||||||
|
#define RPL_HOSTHIDDEN_MSG "396 %s %s :is your displayed hostname now"
|
||||||
|
|
||||||
#define ERR_NOSUCHNICK_MSG "401 %s %s :No such nick or channel name"
|
#define ERR_NOSUCHNICK_MSG "401 %s %s :No such nick or channel name"
|
||||||
#define ERR_NOSUCHSERVER_MSG "402 %s %s :No such server"
|
#define ERR_NOSUCHSERVER_MSG "402 %s %s :No such server"
|
||||||
|
|
Loading…
Reference in New Issue