X-Git-Url: https://git.netwichtig.de/gitweb/?a=blobdiff_plain;f=src%2Fconfigreader.cpp;h=e184353160270898964ac22f8b3409820ae36865;hb=cf83031f7bf1c037bf726df84f93686b9631531b;hp=3f99a52e21791197ad55dbc0bc947ea56f1fb7cc;hpb=9f33bf7fc83cffccae96eb622bf39e8f4838b809;p=user%2Fhenk%2Fcode%2Finspircd.git diff --git a/src/configreader.cpp b/src/configreader.cpp index 3f99a52e2..e18435316 100644 --- a/src/configreader.cpp +++ b/src/configreader.cpp @@ -125,7 +125,7 @@ void ServerConfig::Update005() void ServerConfig::Send005(User* user) { for (std::vector::iterator line = ServerInstance->Config->isupport.begin(); line != ServerInstance->Config->isupport.end(); line++) - user->WriteNumeric(005, "%s %s", user->nick, line->c_str()); + user->WriteNumeric(005, "%s %s", user->nick.c_str(), line->c_str()); } bool ServerConfig::CheckOnce(const char* tag, ConfigDataHash &newconf) @@ -524,7 +524,12 @@ bool DoConnect(ServerConfig* conf, const char*, char**, ValueList &values, int*) for (ClassVector::iterator item = conf->Classes.begin(); item != conf->Classes.end(); ++item) { ConnectClass* cc = *item; - if ((*name && (cc->GetName() == name)) || (*allow && (cc->GetHost() == allow)) || (*deny && (cc->GetHost() == deny))) + if ( + ((*name && (cc->GetName() == name)) || // if the name is the same + (*allow && (cc->GetHost() == allow)) || // or the allow is the same + (*deny && (cc->GetHost() == deny))) && // or the deny is the same + (!port || port && (cc->GetPort() == port)) // and there is no port, or there is a port and the port is the same + ) { /* reenable class so users can be shoved into it :P */ cc->SetDisabled(false); @@ -726,11 +731,11 @@ void ServerConfig::ReportConfigError(const std::string &errormessage, bool bail, /* ":ServerInstance->Config->ServerName NOTICE user->nick :" */ if (user) { - prefixlen = strlen(this->ServerName) + strlen(user->nick) + 11; - user->WriteServ("NOTICE %s :There were errors in the configuration file:",user->nick); + prefixlen = strlen(this->ServerName) + user->nick.length() + 11; + user->WriteServ("NOTICE %s :There were errors in the configuration file:",user->nick.c_str()); while (start < errors.length()) { - user->WriteServ("NOTICE %s :%s",user->nick, errors.substr(start, 510 - prefixlen).c_str()); + user->WriteServ("NOTICE %s :%s",user->nick.c_str(), errors.substr(start, 510 - prefixlen).c_str()); start += 510 - prefixlen; } } @@ -956,7 +961,7 @@ void ServerConfig::Read(bool bail, User* user) /* Read the values of all the tags which occur once or not at all, and call their callbacks. */ - for (int Index = 0; Values[Index].tag; Index++) + for (int Index = 0; Values[Index].tag; ++Index) { char item[MAXBUF]; int dt = Values[Index].datatype; @@ -992,7 +997,6 @@ void ServerConfig::Read(bool bail, User* user) ValueContainerChar* vcc = (ValueContainerChar*)Values[Index].val; this->ValidateHostname(vi.GetString(), Values[Index].tag, Values[Index].value); vcc->Set(vi.GetString(), strlen(vi.GetString()) + 1); - ServerInstance->Logs->Log("CONFIG",DEFAULT,"Got %s", vi.GetString()); } break; case DT_IPADDRESS: @@ -1047,7 +1051,7 @@ void ServerConfig::Read(bool bail, User* user) * and call the callbacks associated with them. We have three * callbacks for these, a 'start', 'item' and 'end' callback. */ - for (int Index = 0; MultiValues[Index].tag; Index++) + for (int Index = 0; MultiValues[Index].tag; ++Index) { ServerInstance->Threads->Mutex(true); MultiValues[Index].init_function(this, MultiValues[Index].tag); @@ -1055,10 +1059,10 @@ void ServerConfig::Read(bool bail, User* user) int number_of_tags = ConfValueEnum(newconfig, MultiValues[Index].tag); - for (int tagnum = 0; tagnum < number_of_tags; tagnum++) + for (int tagnum = 0; tagnum < number_of_tags; ++tagnum) { ValueList vl; - for (int valuenum = 0; MultiValues[Index].items[valuenum]; valuenum++) + for (int valuenum = 0; (MultiValues[Index].items[valuenum]) && (valuenum < MAX_VALUES_PER_TAG); ++valuenum) { int dt = MultiValues[Index].datatype[valuenum]; bool allow_newlines = ((dt & DT_ALLOW_NEWLINE) > 0); @@ -1187,7 +1191,7 @@ void ServerConfig::Read(bool bail, User* user) if (!foundclass) { if (user) - user->WriteServ("NOTICE %s :*** Warning: Oper type '%s' has a missing class named '%s', this does nothing!", user->nick, item, classname.c_str()); + user->WriteServ("NOTICE %s :*** Warning: Oper type '%s' has a missing class named '%s', this does nothing!", user->nick.c_str(), item, classname.c_str()); else { if (bail) @@ -1224,12 +1228,12 @@ void ServerConfig::Read(bool bail, User* user) if (pl.size() && user) { ServerInstance->Threads->Mutex(true); - user->WriteServ("NOTICE %s :*** Not all your client ports could be bound.", user->nick); - user->WriteServ("NOTICE %s :*** The following port(s) failed to bind:", user->nick); + user->WriteServ("NOTICE %s :*** Not all your client ports could be bound.", user->nick.c_str()); + user->WriteServ("NOTICE %s :*** The following port(s) failed to bind:", user->nick.c_str()); int j = 1; for (FailedPortList::iterator i = pl.begin(); i != pl.end(); i++, j++) { - user->WriteServ("NOTICE %s :*** %d. IP: %s Port: %lu", user->nick, j, i->first.empty() ? "" : i->first.c_str(), (unsigned long)i->second); + user->WriteServ("NOTICE %s :*** %d. IP: %s Port: %lu", user->nick.c_str(), j, i->first.empty() ? "" : i->first.c_str(), (unsigned long)i->second); } ServerInstance->Threads->Mutex(false); } @@ -1244,14 +1248,14 @@ void ServerConfig::Read(bool bail, User* user) ServerInstance->SNO->WriteToSnoMask('A', "*** REHASH UNLOADED MODULE: %s",removing->c_str()); if (user) - user->WriteNumeric(973, "%s %s :Module %s successfully unloaded.",user->nick, removing->c_str(), removing->c_str()); + user->WriteNumeric(973, "%s %s :Module %s successfully unloaded.",user->nick.c_str(), removing->c_str(), removing->c_str()); rem++; } else { if (user) - user->WriteNumeric(972, "%s %s :Failed to unload module %s: %s",user->nick, removing->c_str(), removing->c_str(), ServerInstance->Modules->LastError().c_str()); + user->WriteNumeric(972, "%s %s :Failed to unload module %s: %s",user->nick.c_str(), removing->c_str(), removing->c_str(), ServerInstance->Modules->LastError().c_str()); } } } @@ -1265,14 +1269,14 @@ void ServerConfig::Read(bool bail, User* user) ServerInstance->SNO->WriteToSnoMask('A', "*** REHASH LOADED MODULE: %s",adding->c_str()); if (user) - user->WriteNumeric(975, "%s %s :Module %s successfully loaded.",user->nick, adding->c_str(), adding->c_str()); + user->WriteNumeric(975, "%s %s :Module %s successfully loaded.",user->nick.c_str(), adding->c_str(), adding->c_str()); add++; } else { if (user) - user->WriteNumeric(974, "%s %s :Failed to load module %s: %s",user->nick, adding->c_str(), adding->c_str(), ServerInstance->Modules->LastError().c_str()); + user->WriteNumeric(974, "%s %s :Failed to load module %s: %s",user->nick.c_str(), adding->c_str(), adding->c_str(), ServerInstance->Modules->LastError().c_str()); } } } @@ -1289,7 +1293,7 @@ void ServerConfig::Read(bool bail, User* user) ServerInstance->Threads->Mutex(false); if (user) - user->WriteServ("NOTICE %s :*** Successfully rehashed server.", user->nick); + user->WriteServ("NOTICE %s :*** Successfully rehashed server.", user->nick.c_str()); else ServerInstance->SNO->WriteToSnoMask('A', "*** Successfully rehashed server.");