fixed certificate pasting bug

This commit is contained in:
csoler 2022-03-09 21:32:26 +01:00
parent f5ee9c92c8
commit 97829de0ba
3 changed files with 25 additions and 13 deletions

View File

@ -205,17 +205,9 @@ HomePage::~HomePage()
delete ui; delete ui;
} }
void HomePage::getOwnCert(QString& invite,QString& description) const RetroshareInviteFlags HomePage::currentInviteFlags() const
{ {
RsPeerDetails detail; RetroshareInviteFlags invite_flags = RetroshareInviteFlags::NOTHING;
if (!rsPeers->getPeerDetails(rsPeers->getOwnId(), detail))
{
std::cerr << "(EE) Cannot retrieve information about own certificate. That is a real problem!!" << std::endl;
return ;
}
RetroshareInviteFlags invite_flags = RetroshareInviteFlags::NOTHING;
if(mIncludeLocIPact->isChecked()) if(mIncludeLocIPact->isChecked())
invite_flags |= RetroshareInviteFlags::CURRENT_LOCAL_IP; invite_flags |= RetroshareInviteFlags::CURRENT_LOCAL_IP;
@ -229,6 +221,21 @@ void HomePage::getOwnCert(QString& invite,QString& description) const
if(mIncludeIPHistoryact->isChecked()) if(mIncludeIPHistoryact->isChecked())
invite_flags |= RetroshareInviteFlags::FULL_IP_HISTORY; invite_flags |= RetroshareInviteFlags::FULL_IP_HISTORY;
return invite_flags;
}
void HomePage::getOwnCert(QString& invite,QString& description) const
{
RsPeerDetails detail;
if (!rsPeers->getPeerDetails(rsPeers->getOwnId(), detail))
{
std::cerr << "(EE) Cannot retrieve information about own certificate. That is a real problem!!" << std::endl;
return ;
}
auto invite_flags = currentInviteFlags();
invite_flags |= RetroshareInviteFlags::SLICE_TO_80_CHARS;
if(!mUseOldFormatact->isChecked()) if(!mUseOldFormatact->isChecked())
{ {
std::string short_invite; std::string short_invite;

View File

@ -49,6 +49,7 @@ public:
// Returns the certificate along with its description using current options. // Returns the certificate along with its description using current options.
void getOwnCert(QString& invite,QString& description) const; void getOwnCert(QString& invite,QString& description) const;
RetroshareInviteFlags currentInviteFlags() const ;
private slots: private slots:
#ifdef DEAD_CODE #ifdef DEAD_CODE

View File

@ -570,9 +570,13 @@ RetroShareLink RetroShareLink::createCertificate(const RsPeerId& ssl_id)
if(rsPeers->getOwnId() == ssl_id) // in this case, use application-wide parameters set in HomePage if(rsPeers->getOwnId() == ssl_id) // in this case, use application-wide parameters set in HomePage
{ {
QString invite,description; QString description;
static_cast<HomePage*>(MainWindow::getPage(MainWindow::Home))->getOwnCert(invite,description); auto invite_flags = static_cast<HomePage*>(MainWindow::getPage(MainWindow::Home))->currentInviteFlags();
link._radix = invite;
invite_flags &= ~RetroshareInviteFlags::SLICE_TO_80_CHARS;
invite_flags |= RetroshareInviteFlags::RADIX_FORMAT;
link._radix = QString::fromUtf8(rsPeers->GetRetroshareInvite(ssl_id,invite_flags).c_str());
} }
else else
link._radix = QString::fromUtf8(rsPeers->GetRetroshareInvite(ssl_id).c_str()); link._radix = QString::fromUtf8(rsPeers->GetRetroshareInvite(ssl_id).c_str());