mirror of
https://github.com/RetroShare/RetroShare.git
synced 2024-12-15 02:44:20 -05:00
added extra constructor to allow distrib cache service item grpkey to be used with p3service.
- key sharing now enabled for channels and distrib service git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3024 b45a01b8-16f6-495d-af2f-9b41ad6348cc
This commit is contained in:
parent
c957fb7988
commit
39356c9918
@ -331,7 +331,7 @@ RsDistribGrp *RsDistribSerialiser::deserialiseGrp(void *data, uint32_t *pktsize)
|
||||
|
||||
|
||||
if ((RS_PKT_VERSION_SERVICE != getRsItemVersion(rstype)) ||
|
||||
(RS_SERVICE_TYPE_DISTRIB != getRsItemService(rstype)) ||
|
||||
(SERVICE_TYPE != getRsItemService(rstype)) ||
|
||||
(RS_PKT_SUBTYPE_DISTRIB_GRP != getRsItemSubType(rstype)))
|
||||
{
|
||||
#ifdef RSSERIAL_DEBUG
|
||||
@ -491,7 +491,7 @@ RsDistribGrpKey *RsDistribSerialiser::deserialiseGrpKey(void *data, uint32_t *pk
|
||||
|
||||
|
||||
if ((RS_PKT_VERSION_SERVICE != getRsItemVersion(rstype)) ||
|
||||
(RS_SERVICE_TYPE_DISTRIB != getRsItemService(rstype)) ||
|
||||
(SERVICE_TYPE != getRsItemService(rstype)) ||
|
||||
(RS_PKT_SUBTYPE_DISTRIB_GRP_KEY != getRsItemSubType(rstype)))
|
||||
{
|
||||
#ifdef RSSERIAL_DEBUG
|
||||
@ -633,7 +633,7 @@ RsDistribSignedMsg *RsDistribSerialiser::deserialiseSignedMsg(void *data, uint32
|
||||
|
||||
|
||||
if ((RS_PKT_VERSION_SERVICE != getRsItemVersion(rstype)) ||
|
||||
(RS_SERVICE_TYPE_DISTRIB != getRsItemService(rstype)) ||
|
||||
(SERVICE_TYPE != getRsItemService(rstype)) ||
|
||||
(RS_PKT_SUBTYPE_DISTRIB_SIGNED_MSG != getRsItemSubType(rstype)))
|
||||
{
|
||||
#ifdef RSSERIAL_DEBUG
|
||||
@ -755,7 +755,7 @@ RsItem *RsDistribSerialiser::deserialise(void *data, uint32_t *pktsize)
|
||||
uint32_t rstype = getRsItemId(data);
|
||||
|
||||
if ((RS_PKT_VERSION_SERVICE != getRsItemVersion(rstype)) ||
|
||||
(RS_SERVICE_TYPE_DISTRIB != getRsItemService(rstype)))
|
||||
(SERVICE_TYPE != getRsItemService(rstype)))
|
||||
{
|
||||
return NULL; /* wrong type */
|
||||
}
|
||||
|
@ -127,6 +127,10 @@ class RsDistribGrpKey: public RsItem
|
||||
{
|
||||
public:
|
||||
|
||||
RsDistribGrpKey(uint16_t service_type)
|
||||
:RsItem(RS_PKT_VERSION_SERVICE, service_type, RS_PKT_SUBTYPE_DISTRIB_GRP_KEY)
|
||||
{ return; }
|
||||
|
||||
RsDistribGrpKey()
|
||||
:RsItem(RS_PKT_VERSION_SERVICE, RS_SERVICE_TYPE_DISTRIB, RS_PKT_SUBTYPE_DISTRIB_GRP_KEY)
|
||||
{ return; }
|
||||
@ -144,9 +148,12 @@ virtual std::ostream& print(std::ostream &out, uint16_t indent = 0);
|
||||
class RsDistribSerialiser: public RsSerialType
|
||||
{
|
||||
public:
|
||||
RsDistribSerialiser()
|
||||
:RsSerialType(RS_PKT_VERSION_SERVICE, RS_SERVICE_TYPE_DISTRIB)
|
||||
|
||||
// optional to allow use in p3service/sockets
|
||||
RsDistribSerialiser(uint16_t service_type = RS_SERVICE_TYPE_DISTRIB)
|
||||
: RsSerialType(RS_PKT_VERSION_SERVICE, service_type), SERVICE_TYPE(service_type)
|
||||
{ return; }
|
||||
|
||||
virtual ~RsDistribSerialiser()
|
||||
{ return; }
|
||||
|
||||
@ -171,6 +178,8 @@ virtual uint32_t sizeSignedMsg(RsDistribSignedMsg *);
|
||||
virtual bool serialiseSignedMsg (RsDistribSignedMsg *item, void *data, uint32_t *size);
|
||||
virtual RsDistribSignedMsg *deserialiseSignedMsg(void *data, uint32_t *size);
|
||||
|
||||
const uint16_t SERVICE_TYPE;
|
||||
|
||||
};
|
||||
|
||||
/**************************************************************************/
|
||||
|
@ -72,7 +72,7 @@ p3GroupDistrib::p3GroupDistrib(uint16_t subtype,
|
||||
|
||||
mOwnId = AuthSSL::getAuthSSL()->OwnId();
|
||||
|
||||
addSerialType(new RsDistribSerialiser());
|
||||
addSerialType(new RsDistribSerialiser(getRsItemService(getType())));
|
||||
return;
|
||||
}
|
||||
|
||||
@ -1883,7 +1883,7 @@ void p3GroupDistrib::locked_sharePubKey(){
|
||||
if(std::find(peersOnline.begin(), peersOnline.end(), *lit) != peersOnline.end()){
|
||||
|
||||
/* create Key for sharing */
|
||||
RsDistribGrpKey* pubKey = new RsDistribGrpKey();
|
||||
RsDistribGrpKey* pubKey = new RsDistribGrpKey(getRsItemService(getType()));
|
||||
|
||||
|
||||
pubKey->clear();
|
||||
@ -1935,13 +1935,13 @@ void p3GroupDistrib::locked_receivePubKeys(){
|
||||
if(key_item != NULL){
|
||||
|
||||
|
||||
#ifdef STATUS_DEBUG
|
||||
#ifdef DISTRIB_DEBUG
|
||||
std::cerr << "p3GroupDistrib::locked_receiveKeys()" << std::endl;
|
||||
std::cerr << "PeerId : " << key_item->PeerId() << std::endl;
|
||||
std::cerr << "GrpId: " << key_item->grpId << std::endl;
|
||||
std::cerr << "Got key Item" << std::endl;
|
||||
#endif
|
||||
if(key_item->key.keyFlags == RSTLV_KEY_TYPE_FULL){
|
||||
if(key_item->key.keyFlags & RSTLV_KEY_TYPE_FULL){
|
||||
mRecvdPubKeys[key_item->grpId] = key_item;
|
||||
}
|
||||
else{
|
||||
@ -1984,8 +1984,6 @@ void p3GroupDistrib::locked_loadRecvdPubKeys(){
|
||||
|
||||
if(locked_updateGroupPublishKey(*gi, mit->second)){
|
||||
toDelete.push_back(mit->first);
|
||||
gi->flags |= RS_DISTRIB_SUBSCRIBED;
|
||||
locked_notifyGroupChanged(*gi, GRP_SUBSCRIBED);
|
||||
ok |= true;
|
||||
}
|
||||
else
|
||||
@ -2841,7 +2839,7 @@ bool p3GroupDistrib::locked_validateDistribSignedMsg(
|
||||
|
||||
|
||||
/* now verify Personal signature */
|
||||
if (signOk == 1 && ((info.grpFlags & RS_DISTRIB_AUTHEN_MASK) & RS_DISTRIB_AUTHEN_REQ))
|
||||
if ((signOk == 1) && ((info.grpFlags & RS_DISTRIB_AUTHEN_MASK) & RS_DISTRIB_AUTHEN_REQ))
|
||||
{
|
||||
#ifdef DISTRIB_DEBUG
|
||||
std::cerr << "p3GroupDistrib::locked_validateDistribSignedMsg() Personal Signature. sslCert : " << newMsg->personalSignature.sslCert << std::endl;
|
||||
|
Loading…
Reference in New Issue
Block a user