| OLD | NEW |
| 1 // Copyright 2014 PDFium Authors. All rights reserved. | 1 // Copyright 2014 PDFium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com | 5 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com |
| 6 | 6 |
| 7 #include "xfa/fxfa/xfa_checksum.h" | 7 #include "xfa/fxfa/xfa_checksum.h" |
| 8 | 8 |
| 9 #include "core/fdrm/crypto/fx_crypt.h" | 9 #include "core/fdrm/crypto/fx_crypt.h" |
| 10 | 10 |
| (...skipping 207 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 218 } | 218 } |
| 219 | 219 |
| 220 void CXFA_ChecksumContext::StartChecksum() { | 220 void CXFA_ChecksumContext::StartChecksum() { |
| 221 FinishChecksum(); | 221 FinishChecksum(); |
| 222 m_pByteContext = FX_Alloc(uint8_t, 128); | 222 m_pByteContext = FX_Alloc(uint8_t, 128); |
| 223 CRYPT_SHA1Start(m_pByteContext); | 223 CRYPT_SHA1Start(m_pByteContext); |
| 224 m_bsChecksum.clear(); | 224 m_bsChecksum.clear(); |
| 225 m_pSAXReader = new CFX_SAXReader; | 225 m_pSAXReader = new CFX_SAXReader; |
| 226 } | 226 } |
| 227 | 227 |
| 228 bool CXFA_ChecksumContext::UpdateChecksum(IFX_SeekableReadStream* pSrcFile, | 228 bool CXFA_ChecksumContext::UpdateChecksum( |
| 229 FX_FILESIZE offset, | 229 const CFX_RetainPtr<IFX_SeekableReadStream>& pSrcFile, |
| 230 size_t size) { | 230 FX_FILESIZE offset, |
| 231 size_t size) { |
| 231 if (!m_pSAXReader || !pSrcFile) | 232 if (!m_pSAXReader || !pSrcFile) |
| 232 return false; | 233 return false; |
| 234 |
| 233 if (size < 1) | 235 if (size < 1) |
| 234 size = pSrcFile->GetSize(); | 236 size = pSrcFile->GetSize(); |
| 235 | 237 |
| 236 CXFA_SAXReaderHandler handler(this); | 238 CXFA_SAXReaderHandler handler(this); |
| 237 m_pSAXReader->SetHandler(&handler); | 239 m_pSAXReader->SetHandler(&handler); |
| 238 if (m_pSAXReader->StartParse( | 240 if (m_pSAXReader->StartParse( |
| 239 pSrcFile, (uint32_t)offset, (uint32_t)size, | 241 pSrcFile, (uint32_t)offset, (uint32_t)size, |
| 240 CFX_SaxParseMode_NotSkipSpace | CFX_SaxParseMode_NotConvert_amp | | 242 CFX_SaxParseMode_NotSkipSpace | CFX_SaxParseMode_NotConvert_amp | |
| 241 CFX_SaxParseMode_NotConvert_lt | CFX_SaxParseMode_NotConvert_gt | | 243 CFX_SaxParseMode_NotConvert_lt | CFX_SaxParseMode_NotConvert_gt | |
| 242 CFX_SaxParseMode_NotConvert_sharp) < 0) { | 244 CFX_SaxParseMode_NotConvert_sharp) < 0) { |
| (...skipping 20 matching lines...) Expand all Loading... |
| 263 | 265 |
| 264 CFX_ByteString CXFA_ChecksumContext::GetChecksum() const { | 266 CFX_ByteString CXFA_ChecksumContext::GetChecksum() const { |
| 265 return m_bsChecksum; | 267 return m_bsChecksum; |
| 266 } | 268 } |
| 267 | 269 |
| 268 void CXFA_ChecksumContext::Update(const CFX_ByteStringC& bsText) { | 270 void CXFA_ChecksumContext::Update(const CFX_ByteStringC& bsText) { |
| 269 if (m_pByteContext) { | 271 if (m_pByteContext) { |
| 270 CRYPT_SHA1Update(m_pByteContext, bsText.raw_str(), bsText.GetLength()); | 272 CRYPT_SHA1Update(m_pByteContext, bsText.raw_str(), bsText.GetLength()); |
| 271 } | 273 } |
| 272 } | 274 } |
| OLD | NEW |