repo: ngircd action: commit revision: path_from: revision_from: 71d8c371711f70e2d4b7ef9c908443a018cd6701: path_to: revision_to:
commit 71d8c371711f70e2d4b7ef9c908443a018cd6701 Author: Gabor Adam TothDate: Mon Dec 20 03:35:17 2010 +0100 ClientUserNick setting diff --git a/doc/sample-ngircd.conf.tmpl b/doc/sample-ngircd.conf.tmpl
--- a/doc/sample-ngircd.conf.tmpl +++ b/doc/sample-ngircd.conf.tmpl @@ -27,6 +27,9 @@ # Set this hostname for every client instead of the real one ;ClientHost = irc.the.net + # Set every clients' user name to their nick name + ;ClientUserNick = yes + # Info text of the server. This will be shown by WHOIS and # LINKS requests for example. Info = Server Info Text diff --git a/src/ngircd/client.c b/src/ngircd/client.c
--- a/src/ngircd/client.c
+++ b/src/ngircd/client.c
@@ -335,6 +335,9 @@ Client_SetID( CLIENT *Client, const char *ID )
strlcpy( Client->id, ID, sizeof( Client->id ));
+ if (Conf_ClientUserNick)
+ strlcpy( Client->user, ID, sizeof( Client->user ));
+
/* Hash */
Client->hash = Hash( Client->id );
} /* Client_SetID */
@@ -348,6 +351,8 @@ Client_SetUser( CLIENT *Client, const char *User, bool Idented )
assert( Client != NULL );
assert( User != NULL );
+ if (Conf_ClientUserNick) return;
+
if (Idented) {
strlcpy(Client->user, User, sizeof(Client->user));
} else {
diff --git a/src/ngircd/conf.c b/src/ngircd/conf.c
--- a/src/ngircd/conf.c
+++ b/src/ngircd/conf.c
@@ -296,6 +296,7 @@ Conf_Test( void )
puts( "[GLOBAL]" );
printf(" Name = %s\n", Conf_ServerName);
printf(" ClientHost = %s\n", Conf_ClientHost);
+ printf(" ClientUserNick = %s\n", yesno_to_str(Conf_ClientUserNick));
printf(" Info = %s\n", Conf_ServerInfo);
#ifndef PAM
printf(" Password = %s\n", Conf_ServerPwd);
@@ -592,6 +593,7 @@ Set_Defaults(bool InitServers)
strcpy(Conf_ServerName, "");
strcpy(Conf_ClientHost, "");
+ Conf_ClientUserNick = false;
snprintf(Conf_ServerInfo, sizeof Conf_ServerInfo, "%s %s",
PACKAGE_NAME, PACKAGE_VERSION);
strcpy(Conf_ServerPwd, "");
@@ -979,6 +981,11 @@ Handle_GLOBAL( int Line, char *Var, char *Arg )
Config_Error_TooLong( Line, Var );
return;
}
+ if( strcasecmp( Var, "ClientUserNick" ) == 0 ) {
+ /* Use client nick name as user name */
+ Conf_ClientUserNick = Check_ArgIsTrue( Arg );
+ return;
+ }
if( strcasecmp( Var, "Info" ) == 0 ) {
/* Info text of server */
len = strlcpy( Conf_ServerInfo, Arg, sizeof( Conf_ServerInfo ));
diff --git a/src/ngircd/conf.h b/src/ngircd/conf.h
--- a/src/ngircd/conf.h +++ b/src/ngircd/conf.h @@ -99,6 +99,7 @@ GLOBAL char Conf_ServerName[CLIENT_ID_LEN]; /** Hostname of the clients */ GLOBAL char Conf_ClientHost[CLIENT_ID_LEN]; +GLOBAL bool Conf_ClientUserNick; /** Server info text */ GLOBAL char Conf_ServerInfo[CLIENT_INFO_LEN];
-----END OF PAGE-----