mirror of
https://github.com/RetroShare/RetroShare.git
synced 2025-01-14 08:59:50 -05:00
commit
56b93def00
@ -49,6 +49,9 @@ define_default_value XAPIAN_SOURCE_SHA256 13f08a0b649c7afa804fa0e85678d693fd6069
|
|||||||
define_default_value RAPIDJSON_SOURCE_VERSION "1.1.0"
|
define_default_value RAPIDJSON_SOURCE_VERSION "1.1.0"
|
||||||
define_default_value RAPIDJSON_SOURCE_SHA256 bf7ced29704a1e696fbccf2a2b4ea068e7774fa37f6d7dd4039d0787f8bed98e
|
define_default_value RAPIDJSON_SOURCE_SHA256 bf7ced29704a1e696fbccf2a2b4ea068e7774fa37f6d7dd4039d0787f8bed98e
|
||||||
|
|
||||||
|
define_default_value MINIUPNPC_SOURCE_VERSION "2.1.20190625"
|
||||||
|
define_default_value MINIUPNPC_SOURCE_SHA256 8723f5d7fd7970de23635547700878cd29a5c2bb708b5e5475b2d1d2510317fb
|
||||||
|
|
||||||
|
|
||||||
## $1 filename, $2 sha256 hash
|
## $1 filename, $2 sha256 hash
|
||||||
function check_sha256()
|
function check_sha256()
|
||||||
@ -482,6 +485,33 @@ build_xapian()
|
|||||||
make install
|
make install
|
||||||
}
|
}
|
||||||
|
|
||||||
|
build_miniupnpc()
|
||||||
|
{
|
||||||
|
echo "build_miniupnpc()
|
||||||
|
################################################################################
|
||||||
|
################################################################################
|
||||||
|
################################################################################
|
||||||
|
"
|
||||||
|
S_dir="miniupnpc-${MINIUPNPC_SOURCE_VERSION}"
|
||||||
|
B_dir="miniupnpc-${MINIUPNPC_SOURCE_VERSION}-build"
|
||||||
|
D_file="$S_dir.tar.gz"
|
||||||
|
verified_download $D_file $MINIUPNPC_SOURCE_SHA256 \
|
||||||
|
http://miniupnp.free.fr/files/${D_file}
|
||||||
|
rm -rf $S_dir $B_dir
|
||||||
|
tar -xf $D_file
|
||||||
|
mkdir $B_dir
|
||||||
|
cd $B_dir
|
||||||
|
cmake \
|
||||||
|
-DUPNPC_BUILD_STATIC=TRUE \
|
||||||
|
-DUPNPC_BUILD_SHARED=FALSE \
|
||||||
|
-DUPNPC_BUILD_TESTS=FALSE \
|
||||||
|
-DUPNPC_BUILD_SAMPLE=FALSE \
|
||||||
|
-DCMAKE_POSITION_INDEPENDENT_CODE=ON \
|
||||||
|
-DCMAKE_INSTALL_PREFIX="${PREFIX}" -B. -S../$S_dir
|
||||||
|
make -j${HOST_NUM_CPU}
|
||||||
|
make install
|
||||||
|
}
|
||||||
|
|
||||||
build_toolchain
|
build_toolchain
|
||||||
[ "${INSTALL_QT_ANDROID}X" != "trueX" ] || install_qt_android
|
[ "${INSTALL_QT_ANDROID}X" != "trueX" ] || install_qt_android
|
||||||
build_bzlib
|
build_bzlib
|
||||||
@ -493,6 +523,7 @@ build_rapidjson
|
|||||||
build_restbed
|
build_restbed
|
||||||
build_udp-discovery-cpp
|
build_udp-discovery-cpp
|
||||||
build_xapian
|
build_xapian
|
||||||
|
build_miniupnpc
|
||||||
delete_copied_includes
|
delete_copied_includes
|
||||||
|
|
||||||
echo NATIVE_LIBS_TOOLCHAIN_PATH=${NATIVE_LIBS_TOOLCHAIN_PATH}
|
echo NATIVE_LIBS_TOOLCHAIN_PATH=${NATIVE_LIBS_TOOLCHAIN_PATH}
|
||||||
|
@ -648,7 +648,7 @@ SOURCES += util/folderiterator.cc \
|
|||||||
|
|
||||||
equals(RS_UPNP_LIB, miniupnpc) {
|
equals(RS_UPNP_LIB, miniupnpc) {
|
||||||
HEADERS += rs_upnp/upnputil.h rs_upnp/upnphandler_miniupnp.h
|
HEADERS += rs_upnp/upnputil.h rs_upnp/upnphandler_miniupnp.h
|
||||||
SOURCES += rs_upnp/upnputil.c rs_upnp/upnphandler_miniupnp.cc
|
SOURCES += rs_upnp/upnputil.cc rs_upnp/upnphandler_miniupnp.cc
|
||||||
}
|
}
|
||||||
|
|
||||||
contains(RS_UPNP_LIB, upnp) {
|
contains(RS_UPNP_LIB, upnp) {
|
||||||
|
@ -41,11 +41,12 @@ class RsBroadcastDiscovery;
|
|||||||
* TODO: this should become std::weak_ptr once we have a reasonable services
|
* TODO: this should become std::weak_ptr once we have a reasonable services
|
||||||
* management.
|
* management.
|
||||||
*/
|
*/
|
||||||
extern std::shared_ptr<RsBroadcastDiscovery> rsBroadcastDiscovery;
|
extern RsBroadcastDiscovery* rsBroadcastDiscovery;
|
||||||
|
|
||||||
|
|
||||||
struct RsBroadcastDiscoveryResult : RsSerializable
|
struct RsBroadcastDiscoveryResult : RsSerializable
|
||||||
{
|
{
|
||||||
|
RsPgpFingerprint mPgpFingerprint;
|
||||||
RsPeerId mSslId;
|
RsPeerId mSslId;
|
||||||
std::string mProfileName;
|
std::string mProfileName;
|
||||||
RsUrl mLocator;
|
RsUrl mLocator;
|
||||||
@ -54,6 +55,7 @@ struct RsBroadcastDiscoveryResult : RsSerializable
|
|||||||
void serial_process( RsGenericSerializer::SerializeJob j,
|
void serial_process( RsGenericSerializer::SerializeJob j,
|
||||||
RsGenericSerializer::SerializeContext& ctx) override
|
RsGenericSerializer::SerializeContext& ctx) override
|
||||||
{
|
{
|
||||||
|
RS_SERIAL_PROCESS(mPgpFingerprint);
|
||||||
RS_SERIAL_PROCESS(mSslId);
|
RS_SERIAL_PROCESS(mSslId);
|
||||||
RS_SERIAL_PROCESS(mProfileName);
|
RS_SERIAL_PROCESS(mProfileName);
|
||||||
RS_SERIAL_PROCESS(mLocator);
|
RS_SERIAL_PROCESS(mLocator);
|
||||||
|
@ -1429,9 +1429,9 @@ int RsServer::StartupRetroShare()
|
|||||||
mStatusSrv = new p3StatusService(serviceCtrl);
|
mStatusSrv = new p3StatusService(serviceCtrl);
|
||||||
|
|
||||||
#ifdef RS_BROADCAST_DISCOVERY
|
#ifdef RS_BROADCAST_DISCOVERY
|
||||||
rsBroadcastDiscovery.reset(new BroadcastDiscoveryService(*rsPeers));
|
BroadcastDiscoveryService* broadcastDiscoveryService =
|
||||||
BroadcastDiscoveryService& tBroadcastDiscoveryService =
|
new BroadcastDiscoveryService(*rsPeers);
|
||||||
static_cast<BroadcastDiscoveryService&>(*rsBroadcastDiscovery);
|
rsBroadcastDiscovery = broadcastDiscoveryService;
|
||||||
#endif // def RS_BROADCAST_DISCOVERY
|
#endif // def RS_BROADCAST_DISCOVERY
|
||||||
|
|
||||||
#ifdef ENABLE_GROUTER
|
#ifdef ENABLE_GROUTER
|
||||||
@ -1828,7 +1828,7 @@ int RsServer::StartupRetroShare()
|
|||||||
#endif // RS_ENABLE_GXS
|
#endif // RS_ENABLE_GXS
|
||||||
|
|
||||||
#ifdef RS_BROADCAST_DISCOVERY
|
#ifdef RS_BROADCAST_DISCOVERY
|
||||||
startServiceThread(&tBroadcastDiscoveryService, "Broadcast Discovery");
|
startServiceThread(broadcastDiscoveryService, "Broadcast Discovery");
|
||||||
#endif // def RS_BROADCAST_DISCOVERY
|
#endif // def RS_BROADCAST_DISCOVERY
|
||||||
|
|
||||||
ftserver->StartupThreads();
|
ftserver->StartupThreads();
|
||||||
|
@ -31,15 +31,13 @@
|
|||||||
#include "serialiser/rsserializer.h"
|
#include "serialiser/rsserializer.h"
|
||||||
#include "retroshare/rsevents.h"
|
#include "retroshare/rsevents.h"
|
||||||
|
|
||||||
/*extern*/ std::shared_ptr<RsBroadcastDiscovery> rsBroadcastDiscovery(nullptr);
|
/*extern*/ RsBroadcastDiscovery* rsBroadcastDiscovery = nullptr;
|
||||||
RsBroadcastDiscovery::~RsBroadcastDiscovery() { /* Beware of Rs prefix! */ }
|
|
||||||
RsBroadcastDiscoveryResult::~RsBroadcastDiscoveryResult() {}
|
|
||||||
RsBroadcastDiscoveryPeerFoundEvent::~RsBroadcastDiscoveryPeerFoundEvent() {}
|
|
||||||
|
|
||||||
struct BroadcastDiscoveryPack : RsSerializable
|
struct BroadcastDiscoveryPack : RsSerializable
|
||||||
{
|
{
|
||||||
BroadcastDiscoveryPack() : mLocalPort(0) {}
|
BroadcastDiscoveryPack() : mLocalPort(0) {}
|
||||||
|
|
||||||
|
RsPgpFingerprint mPgpFingerprint;
|
||||||
RsPeerId mSslId;
|
RsPeerId mSslId;
|
||||||
uint16_t mLocalPort;
|
uint16_t mLocalPort;
|
||||||
std::string mProfileName;
|
std::string mProfileName;
|
||||||
@ -47,6 +45,7 @@ struct BroadcastDiscoveryPack : RsSerializable
|
|||||||
void serial_process( RsGenericSerializer::SerializeJob j,
|
void serial_process( RsGenericSerializer::SerializeJob j,
|
||||||
RsGenericSerializer::SerializeContext& ctx ) override
|
RsGenericSerializer::SerializeContext& ctx ) override
|
||||||
{
|
{
|
||||||
|
RS_SERIAL_PROCESS(mPgpFingerprint);
|
||||||
RS_SERIAL_PROCESS(mSslId);
|
RS_SERIAL_PROCESS(mSslId);
|
||||||
RS_SERIAL_PROCESS(mLocalPort);
|
RS_SERIAL_PROCESS(mLocalPort);
|
||||||
RS_SERIAL_PROCESS(mProfileName);
|
RS_SERIAL_PROCESS(mProfileName);
|
||||||
@ -55,6 +54,7 @@ struct BroadcastDiscoveryPack : RsSerializable
|
|||||||
static BroadcastDiscoveryPack fromPeerDetails(const RsPeerDetails& pd)
|
static BroadcastDiscoveryPack fromPeerDetails(const RsPeerDetails& pd)
|
||||||
{
|
{
|
||||||
BroadcastDiscoveryPack bdp;
|
BroadcastDiscoveryPack bdp;
|
||||||
|
bdp.mPgpFingerprint = pd.fpr;
|
||||||
bdp.mSslId = pd.id;
|
bdp.mSslId = pd.id;
|
||||||
bdp.mLocalPort = pd.localPort;
|
bdp.mLocalPort = pd.localPort;
|
||||||
bdp.mProfileName = pd.name;
|
bdp.mProfileName = pd.name;
|
||||||
@ -86,7 +86,6 @@ struct BroadcastDiscoveryPack : RsSerializable
|
|||||||
~BroadcastDiscoveryPack() override;
|
~BroadcastDiscoveryPack() override;
|
||||||
};
|
};
|
||||||
|
|
||||||
BroadcastDiscoveryPack::~BroadcastDiscoveryPack() {};
|
|
||||||
|
|
||||||
BroadcastDiscoveryService::BroadcastDiscoveryService(
|
BroadcastDiscoveryService::BroadcastDiscoveryService(
|
||||||
RsPeers& pRsPeers ) :
|
RsPeers& pRsPeers ) :
|
||||||
@ -202,3 +201,8 @@ RsBroadcastDiscoveryResult BroadcastDiscoveryService::createResult(
|
|||||||
|
|
||||||
return rbdr;
|
return rbdr;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
RsBroadcastDiscovery::~RsBroadcastDiscovery() = default;
|
||||||
|
RsBroadcastDiscoveryResult::~RsBroadcastDiscoveryResult() = default;
|
||||||
|
RsBroadcastDiscoveryPeerFoundEvent::~RsBroadcastDiscoveryPeerFoundEvent() = default;
|
||||||
|
BroadcastDiscoveryPack::~BroadcastDiscoveryPack() = default;
|
||||||
|
@ -2061,29 +2061,41 @@ void p3GxsCircles::handle_event(uint32_t event_type, const std::string &elabel)
|
|||||||
// | | Grp Subscribed: NO | Grp Subscribed: NO |
|
// | | Grp Subscribed: NO | Grp Subscribed: NO |
|
||||||
// +-------------+------------------------------+-----------------------------+
|
// +-------------+------------------------------+-----------------------------+
|
||||||
|
|
||||||
bool p3GxsCircles::pushCircleMembershipRequest(const RsGxsId& own_gxsid,const RsGxsCircleId& circle_id,uint32_t request_type)
|
bool p3GxsCircles::pushCircleMembershipRequest(
|
||||||
|
const RsGxsId& own_gxsid, const RsGxsCircleId& circle_id,
|
||||||
|
uint32_t request_type )
|
||||||
{
|
{
|
||||||
#ifdef DEBUG_CIRCLES
|
Dbg3() << __PRETTY_FUNCTION__ << "own_gxsid = " << own_gxsid
|
||||||
std::cerr << "Circle membership request: own_gxsid = " << own_gxsid << ", circle=" << circle_id << ", req type=" << request_type << std::endl;
|
<< ", circle=" << circle_id << ", req type=" << request_type
|
||||||
#endif
|
<< std::endl;
|
||||||
|
|
||||||
// check for some consistency
|
|
||||||
|
|
||||||
if(request_type != RsGxsCircleSubscriptionRequestItem::SUBSCRIPTION_REQUEST_SUBSCRIBE && request_type != RsGxsCircleSubscriptionRequestItem::SUBSCRIPTION_REQUEST_UNSUBSCRIBE)
|
|
||||||
return false ;
|
|
||||||
|
|
||||||
std::list<RsGxsId> own_ids ;
|
|
||||||
if(!rsIdentity->getOwnIds(own_ids))
|
|
||||||
return false ;
|
|
||||||
|
|
||||||
bool found = false ;
|
|
||||||
for(std::list<RsGxsId>::const_iterator it(own_ids.begin());it!=own_ids.end() && !found;++it)
|
|
||||||
found = ( (*it) == own_gxsid) ;
|
|
||||||
|
|
||||||
if(!found)
|
if( request_type !=
|
||||||
return false ;
|
RsGxsCircleSubscriptionRequestItem::SUBSCRIPTION_REQUEST_SUBSCRIBE &&
|
||||||
|
request_type !=
|
||||||
// Create a subscribe item
|
RsGxsCircleSubscriptionRequestItem::SUBSCRIPTION_REQUEST_UNSUBSCRIBE )
|
||||||
|
{
|
||||||
|
RsErr() << __PRETTY_FUNCTION__ << " Unknown request type: "
|
||||||
|
<< request_type << std::endl;
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
if(!rsIdentity->isOwnId(own_gxsid))
|
||||||
|
{
|
||||||
|
RsErr() << __PRETTY_FUNCTION__ << " Cannot generate membership request "
|
||||||
|
<< "from not-own id: " << own_gxsid << std::endl;
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
if(!getCirclesInfo(
|
||||||
|
std::list<RsGxsGroupId>{static_cast<RsGxsGroupId>(circle_id)},
|
||||||
|
RS_DEFAULT_STORAGE_PARAM(std::vector<RsGxsCircleGroup>) ))
|
||||||
|
{
|
||||||
|
RsErr() << __PRETTY_FUNCTION__ << " Cannot generate membership request "
|
||||||
|
<< "from unknown circle: " << circle_id << std::endl;
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Create a subscribe item
|
||||||
|
|
||||||
RsGxsCircleSubscriptionRequestItem *s = new RsGxsCircleSubscriptionRequestItem ;
|
RsGxsCircleSubscriptionRequestItem *s = new RsGxsCircleSubscriptionRequestItem ;
|
||||||
|
|
||||||
|
@ -26,12 +26,11 @@
|
|||||||
#include "retroshare/rsgxscircles.h" // External Interfaces.
|
#include "retroshare/rsgxscircles.h" // External Interfaces.
|
||||||
#include "gxs/rsgenexchange.h" // GXS service.
|
#include "gxs/rsgenexchange.h" // GXS service.
|
||||||
#include "gxs/rsgixs.h" // Internal Interfaces.
|
#include "gxs/rsgixs.h" // Internal Interfaces.
|
||||||
|
|
||||||
#include "services/p3idservice.h" // For constructing Caches
|
#include "services/p3idservice.h" // For constructing Caches
|
||||||
|
|
||||||
#include "gxs/gxstokenqueue.h"
|
#include "gxs/gxstokenqueue.h"
|
||||||
#include "util/rstickevent.h"
|
#include "util/rstickevent.h"
|
||||||
#include "util/rsmemcache.h"
|
#include "util/rsmemcache.h"
|
||||||
|
#include "util/rsdebug.h"
|
||||||
|
|
||||||
#include <map>
|
#include <map>
|
||||||
#include <string>
|
#include <string>
|
||||||
@ -321,4 +320,6 @@ virtual RsServiceInfo getServiceInfo();
|
|||||||
uint32_t mDummyIdToken;
|
uint32_t mDummyIdToken;
|
||||||
std::list<RsGxsId> mDummyPgpLinkedIds;
|
std::list<RsGxsId> mDummyPgpLinkedIds;
|
||||||
std::list<RsGxsId> mDummyOwnIds;
|
std::list<RsGxsId> mDummyOwnIds;
|
||||||
|
|
||||||
|
RS_SET_CONTEXT_DEBUG_LEVEL(2)
|
||||||
};
|
};
|
||||||
|
Loading…
Reference in New Issue
Block a user