Browse Source

Merge pull request #391 from erqan/groups

enables readding a group key by `rescandirectmsgs` and `creategroup`
miguelfreitas
miguelfreitas 8 years ago committed by GitHub
parent
commit
30a5ebafa6
  1. 2
      src/clientversion.h
  2. 22
      src/twister.cpp

2
src/clientversion.h

@ -8,7 +8,7 @@ @@ -8,7 +8,7 @@
// These need to be macros, as version.cpp's and bitcoin-qt.rc's voodoo requires it
#define CLIENT_VERSION_MAJOR 0
#define CLIENT_VERSION_MINOR 9
#define CLIENT_VERSION_REVISION 37
#define CLIENT_VERSION_REVISION 38
#define CLIENT_VERSION_BUILD 0
// Set to true for release, false for prerelease or test build

22
src/twister.cpp

@ -1206,7 +1206,7 @@ string getGroupAliasByKey(const string &privKey) @@ -1206,7 +1206,7 @@ string getGroupAliasByKey(const string &privKey)
void registerNewGroup(const string &privKey, const string &desc, const string &member, const string &invitedBy, int64_t utcTime, int k)
{
string groupAlias = getGroupAliasByKey(privKey);
if( !groupAlias.length() ) {
CBitcoinSecret vchSecret;
bool fGood = vchSecret.SetString(privKey);
if (!fGood) {
@ -1225,7 +1225,7 @@ void registerNewGroup(const string &privKey, const string &desc, const string &m @@ -1225,7 +1225,7 @@ void registerNewGroup(const string &privKey, const string &desc, const string &m
printf("registerGroupMember: Invalid group alias '%s' from wallet\n", groupAlias.c_str());
return;
}
} else {
} else if (!groupAlias.length()) {
groupAlias = getRandomGroupAlias();
}
@ -1235,7 +1235,6 @@ void registerNewGroup(const string &privKey, const string &desc, const string &m @@ -1235,7 +1235,6 @@ void registerNewGroup(const string &privKey, const string &desc, const string &m
return;
}
}
}
LOCK(cs_twister);
GroupChat &group = m_groups[groupAlias];
@ -3866,19 +3865,26 @@ Object getLibtorrentSessionStatus() @@ -3866,19 +3865,26 @@ Object getLibtorrentSessionStatus()
Value creategroup(const Array& params, bool fHelp)
{
if (fHelp || params.size() != 1)
if (fHelp || params.size() < 1 || params.size() > 2)
throw runtime_error(
"creategroup <description>\n"
"Create a new key pair for group chat and add it to wallet\n"
"Hint: use groupcreate to invite yourself\n"
"creategroup <description> [<groupprivkey>]\n"
"Create (if <groupprivkey> is omited) a new key pair for group chat and add it to wallet\n"
"Or import the given <groupprivkey> into wallet\n"
"Hint: use newgroupinvite to invite yourself\n"
"Returns the group alias");
string strDescription = params[0].get_str();
string privKey;
if (params.size() == 2)
privKey = params[1].get_str();
else
{
RandAddSeedPerfmon();
CKey secret;
secret.MakeNewKey(true);
string privKey = CBitcoinSecret(secret).ToString();
privKey = CBitcoinSecret(secret).ToString();
}
string noMember;
registerNewGroup(privKey, strDescription, noMember, noMember, GetTime(), -1);

Loading…
Cancel
Save