diff options
author | Pieter Wuille <pieter.wuille@gmail.com> | 2012-05-13 01:26:14 +0200 |
---|---|---|
committer | Pieter Wuille <pieter.wuille@gmail.com> | 2012-05-13 01:26:14 +0200 |
commit | 5a3cb32e5942adbfb5af90808013c1dde3c03fcf (patch) | |
tree | 91e93cba67ad9a600f18589b2ac25f2b80bc4064 | |
parent | 139d2f7c294c2489151b0b5df9b5351aaeaffa97 (diff) |
Take -port into account when resolving -bind's
-rw-r--r-- | src/init.cpp | 8 | ||||
-rw-r--r-- | src/net.cpp | 6 | ||||
-rw-r--r-- | src/net.h | 3 |
3 files changed, 8 insertions, 9 deletions
diff --git a/src/init.cpp b/src/init.cpp index fe07ed7275..d26d5d73e4 100644 --- a/src/init.cpp +++ b/src/init.cpp @@ -611,14 +611,14 @@ bool AppInit2(int argc, char* argv[]) std::string strError; if (mapArgs.count("-bind")) { BOOST_FOREACH(std::string strBind, mapMultiArgs["-bind"]) { - fBound |= Bind(CService(strBind, GetDefaultPort(), false)); + fBound |= Bind(CService(strBind, GetListenPort(), false)); } } else { struct in_addr inaddr_any; inaddr_any.s_addr = INADDR_ANY; - fBound |= Bind(CService(inaddr_any, GetDefaultPort())); + fBound |= Bind(CService(inaddr_any, GetListenPort())); #ifdef USE_IPV6 - fBound |= Bind(CService(in6addr_any, GetDefaultPort())); + fBound |= Bind(CService(in6addr_any, GetListenPort())); #endif } if (!fBound) @@ -628,7 +628,7 @@ bool AppInit2(int argc, char* argv[]) if (mapArgs.count("-externalip")) { BOOST_FOREACH(string strAddr, mapMultiArgs["-externalip"]) - AddLocal(CNetAddr(strAddr, fNameLookup), LOCAL_MANUAL); + AddLocal(CService(strAddr, GetListenPort(), fNameLookup), LOCAL_MANUAL); } if (mapArgs.count("-paytxfee")) diff --git a/src/net.cpp b/src/net.cpp index 53b69d2769..951595e680 100644 --- a/src/net.cpp +++ b/src/net.cpp @@ -231,11 +231,9 @@ bool AddLocal(const CService& addr, int nScore) return true; } -bool AddLocal(const CNetAddr& addr, int nScore, int port) +bool AddLocal(const CNetAddr &addr, int nScore) { - if (port == -1) - port = GetListenPort(); - return AddLocal(CService(addr, port), nScore); + return AddLocal(CService(addr, GetListenPort()), nScore); } /** Make a particular network entirely off-limits (no automatic connects to it) */ @@ -38,6 +38,7 @@ CNode* FindNode(const CNetAddr& ip); CNode* FindNode(const CService& ip); CNode* ConnectNode(CAddress addrConnect, const char *strDest = NULL, int64 nTimeout=0); void MapPort(bool fMapPort); +unsigned short GetListenPort(); bool BindListenPort(const CService &bindAddr, std::string& strError=REF(std::string())); void StartNode(void* parg); bool StopNode(); @@ -58,7 +59,7 @@ enum void SetLimited(enum Network net, bool fLimited = true); bool IsLimited(const CNetAddr& addr); bool AddLocal(const CService& addr, int nScore = LOCAL_NONE); -bool AddLocal(const CNetAddr& addr, int nScore = LOCAL_NONE, int port = -1); +bool AddLocal(const CNetAddr& addr, int nScore = LOCAL_NONE); bool SeenLocal(const CService& addr); bool IsLocal(const CService& addr); bool GetLocal(CService &addr, const CNetAddr *paddrPeer = NULL); |