mirror of
https://github.com/RetroShare/RetroShare.git
synced 2024-12-24 15:09:33 -05:00
merged upstream/master
This commit is contained in:
commit
c2ae4fc904
@ -1,5 +1,11 @@
|
|||||||
retroshare06 (0.6.0-1.XXXXXX~YYYYYY) YYYYYY; urgency=low
|
retroshare06 (0.6.0-1.XXXXXX~YYYYYY) YYYYYY; urgency=low
|
||||||
|
|
||||||
|
cbef014 csoler Sun, 29 May 2016 16:09:56 -0400 added regular test of circle auto-subscribe from cache, and auto-subscribe w
|
||||||
|
2bde81f csoler Sat, 28 May 2016 21:09:44 -0400 removed more debug info, improved tooltips
|
||||||
|
ccd72cb csoler Sat, 28 May 2016 20:58:28 -0400 removed some debug info. Added information tooltips on circles and ids in ci
|
||||||
|
9a328f6 csoler Sat, 28 May 2016 20:25:15 -0400 extended auto-subscribe to circles with admin flag
|
||||||
|
d114b83 csoler Sat, 28 May 2016 20:17:19 -0400 extended auto-subscribe to circles with requested membership
|
||||||
|
8b5e43f csoler Sat, 28 May 2016 17:18:25 -0400 remove subitems in circles member list when they are gone from cache
|
||||||
dafb2e6 csoler Fri, 27 May 2016 17:35:23 -0400 Merge pull request #396 from csoler/v0.6-Circles
|
dafb2e6 csoler Fri, 27 May 2016 17:35:23 -0400 Merge pull request #396 from csoler/v0.6-Circles
|
||||||
cfdaa2c csoler Fri, 27 May 2016 17:09:13 -0400 removed debug info in p3gxscircles
|
cfdaa2c csoler Fri, 27 May 2016 17:09:13 -0400 removed debug info in p3gxscircles
|
||||||
d03d733 csoler Fri, 27 May 2016 12:44:14 -0400 Merge pull request #395 from hasufell/master
|
d03d733 csoler Fri, 27 May 2016 12:44:14 -0400 Merge pull request #395 from hasufell/master
|
||||||
|
@ -46,8 +46,6 @@ bdFilter::bdFilter(const std::string &fname, const bdNodeId *ownid, uint32_t fi
|
|||||||
mFns = fns;
|
mFns = fns;
|
||||||
mFilename = fname ;
|
mFilename = fname ;
|
||||||
|
|
||||||
time_t now = time(NULL) ;
|
|
||||||
|
|
||||||
loadBannedIpFile() ;
|
loadBannedIpFile() ;
|
||||||
|
|
||||||
mFilterFlags = filterFlags;
|
mFilterFlags = filterFlags;
|
||||||
@ -92,8 +90,6 @@ void bdFilter::loadBannedIpFile()
|
|||||||
memset(&addr, 0, sizeof(struct sockaddr_in));
|
memset(&addr, 0, sizeof(struct sockaddr_in));
|
||||||
addr.sin_family = PF_INET;
|
addr.sin_family = PF_INET;
|
||||||
|
|
||||||
unsigned short port;
|
|
||||||
|
|
||||||
FILE *fd = fopen(mFilename.c_str(),"r") ;
|
FILE *fd = fopen(mFilename.c_str(),"r") ;
|
||||||
|
|
||||||
if(fd == NULL)
|
if(fd == NULL)
|
||||||
|
@ -344,6 +344,8 @@ int bdSpace::find_node(const bdNodeId *id, int number, std::list<bdId> &matchIds
|
|||||||
std::cerr << " Number: " << number;
|
std::cerr << " Number: " << number;
|
||||||
std::cerr << " Bucket #: " << buckno;
|
std::cerr << " Bucket #: " << buckno;
|
||||||
std::cerr << std::endl;
|
std::cerr << std::endl;
|
||||||
|
#else
|
||||||
|
(void)number;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
bdBucket &buck = buckets[buckno];
|
bdBucket &buck = buckets[buckno];
|
||||||
|
@ -30,7 +30,7 @@ RsControlModule::RsControlModule(int argc, char **argv, StateTokenServer* sts, A
|
|||||||
this->argv = argv;
|
this->argv = argv;
|
||||||
// start worker thread
|
// start worker thread
|
||||||
if(full_control)
|
if(full_control)
|
||||||
start();
|
start("resapi ctrl mod");
|
||||||
else
|
else
|
||||||
mRunState = RUNNING_OK_NO_FULL_CONTROL;
|
mRunState = RUNNING_OK_NO_FULL_CONTROL;
|
||||||
|
|
||||||
|
@ -1159,8 +1159,7 @@ bool CacheTransfer::RequestCache(RsCacheData &data, CacheStore *cbStore)
|
|||||||
*/
|
*/
|
||||||
if ((data.hash == dit->second.hash) &&
|
if ((data.hash == dit->second.hash) &&
|
||||||
(data.path == dit->second.path) &&
|
(data.path == dit->second.path) &&
|
||||||
(data.size == dit->second.size) &&
|
(data.size == dit->second.size))
|
||||||
(cbStore == cbStore))
|
|
||||||
{
|
{
|
||||||
std::cerr << "Re-request duplicate cache... let it continue";
|
std::cerr << "Re-request duplicate cache... let it continue";
|
||||||
std::cerr << std::endl;
|
std::cerr << std::endl;
|
||||||
|
@ -188,19 +188,18 @@ void ftServer::StartupThreads()
|
|||||||
|
|
||||||
/* self contained threads */
|
/* self contained threads */
|
||||||
/* startup ExtraList Thread */
|
/* startup ExtraList Thread */
|
||||||
mFtExtra->start();
|
mFtExtra->start("ft extra lst");
|
||||||
|
|
||||||
/* startup Monitor Thread */
|
/* startup Monitor Thread */
|
||||||
/* startup the FileMonitor (after cache load) */
|
/* startup the FileMonitor (after cache load) */
|
||||||
/* start it up */
|
/* start it up */
|
||||||
|
mFiMon->start("ft monitor");
|
||||||
mFiMon->start();
|
|
||||||
|
|
||||||
/* Controller thread */
|
/* Controller thread */
|
||||||
mFtController->start();
|
mFtController->start("ft ctrl");
|
||||||
|
|
||||||
/* Dataplex */
|
/* Dataplex */
|
||||||
mFtDataplex->start();
|
mFtDataplex->start("ft dataplex");
|
||||||
}
|
}
|
||||||
|
|
||||||
void ftServer::StopThreads()
|
void ftServer::StopThreads()
|
||||||
@ -257,7 +256,7 @@ bool ftServer::ResumeTransfers()
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool ftServer::checkHash(const RsFileHash& hash,std::string& error_string)
|
bool ftServer::checkHash(const RsFileHash& /*hash*/, std::string& /*error_string*/)
|
||||||
{
|
{
|
||||||
return true ;
|
return true ;
|
||||||
}
|
}
|
||||||
|
@ -592,7 +592,7 @@ bool ftTransferModule::checkFile()
|
|||||||
// Note: using new is really important to avoid copy and write errors in the thread.
|
// Note: using new is really important to avoid copy and write errors in the thread.
|
||||||
//
|
//
|
||||||
_hash_thread = new HashThread(mFileCreator) ;
|
_hash_thread = new HashThread(mFileCreator) ;
|
||||||
_hash_thread->start() ;
|
_hash_thread->start("ft hash") ;
|
||||||
#ifdef FT_DEBUG
|
#ifdef FT_DEBUG
|
||||||
std::cerr << "ftTransferModule::checkFile(): launched hashing thread for file " << mHash << std::endl ;
|
std::cerr << "ftTransferModule::checkFile(): launched hashing thread for file " << mHash << std::endl ;
|
||||||
#endif
|
#endif
|
||||||
|
@ -532,12 +532,18 @@ bool RsGRouterTransactionAcknItem::serialise(void *data,uint32_t& size) const
|
|||||||
|
|
||||||
return ok;
|
return ok;
|
||||||
}
|
}
|
||||||
bool RsGRouterGenericDataItem::serialise_signed_data(void *data,uint32_t& size) const
|
bool RsGRouterGenericDataItem::serialise_signed_data(void *data,uint32_t size) const
|
||||||
{
|
{
|
||||||
bool ok = true;
|
bool ok = true;
|
||||||
|
|
||||||
uint32_t offset = 0;
|
uint32_t offset = 0;
|
||||||
uint32_t tlvsize = signed_data_size() ;
|
uint32_t tlvsize = signed_data_size() ;
|
||||||
|
|
||||||
|
if(tlvsize > size)
|
||||||
|
{
|
||||||
|
ok = false;
|
||||||
|
std::cerr << "RsGRouterReceiptItem::serialisedata() size error! Not enough size in supplied container." << std::endl;
|
||||||
|
}
|
||||||
|
|
||||||
/* add mandatory parts first */
|
/* add mandatory parts first */
|
||||||
ok &= setRawUInt64(data, tlvsize, &offset, routing_id);
|
ok &= setRawUInt64(data, tlvsize, &offset, routing_id);
|
||||||
@ -580,12 +586,18 @@ bool RsGRouterSignedReceiptItem::serialise(void *data,uint32_t& size) const
|
|||||||
|
|
||||||
return ok;
|
return ok;
|
||||||
}
|
}
|
||||||
bool RsGRouterSignedReceiptItem::serialise_signed_data(void *data,uint32_t& size) const
|
bool RsGRouterSignedReceiptItem::serialise_signed_data(void *data,uint32_t size) const
|
||||||
{
|
{
|
||||||
bool ok = true;
|
bool ok = true;
|
||||||
|
|
||||||
uint32_t offset=0;
|
uint32_t offset=0;
|
||||||
uint32_t tlvsize = signed_data_size() ;
|
uint32_t tlvsize = signed_data_size() ;
|
||||||
|
|
||||||
|
if(tlvsize > size)
|
||||||
|
{
|
||||||
|
ok = false;
|
||||||
|
std::cerr << "RsGRouterReceiptItem::serialisedata() size error! Not enough size in supplied container." << std::endl;
|
||||||
|
}
|
||||||
|
|
||||||
/* add mandatory parts first */
|
/* add mandatory parts first */
|
||||||
ok &= setRawUInt64(data, tlvsize, &offset, routing_id);
|
ok &= setRawUInt64(data, tlvsize, &offset, routing_id);
|
||||||
|
@ -101,7 +101,7 @@ public:
|
|||||||
virtual ~RsGRouterAbstractMsgItem() {}
|
virtual ~RsGRouterAbstractMsgItem() {}
|
||||||
|
|
||||||
virtual uint32_t signed_data_size() const = 0 ;
|
virtual uint32_t signed_data_size() const = 0 ;
|
||||||
virtual bool serialise_signed_data(void *data,uint32_t& size) const = 0 ;
|
virtual bool serialise_signed_data(void *data,uint32_t size) const = 0 ;
|
||||||
|
|
||||||
GRouterMsgPropagationId routing_id ;
|
GRouterMsgPropagationId routing_id ;
|
||||||
GRouterKeyId destination_key ;
|
GRouterKeyId destination_key ;
|
||||||
@ -137,7 +137,7 @@ class RsGRouterGenericDataItem: public RsGRouterAbstractMsgItem, public RsGRoute
|
|||||||
|
|
||||||
// utility methods for signing data
|
// utility methods for signing data
|
||||||
virtual uint32_t signed_data_size() const ;
|
virtual uint32_t signed_data_size() const ;
|
||||||
virtual bool serialise_signed_data(void *data,uint32_t& size) const ;
|
virtual bool serialise_signed_data(void *data, uint32_t size) const ;
|
||||||
};
|
};
|
||||||
|
|
||||||
class RsGRouterSignedReceiptItem: public RsGRouterAbstractMsgItem
|
class RsGRouterSignedReceiptItem: public RsGRouterAbstractMsgItem
|
||||||
@ -160,7 +160,7 @@ class RsGRouterSignedReceiptItem: public RsGRouterAbstractMsgItem
|
|||||||
|
|
||||||
// utility methods for signing data
|
// utility methods for signing data
|
||||||
virtual uint32_t signed_data_size() const ;
|
virtual uint32_t signed_data_size() const ;
|
||||||
virtual bool serialise_signed_data(void *data,uint32_t& size) const ;
|
virtual bool serialise_signed_data(void *data, uint32_t size) const ;
|
||||||
};
|
};
|
||||||
|
|
||||||
// Low-level data items
|
// Low-level data items
|
||||||
|
@ -483,7 +483,7 @@ void p3GRouter::handleLowLevelTransactionAckItem(RsGRouterTransactionAcknItem *t
|
|||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
void p3GRouter::receiveTurtleData(RsTurtleGenericTunnelItem *gitem,const RsFileHash& hash,const RsPeerId& virtual_peer_id,RsTurtleGenericTunnelItem::Direction direction)
|
void p3GRouter::receiveTurtleData(RsTurtleGenericTunnelItem *gitem, const RsFileHash &/*hash*/, const RsPeerId &virtual_peer_id, RsTurtleGenericTunnelItem::Direction /*direction*/)
|
||||||
{
|
{
|
||||||
#ifdef GROUTER_DEBUG
|
#ifdef GROUTER_DEBUG
|
||||||
std::cerr << "p3GRouter::receiveTurtleData() " << std::endl;
|
std::cerr << "p3GRouter::receiveTurtleData() " << std::endl;
|
||||||
|
@ -265,7 +265,7 @@ void RsGenExchange::tick()
|
|||||||
else
|
else
|
||||||
{
|
{
|
||||||
mIntegrityCheck = new RsGxsIntegrityCheck(mDataStore,mGixs);
|
mIntegrityCheck = new RsGxsIntegrityCheck(mDataStore,mGixs);
|
||||||
mIntegrityCheck->start();
|
mIntegrityCheck->start("gxs integrity");
|
||||||
mChecking = true;
|
mChecking = true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1468,7 +1468,7 @@ bool RsGxsDataAccess::getMsgRelatedInfo(MsgRelatedInfoReq *req)
|
|||||||
/* first guess is potentially better than Orig (can't be worse!) */
|
/* first guess is potentially better than Orig (can't be worse!) */
|
||||||
time_t latestTs = 0;
|
time_t latestTs = 0;
|
||||||
RsGxsMessageId latestMsgId;
|
RsGxsMessageId latestMsgId;
|
||||||
RsGxsMsgMetaData* latestMeta;
|
RsGxsMsgMetaData* latestMeta=NULL;
|
||||||
|
|
||||||
for(vit_meta = metaV.begin(); vit_meta != metaV.end(); ++vit_meta)
|
for(vit_meta = metaV.begin(); vit_meta != metaV.end(); ++vit_meta)
|
||||||
{
|
{
|
||||||
|
@ -310,17 +310,16 @@ RsGxsNetService::RsGxsNetService(uint16_t servType, RsGeneralDataService *gds,
|
|||||||
const RsServiceInfo serviceInfo,
|
const RsServiceInfo serviceInfo,
|
||||||
RsGixsReputation* reputations, RsGcxs* circles, RsGixs *gixs,
|
RsGixsReputation* reputations, RsGcxs* circles, RsGixs *gixs,
|
||||||
PgpAuxUtils *pgpUtils, bool grpAutoSync,bool msgAutoSync)
|
PgpAuxUtils *pgpUtils, bool grpAutoSync,bool msgAutoSync)
|
||||||
: p3ThreadedService(), p3Config(), mTransactionN(0),
|
: p3ThreadedService(), p3Config(), mTransactionN(0),
|
||||||
mObserver(nxsObs),
|
mObserver(nxsObs), mDataStore(gds),
|
||||||
mDataStore(gds),
|
mServType(servType), mTransactionTimeOut(TRANSAC_TIMEOUT),
|
||||||
mServType(servType),
|
mNetMgr(netMgr), mNxsMutex("RsGxsNetService"),
|
||||||
mGixs(gixs),
|
mSyncTs(0), mLastKeyPublishTs(0),
|
||||||
mTransactionTimeOut(TRANSAC_TIMEOUT), mNetMgr(netMgr), mNxsMutex("RsGxsNetService"),
|
mLastCleanRejectedMessages(0), mSYNC_PERIOD(SYNC_PERIOD),
|
||||||
mSyncTs(0), mLastKeyPublishTs(0),mLastCleanRejectedMessages(0), mSYNC_PERIOD(SYNC_PERIOD), mCircles(circles), mReputations(reputations),
|
mCircles(circles), mGixs(gixs),
|
||||||
mPgpUtils(pgpUtils),
|
mReputations(reputations), mPgpUtils(pgpUtils),
|
||||||
mGrpAutoSync(grpAutoSync),mAllowMsgSync(msgAutoSync), mGrpServerUpdateItem(NULL),
|
mGrpAutoSync(grpAutoSync), mAllowMsgSync(msgAutoSync),
|
||||||
mServiceInfo(serviceInfo)
|
mGrpServerUpdateItem(NULL), mServiceInfo(serviceInfo)
|
||||||
|
|
||||||
{
|
{
|
||||||
addSerialType(new RsNxsSerialiser(mServType));
|
addSerialType(new RsNxsSerialiser(mServType));
|
||||||
mOwnId = mNetMgr->getOwnId();
|
mOwnId = mNetMgr->getOwnId();
|
||||||
@ -1616,7 +1615,6 @@ void RsGxsNetService::recvNxsItemQueue()
|
|||||||
if(ni->PacketSubType() == RS_PKT_SUBTYPE_NXS_ENCRYPTED_DATA_ITEM)
|
if(ni->PacketSubType() == RS_PKT_SUBTYPE_NXS_ENCRYPTED_DATA_ITEM)
|
||||||
{
|
{
|
||||||
RsNxsItem *decrypted_item ;
|
RsNxsItem *decrypted_item ;
|
||||||
uint32_t status ;
|
|
||||||
|
|
||||||
if(decryptSingleNxsItem(dynamic_cast<RsNxsEncryptedDataItem*>(ni),decrypted_item))
|
if(decryptSingleNxsItem(dynamic_cast<RsNxsEncryptedDataItem*>(ni),decrypted_item))
|
||||||
{
|
{
|
||||||
|
@ -54,7 +54,7 @@ RsGxsMessageCleanUp::RsGxsMessageCleanUp(RsGeneralDataService* const dataService
|
|||||||
|
|
||||||
bool RsGxsMessageCleanUp::clean()
|
bool RsGxsMessageCleanUp::clean()
|
||||||
{
|
{
|
||||||
int i = 1;
|
uint32_t i = 1;
|
||||||
|
|
||||||
time_t now = time(NULL);
|
time_t now = time(NULL);
|
||||||
|
|
||||||
@ -281,7 +281,7 @@ bool RsGxsIntegrityCheck::check()
|
|||||||
std::cerr << " " << *it << std::endl;
|
std::cerr << " " << *it << std::endl;
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
int nb_requested_not_in_cache = 0;
|
uint32_t nb_requested_not_in_cache = 0;
|
||||||
|
|
||||||
#ifdef GXSUTIL_DEBUG
|
#ifdef GXSUTIL_DEBUG
|
||||||
std::cerr << " issuing random get on friends for non existing IDs" << std::endl;
|
std::cerr << " issuing random get on friends for non existing IDs" << std::endl;
|
||||||
@ -289,7 +289,7 @@ bool RsGxsIntegrityCheck::check()
|
|||||||
|
|
||||||
// now request a cache update for them, which triggers downloading from friends, if missing.
|
// now request a cache update for them, which triggers downloading from friends, if missing.
|
||||||
|
|
||||||
for(;nb_requested_not_in_cache<MAX_GXS_IDS_REQUESTS_NET && gxs_ids.size()>0;)
|
for(;nb_requested_not_in_cache<MAX_GXS_IDS_REQUESTS_NET && !gxs_ids.empty();)
|
||||||
{
|
{
|
||||||
uint32_t n = RSRandom::random_u32() % gxs_ids.size() ;
|
uint32_t n = RSRandom::random_u32() % gxs_ids.size() ;
|
||||||
#ifdef GXSUTIL_DEBUG
|
#ifdef GXSUTIL_DEBUG
|
||||||
|
@ -301,7 +301,7 @@ void p3GxsTunnelService::handleIncomingItem(const RsGxsTunnelId& tunnel_id,RsGxs
|
|||||||
delete item ;
|
delete item ;
|
||||||
}
|
}
|
||||||
|
|
||||||
void p3GxsTunnelService::handleRecvTunnelDataAckItem(const RsGxsTunnelId& id,RsGxsTunnelDataAckItem *item)
|
void p3GxsTunnelService::handleRecvTunnelDataAckItem(const RsGxsTunnelId &/*id*/,RsGxsTunnelDataAckItem *item)
|
||||||
{
|
{
|
||||||
RS_STACK_MUTEX(mGxsTunnelMtx); /********** STACK LOCKED MTX ******/
|
RS_STACK_MUTEX(mGxsTunnelMtx); /********** STACK LOCKED MTX ******/
|
||||||
|
|
||||||
|
@ -378,6 +378,12 @@ RsGxsTunnelDataItem *RsGxsTunnelSerialiser::deserialise_RsGxsTunnelDataItem(void
|
|||||||
uint32_t offset = 8; // skip the header
|
uint32_t offset = 8; // skip the header
|
||||||
uint32_t rssize = getRsItemSize(dat);
|
uint32_t rssize = getRsItemSize(dat);
|
||||||
bool ok = true ;
|
bool ok = true ;
|
||||||
|
|
||||||
|
if(rssize > size)
|
||||||
|
{
|
||||||
|
std::cerr << "RsGxsTunnelDataItem::() Size error while deserializing." << std::endl ;
|
||||||
|
return NULL ;
|
||||||
|
}
|
||||||
|
|
||||||
RsGxsTunnelDataItem *item = new RsGxsTunnelDataItem();
|
RsGxsTunnelDataItem *item = new RsGxsTunnelDataItem();
|
||||||
|
|
||||||
@ -388,9 +394,9 @@ RsGxsTunnelDataItem *RsGxsTunnelSerialiser::deserialise_RsGxsTunnelDataItem(void
|
|||||||
ok &= getRawUInt32(dat, rssize, &offset, &item->service_id);
|
ok &= getRawUInt32(dat, rssize, &offset, &item->service_id);
|
||||||
ok &= getRawUInt32(dat, rssize, &offset, &item->data_size);
|
ok &= getRawUInt32(dat, rssize, &offset, &item->data_size);
|
||||||
|
|
||||||
if(item->data_size > rssize || rssize - item->data_size < offset)
|
if(item->data_size > rssize || rssize < offset + item->data_size)
|
||||||
{
|
{
|
||||||
std::cerr << "RsGxsTunnelDHPublicKeyItem::() Size error while deserializing." << std::endl ;
|
std::cerr << "RsGxsTunnelDataItem::() Size error while deserializing." << std::endl ;
|
||||||
delete item ;
|
delete item ;
|
||||||
return NULL ;
|
return NULL ;
|
||||||
}
|
}
|
||||||
@ -450,12 +456,18 @@ RsGxsTunnelDataAckItem *RsGxsTunnelSerialiser::deserialise_RsGxsTunnelDataAckIte
|
|||||||
return item ;
|
return item ;
|
||||||
}
|
}
|
||||||
|
|
||||||
RsGxsTunnelStatusItem *RsGxsTunnelSerialiser::deserialise_RsGxsTunnelStatusItem(void *dat,uint32_t size)
|
RsGxsTunnelStatusItem *RsGxsTunnelSerialiser::deserialise_RsGxsTunnelStatusItem(void *dat, uint32_t size)
|
||||||
{
|
{
|
||||||
uint32_t offset = 8; // skip the header
|
uint32_t offset = 8; // skip the header
|
||||||
uint32_t rssize = getRsItemSize(dat);
|
uint32_t rssize = getRsItemSize(dat);
|
||||||
bool ok = true ;
|
bool ok = true ;
|
||||||
|
|
||||||
|
if(rssize > size)
|
||||||
|
{
|
||||||
|
std::cerr << "RsGxsTunnelStatusItem::() Size error while deserializing." << std::endl ;
|
||||||
|
return NULL ;
|
||||||
|
}
|
||||||
|
|
||||||
RsGxsTunnelStatusItem *item = new RsGxsTunnelStatusItem();
|
RsGxsTunnelStatusItem *item = new RsGxsTunnelStatusItem();
|
||||||
|
|
||||||
/* get mandatory parts first */
|
/* get mandatory parts first */
|
||||||
@ -464,13 +476,13 @@ RsGxsTunnelStatusItem *RsGxsTunnelSerialiser::deserialise_RsGxsTunnelStatusItem(
|
|||||||
|
|
||||||
if (offset != rssize)
|
if (offset != rssize)
|
||||||
{
|
{
|
||||||
std::cerr << "RsGxsTunnelDHPublicKeyItem::() Size error while deserializing." << std::endl ;
|
std::cerr << "RsGxsTunnelStatusItem::() Size error while deserializing." << std::endl ;
|
||||||
delete item ;
|
delete item ;
|
||||||
return NULL ;
|
return NULL ;
|
||||||
}
|
}
|
||||||
if (!ok)
|
if (!ok)
|
||||||
{
|
{
|
||||||
std::cerr << "RsGxsTunnelDHPublicKeyItem::() Unknown error while deserializing." << std::endl ;
|
std::cerr << "RsGxsTunnelStatusItem::() Unknown error while deserializing." << std::endl ;
|
||||||
delete item ;
|
delete item ;
|
||||||
return NULL ;
|
return NULL ;
|
||||||
}
|
}
|
||||||
|
@ -160,7 +160,7 @@ linux-* {
|
|||||||
DEFINES *= PATCHED_LIBUPNP
|
DEFINES *= PATCHED_LIBUPNP
|
||||||
}
|
}
|
||||||
|
|
||||||
DEFINES *= UBUNTU
|
DEFINES *= HAS_GNOME_KEYRING
|
||||||
PKGCONFIG *= gnome-keyring-1
|
PKGCONFIG *= gnome-keyring-1
|
||||||
PKGCONFIG *= libssl libupnp
|
PKGCONFIG *= libssl libupnp
|
||||||
PKGCONFIG *= libcrypto zlib
|
PKGCONFIG *= libcrypto zlib
|
||||||
|
@ -1978,15 +1978,20 @@ bool PGPHandler::removeKeysFromPGPKeyring(const std::set<RsPgpId>& keys_to_remov
|
|||||||
char template_name[_pubring_path.length()+8] ;
|
char template_name[_pubring_path.length()+8] ;
|
||||||
sprintf(template_name,"%s.XXXXXX",_pubring_path.c_str()) ;
|
sprintf(template_name,"%s.XXXXXX",_pubring_path.c_str()) ;
|
||||||
|
|
||||||
|
#if defined __USE_XOPEN_EXTENDED || defined __USE_XOPEN2K8
|
||||||
int fd_keyring_backup(mkstemp(template_name));
|
int fd_keyring_backup(mkstemp(template_name));
|
||||||
|
if (fd_keyring_backup == -1)
|
||||||
if (fd_keyring_backup == -1)
|
#else
|
||||||
|
if(mktemp(template_name) == NULL)
|
||||||
|
#endif
|
||||||
{
|
{
|
||||||
std::cerr << "PGPHandler::removeKeysFromPGPKeyring(): cannot create keyring backup file. Giving up." << std::endl;
|
std::cerr << "PGPHandler::removeKeysFromPGPKeyring(): cannot create keyring backup file. Giving up." << std::endl;
|
||||||
error_code = PGP_KEYRING_REMOVAL_ERROR_CANNOT_CREATE_BACKUP ;
|
error_code = PGP_KEYRING_REMOVAL_ERROR_CANNOT_CREATE_BACKUP ;
|
||||||
return false ;
|
return false ;
|
||||||
}
|
}
|
||||||
|
#if defined __USE_XOPEN_EXTENDED || defined __USE_XOPEN2K8
|
||||||
close(fd_keyring_backup); // TODO: keep the file open and use the fd
|
close(fd_keyring_backup); // TODO: keep the file open and use the fd
|
||||||
|
#endif
|
||||||
|
|
||||||
if(!ops_write_keyring_to_file(_pubring,ops_false,template_name,ops_true))
|
if(!ops_write_keyring_to_file(_pubring,ops_false,template_name,ops_true))
|
||||||
{
|
{
|
||||||
|
@ -554,7 +554,7 @@ bool RsPluginManager::saveList(bool& cleanup, std::list<RsItem*>& list)
|
|||||||
// {
|
// {
|
||||||
// }
|
// }
|
||||||
|
|
||||||
RsPQIService::RsPQIService(uint16_t service_type,uint32_t /*tick_delay_in_seconds*/, RsPluginHandler* /*pgHandler*/)
|
RsPQIService::RsPQIService(uint16_t /*service_type*/, uint32_t /*tick_delay_in_seconds*/, RsPluginHandler* /*pgHandler*/)
|
||||||
: p3Service(),p3Config()
|
: p3Service(),p3Config()
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
@ -130,7 +130,7 @@ AuthGPG::AuthGPG(const std::string& path_to_public_keyring,const std::string& pa
|
|||||||
{
|
{
|
||||||
_force_sync_database = false ;
|
_force_sync_database = false ;
|
||||||
mCount = 0;
|
mCount = 0;
|
||||||
start();
|
start("AuthGPG");
|
||||||
}
|
}
|
||||||
|
|
||||||
/* This function is called when retroshare is first started
|
/* This function is called when retroshare is first started
|
||||||
|
@ -105,7 +105,6 @@ void p3HistoryMgr::addMessage(const ChatMessage& cm)
|
|||||||
|
|
||||||
if(cm.chat_id.isDistantChatId())
|
if(cm.chat_id.isDistantChatId())
|
||||||
{
|
{
|
||||||
uint32_t status;
|
|
||||||
DistantChatPeerInfo dcpinfo;
|
DistantChatPeerInfo dcpinfo;
|
||||||
if (rsMsgs->getDistantChatStatus(cm.chat_id.toDistantChatId(), dcpinfo))
|
if (rsMsgs->getDistantChatStatus(cm.chat_id.toDistantChatId(), dcpinfo))
|
||||||
peerName = cm.chat_id.toPeerId().toStdString();
|
peerName = cm.chat_id.toPeerId().toStdString();
|
||||||
|
@ -1036,7 +1036,7 @@ bool p3LinkMgrIMPL::connectResult(const RsPeerId &id, bool success, bool isIncom
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
// from pqissl, when a connection failed due to security
|
// from pqissl, when a connection failed due to security
|
||||||
void p3LinkMgrIMPL::notifyDeniedConnection(const RsPgpId& gpgid,const RsPeerId& sslid,const std::string& sslcn,const struct sockaddr_storage &addr, bool incoming)
|
void p3LinkMgrIMPL::notifyDeniedConnection(const RsPgpId& gpgid,const RsPeerId& sslid,const std::string& sslcn,const struct sockaddr_storage &/*addr*/, bool incoming)
|
||||||
{
|
{
|
||||||
std::cerr << "p3LinkMgrIMPL::notifyDeniedConnection()";
|
std::cerr << "p3LinkMgrIMPL::notifyDeniedConnection()";
|
||||||
std::cerr << " pgpid: " << gpgid;
|
std::cerr << " pgpid: " << gpgid;
|
||||||
|
@ -125,7 +125,7 @@ public:
|
|||||||
return ok;
|
return ok;
|
||||||
}
|
}
|
||||||
|
|
||||||
static RsServicePermissionItem *deserialise(uint8_t *data,uint32_t size)
|
static RsServicePermissionItem *deserialise(uint8_t *data, uint32_t size)
|
||||||
{
|
{
|
||||||
RsServicePermissionItem *item = new RsServicePermissionItem ;
|
RsServicePermissionItem *item = new RsServicePermissionItem ;
|
||||||
|
|
||||||
@ -133,6 +133,12 @@ public:
|
|||||||
uint32_t rssize = getRsItemSize(data);
|
uint32_t rssize = getRsItemSize(data);
|
||||||
bool ok = true ;
|
bool ok = true ;
|
||||||
|
|
||||||
|
if(rssize > size)
|
||||||
|
{
|
||||||
|
std::cerr << __PRETTY_FUNCTION__ << ": error while deserialising! Item will be dropped." << std::endl;
|
||||||
|
return NULL ;
|
||||||
|
}
|
||||||
|
|
||||||
/* add mandatory parts first */
|
/* add mandatory parts first */
|
||||||
ok &= getRawUInt32(data, rssize, &offset, &item->mServiceId);
|
ok &= getRawUInt32(data, rssize, &offset, &item->mServiceId);
|
||||||
ok &= GetTlvString(data, rssize, &offset, TLV_TYPE_STR_NAME, item->mServiceName);
|
ok &= GetTlvString(data, rssize, &offset, TLV_TYPE_STR_NAME, item->mServiceName);
|
||||||
@ -1247,6 +1253,8 @@ void p3ServiceControl::updatePeerConnect(const RsPeerId &peerId)
|
|||||||
#ifdef SERVICECONTROL_DEBUG
|
#ifdef SERVICECONTROL_DEBUG
|
||||||
std::cerr << "p3ServiceControl::updatePeerConnect(): " << peerId.toStdString();
|
std::cerr << "p3ServiceControl::updatePeerConnect(): " << peerId.toStdString();
|
||||||
std::cerr << std::endl;
|
std::cerr << std::endl;
|
||||||
|
#else
|
||||||
|
(void)peerId;
|
||||||
#endif
|
#endif
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
@ -170,7 +170,7 @@ uint64_t BinFileInterface::bytecount()
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
int BinFileInterface::getFileSize()
|
uint64_t BinFileInterface::getFileSize()
|
||||||
{
|
{
|
||||||
return size;
|
return size;
|
||||||
}
|
}
|
||||||
@ -229,7 +229,14 @@ int BinEncryptedFileInterface::readdata(void* data, int len)
|
|||||||
if(!haveData) // read whole data for first call, or first call after close()
|
if(!haveData) // read whole data for first call, or first call after close()
|
||||||
{
|
{
|
||||||
|
|
||||||
encrypDataLen = BinFileInterface::getFileSize();
|
uint64_t encrypDataLen64 = BinFileInterface::getFileSize();
|
||||||
|
|
||||||
|
if(encrypDataLen64 > uint64_t(~(int)0))
|
||||||
|
{
|
||||||
|
std::cerr << __PRETTY_FUNCTION__ << ": cannot decrypt files of size > " << ~(int)0 << std::endl;
|
||||||
|
return -1 ;
|
||||||
|
}
|
||||||
|
encrypDataLen = (int)encrypDataLen64 ;
|
||||||
encryptedData = new char[encrypDataLen];
|
encryptedData = new char[encrypDataLen];
|
||||||
|
|
||||||
// make sure assign was successful
|
// make sure assign was successful
|
||||||
@ -245,12 +252,15 @@ int BinEncryptedFileInterface::readdata(void* data, int len)
|
|||||||
|
|
||||||
if((encrypDataLen > 0) && (encryptedData != NULL))
|
if((encrypDataLen > 0) && (encryptedData != NULL))
|
||||||
{
|
{
|
||||||
if(!AuthSSL::getAuthSSL()->decrypt((void*&)(this->data), sizeData, encryptedData, encrypDataLen))
|
int sizeDataInt = 0 ;
|
||||||
|
|
||||||
|
if(!AuthSSL::getAuthSSL()->decrypt((void*&)(this->data), sizeDataInt, encryptedData, encrypDataLen))
|
||||||
{
|
{
|
||||||
delete[] encryptedData;
|
delete[] encryptedData;
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
sizeData = sizeDataInt ;
|
||||||
haveData = true;
|
haveData = true;
|
||||||
delete[] encryptedData;
|
delete[] encryptedData;
|
||||||
}
|
}
|
||||||
@ -270,7 +280,7 @@ int BinEncryptedFileInterface::readdata(void* data, int len)
|
|||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
|
||||||
if((cpyCount + len) <= sizeData)
|
if((cpyCount + len) <= (uint64_t)sizeData)
|
||||||
{
|
{
|
||||||
memcpy(data, (void *) ((this->data) + cpyCount), len);
|
memcpy(data, (void *) ((this->data) + cpyCount), len);
|
||||||
cpyCount += len;
|
cpyCount += len;
|
||||||
@ -306,9 +316,9 @@ uint64_t BinEncryptedFileInterface::bytecount()
|
|||||||
bool BinEncryptedFileInterface::moretoread(uint32_t /* usec */)
|
bool BinEncryptedFileInterface::moretoread(uint32_t /* usec */)
|
||||||
{
|
{
|
||||||
if(haveData)
|
if(haveData)
|
||||||
return (cpyCount < sizeData);
|
return (cpyCount < (uint64_t)sizeData);
|
||||||
else
|
else
|
||||||
return cpyCount < getFileSize();
|
return cpyCount < (uint64_t)getFileSize();
|
||||||
}
|
}
|
||||||
|
|
||||||
BinMemInterface::BinMemInterface(int defsize, int flags)
|
BinMemInterface::BinMemInterface(int defsize, int flags)
|
||||||
|
@ -76,12 +76,12 @@ virtual RsFileHash gethash();
|
|||||||
virtual uint64_t bytecount();
|
virtual uint64_t bytecount();
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
virtual int getFileSize();
|
virtual uint64_t getFileSize();
|
||||||
|
|
||||||
private:
|
private:
|
||||||
int bin_flags;
|
int bin_flags;
|
||||||
FILE *buf;
|
FILE *buf;
|
||||||
int size;
|
uint64_t size;
|
||||||
pqihash *hash;
|
pqihash *hash;
|
||||||
uint64_t bcount;
|
uint64_t bcount;
|
||||||
};
|
};
|
||||||
@ -127,7 +127,7 @@ private:
|
|||||||
|
|
||||||
char* data;
|
char* data;
|
||||||
bool haveData;
|
bool haveData;
|
||||||
int sizeData;
|
uint64_t sizeData;
|
||||||
uint64_t cpyCount;
|
uint64_t cpyCount;
|
||||||
|
|
||||||
};
|
};
|
||||||
|
@ -71,7 +71,7 @@ void pqiConnectCbDummy::peerConnectRequest(const RsPeerId& id,
|
|||||||
std::cerr << std::endl;
|
std::cerr << std::endl;
|
||||||
}
|
}
|
||||||
|
|
||||||
void pqiMonitor::disconnectPeer(const RsPeerId &peer)
|
void pqiMonitor::disconnectPeer(const RsPeerId &/*peer*/)
|
||||||
{
|
{
|
||||||
std::cerr << "(EE) pqiMonitor::disconnectPeer() shouldn't be called!!!"<< std::endl;
|
std::cerr << "(EE) pqiMonitor::disconnectPeer() shouldn't be called!!!"<< std::endl;
|
||||||
}
|
}
|
||||||
|
@ -347,7 +347,8 @@ int pqiperson::handleNotifyEvent_locked(NetInterface *ni, int newState,
|
|||||||
activepqi = pqi;
|
activepqi = pqi;
|
||||||
inConnectAttempt = false;
|
inConnectAttempt = false;
|
||||||
|
|
||||||
activepqi->start(); // STARTUP THREAD.
|
// STARTUP THREAD
|
||||||
|
activepqi->start("pqi " + PeerId().toStdString().substr(0, 11));
|
||||||
|
|
||||||
// reset all other children (clear up long UDP attempt)
|
// reset all other children (clear up long UDP attempt)
|
||||||
for(it = kids.begin(); it != kids.end(); ++it)
|
for(it = kids.begin(); it != kids.end(); ++it)
|
||||||
|
@ -1303,7 +1303,7 @@ int pqissl::Authorise_SSL_Connection()
|
|||||||
// which could be
|
// which could be
|
||||||
// (pqissl's case) sslcert->serveraddr or sslcert->localaddr.
|
// (pqissl's case) sslcert->serveraddr or sslcert->localaddr.
|
||||||
|
|
||||||
bool res = AuthSSL::getAuthSSL()->CheckCertificate(PeerId(), peercert);
|
AuthSSL::getAuthSSL()->CheckCertificate(PeerId(), peercert);
|
||||||
bool certCorrect = true; /* WE know it okay already! */
|
bool certCorrect = true; /* WE know it okay already! */
|
||||||
|
|
||||||
uint32_t check_result ;
|
uint32_t check_result ;
|
||||||
|
@ -35,6 +35,7 @@
|
|||||||
|
|
||||||
#include "util/rsdebug.h"
|
#include "util/rsdebug.h"
|
||||||
#include "util/rsstring.h"
|
#include "util/rsstring.h"
|
||||||
|
#include "retroshare/rsbanlist.h"
|
||||||
#include <unistd.h>
|
#include <unistd.h>
|
||||||
|
|
||||||
const int pqissllistenzone = 49787;
|
const int pqissllistenzone = 49787;
|
||||||
@ -57,7 +58,7 @@ const int pqissllistenzone = 49787;
|
|||||||
|
|
||||||
|
|
||||||
pqissllistenbase::pqissllistenbase(const sockaddr_storage &addr, p3PeerMgr *pm)
|
pqissllistenbase::pqissllistenbase(const sockaddr_storage &addr, p3PeerMgr *pm)
|
||||||
: laddr(addr), active(false), mPeerMgr(pm)
|
: laddr(addr), mPeerMgr(pm), active(false)
|
||||||
{
|
{
|
||||||
if (!(AuthSSL::getAuthSSL()-> active()))
|
if (!(AuthSSL::getAuthSSL()-> active()))
|
||||||
{
|
{
|
||||||
@ -373,12 +374,17 @@ int pqissllistenbase::acceptconnection()
|
|||||||
#endif
|
#endif
|
||||||
/********************************** WINDOWS/UNIX SPECIFIC PART ******************/
|
/********************************** WINDOWS/UNIX SPECIFIC PART ******************/
|
||||||
|
|
||||||
{
|
if(rsBanList != NULL && !rsBanList->isAddressAccepted(remote_addr, RSBANLIST_CHECKING_FLAGS_BLACKLIST))
|
||||||
std::string out;
|
{
|
||||||
out += "Accepted Connection from ";
|
std::cerr << "(II) pqissllistenner::acceptConnection(): early denying connection attempt from blacklisted IP " << sockaddr_storage_iptostring(remote_addr) << std::endl;
|
||||||
out += sockaddr_storage_tostring(remote_addr);
|
return false ;
|
||||||
pqioutput(PQL_DEBUG_BASIC, pqissllistenzone, out);
|
}
|
||||||
}
|
{
|
||||||
|
std::string out;
|
||||||
|
out += "Accepted Connection from ";
|
||||||
|
out += sockaddr_storage_tostring(remote_addr);
|
||||||
|
pqioutput(PQL_DEBUG_BASIC, pqissllistenzone, out);
|
||||||
|
}
|
||||||
|
|
||||||
// Negotiate certificates. SSL stylee.
|
// Negotiate certificates. SSL stylee.
|
||||||
// Allow negotiations for secure transaction.
|
// Allow negotiations for secure transaction.
|
||||||
|
@ -605,7 +605,7 @@ int pqistreamer::handleoutgoing_locked()
|
|||||||
#endif
|
#endif
|
||||||
int ss=0;
|
int ss=0;
|
||||||
|
|
||||||
if (mPkt_wpending_size != (ss = mBio->senddata(mPkt_wpending, mPkt_wpending_size)))
|
if (mPkt_wpending_size != (uint32_t)(ss = mBio->senddata(mPkt_wpending, mPkt_wpending_size)))
|
||||||
{
|
{
|
||||||
#ifdef DEBUG_PQISTREAMER
|
#ifdef DEBUG_PQISTREAMER
|
||||||
std::string out;
|
std::string out;
|
||||||
@ -846,7 +846,7 @@ continue_packet:
|
|||||||
// so, don't do that:
|
// so, don't do that:
|
||||||
// memset( extradata,0,extralen ) ;
|
// memset( extradata,0,extralen ) ;
|
||||||
|
|
||||||
if (extralen != (tmplen = mBio->readdata(extradata, extralen)))
|
if (extralen != (uint32_t)(tmplen = mBio->readdata(extradata, extralen)))
|
||||||
{
|
{
|
||||||
#ifdef DEBUG_PQISTREAMER
|
#ifdef DEBUG_PQISTREAMER
|
||||||
if(tmplen > 0)
|
if(tmplen > 0)
|
||||||
@ -1288,7 +1288,7 @@ int pqistreamer::locked_gatherStatistics(std::list<RSTrafficClue>& out_lst,std::
|
|||||||
return 1 ;
|
return 1 ;
|
||||||
}
|
}
|
||||||
|
|
||||||
void *pqistreamer::locked_pop_out_data(uint32_t max_slice_size,uint32_t& size,bool& starts,bool& ends,uint32_t& packet_id)
|
void *pqistreamer::locked_pop_out_data(uint32_t /*max_slice_size*/, uint32_t &size, bool &starts, bool &ends, uint32_t &packet_id)
|
||||||
{
|
{
|
||||||
size = 0 ;
|
size = 0 ;
|
||||||
starts = true ;
|
starts = true ;
|
||||||
|
@ -34,7 +34,7 @@
|
|||||||
//#define PQISTREAMER_DEBUG
|
//#define PQISTREAMER_DEBUG
|
||||||
|
|
||||||
pqithreadstreamer::pqithreadstreamer(PQInterface *parent, RsSerialiser *rss, const RsPeerId& id, BinInterface *bio_in, int bio_flags_in)
|
pqithreadstreamer::pqithreadstreamer(PQInterface *parent, RsSerialiser *rss, const RsPeerId& id, BinInterface *bio_in, int bio_flags_in)
|
||||||
:pqistreamer(rss, id, bio_in, bio_flags_in), mParent(parent), mThreadMutex("pqithreadstreamer"), mTimeout(0)
|
:pqistreamer(rss, id, bio_in, bio_flags_in), mParent(parent), mTimeout(0), mThreadMutex("pqithreadstreamer")
|
||||||
{
|
{
|
||||||
mTimeout = DEFAULT_STREAMER_TIMEOUT;
|
mTimeout = DEFAULT_STREAMER_TIMEOUT;
|
||||||
mSleepPeriod = DEFAULT_STREAMER_SLEEP;
|
mSleepPeriod = DEFAULT_STREAMER_SLEEP;
|
||||||
|
@ -71,9 +71,9 @@ void RsServer::ConfigFinalSave()
|
|||||||
mConfigMgr->completeConfiguration();
|
mConfigMgr->completeConfiguration();
|
||||||
}
|
}
|
||||||
|
|
||||||
void RsServer::startServiceThread(RsTickingThread *t)
|
void RsServer::startServiceThread(RsTickingThread *t, const std::string &threadName)
|
||||||
{
|
{
|
||||||
t->start() ;
|
t->start(threadName) ;
|
||||||
mRegisteredServiceThreads.push_back(t) ;
|
mRegisteredServiceThreads.push_back(t) ;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -120,8 +120,8 @@ class RsServer: public RsControl, public RsTickingThread
|
|||||||
public:
|
public:
|
||||||
/* Config */
|
/* Config */
|
||||||
|
|
||||||
virtual void ConfigFinalSave( );
|
virtual void ConfigFinalSave( );
|
||||||
virtual void startServiceThread(RsTickingThread *t) ;
|
virtual void startServiceThread(RsTickingThread *t, const std::string &threadName) ;
|
||||||
|
|
||||||
/************* Rs shut down function: in upnp 'port lease time' bug *****************/
|
/************* Rs shut down function: in upnp 'port lease time' bug *****************/
|
||||||
|
|
||||||
|
@ -1381,8 +1381,8 @@ RsPeerDetails::RsPeerDetails()
|
|||||||
trustLvl(0), validLvl(0),ownsign(false),
|
trustLvl(0), validLvl(0),ownsign(false),
|
||||||
hasSignedMe(false),accept_connection(false),
|
hasSignedMe(false),accept_connection(false),
|
||||||
state(0),localAddr(""),localPort(0),extAddr(""),extPort(0),netMode(0),vs_disc(0), vs_dht(0),
|
state(0),localAddr(""),localPort(0),extAddr(""),extPort(0),netMode(0),vs_disc(0), vs_dht(0),
|
||||||
lastConnect(0),connectState(0),connectStateString(""),connectPeriod(0),foundDHT(false),
|
lastConnect(0),connectState(0),connectStateString(""),connectPeriod(0),
|
||||||
wasDeniedConnection(false), deniedTS(0), hiddenType(RS_HIDDEN_TYPE_NONE)
|
hiddenType(RS_HIDDEN_TYPE_NONE), foundDHT(false), wasDeniedConnection(false), deniedTS(0)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1768,27 +1768,27 @@ int RsServer::StartupRetroShare()
|
|||||||
//rsWire = mWire;
|
//rsWire = mWire;
|
||||||
|
|
||||||
/*** start up GXS core runner ***/
|
/*** start up GXS core runner ***/
|
||||||
startServiceThread(mGxsIdService);
|
startServiceThread(mGxsIdService, "gxs id");
|
||||||
startServiceThread(mGxsCircles);
|
startServiceThread(mGxsCircles, "gxs circle");
|
||||||
startServiceThread(mPosted);
|
startServiceThread(mPosted, "gxs posted");
|
||||||
#if RS_USE_WIKI
|
#if RS_USE_WIKI
|
||||||
startServiceThread(mWiki);
|
startServiceThread(mWiki, "gxs wiki");
|
||||||
#endif
|
#endif
|
||||||
startServiceThread(mGxsForums);
|
startServiceThread(mGxsForums, "gxs forums");
|
||||||
startServiceThread(mGxsChannels);
|
startServiceThread(mGxsChannels, "gxs channels");
|
||||||
|
|
||||||
//createThread(*mPhoto);
|
//createThread(*mPhoto);
|
||||||
//createThread(*mWire);
|
//createThread(*mWire);
|
||||||
|
|
||||||
// cores ready start up GXS net servers
|
// cores ready start up GXS net servers
|
||||||
startServiceThread(gxsid_ns);
|
startServiceThread(gxsid_ns, "gxs id ns");
|
||||||
startServiceThread(gxscircles_ns);
|
startServiceThread(gxscircles_ns, "gxs circle ns");
|
||||||
startServiceThread(posted_ns);
|
startServiceThread(posted_ns, "gxs posted ns");
|
||||||
#if RS_USE_WIKI
|
#if RS_USE_WIKI
|
||||||
startServiceThread(wiki_ns);
|
startServiceThread(wiki_ns, "gxs wiki ns");
|
||||||
#endif
|
#endif
|
||||||
startServiceThread(gxsforums_ns);
|
startServiceThread(gxsforums_ns, "gxs forums ns");
|
||||||
startServiceThread(gxschannels_ns);
|
startServiceThread(gxschannels_ns, "gxs channels ns");
|
||||||
|
|
||||||
//createThread(*photo_ns);
|
//createThread(*photo_ns);
|
||||||
//createThread(*wire_ns);
|
//createThread(*wire_ns);
|
||||||
@ -1834,7 +1834,7 @@ int RsServer::StartupRetroShare()
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* Startup this thread! */
|
/* Startup this thread! */
|
||||||
start() ;
|
start("rs main") ;
|
||||||
|
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
@ -4,7 +4,7 @@
|
|||||||
#include "rsloginhandler.h"
|
#include "rsloginhandler.h"
|
||||||
#include "util/rsdir.h"
|
#include "util/rsdir.h"
|
||||||
#include "rsaccounts.h"
|
#include "rsaccounts.h"
|
||||||
#if defined(UBUNTU) || defined(__FreeBSD__) || defined(__OpenBSD__)
|
#if defined(HAS_GNOME_KEYRING) || defined(__FreeBSD__) || defined(__OpenBSD__)
|
||||||
#include <gnome-keyring-1/gnome-keyring.h>
|
#include <gnome-keyring-1/gnome-keyring.h>
|
||||||
|
|
||||||
GnomeKeyringPasswordSchema my_schema = {
|
GnomeKeyringPasswordSchema my_schema = {
|
||||||
@ -119,7 +119,7 @@ bool RsLoginHandler::tryAutoLogin(const RsPeerId& ssl_id,std::string& ssl_passwd
|
|||||||
/******************************** WINDOWS/UNIX SPECIFIC PART ******************/
|
/******************************** WINDOWS/UNIX SPECIFIC PART ******************/
|
||||||
#ifndef __HAIKU__
|
#ifndef __HAIKU__
|
||||||
#ifndef WINDOWS_SYS /* UNIX */
|
#ifndef WINDOWS_SYS /* UNIX */
|
||||||
#if defined(UBUNTU) || defined(__FreeBSD__) || defined(__OpenBSD__)
|
#if defined(HAS_GNOME_KEYRING) || defined(__FreeBSD__) || defined(__OpenBSD__)
|
||||||
|
|
||||||
gchar *passwd = NULL;
|
gchar *passwd = NULL;
|
||||||
|
|
||||||
@ -195,7 +195,7 @@ bool RsLoginHandler::tryAutoLogin(const RsPeerId& ssl_id,std::string& ssl_passwd
|
|||||||
return (status == 0);
|
return (status == 0);
|
||||||
|
|
||||||
/******************** OSX KeyChain stuff *****************************/
|
/******************** OSX KeyChain stuff *****************************/
|
||||||
#else /* UNIX, but not UBUNTU or APPLE */
|
#else /* UNIX, but not HAS_GNOME_KEYRING or APPLE */
|
||||||
|
|
||||||
FILE* helpFile = RsDirUtil::rs_fopen(getAutologinFileName(ssl_id).c_str(), "r");
|
FILE* helpFile = RsDirUtil::rs_fopen(getAutologinFileName(ssl_id).c_str(), "r");
|
||||||
|
|
||||||
@ -246,7 +246,7 @@ bool RsLoginHandler::tryAutoLogin(const RsPeerId& ssl_id,std::string& ssl_passwd
|
|||||||
|
|
||||||
return true;
|
return true;
|
||||||
#endif // APPLE
|
#endif // APPLE
|
||||||
#endif // UBUNTU
|
#endif // HAS_GNOME_KEYRING
|
||||||
/******* WINDOWS BELOW *****/
|
/******* WINDOWS BELOW *****/
|
||||||
#else
|
#else
|
||||||
|
|
||||||
@ -370,7 +370,7 @@ bool RsLoginHandler::enableAutoLogin(const RsPeerId& ssl_id,const std::string& s
|
|||||||
/******************************** WINDOWS/UNIX SPECIFIC PART ******************/
|
/******************************** WINDOWS/UNIX SPECIFIC PART ******************/
|
||||||
#ifndef __HAIKU__
|
#ifndef __HAIKU__
|
||||||
#ifndef WINDOWS_SYS /* UNIX */
|
#ifndef WINDOWS_SYS /* UNIX */
|
||||||
#if defined(UBUNTU) || defined(__FreeBSD__) || defined(__OpenBSD__)
|
#if defined(HAS_GNOME_KEYRING) || defined(__FreeBSD__) || defined(__OpenBSD__)
|
||||||
if(GNOME_KEYRING_RESULT_OK == gnome_keyring_store_password_sync(&my_schema, NULL, (gchar*)("RetroShare password for SSL Id "+ssl_id.toStdString()).c_str(),(gchar*)ssl_passwd.c_str(),"RetroShare SSL Id",ssl_id.toStdString().c_str(),NULL))
|
if(GNOME_KEYRING_RESULT_OK == gnome_keyring_store_password_sync(&my_schema, NULL, (gchar*)("RetroShare password for SSL Id "+ssl_id.toStdString()).c_str(),(gchar*)ssl_passwd.c_str(),"RetroShare SSL Id",ssl_id.toStdString().c_str(),NULL))
|
||||||
{
|
{
|
||||||
std::cerr << "Stored passwd " << "************************" << " into gnome keyring" << std::endl;
|
std::cerr << "Stored passwd " << "************************" << " into gnome keyring" << std::endl;
|
||||||
@ -448,7 +448,7 @@ bool RsLoginHandler::enableAutoLogin(const RsPeerId& ssl_id,const std::string& s
|
|||||||
|
|
||||||
return true;
|
return true;
|
||||||
#endif // __APPLE__
|
#endif // __APPLE__
|
||||||
#endif // UBUNTU.
|
#endif // HAS_GNOME_KEYRING.
|
||||||
#else /* windows */
|
#else /* windows */
|
||||||
|
|
||||||
/* store password encrypted in a file */
|
/* store password encrypted in a file */
|
||||||
@ -532,7 +532,7 @@ bool RsLoginHandler::enableAutoLogin(const RsPeerId& ssl_id,const std::string& s
|
|||||||
|
|
||||||
bool RsLoginHandler::clearAutoLogin(const RsPeerId& ssl_id)
|
bool RsLoginHandler::clearAutoLogin(const RsPeerId& ssl_id)
|
||||||
{
|
{
|
||||||
#ifdef UBUNTU
|
#ifdef HAS_GNOME_KEYRING
|
||||||
if(GNOME_KEYRING_RESULT_OK == gnome_keyring_delete_password_sync(&my_schema,"RetroShare SSL Id", ssl_id.toStdString().c_str(),NULL))
|
if(GNOME_KEYRING_RESULT_OK == gnome_keyring_delete_password_sync(&my_schema,"RetroShare SSL Id", ssl_id.toStdString().c_str(),NULL))
|
||||||
{
|
{
|
||||||
std::cerr << "Successfully Cleared gnome keyring passwd for SSLID " << ssl_id << std::endl;
|
std::cerr << "Successfully Cleared gnome keyring passwd for SSLID " << ssl_id << std::endl;
|
||||||
|
@ -126,7 +126,6 @@ void RsGxsCircleSubscriptionRequestItem::clear()
|
|||||||
std::ostream& RsGxsCircleSubscriptionRequestItem::print(std::ostream& out, uint16_t indent)
|
std::ostream& RsGxsCircleSubscriptionRequestItem::print(std::ostream& out, uint16_t indent)
|
||||||
{
|
{
|
||||||
printRsItemBase(out, "RsGxsCircleSubscriptionRequestItem", indent);
|
printRsItemBase(out, "RsGxsCircleSubscriptionRequestItem", indent);
|
||||||
uint16_t int_Indent = indent + 2;
|
|
||||||
|
|
||||||
printRsItemBase(out, "time stmp: ", indent); out << time_stamp ;
|
printRsItemBase(out, "time stmp: ", indent); out << time_stamp ;
|
||||||
printRsItemBase(out, "time out : ", indent); out << time_out ;
|
printRsItemBase(out, "time out : ", indent); out << time_out ;
|
||||||
|
@ -288,10 +288,8 @@ std::ostream& RsGxsVoteItem::print(std::ostream& out, uint16_t indent)
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
uint32_t RsGxsCommentSerialiser::sizeGxsVoteItem(RsGxsVoteItem *item)
|
uint32_t RsGxsCommentSerialiser::sizeGxsVoteItem(RsGxsVoteItem */*item*/)
|
||||||
{
|
{
|
||||||
|
|
||||||
const RsGxsVote& msg = item->mMsg;
|
|
||||||
uint32_t s = 8; // header
|
uint32_t s = 8; // header
|
||||||
|
|
||||||
s += 4; // vote flags.
|
s += 4; // vote flags.
|
||||||
|
@ -110,7 +110,6 @@ uint32_t RsGxsIdLocalInfoItem::serial_size()
|
|||||||
std::ostream& RsGxsIdLocalInfoItem::print(std::ostream& out, uint16_t indent)
|
std::ostream& RsGxsIdLocalInfoItem::print(std::ostream& out, uint16_t indent)
|
||||||
{
|
{
|
||||||
printRsItemBase(out, "RsGxsIdLocalInfoItem", indent);
|
printRsItemBase(out, "RsGxsIdLocalInfoItem", indent);
|
||||||
uint16_t int_Indent = indent + 2;
|
|
||||||
|
|
||||||
// convert from binary to hex.
|
// convert from binary to hex.
|
||||||
for(std::map<RsGxsId,time_t>::const_iterator it(mTimeStamps.begin());it!=mTimeStamps.end();++it)
|
for(std::map<RsGxsId,time_t>::const_iterator it(mTimeStamps.begin());it!=mTimeStamps.end();++it)
|
||||||
@ -382,7 +381,7 @@ RsGxsIdLocalInfoItem *RsGxsIdSerialiser::deserialise_GxsIdLocalInfoItem(void *da
|
|||||||
uint32_t n=0 ;
|
uint32_t n=0 ;
|
||||||
ok &= getRawUInt32(data, rssize, &offset, &n) ;
|
ok &= getRawUInt32(data, rssize, &offset, &n) ;
|
||||||
|
|
||||||
for(int i=0;ok && i<n;++i)
|
for(uint32_t i=0;ok && i<n;++i)
|
||||||
{
|
{
|
||||||
RsGxsId gxsid ;
|
RsGxsId gxsid ;
|
||||||
time_t TS ;
|
time_t TS ;
|
||||||
@ -397,8 +396,8 @@ RsGxsIdLocalInfoItem *RsGxsIdSerialiser::deserialise_GxsIdLocalInfoItem(void *da
|
|||||||
{
|
{
|
||||||
ok &= getRawUInt32(data, rssize, &offset, &n) ;
|
ok &= getRawUInt32(data, rssize, &offset, &n) ;
|
||||||
RsGxsId gxsid ;
|
RsGxsId gxsid ;
|
||||||
|
|
||||||
for(int i=0;ok && i<n;++i)
|
for(uint32_t i=0;ok && i<n;++i)
|
||||||
{
|
{
|
||||||
ok &= gxsid.deserialise(data,rssize,offset) ;
|
ok &= gxsid.deserialise(data,rssize,offset) ;
|
||||||
|
|
||||||
|
@ -81,7 +81,6 @@ void RsGxsReputationUpdateItem::clear()
|
|||||||
std::ostream& RsGxsReputationConfigItem::print(std::ostream &out, uint16_t indent)
|
std::ostream& RsGxsReputationConfigItem::print(std::ostream &out, uint16_t indent)
|
||||||
{
|
{
|
||||||
printRsItemBase(out, "RsReputationConfigItem", indent);
|
printRsItemBase(out, "RsReputationConfigItem", indent);
|
||||||
uint16_t int_Indent = indent + 2;
|
|
||||||
|
|
||||||
out << "mPeerId: " << mPeerId << std::endl;
|
out << "mPeerId: " << mPeerId << std::endl;
|
||||||
out << "last update: " << time(NULL) - mLatestUpdate << " secs ago." << std::endl;
|
out << "last update: " << time(NULL) - mLatestUpdate << " secs ago." << std::endl;
|
||||||
@ -94,7 +93,6 @@ std::ostream& RsGxsReputationConfigItem::print(std::ostream &out, uint16_t inden
|
|||||||
std::ostream& RsGxsReputationSetItem::print(std::ostream &out, uint16_t indent)
|
std::ostream& RsGxsReputationSetItem::print(std::ostream &out, uint16_t indent)
|
||||||
{
|
{
|
||||||
printRsItemBase(out, "RsReputationSetItem", indent);
|
printRsItemBase(out, "RsReputationSetItem", indent);
|
||||||
uint16_t int_Indent = indent + 2;
|
|
||||||
|
|
||||||
out << "GxsId: " << mGxsId << std::endl;
|
out << "GxsId: " << mGxsId << std::endl;
|
||||||
out << "mOwnOpinion: " << mOwnOpinion << std::endl;
|
out << "mOwnOpinion: " << mOwnOpinion << std::endl;
|
||||||
@ -110,7 +108,6 @@ std::ostream& RsGxsReputationSetItem::print(std::ostream &out, uint16_t indent)
|
|||||||
std::ostream& RsGxsReputationUpdateItem::print(std::ostream &out, uint16_t indent)
|
std::ostream& RsGxsReputationUpdateItem::print(std::ostream &out, uint16_t indent)
|
||||||
{
|
{
|
||||||
printRsItemBase(out, "RsReputationUpdateItem", indent);
|
printRsItemBase(out, "RsReputationUpdateItem", indent);
|
||||||
uint16_t int_Indent = indent + 2;
|
|
||||||
|
|
||||||
out << "from: " << PeerId() << std::endl;
|
out << "from: " << PeerId() << std::endl;
|
||||||
out << "last update: " << time(NULL) - mLatestUpdate << " secs ago." << std::endl;
|
out << "last update: " << time(NULL) - mLatestUpdate << " secs ago." << std::endl;
|
||||||
@ -124,7 +121,6 @@ std::ostream& RsGxsReputationUpdateItem::print(std::ostream &out, uint16_t inden
|
|||||||
std::ostream& RsGxsReputationRequestItem::print(std::ostream &out, uint16_t indent)
|
std::ostream& RsGxsReputationRequestItem::print(std::ostream &out, uint16_t indent)
|
||||||
{
|
{
|
||||||
printRsItemBase(out, "RsReputationRequestItem", indent);
|
printRsItemBase(out, "RsReputationRequestItem", indent);
|
||||||
uint16_t int_Indent = indent + 2;
|
|
||||||
|
|
||||||
out << "last update: " << time(NULL) - mLastUpdate << " secs ago." << std::endl;
|
out << "last update: " << time(NULL) - mLastUpdate << " secs ago." << std::endl;
|
||||||
|
|
||||||
@ -327,7 +323,7 @@ RsGxsReputationSetItem *RsGxsReputationSerialiser::deserialiseReputationSetItem_
|
|||||||
uint32_t S ;
|
uint32_t S ;
|
||||||
ok &= getRawUInt32(data, tlvsize, &offset, &S);
|
ok &= getRawUInt32(data, tlvsize, &offset, &S);
|
||||||
|
|
||||||
for(int i=0;ok && i<S;++i)
|
for(uint32_t i = 0; ok && (i < S); ++i)
|
||||||
{
|
{
|
||||||
RsPeerId pid ;
|
RsPeerId pid ;
|
||||||
uint32_t op ;
|
uint32_t op ;
|
||||||
@ -365,7 +361,7 @@ RsGxsReputationSetItem *RsGxsReputationSerialiser::deserialiseReputationSetItem(
|
|||||||
uint32_t S ;
|
uint32_t S ;
|
||||||
ok &= getRawUInt32(data, tlvsize, &offset, &S);
|
ok &= getRawUInt32(data, tlvsize, &offset, &S);
|
||||||
|
|
||||||
for(int i=0;ok && i<S;++i)
|
for(uint32_t i = 0; ok && (i < S); ++i)
|
||||||
{
|
{
|
||||||
RsPeerId pid ;
|
RsPeerId pid ;
|
||||||
uint32_t op ;
|
uint32_t op ;
|
||||||
|
@ -36,7 +36,7 @@
|
|||||||
/***** RsServiceInfo ****/
|
/***** RsServiceInfo ****/
|
||||||
|
|
||||||
template<>
|
template<>
|
||||||
std::ostream &RsTlvParamRef<RsServiceInfo>::print(std::ostream &out, uint16_t indent) const
|
std::ostream &RsTlvParamRef<RsServiceInfo>::print(std::ostream &out, uint16_t /*indent*/) const
|
||||||
{
|
{
|
||||||
out << "RsServiceInfo: " << mParam.mServiceType << " name " << mParam.mServiceName;
|
out << "RsServiceInfo: " << mParam.mServiceType << " name " << mParam.mServiceName;
|
||||||
out << std::endl;
|
out << std::endl;
|
||||||
|
@ -56,8 +56,7 @@ void RsTlvParamRef<uint16_t>::TlvClear()
|
|||||||
template<>
|
template<>
|
||||||
bool RsTlvParamRef<uint16_t>::SetTlv(void *data, uint32_t size, uint32_t *offset) const
|
bool RsTlvParamRef<uint16_t>::SetTlv(void *data, uint32_t size, uint32_t *offset) const
|
||||||
{
|
{
|
||||||
uint16_t param = mParam;
|
return SetTlvUInt16(data, size, offset, mParamType, mParam);
|
||||||
return SetTlvUInt16(data, size, offset, mParamType, mParam);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
template<>
|
template<>
|
||||||
@ -100,7 +99,7 @@ bool RsTlvParamRef<const uint16_t>::SetTlv(void *data, uint32_t size, uint32_t *
|
|||||||
}
|
}
|
||||||
|
|
||||||
template<>
|
template<>
|
||||||
bool RsTlvParamRef<const uint16_t>::GetTlv(void *data, uint32_t size, uint32_t *offset)
|
bool RsTlvParamRef<const uint16_t>::GetTlv(void */*data*/, uint32_t /*size*/, uint32_t */*offset*/)
|
||||||
{
|
{
|
||||||
return false; //GetTlvUInt16(data, size, offset, mParamType, &mParam);
|
return false; //GetTlvUInt16(data, size, offset, mParamType, &mParam);
|
||||||
}
|
}
|
||||||
@ -169,7 +168,7 @@ bool RsTlvParamRef<const uint32_t>::SetTlv(void *data, uint32_t size, uint32_t *
|
|||||||
}
|
}
|
||||||
|
|
||||||
template<>
|
template<>
|
||||||
bool RsTlvParamRef<const uint32_t>::GetTlv(void *data, uint32_t size, uint32_t *offset)
|
bool RsTlvParamRef<const uint32_t>::GetTlv(void */*data*/, uint32_t /*size*/, uint32_t */*offset*/)
|
||||||
{
|
{
|
||||||
return false;
|
return false;
|
||||||
//GetTlvUInt32(data, size, offset, mParamType, &mParam);
|
//GetTlvUInt32(data, size, offset, mParamType, &mParam);
|
||||||
|
@ -675,7 +675,7 @@ bool p3BanList::recvBanItem(RsBanListItem *item)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* overloaded from pqiNetAssistSharePeer */
|
/* overloaded from pqiNetAssistSharePeer */
|
||||||
void p3BanList::updatePeer(const RsPeerId& /*id*/, const struct sockaddr_storage &addr, int type, int /*reason*/, int time_stamp)
|
void p3BanList::updatePeer(const RsPeerId& /*id*/, const struct sockaddr_storage &addr, int /*type*/, int /*reason*/, int time_stamp)
|
||||||
{
|
{
|
||||||
RsPeerId ownId = mServiceCtrl->getOwnId();
|
RsPeerId ownId = mServiceCtrl->getOwnId();
|
||||||
|
|
||||||
|
@ -1043,7 +1043,7 @@ bool p3GxsCircles::cache_load_for_token(uint32_t token)
|
|||||||
|
|
||||||
bool p3GxsCircles::locked_processLoadingCacheEntry(RsGxsCircleCache& cache)
|
bool p3GxsCircles::locked_processLoadingCacheEntry(RsGxsCircleCache& cache)
|
||||||
{
|
{
|
||||||
bool isUnprocessedPeers = false;
|
//bool isUnprocessedPeers = false;
|
||||||
|
|
||||||
if (cache.mIsExternal)
|
if (cache.mIsExternal)
|
||||||
{
|
{
|
||||||
@ -1086,7 +1086,7 @@ bool p3GxsCircles::locked_processLoadingCacheEntry(RsGxsCircleCache& cache)
|
|||||||
}
|
}
|
||||||
|
|
||||||
mIdentities->requestKey(pit->first, peers);
|
mIdentities->requestKey(pit->first, peers);
|
||||||
isUnprocessedPeers = true;
|
//isUnprocessedPeers = true;
|
||||||
}
|
}
|
||||||
#ifdef DEBUG_CIRCLES
|
#ifdef DEBUG_CIRCLES
|
||||||
else
|
else
|
||||||
|
@ -563,7 +563,7 @@ bool p3GxsForums::generateGroup(uint32_t &token, std::string groupName)
|
|||||||
|
|
||||||
|
|
||||||
// Overloaded from RsTickEvent for Event callbacks.
|
// Overloaded from RsTickEvent for Event callbacks.
|
||||||
void p3GxsForums::handle_event(uint32_t event_type, const std::string &elabel)
|
void p3GxsForums::handle_event(uint32_t event_type, const std::string &/*elabel*/)
|
||||||
{
|
{
|
||||||
std::cerr << "p3GxsForums::handle_event(" << event_type << ")";
|
std::cerr << "p3GxsForums::handle_event(" << event_type << ")";
|
||||||
std::cerr << std::endl;
|
std::cerr << std::endl;
|
||||||
|
@ -65,7 +65,7 @@ public:
|
|||||||
Reputation()
|
Reputation()
|
||||||
:mOwnOpinion(RsReputations::OPINION_NEUTRAL), mOwnOpinionTs(0),mFriendAverage(1.0f), mReputation(RsReputations::OPINION_NEUTRAL),mIdentityFlags(REPUTATION_IDENTITY_FLAG_NEEDS_UPDATE){ }
|
:mOwnOpinion(RsReputations::OPINION_NEUTRAL), mOwnOpinionTs(0),mFriendAverage(1.0f), mReputation(RsReputations::OPINION_NEUTRAL),mIdentityFlags(REPUTATION_IDENTITY_FLAG_NEEDS_UPDATE){ }
|
||||||
|
|
||||||
Reputation(const RsGxsId& about)
|
Reputation(const RsGxsId& /*about*/)
|
||||||
:mOwnOpinion(RsReputations::OPINION_NEUTRAL), mOwnOpinionTs(0),mFriendAverage(1.0f), mReputation(RsReputations::OPINION_NEUTRAL),mIdentityFlags(REPUTATION_IDENTITY_FLAG_NEEDS_UPDATE){ }
|
:mOwnOpinion(RsReputations::OPINION_NEUTRAL), mOwnOpinionTs(0),mFriendAverage(1.0f), mReputation(RsReputations::OPINION_NEUTRAL),mIdentityFlags(REPUTATION_IDENTITY_FLAG_NEEDS_UPDATE){ }
|
||||||
|
|
||||||
void updateReputation();
|
void updateReputation();
|
||||||
|
@ -3800,7 +3800,7 @@ void p3IdService::handleResponse(uint32_t token, uint32_t req_type)
|
|||||||
|
|
||||||
|
|
||||||
// Overloaded from RsTickEvent for Event callbacks.
|
// Overloaded from RsTickEvent for Event callbacks.
|
||||||
void p3IdService::handle_event(uint32_t event_type, const std::string &elabel)
|
void p3IdService::handle_event(uint32_t event_type, const std::string &/*elabel*/)
|
||||||
{
|
{
|
||||||
#ifdef DEBUG_IDS
|
#ifdef DEBUG_IDS
|
||||||
std::cerr << "p3IdService::handle_event(" << event_type << ")";
|
std::cerr << "p3IdService::handle_event(" << event_type << ")";
|
||||||
|
@ -1945,7 +1945,7 @@ uint32_t p3MsgService::getDistantMessagingPermissionFlags()
|
|||||||
return mDistantMessagePermissions ;
|
return mDistantMessagePermissions ;
|
||||||
}
|
}
|
||||||
|
|
||||||
void p3MsgService::receiveGRouterData(const RsGxsId& destination_key, const RsGxsId& signing_key,GRouterServiceId& client_id,uint8_t *data,uint32_t data_size)
|
void p3MsgService::receiveGRouterData(const RsGxsId &destination_key, const RsGxsId &signing_key, GRouterServiceId &/*client_id*/, uint8_t *data, uint32_t data_size)
|
||||||
{
|
{
|
||||||
std::cerr << "p3MsgService::receiveGRouterData(): received message item of size " << data_size << ", for key " << destination_key << std::endl;
|
std::cerr << "p3MsgService::receiveGRouterData(): received message item of size " << data_size << ", for key " << destination_key << std::endl;
|
||||||
|
|
||||||
|
@ -261,12 +261,12 @@ int p3rtt::handlePing(RsItem *item)
|
|||||||
// add our timestamp.
|
// add our timestamp.
|
||||||
pong->mPongTS = convertTsTo64bits(ts);
|
pong->mPongTS = convertTsTo64bits(ts);
|
||||||
|
|
||||||
static double mLastResponseToPong = 0.0 ;// bad stuff
|
|
||||||
#ifdef DEBUG_RTT
|
#ifdef DEBUG_RTT
|
||||||
|
static double mLastResponseToPong = 0.0 ;// bad stuff
|
||||||
std::cerr << "Delay since last response to PONG: " << ts - mLastResponseToPong << std::endl;
|
std::cerr << "Delay since last response to PONG: " << ts - mLastResponseToPong << std::endl;
|
||||||
|
mLastResponseToPong = ts ;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
mLastResponseToPong = ts ;
|
|
||||||
sendItem(pong);
|
sendItem(pong);
|
||||||
return true ;
|
return true ;
|
||||||
}
|
}
|
||||||
|
@ -76,7 +76,7 @@ linux-* {
|
|||||||
LIBS += -lssl -lgpgme -lupnp -lixml -lgnome-keyring -lsqlite3 -lbz2
|
LIBS += -lssl -lgpgme -lupnp -lixml -lgnome-keyring -lsqlite3 -lbz2
|
||||||
LIBS *= -rdynamic -frtti
|
LIBS *= -rdynamic -frtti
|
||||||
DEFINES *= HAVE_XSS # for idle time, libx screensaver extensions
|
DEFINES *= HAVE_XSS # for idle time, libx screensaver extensions
|
||||||
DEFINES *= UBUNTU
|
DEFINES *= HAS_GNOME_KEYRING
|
||||||
}
|
}
|
||||||
|
|
||||||
linux-g++ {
|
linux-g++ {
|
||||||
|
@ -61,7 +61,7 @@ linux-* {
|
|||||||
LIBS += /home/crispy/Development/retroshare/sqlcipher/sqlcipher/.libs/libsqlite3.a
|
LIBS += /home/crispy/Development/retroshare/sqlcipher/sqlcipher/.libs/libsqlite3.a
|
||||||
LIBS *= -rdynamic -frtti
|
LIBS *= -rdynamic -frtti
|
||||||
DEFINES *= HAVE_XSS # for idle time, libx screensaver extensions
|
DEFINES *= HAVE_XSS # for idle time, libx screensaver extensions
|
||||||
DEFINES *= UBUNTU
|
DEFINES *= HAS_GNOME_KEYRING
|
||||||
}
|
}
|
||||||
|
|
||||||
linux-g++ {
|
linux-g++ {
|
||||||
|
@ -76,7 +76,7 @@ linux-* {
|
|||||||
LIBS += -lssl -lgpgme -lupnp -lixml -lgnome-keyring -lsqlite3 -lbz2
|
LIBS += -lssl -lgpgme -lupnp -lixml -lgnome-keyring -lsqlite3 -lbz2
|
||||||
LIBS *= -rdynamic -frtti
|
LIBS *= -rdynamic -frtti
|
||||||
DEFINES *= HAVE_XSS # for idle time, libx screensaver extensions
|
DEFINES *= HAVE_XSS # for idle time, libx screensaver extensions
|
||||||
DEFINES *= UBUNTU
|
DEFINES *= HAS_GNOME_KEYRING
|
||||||
}
|
}
|
||||||
|
|
||||||
linux-g++ {
|
linux-g++ {
|
||||||
|
@ -120,6 +120,8 @@ void RetroDb::closeDb(){
|
|||||||
|
|
||||||
#ifdef RETRODB_DEBUG
|
#ifdef RETRODB_DEBUG
|
||||||
std::cerr << "RetroDb::closeDb(): Error code on close: " << rc << std::endl;
|
std::cerr << "RetroDb::closeDb(): Error code on close: " << rc << std::endl;
|
||||||
|
#else
|
||||||
|
(void)rc;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -294,7 +294,7 @@ bool RsDirUtil::copyFile(const std::string& source,const std::string& dest)
|
|||||||
fclose(in) ;
|
fclose(in) ;
|
||||||
fclose(out) ;
|
fclose(out) ;
|
||||||
|
|
||||||
return true ;
|
return bRet ;
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
@ -951,7 +951,7 @@ bool sockaddr_storage_ipv4_isExternalNet(const struct sockaddr_storage &addr)
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
bool sockaddr_storage_ipv6_isnull(const struct sockaddr_storage &addr)
|
bool sockaddr_storage_ipv6_isnull(const struct sockaddr_storage &/*addr*/)
|
||||||
{
|
{
|
||||||
#ifdef SS_DEBUG
|
#ifdef SS_DEBUG
|
||||||
std::cerr << "sockaddr_storage_ipv6_isnull() TODO";
|
std::cerr << "sockaddr_storage_ipv6_isnull() TODO";
|
||||||
@ -961,7 +961,7 @@ bool sockaddr_storage_ipv6_isnull(const struct sockaddr_storage &addr)
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool sockaddr_storage_ipv6_isValidNet(const struct sockaddr_storage &addr)
|
bool sockaddr_storage_ipv6_isValidNet(const struct sockaddr_storage &/*addr*/)
|
||||||
{
|
{
|
||||||
#ifdef SS_DEBUG
|
#ifdef SS_DEBUG
|
||||||
std::cerr << "sockaddr_storage_ipv6_isValidNet() TODO";
|
std::cerr << "sockaddr_storage_ipv6_isValidNet() TODO";
|
||||||
@ -971,7 +971,7 @@ bool sockaddr_storage_ipv6_isValidNet(const struct sockaddr_storage &addr)
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool sockaddr_storage_ipv6_isLoopbackNet(const struct sockaddr_storage &addr)
|
bool sockaddr_storage_ipv6_isLoopbackNet(const struct sockaddr_storage &/*addr*/)
|
||||||
{
|
{
|
||||||
#ifdef SS_DEBUG
|
#ifdef SS_DEBUG
|
||||||
std::cerr << "sockaddr_storage_ipv6_isLoopbackNet() TODO";
|
std::cerr << "sockaddr_storage_ipv6_isLoopbackNet() TODO";
|
||||||
@ -981,7 +981,7 @@ bool sockaddr_storage_ipv6_isLoopbackNet(const struct sockaddr_storage &addr)
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool sockaddr_storage_ipv6_isPrivateNet(const struct sockaddr_storage &addr)
|
bool sockaddr_storage_ipv6_isPrivateNet(const struct sockaddr_storage &/*addr*/)
|
||||||
{
|
{
|
||||||
#ifdef SS_DEBUG
|
#ifdef SS_DEBUG
|
||||||
std::cerr << "sockaddr_storage_ipv6_isPrivateNet() TODO";
|
std::cerr << "sockaddr_storage_ipv6_isPrivateNet() TODO";
|
||||||
@ -991,7 +991,7 @@ bool sockaddr_storage_ipv6_isPrivateNet(const struct sockaddr_storage &addr)
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool sockaddr_storage_ipv6_isExternalNet(const struct sockaddr_storage &addr)
|
bool sockaddr_storage_ipv6_isExternalNet(const struct sockaddr_storage &/*addr*/)
|
||||||
{
|
{
|
||||||
#ifdef SS_DEBUG
|
#ifdef SS_DEBUG
|
||||||
std::cerr << "sockaddr_storage_ipv6_isExternalNet() TODO";
|
std::cerr << "sockaddr_storage_ipv6_isExternalNet() TODO";
|
||||||
|
@ -24,13 +24,14 @@
|
|||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
|
||||||
#include "rsthreads.h"
|
#include "rsthreads.h"
|
||||||
#include <unistd.h> // for usleep()
|
#include <unistd.h> // for usleep()
|
||||||
#include <errno.h> // for errno
|
#include <errno.h> // for errno
|
||||||
#include <iostream>
|
#include <iostream>
|
||||||
#include <time.h>
|
#include <time.h>
|
||||||
|
|
||||||
|
int __attribute__((weak)) pthread_setname_np(pthread_t __target_thread, const char *__buf) ;
|
||||||
|
|
||||||
#ifdef RSMUTEX_DEBUG
|
#ifdef RSMUTEX_DEBUG
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
#include <sys/time.h>
|
#include <sys/time.h>
|
||||||
@ -83,6 +84,7 @@ RsThread::RsThread()
|
|||||||
mHasStoppedSemaphore.set(1) ;
|
mHasStoppedSemaphore.set(1) ;
|
||||||
mShouldStopSemaphore.set(0) ;
|
mShouldStopSemaphore.set(0) ;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool RsThread::isRunning()
|
bool RsThread::isRunning()
|
||||||
{
|
{
|
||||||
// do we need a mutex for this ?
|
// do we need a mutex for this ?
|
||||||
@ -142,7 +144,8 @@ void RsTickingThread::fullstop()
|
|||||||
THREAD_DEBUG << " finished!" << std::endl;
|
THREAD_DEBUG << " finished!" << std::endl;
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
void RsThread::start()
|
|
||||||
|
void RsThread::start(const std::string &threadName)
|
||||||
{
|
{
|
||||||
pthread_t tid;
|
pthread_t tid;
|
||||||
void *data = (void *)this ;
|
void *data = (void *)this ;
|
||||||
@ -158,11 +161,30 @@ void RsThread::start()
|
|||||||
// -> the new thread will see mIsRunning() = true
|
// -> the new thread will see mIsRunning() = true
|
||||||
|
|
||||||
if( 0 == (err=pthread_create(&tid, 0, &rsthread_init, data)))
|
if( 0 == (err=pthread_create(&tid, 0, &rsthread_init, data)))
|
||||||
|
{
|
||||||
mTid = tid;
|
mTid = tid;
|
||||||
|
|
||||||
|
// set name
|
||||||
|
|
||||||
|
if(pthread_setname_np)
|
||||||
|
if(!threadName.empty())
|
||||||
|
{
|
||||||
|
// thread names are restricted to 16 characters including the terminating null byte
|
||||||
|
if(threadName.length() > 15)
|
||||||
|
{
|
||||||
|
#ifdef DEBUG_THREADS
|
||||||
|
THREAD_DEBUG << "RsThread::start called with to long name '" << name << "' truncating..." << std::endl;
|
||||||
|
#endif
|
||||||
|
pthread_setname_np(mTid, threadName.substr(0, 15).c_str());
|
||||||
|
} else {
|
||||||
|
pthread_setname_np(mTid, threadName.c_str());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
THREAD_DEBUG << "Fatal error: pthread_create could not create a thread. Error returned: " << err << " !!!!!!!" << std::endl;
|
THREAD_DEBUG << "Fatal error: pthread_create could not create a thread. Error returned: " << err << " !!!!!!!" << std::endl;
|
||||||
mHasStoppedSemaphore.set(1) ;
|
mHasStoppedSemaphore.set(1) ;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -245,7 +245,7 @@ class RsThread
|
|||||||
RsThread();
|
RsThread();
|
||||||
virtual ~RsThread() {}
|
virtual ~RsThread() {}
|
||||||
|
|
||||||
void start() ;
|
void start(const std::string &threadName = "");
|
||||||
|
|
||||||
// Returns true of the thread is still running.
|
// Returns true of the thread is still running.
|
||||||
|
|
||||||
|
@ -509,7 +509,7 @@ ops_boolean_t ops_write_transferable_public_key_from_packet_data(const ops_keyda
|
|||||||
ops_create_info_t *info)
|
ops_create_info_t *info)
|
||||||
{
|
{
|
||||||
ops_boolean_t rtn = ops_true;
|
ops_boolean_t rtn = ops_true;
|
||||||
unsigned int i=0,j=0;
|
unsigned int i=0;
|
||||||
|
|
||||||
if (armoured)
|
if (armoured)
|
||||||
{ ops_writer_push_armoured(info, OPS_PGP_PUBLIC_KEY_BLOCK); }
|
{ ops_writer_push_armoured(info, OPS_PGP_PUBLIC_KEY_BLOCK); }
|
||||||
@ -532,7 +532,7 @@ ops_boolean_t ops_write_transferable_secret_key_from_packet_data(const ops_keyda
|
|||||||
ops_create_info_t *info)
|
ops_create_info_t *info)
|
||||||
{
|
{
|
||||||
ops_boolean_t rtn = ops_true;
|
ops_boolean_t rtn = ops_true;
|
||||||
unsigned int i=0,j=0;
|
unsigned int i=0;
|
||||||
|
|
||||||
if(keydata->type != OPS_PTAG_CT_ENCRYPTED_SECRET_KEY)
|
if(keydata->type != OPS_PTAG_CT_ENCRYPTED_SECRET_KEY)
|
||||||
{
|
{
|
||||||
|
@ -309,11 +309,6 @@ ops_boolean_t ops_decrypt_memory(const unsigned char *encrypted_memory,int em_le
|
|||||||
const ops_boolean_t use_armour,
|
const ops_boolean_t use_armour,
|
||||||
ops_parse_cb_t* cb_get_passphrase)
|
ops_parse_cb_t* cb_get_passphrase)
|
||||||
{
|
{
|
||||||
int fd_in=0;
|
|
||||||
int fd_out=0;
|
|
||||||
char* myfilename=NULL;
|
|
||||||
|
|
||||||
//
|
|
||||||
ops_parse_info_t *pinfo=NULL;
|
ops_parse_info_t *pinfo=NULL;
|
||||||
|
|
||||||
// setup for reading from given input file
|
// setup for reading from given input file
|
||||||
@ -368,7 +363,6 @@ ops_boolean_t ops_decrypt_memory(const unsigned char *encrypted_memory,int em_le
|
|||||||
*decrypted_memory = ops_mallocz(*out_length) ;
|
*decrypted_memory = ops_mallocz(*out_length) ;
|
||||||
memcpy(*decrypted_memory,ops_memory_get_data(output_mem),*out_length) ;
|
memcpy(*decrypted_memory,ops_memory_get_data(output_mem),*out_length) ;
|
||||||
|
|
||||||
ops_decrypt_memory_ABORT:
|
|
||||||
ops_teardown_memory_write(pinfo->cbinfo.cinfo, output_mem);
|
ops_teardown_memory_write(pinfo->cbinfo.cinfo, output_mem);
|
||||||
ops_teardown_memory_read(pinfo, input_mem);
|
ops_teardown_memory_read(pinfo, input_mem);
|
||||||
|
|
||||||
|
@ -616,8 +616,6 @@ ops_boolean_t ops_add_selfsigned_userid_to_keydata(ops_keydata_t* keydata, ops_u
|
|||||||
ops_boolean_t ops_sign_key(ops_keydata_t* keydata, const unsigned char *signers_key_id,ops_secret_key_t *signers_key)
|
ops_boolean_t ops_sign_key(ops_keydata_t* keydata, const unsigned char *signers_key_id,ops_secret_key_t *signers_key)
|
||||||
{
|
{
|
||||||
/* ops_memory_t* mem_userid=NULL; */
|
/* ops_memory_t* mem_userid=NULL; */
|
||||||
ops_create_info_t* cinfo_userid=NULL;
|
|
||||||
|
|
||||||
ops_memory_t* mem_sig=NULL;
|
ops_memory_t* mem_sig=NULL;
|
||||||
ops_create_info_t* cinfo_sig=NULL;
|
ops_create_info_t* cinfo_sig=NULL;
|
||||||
|
|
||||||
|
@ -998,7 +998,7 @@ int ops_print_packet(const ops_parser_content_t *content_)
|
|||||||
|
|
||||||
case OPS_PTAG_SS_EMBEDDED_SIGNATURE:
|
case OPS_PTAG_SS_EMBEDDED_SIGNATURE:
|
||||||
start_subpacket(content_->tag);
|
start_subpacket(content_->tag);
|
||||||
end_subpacket(content_->tag); // \todo print out contents?
|
end_subpacket(); // \todo print out contents?
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case OPS_PTAG_SS_USERDEFINED00:
|
case OPS_PTAG_SS_USERDEFINED00:
|
||||||
|
@ -118,7 +118,7 @@ void *ops_mallocz(size_t n)
|
|||||||
void *m=malloc(n);
|
void *m=malloc(n);
|
||||||
|
|
||||||
if(m == NULL)
|
if(m == NULL)
|
||||||
fprintf(stderr,"(EE) Cannot allocate %d bytes of memory in %s\n",n,__PRETTY_FUNCTION__) ;
|
fprintf(stderr,"(EE) Cannot allocate %lu bytes of memory in %s\n",n,__PRETTY_FUNCTION__) ;
|
||||||
else
|
else
|
||||||
memset(m,'\0',n);
|
memset(m,'\0',n);
|
||||||
|
|
||||||
|
@ -65,12 +65,12 @@ p3FeedReader::p3FeedReader(RsPluginHandler* pgHandler, RsGxsForums *forums)
|
|||||||
/* start download thread */
|
/* start download thread */
|
||||||
p3FeedReaderThread *frt = new p3FeedReaderThread(this, p3FeedReaderThread::DOWNLOAD, "");
|
p3FeedReaderThread *frt = new p3FeedReaderThread(this, p3FeedReaderThread::DOWNLOAD, "");
|
||||||
mThreads.push_back(frt);
|
mThreads.push_back(frt);
|
||||||
frt->start();
|
frt->start("fr download");
|
||||||
|
|
||||||
/* start process thread */
|
/* start process thread */
|
||||||
frt = new p3FeedReaderThread(this, p3FeedReaderThread::PROCESS, "");
|
frt = new p3FeedReaderThread(this, p3FeedReaderThread::PROCESS, "");
|
||||||
mThreads.push_back(frt);
|
mThreads.push_back(frt);
|
||||||
frt->start();
|
frt->start("fr process");
|
||||||
}
|
}
|
||||||
|
|
||||||
/***************************************************************************/
|
/***************************************************************************/
|
||||||
@ -698,11 +698,11 @@ bool p3FeedReader::addPreviewFeed(const FeedInfo &feedInfo, std::string &feedId)
|
|||||||
|
|
||||||
/* start download thread for preview */
|
/* start download thread for preview */
|
||||||
mPreviewDownloadThread = new p3FeedReaderThread(this, p3FeedReaderThread::DOWNLOAD, feedId);
|
mPreviewDownloadThread = new p3FeedReaderThread(this, p3FeedReaderThread::DOWNLOAD, feedId);
|
||||||
mPreviewDownloadThread->start();
|
mPreviewDownloadThread->start("fr preview dl");
|
||||||
|
|
||||||
/* start process thread for preview */
|
/* start process thread for preview */
|
||||||
mPreviewProcessThread = new p3FeedReaderThread(this, p3FeedReaderThread::PROCESS, feedId);
|
mPreviewProcessThread = new p3FeedReaderThread(this, p3FeedReaderThread::PROCESS, feedId);
|
||||||
mPreviewProcessThread->start();
|
mPreviewProcessThread->start("fr preview proc");
|
||||||
}
|
}
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
|
@ -4,6 +4,7 @@
|
|||||||
#include <QMenu>
|
#include <QMenu>
|
||||||
#include <QMessageBox>
|
#include <QMessageBox>
|
||||||
#include <time.h>
|
#include <time.h>
|
||||||
|
#include <algorithm>
|
||||||
#include "ChatLobbyWidget.h"
|
#include "ChatLobbyWidget.h"
|
||||||
#include "chat/CreateLobbyDialog.h"
|
#include "chat/CreateLobbyDialog.h"
|
||||||
#include "chat/ChatTabWidget.h"
|
#include "chat/ChatTabWidget.h"
|
||||||
|
@ -98,7 +98,10 @@ CreateCircleDialog::CreateCircleDialog()
|
|||||||
mIsExistingCircle = false;
|
mIsExistingCircle = false;
|
||||||
mIsExternalCircle = true;
|
mIsExternalCircle = true;
|
||||||
mClearList = true;
|
mClearList = true;
|
||||||
|
#if QT_VERSION >= 0x040700
|
||||||
|
ui.circleName->setPlaceholderText(QApplication::translate("CreateCircleDialog", "Circle name", 0));
|
||||||
|
#endif
|
||||||
|
|
||||||
//ui.idChooser->loadIds(0,RsGxsId());
|
//ui.idChooser->loadIds(0,RsGxsId());
|
||||||
ui.circleComboBox->loadCircles(GXS_CIRCLE_CHOOSER_EXTERNAL, RsGxsCircleId());
|
ui.circleComboBox->loadCircles(GXS_CIRCLE_CHOOSER_EXTERNAL, RsGxsCircleId());
|
||||||
}
|
}
|
||||||
|
@ -6,15 +6,24 @@
|
|||||||
<rect>
|
<rect>
|
||||||
<x>0</x>
|
<x>0</x>
|
||||||
<y>0</y>
|
<y>0</y>
|
||||||
<width>881</width>
|
<width>924</width>
|
||||||
<height>515</height>
|
<height>578</height>
|
||||||
</rect>
|
</rect>
|
||||||
</property>
|
</property>
|
||||||
<property name="windowTitle">
|
<property name="windowTitle">
|
||||||
<string/>
|
<string/>
|
||||||
</property>
|
</property>
|
||||||
<layout class="QGridLayout" name="gridLayout_2">
|
<layout class="QGridLayout" name="gridLayout_2">
|
||||||
<property name="margin">
|
<property name="leftMargin">
|
||||||
|
<number>0</number>
|
||||||
|
</property>
|
||||||
|
<property name="topMargin">
|
||||||
|
<number>0</number>
|
||||||
|
</property>
|
||||||
|
<property name="rightMargin">
|
||||||
|
<number>0</number>
|
||||||
|
</property>
|
||||||
|
<property name="bottomMargin">
|
||||||
<number>0</number>
|
<number>0</number>
|
||||||
</property>
|
</property>
|
||||||
<property name="spacing">
|
<property name="spacing">
|
||||||
@ -146,7 +155,16 @@
|
|||||||
<property name="spacing">
|
<property name="spacing">
|
||||||
<number>0</number>
|
<number>0</number>
|
||||||
</property>
|
</property>
|
||||||
<property name="margin">
|
<property name="leftMargin">
|
||||||
|
<number>0</number>
|
||||||
|
</property>
|
||||||
|
<property name="topMargin">
|
||||||
|
<number>0</number>
|
||||||
|
</property>
|
||||||
|
<property name="rightMargin">
|
||||||
|
<number>0</number>
|
||||||
|
</property>
|
||||||
|
<property name="bottomMargin">
|
||||||
<number>0</number>
|
<number>0</number>
|
||||||
</property>
|
</property>
|
||||||
<item>
|
<item>
|
||||||
@ -246,11 +264,7 @@
|
|||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
<item row="0" column="1" colspan="3">
|
<item row="0" column="1" colspan="3">
|
||||||
<widget class="QLineEdit" name="circleName">
|
<widget class="QLineEdit" name="circleName"/>
|
||||||
<property name="placeholderText">
|
|
||||||
<string>Circle name</string>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
</item>
|
||||||
<item row="1" column="0">
|
<item row="1" column="0">
|
||||||
<widget class="QLabel" name="idChooserLabel">
|
<widget class="QLabel" name="idChooserLabel">
|
||||||
@ -323,7 +337,16 @@
|
|||||||
<enum>QFrame::Raised</enum>
|
<enum>QFrame::Raised</enum>
|
||||||
</property>
|
</property>
|
||||||
<layout class="QGridLayout" name="gridLayout_4">
|
<layout class="QGridLayout" name="gridLayout_4">
|
||||||
<property name="margin">
|
<property name="leftMargin">
|
||||||
|
<number>2</number>
|
||||||
|
</property>
|
||||||
|
<property name="topMargin">
|
||||||
|
<number>2</number>
|
||||||
|
</property>
|
||||||
|
<property name="rightMargin">
|
||||||
|
<number>2</number>
|
||||||
|
</property>
|
||||||
|
<property name="bottomMargin">
|
||||||
<number>2</number>
|
<number>2</number>
|
||||||
</property>
|
</property>
|
||||||
<item row="0" column="0">
|
<item row="0" column="0">
|
||||||
|
@ -14,15 +14,24 @@
|
|||||||
<string notr="true">Create New</string>
|
<string notr="true">Create New</string>
|
||||||
</property>
|
</property>
|
||||||
<layout class="QGridLayout" name="gridLayout_5">
|
<layout class="QGridLayout" name="gridLayout_5">
|
||||||
|
<property name="leftMargin">
|
||||||
|
<number>0</number>
|
||||||
|
</property>
|
||||||
|
<property name="topMargin">
|
||||||
|
<number>0</number>
|
||||||
|
</property>
|
||||||
|
<property name="rightMargin">
|
||||||
|
<number>0</number>
|
||||||
|
</property>
|
||||||
|
<property name="bottomMargin">
|
||||||
|
<number>0</number>
|
||||||
|
</property>
|
||||||
<property name="horizontalSpacing">
|
<property name="horizontalSpacing">
|
||||||
<number>6</number>
|
<number>6</number>
|
||||||
</property>
|
</property>
|
||||||
<property name="verticalSpacing">
|
<property name="verticalSpacing">
|
||||||
<number>0</number>
|
<number>0</number>
|
||||||
</property>
|
</property>
|
||||||
<property name="margin">
|
|
||||||
<number>0</number>
|
|
||||||
</property>
|
|
||||||
<item row="0" column="0">
|
<item row="0" column="0">
|
||||||
<widget class="HeaderFrame" name="headerFrame"/>
|
<widget class="HeaderFrame" name="headerFrame"/>
|
||||||
</item>
|
</item>
|
||||||
@ -35,7 +44,7 @@
|
|||||||
<enum>QFrame::Raised</enum>
|
<enum>QFrame::Raised</enum>
|
||||||
</property>
|
</property>
|
||||||
<property name="currentIndex">
|
<property name="currentIndex">
|
||||||
<number>1</number>
|
<number>0</number>
|
||||||
</property>
|
</property>
|
||||||
<widget class="QWidget" name="createmode">
|
<widget class="QWidget" name="createmode">
|
||||||
<layout class="QGridLayout" name="gridLayout">
|
<layout class="QGridLayout" name="gridLayout">
|
||||||
@ -48,7 +57,16 @@
|
|||||||
<property name="spacing">
|
<property name="spacing">
|
||||||
<number>0</number>
|
<number>0</number>
|
||||||
</property>
|
</property>
|
||||||
<property name="margin">
|
<property name="leftMargin">
|
||||||
|
<number>4</number>
|
||||||
|
</property>
|
||||||
|
<property name="topMargin">
|
||||||
|
<number>4</number>
|
||||||
|
</property>
|
||||||
|
<property name="rightMargin">
|
||||||
|
<number>4</number>
|
||||||
|
</property>
|
||||||
|
<property name="bottomMargin">
|
||||||
<number>4</number>
|
<number>4</number>
|
||||||
</property>
|
</property>
|
||||||
<item>
|
<item>
|
||||||
@ -112,7 +130,16 @@
|
|||||||
<property name="spacing">
|
<property name="spacing">
|
||||||
<number>9</number>
|
<number>9</number>
|
||||||
</property>
|
</property>
|
||||||
<property name="margin">
|
<property name="leftMargin">
|
||||||
|
<number>3</number>
|
||||||
|
</property>
|
||||||
|
<property name="topMargin">
|
||||||
|
<number>3</number>
|
||||||
|
</property>
|
||||||
|
<property name="rightMargin">
|
||||||
|
<number>3</number>
|
||||||
|
</property>
|
||||||
|
<property name="bottomMargin">
|
||||||
<number>3</number>
|
<number>3</number>
|
||||||
</property>
|
</property>
|
||||||
<item>
|
<item>
|
||||||
@ -169,94 +196,7 @@
|
|||||||
</layout>
|
</layout>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
<item row="0" column="1" rowspan="7">
|
<item row="2" column="0">
|
||||||
<widget class="QDockWidget" name="contactsdockWidget">
|
|
||||||
<property name="enabled">
|
|
||||||
<bool>true</bool>
|
|
||||||
</property>
|
|
||||||
<property name="sizePolicy">
|
|
||||||
<sizepolicy hsizetype="Preferred" vsizetype="Preferred">
|
|
||||||
<horstretch>0</horstretch>
|
|
||||||
<verstretch>0</verstretch>
|
|
||||||
</sizepolicy>
|
|
||||||
</property>
|
|
||||||
<property name="maximumSize">
|
|
||||||
<size>
|
|
||||||
<width>300</width>
|
|
||||||
<height>524287</height>
|
|
||||||
</size>
|
|
||||||
</property>
|
|
||||||
<property name="sizeIncrement">
|
|
||||||
<size>
|
|
||||||
<width>220</width>
|
|
||||||
<height>0</height>
|
|
||||||
</size>
|
|
||||||
</property>
|
|
||||||
<property name="baseSize">
|
|
||||||
<size>
|
|
||||||
<width>0</width>
|
|
||||||
<height>0</height>
|
|
||||||
</size>
|
|
||||||
</property>
|
|
||||||
<property name="toolTip">
|
|
||||||
<string>check peers you would like to share private publish key with</string>
|
|
||||||
</property>
|
|
||||||
<property name="floating">
|
|
||||||
<bool>false</bool>
|
|
||||||
</property>
|
|
||||||
<property name="features">
|
|
||||||
<set>QDockWidget::NoDockWidgetFeatures</set>
|
|
||||||
</property>
|
|
||||||
<property name="windowTitle">
|
|
||||||
<string>Share Key With</string>
|
|
||||||
</property>
|
|
||||||
<widget class="QWidget" name="dockWidgetContents">
|
|
||||||
<layout class="QGridLayout" name="_2">
|
|
||||||
<property name="margin">
|
|
||||||
<number>0</number>
|
|
||||||
</property>
|
|
||||||
<property name="spacing">
|
|
||||||
<number>0</number>
|
|
||||||
</property>
|
|
||||||
<item row="0" column="0">
|
|
||||||
<widget class="FriendSelectionWidget" name="keyShareList" native="true">
|
|
||||||
<property name="sizePolicy">
|
|
||||||
<sizepolicy hsizetype="Preferred" vsizetype="Expanding">
|
|
||||||
<horstretch>0</horstretch>
|
|
||||||
<verstretch>4</verstretch>
|
|
||||||
</sizepolicy>
|
|
||||||
</property>
|
|
||||||
<property name="minimumSize">
|
|
||||||
<size>
|
|
||||||
<width>20</width>
|
|
||||||
<height>0</height>
|
|
||||||
</size>
|
|
||||||
</property>
|
|
||||||
<property name="maximumSize">
|
|
||||||
<size>
|
|
||||||
<width>300</width>
|
|
||||||
<height>16777215</height>
|
|
||||||
</size>
|
|
||||||
</property>
|
|
||||||
<property name="sizeIncrement">
|
|
||||||
<size>
|
|
||||||
<width>220</width>
|
|
||||||
<height>0</height>
|
|
||||||
</size>
|
|
||||||
</property>
|
|
||||||
<property name="baseSize">
|
|
||||||
<size>
|
|
||||||
<width>200</width>
|
|
||||||
<height>0</height>
|
|
||||||
</size>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
</layout>
|
|
||||||
</widget>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item row="1" column="0">
|
|
||||||
<widget class="QGroupBox" name="groupBox">
|
<widget class="QGroupBox" name="groupBox">
|
||||||
<property name="title">
|
<property name="title">
|
||||||
<string>Description</string>
|
<string>Description</string>
|
||||||
@ -268,108 +208,7 @@
|
|||||||
</layout>
|
</layout>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
<item row="2" column="0">
|
<item row="4" column="0">
|
||||||
<widget class="QGroupBox" name="distribGroupBox">
|
|
||||||
<property name="sizePolicy">
|
|
||||||
<sizepolicy hsizetype="Expanding" vsizetype="Fixed">
|
|
||||||
<horstretch>0</horstretch>
|
|
||||||
<verstretch>0</verstretch>
|
|
||||||
</sizepolicy>
|
|
||||||
</property>
|
|
||||||
<property name="title">
|
|
||||||
<string>Message Distribution</string>
|
|
||||||
</property>
|
|
||||||
<layout class="QVBoxLayout" name="verticalLayout">
|
|
||||||
<property name="spacing">
|
|
||||||
<number>0</number>
|
|
||||||
</property>
|
|
||||||
<item>
|
|
||||||
<widget class="QRadioButton" name="typePublic">
|
|
||||||
<property name="sizePolicy">
|
|
||||||
<sizepolicy hsizetype="Minimum" vsizetype="Expanding">
|
|
||||||
<horstretch>0</horstretch>
|
|
||||||
<verstretch>0</verstretch>
|
|
||||||
</sizepolicy>
|
|
||||||
</property>
|
|
||||||
<property name="text">
|
|
||||||
<string>Public</string>
|
|
||||||
</property>
|
|
||||||
<property name="icon">
|
|
||||||
<iconset resource="../images.qrc">
|
|
||||||
<normaloff>:/images/network.png</normaloff>:/images/network.png</iconset>
|
|
||||||
</property>
|
|
||||||
<property name="iconSize">
|
|
||||||
<size>
|
|
||||||
<width>24</width>
|
|
||||||
<height>24</height>
|
|
||||||
</size>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item>
|
|
||||||
<layout class="QHBoxLayout" name="horizontalLayout_8">
|
|
||||||
<item>
|
|
||||||
<widget class="QRadioButton" name="typeGroup">
|
|
||||||
<property name="sizePolicy">
|
|
||||||
<sizepolicy hsizetype="Minimum" vsizetype="Expanding">
|
|
||||||
<horstretch>0</horstretch>
|
|
||||||
<verstretch>0</verstretch>
|
|
||||||
</sizepolicy>
|
|
||||||
</property>
|
|
||||||
<property name="text">
|
|
||||||
<string>Restricted to Group</string>
|
|
||||||
</property>
|
|
||||||
<property name="icon">
|
|
||||||
<iconset resource="../images.qrc">
|
|
||||||
<normaloff>:/images/user/agt_forum24.png</normaloff>:/images/user/agt_forum24.png</iconset>
|
|
||||||
</property>
|
|
||||||
<property name="iconSize">
|
|
||||||
<size>
|
|
||||||
<width>24</width>
|
|
||||||
<height>24</height>
|
|
||||||
</size>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item>
|
|
||||||
<widget class="GxsCircleChooser" name="circleComboBox"/>
|
|
||||||
</item>
|
|
||||||
</layout>
|
|
||||||
</item>
|
|
||||||
<item>
|
|
||||||
<layout class="QHBoxLayout" name="horizontalLayout_7">
|
|
||||||
<item>
|
|
||||||
<widget class="QRadioButton" name="typeLocal">
|
|
||||||
<property name="sizePolicy">
|
|
||||||
<sizepolicy hsizetype="Minimum" vsizetype="Expanding">
|
|
||||||
<horstretch>0</horstretch>
|
|
||||||
<verstretch>0</verstretch>
|
|
||||||
</sizepolicy>
|
|
||||||
</property>
|
|
||||||
<property name="text">
|
|
||||||
<string>Only For Your Friends</string>
|
|
||||||
</property>
|
|
||||||
<property name="icon">
|
|
||||||
<iconset resource="../images.qrc">
|
|
||||||
<normaloff>:/images/user/friends24.png</normaloff>:/images/user/friends24.png</iconset>
|
|
||||||
</property>
|
|
||||||
<property name="iconSize">
|
|
||||||
<size>
|
|
||||||
<width>24</width>
|
|
||||||
<height>24</height>
|
|
||||||
</size>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item>
|
|
||||||
<widget class="GxsCircleChooser" name="localComboBox"/>
|
|
||||||
</item>
|
|
||||||
</layout>
|
|
||||||
</item>
|
|
||||||
</layout>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item row="3" column="0">
|
|
||||||
<widget class="QGroupBox" name="publishGroupBox">
|
<widget class="QGroupBox" name="publishGroupBox">
|
||||||
<property name="title">
|
<property name="title">
|
||||||
<string>Publish Signatures</string>
|
<string>Publish Signatures</string>
|
||||||
@ -434,7 +273,7 @@
|
|||||||
</layout>
|
</layout>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
<item row="4" column="0">
|
<item row="5" column="0">
|
||||||
<widget class="QGroupBox" name="personalGroupBox">
|
<widget class="QGroupBox" name="personalGroupBox">
|
||||||
<property name="title">
|
<property name="title">
|
||||||
<string>Personal Signatures</string>
|
<string>Personal Signatures</string>
|
||||||
@ -477,7 +316,7 @@
|
|||||||
</layout>
|
</layout>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
<item row="5" column="0">
|
<item row="6" column="0">
|
||||||
<widget class="QGroupBox" name="commentGroupBox">
|
<widget class="QGroupBox" name="commentGroupBox">
|
||||||
<property name="title">
|
<property name="title">
|
||||||
<string>Comments</string>
|
<string>Comments</string>
|
||||||
@ -528,7 +367,7 @@
|
|||||||
</layout>
|
</layout>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
<item row="6" column="0">
|
<item row="7" column="0">
|
||||||
<widget class="QGroupBox" name="spamProtection_GB">
|
<widget class="QGroupBox" name="spamProtection_GB">
|
||||||
<property name="title">
|
<property name="title">
|
||||||
<string>Spam-protection</string>
|
<string>Spam-protection</string>
|
||||||
@ -585,7 +424,7 @@
|
|||||||
</layout>
|
</layout>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
<item row="7" column="0" colspan="2">
|
<item row="8" column="0" colspan="2">
|
||||||
<widget class="QFrame" name="extraFrame">
|
<widget class="QFrame" name="extraFrame">
|
||||||
<property name="frameShape">
|
<property name="frameShape">
|
||||||
<enum>QFrame::StyledPanel</enum>
|
<enum>QFrame::StyledPanel</enum>
|
||||||
@ -595,6 +434,203 @@
|
|||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
|
<item row="0" column="1" rowspan="8">
|
||||||
|
<widget class="QDockWidget" name="contactsdockWidget">
|
||||||
|
<property name="enabled">
|
||||||
|
<bool>true</bool>
|
||||||
|
</property>
|
||||||
|
<property name="sizePolicy">
|
||||||
|
<sizepolicy hsizetype="Preferred" vsizetype="Preferred">
|
||||||
|
<horstretch>0</horstretch>
|
||||||
|
<verstretch>0</verstretch>
|
||||||
|
</sizepolicy>
|
||||||
|
</property>
|
||||||
|
<property name="maximumSize">
|
||||||
|
<size>
|
||||||
|
<width>300</width>
|
||||||
|
<height>524287</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
|
<property name="sizeIncrement">
|
||||||
|
<size>
|
||||||
|
<width>220</width>
|
||||||
|
<height>0</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
|
<property name="baseSize">
|
||||||
|
<size>
|
||||||
|
<width>0</width>
|
||||||
|
<height>0</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
|
<property name="toolTip">
|
||||||
|
<string>check peers you would like to share private publish key with</string>
|
||||||
|
</property>
|
||||||
|
<property name="floating">
|
||||||
|
<bool>false</bool>
|
||||||
|
</property>
|
||||||
|
<property name="features">
|
||||||
|
<set>QDockWidget::NoDockWidgetFeatures</set>
|
||||||
|
</property>
|
||||||
|
<property name="windowTitle">
|
||||||
|
<string>Share Key With</string>
|
||||||
|
</property>
|
||||||
|
<widget class="QWidget" name="dockWidgetContents">
|
||||||
|
<layout class="QGridLayout" name="_2">
|
||||||
|
<property name="leftMargin">
|
||||||
|
<number>0</number>
|
||||||
|
</property>
|
||||||
|
<property name="topMargin">
|
||||||
|
<number>0</number>
|
||||||
|
</property>
|
||||||
|
<property name="rightMargin">
|
||||||
|
<number>0</number>
|
||||||
|
</property>
|
||||||
|
<property name="bottomMargin">
|
||||||
|
<number>0</number>
|
||||||
|
</property>
|
||||||
|
<property name="spacing">
|
||||||
|
<number>0</number>
|
||||||
|
</property>
|
||||||
|
<item row="0" column="0">
|
||||||
|
<widget class="FriendSelectionWidget" name="keyShareList" native="true">
|
||||||
|
<property name="sizePolicy">
|
||||||
|
<sizepolicy hsizetype="Preferred" vsizetype="Expanding">
|
||||||
|
<horstretch>0</horstretch>
|
||||||
|
<verstretch>4</verstretch>
|
||||||
|
</sizepolicy>
|
||||||
|
</property>
|
||||||
|
<property name="minimumSize">
|
||||||
|
<size>
|
||||||
|
<width>20</width>
|
||||||
|
<height>0</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
|
<property name="maximumSize">
|
||||||
|
<size>
|
||||||
|
<width>300</width>
|
||||||
|
<height>16777215</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
|
<property name="sizeIncrement">
|
||||||
|
<size>
|
||||||
|
<width>220</width>
|
||||||
|
<height>0</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
|
<property name="baseSize">
|
||||||
|
<size>
|
||||||
|
<width>200</width>
|
||||||
|
<height>0</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
</layout>
|
||||||
|
</widget>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="1" column="0">
|
||||||
|
<widget class="QGroupBox" name="distribGroupBox">
|
||||||
|
<property name="sizePolicy">
|
||||||
|
<sizepolicy hsizetype="Expanding" vsizetype="Fixed">
|
||||||
|
<horstretch>0</horstretch>
|
||||||
|
<verstretch>0</verstretch>
|
||||||
|
</sizepolicy>
|
||||||
|
</property>
|
||||||
|
<property name="title">
|
||||||
|
<string>Message Distribution</string>
|
||||||
|
</property>
|
||||||
|
<layout class="QVBoxLayout" name="verticalLayout">
|
||||||
|
<property name="spacing">
|
||||||
|
<number>0</number>
|
||||||
|
</property>
|
||||||
|
<item>
|
||||||
|
<widget class="QRadioButton" name="typePublic">
|
||||||
|
<property name="sizePolicy">
|
||||||
|
<sizepolicy hsizetype="Minimum" vsizetype="Expanding">
|
||||||
|
<horstretch>0</horstretch>
|
||||||
|
<verstretch>0</verstretch>
|
||||||
|
</sizepolicy>
|
||||||
|
</property>
|
||||||
|
<property name="text">
|
||||||
|
<string>Public</string>
|
||||||
|
</property>
|
||||||
|
<property name="icon">
|
||||||
|
<iconset resource="../images.qrc">
|
||||||
|
<normaloff>:/images/network.png</normaloff>:/images/network.png</iconset>
|
||||||
|
</property>
|
||||||
|
<property name="iconSize">
|
||||||
|
<size>
|
||||||
|
<width>24</width>
|
||||||
|
<height>24</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<layout class="QHBoxLayout" name="horizontalLayout_8">
|
||||||
|
<item>
|
||||||
|
<widget class="QRadioButton" name="typeGroup">
|
||||||
|
<property name="sizePolicy">
|
||||||
|
<sizepolicy hsizetype="Minimum" vsizetype="Expanding">
|
||||||
|
<horstretch>0</horstretch>
|
||||||
|
<verstretch>0</verstretch>
|
||||||
|
</sizepolicy>
|
||||||
|
</property>
|
||||||
|
<property name="text">
|
||||||
|
<string>Restricted to Circle</string>
|
||||||
|
</property>
|
||||||
|
<property name="icon">
|
||||||
|
<iconset resource="../images.qrc">
|
||||||
|
<normaloff>:/images/circles/circles_32.png</normaloff>:/images/circles/circles_32.png</iconset>
|
||||||
|
</property>
|
||||||
|
<property name="iconSize">
|
||||||
|
<size>
|
||||||
|
<width>24</width>
|
||||||
|
<height>24</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<widget class="GxsCircleChooser" name="circleComboBox"/>
|
||||||
|
</item>
|
||||||
|
</layout>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<layout class="QHBoxLayout" name="horizontalLayout_7">
|
||||||
|
<item>
|
||||||
|
<widget class="QRadioButton" name="typeLocal">
|
||||||
|
<property name="sizePolicy">
|
||||||
|
<sizepolicy hsizetype="Minimum" vsizetype="Expanding">
|
||||||
|
<horstretch>0</horstretch>
|
||||||
|
<verstretch>0</verstretch>
|
||||||
|
</sizepolicy>
|
||||||
|
</property>
|
||||||
|
<property name="text">
|
||||||
|
<string>Only For Your Friends</string>
|
||||||
|
</property>
|
||||||
|
<property name="icon">
|
||||||
|
<iconset resource="../images.qrc">
|
||||||
|
<normaloff>:/images/user/friends24.png</normaloff>:/images/user/friends24.png</iconset>
|
||||||
|
</property>
|
||||||
|
<property name="iconSize">
|
||||||
|
<size>
|
||||||
|
<width>24</width>
|
||||||
|
<height>24</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<widget class="GxsCircleChooser" name="localComboBox"/>
|
||||||
|
</item>
|
||||||
|
</layout>
|
||||||
|
</item>
|
||||||
|
</layout>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
</layout>
|
</layout>
|
||||||
</widget>
|
</widget>
|
||||||
<widget class="QWidget" name="showmode">
|
<widget class="QWidget" name="showmode">
|
||||||
|
@ -637,10 +637,20 @@ IdDialog QFrame#headerFrame {
|
|||||||
border-radius: 4px;
|
border-radius: 4px;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
IdDialog QFrame#headerFrame_2 {
|
||||||
|
background-color: qlineargradient(x1:0, y1:0, x2:0, y2:1, stop:0 #9BDBF9, stop:1 #1592CD);
|
||||||
|
border: 1px;
|
||||||
|
border-radius: 4px;
|
||||||
|
}
|
||||||
|
|
||||||
IdDialog QLabel#headerTextLabel {
|
IdDialog QLabel#headerTextLabel {
|
||||||
color: rgb(255, 255, 255);
|
color: rgb(255, 255, 255);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
IdDialog QLabel#headerTextLabel_Circles {
|
||||||
|
color: rgb(255, 255, 255);
|
||||||
|
}
|
||||||
|
|
||||||
IdDialog QLabel#avlabel {
|
IdDialog QLabel#avlabel {
|
||||||
border: 4px solid white;
|
border: 4px solid white;
|
||||||
border-radius: 10px;
|
border-radius: 10px;
|
||||||
|
@ -198,6 +198,11 @@ QLabel#headerTextLabel
|
|||||||
qproperty-fontSizeFactor: 225;
|
qproperty-fontSizeFactor: 225;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
QLabel#headerTextLabel_Circles
|
||||||
|
{
|
||||||
|
qproperty-fontSizeFactor: 225;
|
||||||
|
}
|
||||||
|
|
||||||
IdEditDialog QLabel#info_label
|
IdEditDialog QLabel#info_label
|
||||||
{
|
{
|
||||||
qproperty-fontSizeFactor: 125;
|
qproperty-fontSizeFactor: 125;
|
||||||
|
@ -101,8 +101,8 @@ RshareSettings::RshareSettings()
|
|||||||
|
|
||||||
void RshareSettings::initSettings()
|
void RshareSettings::initSettings()
|
||||||
{
|
{
|
||||||
#ifdef UBUNTU
|
#ifdef Q_OS_LINUX
|
||||||
// use GTK as default style on ubuntu
|
// use GTK as default style on linux
|
||||||
setDefault(SETTING_STYLE, "GTK+");
|
setDefault(SETTING_STYLE, "GTK+");
|
||||||
#else
|
#else
|
||||||
#if defined(Q_OS_MAC)
|
#if defined(Q_OS_MAC)
|
||||||
|
@ -70,7 +70,7 @@ linux-* {
|
|||||||
|
|
||||||
LIBS *= -rdynamic
|
LIBS *= -rdynamic
|
||||||
DEFINES *= HAVE_XSS # for idle time, libx screensaver extensions
|
DEFINES *= HAVE_XSS # for idle time, libx screensaver extensions
|
||||||
DEFINES *= UBUNTU
|
DEFINES *= HAS_GNOME_KEYRING
|
||||||
}
|
}
|
||||||
|
|
||||||
unix {
|
unix {
|
||||||
|
@ -88,7 +88,7 @@ namespace resource_api {
|
|||||||
TerminalApiClient::TerminalApiClient(ApiServer *api):
|
TerminalApiClient::TerminalApiClient(ApiServer *api):
|
||||||
mApiServer(api)
|
mApiServer(api)
|
||||||
{
|
{
|
||||||
start();
|
start("resapi terminal");
|
||||||
}
|
}
|
||||||
|
|
||||||
TerminalApiClient::~TerminalApiClient()
|
TerminalApiClient::~TerminalApiClient()
|
||||||
|
@ -100,7 +100,7 @@ linux-* {
|
|||||||
DEFINES *= PATCHED_LIBUPNP
|
DEFINES *= PATCHED_LIBUPNP
|
||||||
}
|
}
|
||||||
|
|
||||||
DEFINES *= UBUNTU
|
DEFINES *= HAS_GNOME_KEYRING
|
||||||
INCLUDEPATH += /usr/include/glib-2.0/ /usr/lib/glib-2.0/include
|
INCLUDEPATH += /usr/include/glib-2.0/ /usr/lib/glib-2.0/include
|
||||||
LIBS *= -lgnome-keyring
|
LIBS *= -lgnome-keyring
|
||||||
}
|
}
|
||||||
|
@ -61,7 +61,7 @@ linux-* {
|
|||||||
LIBS += /home/crispy/Development/retroshare/sqlcipher/sqlcipher/.libs/libsqlite3.a
|
LIBS += /home/crispy/Development/retroshare/sqlcipher/sqlcipher/.libs/libsqlite3.a
|
||||||
LIBS *= -rdynamic -frtti
|
LIBS *= -rdynamic -frtti
|
||||||
DEFINES *= HAVE_XSS # for idle time, libx screensaver extensions
|
DEFINES *= HAVE_XSS # for idle time, libx screensaver extensions
|
||||||
DEFINES *= UBUNTU
|
DEFINES *= HAS_GNOME_KEYRING
|
||||||
}
|
}
|
||||||
|
|
||||||
linux-g++ {
|
linux-g++ {
|
||||||
|
@ -33,7 +33,7 @@ int rs_nxs_test::RsNxsSimpleDummyCircles::canReceive(
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool rs_nxs_test::RsNxsSimpleDummyCircles::isRecipient(const RsGxsCircleId &circleId, const RsGxsId& id)
|
bool rs_nxs_test::RsNxsSimpleDummyCircles::isRecipient(const RsGxsCircleId &circleId, const RsGxsGroupId &destination_group, const RsGxsId& id)
|
||||||
{
|
{
|
||||||
return true ;
|
return true ;
|
||||||
}
|
}
|
||||||
@ -43,8 +43,7 @@ bool rs_nxs_test::RsNxsSimpleDummyCircles::recipients(
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool rs_nxs_test::RsNxsSimpleDummyCircles::recipients(
|
bool rs_nxs_test::RsNxsSimpleDummyCircles::recipients(const RsGxsCircleId& circleId, const RsGxsGroupId &destination_group, std::list<RsGxsId>& friendlist) {
|
||||||
const RsGxsCircleId& circleId, std::list<RsGxsId>& friendlist) {
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
rs_nxs_test::RsNxsSimpleDummyReputation::RsNxsSimpleDummyReputation(
|
rs_nxs_test::RsNxsSimpleDummyReputation::RsNxsSimpleDummyReputation(
|
||||||
|
@ -41,11 +41,10 @@ namespace rs_nxs_test
|
|||||||
|
|
||||||
int canSend(const RsGxsCircleId &circleId, const RsPgpId &id,bool& should_encrypt);
|
int canSend(const RsGxsCircleId &circleId, const RsPgpId &id,bool& should_encrypt);
|
||||||
int canReceive(const RsGxsCircleId &circleId, const RsPgpId &id);
|
int canReceive(const RsGxsCircleId &circleId, const RsPgpId &id);
|
||||||
bool recipients(const RsGxsCircleId &circleId, std::list<RsPgpId> &friendlist);
|
virtual bool recipients(const RsGxsCircleId &circleId, std::list<RsPgpId> &friendlist);
|
||||||
|
virtual bool recipients(const RsGxsCircleId &circleId, const RsGxsGroupId& destination_group, std::list<RsGxsId>& idlist) ;
|
||||||
virtual bool recipients(const RsGxsCircleId &circleId, std::list<RsGxsId>& idlist) ;
|
virtual bool isRecipient(const RsGxsCircleId &circleId, const RsGxsGroupId& destination_group, const RsGxsId& id) ;
|
||||||
virtual bool isRecipient(const RsGxsCircleId &circleId, const RsGxsId& id) ;
|
virtual bool getLocalCircleServerUpdateTS(const RsGxsCircleId& gid,time_t& grp_server_update_TS,time_t& msg_server_update_TS) { return true ; }
|
||||||
virtual bool getLocalCircleServerUpdateTS(const RsGxsCircleId& gid,time_t& grp_server_update_TS,time_t& msg_server_update_TS) { return true ; }
|
|
||||||
};
|
};
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
@ -71,10 +70,9 @@ namespace rs_nxs_test
|
|||||||
|
|
||||||
int canSend(const RsGxsCircleId &circleId, const RsPgpId &id,bool& should_encrypt);
|
int canSend(const RsGxsCircleId &circleId, const RsPgpId &id,bool& should_encrypt);
|
||||||
int canReceive(const RsGxsCircleId &circleId, const RsPgpId &id);
|
int canReceive(const RsGxsCircleId &circleId, const RsPgpId &id);
|
||||||
bool recipients(const RsGxsCircleId &circleId, std::list<RsPgpId> &friendlist);
|
virtual bool recipients(const RsGxsCircleId &circleId, std::list<RsPgpId> &friendlist);
|
||||||
|
virtual bool recipients(const RsGxsCircleId &circleId, const RsGxsGroupId& destination_group, std::list<RsGxsId>& idlist) { return true ;}
|
||||||
virtual bool recipients(const RsGxsCircleId &circleId, std::list<RsGxsId>& idlist) { return true ;}
|
virtual bool isRecipient(const RsGxsCircleId &circleId, const RsGxsGroupId& destination_group, const RsGxsId& id) { return allowed(circleId) ; }
|
||||||
virtual bool isRecipient(const RsGxsCircleId &circleId, const RsGxsId& id) { return allowed(circleId) ; }
|
|
||||||
virtual bool getLocalCircleServerUpdateTS(const RsGxsCircleId& gid,time_t& grp_server_update_TS,time_t& msg_server_update_TS) { return true ; }
|
virtual bool getLocalCircleServerUpdateTS(const RsGxsCircleId& gid,time_t& grp_server_update_TS,time_t& msg_server_update_TS) { return true ; }
|
||||||
private:
|
private:
|
||||||
|
|
||||||
|
@ -72,7 +72,7 @@ linux-* {
|
|||||||
LIBS *= -lglib-2.0
|
LIBS *= -lglib-2.0
|
||||||
LIBS *= -rdynamic
|
LIBS *= -rdynamic
|
||||||
DEFINES *= HAVE_XSS # for idle time, libx screensaver extensions
|
DEFINES *= HAVE_XSS # for idle time, libx screensaver extensions
|
||||||
DEFINES *= UBUNTU
|
DEFINES *= HAS_GNOME_KEYRING
|
||||||
}
|
}
|
||||||
|
|
||||||
linux-g++ {
|
linux-g++ {
|
||||||
|
Loading…
Reference in New Issue
Block a user