mirror of
https://github.com/osmarks/ngircd.git
synced 2024-12-12 09:50:29 +00:00
Merge branch 'bug165-005-NETWORK' of git://arthur.barton.de/ngircd-alex
* 'bug165-005-NETWORK' of git://arthur.barton.de/ngircd-alex: Implement new configuration option "Network"
This commit is contained in:
commit
61b7932e82
@ -54,6 +54,12 @@
|
|||||||
# A simple Phrase (<256 chars) if you don't want to use a motd file.
|
# A simple Phrase (<256 chars) if you don't want to use a motd file.
|
||||||
;MotdPhrase = "Hello world!"
|
;MotdPhrase = "Hello world!"
|
||||||
|
|
||||||
|
# The name of the IRC network to which this server belongs. This name
|
||||||
|
# is optional, should only contain ASCII characters, and can't contain
|
||||||
|
# spaces. It is only used to inform clients. The default is empty,
|
||||||
|
# so no network name is announced to clients.
|
||||||
|
;Network = aIRCnetwork
|
||||||
|
|
||||||
# Global password for all users needed to connect to the server.
|
# Global password for all users needed to connect to the server.
|
||||||
# (Default: not set)
|
# (Default: not set)
|
||||||
;Password = abc
|
;Password = abc
|
||||||
|
@ -126,6 +126,12 @@ configuration file.
|
|||||||
\fBMotdPhrase\fR (string)
|
\fBMotdPhrase\fR (string)
|
||||||
A simple Phrase (<256 chars) if you don't want to use a MOTD file.
|
A simple Phrase (<256 chars) if you don't want to use a MOTD file.
|
||||||
.TP
|
.TP
|
||||||
|
\fBNetwork\fR (string)
|
||||||
|
The name of the IRC network to which this server belongs. This name is
|
||||||
|
optional, should only contain ASCII characters, and can't contain spaces.
|
||||||
|
It is only used to inform clients. The default is empty, so no network
|
||||||
|
name is announced to clients.
|
||||||
|
.TP
|
||||||
\fBPassword\fR (string)
|
\fBPassword\fR (string)
|
||||||
Global password for all users needed to connect to the server. The default is
|
Global password for all users needed to connect to the server. The default is
|
||||||
empty, so no password is required. Please note: This feature is not available
|
empty, so no password is required. Please note: This feature is not available
|
||||||
|
@ -369,6 +369,7 @@ Conf_Test( void )
|
|||||||
printf(" MotdPhrase = %s\n", array_bytes(&Conf_Motd)
|
printf(" MotdPhrase = %s\n", array_bytes(&Conf_Motd)
|
||||||
? (const char*) array_start(&Conf_Motd) : "");
|
? (const char*) array_start(&Conf_Motd) : "");
|
||||||
}
|
}
|
||||||
|
printf(" Network = %s\n", Conf_Network);
|
||||||
#ifndef PAM
|
#ifndef PAM
|
||||||
printf(" Password = %s\n", Conf_ServerPwd);
|
printf(" Password = %s\n", Conf_ServerPwd);
|
||||||
#endif
|
#endif
|
||||||
@ -749,6 +750,7 @@ Set_Defaults(bool InitServers)
|
|||||||
strcpy(Conf_ServerAdminMail, "");
|
strcpy(Conf_ServerAdminMail, "");
|
||||||
snprintf(Conf_ServerInfo, sizeof Conf_ServerInfo, "%s %s",
|
snprintf(Conf_ServerInfo, sizeof Conf_ServerInfo, "%s %s",
|
||||||
PACKAGE_NAME, PACKAGE_VERSION);
|
PACKAGE_NAME, PACKAGE_VERSION);
|
||||||
|
strcpy(Conf_Network, "");
|
||||||
free(Conf_ListenAddress);
|
free(Conf_ListenAddress);
|
||||||
Conf_ListenAddress = NULL;
|
Conf_ListenAddress = NULL;
|
||||||
array_free(&Conf_ListenPorts);
|
array_free(&Conf_ListenPorts);
|
||||||
@ -1409,6 +1411,7 @@ Handle_GLOBAL(const char *File, int Line, char *Var, char *Arg )
|
|||||||
struct group *grp;
|
struct group *grp;
|
||||||
size_t len;
|
size_t len;
|
||||||
const char *section;
|
const char *section;
|
||||||
|
char *ptr;
|
||||||
|
|
||||||
assert(File != NULL);
|
assert(File != NULL);
|
||||||
assert(Line > 0);
|
assert(Line > 0);
|
||||||
@ -1491,6 +1494,19 @@ Handle_GLOBAL(const char *File, int Line, char *Var, char *Arg )
|
|||||||
Using_MotdFile = false;
|
Using_MotdFile = false;
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
if (strcasecmp(Var, "Network") == 0) {
|
||||||
|
len = strlcpy(Conf_Network, Arg, sizeof(Conf_Network));
|
||||||
|
if (len >= sizeof(Conf_Network))
|
||||||
|
Config_Error_TooLong(File, Line, Var);
|
||||||
|
ptr = strchr(Conf_Network, ' ');
|
||||||
|
if (ptr) {
|
||||||
|
Config_Error(LOG_WARNING,
|
||||||
|
"%s, line %d: \"Network\" can't contain spaces!",
|
||||||
|
File, Line);
|
||||||
|
*ptr = '\0';
|
||||||
|
}
|
||||||
|
return;
|
||||||
|
}
|
||||||
if(strcasecmp(Var, "Password") == 0) {
|
if(strcasecmp(Var, "Password") == 0) {
|
||||||
len = strlcpy(Conf_ServerPwd, Arg, sizeof(Conf_ServerPwd));
|
len = strlcpy(Conf_ServerPwd, Arg, sizeof(Conf_ServerPwd));
|
||||||
if (len >= sizeof(Conf_ServerPwd))
|
if (len >= sizeof(Conf_ServerPwd))
|
||||||
|
@ -109,6 +109,9 @@ GLOBAL char Conf_ServerAdmin1[CLIENT_INFO_LEN];
|
|||||||
GLOBAL char Conf_ServerAdmin2[CLIENT_INFO_LEN];
|
GLOBAL char Conf_ServerAdmin2[CLIENT_INFO_LEN];
|
||||||
GLOBAL char Conf_ServerAdminMail[CLIENT_INFO_LEN];
|
GLOBAL char Conf_ServerAdminMail[CLIENT_INFO_LEN];
|
||||||
|
|
||||||
|
/** Network name (optional, no spaces allowed) */
|
||||||
|
GLOBAL char Conf_Network[CLIENT_INFO_LEN];
|
||||||
|
|
||||||
/** Message of the day (MOTD) of this server */
|
/** Message of the day (MOTD) of this server */
|
||||||
GLOBAL array Conf_Motd;
|
GLOBAL array Conf_Motd;
|
||||||
|
|
||||||
|
@ -1539,6 +1539,10 @@ IRC_Send_NAMES(CLIENT * Client, CHANNEL * Chan)
|
|||||||
GLOBAL bool
|
GLOBAL bool
|
||||||
IRC_Send_ISUPPORT(CLIENT * Client)
|
IRC_Send_ISUPPORT(CLIENT * Client)
|
||||||
{
|
{
|
||||||
|
if (Conf_Network[0] && !IRC_WriteStrClient(Client, RPL_ISUPPORTNET_MSG,
|
||||||
|
Client_ID(Client),
|
||||||
|
Conf_Network))
|
||||||
|
return DISCONNECTED;
|
||||||
if (!IRC_WriteStrClient(Client, RPL_ISUPPORT1_MSG, Client_ID(Client),
|
if (!IRC_WriteStrClient(Client, RPL_ISUPPORT1_MSG, Client_ID(Client),
|
||||||
CHANTYPES, CHANTYPES, Conf_MaxJoins))
|
CHANTYPES, CHANTYPES, Conf_MaxJoins))
|
||||||
return DISCONNECTED;
|
return DISCONNECTED;
|
||||||
|
@ -21,6 +21,7 @@
|
|||||||
#define RPL_YOURHOST_MSG "002 %s :Your host is %s, running version ngircd-%s (%s/%s/%s)"
|
#define RPL_YOURHOST_MSG "002 %s :Your host is %s, running version ngircd-%s (%s/%s/%s)"
|
||||||
#define RPL_CREATED_MSG "003 %s :This server has been started %s"
|
#define RPL_CREATED_MSG "003 %s :This server has been started %s"
|
||||||
#define RPL_MYINFO_MSG "004 %s %s ngircd-%s %s %s"
|
#define RPL_MYINFO_MSG "004 %s %s ngircd-%s %s %s"
|
||||||
|
#define RPL_ISUPPORTNET_MSG "005 %s NETWORK=%s :is my network name"
|
||||||
#define RPL_ISUPPORT1_MSG "005 %s RFC2812 IRCD=ngIRCd CHARSET=UTF-8 CASEMAPPING=ascii PREFIX=(qaohv)~&@%%+ CHANTYPES=%s CHANMODES=beI,k,l,imMnOPQRstVz CHANLIMIT=%s:%d :are supported on this server"
|
#define RPL_ISUPPORT1_MSG "005 %s RFC2812 IRCD=ngIRCd CHARSET=UTF-8 CASEMAPPING=ascii PREFIX=(qaohv)~&@%%+ CHANTYPES=%s CHANMODES=beI,k,l,imMnOPQRstVz CHANLIMIT=%s:%d :are supported on this server"
|
||||||
#define RPL_ISUPPORT2_MSG "005 %s CHANNELLEN=%d NICKLEN=%d TOPICLEN=%d AWAYLEN=%d KICKLEN=%d MODES=%d MAXLIST=beI:%d EXCEPTS=e INVEX=I PENALTY :are supported on this server"
|
#define RPL_ISUPPORT2_MSG "005 %s CHANNELLEN=%d NICKLEN=%d TOPICLEN=%d AWAYLEN=%d KICKLEN=%d MODES=%d MAXLIST=beI:%d EXCEPTS=e INVEX=I PENALTY :are supported on this server"
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user