mirror of
https://github.com/ONLYOFFICE/core.git
synced 2026-04-07 13:55:33 +08:00
SetImageValid and SetImageInvalid with paths outside the archive
This commit is contained in:
@ -14,6 +14,8 @@ public:
|
||||
void SetGuid (const std::wstring& guid);
|
||||
void SetImageValid (const std::wstring& file);
|
||||
void SetImageInvalid(const std::wstring& file);
|
||||
void SetImageValid (unsigned char* data, unsigned long length);
|
||||
void SetImageInvalid(unsigned char* data, unsigned long length);
|
||||
|
||||
int Sign(unsigned char*& pFiletoWrite, unsigned long& dwLenFiletoWrite);
|
||||
|
||||
|
||||
@ -152,6 +152,18 @@ public:
|
||||
|
||||
return sReturn;
|
||||
}
|
||||
std::wstring GetImageBase64(BYTE* data, DWORD length)
|
||||
{
|
||||
char* pDataC = NULL;
|
||||
int nLen = 0;
|
||||
NSFile::CBase64Converter::Encode(data, (int)length, pDataC, nLen, NSBase64::B64_BASE64_FLAG_NOCRLF);
|
||||
|
||||
std::wstring sReturn = NSFile::CUtf8Converter::GetUnicodeFromCharPtr(pDataC, (LONG)nLen, FALSE);
|
||||
|
||||
RELEASEARRAYOBJECTS(pDataC);
|
||||
|
||||
return sReturn;
|
||||
}
|
||||
|
||||
std::wstring GetRelsReference(const std::wstring& file)
|
||||
{
|
||||
@ -485,10 +497,18 @@ public:
|
||||
{
|
||||
m_image_valid = GetImageBase64(file);
|
||||
}
|
||||
void SetImageValid(BYTE* data, DWORD length)
|
||||
{
|
||||
m_image_valid = GetImageBase64(data, length);
|
||||
}
|
||||
void SetImageInvalid(const std::wstring& file)
|
||||
{
|
||||
m_image_invalid = GetImageBase64(file);
|
||||
}
|
||||
void SetImageInvalid(BYTE* data, DWORD length)
|
||||
{
|
||||
m_image_invalid = GetImageBase64(data, length);
|
||||
}
|
||||
|
||||
std::wstring GeneratePackageObject()
|
||||
{
|
||||
@ -732,11 +752,21 @@ void COOXMLSigner::SetImageValid(const std::wstring& file)
|
||||
m_internal->SetImageValid(file);
|
||||
}
|
||||
|
||||
void COOXMLSigner::SetImageValid(BYTE* data, DWORD length)
|
||||
{
|
||||
m_internal->SetImageValid(data, length);
|
||||
}
|
||||
|
||||
void COOXMLSigner::SetImageInvalid(const std::wstring& file)
|
||||
{
|
||||
m_internal->SetImageInvalid(file);
|
||||
}
|
||||
|
||||
void COOXMLSigner::SetImageInvalid(BYTE* data, DWORD length)
|
||||
{
|
||||
m_internal->SetImageInvalid(data, length);
|
||||
}
|
||||
|
||||
int COOXMLSigner::Sign(BYTE*& pFiletoWrite, DWORD& dwLenFiletoWrite)
|
||||
{
|
||||
return m_internal->Sign(pFiletoWrite, dwLenFiletoWrite);
|
||||
|
||||
Reference in New Issue
Block a user