mirror of
https://github.com/RetroShare/RetroShare.git
synced 2025-06-28 08:07:31 -04:00
First of the V0.6 changes.
- Adding basics for proxy connection. git-svn-id: http://svn.code.sf.net/p/retroshare/code/branches/v0.6-initdev@6682 b45a01b8-16f6-495d-af2f-9b41ad6348cc
This commit is contained in:
parent
23acb91915
commit
212b4c44c9
19 changed files with 916 additions and 73 deletions
|
@ -1060,6 +1060,9 @@ void RsPeerNetItem::clear()
|
|||
|
||||
localAddrList.TlvClear();
|
||||
extAddrList.TlvClear();
|
||||
|
||||
domain_addr.clear();
|
||||
domain_port = 0;
|
||||
}
|
||||
|
||||
std::ostream &RsPeerNetItem::print(std::ostream &out, uint16_t indent)
|
||||
|
@ -1122,6 +1125,9 @@ uint32_t RsPeerConfigSerialiser::sizeNet(RsPeerNetItem *i)
|
|||
s += i->localAddrList.TlvSize();
|
||||
s += i->extAddrList.TlvSize();
|
||||
|
||||
s += GetTlvStringSize(i->domain_addr);
|
||||
s += 2; /* domain_port */
|
||||
|
||||
return s;
|
||||
|
||||
}
|
||||
|
@ -1173,6 +1179,10 @@ bool RsPeerConfigSerialiser::serialiseNet(RsPeerNetItem *item, void *data, uint3
|
|||
ok &= item->localAddrList.SetTlv(data, tlvsize, &offset);
|
||||
ok &= item->extAddrList.SetTlv(data, tlvsize, &offset);
|
||||
|
||||
// New for V0.6.
|
||||
ok &= SetTlvString(data, tlvsize, &offset, TLV_TYPE_STR_DOMADDR, item->domain_addr);
|
||||
ok &= setRawUInt16(data, tlvsize, &offset, item->domain_port); /* Mandatory */
|
||||
|
||||
if(offset != tlvsize)
|
||||
{
|
||||
ok = false;
|
||||
|
@ -1241,6 +1251,17 @@ RsPeerNetItem *RsPeerConfigSerialiser::deserialiseNet(void *data, uint32_t *size
|
|||
ok &= item->localAddrList.GetTlv(data, rssize, &offset);
|
||||
ok &= item->extAddrList.GetTlv(data, rssize, &offset);
|
||||
|
||||
// Allow acceptance of old format.
|
||||
if (offset == rssize)
|
||||
{
|
||||
std::cerr << "RsPeerConfigSerialiser::deserialiseNet() Accepting Old format PeerNetItem" << std::endl;
|
||||
return item;
|
||||
}
|
||||
|
||||
|
||||
// New for V0.6.
|
||||
ok &= GetTlvString(data, rssize, &offset, TLV_TYPE_STR_DOMADDR, item->domain_addr);
|
||||
ok &= getRawUInt16(data, rssize, &offset, &(item->domain_port)); /* Mandatory */
|
||||
|
||||
if (offset != rssize)
|
||||
{
|
||||
|
|
|
@ -118,6 +118,10 @@ std::ostream &print(std::ostream &out, uint16_t indent = 0);
|
|||
|
||||
RsTlvIpAddrSet localAddrList;
|
||||
RsTlvIpAddrSet extAddrList;
|
||||
|
||||
// for proxy connection.
|
||||
std::string domain_addr;
|
||||
uint16_t domain_port;
|
||||
};
|
||||
|
||||
class RsPeerServicePermissionItem : public RsItem
|
||||
|
|
|
@ -157,6 +157,7 @@ const uint16_t TLV_TYPE_IPV4_LOCAL = 0x0080;
|
|||
const uint16_t TLV_TYPE_IPV4_REMOTE = 0x0081;
|
||||
const uint16_t TLV_TYPE_IPV4_LAST = 0x0082;
|
||||
const uint16_t TLV_TYPE_STR_DYNDNS = 0x0083;
|
||||
const uint16_t TLV_TYPE_STR_DOMADDR = 0x0084;
|
||||
|
||||
/*** MORE STRING IDS ****/
|
||||
const uint16_t TLV_TYPE_STR_GROUPID = 0x00a0;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue