mirror of
https://github.com/RetroShare/RetroShare.git
synced 2025-05-02 14:16:16 -04:00
Massive commit - changing from sockaddr_in => sockaddr_storage.
In preparation for making RS support IPv6. NB: This breaks the build of retroshare-gui, as the sockaddr_storage_xxx fns are only defined as prototypes for now. All the aux libraries like udp / stun / tcponudp / dht have still to be converted. These changes will probably break various things and need to be tested thoroughly. git-svn-id: http://svn.code.sf.net/p/retroshare/code/branches/v0.6-initdev@6735 b45a01b8-16f6-495d-af2f-9b41ad6348cc
This commit is contained in:
parent
fd071161bf
commit
6290d8fed9
66 changed files with 1182 additions and 1046 deletions
|
@ -177,7 +177,7 @@ void p3zcNatAssist::setExternalPort(unsigned short eport_in)
|
|||
}
|
||||
}
|
||||
|
||||
bool p3zcNatAssist::getInternalAddress(struct sockaddr_in &addr)
|
||||
bool p3zcNatAssist::getInternalAddress(struct sockaddr_storage &addr)
|
||||
{
|
||||
|
||||
#ifdef DEBUG_ZCNATASSIST
|
||||
|
@ -189,7 +189,7 @@ bool p3zcNatAssist::getInternalAddress(struct sockaddr_in &addr)
|
|||
}
|
||||
|
||||
|
||||
bool p3zcNatAssist::getExternalAddress(struct sockaddr_in &addr)
|
||||
bool p3zcNatAssist::getExternalAddress(struct sockaddr_storage &addr)
|
||||
{
|
||||
RsStackMutex stack(mZcMtx); /****** STACK LOCK MUTEX *******/
|
||||
|
||||
|
@ -397,11 +397,18 @@ void p3zcNatAssist::callbackMapping(DNSServiceRef sdRef, DNSServiceFlags flags,
|
|||
|
||||
|
||||
mMapped = true;
|
||||
mExternalAddress.sin_addr.s_addr = externalAddress;
|
||||
mExternalAddress.sin_port = externalPort;
|
||||
|
||||
// THIS APPEARS TO BE IPv4 ONLY!.
|
||||
|
||||
sockaddr_storage_clear(mExternalAddress);
|
||||
struct sockaddr_in *addr = (struct sockaddr_in *) &mExternalAddress;
|
||||
|
||||
addr->sin_family = AF_INET;
|
||||
addr->sin_addr.s_addr = externalAddress;
|
||||
addr->sin_port = externalPort;
|
||||
|
||||
mTTL = ttl;
|
||||
|
||||
|
||||
std::cerr << "p3zcNatAssist::callbackMapping() Success";
|
||||
std::cerr << std::endl;
|
||||
|
||||
|
@ -411,8 +418,7 @@ void p3zcNatAssist::callbackMapping(DNSServiceRef sdRef, DNSServiceFlags flags,
|
|||
std::cerr << "internalPort: " << ntohs(internalPort);
|
||||
std::cerr << std::endl;
|
||||
|
||||
std::cerr << "externalAddress: " << rs_inet_ntoa(mExternalAddress.sin_addr);
|
||||
std::cerr << ":" << ntohs(mExternalAddress.sin_port);
|
||||
std::cerr << "externalAddress: " << sockaddr_storage_tostring(mExternalAddress);
|
||||
std::cerr << std::endl;
|
||||
|
||||
std::cerr << "protocol: " << protocol;
|
||||
|
|
|
@ -61,8 +61,8 @@ virtual bool getActive();
|
|||
|
||||
virtual void setInternalPort(unsigned short iport_in);
|
||||
virtual void setExternalPort(unsigned short eport_in);
|
||||
virtual bool getInternalAddress(struct sockaddr_in &addr);
|
||||
virtual bool getExternalAddress(struct sockaddr_in &addr);
|
||||
virtual bool getInternalAddress(struct sockaddr_storage &addr);
|
||||
virtual bool getExternalAddress(struct sockaddr_storage &addr);
|
||||
|
||||
/* TO IMPLEMENT: New Port Forward interface to support as many ports as necessary */
|
||||
virtual bool requestPortForward(const PortForwardParams ¶ms) { return false; }
|
||||
|
@ -101,7 +101,7 @@ virtual bool statusPortForward(const uint32_t fwdId, PortForwardParams ¶m
|
|||
uint16_t mExternalPort;
|
||||
bool mExternalPortSet;
|
||||
|
||||
struct sockaddr_in mExternalAddress;
|
||||
struct sockaddr_storage mExternalAddress;
|
||||
int mTTL;
|
||||
|
||||
DNSServiceRef mMappingRef;
|
||||
|
|
|
@ -236,7 +236,7 @@ bool p3ZeroConf::dropPeer(std::string pid)
|
|||
|
||||
/* extract current peer status */
|
||||
bool p3ZeroConf::getPeerStatus(std::string id,
|
||||
struct sockaddr_in &/*laddr*/, struct sockaddr_in &/*raddr*/,
|
||||
struct sockaddr_storage &/*laddr*/, struct sockaddr_storage &/*raddr*/,
|
||||
uint32_t &/*type*/, uint32_t &/*mode*/)
|
||||
{
|
||||
/* remove unused parameter warnings */
|
||||
|
@ -251,7 +251,7 @@ bool p3ZeroConf::getPeerStatus(std::string id,
|
|||
}
|
||||
|
||||
#if 0
|
||||
bool p3ZeroConf::getExternalInterface(struct sockaddr_in &/*raddr*/,
|
||||
bool p3ZeroConf::getExternalInterface(struct sockaddr_storage &/*raddr*/,
|
||||
uint32_t &/*mode*/)
|
||||
{
|
||||
|
||||
|
@ -277,12 +277,12 @@ bool p3ZeroConf::setAttachMode(bool on)
|
|||
return true;
|
||||
}
|
||||
|
||||
int p3ZeroConf::addBadPeer(const struct sockaddr_in &addr, uint32_t reason, uint32_t flags, uint32_t age)
|
||||
int p3ZeroConf::addBadPeer(const struct sockaddr_storage &addr, uint32_t reason, uint32_t flags, uint32_t age)
|
||||
{
|
||||
return 1;
|
||||
}
|
||||
|
||||
int p3ZeroConf::addKnownPeer(const std::string &pid, const struct sockaddr_in &addr, uint32_t flags)
|
||||
int p3ZeroConf::addKnownPeer(const std::string &pid, const struct sockaddr_storage &addr, uint32_t flags)
|
||||
{
|
||||
return 1;
|
||||
}
|
||||
|
@ -563,7 +563,9 @@ int p3ZeroConf::checkQueryResults()
|
|||
time_t now = time(NULL);
|
||||
uint32_t flags = RS_CB_FLAG_MODE_TCP;
|
||||
uint32_t source = RS_CB_DHT; // SHOULD ADD NEW SOURCE ZC???
|
||||
struct sockaddr_in dummyProxyAddr, dummySrcAddr;
|
||||
struct sockaddr_storage dummyProxyAddr, dummySrcAddr;
|
||||
sockaddr_storage_clear(dummyProxyAddr);
|
||||
sockaddr_storage_clear(dummySrcAddr);
|
||||
mConnCb->peerConnectRequest(qr.sslId, qr.addr, dummyProxyAddr, dummySrcAddr,
|
||||
source, flags, 0, 0);
|
||||
|
||||
|
@ -1145,8 +1147,13 @@ void p3ZeroConf::callbackQueryIp( DNSServiceRef /* sdRef */, DNSServiceFlags fla
|
|||
|
||||
if ((rrtype == kDNSServiceType_A) && (rdlen == 4))
|
||||
{
|
||||
qr.addr.sin_addr.s_addr = *((uint32_t *) rdata);
|
||||
|
||||
// IPV4 type.
|
||||
sockaddr_storage_clear(qr.addr);
|
||||
struct sockaddr_in *addr = (struct sockaddr_in *) &(qr.addr);
|
||||
addr->sin_family = AF_INET;
|
||||
addr->sin_addr.s_addr = *((uint32_t *) rdata);
|
||||
addr->sin_port = htons(0);
|
||||
|
||||
if (locked_completeQueryResult(qr)) // Saves Query Results, and fills in Port details.
|
||||
{
|
||||
mQueryResults.push_back(qr);
|
||||
|
@ -1206,7 +1213,7 @@ int p3ZeroConf::locked_completeQueryResult(zcQueryResult &qr)
|
|||
std::cerr << "p3ZeroConf::locked_completeQueryResults() Filling in Peer IpAddress";
|
||||
std::cerr << std::endl;
|
||||
|
||||
qr.addr.sin_port = htons(lit->second.mPort);
|
||||
sockaddr_storage_setport(qr.addr, lit->second.mPort);
|
||||
lit->second.mAddress = qr.addr;
|
||||
lit->second.mStatus |= ZC_STATUS_IPADDRESS;
|
||||
lit->second.mAddrTs = time(NULL);
|
||||
|
|
|
@ -91,7 +91,7 @@ class zcQueryResult
|
|||
// Extra ones.
|
||||
std::string sslId;
|
||||
std::string gpgId;
|
||||
struct sockaddr_in addr;
|
||||
struct sockaddr_storage addr;
|
||||
};
|
||||
|
||||
|
||||
|
@ -121,7 +121,7 @@ class zcLocationDetails
|
|||
std::string mFullName;
|
||||
uint16_t mPort;
|
||||
|
||||
struct sockaddr_in mAddress;
|
||||
struct sockaddr_storage mAddress;
|
||||
time_t mAddrTs;
|
||||
};
|
||||
|
||||
|
@ -171,15 +171,15 @@ virtual bool getNetworkStats(uint32_t &netsize, uint32_t &localnetsize);
|
|||
virtual bool findPeer(std::string id);
|
||||
virtual bool dropPeer(std::string id);
|
||||
|
||||
virtual int addBadPeer(const struct sockaddr_in &addr, uint32_t reason, uint32_t flags, uint32_t age);
|
||||
virtual int addKnownPeer(const std::string &pid, const struct sockaddr_in &addr, uint32_t flags);
|
||||
virtual int addBadPeer(const struct sockaddr_storage &addr, uint32_t reason, uint32_t flags, uint32_t age);
|
||||
virtual int addKnownPeer(const std::string &pid, const struct sockaddr_storage &addr, uint32_t flags);
|
||||
|
||||
/* feedback on success failure of Connections */
|
||||
virtual void ConnectionFeedback(std::string pid, int state);
|
||||
|
||||
/* extract current peer status */
|
||||
virtual bool getPeerStatus(std::string id,
|
||||
struct sockaddr_in &laddr, struct sockaddr_in &raddr,
|
||||
struct sockaddr_storage &laddr, struct sockaddr_storage &raddr,
|
||||
uint32_t &type, uint32_t &mode);
|
||||
|
||||
virtual bool setAttachMode(bool on);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue