From cbb2636c90234726d347cbf81f885bf94a0901e0 Mon Sep 17 00:00:00 2001 From: chrisparker126 Date: Sat, 1 Mar 2014 17:28:14 +0000 Subject: [PATCH] changes on librs side for author id refactoring done git-svn-id: http://svn.code.sf.net/p/retroshare/code/branches/v0.6-IdCleaning@7157 b45a01b8-16f6-495d-af2f-9b41ad6348cc --- libretroshare/src/gxs/rsdataservice.cc | 31 +++++++++++------- libretroshare/src/gxs/rsgenexchange.cc | 12 +++---- libretroshare/src/gxs/rsgixs.h | 3 +- libretroshare/src/gxs/rsgxsdata.cc | 12 +++---- libretroshare/src/gxs/rsgxsdata.h | 4 +-- libretroshare/src/gxs/rsgxsnetservice.cc | 4 +-- libretroshare/src/gxs/rsgxsnetutils.cc | 4 +-- libretroshare/src/gxs/rsgxsnetutils.h | 10 +++--- .../src/retroshare/rsgxsifacetypes.h | 11 ++++--- libretroshare/src/retroshare/rsidentity.h | 3 +- .../src/serialiser/rsgxscircleitems.cc | 11 +++++-- .../src/serialiser/rsgxsrecognitems.cc | 12 +++---- .../src/serialiser/rsgxsrecognitems.h | 6 ++-- libretroshare/src/serialiser/rsnxsitems.cc | 12 +++---- libretroshare/src/serialiser/rsnxsitems.h | 4 +-- libretroshare/src/services/p3gxschannels.cc | 10 +++--- libretroshare/src/services/p3gxscircles.cc | 8 ++--- libretroshare/src/services/p3gxscommon.cc | 2 +- libretroshare/src/services/p3gxsforums.cc | 2 +- libretroshare/src/services/p3idservice.cc | 32 +++++++++---------- libretroshare/src/services/p3wiki.cc | 4 +-- libretroshare/src/util/rsrecogn.cc | 2 +- libretroshare/src/util/rsrecogn.h | 3 +- 23 files changed, 109 insertions(+), 93 deletions(-) diff --git a/libretroshare/src/gxs/rsdataservice.cc b/libretroshare/src/gxs/rsdataservice.cc index 30226f376..d3685b79f 100644 --- a/libretroshare/src/gxs/rsdataservice.cc +++ b/libretroshare/src/gxs/rsdataservice.cc @@ -278,12 +278,16 @@ RsGxsGrpMetaData* RsDataService::locked_getGrpMeta(RetroCursor &c) grpMeta->mGroupId = tempId; - c.getString(COL_IDENTITY, grpMeta->mAuthorId); + + c.getString(COL_IDENTITY, tempId); + grpMeta->mAuthorId = tempId; c.getString(COL_GRP_NAME, grpMeta->mGroupName); c.getString(COL_ORIG_GRP_ID, tempId); grpMeta->mOrigGrpId = tempId; c.getString(COL_GRP_SERV_STRING, grpMeta->mServiceString); - c.getString(COL_HASH, grpMeta->mHash); + std::string temp; + c.getString(COL_HASH, temp); + grpMeta->mHash = temp; grpMeta->mSignFlags = c.getInt32(COL_GRP_SIGN_FLAGS); grpMeta->mPublishTs = c.getInt32(COL_TIME_STAMP); @@ -402,10 +406,13 @@ RsGxsMsgMetaData* RsDataService::locked_getMsgMeta(RetroCursor &c) c.getString(COL_ORIG_MSG_ID, temp); msgMeta->mOrigMsgId = temp; - c.getString(COL_IDENTITY, msgMeta->mAuthorId); + c.getString(COL_IDENTITY, temp); + msgMeta->mAuthorId = temp; c.getString(COL_MSG_NAME, msgMeta->mMsgName); c.getString(COL_MSG_SERV_STRING, msgMeta->mServiceString); - c.getString(COL_HASH, msgMeta->mHash); + + c.getString(COL_HASH, temp); + msgMeta->mHash = temp; msgMeta->recvTS = c.getInt32(COL_MSG_RECV_TS); offset = 0; @@ -522,7 +529,7 @@ int RsDataService::storeMessage(std::map &msg) cv.put(KEY_MSG_ID, msgMetaPtr->mMsgId.toStdString()); cv.put(KEY_GRP_ID, msgMetaPtr->mGroupId.toStdString()); 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); @@ -530,7 +537,7 @@ int RsDataService::storeMessage(std::map &msg) offset = 0; msgMetaPtr->signSet.SetTlv(signSetData, msgMetaPtr->signSet.TlvSize(), &offset); cv.put(KEY_SIGN_SET, msgMetaPtr->signSet.TlvSize(), signSetData); - cv.put(KEY_NXS_IDENTITY, msgMetaPtr->mAuthorId); + cv.put(KEY_NXS_IDENTITY, msgMetaPtr->mAuthorId.toStdString()); cv.put(KEY_NXS_FLAGS, (int32_t) msgMetaPtr->mMsgFlags); @@ -631,11 +638,11 @@ int RsDataService::storeGroup(std::map &grp) cv.put(KEY_GRP_ORIGINATOR, grpMetaPtr->mOriginator.toStdString()); cv.put(KEY_GRP_AUTHEN_FLAGS, (int32_t)grpMetaPtr->mAuthenFlags); 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); - if(! (grpMetaPtr->mAuthorId.empty()) ){ - cv.put(KEY_NXS_IDENTITY, grpMetaPtr->mAuthorId); + if(! (grpMetaPtr->mAuthorId.isNull()) ){ + cv.put(KEY_NXS_IDENTITY, grpMetaPtr->mAuthorId.toStdString()); } offset = 0; @@ -723,10 +730,10 @@ int RsDataService::updateGroup(std::map &grp) cv.put(KEY_GRP_INTERNAL_CIRCLE, grpMetaPtr->mInternalCircle); cv.put(KEY_GRP_ORIGINATOR, grpMetaPtr->mOriginator.toStdString()); 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()) ){ - cv.put(KEY_NXS_IDENTITY, grpMetaPtr->mAuthorId); + if(! (grpMetaPtr->mAuthorId.isNull()) ){ + cv.put(KEY_NXS_IDENTITY, grpMetaPtr->mAuthorId.toStdString()); } offset = 0; diff --git a/libretroshare/src/gxs/rsgenexchange.cc b/libretroshare/src/gxs/rsgenexchange.cc index 17057acc6..294c9e62d 100644 --- a/libretroshare/src/gxs/rsgenexchange.cc +++ b/libretroshare/src/gxs/rsgenexchange.cc @@ -421,7 +421,7 @@ int RsGenExchange::createGroupSignatures(RsTlvKeySignatureSet& signSet, RsTlvBin PrivacyBitPos pos = GRP_OPTION_BITS; // Check required permissions, and allow them to sign it - if they want too - as well! - if ((!grpMeta.mAuthorId.empty()) || checkAuthenFlag(pos, author_flag)) + if ((!grpMeta.mAuthorId.isNull()) || checkAuthenFlag(pos, author_flag)) { needIdentitySign = true; std::cerr << "Needs Identity sign! (Service Flags)"; @@ -536,7 +536,7 @@ int RsGenExchange::createMsgSignatures(RsTlvKeySignatureSet& signSet, RsTlvBinar std::cerr << std::endl; } - if (!msgMeta.mAuthorId.empty()) + if (!msgMeta.mAuthorId.isNull()) { needIdentitySign = true; std::cerr << "Needs Identity sign! (AuthorId Exists)"; @@ -690,7 +690,7 @@ int RsGenExchange::createMessage(RsNxsMsg* msg) // get hash of msg data to create msg id pqihash hash; hash.addData(allMsgData, allMsgDataLen); - std::string hashId; + RsFileHash hashId; hash.Complete(hashId); msg->msgId = hashId; @@ -746,7 +746,7 @@ int RsGenExchange::validateMsg(RsNxsMsg *msg, const uint32_t& grpFlag, RsTlvSecu needPublishSign = true; // Check required permissions, if they have signed it anyway - we need to validate it. - if ((checkAuthenFlag(pos, author_flag)) || (!msg->metaData->mAuthorId.empty())) + if ((checkAuthenFlag(pos, author_flag)) || (!msg->metaData->mAuthorId.isNull())) needIdentitySign = true; @@ -855,7 +855,7 @@ int RsGenExchange::validateGrp(RsNxsGrp* grp, RsTlvSecurityKeySet& grpKeySet) PrivacyBitPos pos = GRP_OPTION_BITS; // Check required permissions, and allow them to sign it - if they want too - as well! - if (!(metaData.mAuthorId.empty()) || checkAuthenFlag(pos, author_flag)) + if (!(metaData.mAuthorId.isNull()) || checkAuthenFlag(pos, author_flag)) { needIdentitySign = true; std::cerr << "Needs Identity sign! (Service Flags)"; @@ -2220,7 +2220,7 @@ void RsGenExchange::processRecvdData() } -void RsGenExchange::computeHash(const RsTlvBinaryData& data, std::string& hash) +void RsGenExchange::computeHash(const RsTlvBinaryData& data, RsFileHash& hash) { pqihash pHash; pHash.addData(data.bin_data, data.bin_len); diff --git a/libretroshare/src/gxs/rsgixs.h b/libretroshare/src/gxs/rsgixs.h index 62fdc75e1..a4ded9cb0 100644 --- a/libretroshare/src/gxs/rsgixs.h +++ b/libretroshare/src/gxs/rsgixs.h @@ -32,7 +32,7 @@ #include "retroshare/rsgxscircles.h" #include "serialiser/rstlvkeys.h" - +#include "retroshare/rsids.h" /*! * GIXP: General Identity Exchange Service. * @@ -98,7 +98,6 @@ typedef RsPeerId PeerId; // SHOULD BE REMOVED => RsPeerId (SSLID) typedef PGPIdType RsPgpId; -typedef std::string RsGxsId; // //// External Interface - diff --git a/libretroshare/src/gxs/rsgxsdata.cc b/libretroshare/src/gxs/rsgxsdata.cc index 18dadb962..5d0b9673f 100644 --- a/libretroshare/src/gxs/rsgxsdata.cc +++ b/libretroshare/src/gxs/rsgxsdata.cc @@ -42,7 +42,7 @@ uint32_t RsGxsGrpMetaData::serial_size() s += GetTlvStringSize(mGroupName); s += 4; s += 4; - s += GetTlvStringSize(mAuthorId); + s += mAuthorId.serial_size(); s += GetTlvStringSize(mServiceString); s += signSet.TlvSize(); s += keys.TlvSize(); @@ -112,7 +112,7 @@ bool RsGxsGrpMetaData::serialise(void *data, uint32_t &pktsize) ok &= setRawUInt32(data, tlvsize, &offset, mPublishTs); ok &= setRawUInt32(data, tlvsize, &offset, mCircleType); ok &= setRawUInt32(data, tlvsize, &offset, mAuthenFlags); - ok &= SetTlvString(data, tlvsize, &offset, 0, mAuthorId); + ok &= mAuthorId.serialise(data, tlvsize, offset); ok &= SetTlvString(data, tlvsize, &offset, 0, mServiceString); ok &= SetTlvString(data, tlvsize, &offset, 0, mCircleId); @@ -143,7 +143,7 @@ bool RsGxsGrpMetaData::deserialise(void *data, uint32_t &pktsize) ok &= getRawUInt32(data, pktsize, &offset, &mPublishTs); ok &= getRawUInt32(data, pktsize, &offset, &mCircleType); ok &= getRawUInt32(data, pktsize, &offset, &mAuthenFlags); - ok &= GetTlvString(data, pktsize, &offset, 0, mAuthorId); + ok &= mAuthorId.deserialise(data, pktsize, offset); ok &= GetTlvString(data, pktsize, &offset, 0, mServiceString); ok &= GetTlvString(data, pktsize, &offset, 0, mCircleId); ok &= signSet.GetTlv(data, pktsize, &offset); @@ -175,7 +175,7 @@ uint32_t RsGxsMsgMetaData::serial_size() s += mThreadId.serial_size(); s += mParentId.serial_size(); s += mOrigMsgId.serial_size(); - s += GetTlvStringSize(mAuthorId); + s += mAuthorId.serial_size(); s += signSet.TlvSize(); s += GetTlvStringSize(mMsgName); @@ -232,7 +232,7 @@ bool RsGxsMsgMetaData::serialise(void *data, uint32_t *size) ok &= mThreadId.serialise(data, *size, offset); ok &= mParentId.serialise(data, *size, offset); ok &= mOrigMsgId.serialise(data, *size, offset); - ok &= SetTlvString(data, *size, &offset, 0, mAuthorId); + ok &= mAuthorId.serialise(data, *size, offset); ok &= signSet.SetTlv(data, *size, &offset); ok &= SetTlvString(data, *size, &offset, 0, mMsgName); @@ -259,7 +259,7 @@ bool RsGxsMsgMetaData::deserialise(void *data, uint32_t *size) ok &= mThreadId.deserialise(data, *size, offset); ok &= mParentId.deserialise(data, *size, offset); ok &= mOrigMsgId.deserialise(data, *size, offset); - ok &= GetTlvString(data, *size, &offset, 0, mAuthorId); + ok &= mAuthorId.deserialise(data, *size, offset); ok &= signSet.GetTlv(data, *size, &offset); ok &= GetTlvString(data, *size, &offset, 0, mMsgName); diff --git a/libretroshare/src/gxs/rsgxsdata.h b/libretroshare/src/gxs/rsgxsdata.h index 3bde73ed2..c94096ff7 100644 --- a/libretroshare/src/gxs/rsgxsdata.h +++ b/libretroshare/src/gxs/rsgxsdata.h @@ -52,7 +52,7 @@ public: uint32_t mGroupFlags; uint32_t mPublishTs; uint32_t mSignFlags; - std::string mAuthorId; + RsGxsId mAuthorId; std::string mCircleId; uint32_t mCircleType; @@ -99,7 +99,7 @@ public: RsGxsMessageId mThreadId; RsGxsMessageId mParentId; RsGxsMessageId mOrigMsgId; - std::string mAuthorId; + RsGxsId mAuthorId; RsTlvKeySignatureSet signSet; diff --git a/libretroshare/src/gxs/rsgxsnetservice.cc b/libretroshare/src/gxs/rsgxsnetservice.cc index a30385ce5..e151c9dc4 100644 --- a/libretroshare/src/gxs/rsgxsnetservice.cc +++ b/libretroshare/src/gxs/rsgxsnetservice.cc @@ -1521,7 +1521,7 @@ void RsGxsNetService::locked_genReqMsgTransaction(NxsTransaction* tr) if(msgIdSet.find(msgId) == msgIdSet.end()){ - bool noAuthor = syncItem->authorId.empty(); + bool noAuthor = syncItem->authorId.isNull(); if(mReputations->haveReputation(syncItem->authorId) || noAuthor) { @@ -1657,7 +1657,7 @@ void RsGxsNetService::locked_genReqGrpTransaction(NxsTransaction* tr) if(!haveItem || (haveItem && latestVersion) ){ // determine if you need to check reputation - bool checkRep = !grpSyncItem->authorId.empty(); + bool checkRep = !grpSyncItem->authorId.isNull(); // check if you have reputation, if you don't then // place in holding pen diff --git a/libretroshare/src/gxs/rsgxsnetutils.cc b/libretroshare/src/gxs/rsgxsnetutils.cc index 9bb9edd58..d77db199a 100644 --- a/libretroshare/src/gxs/rsgxsnetutils.cc +++ b/libretroshare/src/gxs/rsgxsnetutils.cc @@ -47,7 +47,7 @@ bool AuthorPending::expired() const } bool AuthorPending::getAuthorRep(GixsReputation& rep, - const std::string& authorId, const RsPeerId& peerId) + const RsGxsId& authorId, const RsPeerId& peerId) { if(mRep->haveReputation(authorId)) { @@ -281,7 +281,7 @@ int GrpCircleIdRequestVetting::getType() const } MsgIdCircleVet::MsgIdCircleVet(const RsGxsMessageId& msgId, - const std::string& authorId) + const RsGxsId& authorId) : mMsgId(msgId), mAuthorId(authorId) { } diff --git a/libretroshare/src/gxs/rsgxsnetutils.h b/libretroshare/src/gxs/rsgxsnetutils.h index 8e2478d3e..fc5624503 100644 --- a/libretroshare/src/gxs/rsgxsnetutils.h +++ b/libretroshare/src/gxs/rsgxsnetutils.h @@ -141,7 +141,7 @@ protected: * @param authorId reputation to get * @return true if successfully retrieve repution */ - bool getAuthorRep(GixsReputation& rep, const std::string& authorId, const RsPeerId& peerId); + bool getAuthorRep(GixsReputation& rep, const RsGxsId& authorId, const RsPeerId& peerId); private: @@ -158,7 +158,7 @@ public: RsGxsMessageId mMsgId; RsGxsGroupId mGrpId; - std::string mAuthorId; + RsGxsId mAuthorId; bool mPassedVetting; }; @@ -171,7 +171,7 @@ public: GrpAuthEntry(); RsGxsGroupId mGrpId; - std::string mAuthorId; + RsGxsId mAuthorId; bool mPassedVetting; }; @@ -218,10 +218,10 @@ public: class MsgIdCircleVet { public: - MsgIdCircleVet(const RsGxsMessageId& grpId, const std::string& authorId); + MsgIdCircleVet(const RsGxsMessageId& grpId, const RsGxsId& authorId); RsGxsMessageId mMsgId; - std::string mAuthorId; + RsGxsId mAuthorId; }; class GrpItemCircleVet diff --git a/libretroshare/src/retroshare/rsgxsifacetypes.h b/libretroshare/src/retroshare/rsgxsifacetypes.h index d8f855fc6..6b891cbbd 100644 --- a/libretroshare/src/retroshare/rsgxsifacetypes.h +++ b/libretroshare/src/retroshare/rsgxsifacetypes.h @@ -17,6 +17,7 @@ typedef GXSGroupId RsGxsGroupId; typedef Sha1CheckSum RsGxsMessageId; +typedef GXSId RsGxsId; typedef std::map > GxsMsgIdResult; typedef std::pair RsGxsGrpMsgIdPair; @@ -60,7 +61,7 @@ public: uint32_t mSignFlags; // Combination of RSGXS_GROUP_SIGN_PUBLISH_MASK & RSGXS_GROUP_SIGN_AUTHOR_MASK. time_t mPublishTs; // Mandatory. - std::string mAuthorId; // Optional. + RsGxsId mAuthorId; // Optional. // for circles std::string mCircleId; @@ -109,7 +110,7 @@ public: RsGxsMessageId mParentId; RsGxsMessageId mOrigMsgId; - std::string mAuthorId; + RsGxsId mAuthorId; std::string mMsgName; time_t mPublishTs; @@ -172,7 +173,7 @@ public: // expand as support is added for other utypes enum UpdateType { DESCRIPTION, NAME }; - RsGxsGroupUpdateMeta(const std::string& groupId) : mGroupId(groupId) {} + RsGxsGroupUpdateMeta(const RsGxsGroupId& groupId) : mGroupId(groupId) {} typedef std::map GxsMetaUpdate; @@ -193,12 +194,12 @@ public: bool removeUpdateType(UpdateType utype){ return mUpdates.erase(utype) == 1; } const GxsMetaUpdate* getUpdates() const { return &mUpdates; } - const std::string& getGroupId() const { return mGroupId; } + const RsGxsGroupId& getGroupId() const { return mGroupId; } private: GxsMetaUpdate mUpdates; - std::string mGroupId; + RsGxsGroupId mGroupId; }; #endif /* RSGXSIFACETYPES_H_ */ diff --git a/libretroshare/src/retroshare/rsidentity.h b/libretroshare/src/retroshare/rsidentity.h index e8c63257b..32a9a01a4 100644 --- a/libretroshare/src/retroshare/rsidentity.h +++ b/libretroshare/src/retroshare/rsidentity.h @@ -32,6 +32,7 @@ #include "retroshare/rstokenservice.h" #include "retroshare/rsgxsifacehelper.h" +#include "retroshare/rsids.h" /* The Main Interface Class - for information about your Peers */ class RsIdentity; @@ -166,8 +167,6 @@ class RsIdOpinion // DATA TYPE FOR EXTERNAL INTERFACE. -typedef std::string RsGxsId; // TMP. => - class RsRecognTag { public: diff --git a/libretroshare/src/serialiser/rsgxscircleitems.cc b/libretroshare/src/serialiser/rsgxscircleitems.cc index 7b85afc70..0eef017f4 100644 --- a/libretroshare/src/serialiser/rsgxscircleitems.cc +++ b/libretroshare/src/serialiser/rsgxscircleitems.cc @@ -128,7 +128,11 @@ bool RsGxsCircleGroupItem::convertFrom(const RsGxsCircleGroup &group) } else { - gxsIdSet.ids = group.mInvitedMembers; + std::list::const_iterator it = group.mInvitedMembers.begin(); + for(; it != group.mInvitedMembers.end(); it++) + { + gxsIdSet.ids.push_back(it->toStdString()); + } } subCircleSet.ids = group.mSubCircles; return true; @@ -149,7 +153,10 @@ bool RsGxsCircleGroupItem::convertTo(RsGxsCircleGroup &group) const else { group.mLocalFriends.clear(); - group.mInvitedMembers = gxsIdSet.ids; + std::list::const_iterator cit = gxsIdSet.ids.begin(); + for(; cit != gxsIdSet.ids.end(); cit++) + group.mInvitedMembers.push_back((RsGxsId(*cit))); + } group.mSubCircles = subCircleSet.ids; return true; diff --git a/libretroshare/src/serialiser/rsgxsrecognitems.cc b/libretroshare/src/serialiser/rsgxsrecognitems.cc index 89b4576aa..cb32a5970 100644 --- a/libretroshare/src/serialiser/rsgxsrecognitems.cc +++ b/libretroshare/src/serialiser/rsgxsrecognitems.cc @@ -96,7 +96,7 @@ uint32_t RsGxsRecognSerialiser::sizeReq(RsGxsRecognReqItem *item) s += 4; // period; s += 2; // tag_class; s += 2; // tag_type; - s += GetTlvStringSize(item->identity); + s += item->identity.serial_size(); s += GetTlvStringSize(item->nickname); s += GetTlvStringSize(item->comment); s += item->sign.TlvSize(); @@ -133,7 +133,7 @@ bool RsGxsRecognSerialiser::serialiseReq(RsGxsRecognReqItem *item, void *dat ok &= setRawUInt16(data, tlvsize, &offset, item->tag_class); ok &= setRawUInt16(data, tlvsize, &offset, item->tag_type); - ok &= SetTlvString(data, tlvsize, &offset, 1, item->identity); + ok &= item->identity.serialise(data, tlvsize, offset); ok &= SetTlvString(data, tlvsize, &offset, 1, item->nickname); ok &= SetTlvString(data, tlvsize, &offset, 1, item->comment); ok &= item->sign.SetTlv(data, tlvsize, &offset); @@ -186,7 +186,7 @@ RsGxsRecognReqItem *RsGxsRecognSerialiser::deserialiseReq(void *data, uint32_t * ok &= getRawUInt16(data, tlvsize, &offset, &(item->tag_class)); ok &= getRawUInt16(data, tlvsize, &offset, &(item->tag_type)); - ok &= GetTlvString(data, tlvsize, &offset, 1, item->identity); + ok &= item->identity.serialise(data, tlvsize, offset); ok &= GetTlvString(data, tlvsize, &offset, 1, item->nickname); ok &= GetTlvString(data, tlvsize, &offset, 1, item->comment); ok &= item->sign.GetTlv(data, tlvsize, &offset); @@ -269,7 +269,7 @@ uint32_t RsGxsRecognSerialiser::sizeTag(RsGxsRecognTagItem *item) s += 2; // tag_class; s += 2; // tag_type; - s += GetTlvStringSize(item->identity); + s += item->identity.serial_size(); s += GetTlvStringSize(item->nickname); s += item->sign.TlvSize(); @@ -307,7 +307,7 @@ bool RsGxsRecognSerialiser::serialiseTag(RsGxsRecognTagItem *item, void *dat ok &= setRawUInt16(data, tlvsize, &offset, item->tag_class); ok &= setRawUInt16(data, tlvsize, &offset, item->tag_type); - ok &= SetTlvString(data, tlvsize, &offset, 1, item->identity); + ok &= item->identity.serialise(data, tlvsize, offset); ok &= SetTlvString(data, tlvsize, &offset, 1, item->nickname); ok &= item->sign.SetTlv(data, tlvsize, &offset); @@ -360,7 +360,7 @@ RsGxsRecognTagItem *RsGxsRecognSerialiser::deserialiseTag(void *data, uint32_t * ok &= getRawUInt16(data, tlvsize, &offset, &(item->tag_class)); ok &= getRawUInt16(data, tlvsize, &offset, &(item->tag_type)); - ok &= GetTlvString(data, tlvsize, &offset, 1, item->identity); + ok &= item->identity.deserialise(data, tlvsize, offset); ok &= GetTlvString(data, tlvsize, &offset, 1, item->nickname); ok &= item->sign.GetTlv(data, tlvsize, &offset); diff --git a/libretroshare/src/serialiser/rsgxsrecognitems.h b/libretroshare/src/serialiser/rsgxsrecognitems.h index fdbc9cfc2..b76d166ae 100644 --- a/libretroshare/src/serialiser/rsgxsrecognitems.h +++ b/libretroshare/src/serialiser/rsgxsrecognitems.h @@ -34,6 +34,8 @@ #include "serialiser/rstlvtypes.h" #include "serialiser/rstlvkeys.h" +#include "retroshare/rsgxsifacetypes.h" + /**************************************************************************/ #define RS_PKT_SUBTYPE_RECOGN_REQ 0x01 @@ -61,7 +63,7 @@ std::ostream &print(std::ostream &out, uint16_t indent = 0); uint16_t tag_class; uint16_t tag_type; - std::string identity; + RsGxsId identity; std::string nickname; std::string comment; @@ -88,7 +90,7 @@ std::ostream &print(std::ostream &out, uint16_t indent = 0); uint16_t tag_class; uint16_t tag_type; - std::string identity; + RsGxsId identity; std::string nickname; RsTlvKeySignature sign; diff --git a/libretroshare/src/serialiser/rsnxsitems.cc b/libretroshare/src/serialiser/rsnxsitems.cc index 00d9227e3..19e44c049 100644 --- a/libretroshare/src/serialiser/rsnxsitems.cc +++ b/libretroshare/src/serialiser/rsnxsitems.cc @@ -205,7 +205,7 @@ bool RsNxsSerialiser::serialiseNxsSynMsgItem(RsNxsSyncMsgItem *item, void *data, ok &= setRawUInt8(data, *size, &offset, item->flag); ok &= item->grpId.serialise(data, *size, offset); ok &= item->msgId.serialise(data, *size, offset); - ok &= SetTlvString(data, *size, &offset, TLV_TYPE_STR_NAME, item->authorId); + ok &= item->authorId.serialise(data, *size, offset); if(offset != tlvsize){ #ifdef RSSERIAL_DEBUG @@ -456,7 +456,7 @@ bool RsNxsSerialiser::serialiseNxsSyncGrpItem(RsNxsSyncGrpItem *item, void *data ok &= setRawUInt8(data, *size, &offset, item->flag); ok &= item->grpId.serialise(data, *size, offset); ok &= setRawUInt32(data, *size, &offset, item->publishTs); - ok &= SetTlvString(data, *size, &offset, TLV_TYPE_STR_NAME, item->authorId); + ok &= item->authorId.serialise(data, *size, offset); if(offset != tlvsize){ #ifdef RSSERIAL_DEBUG @@ -782,7 +782,7 @@ RsNxsSyncGrpItem* RsNxsSerialiser::deserialNxsSyncGrpItem(void *data, uint32_t * ok &= getRawUInt8(data, *size, &offset, &(item->flag)); ok &= item->grpId.deserialise(data, *size, offset); ok &= getRawUInt32(data, *size, &offset, &(item->publishTs)); - ok &= GetTlvString(data, *size, &offset, TLV_TYPE_STR_NAME, item->authorId); + ok &= item->authorId.deserialise(data, *size, offset); if (offset != rssize) { @@ -918,7 +918,7 @@ RsNxsSyncMsgItem* RsNxsSerialiser::deserialNxsSyncMsgItem(void *data, uint32_t * ok &= getRawUInt8(data, *size, &offset, &(item->flag)); ok &= item->grpId.deserialise(data, *size, offset); ok &= item->msgId.deserialise(data, *size, offset); - ok &= GetTlvString(data, *size, &offset, TLV_TYPE_STR_NAME, item->authorId); + ok &= item->authorId.deserialise(data, *size, offset); if (offset != rssize) { @@ -1075,7 +1075,7 @@ uint32_t RsNxsSerialiser::sizeNxsSyncGrpItem(RsNxsSyncGrpItem *item) s += 4; // publishTs s += 1; // flag s += item->grpId.serial_size(); - s += GetTlvStringSize(item->authorId); + s + item->authorId.serial_size(); return s; } @@ -1105,7 +1105,7 @@ uint32_t RsNxsSerialiser::sizeNxsSyncMsgItem(RsNxsSyncMsgItem *item) s += 1; // flag s += item->grpId.serial_size(); s += item->msgId.serial_size(); - s += GetTlvStringSize(item->authorId); + s += item->authorId.serial_size(); return s; } diff --git a/libretroshare/src/serialiser/rsnxsitems.h b/libretroshare/src/serialiser/rsnxsitems.h index 93c3f48ab..26a36f485 100644 --- a/libretroshare/src/serialiser/rsnxsitems.h +++ b/libretroshare/src/serialiser/rsnxsitems.h @@ -179,7 +179,7 @@ public: /// grpId of grp held by sending peer RsGxsGroupId grpId; - std::string authorId; + RsGxsId authorId; }; @@ -263,7 +263,7 @@ public: uint8_t flag; // response/req RsGxsGroupId grpId; RsGxsMessageId msgId; - std::string authorId; + RsGxsId authorId; }; diff --git a/libretroshare/src/services/p3gxschannels.cc b/libretroshare/src/services/p3gxschannels.cc index 8a5e29cb9..fe3d0c9f3 100644 --- a/libretroshare/src/services/p3gxschannels.cc +++ b/libretroshare/src/services/p3gxschannels.cc @@ -832,7 +832,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; RsFileHash fh = RsFileHash(hash); @@ -1017,7 +1017,7 @@ void p3GxsChannels::dummy_tick() RsGxsGroupId grpId = ref.mGroupId; RsGxsMessageId parentId = ref.mMsgId; mGenThreadId = ref.mThreadId; - if (mGenThreadId.empty()) + if (mGenThreadId.isNull()) { mGenThreadId = parentId; } @@ -1039,7 +1039,7 @@ void p3GxsChannels::dummy_tick() RsGxsGroupId grpId = ref.mGroupId; RsGxsMessageId parentId = ref.mMsgId; mGenThreadId = ref.mThreadId; - if (mGenThreadId.empty()) + if (mGenThreadId.isNull()) { mGenThreadId = parentId; } @@ -1061,7 +1061,7 @@ void p3GxsChannels::dummy_tick() RsGxsGroupId grpId = ref.mGroupId; RsGxsMessageId parentId = ref.mMsgId; mGenThreadId = ref.mThreadId; - if (mGenThreadId.empty()) + if (mGenThreadId.isNull()) { mGenThreadId = parentId; } @@ -1109,7 +1109,7 @@ bool p3GxsChannels::generateComment(uint32_t &token, const RsGxsGroupId &grpId, std::string rndId = genRandomId(); 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; diff --git a/libretroshare/src/services/p3gxscircles.cc b/libretroshare/src/services/p3gxscircles.cc index 63651eba9..7e81f3804 100644 --- a/libretroshare/src/services/p3gxscircles.cc +++ b/libretroshare/src/services/p3gxscircles.cc @@ -782,7 +782,7 @@ bool p3GxsCircles::cache_start_load() #ifdef DEBUG_CIRCLES std::cerr << "p3GxsCircles::cache_start_load()"; std::cerr << std::endl; -#endif // DEBUG_CIRCLES +#endif // DEBUG_CIRCLESmatch /* trigger request to load missing ids into cache */ std::list groupIds; @@ -790,7 +790,7 @@ bool p3GxsCircles::cache_start_load() RsStackMutex stack(mCircleMtx); /********** STACK LOCKED MTX ******/ /* now we process the modGroupList -> a map so we can use it easily later, and create id list too */ - std::list::iterator it; + std::list::iterator it; for(it = mCacheLoad_ToCache.begin(); it != mCacheLoad_ToCache.end(); it++) { #ifdef DEBUG_CIRCLES @@ -1453,7 +1453,7 @@ void p3GxsCircles::checkDummyIdData() std::cerr << "p3GxsCircles::checkDummyIdData() PgpLinkedId: " << it->mMeta.mGroupId; std::cerr << std::endl; #endif // DEBUG_CIRCLES - mDummyPgpLinkedIds.push_back(it->mMeta.mGroupId.toStdString()); + mDummyPgpLinkedIds.push_back(RsGxsId(it->mMeta.mGroupId.toStdString())); if (it->mMeta.mSubscribeFlags & GXS_SERV::GROUP_SUBSCRIBE_ADMIN) { @@ -1461,7 +1461,7 @@ void p3GxsCircles::checkDummyIdData() std::cerr << "p3GxsCircles::checkDummyIdData() OwnId: " << it->mMeta.mGroupId; std::cerr << std::endl; #endif // DEBUG_CIRCLES - mDummyOwnIds.push_back(it->mMeta.mGroupId.toStdString()); + mDummyOwnIds.push_back(RsGxsId(it->mMeta.mGroupId.toStdString())); } } else diff --git a/libretroshare/src/services/p3gxscommon.cc b/libretroshare/src/services/p3gxscommon.cc index d3ad5b1eb..8fd2a9cc6 100644 --- a/libretroshare/src/services/p3gxscommon.cc +++ b/libretroshare/src/services/p3gxscommon.cc @@ -435,7 +435,7 @@ bool p3GxsCommentService::createGxsVote(uint32_t &token, RsGxsVote &vote) return false; } - if (vote.mMeta.mAuthorId.empty()) + if (vote.mMeta.mAuthorId.isNull()) { std::cerr << "p3GxsCommentService::createGxsVote() ERROR Missing Required AuthorId"; std::cerr << std::endl; diff --git a/libretroshare/src/services/p3gxsforums.cc b/libretroshare/src/services/p3gxsforums.cc index 651c33506..048289b95 100644 --- a/libretroshare/src/services/p3gxsforums.cc +++ b/libretroshare/src/services/p3gxsforums.cc @@ -219,7 +219,7 @@ bool p3GxsForums::updateGroup(uint32_t &token, RsGxsGroupUpdateMeta& meta, RsGxs { std::cerr << "p3GxsForums::updateGroup()" << std::endl; - if(meta.getGroupId().empty()) + if(meta.getGroupId().isNull()) return false; RsGxsForumGroupItem* grpItem = new RsGxsForumGroupItem(); diff --git a/libretroshare/src/services/p3idservice.cc b/libretroshare/src/services/p3idservice.cc index 8d6db113a..0c551a6a5 100644 --- a/libretroshare/src/services/p3idservice.cc +++ b/libretroshare/src/services/p3idservice.cc @@ -628,7 +628,7 @@ bool p3IdService::createGroup(uint32_t& token, RsGxsIdGroup &group) bool p3IdService::updateGroup(uint32_t& token, RsGxsIdGroup &group) { - RsGxsId id = group.mMeta.mGroupId.toStdString(); + RsGxsId id = RsGxsId(group.mMeta.mGroupId.toStdString()); RsGxsIdGroupItem* item = new RsGxsIdGroupItem(); item->group = group; item->meta = group.mMeta; @@ -638,7 +638,7 @@ bool p3IdService::updateGroup(uint32_t& token, RsGxsIdGroup &group) //RsGenExchange::updateGroup(token, item); - RsGxsGroupUpdateMeta updateMeta(id); + RsGxsGroupUpdateMeta updateMeta(RsGxsGroupId(id.toStdString())); RsGenExchange::updateGroup(token, updateMeta, item); // if its in the cache - clear it. @@ -1205,7 +1205,7 @@ bool p3IdService::cache_process_recogntaginfo(const RsGxsIdGroupItem *item, std: { RsRecognTag info((*it)->tag_class, (*it)->tag_type, false); bool isPending = false; - if (recogn_checktag(item->meta.mGroupId.toStdString(), item->meta.mGroupName, *it, false, isPending)) + if (recogn_checktag(RsGxsId(item->meta.mGroupId.toStdString()), item->meta.mGroupName, *it, false, isPending)) { info.valid = true; } @@ -1256,8 +1256,8 @@ bool p3IdService::cache_store(const RsGxsIdGroupItem *item) bool pub_key_ok = false; bool full_key_ok = false; - RsGxsId id = item->meta.mGroupId.toStdString(); - if (!getGroupKeys(RsGxsGroupId(id), keySet)) + RsGxsId id (item->meta.mGroupId.toStdString()); + if (!getGroupKeys(RsGxsGroupId(id.toStdString()), keySet)) { std::cerr << "p3IdService::cache_store() ERROR getting GroupKeys for: "; std::cerr << item->meta.mGroupId; @@ -1378,7 +1378,7 @@ bool p3IdService::cache_start_load() std::cerr << "p3IdService::cache_start_load() GroupId: " << it->first; std::cerr << std::endl; #endif // DEBUG_IDS - groupIds.push_back(RsGxsGroupId(it->first)); // might need conversion? + groupIds.push_back(RsGxsGroupId(it->first.toStdString())); // might need conversion? } mPendingCache.insert(mCacheLoad_ToCache.begin(), mCacheLoad_ToCache.end()); @@ -1438,7 +1438,7 @@ bool p3IdService::cache_load_for_token(uint32_t token) { // remove identities that are present RsStackMutex stack(mIdMtx); - mPendingCache.erase(item->meta.mGroupId.toStdString()); + mPendingCache.erase(RsGxsId(item->meta.mGroupId.toStdString())); } /* cache the data */ @@ -1503,7 +1503,7 @@ void p3IdService::requestIdsFromNet() std::list::const_iterator gxs_id_it = cit2->second.begin(); std::list grpIds; for(; gxs_id_it != cit2->second.end(); gxs_id_it++) - grpIds.push_back(RsGxsGroupId(*gxs_id_it)); + grpIds.push_back(RsGxsGroupId(gxs_id_it->toStdString())); mNes->requestGrp(grpIds, cit2->first); } @@ -1607,7 +1607,7 @@ bool p3IdService::cache_load_ownids(uint32_t token) if (item->meta.mSubscribeFlags & GXS_SERV::GROUP_SUBSCRIBE_ADMIN) { - mOwnIds.push_back(item->meta.mGroupId.toStdString()); + mOwnIds.push_back(RsGxsId(item->meta.mGroupId.toStdString())); } delete item ; } @@ -1681,7 +1681,7 @@ bool p3IdService::cachetest_handlerequest(uint32_t token) std::list::const_iterator cit = grpIdsC.begin(); for(; cit != grpIdsC.end(); cit++) - grpIds.push_back(cit->toStdString()); + grpIds.push_back(RsGxsId(cit->toStdString())); if(ok) { @@ -1976,7 +1976,7 @@ RsGenExchange::ServiceCreate_Return p3IdService::service_CreateGroup(RsGxsGrpIte std::cerr << "p3IdService::service_CreateGroup() OwnFingerprint: " << ownFinger.toStdString(); std::cerr << std::endl; - calcPGPHash(item->group.mMeta.mGroupId.toStdString(), ownFinger, hash); + calcPGPHash(RsGxsId(item->group.mMeta.mGroupId.toStdString()), ownFinger, hash); item->group.mPgpIdHash = hash.toStdString(); #ifdef DEBUG_IDS @@ -2267,7 +2267,7 @@ bool p3IdService::pgphash_process() std::string serviceString = ssdata.save(); setGroupServiceString(dummyToken, pg.mMeta.mGroupId, serviceString); - cache_update_if_cached(pg.mMeta.mGroupId.toStdString(), serviceString); + cache_update_if_cached(RsGxsId(pg.mMeta.mGroupId.toStdString()), serviceString); // Schedule Next Processing. RsTickEvent::schedule_in(GXSID_EVENT_PGPHASH_PROC, PGPHASH_PROC_PERIOD); @@ -2312,7 +2312,7 @@ bool p3IdService::checkId(const RsGxsIdGroup &grp, PGPIdType &pgpId) for(mit = mPgpFingerprintMap.begin(); mit != mPgpFingerprintMap.end(); mit++) { GxsIdPgpHash hash; - calcPGPHash(grp.mMeta.mGroupId.toStdString(), mit->second, hash); + calcPGPHash(RsGxsId(grp.mMeta.mGroupId.toStdString()), mit->second, hash); if (ans == hash) { std::cerr << "p3IdService::checkId() HASH MATCH!"; @@ -2422,7 +2422,7 @@ void calcPGPHash(const RsGxsId &id, const PGPFingerprintType &pgp, GxsIdPgpHash SHA_CTX *sha_ctx = new SHA_CTX; SHA1_Init(sha_ctx); - SHA1_Update(sha_ctx, id.c_str(), id.length()); // TO FIX ONE DAY. + SHA1_Update(sha_ctx, id.toStdString().c_str(), id.toStdString().length()); // TO FIX ONE DAY. SHA1_Update(sha_ctx, pgp.toByteArray(), pgp.SIZE_IN_BYTES); SHA1_Final(signature, sha_ctx); hash = GxsIdPgpHash(signature); @@ -2634,7 +2634,7 @@ bool p3IdService::recogn_process() for(it = tagItems.begin(); it != tagItems.end(); it++) { bool isTagPending = false; - bool isTagOk = recogn_checktag(item->meta.mGroupId.toStdString(), item->meta.mGroupName, *it, true, isPending); + bool isTagOk = recogn_checktag(RsGxsId(item->meta.mGroupId.toStdString()), item->meta.mGroupName, *it, true, isPending); if (isTagOk) { tagValidFlags |= i; @@ -2665,7 +2665,7 @@ bool p3IdService::recogn_process() std::string serviceString = ssdata.save(); setGroupServiceString(dummyToken, item->meta.mGroupId, serviceString); - cache_update_if_cached(item->meta.mGroupId.toStdString(), serviceString); + cache_update_if_cached(RsGxsId(item->meta.mGroupId.toStdString()), serviceString); delete item; diff --git a/libretroshare/src/services/p3wiki.cc b/libretroshare/src/services/p3wiki.cc index e20dc4f17..9d4ebd67d 100644 --- a/libretroshare/src/services/p3wiki.cc +++ b/libretroshare/src/services/p3wiki.cc @@ -506,12 +506,12 @@ std::string chooseRandomAuthorId() int i = 0; for(it = ownIds.begin(); (it != ownIds.end()) && (i < idx); it++, i++) ; - std::string answer; + RsGxsId answer; if (it != ownIds.end()) { answer = *it; } - return answer; + return answer.toStdString(); } diff --git a/libretroshare/src/util/rsrecogn.cc b/libretroshare/src/util/rsrecogn.cc index 74ca4cae2..612ca777b 100644 --- a/libretroshare/src/util/rsrecogn.cc +++ b/libretroshare/src/util/rsrecogn.cc @@ -567,7 +567,7 @@ RsGxsRecognTagItem *RsRecogn::extractTag(const std::string &encoded) } -bool RsRecogn::createTagRequest(const RsTlvSecurityKey &key, const std::string &id, const std::string &nickname, uint16_t tag_class, uint16_t tag_type, const std::string &comment, std::string &tag) +bool RsRecogn::createTagRequest(const RsTlvSecurityKey &key, const RsGxsId &id, const std::string &nickname, uint16_t tag_class, uint16_t tag_type, const std::string &comment, std::string &tag) { RsGxsRecognReqItem *item = new RsGxsRecognReqItem(); diff --git a/libretroshare/src/util/rsrecogn.h b/libretroshare/src/util/rsrecogn.h index a8df7f25e..a7f4d0931 100644 --- a/libretroshare/src/util/rsrecogn.h +++ b/libretroshare/src/util/rsrecogn.h @@ -34,6 +34,7 @@ #include #include "serialiser/rsgxsrecognitems.h" +#include "retroshare/rsgxsifacetypes.h" namespace RsRecogn { @@ -52,7 +53,7 @@ std::string getRsaKeyId(RSA *pubkey); RsGxsRecognTagItem *extractTag(const std::string &encoded); bool createTagRequest(const RsTlvSecurityKey &key, - const std::string &id, const std::string &nickname, + const RsGxsId &id, const std::string &nickname, uint16_t tag_class, uint16_t tag_type, const std::string &comment, std::string &tag);