diff options
author | Dan Sinclair <dsinclair@chromium.org> | 2018-04-12 13:13:43 +0000 |
---|---|---|
committer | Chromium commit bot <commit-bot@chromium.org> | 2018-04-12 13:13:43 +0000 |
commit | e1a41afbe146c9a976d96828a3a09a8a384741d9 (patch) | |
tree | 6d6aac6f513d02de07ab6465de5d05aca08a8218 /xfa/fxfa/parser/cxfa_simple_parser.cpp | |
parent | 87b67f842fe53c3d5db553b6c1965f4588fecbfc (diff) | |
download | pdfium-e1a41afbe146c9a976d96828a3a09a8a384741d9.tar.xz |
[xfa] Remove form checksum abilities
This CL removes the code for verifying and creating checksums associated
with form elements in XFA documents. This was the only code requiring
the SAXReader which has also been removed.
According to the XFA spec and application can decide which parts of the
signatures are supported. This feature is being removed until we
determine if/when it is needed.
Bug: pdfium:1063
Change-Id: Iec2261282340f8fc72a1225d2e0d3e6ddf05edcb
Reviewed-on: https://pdfium-review.googlesource.com/30150
Reviewed-by: Ryan Harrison <rharrison@chromium.org>
Commit-Queue: dsinclair <dsinclair@chromium.org>
Diffstat (limited to 'xfa/fxfa/parser/cxfa_simple_parser.cpp')
-rw-r--r-- | xfa/fxfa/parser/cxfa_simple_parser.cpp | 23 |
1 files changed, 0 insertions, 23 deletions
diff --git a/xfa/fxfa/parser/cxfa_simple_parser.cpp b/xfa/fxfa/parser/cxfa_simple_parser.cpp index 7021285dff..b916b4dfc4 100644 --- a/xfa/fxfa/parser/cxfa_simple_parser.cpp +++ b/xfa/fxfa/parser/cxfa_simple_parser.cpp @@ -9,7 +9,6 @@ #include <utility> #include <vector> -#include "core/fxcrt/cfx_checksumcontext.h" #include "core/fxcrt/cfx_seekablestreamproxy.h" #include "core/fxcrt/cfx_widetextbuf.h" #include "core/fxcrt/fx_codepage.h" @@ -376,7 +375,6 @@ CFX_XMLNode* CXFA_SimpleParser::ParseXMLData(const ByteString& wsXML) { auto pStream = pdfium::MakeRetain<CFX_SeekableStreamProxy>( const_cast<uint8_t*>(wsXML.raw_str()), wsXML.GetLength()); m_pXMLDoc = pdfium::MakeUnique<CFX_XMLDoc>(pStream); - m_pXMLDoc->GetParser()->m_dwCheckStatus = 0x03; int32_t iRet = m_pXMLDoc->DoLoad(); if (iRet < 0 || iRet >= 100) @@ -642,33 +640,12 @@ CXFA_Node* CXFA_SimpleParser::ParseAsXDPPacket_Form( return nullptr; } - CFX_XMLElement* pXMLDocumentElement = - static_cast<CFX_XMLElement*>(pXMLDocumentNode); - WideString wsChecksum = pXMLDocumentElement->GetString(L"checksum"); - if (wsChecksum.GetLength() != 28 || - m_pXMLDoc->GetParser()->m_dwCheckStatus != 0x03) { - return nullptr; - } - - auto pChecksum = pdfium::MakeUnique<CFX_ChecksumContext>(); - pChecksum->StartChecksum(); - pChecksum->UpdateChecksum(m_pFileRead, m_pXMLDoc->GetParser()->m_nStart[0], - m_pXMLDoc->GetParser()->m_nSize[0]); - pChecksum->UpdateChecksum(m_pFileRead, m_pXMLDoc->GetParser()->m_nStart[1], - m_pXMLDoc->GetParser()->m_nSize[1]); - pChecksum->FinishChecksum(); - ByteString bsCheck = pChecksum->GetChecksum(); - if (bsCheck != wsChecksum.UTF8Encode()) - return nullptr; - CXFA_Node* pNode = m_pFactory->CreateNode(XFA_PacketType::Form, XFA_Element::Form); if (!pNode) return nullptr; pNode->JSObject()->SetCData(XFA_Attribute::Name, packet->name, false, false); - pNode->JSObject()->SetAttribute(XFA_Attribute::Checksum, - wsChecksum.AsStringView(), false); CXFA_Template* pTemplateRoot = m_pRootNode->GetFirstChildByClass<CXFA_Template>(XFA_Element::Template); CXFA_Subform* pTemplateChosen = |