summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorbrain <brain@e03df62e-2008-0410-955e-edbf42e46eb7>2007-05-27 13:13:55 +0000
committerbrain <brain@e03df62e-2008-0410-955e-edbf42e46eb7>2007-05-27 13:13:55 +0000
commitc1940afc5f3144a2710fa026230a1b01e4231459 (patch)
tree5ae75f0f11e5f09863104851dd0faaeadefdd823 /src
parent8ffa149aa186d81b8c5017bb3f7e82d483da8898 (diff)
Fix for bug #305, allow admin to select what port outbound ident requests bind to
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7167 e03df62e-2008-0410-955e-edbf42e46eb7
Diffstat (limited to 'src')
-rw-r--r--src/modules/m_ident.cpp9
-rw-r--r--src/modules/m_spanningtree/utils.cpp4
2 files changed, 7 insertions, 6 deletions
diff --git a/src/modules/m_ident.cpp b/src/modules/m_ident.cpp
index 3f3399d3c..3c1106b4d 100644
--- a/src/modules/m_ident.cpp
+++ b/src/modules/m_ident.cpp
@@ -33,7 +33,7 @@ class RFC1413 : public InspSocket
userrec* u; // user record that the lookup is associated with
int ufd;
- RFC1413(InspIRCd* SI, userrec* user, int maxtime) : InspSocket(SI, user->GetIPString(), 113, false, maxtime), u(user)
+ RFC1413(InspIRCd* SI, userrec* user, int maxtime, const std::string &bindto) : InspSocket(SI, user->GetIPString(), 113, false, maxtime, bindto), u(user)
{
ufd = user->GetFd();
}
@@ -189,14 +189,15 @@ class ModuleIdent : public Module
{
ConfigReader* Conf;
-
int IdentTimeout;
+ std::string PortBind;
public:
void ReadSettings()
{
Conf = new ConfigReader(ServerInstance);
- IdentTimeout = Conf->ReadInteger("ident","timeout",0,true);
+ IdentTimeout = Conf->ReadInteger("ident", "timeout", 0, true);
+ PortBind = Conf->ReadValue("ident", "bind", 0);
if (!IdentTimeout)
IdentTimeout = 1;
DELETE(Conf);
@@ -245,7 +246,7 @@ class ModuleIdent : public Module
user->WriteServ("NOTICE "+std::string(user->nick)+" :*** Looking up your ident...");
- RFC1413* ident = new RFC1413(ServerInstance, user, IdentTimeout);
+ RFC1413* ident = new RFC1413(ServerInstance, user, IdentTimeout, PortBind);
if ((ident->GetState() == I_CONNECTING) || (ident->GetState() == I_CONNECTED))
{
user->Extend("ident_data", (char*)ident);
diff --git a/src/modules/m_spanningtree/utils.cpp b/src/modules/m_spanningtree/utils.cpp
index 08f9e67eb..854e38e76 100644
--- a/src/modules/m_spanningtree/utils.cpp
+++ b/src/modules/m_spanningtree/utils.cpp
@@ -459,7 +459,7 @@ void SpanningTreeUtilities::ReadConfiguration(bool rebind)
ConfigReader* Conf = new ConfigReader(ServerInstance);
if (rebind)
{
- for (int j =0; j < Conf->Enumerate("bind"); j++)
+ for (int j = 0; j < Conf->Enumerate("bind"); j++)
{
std::string Type = Conf->ReadValue("bind","type",j);
std::string IP = Conf->ReadValue("bind","address",j);
@@ -510,7 +510,7 @@ void SpanningTreeUtilities::ReadConfiguration(bool rebind)
LinkBlocks.clear();
ValidIPs.clear();
- for (int j =0; j < Conf->Enumerate("link"); j++)
+ for (int j = 0; j < Conf->Enumerate("link"); j++)
{
Link L;
std::string Allow = Conf->ReadValue("link", "allowmask", j);