Merge branch 'bug124-CloakHostModeX'

* bug124-CloakHostModeX:
  Describe "CloakHostModeX" in sample-ngircd.conf an ngircd.conf(5)
  Rename "CloakModeHost" option to "CloakHostModeX"
  Introduce new configuration option "CloakModeHost"

This closes bug #124.
This commit is contained in:
Alexander Barton 2012-06-11 10:44:02 +02:00
commit bf5610a3b9
5 changed files with 32 additions and 2 deletions

View File

@ -127,7 +127,13 @@
# Set this hostname for every client instead of the real one. # Set this hostname for every client instead of the real one.
# Please note: don't use the percentage sign ("%"), it is reserved for # Please note: don't use the percentage sign ("%"), it is reserved for
# future extensions! # future extensions!
;CloakHost = irc.example.net ;CloakHost = cloaked.host
# Use this hostname for hostname cloaking on clients that have the
# user mode "+x" set, instead of the name of the server.
# Please note: don't use the percentage sign ("%"), it is reserved for
# future extensions!
;CloakHostModeX = cloaked.user
# Set every clients' user name to their nick name # Set every clients' user name to their nick name
;CloakUserToNick = yes ;CloakUserToNick = yes

View File

@ -220,6 +220,17 @@ don't change.
Don't use the percentage sign ("%"), it is reserved for future extensions! Don't use the percentage sign ("%"), it is reserved for future extensions!
.RE .RE
.TP .TP
\fBCloakHostModeX\fR (string)
Use this hostname for hostname cloaking on clients that have the user mode
"+x" set, instead of the name of the server. Default: empty, use the name
of the server.
.PP
.RS
.B Please note:
.br
Don't use the percentage sign ("%"), it is reserved for future extensions!
.RE
.TP
\fBCloakUserToNick\fR (boolean) \fBCloakUserToNick\fR (boolean)
Set every clients' user name to their nick name and hide the one supplied Set every clients' user name to their nick name and hide the one supplied
by the IRC client. Default: no. by the IRC client. Default: no.

View File

@ -825,7 +825,9 @@ Client_MaskCloaked(CLIENT *Client)
return Client_Mask(Client); return Client_Mask(Client);
snprintf(Mask_Buffer, GETID_LEN, "%s!%s@%s", snprintf(Mask_Buffer, GETID_LEN, "%s!%s@%s",
Client->id, Client->user, Client_ID(Client->introducer)); Client->id, Client->user,
*Conf_CloakHostModeX ? Conf_CloakHostModeX
: Client_ID(Client->introducer));
return Mask_Buffer; return Mask_Buffer;
} /* Client_MaskCloaked */ } /* Client_MaskCloaked */

View File

@ -358,6 +358,7 @@ Conf_Test( void )
printf(" AllowRemoteOper = %s\n", yesno_to_str(Conf_AllowRemoteOper)); printf(" AllowRemoteOper = %s\n", yesno_to_str(Conf_AllowRemoteOper));
printf(" ChrootDir = %s\n", Conf_Chroot); printf(" ChrootDir = %s\n", Conf_Chroot);
printf(" CloakHost = %s\n", Conf_CloakHost); printf(" CloakHost = %s\n", Conf_CloakHost);
printf(" CloakHostModeX = %s\n", Conf_CloakHostModeX);
printf(" CloakUserToNick = %s\n", yesno_to_str(Conf_CloakUserToNick)); printf(" CloakUserToNick = %s\n", yesno_to_str(Conf_CloakUserToNick));
#ifdef WANT_IPV6 #ifdef WANT_IPV6
printf(" ConnectIPv4 = %s\n", yesno_to_str(Conf_ConnectIPv6)); printf(" ConnectIPv4 = %s\n", yesno_to_str(Conf_ConnectIPv6));
@ -684,6 +685,7 @@ Set_Defaults(bool InitServers)
#endif #endif
strlcpy(Conf_Chroot, CHROOT_DIR, sizeof(Conf_Chroot)); strlcpy(Conf_Chroot, CHROOT_DIR, sizeof(Conf_Chroot));
strcpy(Conf_CloakHost, ""); strcpy(Conf_CloakHost, "");
strcpy(Conf_CloakHostModeX, "");
Conf_CloakUserToNick = false; Conf_CloakUserToNick = false;
Conf_ConnectIPv4 = true; Conf_ConnectIPv4 = true;
#ifdef WANT_IPV6 #ifdef WANT_IPV6
@ -1477,6 +1479,12 @@ Handle_OPTIONS(int Line, char *Var, char *Arg)
Config_Error_TooLong(Line, Var); Config_Error_TooLong(Line, Var);
return; return;
} }
if (strcasecmp(Var, "CloakHostModeX") == 0) {
len = strlcpy(Conf_CloakHostModeX, Arg, sizeof(Conf_CloakHostModeX));
if (len >= sizeof(Conf_CloakHostModeX))
Config_Error_TooLong(Line, Var);
return;
}
if (strcasecmp(Var, "CloakUserToNick") == 0) { if (strcasecmp(Var, "CloakUserToNick") == 0) {
Conf_CloakUserToNick = Check_ArgIsTrue(Arg); Conf_CloakUserToNick = Check_ArgIsTrue(Arg);
return; return;

View File

@ -166,6 +166,9 @@ GLOBAL bool Conf_AllowRemoteOper;
/** Cloaked hostname of the clients */ /** Cloaked hostname of the clients */
GLOBAL char Conf_CloakHost[CLIENT_ID_LEN]; GLOBAL char Conf_CloakHost[CLIENT_ID_LEN];
/** Cloaked hostname for clients that did +x */
GLOBAL char Conf_CloakHostModeX[CLIENT_ID_LEN];
/** Use nick name as user name? */ /** Use nick name as user name? */
GLOBAL bool Conf_CloakUserToNick; GLOBAL bool Conf_CloakUserToNick;