mirror of
https://github.com/RetroShare/RetroShare.git
synced 2025-08-15 17:40:35 -04:00
turned typedef RsGxsMessageId into RsFileHash instead of std::string
git-svn-id: http://svn.code.sf.net/p/retroshare/code/branches/v0.6-IdCleaning@7149 b45a01b8-16f6-495d-af2f-9b41ad6348cc
This commit is contained in:
parent
1843ad74c6
commit
41e42133c0
31 changed files with 121 additions and 120 deletions
|
@ -543,7 +543,7 @@ std::ostream& RsTurtleChunkCrcRequestItem::print(std::ostream& o, uint16_t)
|
||||||
}
|
}
|
||||||
std::ostream& RsTurtleChunkCrcItem::print(std::ostream& o, uint16_t)
|
std::ostream& RsTurtleChunkCrcItem::print(std::ostream& o, uint16_t)
|
||||||
{
|
{
|
||||||
o << "Chunk CRC request item:" << std::endl ;
|
o << "Chunk CRC item:" << std::endl ;
|
||||||
|
|
||||||
o << " tunnel id : " << std::hex << tunnel_id << std::dec << std::endl ;
|
o << " tunnel id : " << std::hex << tunnel_id << std::dec << std::endl ;
|
||||||
o << " chunk num : " << chunk_number << std::endl ;
|
o << " chunk num : " << chunk_number << std::endl ;
|
||||||
|
|
|
@ -283,7 +283,9 @@ RsGxsGrpMetaData* RsDataService::locked_getGrpMeta(RetroCursor &c)
|
||||||
c.getString(COL_ORIG_GRP_ID, tempId);
|
c.getString(COL_ORIG_GRP_ID, tempId);
|
||||||
grpMeta->mOrigGrpId = tempId;
|
grpMeta->mOrigGrpId = tempId;
|
||||||
c.getString(COL_GRP_SERV_STRING, grpMeta->mServiceString);
|
c.getString(COL_GRP_SERV_STRING, grpMeta->mServiceString);
|
||||||
c.getString(COL_HASH, grpMeta->mHash);
|
|
||||||
|
c.getString(COL_HASH, tempId);
|
||||||
|
grpMeta->mHash = tempId ;
|
||||||
grpMeta->mSignFlags = c.getInt32(COL_GRP_SIGN_FLAGS);
|
grpMeta->mSignFlags = c.getInt32(COL_GRP_SIGN_FLAGS);
|
||||||
|
|
||||||
grpMeta->mPublishTs = c.getInt32(COL_TIME_STAMP);
|
grpMeta->mPublishTs = c.getInt32(COL_TIME_STAMP);
|
||||||
|
@ -391,19 +393,22 @@ RsGxsMsgMetaData* RsDataService::locked_getMsgMeta(RetroCursor &c)
|
||||||
char* data = NULL;
|
char* data = NULL;
|
||||||
|
|
||||||
|
|
||||||
std::string gId;
|
std::string gId,tempId;
|
||||||
c.getString(COL_GRP_ID, gId);
|
c.getString(COL_GRP_ID, gId);
|
||||||
msgMeta->mGroupId = RsGxsGroupId(gId);
|
msgMeta->mGroupId = RsGxsGroupId(gId);
|
||||||
c.getString(COL_MSG_ID, msgMeta->mMsgId);
|
c.getString(COL_MSG_ID, tempId) ;
|
||||||
|
msgMeta->mMsgId = tempId ;
|
||||||
|
|
||||||
// without these, a msg is meaningless
|
// without these, a msg is meaningless
|
||||||
ok &= (!msgMeta->mGroupId.isNull()) && (!msgMeta->mMsgId.empty());
|
ok &= (!msgMeta->mGroupId.isNull()) && (!msgMeta->mMsgId.isNull());
|
||||||
|
|
||||||
c.getString(COL_ORIG_MSG_ID, msgMeta->mOrigMsgId);
|
c.getString(COL_ORIG_MSG_ID, tempId) ;
|
||||||
|
msgMeta->mOrigMsgId = tempId ;
|
||||||
c.getString(COL_IDENTITY, msgMeta->mAuthorId);
|
c.getString(COL_IDENTITY, msgMeta->mAuthorId);
|
||||||
c.getString(COL_MSG_NAME, msgMeta->mMsgName);
|
c.getString(COL_MSG_NAME, msgMeta->mMsgName);
|
||||||
c.getString(COL_MSG_SERV_STRING, msgMeta->mServiceString);
|
c.getString(COL_MSG_SERV_STRING, msgMeta->mServiceString);
|
||||||
c.getString(COL_HASH, msgMeta->mHash);
|
c.getString(COL_HASH, tempId) ;
|
||||||
|
msgMeta->mHash = tempId;
|
||||||
msgMeta->recvTS = c.getInt32(COL_MSG_RECV_TS);
|
msgMeta->recvTS = c.getInt32(COL_MSG_RECV_TS);
|
||||||
|
|
||||||
offset = 0;
|
offset = 0;
|
||||||
|
@ -417,8 +422,8 @@ RsGxsMsgMetaData* RsDataService::locked_getMsgMeta(RetroCursor &c)
|
||||||
offset = 0; data_len = 0;
|
offset = 0; data_len = 0;
|
||||||
|
|
||||||
// thread and parent id
|
// thread and parent id
|
||||||
c.getString(COL_THREAD_ID, msgMeta->mThreadId);
|
c.getString(COL_THREAD_ID, tempId) ; msgMeta->mThreadId = tempId ;
|
||||||
c.getString(COL_PARENT_ID, msgMeta->mParentId);
|
c.getString(COL_PARENT_ID, tempId) ; msgMeta->mParentId = tempId ;
|
||||||
|
|
||||||
// local meta
|
// local meta
|
||||||
msgMeta->mMsgStatus = c.getInt32(COL_MSG_STATUS);
|
msgMeta->mMsgStatus = c.getInt32(COL_MSG_STATUS);
|
||||||
|
@ -440,13 +445,14 @@ RsNxsMsg* RsDataService::locked_getMessage(RetroCursor &c)
|
||||||
RsNxsMsg* msg = new RsNxsMsg(mServType);
|
RsNxsMsg* msg = new RsNxsMsg(mServType);
|
||||||
|
|
||||||
bool ok = true;
|
bool ok = true;
|
||||||
|
std::string tempId ;
|
||||||
uint32_t data_len = 0,
|
uint32_t data_len = 0,
|
||||||
offset = 0;
|
offset = 0;
|
||||||
char* data = NULL;
|
char* data = NULL;
|
||||||
c.getStringT<RsGxsGroupId>(COL_ACT_GROUP_ID, msg->grpId);
|
c.getStringT<RsGxsGroupId>(COL_ACT_GROUP_ID, msg->grpId);
|
||||||
c.getString(COL_ACT_MSG_ID, msg->msgId);
|
c.getString(COL_ACT_MSG_ID, tempId) ; msg->msgId = tempId ;
|
||||||
|
|
||||||
ok &= (!msg->grpId.isNull()) && (!msg->msgId.empty());
|
ok &= (!msg->grpId.isNull()) && (!msg->msgId.isNull());
|
||||||
|
|
||||||
offset = 0; data_len = 0;
|
offset = 0; data_len = 0;
|
||||||
if(ok){
|
if(ok){
|
||||||
|
@ -513,10 +519,10 @@ int RsDataService::storeMessage(std::map<RsNxsMsg *, RsGxsMsgMetaData *> &msg)
|
||||||
cv.put(KEY_NXS_FILE_OFFSET, (int32_t)offset);
|
cv.put(KEY_NXS_FILE_OFFSET, (int32_t)offset);
|
||||||
cv.put(KEY_NXS_FILE, msgFile);
|
cv.put(KEY_NXS_FILE, msgFile);
|
||||||
cv.put(KEY_NXS_FILE_LEN, (int32_t)msgPtr->msg.TlvSize());
|
cv.put(KEY_NXS_FILE_LEN, (int32_t)msgPtr->msg.TlvSize());
|
||||||
cv.put(KEY_MSG_ID, msgMetaPtr->mMsgId);
|
cv.put(KEY_MSG_ID, msgMetaPtr->mMsgId.toStdString());
|
||||||
cv.put(KEY_GRP_ID, msgMetaPtr->mGroupId.toStdString());
|
cv.put(KEY_GRP_ID, msgMetaPtr->mGroupId.toStdString());
|
||||||
cv.put(KEY_NXS_SERV_STRING, msgMetaPtr->mServiceString);
|
cv.put(KEY_NXS_SERV_STRING, msgMetaPtr->mServiceString);
|
||||||
cv.put(KEY_NXS_HASH, msgMetaPtr->mHash);
|
cv.put(KEY_NXS_HASH, msgMetaPtr->mHash.toStdString());
|
||||||
cv.put(KEY_RECV_TS, (int32_t)msgMetaPtr->recvTS);
|
cv.put(KEY_RECV_TS, (int32_t)msgMetaPtr->recvTS);
|
||||||
|
|
||||||
|
|
||||||
|
@ -535,9 +541,9 @@ int RsDataService::storeMessage(std::map<RsNxsMsg *, RsGxsMsgMetaData *> &msg)
|
||||||
msgPtr->meta.SetTlv(metaData, msgPtr->meta.TlvSize(), &offset);
|
msgPtr->meta.SetTlv(metaData, msgPtr->meta.TlvSize(), &offset);
|
||||||
cv.put(KEY_NXS_META, msgPtr->meta.TlvSize(), metaData);
|
cv.put(KEY_NXS_META, msgPtr->meta.TlvSize(), metaData);
|
||||||
|
|
||||||
cv.put(KEY_MSG_PARENT_ID, msgMetaPtr->mParentId);
|
cv.put(KEY_MSG_PARENT_ID, msgMetaPtr->mParentId.toStdString());
|
||||||
cv.put(KEY_MSG_THREAD_ID, msgMetaPtr->mThreadId);
|
cv.put(KEY_MSG_THREAD_ID, msgMetaPtr->mThreadId.toStdString());
|
||||||
cv.put(KEY_ORIG_MSG_ID, msgMetaPtr->mOrigMsgId);
|
cv.put(KEY_ORIG_MSG_ID, msgMetaPtr->mOrigMsgId.toStdString());
|
||||||
cv.put(KEY_MSG_NAME, msgMetaPtr->mMsgName);
|
cv.put(KEY_MSG_NAME, msgMetaPtr->mMsgName);
|
||||||
|
|
||||||
// now local meta
|
// now local meta
|
||||||
|
@ -625,7 +631,7 @@ int RsDataService::storeGroup(std::map<RsNxsGrp *, RsGxsGrpMetaData *> &grp)
|
||||||
cv.put(KEY_GRP_ORIGINATOR, grpMetaPtr->mOriginator.toStdString());
|
cv.put(KEY_GRP_ORIGINATOR, grpMetaPtr->mOriginator.toStdString());
|
||||||
cv.put(KEY_GRP_AUTHEN_FLAGS, (int32_t)grpMetaPtr->mAuthenFlags);
|
cv.put(KEY_GRP_AUTHEN_FLAGS, (int32_t)grpMetaPtr->mAuthenFlags);
|
||||||
cv.put(KEY_PARENT_GRP_ID, grpMetaPtr->mParentGrpId.toStdString());
|
cv.put(KEY_PARENT_GRP_ID, grpMetaPtr->mParentGrpId.toStdString());
|
||||||
cv.put(KEY_NXS_HASH, grpMetaPtr->mHash);
|
cv.put(KEY_NXS_HASH, grpMetaPtr->mHash.toStdString());
|
||||||
cv.put(KEY_RECV_TS, (int32_t)grpMetaPtr->mRecvTS);
|
cv.put(KEY_RECV_TS, (int32_t)grpMetaPtr->mRecvTS);
|
||||||
|
|
||||||
if(! (grpMetaPtr->mAuthorId.empty()) ){
|
if(! (grpMetaPtr->mAuthorId.empty()) ){
|
||||||
|
@ -717,7 +723,7 @@ int RsDataService::updateGroup(std::map<RsNxsGrp *, RsGxsGrpMetaData *> &grp)
|
||||||
cv.put(KEY_GRP_INTERNAL_CIRCLE, grpMetaPtr->mInternalCircle);
|
cv.put(KEY_GRP_INTERNAL_CIRCLE, grpMetaPtr->mInternalCircle);
|
||||||
cv.put(KEY_GRP_ORIGINATOR, grpMetaPtr->mOriginator.toStdString());
|
cv.put(KEY_GRP_ORIGINATOR, grpMetaPtr->mOriginator.toStdString());
|
||||||
cv.put(KEY_GRP_AUTHEN_FLAGS, (int32_t)grpMetaPtr->mAuthenFlags);
|
cv.put(KEY_GRP_AUTHEN_FLAGS, (int32_t)grpMetaPtr->mAuthenFlags);
|
||||||
cv.put(KEY_NXS_HASH, grpMetaPtr->mHash);
|
cv.put(KEY_NXS_HASH, grpMetaPtr->mHash.toStdString());
|
||||||
|
|
||||||
if(! (grpMetaPtr->mAuthorId.empty()) ){
|
if(! (grpMetaPtr->mAuthorId.empty()) ){
|
||||||
cv.put(KEY_NXS_IDENTITY, grpMetaPtr->mAuthorId);
|
cv.put(KEY_NXS_IDENTITY, grpMetaPtr->mAuthorId);
|
||||||
|
@ -879,7 +885,7 @@ int RsDataService::retrieveNxsMsgs(const GxsMsgReq &reqIds, GxsMsgResult &msg, b
|
||||||
const RsGxsGroupId& grpId = mit->first;
|
const RsGxsGroupId& grpId = mit->first;
|
||||||
|
|
||||||
// if vector empty then request all messages
|
// if vector empty then request all messages
|
||||||
const std::vector<std::string>& msgIdV = mit->second;
|
const std::vector<RsGxsMessageId>& msgIdV = mit->second;
|
||||||
std::vector<RsNxsMsg*> msgSet;
|
std::vector<RsNxsMsg*> msgSet;
|
||||||
|
|
||||||
if(msgIdV.empty()){
|
if(msgIdV.empty()){
|
||||||
|
@ -895,15 +901,15 @@ int RsDataService::retrieveNxsMsgs(const GxsMsgReq &reqIds, GxsMsgResult &msg, b
|
||||||
}else{
|
}else{
|
||||||
|
|
||||||
// request each grp
|
// request each grp
|
||||||
std::vector<std::string>::const_iterator sit = msgIdV.begin();
|
std::vector<RsGxsMessageId>::const_iterator sit = msgIdV.begin();
|
||||||
|
|
||||||
for(; sit!=msgIdV.end();sit++){
|
for(; sit!=msgIdV.end();sit++){
|
||||||
const std::string& msgId = *sit;
|
const RsGxsMessageId& msgId = *sit;
|
||||||
|
|
||||||
RsStackMutex stack(mDbMutex);
|
RsStackMutex stack(mDbMutex);
|
||||||
|
|
||||||
RetroCursor* c = mDb->sqlQuery(MSG_TABLE_NAME, msgColumns, KEY_GRP_ID+ "='" + grpId.toStdString()
|
RetroCursor* c = mDb->sqlQuery(MSG_TABLE_NAME, msgColumns, KEY_GRP_ID+ "='" + grpId.toStdString()
|
||||||
+ "' AND " + KEY_MSG_ID + "='" + msgId + "'", "");
|
+ "' AND " + KEY_MSG_ID + "='" + msgId.toStdString() + "'", "");
|
||||||
|
|
||||||
if(c)
|
if(c)
|
||||||
locked_retrieveMessages(c, msgSet);
|
locked_retrieveMessages(c, msgSet);
|
||||||
|
@ -1024,12 +1030,12 @@ int RsDataService::retrieveGxsMsgMetaData(const GxsMsgReq& reqIds, GxsMsgMetaRes
|
||||||
}else{
|
}else{
|
||||||
|
|
||||||
// request each grp
|
// request each grp
|
||||||
std::vector<std::string>::const_iterator sit = msgIdV.begin();
|
std::vector<RsGxsMessageId>::const_iterator sit = msgIdV.begin();
|
||||||
|
|
||||||
for(; sit!=msgIdV.end();sit++){
|
for(; sit!=msgIdV.end();sit++){
|
||||||
const std::string& msgId = *sit;
|
const RsGxsMessageId& msgId = *sit;
|
||||||
RetroCursor* c = mDb->sqlQuery(MSG_TABLE_NAME, msgMetaColumns, KEY_GRP_ID+ "='" + grpId.toStdString()
|
RetroCursor* c = mDb->sqlQuery(MSG_TABLE_NAME, msgMetaColumns, KEY_GRP_ID+ "='" + grpId.toStdString()
|
||||||
+ "' AND " + KEY_MSG_ID + "='" + msgId + "'", "");
|
+ "' AND " + KEY_MSG_ID + "='" + msgId.toStdString() + "'", "");
|
||||||
|
|
||||||
locked_retrieveMsgMeta(c, metaSet);
|
locked_retrieveMsgMeta(c, metaSet);
|
||||||
}
|
}
|
||||||
|
@ -1168,7 +1174,7 @@ int RsDataService::updateMessageMetaData(MsgLocMetaData &metaData)
|
||||||
RsGxsGroupId& grpId = metaData.msgId.first;
|
RsGxsGroupId& grpId = metaData.msgId.first;
|
||||||
RsGxsMessageId& msgId = metaData.msgId.second;
|
RsGxsMessageId& msgId = metaData.msgId.second;
|
||||||
return mDb->sqlUpdate(MSG_TABLE_NAME, KEY_GRP_ID+ "='" + grpId.toStdString()
|
return mDb->sqlUpdate(MSG_TABLE_NAME, KEY_GRP_ID+ "='" + grpId.toStdString()
|
||||||
+ "' AND " + KEY_MSG_ID + "='" + msgId + "'", metaData.val) ? 1 : 0;
|
+ "' AND " + KEY_MSG_ID + "='" + msgId.toStdString() + "'", metaData.val) ? 1 : 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
MsgOffset offSetAccum(const MsgOffset& x, const MsgOffset& y)
|
MsgOffset offSetAccum(const MsgOffset& x, const MsgOffset& y)
|
||||||
|
@ -1344,7 +1350,7 @@ bool RsDataService::locked_updateMessageEntries(const MsgUpdates& updates)
|
||||||
{
|
{
|
||||||
const MsgUpdate& update = *vit;
|
const MsgUpdate& update = *vit;
|
||||||
mDb->sqlUpdate(MSG_TABLE_NAME, KEY_GRP_ID+ "='" + grpId.toStdString()
|
mDb->sqlUpdate(MSG_TABLE_NAME, KEY_GRP_ID+ "='" + grpId.toStdString()
|
||||||
+ "' AND " + KEY_MSG_ID + "='" + update.msgId + "'", update.cv);
|
+ "' AND " + KEY_MSG_ID + "='" + update.msgId.toStdString() + "'", update.cv);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1370,7 +1376,7 @@ bool RsDataService::locked_removeMessageEntries(const GxsMsgReq& msgIds)
|
||||||
{
|
{
|
||||||
const RsGxsMessageId& msgId = *vit;
|
const RsGxsMessageId& msgId = *vit;
|
||||||
mDb->sqlDelete(MSG_TABLE_NAME, KEY_GRP_ID+ "='" + grpId.toStdString()
|
mDb->sqlDelete(MSG_TABLE_NAME, KEY_GRP_ID+ "='" + grpId.toStdString()
|
||||||
+ "' AND " + KEY_MSG_ID + "='" + msgId + "'", "");
|
+ "' AND " + KEY_MSG_ID + "='" + msgId.toStdString() + "'", "");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1410,8 +1416,9 @@ void RsDataService::locked_getMessageOffsets(const RsGxsGroupId& grpId, std::vec
|
||||||
{
|
{
|
||||||
RsGxsMessageId msgId;
|
RsGxsMessageId msgId;
|
||||||
int32_t msgLen;
|
int32_t msgLen;
|
||||||
int32_t msgOffSet;
|
int32_t msgOffSet;
|
||||||
c->getString(0, msgId);
|
std::string tempId ;
|
||||||
|
c->getString(0, tempId) ; msgId = tempId;
|
||||||
msgOffSet = c->getInt32(1);
|
msgOffSet = c->getInt32(1);
|
||||||
msgLen = c->getInt32(2);
|
msgLen = c->getInt32(2);
|
||||||
|
|
||||||
|
|
|
@ -502,7 +502,7 @@ int RsGenExchange::createMsgSignatures(RsTlvKeySignatureSet& signSet, RsTlvBinar
|
||||||
uint8_t author_flag = GXS_SERV::MSG_AUTHEN_ROOT_AUTHOR_SIGN;
|
uint8_t author_flag = GXS_SERV::MSG_AUTHEN_ROOT_AUTHOR_SIGN;
|
||||||
uint8_t publish_flag = GXS_SERV::MSG_AUTHEN_ROOT_PUBLISH_SIGN;
|
uint8_t publish_flag = GXS_SERV::MSG_AUTHEN_ROOT_PUBLISH_SIGN;
|
||||||
|
|
||||||
if(!msgMeta.mParentId.empty())
|
if(!msgMeta.mParentId.isNull())
|
||||||
{
|
{
|
||||||
// Child Message.
|
// Child Message.
|
||||||
author_flag = GXS_SERV::MSG_AUTHEN_CHILD_AUTHOR_SIGN;
|
author_flag = GXS_SERV::MSG_AUTHEN_CHILD_AUTHOR_SIGN;
|
||||||
|
@ -723,7 +723,7 @@ int RsGenExchange::validateMsg(RsNxsMsg *msg, const uint32_t& grpFlag, RsTlvSecu
|
||||||
uint8_t author_flag = GXS_SERV::MSG_AUTHEN_ROOT_AUTHOR_SIGN;
|
uint8_t author_flag = GXS_SERV::MSG_AUTHEN_ROOT_AUTHOR_SIGN;
|
||||||
uint8_t publish_flag = GXS_SERV::MSG_AUTHEN_ROOT_PUBLISH_SIGN;
|
uint8_t publish_flag = GXS_SERV::MSG_AUTHEN_ROOT_PUBLISH_SIGN;
|
||||||
|
|
||||||
if(!msg->metaData->mParentId.empty())
|
if(!msg->metaData->mParentId.isNull())
|
||||||
{
|
{
|
||||||
// Child Message.
|
// Child Message.
|
||||||
author_flag = GXS_SERV::MSG_AUTHEN_CHILD_AUTHOR_SIGN;
|
author_flag = GXS_SERV::MSG_AUTHEN_CHILD_AUTHOR_SIGN;
|
||||||
|
@ -1769,7 +1769,7 @@ void RsGenExchange::publishMsgs()
|
||||||
{
|
{
|
||||||
// empty orig msg id means this is the original
|
// empty orig msg id means this is the original
|
||||||
// msg
|
// msg
|
||||||
if(msg->metaData->mOrigMsgId.empty())
|
if(msg->metaData->mOrigMsgId.isNull())
|
||||||
{
|
{
|
||||||
msg->metaData->mOrigMsgId = msg->metaData->mMsgId;
|
msg->metaData->mOrigMsgId = msg->metaData->mMsgId;
|
||||||
}
|
}
|
||||||
|
@ -2218,7 +2218,7 @@ void RsGenExchange::processRecvdData()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void RsGenExchange::computeHash(const RsTlvBinaryData& data, std::string& hash)
|
void RsGenExchange::computeHash(const RsTlvBinaryData& data, RsFileHash& hash)
|
||||||
{
|
{
|
||||||
pqihash pHash;
|
pqihash pHash;
|
||||||
pHash.addData(data.bin_data, data.bin_len);
|
pHash.addData(data.bin_data, data.bin_len);
|
||||||
|
|
|
@ -755,7 +755,7 @@ private:
|
||||||
|
|
||||||
void groupShareKeys(std::list<std::string> peers);
|
void groupShareKeys(std::list<std::string> peers);
|
||||||
|
|
||||||
static void computeHash(const RsTlvBinaryData& data, std::string& hash);
|
static void computeHash(const RsTlvBinaryData& data, RsFileHash& hash);
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
* Checks validation of recently received groups to be
|
* Checks validation of recently received groups to be
|
||||||
|
|
|
@ -171,10 +171,10 @@ uint32_t RsGxsMsgMetaData::serial_size()
|
||||||
uint32_t s = 8; // header size
|
uint32_t s = 8; // header size
|
||||||
|
|
||||||
s += mGroupId.serial_size();
|
s += mGroupId.serial_size();
|
||||||
s += GetTlvStringSize(mMsgId);
|
s += mMsgId.serial_size();
|
||||||
s += GetTlvStringSize(mThreadId);
|
s += mThreadId.serial_size();
|
||||||
s += GetTlvStringSize(mParentId);
|
s += mParentId.serial_size();
|
||||||
s += GetTlvStringSize(mOrigMsgId);
|
s += mOrigMsgId.serial_size();
|
||||||
s += GetTlvStringSize(mAuthorId);
|
s += GetTlvStringSize(mAuthorId);
|
||||||
|
|
||||||
s += signSet.TlvSize();
|
s += signSet.TlvSize();
|
||||||
|
@ -228,10 +228,10 @@ bool RsGxsMsgMetaData::serialise(void *data, uint32_t *size)
|
||||||
offset += 8;
|
offset += 8;
|
||||||
|
|
||||||
ok &= mGroupId.serialise(data, *size, offset);
|
ok &= mGroupId.serialise(data, *size, offset);
|
||||||
ok &= SetTlvString(data, *size, &offset, 0, mMsgId);
|
ok &= mMsgId.serialise(data, *size, offset) ;
|
||||||
ok &= SetTlvString(data, *size, &offset, 0, mThreadId);
|
ok &= mThreadId.serialise(data, *size, offset) ;
|
||||||
ok &= SetTlvString(data, *size, &offset, 0, mParentId);
|
ok &= mParentId.serialise(data, *size, offset) ;
|
||||||
ok &= SetTlvString(data, *size, &offset, 0, mOrigMsgId);
|
ok &= mOrigMsgId.serialise(data, *size, offset) ;
|
||||||
ok &= SetTlvString(data, *size, &offset, 0, mAuthorId);
|
ok &= SetTlvString(data, *size, &offset, 0, mAuthorId);
|
||||||
|
|
||||||
ok &= signSet.SetTlv(data, *size, &offset);
|
ok &= signSet.SetTlv(data, *size, &offset);
|
||||||
|
@ -255,10 +255,10 @@ bool RsGxsMsgMetaData::deserialise(void *data, uint32_t *size)
|
||||||
if(!ok) return false;
|
if(!ok) return false;
|
||||||
|
|
||||||
ok &= mGroupId.deserialise(data, *size, offset);
|
ok &= mGroupId.deserialise(data, *size, offset);
|
||||||
ok &= GetTlvString(data, *size, &offset, 0, mMsgId);
|
ok &= mMsgId.serialise(data, *size, offset) ;
|
||||||
ok &= GetTlvString(data, *size, &offset, 0, mThreadId);
|
ok &= mThreadId.serialise(data, *size,offset) ;
|
||||||
ok &= GetTlvString(data, *size, &offset, 0, mParentId);
|
ok &= mParentId.serialise(data, *size, offset) ;
|
||||||
ok &= GetTlvString(data, *size, &offset, 0, mOrigMsgId);
|
ok &= mOrigMsgId.serialise(data, *size, offset) ;
|
||||||
ok &= GetTlvString(data, *size, &offset, 0, mAuthorId);
|
ok &= GetTlvString(data, *size, &offset, 0, mAuthorId);
|
||||||
|
|
||||||
ok &= signSet.GetTlv(data, *size, &offset);
|
ok &= signSet.GetTlv(data, *size, &offset);
|
||||||
|
|
|
@ -77,7 +77,7 @@ public:
|
||||||
uint32_t mRecvTS;
|
uint32_t mRecvTS;
|
||||||
RsPeerId mOriginator;
|
RsPeerId mOriginator;
|
||||||
std::string mInternalCircle;
|
std::string mInternalCircle;
|
||||||
std::string mHash;
|
RsFileHash mHash;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
@ -115,7 +115,7 @@ public:
|
||||||
uint32_t mMsgStatus;
|
uint32_t mMsgStatus;
|
||||||
time_t mChildTs;
|
time_t mChildTs;
|
||||||
uint32_t recvTS;
|
uint32_t recvTS;
|
||||||
std::string mHash;
|
RsFileHash mHash;
|
||||||
bool validated;
|
bool validated;
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
|
@ -968,7 +968,7 @@ bool RsGxsDataAccess::getMsgList(const GxsMsgReq& msgIds, const RsTokReqOptions&
|
||||||
/* if we are grabbing thread Head... then parentId == empty. */
|
/* if we are grabbing thread Head... then parentId == empty. */
|
||||||
if (onlyThreadHeadMsgs)
|
if (onlyThreadHeadMsgs)
|
||||||
{
|
{
|
||||||
if (!(msgMeta->mParentId.empty()))
|
if (!(msgMeta->mParentId.isNull()))
|
||||||
{
|
{
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
@ -1025,7 +1025,7 @@ bool RsGxsDataAccess::getMsgList(const GxsMsgReq& msgIds, const RsTokReqOptions&
|
||||||
/* if we are grabbing thread Head... then parentId == empty. */
|
/* if we are grabbing thread Head... then parentId == empty. */
|
||||||
if (onlyThreadHeadMsgs)
|
if (onlyThreadHeadMsgs)
|
||||||
{
|
{
|
||||||
if (!(msgMeta->mParentId.empty()))
|
if (!(msgMeta->mParentId.isNull()))
|
||||||
{
|
{
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
@ -1209,8 +1209,8 @@ bool RsGxsDataAccess::getMsgRelatedInfo(MsgRelatedInfoReq *req)
|
||||||
if (onlyChildMsgs || onlyThreadMsgs)
|
if (onlyChildMsgs || onlyThreadMsgs)
|
||||||
{
|
{
|
||||||
// RUN THROUGH ALL MSGS... in map origId -> TS.
|
// RUN THROUGH ALL MSGS... in map origId -> TS.
|
||||||
std::map<std::string, std::pair<std::string, time_t> > origMsgTs;
|
std::map<RsGxsMessageId, std::pair<RsGxsMessageId, time_t> > origMsgTs;
|
||||||
std::map<std::string, std::pair<std::string, time_t> >::iterator oit;
|
std::map<RsGxsMessageId, std::pair<RsGxsMessageId, time_t> >::iterator oit;
|
||||||
for(vit_meta = metaV.begin(); vit_meta != metaV.end(); vit_meta++)
|
for(vit_meta = metaV.begin(); vit_meta != metaV.end(); vit_meta++)
|
||||||
{
|
{
|
||||||
|
|
||||||
|
|
|
@ -1490,7 +1490,7 @@ void RsGxsNetService::locked_genReqMsgTransaction(NxsTransaction* tr)
|
||||||
std::vector<RsGxsMsgMetaData*> &msgMetaV = result[grpId];
|
std::vector<RsGxsMsgMetaData*> &msgMetaV = result[grpId];
|
||||||
|
|
||||||
std::vector<RsGxsMsgMetaData*>::const_iterator vit = msgMetaV.begin();
|
std::vector<RsGxsMsgMetaData*>::const_iterator vit = msgMetaV.begin();
|
||||||
std::set<std::string> msgIdSet;
|
std::set<RsGxsMessageId> msgIdSet;
|
||||||
|
|
||||||
// put ids in set for each searching
|
// put ids in set for each searching
|
||||||
for(; vit != msgMetaV.end(); vit++)
|
for(; vit != msgMetaV.end(); vit++)
|
||||||
|
@ -1517,7 +1517,7 @@ void RsGxsNetService::locked_genReqMsgTransaction(NxsTransaction* tr)
|
||||||
for(; llit != msgItemL.end(); llit++)
|
for(; llit != msgItemL.end(); llit++)
|
||||||
{
|
{
|
||||||
RsNxsSyncMsgItem*& syncItem = *llit;
|
RsNxsSyncMsgItem*& syncItem = *llit;
|
||||||
const std::string& msgId = syncItem->msgId;
|
const RsGxsMessageId& msgId = syncItem->msgId;
|
||||||
|
|
||||||
if(msgIdSet.find(msgId) == msgIdSet.end()){
|
if(msgIdSet.find(msgId) == msgIdSet.end()){
|
||||||
|
|
||||||
|
@ -2221,7 +2221,7 @@ void RsGxsNetService::handleRecvSyncMessage(RsNxsSyncMsg* item)
|
||||||
if(grpMeta == NULL)
|
if(grpMeta == NULL)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
req[item->grpId] = std::vector<std::string>();
|
req[item->grpId] = std::vector<RsGxsMessageId>();
|
||||||
mDataStore->retrieveGxsMsgMetaData(req, metaResult);
|
mDataStore->retrieveGxsMsgMetaData(req, metaResult);
|
||||||
std::vector<RsGxsMsgMetaData*>& msgMetas = metaResult[item->grpId];
|
std::vector<RsGxsMsgMetaData*>& msgMetas = metaResult[item->grpId];
|
||||||
|
|
||||||
|
|
|
@ -130,7 +130,7 @@ bool RsGxsIntegrityCheck::check()
|
||||||
for(; git != grp.end(); git++)
|
for(; git != grp.end(); git++)
|
||||||
{
|
{
|
||||||
RsNxsGrp* grp = git->second;
|
RsNxsGrp* grp = git->second;
|
||||||
std::string currHash;
|
RsFileHash currHash;
|
||||||
pqihash pHash;
|
pqihash pHash;
|
||||||
pHash.addData(grp->grp.bin_data, grp->grp.bin_len);
|
pHash.addData(grp->grp.bin_data, grp->grp.bin_len);
|
||||||
pHash.Complete(currHash);
|
pHash.Complete(currHash);
|
||||||
|
@ -157,7 +157,7 @@ bool RsGxsIntegrityCheck::check()
|
||||||
for(; vit != msgV.end(); vit++)
|
for(; vit != msgV.end(); vit++)
|
||||||
{
|
{
|
||||||
RsNxsMsg* msg = *vit;
|
RsNxsMsg* msg = *vit;
|
||||||
std::string currHash;
|
RsFileHash currHash;
|
||||||
pqihash pHash;
|
pqihash pHash;
|
||||||
pHash.addData(msg->msg.bin_data, msg->msg.bin_len);
|
pHash.addData(msg->msg.bin_data, msg->msg.bin_len);
|
||||||
pHash.Complete(currHash);
|
pHash.Complete(currHash);
|
||||||
|
|
|
@ -6,7 +6,7 @@ TARGET = retroshare
|
||||||
|
|
||||||
#GXS Stuff.
|
#GXS Stuff.
|
||||||
# This should be disabled for releases until further notice.
|
# This should be disabled for releases until further notice.
|
||||||
#CONFIG += gxs debug
|
CONFIG += gxs debug
|
||||||
#CONFIG += grouter
|
#CONFIG += grouter
|
||||||
#CONFIG += dsdv
|
#CONFIG += dsdv
|
||||||
|
|
||||||
|
|
|
@ -301,8 +301,8 @@ bool p3Config::loadAttempt(const std::string& cfgFname,const std::string& signFn
|
||||||
std::string signatureStored((char *) signbio->memptr(), signbio->memsize());
|
std::string signatureStored((char *) signbio->memptr(), signbio->memsize());
|
||||||
|
|
||||||
std::string signatureRead;
|
std::string signatureRead;
|
||||||
std::string strHash(Hash());
|
RsFileHash strHash(Hash());
|
||||||
AuthSSL::getAuthSSL()->SignData(strHash.c_str(), strHash.length(), signatureRead);
|
AuthSSL::getAuthSSL()->SignData(strHash.toByteArray(), RsFileHash::SIZE_IN_BYTES, signatureRead);
|
||||||
|
|
||||||
delete signbio;
|
delete signbio;
|
||||||
|
|
||||||
|
@ -358,8 +358,8 @@ bool p3Config::saveConfig()
|
||||||
|
|
||||||
/* sign data */
|
/* sign data */
|
||||||
std::string signature;
|
std::string signature;
|
||||||
std::string strHash(Hash());
|
RsFileHash strHash(Hash());
|
||||||
AuthSSL::getAuthSSL()->SignData(strHash.c_str(),strHash.length(), signature);
|
AuthSSL::getAuthSSL()->SignData(strHash.toByteArray(),strHash.SIZE_IN_BYTES, signature);
|
||||||
|
|
||||||
/* write signature to configuration */
|
/* write signature to configuration */
|
||||||
BinMemInterface *signbio = new BinMemInterface(signature.c_str(),
|
BinMemInterface *signbio = new BinMemInterface(signature.c_str(),
|
||||||
|
@ -566,7 +566,7 @@ const std::string& pqiConfig::Filename()
|
||||||
return filename;
|
return filename;
|
||||||
}
|
}
|
||||||
|
|
||||||
const std::string& pqiConfig::Hash()
|
const RsFileHash& pqiConfig::Hash()
|
||||||
{
|
{
|
||||||
RsStackMutex stack(cfgMtx); /***** LOCK STACK MUTEX ****/
|
RsStackMutex stack(cfgMtx); /***** LOCK STACK MUTEX ****/
|
||||||
return hash;
|
return hash;
|
||||||
|
@ -590,7 +590,7 @@ void pqiConfig::setFilename(const std::string& name)
|
||||||
filename = name;
|
filename = name;
|
||||||
}
|
}
|
||||||
|
|
||||||
void pqiConfig::setHash(const std::string& h)
|
void pqiConfig::setHash(const RsFileHash& h)
|
||||||
{
|
{
|
||||||
RsStackMutex stack(cfgMtx); /***** LOCK STACK MUTEX ****/
|
RsStackMutex stack(cfgMtx); /***** LOCK STACK MUTEX ****/
|
||||||
hash = h;
|
hash = h;
|
||||||
|
|
|
@ -142,7 +142,7 @@ const std::string& Filename();
|
||||||
* The hash computed for this configuration, can use this to compare to externally stored hash
|
* The hash computed for this configuration, can use this to compare to externally stored hash
|
||||||
* for validation checking
|
* for validation checking
|
||||||
*/
|
*/
|
||||||
const std::string& Hash();
|
const RsFileHash& Hash();
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
|
|
||||||
|
@ -150,7 +150,7 @@ const std::string& Hash();
|
||||||
* Checks if configuration has changed
|
* Checks if configuration has changed
|
||||||
*/
|
*/
|
||||||
virtual void IndicateConfigChanged();
|
virtual void IndicateConfigChanged();
|
||||||
void setHash(const std::string& h);
|
void setHash(const RsFileHash& h);
|
||||||
|
|
||||||
RsMutex cfgMtx;
|
RsMutex cfgMtx;
|
||||||
|
|
||||||
|
@ -170,7 +170,7 @@ void setHash(const std::string& h);
|
||||||
|
|
||||||
uint32_t type;
|
uint32_t type;
|
||||||
std::string filename;
|
std::string filename;
|
||||||
std::string hash;
|
RsFileHash hash;
|
||||||
|
|
||||||
|
|
||||||
friend class p3ConfigMgr;
|
friend class p3ConfigMgr;
|
||||||
|
|
|
@ -301,7 +301,7 @@ virtual int close() = 0;
|
||||||
/**
|
/**
|
||||||
* If hashing data
|
* If hashing data
|
||||||
**/
|
**/
|
||||||
virtual std::string gethash() = 0;
|
virtual RsFileHash gethash() = 0;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Number of bytes read/sent
|
* Number of bytes read/sent
|
||||||
|
|
|
@ -150,9 +150,9 @@ int BinFileInterface::readdata(void *data, int len)
|
||||||
return len;
|
return len;
|
||||||
}
|
}
|
||||||
|
|
||||||
std::string BinFileInterface::gethash()
|
RsFileHash BinFileInterface::gethash()
|
||||||
{
|
{
|
||||||
std::string hashstr;
|
RsFileHash hashstr;
|
||||||
if (bin_flags & BIN_FLAGS_HASH_DATA)
|
if (bin_flags & BIN_FLAGS_HASH_DATA)
|
||||||
{
|
{
|
||||||
hash->Complete(hashstr);
|
hash->Complete(hashstr);
|
||||||
|
@ -410,9 +410,9 @@ int BinMemInterface::readdata(void *data, int len)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
std::string BinMemInterface::gethash()
|
RsFileHash BinMemInterface::gethash()
|
||||||
{
|
{
|
||||||
std::string hashstr;
|
RsFileHash hashstr;
|
||||||
if (bin_flags & BIN_FLAGS_HASH_DATA)
|
if (bin_flags & BIN_FLAGS_HASH_DATA)
|
||||||
{
|
{
|
||||||
hash->Complete(hashstr);
|
hash->Complete(hashstr);
|
||||||
|
@ -716,12 +716,12 @@ int NetBinDummy::close()
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
std::string NetBinDummy::gethash()
|
RsFileHash NetBinDummy::gethash()
|
||||||
{
|
{
|
||||||
std::cerr << "NetBinDummy::gethash() ";
|
std::cerr << "NetBinDummy::gethash() ";
|
||||||
printNetBinID(std::cerr, PeerId(), type);
|
printNetBinID(std::cerr, PeerId(), type);
|
||||||
std::cerr << std::endl;
|
std::cerr << std::endl;
|
||||||
|
|
||||||
return std::string("");
|
return RsFileHash();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -72,7 +72,7 @@ virtual bool cansend(uint32_t /* usec */)
|
||||||
virtual bool bandwidthLimited() { return false; }
|
virtual bool bandwidthLimited() { return false; }
|
||||||
|
|
||||||
//! if HASHing is switched on
|
//! if HASHing is switched on
|
||||||
virtual std::string gethash();
|
virtual RsFileHash gethash();
|
||||||
virtual uint64_t bytecount();
|
virtual uint64_t bytecount();
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
|
@ -178,7 +178,7 @@ virtual bool cansend(uint32_t /* usec */)
|
||||||
}
|
}
|
||||||
virtual bool bandwidthLimited() { return false; }
|
virtual bool bandwidthLimited() { return false; }
|
||||||
|
|
||||||
virtual std::string gethash();
|
virtual RsFileHash gethash();
|
||||||
virtual uint64_t bytecount();
|
virtual uint64_t bytecount();
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
@ -227,7 +227,7 @@ virtual bool moretoread(uint32_t usec);
|
||||||
virtual bool cansend(uint32_t usec);
|
virtual bool cansend(uint32_t usec);
|
||||||
virtual int close();
|
virtual int close();
|
||||||
|
|
||||||
virtual std::string gethash();
|
virtual RsFileHash gethash();
|
||||||
|
|
||||||
private:
|
private:
|
||||||
uint32_t type;
|
uint32_t type;
|
||||||
|
|
|
@ -63,7 +63,7 @@ void addData(const void *data, uint32_t len)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void Complete(std::string &hash)
|
void Complete(RsFileHash &hash)
|
||||||
{
|
{
|
||||||
if (!doHash)
|
if (!doHash)
|
||||||
{
|
{
|
||||||
|
@ -74,8 +74,7 @@ void Complete(std::string &hash)
|
||||||
SHA1_Final(sha_hash, sha_ctx);
|
SHA1_Final(sha_hash, sha_ctx);
|
||||||
|
|
||||||
endHash.clear();
|
endHash.clear();
|
||||||
|
endHash = hash = Sha1CheckSum(sha_hash);
|
||||||
endHash = hash = Sha1CheckSum(sha_hash).toStdString() ;
|
|
||||||
|
|
||||||
// for(int i = 0; i < SHA_DIGEST_LENGTH; i++)
|
// for(int i = 0; i < SHA_DIGEST_LENGTH; i++)
|
||||||
// {
|
// {
|
||||||
|
@ -90,7 +89,7 @@ void Complete(std::string &hash)
|
||||||
private:
|
private:
|
||||||
|
|
||||||
bool doHash;
|
bool doHash;
|
||||||
std::string endHash;
|
RsFileHash endHash;
|
||||||
uint8_t *sha_hash;
|
uint8_t *sha_hash;
|
||||||
SHA_CTX *sha_ctx;
|
SHA_CTX *sha_ctx;
|
||||||
};
|
};
|
||||||
|
|
|
@ -1902,10 +1902,9 @@ bool pqissl::cansend(uint32_t usec)
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
std::string pqissl::gethash()
|
RsFileHash pqissl::gethash()
|
||||||
{
|
{
|
||||||
std::string dummyhash;
|
return RsFileHash() ;
|
||||||
return dummyhash;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/********** End of Implementation of BinInterface ******************/
|
/********** End of Implementation of BinInterface ******************/
|
||||||
|
|
|
@ -113,7 +113,7 @@ virtual bool moretoread(uint32_t usec);
|
||||||
virtual bool cansend(uint32_t usec);
|
virtual bool cansend(uint32_t usec);
|
||||||
|
|
||||||
virtual int close(); /* BinInterface version of reset() */
|
virtual int close(); /* BinInterface version of reset() */
|
||||||
virtual std::string gethash(); /* not used here */
|
virtual RsFileHash gethash(); /* not used here */
|
||||||
virtual bool bandwidthLimited() { return true ; } // replace by !sameLAN to avoid bandwidth limiting on LAN
|
virtual bool bandwidthLimited() { return true ; } // replace by !sameLAN to avoid bandwidth limiting on LAN
|
||||||
|
|
||||||
public:
|
public:
|
||||||
|
|
|
@ -363,7 +363,7 @@ int pqistore::readPkt(RsItem **item_out)
|
||||||
}
|
}
|
||||||
|
|
||||||
/**** Hashing Functions ****/
|
/**** Hashing Functions ****/
|
||||||
std::string pqistore::gethash()
|
RsFileHash pqistore::gethash()
|
||||||
{
|
{
|
||||||
return bio->gethash();
|
return bio->gethash();
|
||||||
}
|
}
|
||||||
|
|
|
@ -51,7 +51,7 @@ virtual RsItem *GetItem();
|
||||||
virtual int tick();
|
virtual int tick();
|
||||||
virtual int status();
|
virtual int status();
|
||||||
|
|
||||||
std::string gethash();
|
RsFileHash gethash();
|
||||||
|
|
||||||
bool bStopReading;
|
bool bStopReading;
|
||||||
|
|
||||||
|
|
|
@ -111,7 +111,7 @@ virtual bool createPost(uint32_t &token, RsGxsChannelPost &post) = 0;
|
||||||
|
|
||||||
// File Interface
|
// File Interface
|
||||||
virtual bool ExtraFileHash(const std::string &path, std::string filename) = 0;
|
virtual bool ExtraFileHash(const std::string &path, std::string filename) = 0;
|
||||||
virtual bool ExtraFileRemove(const std::string &hash) = 0;
|
virtual bool ExtraFileRemove(const RsFileHash &hash) = 0;
|
||||||
|
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
|
@ -37,7 +37,7 @@ class RsGxsFile
|
||||||
public:
|
public:
|
||||||
RsGxsFile();
|
RsGxsFile();
|
||||||
std::string mName;
|
std::string mName;
|
||||||
std::string mHash;
|
RsFileHash mHash;
|
||||||
uint64_t mSize;
|
uint64_t mSize;
|
||||||
//std::string mPath;
|
//std::string mPath;
|
||||||
};
|
};
|
||||||
|
|
|
@ -16,7 +16,7 @@
|
||||||
#include <retroshare/rsids.h>
|
#include <retroshare/rsids.h>
|
||||||
|
|
||||||
typedef GXSGroupId RsGxsGroupId;
|
typedef GXSGroupId RsGxsGroupId;
|
||||||
typedef std::string RsGxsMessageId;
|
typedef RsFileHash RsGxsMessageId;
|
||||||
|
|
||||||
typedef std::map<RsGxsGroupId, std::vector<RsGxsMessageId> > GxsMsgIdResult;
|
typedef std::map<RsGxsGroupId, std::vector<RsGxsMessageId> > GxsMsgIdResult;
|
||||||
typedef std::pair<RsGxsGroupId, RsGxsMessageId> RsGxsGrpMsgIdPair;
|
typedef std::pair<RsGxsGroupId, RsGxsMessageId> RsGxsGrpMsgIdPair;
|
||||||
|
@ -103,11 +103,11 @@ public:
|
||||||
|
|
||||||
|
|
||||||
RsGxsGroupId mGroupId;
|
RsGxsGroupId mGroupId;
|
||||||
std::string mMsgId;
|
RsGxsMessageId mMsgId;
|
||||||
|
|
||||||
std::string mThreadId;
|
RsGxsMessageId mThreadId;
|
||||||
std::string mParentId;
|
RsGxsMessageId mParentId;
|
||||||
std::string mOrigMsgId;
|
RsGxsMessageId mOrigMsgId;
|
||||||
|
|
||||||
std::string mAuthorId;
|
std::string mAuthorId;
|
||||||
|
|
||||||
|
|
|
@ -350,7 +350,6 @@ int RsInit::InitRetroShare(int argcIgnored, char **argvIgnored, bool strictCheck
|
||||||
#endif
|
#endif
|
||||||
/******************************** WINDOWS/UNIX SPECIFIC PART ******************/
|
/******************************** WINDOWS/UNIX SPECIFIC PART ******************/
|
||||||
|
|
||||||
int c;
|
|
||||||
std::string prefUserString = "";
|
std::string prefUserString = "";
|
||||||
std::string opt_base_dir;
|
std::string opt_base_dir;
|
||||||
|
|
||||||
|
@ -1365,10 +1364,8 @@ int RsServer::StartupRetroShare()
|
||||||
currGxsDir += "_TESTNET7";
|
currGxsDir += "_TESTNET7";
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
bool cleanUpGxsDir = false;
|
|
||||||
|
|
||||||
if(!priorGxsDir.empty())
|
if(!priorGxsDir.empty())
|
||||||
cleanUpGxsDir = RsDirUtil::checkDirectory(priorGxsDir);
|
RsDirUtil::checkDirectory(priorGxsDir);
|
||||||
|
|
||||||
std::set<std::string> filesToKeep;
|
std::set<std::string> filesToKeep;
|
||||||
bool cleanUpSuccess = RsDirUtil::cleanupDirectory(priorGxsDir, filesToKeep);
|
bool cleanUpSuccess = RsDirUtil::cleanupDirectory(priorGxsDir, filesToKeep);
|
||||||
|
|
|
@ -204,7 +204,7 @@ bool RsNxsSerialiser::serialiseNxsSynMsgItem(RsNxsSyncMsgItem *item, void *data,
|
||||||
ok &= setRawUInt32(data, *size, &offset, item->transactionNumber);
|
ok &= setRawUInt32(data, *size, &offset, item->transactionNumber);
|
||||||
ok &= setRawUInt8(data, *size, &offset, item->flag);
|
ok &= setRawUInt8(data, *size, &offset, item->flag);
|
||||||
ok &= item->grpId.serialise(data, *size, offset);
|
ok &= item->grpId.serialise(data, *size, offset);
|
||||||
ok &= SetTlvString(data, *size, &offset, TLV_TYPE_STR_MSGID, item->msgId);
|
ok &= item->msgId.serialise(data, *size, offset) ;
|
||||||
ok &= SetTlvString(data, *size, &offset, TLV_TYPE_STR_NAME, item->authorId);
|
ok &= SetTlvString(data, *size, &offset, TLV_TYPE_STR_NAME, item->authorId);
|
||||||
|
|
||||||
if(offset != tlvsize){
|
if(offset != tlvsize){
|
||||||
|
@ -253,7 +253,7 @@ bool RsNxsSerialiser::serialiseNxsMsg(RsNxsMsg *item, void *data, uint32_t *size
|
||||||
|
|
||||||
ok &= setRawUInt32(data, *size, &offset, item->transactionNumber);
|
ok &= setRawUInt32(data, *size, &offset, item->transactionNumber);
|
||||||
ok &= setRawUInt8(data, *size, &offset, item->pos);
|
ok &= setRawUInt8(data, *size, &offset, item->pos);
|
||||||
ok &= SetTlvString(data, tlvsize, &offset, TLV_TYPE_STR_MSGID, item->msgId);
|
ok &= item->msgId.serialise(data, tlvsize, offset) ;
|
||||||
ok &= item->grpId.serialise(data, *size, offset);
|
ok &= item->grpId.serialise(data, *size, offset);
|
||||||
ok &= item->msg.SetTlv(data, tlvsize, &offset);
|
ok &= item->msg.SetTlv(data, tlvsize, &offset);
|
||||||
ok &= item->meta.SetTlv(data, *size, &offset);
|
ok &= item->meta.SetTlv(data, *size, &offset);
|
||||||
|
@ -643,7 +643,7 @@ RsNxsMsg* RsNxsSerialiser::deserialNxsMsg(void *data, uint32_t *size){
|
||||||
|
|
||||||
ok &= getRawUInt32(data, *size, &offset, &(item->transactionNumber));
|
ok &= getRawUInt32(data, *size, &offset, &(item->transactionNumber));
|
||||||
ok &= getRawUInt8(data, *size, &offset, &(item->pos));
|
ok &= getRawUInt8(data, *size, &offset, &(item->pos));
|
||||||
ok &= GetTlvString(data, *size, &offset, TLV_TYPE_STR_MSGID, item->msgId);
|
ok &= item->msgId.deserialise(data, *size, offset) ;
|
||||||
ok &= item->grpId.deserialise(data, *size, offset);
|
ok &= item->grpId.deserialise(data, *size, offset);
|
||||||
ok &= item->msg.GetTlv(data, *size, &offset);
|
ok &= item->msg.GetTlv(data, *size, &offset);
|
||||||
ok &= item->meta.GetTlv(data, *size, &offset);
|
ok &= item->meta.GetTlv(data, *size, &offset);
|
||||||
|
@ -917,7 +917,7 @@ RsNxsSyncMsgItem* RsNxsSerialiser::deserialNxsSyncMsgItem(void *data, uint32_t *
|
||||||
ok &= getRawUInt32(data, *size, &offset, &(item->transactionNumber));
|
ok &= getRawUInt32(data, *size, &offset, &(item->transactionNumber));
|
||||||
ok &= getRawUInt8(data, *size, &offset, &(item->flag));
|
ok &= getRawUInt8(data, *size, &offset, &(item->flag));
|
||||||
ok &= item->grpId.deserialise(data, *size, offset);
|
ok &= item->grpId.deserialise(data, *size, offset);
|
||||||
ok &= GetTlvString(data, *size, &offset, TLV_TYPE_STR_MSGID, item->msgId);
|
ok &= item->msgId.deserialise(data, *size, offset) ;
|
||||||
ok &= GetTlvString(data, *size, &offset, TLV_TYPE_STR_NAME, item->authorId);
|
ok &= GetTlvString(data, *size, &offset, TLV_TYPE_STR_NAME, item->authorId);
|
||||||
|
|
||||||
if (offset != rssize)
|
if (offset != rssize)
|
||||||
|
@ -1032,7 +1032,7 @@ uint32_t RsNxsSerialiser::sizeNxsMsg(RsNxsMsg *item)
|
||||||
s += 4; // transaction number
|
s += 4; // transaction number
|
||||||
s += 1; // pos
|
s += 1; // pos
|
||||||
s += item->grpId.serial_size();
|
s += item->grpId.serial_size();
|
||||||
s += GetTlvStringSize(item->msgId);
|
s += item->msgId.serial_size();
|
||||||
s += item->msg.TlvSize();
|
s += item->msg.TlvSize();
|
||||||
s += item->meta.TlvSize();
|
s += item->meta.TlvSize();
|
||||||
|
|
||||||
|
@ -1104,7 +1104,7 @@ uint32_t RsNxsSerialiser::sizeNxsSyncMsgItem(RsNxsSyncMsgItem *item)
|
||||||
s += 4; // transaction number
|
s += 4; // transaction number
|
||||||
s += 1; // flag
|
s += 1; // flag
|
||||||
s += item->grpId.serial_size();
|
s += item->grpId.serial_size();
|
||||||
s += GetTlvStringSize(item->msgId);
|
s += item->msgId.serial_size();
|
||||||
s += GetTlvStringSize(item->authorId);
|
s += GetTlvStringSize(item->authorId);
|
||||||
|
|
||||||
return s;
|
return s;
|
||||||
|
|
|
@ -262,7 +262,7 @@ public:
|
||||||
|
|
||||||
uint8_t flag; // response/req
|
uint8_t flag; // response/req
|
||||||
RsGxsGroupId grpId;
|
RsGxsGroupId grpId;
|
||||||
std::string msgId;
|
RsGxsMessageId msgId;
|
||||||
std::string authorId;
|
std::string authorId;
|
||||||
|
|
||||||
};
|
};
|
||||||
|
@ -296,7 +296,7 @@ public:
|
||||||
uint8_t pos; /// used for splitting up msg
|
uint8_t pos; /// used for splitting up msg
|
||||||
uint8_t count; /// number of split up messages
|
uint8_t count; /// number of split up messages
|
||||||
RsGxsGroupId grpId; /// group id, forms part of version id
|
RsGxsGroupId grpId; /// group id, forms part of version id
|
||||||
std::string msgId; /// msg id
|
RsFileHash msgId; /// msg id
|
||||||
static int refcount;
|
static int refcount;
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
|
|
|
@ -598,7 +598,7 @@ void p3GxsChannels::handleUnprocessedPost(const RsGxsChannelPost &msg)
|
||||||
for(fit = msg.mFiles.begin(); fit != msg.mFiles.end(); fit++)
|
for(fit = msg.mFiles.begin(); fit != msg.mFiles.end(); fit++)
|
||||||
{
|
{
|
||||||
std::string fname = fit->mName;
|
std::string fname = fit->mName;
|
||||||
std::string hash = fit->mHash;
|
RsFileHash hash = fit->mHash;
|
||||||
uint64_t size = fit->mSize;
|
uint64_t size = fit->mSize;
|
||||||
|
|
||||||
std::list<RsPeerId> srcIds;
|
std::list<RsPeerId> srcIds;
|
||||||
|
@ -685,7 +685,6 @@ bool p3GxsChannels::autoDownloadEnabled(const RsGxsGroupId &id)
|
||||||
|
|
||||||
bool SSGxsChannelGroup::load(const std::string &input)
|
bool SSGxsChannelGroup::load(const std::string &input)
|
||||||
{
|
{
|
||||||
char line[RSGXSCHANNEL_MAX_SERVICE_STRING];
|
|
||||||
int download_val;
|
int download_val;
|
||||||
mAutoDownload = false;
|
mAutoDownload = false;
|
||||||
if (1 == sscanf(input.c_str(), "D:%d", &download_val))
|
if (1 == sscanf(input.c_str(), "D:%d", &download_val))
|
||||||
|
@ -832,7 +831,7 @@ bool p3GxsChannels::ExtraFileHash(const std::string &path, std::string filename)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
bool p3GxsChannels::ExtraFileRemove(const std::string &hash)
|
bool p3GxsChannels::ExtraFileRemove(const RsFileHash &hash)
|
||||||
{
|
{
|
||||||
TransferRequestFlags tflags = RS_FILE_REQ_ANONYMOUS_ROUTING | RS_FILE_REQ_EXTRA;
|
TransferRequestFlags tflags = RS_FILE_REQ_ANONYMOUS_ROUTING | RS_FILE_REQ_EXTRA;
|
||||||
return rsFiles->ExtraFileRemove(hash, tflags);
|
return rsFiles->ExtraFileRemove(hash, tflags);
|
||||||
|
@ -1016,7 +1015,7 @@ void p3GxsChannels::dummy_tick()
|
||||||
RsGxsGroupId grpId = ref.mGroupId;
|
RsGxsGroupId grpId = ref.mGroupId;
|
||||||
RsGxsMessageId parentId = ref.mMsgId;
|
RsGxsMessageId parentId = ref.mMsgId;
|
||||||
mGenThreadId = ref.mThreadId;
|
mGenThreadId = ref.mThreadId;
|
||||||
if (mGenThreadId.empty())
|
if (mGenThreadId.isNull())
|
||||||
{
|
{
|
||||||
mGenThreadId = parentId;
|
mGenThreadId = parentId;
|
||||||
}
|
}
|
||||||
|
@ -1038,7 +1037,7 @@ void p3GxsChannels::dummy_tick()
|
||||||
RsGxsGroupId grpId = ref.mGroupId;
|
RsGxsGroupId grpId = ref.mGroupId;
|
||||||
RsGxsMessageId parentId = ref.mMsgId;
|
RsGxsMessageId parentId = ref.mMsgId;
|
||||||
mGenThreadId = ref.mThreadId;
|
mGenThreadId = ref.mThreadId;
|
||||||
if (mGenThreadId.empty())
|
if (mGenThreadId.isNull())
|
||||||
{
|
{
|
||||||
mGenThreadId = parentId;
|
mGenThreadId = parentId;
|
||||||
}
|
}
|
||||||
|
@ -1060,7 +1059,7 @@ void p3GxsChannels::dummy_tick()
|
||||||
RsGxsGroupId grpId = ref.mGroupId;
|
RsGxsGroupId grpId = ref.mGroupId;
|
||||||
RsGxsMessageId parentId = ref.mMsgId;
|
RsGxsMessageId parentId = ref.mMsgId;
|
||||||
mGenThreadId = ref.mThreadId;
|
mGenThreadId = ref.mThreadId;
|
||||||
if (mGenThreadId.empty())
|
if (mGenThreadId.isNull())
|
||||||
{
|
{
|
||||||
mGenThreadId = parentId;
|
mGenThreadId = parentId;
|
||||||
}
|
}
|
||||||
|
@ -1108,7 +1107,7 @@ bool p3GxsChannels::generateComment(uint32_t &token, const RsGxsGroupId &grpId,
|
||||||
std::string rndId = genRandomId();
|
std::string rndId = genRandomId();
|
||||||
|
|
||||||
rs_sprintf(msg.mComment, "Channel Comment: GroupId: %s, ThreadId: %s, ParentId: %s + some randomness: %s",
|
rs_sprintf(msg.mComment, "Channel Comment: GroupId: %s, ThreadId: %s, ParentId: %s + some randomness: %s",
|
||||||
grpId.toStdString().c_str(), threadId.c_str(), parentId.c_str(), rndId.c_str());
|
grpId.toStdString().c_str(), threadId.toStdString().c_str(), parentId.toStdString().c_str(), rndId.c_str());
|
||||||
|
|
||||||
msg.mMeta.mMsgName = msg.mComment;
|
msg.mMeta.mMsgName = msg.mComment;
|
||||||
|
|
||||||
|
|
|
@ -142,7 +142,7 @@ virtual void setMessageReadStatus(uint32_t& token, const RsGxsGrpMsgIdPair& msgI
|
||||||
|
|
||||||
// File Interface
|
// File Interface
|
||||||
virtual bool ExtraFileHash(const std::string &path, std::string filename);
|
virtual bool ExtraFileHash(const std::string &path, std::string filename);
|
||||||
virtual bool ExtraFileRemove(const std::string &hash);
|
virtual bool ExtraFileRemove(const RsFileHash &hash);
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
|
|
||||||
|
|
|
@ -414,14 +414,14 @@ bool p3GxsCommentService::createGxsVote(uint32_t &token, RsGxsVote &vote)
|
||||||
std::cerr << std::endl;
|
std::cerr << std::endl;
|
||||||
|
|
||||||
/* vote must be associated with another item */
|
/* vote must be associated with another item */
|
||||||
if (vote.mMeta.mThreadId.empty())
|
if (vote.mMeta.mThreadId.isNull())
|
||||||
{
|
{
|
||||||
std::cerr << "p3GxsCommentService::createGxsVote() ERROR Missing Required ThreadId";
|
std::cerr << "p3GxsCommentService::createGxsVote() ERROR Missing Required ThreadId";
|
||||||
std::cerr << std::endl;
|
std::cerr << std::endl;
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (vote.mMeta.mParentId.empty())
|
if (vote.mMeta.mParentId.isNull())
|
||||||
{
|
{
|
||||||
std::cerr << "p3GxsCommentService::createGxsVote() ERROR Missing Required ParentId";
|
std::cerr << "p3GxsCommentService::createGxsVote() ERROR Missing Required ParentId";
|
||||||
std::cerr << std::endl;
|
std::cerr << std::endl;
|
||||||
|
|
|
@ -396,7 +396,7 @@ void p3GxsForums::dummy_tick()
|
||||||
RsGxsGroupId grpId = ref.mGroupId;
|
RsGxsGroupId grpId = ref.mGroupId;
|
||||||
RsGxsMessageId parentId = ref.mMsgId;
|
RsGxsMessageId parentId = ref.mMsgId;
|
||||||
mGenThreadId = ref.mThreadId;
|
mGenThreadId = ref.mThreadId;
|
||||||
if (mGenThreadId.empty())
|
if (mGenThreadId.isNull())
|
||||||
{
|
{
|
||||||
mGenThreadId = parentId;
|
mGenThreadId = parentId;
|
||||||
}
|
}
|
||||||
|
@ -420,7 +420,7 @@ bool p3GxsForums::generateMessage(uint32_t &token, const RsGxsGroupId &grpId, co
|
||||||
std::string rndId = genRandomId();
|
std::string rndId = genRandomId();
|
||||||
|
|
||||||
rs_sprintf(msg.mMsg, "Forum Msg: GroupId: %s, ThreadId: %s, ParentId: %s + some randomness: %s",
|
rs_sprintf(msg.mMsg, "Forum Msg: GroupId: %s, ThreadId: %s, ParentId: %s + some randomness: %s",
|
||||||
grpId.toStdString().c_str(), threadId.c_str(), parentId.c_str(), rndId.c_str());
|
grpId.toStdString().c_str(), threadId.toStdString().c_str(), parentId.toStdString().c_str(), rndId.c_str());
|
||||||
|
|
||||||
msg.mMeta.mMsgName = msg.mMsg;
|
msg.mMeta.mMsgName = msg.mMsg;
|
||||||
|
|
||||||
|
|
|
@ -429,7 +429,7 @@ void p3PostBase::background_loadMsgs(const uint32_t &token, bool unprocessed)
|
||||||
}
|
}
|
||||||
|
|
||||||
/* 3 types expected: PostedPost, Comment and Vote */
|
/* 3 types expected: PostedPost, Comment and Vote */
|
||||||
if (parentId.empty())
|
if (parentId.isNull())
|
||||||
{
|
{
|
||||||
/* we don't care about top-level (Posts) */
|
/* we don't care about top-level (Posts) */
|
||||||
std::cerr << "\tIgnoring TopLevel Item";
|
std::cerr << "\tIgnoring TopLevel Item";
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue