BOOST_AUTO_TEST_CASE_TEMPLATE(InsertAndEraseByName, T, InMemoryStorages) { T ims; Name name("/insertandremovebyname"); uint32_t content1 = 1; shared_ptr<Data> data1 = makeData(name); data1->setFreshnessPeriod(time::milliseconds(99999)); data1->setContent(reinterpret_cast<const uint8_t*>(&content1), sizeof(content1)); signData(data1); ims.insert(*data1); uint32_t content2 = 2; shared_ptr<Data> data2 = makeData(name); data2->setFreshnessPeriod(time::milliseconds(99999)); data2->setContent(reinterpret_cast<const uint8_t*>(&content2), sizeof(content2)); signData(data2); ims.insert(*data2); shared_ptr<Data> data3 = makeData("/insertandremovebyname/1"); ims.insert(*data3); shared_ptr<Data> data4 = makeData("/insertandremovebyname/2"); ims.insert(*data4); BOOST_CHECK_EQUAL(ims.size(), 4); ims.erase(data1->getFullName(), false); BOOST_CHECK_EQUAL(ims.size(), 3); }
inline shared_ptr<Link> makeLink(const Name& name, std::initializer_list<std::pair<uint32_t, Name>> delegations) { auto link = make_shared<Link>(name, delegations); signData(link); return link; }
inline shared_ptr<Data> makeData(const Name& name) { shared_ptr<Data> data = make_shared<Data>(name); return signData(data); }
BOOST_AUTO_TEST_CASE_TEMPLATE(InsertAndNotFindByFullName, T, InMemoryStorages) { T ims; Name name("/a"); uint32_t content1 = 1; shared_ptr<Data> data1 = makeData(name); data1->setContent(reinterpret_cast<const uint8_t*>(&content1), sizeof(content1)); signData(data1); ims.insert(*data1); uint32_t content2 = 2; shared_ptr<Data> data2 = makeData(name); data2->setContent(reinterpret_cast<const uint8_t*>(&content2), sizeof(content2)); signData(data2); shared_ptr<const Data> found = ims.find(data2->getFullName()); BOOST_CHECK(found == nullptr); }
int FLDigiDoc::dataSignature(const QByteArray &data, QByteArray &signResult, const QString &keyfile, const QString &passwd) { int sigLen = SIGNATURE_LEN; byte buf[sigLen * sizeof(char)]; byte buf1[sigLen * sizeof(char) * 2]; int err = signData((const byte *)data.data(), data.size() * sizeof(char), buf, &sigLen, DIGEST_SHA1, keyfile.latin1(), passwd.latin1()); signResult = encodeBase64(buf, sigLen); return err; }
Name insert(uint32_t id, const Name& name, const time::milliseconds& freshWindow = InMemoryStorage::INFINITE_WINDOW) { shared_ptr<Data> data = makeData(name); data->setFreshnessPeriod(time::milliseconds(99999)); data->setContent(reinterpret_cast<const uint8_t*>(&id), sizeof(id)); signData(data); m_ims.insert(*data, freshWindow); return data->getFullName(); }
BOOST_AUTO_TEST_CASE_TEMPLATE(InsertAndDouble, T, InMemoryStoragesLimited) { T ims(40); for (int i = 0; i < 11; i++) { std::ostringstream convert; convert << i; Name name("/" + convert.str()); shared_ptr<Data> data = makeData(name); data->setFreshnessPeriod(time::milliseconds(5000)); signData(data); ims.insert(*data); } BOOST_CHECK_EQUAL(ims.size(), 11); BOOST_CHECK_EQUAL(ims.getCapacity(), 20); }
const Result CtrlrWindows::exportWithDefaultPanel(CtrlrPanel* panelToWrite, const bool isRestricted, const bool signPanel, RSAKey privateKey) { if (panelToWrite == nullptr) { return (Result::fail("Windows Native: exportWithDefaultPanel got nullptr for panel")); } File me = File::getSpecialLocation(File::currentExecutableFile); File newMe; HANDLE hResource; MemoryBlock panelExportData,panelResourcesData; MemoryBlock iconData(BinaryData::ico_midi_png, BinaryData::ico_midi_pngSize); FileChooser fc(CTRLR_NEW_INSTANCE_DIALOG_TITLE, me.getParentDirectory().getChildFile(File::createLegalFileName(panelToWrite->getProperty(Ids::name))).withFileExtension(me.getFileExtension()), "*"+me.getFileExtension(), panelToWrite->getOwner().getProperty(Ids::ctrlrNativeFileDialogs)); if (fc.browseForFileToSave(true)) { newMe = fc.getResult(); if (!newMe.hasFileExtension(me.getFileExtension())) { newMe = newMe.withFileExtension(me.getFileExtension()); } if (!me.copyFileTo (newMe)) { return (Result::fail("Windows Native: exportMeWithNewResource can't copy \""+me.getFullPathName()+"\" to \""+newMe.getFullPathName()+"\"")); } } else { return (Result::fail("Windows Native: exportMeWithNewResource \"Save file\" dialog failed")); } hResource = BeginUpdateResource(newMe.getFullPathName().toUTF8(), FALSE); if (hResource) { String error; if ( (error = CtrlrPanel::exportPanel (panelToWrite, File::nonexistent, newMe, &panelExportData, &panelResourcesData, isRestricted)) == String::empty) { if ( writeResource (hResource, MAKEINTRESOURCE(CTRLR_INTERNAL_PANEL_RESID), RT_RCDATA, panelExportData) && writeResource (hResource, MAKEINTRESOURCE(CTRLR_INTERNAL_RESOURCES_RESID), RT_RCDATA, panelResourcesData) ) { EndUpdateResource(hResource, FALSE); } else { return (Result::fail("Windows Native: exportMeWithNewResource writeResource[panel] failed")); } if (isRestricted && privateKey != RSAKey()) { /* Sign the panel */ MemoryBlock signature = signData (panelResourcesData, privateKey); } } else { return (Result::fail("Windows Native: exportMeWithNewResource exportPanel error: \""+error+"\"")); } return (Result::ok()); } return (Result::fail("Windows Native: exportMeWithNewResource BeginUpdateResource failed")); }
/** \brief add a fake signature to Data */ inline shared_ptr<Data> signData(shared_ptr<Data> data) { signData(*data); return data; }
QByteArray InstagramClient::getSignedBody(QByteArray data) const { return QByteArray("signed_body=").append(signData(data)).append("&ig_sig_key_version=4&d=0"); }