summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorw00t <w00t@e03df62e-2008-0410-955e-edbf42e46eb7>2008-01-03 13:17:51 +0000
committerw00t <w00t@e03df62e-2008-0410-955e-edbf42e46eb7>2008-01-03 13:17:51 +0000
commitedb126e57fb28314f2460a7832018c005344c876 (patch)
tree04f1dfad9acf0603efe472ecd1cabde346b22697 /src
parentce5bee9a3e154674558ab627b282f1572ce4e594 (diff)
SID generation should(?) now work again as well. NOTE: no error checking on SID from config yet, we may wish to do that sometime..
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8620 e03df62e-2008-0410-955e-edbf42e46eb7
Diffstat (limited to 'src')
-rw-r--r--src/configreader.cpp16
-rw-r--r--src/inspircd.cpp13
2 files changed, 13 insertions, 16 deletions
diff --git a/src/configreader.cpp b/src/configreader.cpp
index 5b2cdd9d4..20dc5b8cb 100644
--- a/src/configreader.cpp
+++ b/src/configreader.cpp
@@ -478,13 +478,7 @@ bool ValidateInvite(ServerConfig* conf, const char*, const char*, ValueItem &dat
bool ValidateSID(ServerConfig* conf, const char*, const char*, ValueItem &data)
{
- int sid = data.GetInteger();
- if ((sid > 999) || (sid < 0))
- {
- sid = sid % 1000;
- data.Set(sid);
- conf->GetInstance()->Log(DEFAULT,"WARNING: Server ID is less than 0 or greater than 999. Set to %d", sid);
- }
+// std::string sid = data.GetString();
return true;
}
@@ -801,7 +795,7 @@ void ServerConfig::Read(bool bail, User* user, int pass)
{"server", "name", "", new ValueContainerChar (this->ServerName), DT_HOSTNAME, ValidateServerName},
{"server", "description", "Configure Me", new ValueContainerChar (this->ServerDesc), DT_CHARPTR, NoValidation},
{"server", "network", "Network", new ValueContainerChar (this->Network), DT_NOSPACES, NoValidation},
- {"server", "id", "0", new ValueContainerInt (&this->sid), DT_NOSPACES, ValidateSID},
+ {"server", "id", "", new ValueContainerChar (this->sid), DT_CHARPTR, ValidateSID},
{"admin", "name", "", new ValueContainerChar (this->AdminName), DT_CHARPTR, NoValidation},
{"admin", "email", "Mis@configu.red", new ValueContainerChar (this->AdminEmail), DT_CHARPTR, NoValidation},
{"admin", "nick", "Misconfigured", new ValueContainerChar (this->AdminNick), DT_CHARPTR, NoValidation},
@@ -2095,11 +2089,7 @@ InspIRCd* ServerConfig::GetInstance()
std::string ServerConfig::GetSID()
{
- std::string OurSID;
- OurSID += (char)((sid / 100) + 48);
- OurSID += (char)((sid / 10) % 10 + 48);
- OurSID += (char)(sid % 10 + 48);
- return OurSID;
+ return sid;
}
ValueItem::ValueItem(int value)
diff --git a/src/inspircd.cpp b/src/inspircd.cpp
index c50d2cb6f..114d38969 100644
--- a/src/inspircd.cpp
+++ b/src/inspircd.cpp
@@ -483,12 +483,15 @@ InspIRCd::InspIRCd(int argc, char** argv)
* -- w00t
*/
/* Generate SID */
- if (Config->sid)
+ printf("\nSID is %s\n\n", Config->sid);
+ if (*Config->sid)
{
// already defined, don't bother
- }
+ printf("\nAlready defined!\n\n");
+ }
else
{
+ printf("\nGenerating..\n\n");
// Generate one
size_t sid = 0;
@@ -498,10 +501,14 @@ InspIRCd::InspIRCd(int argc, char** argv)
sid = 5 * sid + *y;
sid = sid % 999;
+ printf("\nGenerated %u\n\n", sid);
+ printf("\n0 %c\n\n", (sid / 100 + 48));
+ printf("\n1 %c\n\n", (((sid / 10) % 10) + 48));
+ printf("\n2 %c\n\n", (sid % 10 + 48));
+
Config->sid[0] = (char)(sid / 100 + 48);
Config->sid[1] = (char)(((sid / 10) % 10) + 48);
Config->sid[2] = (char)(sid % 10 + 48);
- //Config->sid = sprintf("%u", sid);
}
this->InitialiseUID();