diff options
| author | Alexander Barton <alex@barton.de> | 2012-06-11 10:44:02 +0200 |
|---|---|---|
| committer | Alexander Barton <alex@barton.de> | 2012-06-11 10:44:28 +0200 |
| commit | bf5610a3b9ceef67da9777c5f4a72b9733124a33 (patch) | |
| tree | c77752a065261d346bb5e56e2b62586a6a2efe39 /src | |
| parent | 7bce6780ca0099f38efc801a7e613939cb90c99a (diff) | |
| parent | bf121ae95fa352d74ec710fda33c08148562a52c (diff) | |
| download | ngircd-bf5610a3b9ceef67da9777c5f4a72b9733124a33.tar.gz ngircd-bf5610a3b9ceef67da9777c5f4a72b9733124a33.zip | |
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.
Diffstat (limited to 'src')
| -rw-r--r-- | src/ngircd/client.c | 4 | ||||
| -rw-r--r-- | src/ngircd/conf.c | 8 | ||||
| -rw-r--r-- | src/ngircd/conf.h | 3 |
3 files changed, 14 insertions, 1 deletions
diff --git a/src/ngircd/client.c b/src/ngircd/client.c index 1b356848..e203cdd0 100644 --- a/src/ngircd/client.c +++ b/src/ngircd/client.c @@ -825,7 +825,9 @@ Client_MaskCloaked(CLIENT *Client) return Client_Mask(Client); 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; } /* Client_MaskCloaked */ diff --git a/src/ngircd/conf.c b/src/ngircd/conf.c index f274eb82..5f7b24fc 100644 --- a/src/ngircd/conf.c +++ b/src/ngircd/conf.c @@ -358,6 +358,7 @@ Conf_Test( void ) printf(" AllowRemoteOper = %s\n", yesno_to_str(Conf_AllowRemoteOper)); printf(" ChrootDir = %s\n", Conf_Chroot); printf(" CloakHost = %s\n", Conf_CloakHost); + printf(" CloakHostModeX = %s\n", Conf_CloakHostModeX); printf(" CloakUserToNick = %s\n", yesno_to_str(Conf_CloakUserToNick)); #ifdef WANT_IPV6 printf(" ConnectIPv4 = %s\n", yesno_to_str(Conf_ConnectIPv6)); @@ -684,6 +685,7 @@ Set_Defaults(bool InitServers) #endif strlcpy(Conf_Chroot, CHROOT_DIR, sizeof(Conf_Chroot)); strcpy(Conf_CloakHost, ""); + strcpy(Conf_CloakHostModeX, ""); Conf_CloakUserToNick = false; Conf_ConnectIPv4 = true; #ifdef WANT_IPV6 @@ -1477,6 +1479,12 @@ Handle_OPTIONS(int Line, char *Var, char *Arg) Config_Error_TooLong(Line, Var); 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) { Conf_CloakUserToNick = Check_ArgIsTrue(Arg); return; diff --git a/src/ngircd/conf.h b/src/ngircd/conf.h index be19afc6..86f00fe4 100644 --- a/src/ngircd/conf.h +++ b/src/ngircd/conf.h @@ -166,6 +166,9 @@ GLOBAL bool Conf_AllowRemoteOper; /** Cloaked hostname of the clients */ 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? */ GLOBAL bool Conf_CloakUserToNick; |