- if( strlcpy( Conf_Oper[Conf_Oper_Count - 1].pwd, Arg, sizeof( Conf_Oper[Conf_Oper_Count - 1].pwd )) >= sizeof( Conf_Oper[Conf_Oper_Count - 1].pwd )) Config_Error( LOG_WARNING, "%s, line %d: Value of \"Password\" too long!", NGIRCd_ConfFile, Line );
+ if( strlcpy( Conf_Oper[Conf_Oper_Count - 1].pwd, Arg, sizeof( Conf_Oper[Conf_Oper_Count - 1].pwd )) >= sizeof( Conf_Oper[Conf_Oper_Count - 1].pwd )) Config_Error_TooLong( Line, Var );
+ return;
+ }
+ if( strcasecmp( Var, "Mask" ) == 0 )
+ {
+ if (Conf_Oper[Conf_Oper_Count - 1].mask) return; /* Hostname already configured */
+ len = strlen( Arg ) + 1;
+ Conf_Oper[Conf_Oper_Count - 1].mask = malloc( len );
+ if (! Conf_Oper[Conf_Oper_Count - 1].mask) {
+ Config_Error( LOG_ERR, "%s, line %d: Cannot allocate memory for operator mask: %s", NGIRCd_ConfFile, Line, strerror(errno) );
+ return;
+ }
+
+ strlcpy( Conf_Oper[Conf_Oper_Count - 1].mask, Arg, len);