mirror of
https://github.com/RetroShare/RetroShare.git
synced 2024-10-01 02:35:48 -04:00
Merge branch 'master' into extra_locators
This commit is contained in:
commit
518df99243
@ -1,4 +1,99 @@
|
|||||||
retroshare (0.6.3-1.XXXXXX~YYYYYY) YYYYYY; urgency=low
|
retroshare (ZZZZZZ-1.XXXXXX~YYYYYY) YYYYYY; urgency=low
|
||||||
|
|
||||||
|
3d7be85 csoler Thu, 1 Mar 2018 11:46:47 +0100 Merge pull request #1199 from csoler/v0.6-SecurityFixes
|
||||||
|
026951f csoler Thu, 1 Mar 2018 11:45:54 +0100 added consistency check in getGroupMeta so that ADMIN/PUBLISH flags always correspond to what the key set reflects
|
||||||
|
028a246 csoler Thu, 1 Mar 2018 09:44:59 +0100 Merge pull request #1197 from csoler/v0.6-SecurityFixes
|
||||||
|
ac64d2a csoler Thu, 1 Mar 2018 09:42:47 +0100 Merge pull request #1195 from PhenomRetroShare/Fix_NoTrIconInChatWidget
|
||||||
|
0651f4a csoler Thu, 1 Mar 2018 09:42:06 +0100 Merge pull request #1198 from G10h4ck/master
|
||||||
|
0c8b3ed Gioacc Wed, 28 Feb 2018 23:32:13 +0100 Set default Mac OS X version only if macx
|
||||||
|
5d58943 csoler Wed, 28 Feb 2018 23:18:50 +0100 forced notification of type RECEIVE when creating a new group so that the GxsIFaceHelper updates the group list
|
||||||
|
29ab0e9 csoler Wed, 28 Feb 2018 22:40:04 +0100 fixed bug that would erase private publish key when a group update is received
|
||||||
|
165b241 csoler Tue, 27 Feb 2018 23:19:27 +0100 made add of publish key a meta group change, to force reload the list of groups
|
||||||
|
3bc5b45 csoler Tue, 27 Feb 2018 22:42:48 +0100 added a FeedItem to warn when publish permissions are received for a channel
|
||||||
|
aad9397 csoler Mon, 26 Feb 2018 23:37:19 +0100 fixed memory leak in p3GxsTunnel
|
||||||
|
23c389c Phenom Mon, 26 Feb 2018 23:29:06 +0100 Remove non translatable text ChatWidget.ui
|
||||||
|
dd9f67a csoler Sun, 25 Feb 2018 17:52:49 +0100 fixed version number problem
|
||||||
|
3e700ab csoler Sun, 25 Feb 2018 16:12:46 +0100 Merge pull request #1194 from G10h4ck/fixAndroidCompilation
|
||||||
|
9f0421c csoler Sun, 25 Feb 2018 14:39:29 +0100 attempt to fix large size in ConnectFriendDialog.ui
|
||||||
|
f9896a0 csoler Sun, 25 Feb 2018 11:46:18 +0100 updated ppa_upload.sh to 0.6.4
|
||||||
|
5c029c5 csoler Sun, 25 Feb 2018 11:43:30 +0100 fixed typo in changelog
|
||||||
|
31ab87c csoler Fri, 23 Feb 2018 14:06:49 +0100 added rs plugins into rules for ubuntu packaging
|
||||||
|
681f543 csoler Sat, 24 Feb 2018 22:04:26 +0100 Merge pull request #1183 from csoler/v0.6.4
|
||||||
|
05613a2 csoler Sat, 24 Feb 2018 21:58:58 +0100 Merge pull request #1193 from csoler/v0.6-SecurityFixes
|
||||||
|
39e70ed csoler Sat, 24 Feb 2018 21:51:18 +0100 ignore unknown ptags in certificates instead of causing an error, for future backward compatibility
|
||||||
|
062e00d csoler Sat, 24 Feb 2018 18:05:26 +0100 Merge pull request #1189 from csoler/v0.6-SecurityFixes
|
||||||
|
13441ff csoler Fri, 23 Feb 2018 15:13:13 +0100 removed debug info in rsgenexchange.cc
|
||||||
|
49b321d csoler Fri, 23 Feb 2018 14:39:08 +0100 fixed the text in invitation system
|
||||||
|
d8e950c csoler Fri, 23 Feb 2018 14:28:22 +0100 removed debug output from rsdataservice
|
||||||
|
5a4d0f5 csoler Fri, 23 Feb 2018 14:26:23 +0100 made the invite system non automatic, because it was confusing and could generate unwanted emails
|
||||||
|
fa84d1c csoler Fri, 23 Feb 2018 14:01:43 +0100 Merge pull request #1185 from G10h4ck/disablePluginByDefault
|
||||||
|
ff7633f csoler Fri, 23 Feb 2018 14:00:39 +0100 Merge pull request #1184 from G10h4ck/linkLocalFallback
|
||||||
|
8d5cd8a Gioacc Thu, 22 Feb 2018 15:38:20 +0100 Increase size of list of ip shared via discovery2
|
||||||
|
9dd1aef Gioacc Fri, 23 Feb 2018 01:05:35 +0100 Discovery do not distribute addresses to hidden nodes
|
||||||
|
e7facc1 Gioacc Fri, 23 Feb 2018 01:05:04 +0100 Prevent discovery to share local addresses if hidden
|
||||||
|
4fa6bdc Gioacc Wed, 21 Feb 2018 17:38:31 +0100 Improve discovery
|
||||||
|
385f44b csoler Thu, 22 Feb 2018 23:03:48 +0100 Merge pull request #1188 from PhenomRetroShare/Fix_SharedFileDialogShowColumn
|
||||||
|
c141eae Phenom Thu, 22 Feb 2018 18:54:14 +0100 Fix SharedFilesDialog show old hidden column.
|
||||||
|
2044a2c Gioacc Wed, 21 Feb 2018 04:24:12 +0100 Use retrocompatible iterators
|
||||||
|
4dfeab2 csoler Tue, 20 Feb 2018 23:30:52 +0100 Merge pull request #1187 from csoler/master
|
||||||
|
73d11e1 Phenom Thu, 15 Feb 2018 19:04:55 +0100 Fix Gcc Warning in nxsmsgsync_test.cc
|
||||||
|
737a2b4 Phenom Thu, 15 Feb 2018 18:57:16 +0100 Fix Gcc Warning in nxstesthub.cc
|
||||||
|
cfcdec4 Phenom Thu, 15 Feb 2018 18:44:03 +0100 Fix Gcc Warning in support.h
|
||||||
|
aadb9ac Phenom Fri, 8 Dec 2017 19:47:00 +0100 Fix Gcc Warning in NetworkDialog.cpp
|
||||||
|
e3d8d86 csoler Tue, 20 Feb 2018 23:03:33 +0100 updated translation files
|
||||||
|
4d7997b csoler Tue, 20 Feb 2018 21:08:09 +0100 Merge pull request #1186 from csoler/v0.6-FT
|
||||||
|
a1b378e csoler Tue, 20 Feb 2018 21:07:02 +0100 fixed ghost rows in TransfersDialog
|
||||||
|
c897962 csoler Tue, 20 Feb 2018 20:26:33 +0100 merged
|
||||||
|
11d607e csoler Tue, 20 Feb 2018 20:19:10 +0100 Merge pull request #1179 from PhenomRetroShare/Add_ChangeAddIconForChannelForum
|
||||||
|
35b54bb csoler Tue, 20 Feb 2018 20:18:31 +0100 Merge pull request #1180 from PhenomRetroShare/Add_ClearGxsGroupFrameWhenNoSelection
|
||||||
|
fec2b2e csoler Tue, 20 Feb 2018 19:20:02 +0100 Merge pull request #1182 from PhenomRetroShare/Add_SplitFileNbSize
|
||||||
|
b2217fc Gioacc Tue, 20 Feb 2018 15:56:16 +0100 Build plugin only if requested
|
||||||
|
0c99975 Gioacc Mon, 19 Feb 2018 23:23:15 +0100 Use link local address only if necessary
|
||||||
|
5667763 csoler Mon, 19 Feb 2018 21:49:06 +0100 switched version to 0.6.4
|
||||||
|
798ad15 Phenom Mon, 19 Feb 2018 20:13:38 +0100 Split Number of Files and Size in RemoteDirModel.
|
||||||
|
afc43d0 G10h4c Mon, 19 Feb 2018 15:33:28 +0100 Merge pull request #1181 from Kcchouette/patch-1
|
||||||
|
8492a40 Kcchou Mon, 19 Feb 2018 15:17:59 +0100 Update markdown to be visible on github
|
||||||
|
71e1a46 Phenom Sun, 18 Feb 2018 23:12:59 +0100 Clear GxsGroupFrame When No Selection
|
||||||
|
8710761 Phenom Sun, 18 Feb 2018 19:15:01 +0100 Change Add Channel/Forum post by Add.png
|
||||||
|
51f5d19 csoler Sun, 18 Feb 2018 18:00:24 +0100 merged uptream/master
|
||||||
|
2bc0629 csoler Sun, 18 Feb 2018 17:59:00 +0100 Merge pull request #1178 from PhenomRetroShare/Fix_BugsInRsCollectionDialog
|
||||||
|
2511934 csoler Sun, 18 Feb 2018 17:58:06 +0100 Merge pull request #1177 from csoler/v0.6-FT
|
||||||
|
7a84492 csoler Sun, 18 Feb 2018 17:57:42 +0100 Merge pull request #1176 from csoler/v0.6-SecurityFixes
|
||||||
|
7cda064 csoler Sun, 18 Feb 2018 17:56:51 +0100 merged uptream/master
|
||||||
|
931fdd0 Phenom Sun, 18 Feb 2018 17:30:01 +0100 Fix bug in processSettings in RsCollectionDialog.cpp
|
||||||
|
d87061d Phenom Sun, 18 Feb 2018 09:18:44 +0100 Fix bug when adding new items when hashing in RsCollectionDialog
|
||||||
|
6d0945f Phenom Sun, 18 Feb 2018 08:53:31 +0100 Fix bug when removing root item in RsCollectionDialog
|
||||||
|
6fe1413 csoler Sat, 17 Feb 2018 23:37:25 +0100 added limiter in number of responses forwarded back by turtle search, which should avoid bursts of bandwidth for popular requests
|
||||||
|
8708dd9 csoler Sat, 17 Feb 2018 12:04:13 +0100 fixed bug due to wrong service ID in serializer
|
||||||
|
d57f933 csoler Fri, 16 Feb 2018 23:51:43 +0100 added load/save of known channels to avoid re-displaying it in the NewsFeed after then have been deleted.
|
||||||
|
252626f csoler Fri, 16 Feb 2018 23:24:01 +0100 added load/save of known forums to avoid re-displaying it in the NewsFeed after then have been deleted.
|
||||||
|
63ddccd csoler Fri, 16 Feb 2018 13:22:19 +0100 Merge pull request #1175 from PhenomRetroShare/Fix_NewChatInvite
|
||||||
|
83b6205 Phenom Fri, 16 Feb 2018 10:22:59 +0100 Fix New Chat Invite
|
||||||
|
5e34467 csoler Thu, 15 Feb 2018 00:06:13 +0100 Merge pull request #1174 from csoler/v0.6-SecurityFixes
|
||||||
|
47f9a49 csoler Thu, 15 Feb 2018 00:02:08 +0100 improved cost of reseting search in SharedFileDialog by saving hidden indexes list
|
||||||
|
9c60ff7 csoler Wed, 14 Feb 2018 22:10:11 +0100 Merge pull request #1172 from csoler/v0.6-SecurityFixes
|
||||||
|
72124bb csoler Wed, 14 Feb 2018 22:08:07 +0100 hide advanced mode option since it is not used anywhere in the software
|
||||||
|
ede51ab csoler Wed, 14 Feb 2018 22:02:20 +0100 Merge pull request #1171 from csoler/v0.6-SecurityFixes
|
||||||
|
cf33221 csoler Wed, 14 Feb 2018 22:00:46 +0100 removed dead code in previous commit
|
||||||
|
ddb2c45 csoler Wed, 14 Feb 2018 21:56:12 +0100 disable and hide signature checkbox when key is already signed in ConnectWizard
|
||||||
|
42b8ecc csoler Wed, 14 Feb 2018 21:48:56 +0100 prevent RS from making friends with your own location
|
||||||
|
558bb9f csoler Mon, 12 Feb 2018 23:17:29 +0100 fixed retro-tor build on master branch
|
||||||
|
3f9c72e csoler Mon, 12 Feb 2018 22:42:22 +0100 Merge pull request #1170 from csoler/v0.6-FT
|
||||||
|
d8b193c csoler Mon, 12 Feb 2018 22:40:15 +0100 fixed merge with master
|
||||||
|
01cc232 csoler Mon, 12 Feb 2018 22:39:11 +0100 fixed appearing false line in Transfers
|
||||||
|
8afa127 csoler Mon, 12 Feb 2018 20:30:01 +0100 fixed crash in RsCollection creation
|
||||||
|
0491e43 csoler Sun, 11 Feb 2018 21:28:43 +0100 Merge pull request #1169 from csoler/v0.6-FT
|
||||||
|
7a2d874 csoler Sun, 11 Feb 2018 20:49:45 +0100 Merge pull request #1153 from csoler/v0.6-TorOnly
|
||||||
|
a2eb145 csoler Sun, 11 Feb 2018 20:40:38 +0100 fixed option in .pri for retrotor configuration
|
||||||
|
5f106c4 csoler Sat, 10 Feb 2018 15:42:24 +0100 fixed compilation on ubuntu precise
|
||||||
|
4beadfe csoler Sat, 10 Feb 2018 14:28:15 +0100 updated changelog
|
||||||
|
fc3beca csoler Fri, 9 Feb 2018 23:02:27 +0100 fixed performance issue (patch from sss)
|
||||||
|
faf4517 csoler Thu, 8 Feb 2018 15:26:21 +0100 proper error handlign when Tor is not available
|
||||||
|
644fce8 csoler Thu, 8 Feb 2018 11:14:12 +0100 fixed download menu from Messages
|
||||||
|
|
||||||
|
-- Retroshare Dev Team <contact@retroshare.net> Sun, 25 Feb 2018 12:00:00 +0100
|
||||||
|
|
||||||
|
retroshare (0.6.3-1.20180210~4beadfe4) xenial; urgency=low
|
||||||
|
|
||||||
9352a7c csoler Thu, 8 Feb 2018 10:34:46 +0100 Merge pull request #1168 from PhenomRetroShare/Add_ConnFilterInFriendSel
|
9352a7c csoler Thu, 8 Feb 2018 10:34:46 +0100 Merge pull request #1168 from PhenomRetroShare/Add_ConnFilterInFriendSel
|
||||||
bf8bd4b Phenom Wed, 7 Feb 2018 19:00:08 +0100 Add Only Connected in FriendSelectionWidget.
|
bf8bd4b Phenom Wed, 7 Feb 2018 19:00:08 +0100 Add Only Connected in FriendSelectionWidget.
|
||||||
|
@ -1,11 +1,11 @@
|
|||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
|
|
||||||
rm -f ./libssh-0.5.4.tar.gz.*
|
rm -f ./libssh-0.5.4.tar.gz.*
|
||||||
rm -f ./retroshare_0.6.3-1.*_source.build
|
rm -f ./retroshare_0.?.?-1.*_source.build
|
||||||
rm -f ./retroshare_0.6.3-1.*_source.changes
|
rm -f ./retroshare_0.?.?-1.*_source.changes
|
||||||
rm -f ./retroshare_0.6.3-1.*.tar.gz
|
rm -f ./retroshare_0.?.?-1.*.tar.gz
|
||||||
rm -f ./retroshare_0.6.3-1.*.diff.gz
|
rm -f ./retroshare_0.?.?-1.*.diff.gz
|
||||||
rm -f ./retroshare_0.6.3-1.*.dsc
|
rm -f ./retroshare_0.?.?-1.*.dsc
|
||||||
rm -f *.upload
|
rm -f *.upload
|
||||||
|
|
||||||
rm -f *~
|
rm -f *~
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
configure: configure-stamp
|
configure: configure-stamp
|
||||||
configure-stamp:
|
configure-stamp:
|
||||||
dh_testdir
|
dh_testdir
|
||||||
cd src && qmake "CONFIG-=debug" "CONFIG+=release" "CONFIG+=rs_autologin" PREFIX=/usr LIB_DIR=/usr/lib RetroShare.pro
|
cd src && qmake "CONFIG-=debug" "CONFIG+=release" "CONFIG+=rs_autologin" "CONFIG+=retroshare_plugins" PREFIX=/usr LIB_DIR=/usr/lib RetroShare.pro
|
||||||
touch $@
|
touch $@
|
||||||
|
|
||||||
|
|
||||||
|
@ -1,14 +1,23 @@
|
|||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
|
|
||||||
###################### PARAMETERS ####################
|
###################### PARAMETERS ####################
|
||||||
version="0.6.3"
|
|
||||||
gitpath="https://github.com/RetroShare/RetroShare.git"
|
gitpath="https://github.com/RetroShare/RetroShare.git"
|
||||||
workdir=retroshare-${version}
|
|
||||||
branch="master"
|
branch="master"
|
||||||
#branch="v0.6.3-official_release"
|
#branch="v0.6.3-official_release"
|
||||||
#bubba3="Y" # comment out to compile for bubba3
|
#bubba3="Y" # comment out to compile for bubba3
|
||||||
######################################################
|
######################################################
|
||||||
|
|
||||||
|
RS_MAJOR_VERSION=`fgrep RS_MAJOR_VERSION ../../libretroshare/src/retroshare/rsversion.h | cut -d\\ -f3- | sed -e s\/\ \/\/g | cut -c1`
|
||||||
|
RS_MINOR_VERSION=`fgrep RS_MINOR_VERSION ../../libretroshare/src/retroshare/rsversion.h | cut -d\\ -f3- | sed -e s\/\ \/\/g | cut -c1`
|
||||||
|
RS_BUILD_NUMBER=`fgrep RS_BUILD_NUMBER ../../libretroshare/src/retroshare/rsversion.h | grep -v BUILD_NUMBER_ADD | cut -d\\ -f3- | sed -e s\/\ \/\/g | cut -c1`
|
||||||
|
|
||||||
|
# echo "RS_MAJOR_VERSION="${RS_MAJOR_VERSION}
|
||||||
|
# echo "RS_MINOR_VERSION="${RS_MINOR_VERSION}
|
||||||
|
# echo "RS_BUILD_NUMBER="${RS_BUILD_NUMBER}
|
||||||
|
|
||||||
|
version_number="${RS_MAJOR_VERSION}"'.'"${RS_MINOR_VERSION}"'.'"${RS_BUILD_NUMBER}"
|
||||||
|
workdir=retroshare-${version_number}
|
||||||
|
|
||||||
echo This script is going to build the debian source package for RetroShare, from the Git repository.
|
echo This script is going to build the debian source package for RetroShare, from the Git repository.
|
||||||
|
|
||||||
if test -d "${workdir}" ; then
|
if test -d "${workdir}" ; then
|
||||||
@ -68,29 +77,32 @@ if test "${useretrotor}" = "true"; then
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
if test "${dist}" = "" ; then
|
if test "${dist}" = "" ; then
|
||||||
dist="precise trusty xenial zesty artful"
|
dist="trusty xenial artful"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
echo Attempting to get revision number...
|
echo Attempting to get revision number...
|
||||||
ccount=`git rev-list --count --all`
|
ccount=`git rev-list --count --all`
|
||||||
ccount=`expr $ccount + 8613 - 8267`
|
ccount=`expr $ccount + 8613 - 8267`
|
||||||
|
|
||||||
echo " "Using PGP key id : ${gpgkey}
|
echo " Workdir :"${workdir}
|
||||||
echo " "Using distributions: ${dist}
|
echo " Version :"${version_number}
|
||||||
echo " "Commit count : ${ccount}
|
echo " Using revision :"${rev}
|
||||||
echo " "Date : ${date}
|
echo " Commit count :"${ccount}
|
||||||
echo " "Time : ${time}
|
echo " Hash :"${hhsh}
|
||||||
echo " "Hash : ${hhsh}
|
echo " Date :"${date}
|
||||||
echo " "Using branch : ${branch}
|
echo " Time :"${time}
|
||||||
echo " "Using revision : ${rev}
|
echo " Using branch :"${branch}
|
||||||
|
echo " Using distributions:"${dist}
|
||||||
|
echo " Using PGP key id :"${gpgkey}
|
||||||
|
|
||||||
if test ${useretrotor} = "true"; then
|
if test ${useretrotor} = "true"; then
|
||||||
echo " "Specific flags : retrotor
|
echo " "Specific flags : retrotor
|
||||||
fi
|
fi
|
||||||
|
|
||||||
echo Done.
|
echo Done.
|
||||||
version="${version}"."${rev}"
|
version="${version_number}"."${rev}"
|
||||||
echo Got version number ${version}.
|
echo Got version number ${version}
|
||||||
|
echo
|
||||||
echo Please check that the changelog is up to date.
|
echo Please check that the changelog is up to date.
|
||||||
echo Hit ENTER if this is correct. Otherwise hit Ctrl+C
|
echo Hit ENTER if this is correct. Otherwise hit Ctrl+C
|
||||||
read tmp
|
read tmp
|
||||||
@ -136,7 +148,7 @@ echo Cleaning...
|
|||||||
echo Calling debuild...
|
echo Calling debuild...
|
||||||
for i in ${dist}; do
|
for i in ${dist}; do
|
||||||
echo copying changelog for ${i}
|
echo copying changelog for ${i}
|
||||||
sed -e s/XXXXXX/"${rev}"/g -e s/YYYYYY/"${i}"/g ../changelog > debian/changelog
|
sed -e s/XXXXXX/"${rev}"/g -e s/YYYYYY/"${i}"/g -e s/ZZZZZZ/"${version_number}"/g ../changelog > debian/changelog
|
||||||
|
|
||||||
if test ${useretrotor} = "true"; then
|
if test ${useretrotor} = "true"; then
|
||||||
cp ../rules.retrotor debian/rules
|
cp ../rules.retrotor debian/rules
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
for i in `ls retroshare_0.6.3-1.*.changes` ; do
|
for i in `ls retroshare_0.6.4-1.*.changes` ; do
|
||||||
dput ppa:retroshare/unstable $i
|
dput ppa:retroshare/unstable $i
|
||||||
done
|
done
|
||||||
|
@ -39,6 +39,7 @@
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
#include "rsdataservice.h"
|
#include "rsdataservice.h"
|
||||||
|
#include "retroshare/rsgxsflags.h"
|
||||||
#include "util/rsstring.h"
|
#include "util/rsstring.h"
|
||||||
|
|
||||||
#define MSG_TABLE_NAME std::string("MESSAGES")
|
#define MSG_TABLE_NAME std::string("MESSAGES")
|
||||||
@ -572,6 +573,38 @@ RsGxsGrpMetaData* RsDataService::locked_getGrpMeta(RetroCursor &c, int colOffset
|
|||||||
c.getString(mColGrpMeta_ParentGrpId, tempId);
|
c.getString(mColGrpMeta_ParentGrpId, tempId);
|
||||||
grpMeta->mParentGrpId = RsGxsGroupId(tempId);
|
grpMeta->mParentGrpId = RsGxsGroupId(tempId);
|
||||||
|
|
||||||
|
// make sure that flags and keys are actually consistent
|
||||||
|
|
||||||
|
bool have_private_admin_key = false ;
|
||||||
|
bool have_private_publish_key = false ;
|
||||||
|
|
||||||
|
for(auto mit = grpMeta->keys.private_keys.begin(); mit != grpMeta->keys.private_keys.end();++mit)
|
||||||
|
{
|
||||||
|
if(mit->second.keyFlags == (RSTLV_KEY_DISTRIB_PUBLISH | RSTLV_KEY_TYPE_FULL)) have_private_publish_key = true ;
|
||||||
|
if(mit->second.keyFlags == (RSTLV_KEY_DISTRIB_ADMIN | RSTLV_KEY_TYPE_FULL)) have_private_admin_key = true ;
|
||||||
|
}
|
||||||
|
|
||||||
|
if(have_private_admin_key && !(grpMeta->mSubscribeFlags & GXS_SERV::GROUP_SUBSCRIBE_ADMIN))
|
||||||
|
{
|
||||||
|
std::cerr << "(WW) inconsistency in group " << grpMeta->mGroupId << ": group does not have flag ADMIN but an admin key was found. Updating the flags." << std::endl;
|
||||||
|
grpMeta->mSubscribeFlags |= GXS_SERV::GROUP_SUBSCRIBE_ADMIN;
|
||||||
|
}
|
||||||
|
if(!have_private_admin_key && (grpMeta->mSubscribeFlags & GXS_SERV::GROUP_SUBSCRIBE_ADMIN))
|
||||||
|
{
|
||||||
|
std::cerr << "(WW) inconsistency in group " << grpMeta->mGroupId << ": group has flag ADMIN but no admin key found. Updating the flags." << std::endl;
|
||||||
|
grpMeta->mSubscribeFlags &= ~GXS_SERV::GROUP_SUBSCRIBE_ADMIN;
|
||||||
|
}
|
||||||
|
if(have_private_publish_key && !(grpMeta->mSubscribeFlags & GXS_SERV::GROUP_SUBSCRIBE_PUBLISH))
|
||||||
|
{
|
||||||
|
std::cerr << "(WW) inconsistency in group " << grpMeta->mGroupId << ": group does not have flag PUBLISH but an admin key was found. Updating the flags." << std::endl;
|
||||||
|
grpMeta->mSubscribeFlags |= GXS_SERV::GROUP_SUBSCRIBE_PUBLISH;
|
||||||
|
}
|
||||||
|
if(!have_private_publish_key && (grpMeta->mSubscribeFlags & GXS_SERV::GROUP_SUBSCRIBE_PUBLISH))
|
||||||
|
{
|
||||||
|
std::cerr << "(WW) inconsistency in group " << grpMeta->mGroupId << ": group has flag PUBLISH but no admin key found. Updating the flags." << std::endl;
|
||||||
|
grpMeta->mSubscribeFlags &= ~GXS_SERV::GROUP_SUBSCRIBE_PUBLISH;
|
||||||
|
}
|
||||||
|
|
||||||
if(ok)
|
if(ok)
|
||||||
return grpMeta;
|
return grpMeta;
|
||||||
else
|
else
|
||||||
@ -933,7 +966,9 @@ void RsDataService::locked_clearGrpMetaCache(const RsGxsGroupId& gid)
|
|||||||
|
|
||||||
if(it != mGrpMetaDataCache.end())
|
if(it != mGrpMetaDataCache.end())
|
||||||
{
|
{
|
||||||
|
#ifdef RS_DATA_SERVICE_DEBUG
|
||||||
std::cerr << "(II) moving database cache entry " << (void*)(*it).second << " to dead list." << std::endl;
|
std::cerr << "(II) moving database cache entry " << (void*)(*it).second << " to dead list." << std::endl;
|
||||||
|
#endif
|
||||||
|
|
||||||
mOldCachedItems.push_back(std::make_pair(now,it->second)) ;
|
mOldCachedItems.push_back(std::make_pair(now,it->second)) ;
|
||||||
|
|
||||||
@ -947,7 +982,9 @@ void RsDataService::locked_clearGrpMetaCache(const RsGxsGroupId& gid)
|
|||||||
|
|
||||||
while(it2!=mOldCachedItems.end() && (*it2).first + CACHE_ENTRY_GRACE_PERIOD < now)
|
while(it2!=mOldCachedItems.end() && (*it2).first + CACHE_ENTRY_GRACE_PERIOD < now)
|
||||||
{
|
{
|
||||||
|
#ifdef RS_DATA_SERVICE_DEBUG
|
||||||
std::cerr << "(II) deleting old GXS database cache entry " << (void*)(*it2).second << ", " << now - (*it2).first << " seconds old." << std::endl;
|
std::cerr << "(II) deleting old GXS database cache entry " << (void*)(*it2).second << ", " << now - (*it2).first << " seconds old." << std::endl;
|
||||||
|
#endif
|
||||||
|
|
||||||
delete (*it2).second ;
|
delete (*it2).second ;
|
||||||
it2 = mOldCachedItems.erase(it2) ;
|
it2 = mOldCachedItems.erase(it2) ;
|
||||||
|
@ -1643,7 +1643,7 @@ void RsGenExchange::notifyReceivePublishKey(const RsGxsGroupId &grpId)
|
|||||||
{
|
{
|
||||||
RS_STACK_MUTEX(mGenMtx);
|
RS_STACK_MUTEX(mGenMtx);
|
||||||
|
|
||||||
RsGxsGroupChange* gc = new RsGxsGroupChange(RsGxsNotify::TYPE_PUBLISHKEY, false);
|
RsGxsGroupChange* gc = new RsGxsGroupChange(RsGxsNotify::TYPE_PUBLISHKEY, true);
|
||||||
gc->mGrpIdList.push_back(grpId);
|
gc->mGrpIdList.push_back(grpId);
|
||||||
mNotifications.push_back(gc);
|
mNotifications.push_back(gc);
|
||||||
}
|
}
|
||||||
@ -2580,7 +2580,11 @@ void RsGenExchange::publishGrps()
|
|||||||
ggps.mKeys = fullKeySet;
|
ggps.mKeys = fullKeySet;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
{
|
||||||
|
// We should just merge the keys instead of overwriting them, because the update may not contain private parts.
|
||||||
|
|
||||||
fullKeySet = ggps.mKeys;
|
fullKeySet = ggps.mKeys;
|
||||||
|
}
|
||||||
|
|
||||||
// find private admin key
|
// find private admin key
|
||||||
RsTlvPrivateRSAKey privAdminKey;
|
RsTlvPrivateRSAKey privAdminKey;
|
||||||
@ -2756,7 +2760,7 @@ void RsGenExchange::publishGrps()
|
|||||||
|
|
||||||
if(!grpChanged.empty())
|
if(!grpChanged.empty())
|
||||||
{
|
{
|
||||||
RsGxsGroupChange* gc = new RsGxsGroupChange(RsGxsNotify::TYPE_PUBLISH, false);
|
RsGxsGroupChange* gc = new RsGxsGroupChange(RsGxsNotify::TYPE_RECEIVE, true);
|
||||||
gc->mGrpIdList = grpChanged;
|
gc->mGrpIdList = grpChanged;
|
||||||
mNotifications.push_back(gc);
|
mNotifications.push_back(gc);
|
||||||
#ifdef GEN_EXCH_DEBUG
|
#ifdef GEN_EXCH_DEBUG
|
||||||
@ -2770,8 +2774,8 @@ void RsGenExchange::publishGrps()
|
|||||||
// This is done off-mutex to avoid possible cross deadlocks with the net service.
|
// This is done off-mutex to avoid possible cross deadlocks with the net service.
|
||||||
|
|
||||||
if(mNetService!=NULL)
|
if(mNetService!=NULL)
|
||||||
for(std::list<RsGxsGroupId>::const_iterator it(groups_to_subscribe.begin());it!=groups_to_subscribe.end();++it)
|
for(std::list<RsGxsGroupId>::const_iterator it(groups_to_subscribe.begin());it!=groups_to_subscribe.end();++it)
|
||||||
mNetService->subscribeStatusChanged((*it),true) ;
|
mNetService->subscribeStatusChanged((*it),true) ;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -2886,7 +2890,9 @@ void RsGenExchange::processRecvdMessages()
|
|||||||
|
|
||||||
if(!accept_new_msg || gpsi.mFirstTryTS + VALIDATE_MAX_WAITING_TIME < now)
|
if(!accept_new_msg || gpsi.mFirstTryTS + VALIDATE_MAX_WAITING_TIME < now)
|
||||||
{
|
{
|
||||||
|
#ifdef GEN_EXCH_DEBUG
|
||||||
std::cerr << "Pending validation grp=" << gpsi.mId.first << ", msg=" << gpsi.mId.second << ", has exceeded validation time limit. The author's key can probably not be obtained. This is unexpected." << std::endl;
|
std::cerr << "Pending validation grp=" << gpsi.mId.first << ", msg=" << gpsi.mId.second << ", has exceeded validation time limit. The author's key can probably not be obtained. This is unexpected." << std::endl;
|
||||||
|
#endif
|
||||||
|
|
||||||
delete gpsi.mItem;
|
delete gpsi.mItem;
|
||||||
pend_it = mMsgPendingValidate.erase(pend_it);
|
pend_it = mMsgPendingValidate.erase(pend_it);
|
||||||
@ -3214,6 +3220,13 @@ void RsGenExchange::performUpdateValidation()
|
|||||||
|
|
||||||
gu.newGrp->metaData->mSubscribeFlags = gu.oldGrpMeta->mSubscribeFlags ;
|
gu.newGrp->metaData->mSubscribeFlags = gu.oldGrpMeta->mSubscribeFlags ;
|
||||||
|
|
||||||
|
// Also keep private keys if present
|
||||||
|
|
||||||
|
if(!gu.newGrp->metaData->keys.private_keys.empty())
|
||||||
|
std::cerr << "(EE) performUpdateValidation() group " <<gu.newGrp->metaData->mGroupId << " has been received with private keys. This is very unexpected!" << std::endl;
|
||||||
|
else
|
||||||
|
gu.newGrp->metaData->keys.private_keys = gu.oldGrpMeta->keys.private_keys ;
|
||||||
|
|
||||||
grps.push_back(gu.newGrp);
|
grps.push_back(gu.newGrp);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
@ -3252,7 +3265,7 @@ void RsGenExchange::performUpdateValidation()
|
|||||||
mGroupUpdates.clear();
|
mGroupUpdates.clear();
|
||||||
}
|
}
|
||||||
|
|
||||||
bool RsGenExchange::updateValid(const RsGxsGrpMetaData& oldGrpMeta, RsNxsGrp& newGrp) const
|
bool RsGenExchange::updateValid(const RsGxsGrpMetaData& oldGrpMeta, const RsNxsGrp& newGrp) const
|
||||||
{
|
{
|
||||||
std::map<SignType, RsTlvKeySignature>& signSet = newGrp.metaData->signSet.keySignSet;
|
std::map<SignType, RsTlvKeySignature>& signSet = newGrp.metaData->signSet.keySignSet;
|
||||||
std::map<SignType, RsTlvKeySignature>::iterator mit = signSet.find(INDEX_AUTHEN_ADMIN);
|
std::map<SignType, RsTlvKeySignature>::iterator mit = signSet.find(INDEX_AUTHEN_ADMIN);
|
||||||
|
@ -835,7 +835,7 @@ private:
|
|||||||
* @param newGrp the new group that updates the old group (must have meta data member initialised)
|
* @param newGrp the new group that updates the old group (must have meta data member initialised)
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
bool updateValid(const RsGxsGrpMetaData& oldGrp, RsNxsGrp& newGrp) const;
|
bool updateValid(const RsGxsGrpMetaData& oldGrp, const RsNxsGrp& newGrp) const;
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
* convenience function for checking private publish and admin keys are present
|
* convenience function for checking private publish and admin keys are present
|
||||||
|
@ -389,6 +389,8 @@ int RsGxsNetService::tick()
|
|||||||
|
|
||||||
should_notify = should_notify || !mNewGroupsToNotify.empty() ;
|
should_notify = should_notify || !mNewGroupsToNotify.empty() ;
|
||||||
should_notify = should_notify || !mNewMessagesToNotify.empty() ;
|
should_notify = should_notify || !mNewMessagesToNotify.empty() ;
|
||||||
|
should_notify = should_notify || !mNewPublishKeysToNotify.empty() ;
|
||||||
|
should_notify = should_notify || !mNewStatsToNotify.empty() ;
|
||||||
}
|
}
|
||||||
|
|
||||||
if(should_notify)
|
if(should_notify)
|
||||||
@ -451,8 +453,11 @@ void RsGxsNetService::processObserverNotifications()
|
|||||||
if(!grps_copy.empty()) mObserver->notifyNewGroups (grps_copy);
|
if(!grps_copy.empty()) mObserver->notifyNewGroups (grps_copy);
|
||||||
if(!msgs_copy.empty()) mObserver->notifyNewMessages(msgs_copy);
|
if(!msgs_copy.empty()) mObserver->notifyNewMessages(msgs_copy);
|
||||||
|
|
||||||
for(std::set<RsGxsGroupId>::const_iterator it(keys_copy.begin());it!=keys_copy.end();++it) mObserver->notifyReceivePublishKey(*it);
|
for(std::set<RsGxsGroupId>::const_iterator it(keys_copy.begin());it!=keys_copy.end();++it)
|
||||||
for(std::set<RsGxsGroupId>::const_iterator it(stat_copy.begin());it!=stat_copy.end();++it) mObserver->notifyChangedGroupStats(*it);
|
mObserver->notifyReceivePublishKey(*it);
|
||||||
|
|
||||||
|
for(std::set<RsGxsGroupId>::const_iterator it(stat_copy.begin());it!=stat_copy.end();++it)
|
||||||
|
mObserver->notifyChangedGroupStats(*it);
|
||||||
}
|
}
|
||||||
|
|
||||||
void RsGxsNetService::rejectMessage(const RsGxsMessageId& msg_id)
|
void RsGxsNetService::rejectMessage(const RsGxsMessageId& msg_id)
|
||||||
@ -4756,6 +4761,7 @@ void RsGxsNetService::handleRecvPublishKeys(RsNxsGroupPublishKeyItem *item)
|
|||||||
#ifdef NXS_NET_DEBUG_3
|
#ifdef NXS_NET_DEBUG_3
|
||||||
GXSNETDEBUG_PG(item->PeerId(),item->grpId)<< " (EE) Publish key already present in database. Discarding message." << std::endl;
|
GXSNETDEBUG_PG(item->PeerId(),item->grpId)<< " (EE) Publish key already present in database. Discarding message." << std::endl;
|
||||||
#endif
|
#endif
|
||||||
|
mNewPublishKeysToNotify.insert(item->grpId) ;
|
||||||
return ;
|
return ;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -143,7 +143,10 @@ void p3GxsTunnelService::flush()
|
|||||||
|
|
||||||
for(std::list<RsGxsTunnelDHPublicKeyItem*>::iterator it=pendingDHItems.begin();it!=pendingDHItems.end();)
|
for(std::list<RsGxsTunnelDHPublicKeyItem*>::iterator it=pendingDHItems.begin();it!=pendingDHItems.end();)
|
||||||
if(locked_sendClearTunnelData(*it) )
|
if(locked_sendClearTunnelData(*it) )
|
||||||
|
{
|
||||||
|
delete *it ;
|
||||||
it = pendingDHItems.erase(it) ;
|
it = pendingDHItems.erase(it) ;
|
||||||
|
}
|
||||||
else
|
else
|
||||||
++it ;
|
++it ;
|
||||||
}
|
}
|
||||||
@ -155,7 +158,10 @@ void p3GxsTunnelService::flush()
|
|||||||
|
|
||||||
for(std::list<RsGxsTunnelItem*>::iterator it=pendingGxsTunnelItems.begin();it!=pendingGxsTunnelItems.end();)
|
for(std::list<RsGxsTunnelItem*>::iterator it=pendingGxsTunnelItems.begin();it!=pendingGxsTunnelItems.end();)
|
||||||
if(locked_sendEncryptedTunnelData(*it) )
|
if(locked_sendEncryptedTunnelData(*it) )
|
||||||
|
{
|
||||||
|
delete *it ;
|
||||||
it = pendingGxsTunnelItems.erase(it) ;
|
it = pendingGxsTunnelItems.erase(it) ;
|
||||||
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
++it ;
|
++it ;
|
||||||
@ -744,6 +750,8 @@ void p3GxsTunnelService::receiveTurtleData(RsTurtleGenericTunnelItem *gitem,cons
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
std::cerr << "(EE) Deserialiased item has unexpected type." << std::endl;
|
std::cerr << "(EE) Deserialiased item has unexpected type." << std::endl;
|
||||||
|
|
||||||
|
delete citem ;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -360,8 +360,9 @@ bool RsCertificate::initFromString(const std::string& instr,uint32_t& err_code)
|
|||||||
}
|
}
|
||||||
break ;
|
break ;
|
||||||
default:
|
default:
|
||||||
err_code = CERTIFICATE_PARSING_ERROR_UNKNOWN_SECTION_PTAG ;
|
std::cerr << "(WW) unknwown PTAG 0x" << std::hex << ptag << std::dec << " in certificate! Ignoring it." << std::endl;
|
||||||
return false ;
|
buf = &buf[s] ;
|
||||||
|
break ;
|
||||||
}
|
}
|
||||||
|
|
||||||
total_s += s ;
|
total_s += s ;
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
#define RS_MAJOR_VERSION 0
|
#define RS_MAJOR_VERSION 0
|
||||||
#define RS_MINOR_VERSION 6
|
#define RS_MINOR_VERSION 6
|
||||||
#define RS_BUILD_NUMBER 3
|
#define RS_BUILD_NUMBER 4
|
||||||
#define RS_BUILD_NUMBER_ADD "" // <-- do we need this?
|
#define RS_BUILD_NUMBER_ADD "" // <-- do we need this?
|
||||||
// The revision number should be the 4 first bytes of the git revision hash, which is obtained using:
|
// The revision number should be the 4 first bytes of the git revision hash, which is obtained using:
|
||||||
// git log --pretty="%H" | head -1 | cut -c1-8
|
// git log --pretty="%H" | head -1 | cut -c1-8
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
#define RS_MAJOR_VERSION 0
|
#define RS_MAJOR_VERSION 0
|
||||||
#define RS_MINOR_VERSION 6
|
#define RS_MINOR_VERSION 6
|
||||||
#define RS_BUILD_NUMBER 3
|
#define RS_BUILD_NUMBER 4
|
||||||
#define RS_BUILD_NUMBER_ADD ""
|
#define RS_BUILD_NUMBER_ADD ""
|
||||||
|
|
||||||
// The revision number should be the 4 first bytes of the git revision hash, which is obtained using:
|
// The revision number should be the 4 first bytes of the git revision hash, which is obtained using:
|
||||||
|
@ -26,8 +26,8 @@
|
|||||||
#include <iostream>
|
#include <iostream>
|
||||||
#include <thread>
|
#include <thread>
|
||||||
#include <sys/time.h>
|
#include <sys/time.h>
|
||||||
#include <sys/unistd.h>
|
|
||||||
#include <unistd.h>
|
#include <unistd.h>
|
||||||
|
|
||||||
#include "rstime.h"
|
#include "rstime.h"
|
||||||
|
|
||||||
namespace rstime {
|
namespace rstime {
|
||||||
|
@ -2608,9 +2608,10 @@ void IdDialog::sendInvite()
|
|||||||
|
|
||||||
RsGxsId id(ui->lineEdit_KeyId->text().toStdString());
|
RsGxsId id(ui->lineEdit_KeyId->text().toStdString());
|
||||||
|
|
||||||
if ((QMessageBox::question(this, tr("Send invite?"),tr("Do you really want send a invite with your Certificate?"),QMessageBox::Yes|QMessageBox::No, QMessageBox::Yes))== QMessageBox::Yes)
|
//if ((QMessageBox::question(this, tr("Send invite?"),tr("Do you really want send a invite with your Certificate?"),QMessageBox::Yes|QMessageBox::No, QMessageBox::Yes))== QMessageBox::Yes)
|
||||||
{
|
{
|
||||||
MessageComposer::sendInvite(id);
|
MessageComposer::sendInvite(id,false);
|
||||||
|
|
||||||
ui->inviteFrame->show();
|
ui->inviteFrame->show();
|
||||||
ui->inviteButton->setEnabled(false);
|
ui->inviteButton->setEnabled(false);
|
||||||
}
|
}
|
||||||
|
@ -58,24 +58,6 @@
|
|||||||
#include "common/FeedNotify.h"
|
#include "common/FeedNotify.h"
|
||||||
#include "notifyqt.h"
|
#include "notifyqt.h"
|
||||||
|
|
||||||
const uint32_t NEWSFEED_PEERLIST = 0x0001;
|
|
||||||
|
|
||||||
const uint32_t NEWSFEED_FORUMNEWLIST = 0x0002;
|
|
||||||
const uint32_t NEWSFEED_FORUMMSGLIST = 0x0003;
|
|
||||||
const uint32_t NEWSFEED_CHANNELNEWLIST = 0x0004;
|
|
||||||
//const uint32_t NEWSFEED_CHANNELMSGLIST = 0x0005;
|
|
||||||
#if 0
|
|
||||||
const uint32_t NEWSFEED_BLOGNEWLIST = 0x0006;
|
|
||||||
const uint32_t NEWSFEED_BLOGMSGLIST = 0x0007;
|
|
||||||
#endif
|
|
||||||
|
|
||||||
const uint32_t NEWSFEED_MESSAGELIST = 0x0008;
|
|
||||||
const uint32_t NEWSFEED_CHATMSGLIST = 0x0009;
|
|
||||||
const uint32_t NEWSFEED_SECLIST = 0x000a;
|
|
||||||
const uint32_t NEWSFEED_POSTEDNEWLIST = 0x000b;
|
|
||||||
const uint32_t NEWSFEED_POSTEDMSGLIST = 0x000c;
|
|
||||||
const uint32_t NEWSFEED_CIRCLELIST = 0x000d;
|
|
||||||
|
|
||||||
#define ROLE_RECEIVED FEED_TREEWIDGET_SORTROLE
|
#define ROLE_RECEIVED FEED_TREEWIDGET_SORTROLE
|
||||||
|
|
||||||
#define TOKEN_TYPE_GROUP 1
|
#define TOKEN_TYPE_GROUP 1
|
||||||
@ -281,20 +263,20 @@ void NewsFeed::updateDisplay()
|
|||||||
mTokenQueueChannel = new TokenQueue(rsGxsChannels->getTokenService(), instance);
|
mTokenQueueChannel = new TokenQueue(rsGxsChannels->getTokenService(), instance);
|
||||||
}
|
}
|
||||||
|
|
||||||
RsGxsGroupId grpId(fi.mId1);
|
addFeedItemChannelPublishKey(fi);
|
||||||
if (!grpId.isNull()) {
|
|
||||||
RsTokReqOptions opts;
|
|
||||||
opts.mReqType = GXS_REQUEST_TYPE_GROUP_DATA;
|
|
||||||
|
|
||||||
std::list<RsGxsGroupId> grpIds;
|
// RsGxsGroupId grpId(fi.mId1);
|
||||||
grpIds.push_back(grpId);
|
// if (!grpId.isNull()) {
|
||||||
|
// RsTokReqOptions opts;
|
||||||
uint32_t token;
|
// opts.mReqType = GXS_REQUEST_TYPE_GROUP_DATA;
|
||||||
mTokenQueueChannel->requestGroupInfo(token, RS_TOKREQ_ANSTYPE_SUMMARY, opts, grpIds, TOKEN_TYPE_PUBLISHKEY);
|
//
|
||||||
}
|
// std::list<RsGxsGroupId> grpIds;
|
||||||
|
// grpIds.push_back(grpId);
|
||||||
|
//
|
||||||
|
// uint32_t token;
|
||||||
|
// mTokenQueueChannel->requestGroupInfo(token, RS_TOKREQ_ANSTYPE_SUMMARY, opts, grpIds, TOKEN_TYPE_PUBLISHKEY);
|
||||||
|
// }
|
||||||
}
|
}
|
||||||
// if (flags & RS_FEED_TYPE_CHANNEL)
|
|
||||||
// addFeedItemChannelPublishKey(fi);
|
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case RS_FEED_ITEM_FORUM_NEW:
|
case RS_FEED_ITEM_FORUM_NEW:
|
||||||
@ -769,6 +751,14 @@ void NewsFeed::loadChannelPublishKey(const uint32_t &token)
|
|||||||
#ifdef UNUSED_CODE
|
#ifdef UNUSED_CODE
|
||||||
MessageComposer::sendChannelPublishKey(groups[0]);
|
MessageComposer::sendChannelPublishKey(groups[0]);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
RsGxsChannelGroup& grp = *groups.begin();
|
||||||
|
|
||||||
|
RsFeedItem fi;
|
||||||
|
fi.mId1 = grp.mMeta.mGroupId.toStdString();
|
||||||
|
|
||||||
|
|
||||||
|
addFeedItemChannelPublishKey(fi);
|
||||||
}
|
}
|
||||||
|
|
||||||
void NewsFeed::loadForumGroup(const uint32_t &token)
|
void NewsFeed::loadForumGroup(const uint32_t &token)
|
||||||
@ -863,6 +853,8 @@ void NewsFeed::loadForumPublishKey(const uint32_t &token)
|
|||||||
#ifdef UNUSED_CODE
|
#ifdef UNUSED_CODE
|
||||||
MessageComposer::sendForumPublishKey(groups[0]);
|
MessageComposer::sendForumPublishKey(groups[0]);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
std::cerr << "(EE) Unimplemented code: received an order to load/display item for received forum publish key, but the implementation is missing." << std::endl;
|
||||||
}
|
}
|
||||||
|
|
||||||
void NewsFeed::loadPostedGroup(const uint32_t &token)
|
void NewsFeed::loadPostedGroup(const uint32_t &token)
|
||||||
@ -1357,6 +1349,24 @@ void NewsFeed::addFeedItemChannelMsg(const RsFeedItem &fi)
|
|||||||
/* add to layout */
|
/* add to layout */
|
||||||
addFeedItem(item);
|
addFeedItem(item);
|
||||||
|
|
||||||
|
#ifdef NEWS_DEBUG
|
||||||
|
std::cerr << "NewsFeed::addFeedItemChanMsg()";
|
||||||
|
std::cerr << std::endl;
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
void NewsFeed::addFeedItemChannelPublishKey(const RsFeedItem &fi)
|
||||||
|
{
|
||||||
|
RsGxsGroupId grpId(fi.mId1);
|
||||||
|
|
||||||
|
if (grpId.isNull())
|
||||||
|
return;
|
||||||
|
|
||||||
|
/* make new widget */
|
||||||
|
GxsChannelGroupItem *item = new GxsChannelGroupItem(this, NEWSFEED_CHANNELPUBKEYLIST, grpId, false, true);
|
||||||
|
|
||||||
|
/* add to layout */
|
||||||
|
addFeedItem(item);
|
||||||
|
|
||||||
#ifdef NEWS_DEBUG
|
#ifdef NEWS_DEBUG
|
||||||
std::cerr << "NewsFeed::addFeedItemChanMsg()";
|
std::cerr << "NewsFeed::addFeedItemChanMsg()";
|
||||||
std::cerr << std::endl;
|
std::cerr << std::endl;
|
||||||
|
@ -30,6 +30,25 @@
|
|||||||
|
|
||||||
#define IMAGE_NEWSFEED ":/icons/plugins_128.png"
|
#define IMAGE_NEWSFEED ":/icons/plugins_128.png"
|
||||||
|
|
||||||
|
const uint32_t NEWSFEED_PEERLIST = 0x0001;
|
||||||
|
|
||||||
|
const uint32_t NEWSFEED_FORUMNEWLIST = 0x0002;
|
||||||
|
const uint32_t NEWSFEED_FORUMMSGLIST = 0x0003;
|
||||||
|
const uint32_t NEWSFEED_CHANNELNEWLIST = 0x0004;
|
||||||
|
//const uint32_t NEWSFEED_CHANNELMSGLIST = 0x0005;
|
||||||
|
#if 0
|
||||||
|
const uint32_t NEWSFEED_BLOGNEWLIST = 0x0006;
|
||||||
|
const uint32_t NEWSFEED_BLOGMSGLIST = 0x0007;
|
||||||
|
#endif
|
||||||
|
|
||||||
|
const uint32_t NEWSFEED_MESSAGELIST = 0x0008;
|
||||||
|
const uint32_t NEWSFEED_CHATMSGLIST = 0x0009;
|
||||||
|
const uint32_t NEWSFEED_SECLIST = 0x000a;
|
||||||
|
const uint32_t NEWSFEED_POSTEDNEWLIST = 0x000b;
|
||||||
|
const uint32_t NEWSFEED_POSTEDMSGLIST = 0x000c;
|
||||||
|
const uint32_t NEWSFEED_CIRCLELIST = 0x000d;
|
||||||
|
const uint32_t NEWSFEED_CHANNELPUBKEYLIST= 0x000e;
|
||||||
|
|
||||||
namespace Ui {
|
namespace Ui {
|
||||||
class NewsFeed;
|
class NewsFeed;
|
||||||
}
|
}
|
||||||
@ -102,6 +121,7 @@ private:
|
|||||||
void addFeedItemChannelNew(const RsFeedItem &fi);
|
void addFeedItemChannelNew(const RsFeedItem &fi);
|
||||||
// void addFeedItemChannelUpdate(const RsFeedItem &fi);
|
// void addFeedItemChannelUpdate(const RsFeedItem &fi);
|
||||||
void addFeedItemChannelMsg(const RsFeedItem &fi);
|
void addFeedItemChannelMsg(const RsFeedItem &fi);
|
||||||
|
void addFeedItemChannelPublishKey(const RsFeedItem &fi);
|
||||||
|
|
||||||
void addFeedItemForumNew(const RsFeedItem &fi);
|
void addFeedItemForumNew(const RsFeedItem &fi);
|
||||||
// void addFeedItemForumUpdate(const RsFeedItem &fi);
|
// void addFeedItemForumUpdate(const RsFeedItem &fi);
|
||||||
|
@ -578,12 +578,6 @@ border-image: url(:/images/closepressed.png)
|
|||||||
<property name="toolTip">
|
<property name="toolTip">
|
||||||
<string>Send</string>
|
<string>Send</string>
|
||||||
</property>
|
</property>
|
||||||
<property name="whatsThis">
|
|
||||||
<string><html><head/><body><p>QToolButton:disabled {</p><p> image: url(:/icons/png/send-message-blocked.png) ;</p><p>}</p><p><br/></p></body></html></string>
|
|
||||||
</property>
|
|
||||||
<property name="styleSheet">
|
|
||||||
<string notr="true"/>
|
|
||||||
</property>
|
|
||||||
<property name="icon">
|
<property name="icon">
|
||||||
<iconset resource="../icons.qrc">
|
<iconset resource="../icons.qrc">
|
||||||
<normaloff>:/icons/png/send-message.png</normaloff>:/icons/png/send-message.png</iconset>
|
<normaloff>:/icons/png/send-message.png</normaloff>:/icons/png/send-message.png</iconset>
|
||||||
|
@ -6,8 +6,8 @@
|
|||||||
<rect>
|
<rect>
|
||||||
<x>0</x>
|
<x>0</x>
|
||||||
<y>0</y>
|
<y>0</y>
|
||||||
<width>1161</width>
|
<width>760</width>
|
||||||
<height>1223</height>
|
<height>538</height>
|
||||||
</rect>
|
</rect>
|
||||||
</property>
|
</property>
|
||||||
<property name="windowTitle">
|
<property name="windowTitle">
|
||||||
|
@ -23,6 +23,7 @@
|
|||||||
#include "ui_GxsChannelGroupItem.h"
|
#include "ui_GxsChannelGroupItem.h"
|
||||||
|
|
||||||
#include "FeedHolder.h"
|
#include "FeedHolder.h"
|
||||||
|
#include "gui/NewsFeed.h"
|
||||||
#include "gui/RetroShareLink.h"
|
#include "gui/RetroShareLink.h"
|
||||||
|
|
||||||
/****
|
/****
|
||||||
@ -144,14 +145,14 @@ void GxsChannelGroupItem::fill()
|
|||||||
ui->subscribeButton->setEnabled(true);
|
ui->subscribeButton->setEnabled(true);
|
||||||
}
|
}
|
||||||
|
|
||||||
// if (mIsNew)
|
switch(mFeedId)
|
||||||
// {
|
{
|
||||||
ui->titleLabel->setText(tr("New Channel"));
|
case NEWSFEED_CHANNELPUBKEYLIST: ui->titleLabel->setText(tr("Publish permission received for channel: "));
|
||||||
// }
|
break ;
|
||||||
// else
|
|
||||||
// {
|
case NEWSFEED_CHANNELNEWLIST: ui->titleLabel->setText(tr("New Channel: "));
|
||||||
// ui->titleLabel->setText(tr("Updated Channel"));
|
break ;
|
||||||
// }
|
}
|
||||||
|
|
||||||
if (mIsHome)
|
if (mIsHome)
|
||||||
{
|
{
|
||||||
|
@ -370,9 +370,9 @@ void MsgItem::sendInvite()
|
|||||||
if (!rsMail->getMessage(mMsgId, mi))
|
if (!rsMail->getMessage(mMsgId, mi))
|
||||||
return;
|
return;
|
||||||
|
|
||||||
if ((QMessageBox::question(this, tr("Send invite?"),tr("Do you really want send a invite with your Certificate?"),QMessageBox::Yes|QMessageBox::No, QMessageBox::Yes))== QMessageBox::Yes)
|
//if ((QMessageBox::question(this, tr("Send invite?"),tr("Do you really want send a invite with your Certificate?"),QMessageBox::Yes|QMessageBox::No, QMessageBox::Yes))== QMessageBox::Yes)
|
||||||
{
|
//{
|
||||||
MessageComposer::sendInvite(mi.rsgxsid_srcId);
|
MessageComposer::sendInvite(mi.rsgxsid_srcId,false);
|
||||||
}
|
//}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -442,7 +442,7 @@
|
|||||||
<item>
|
<item>
|
||||||
<widget class="QLabel" name="infoLabel">
|
<widget class="QLabel" name="infoLabel">
|
||||||
<property name="text">
|
<property name="text">
|
||||||
<string notr="true">You get Invite, accept request and send your own Certificate back</string>
|
<string notr="true">This message invites you to make friend! You may accept this request and send your own Certificate back</string>
|
||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
|
@ -2775,12 +2775,12 @@ QString MessageComposer::inviteMessage()
|
|||||||
return tr("Hi,<br>I want to be friends with you on RetroShare.<br>");
|
return tr("Hi,<br>I want to be friends with you on RetroShare.<br>");
|
||||||
}
|
}
|
||||||
|
|
||||||
void MessageComposer::sendInvite(const RsGxsId &to, const QString &/*msg*/, bool autoSend)
|
void MessageComposer::sendInvite(const RsGxsId &to, bool autoSend)
|
||||||
{
|
{
|
||||||
/* create a message */
|
/* create a message */
|
||||||
MessageComposer *composer = MessageComposer::newMsg();
|
MessageComposer *composer = MessageComposer::newMsg();
|
||||||
|
|
||||||
composer->setTitleText(tr("You have a friend invite"));
|
composer->setTitleText(tr("Invite message"));
|
||||||
composer->msgFlags |= RS_MSG_USER_REQUEST;
|
composer->msgFlags |= RS_MSG_USER_REQUEST;
|
||||||
|
|
||||||
|
|
||||||
@ -2803,8 +2803,8 @@ void MessageComposer::sendInvite(const RsGxsId &to, const QString &/*msg*/, bool
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
else
|
||||||
//composer->show();
|
composer->show();
|
||||||
|
|
||||||
/* window will destroy itself! */
|
/* window will destroy itself! */
|
||||||
}
|
}
|
||||||
|
@ -64,7 +64,7 @@ public:
|
|||||||
static QString recommendMessage();
|
static QString recommendMessage();
|
||||||
static void recommendFriend(const std::set <RsPeerId> &sslIds, const RsPeerId &to = RsPeerId(), const QString &msg = "", bool autoSend = false);
|
static void recommendFriend(const std::set <RsPeerId> &sslIds, const RsPeerId &to = RsPeerId(), const QString &msg = "", bool autoSend = false);
|
||||||
static void sendConnectAttemptMsg(const RsPgpId &gpgId, const RsPeerId &sslId, const QString &sslName);
|
static void sendConnectAttemptMsg(const RsPgpId &gpgId, const RsPeerId &sslId, const QString &sslName);
|
||||||
static void sendInvite(const RsGxsId &to = RsGxsId(), const QString &msg = "", bool autoSend = true);
|
static void sendInvite(const RsGxsId &to, bool autoSend);
|
||||||
#ifdef UNUSED_CODE
|
#ifdef UNUSED_CODE
|
||||||
static void sendChannelPublishKey(RsGxsChannelGroup &group);
|
static void sendChannelPublishKey(RsGxsChannelGroup &group);
|
||||||
static void sendForumPublishKey(RsGxsForumGroup &group);
|
static void sendForumPublishKey(RsGxsForumGroup &group);
|
||||||
|
@ -789,9 +789,9 @@ void MessageWidget::sendInvite()
|
|||||||
if (!rsMail->getMessage(currMsgId, mi))
|
if (!rsMail->getMessage(currMsgId, mi))
|
||||||
return;
|
return;
|
||||||
|
|
||||||
if ((QMessageBox::question(this, tr("Send invite?"),tr("Do you really want send a invite with your Certificate?"),QMessageBox::Yes|QMessageBox::No, QMessageBox::Yes))== QMessageBox::Yes)
|
//if ((QMessageBox::question(this, tr("Send invite?"),tr("Do you really want send a invite with your Certificate?"),QMessageBox::Yes|QMessageBox::No, QMessageBox::Yes))== QMessageBox::Yes)
|
||||||
{
|
//{
|
||||||
MessageComposer::sendInvite(mi.rsgxsid_srcId);
|
MessageComposer::sendInvite(mi.rsgxsid_srcId,false);
|
||||||
}
|
//}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -415,7 +415,7 @@
|
|||||||
<item>
|
<item>
|
||||||
<widget class="QLabel" name="infoLabel">
|
<widget class="QLabel" name="infoLabel">
|
||||||
<property name="text">
|
<property name="text">
|
||||||
<string notr="true">You get Invite, accept request and send your own Certificate back</string>
|
<string notr="true">You got an invite to make friend! You may accept this request and send your own Certificate back</string>
|
||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
|
@ -94,7 +94,7 @@ rs_async_chat:CONFIG -= no_rs_async_chat
|
|||||||
|
|
||||||
# To select your MacOsX version append the following assignation to qmake
|
# To select your MacOsX version append the following assignation to qmake
|
||||||
# command line "CONFIG+=rs_macos10.11" where 10.11 depends your version
|
# command line "CONFIG+=rs_macos10.11" where 10.11 depends your version
|
||||||
CONFIG *= rs_macos10.11
|
macx:CONFIG *= rs_macos10.11
|
||||||
rs_macos10.8:CONFIG -= rs_macos10.11
|
rs_macos10.8:CONFIG -= rs_macos10.11
|
||||||
rs_macos10.9:CONFIG -= rs_macos10.11
|
rs_macos10.9:CONFIG -= rs_macos10.11
|
||||||
rs_macos10.10:CONFIG -= rs_macos10.11
|
rs_macos10.10:CONFIG -= rs_macos10.11
|
||||||
|
Loading…
Reference in New Issue
Block a user