1. 15 Aug, 2019 1 commit
    • Marek Kasik's avatar
      Decrypt: Implement crypto functions using NSS · d7da4c0e
      Marek Kasik authored
      This commit moves DecryptStream and EncryptStream
      classes to their own source files so that they can
      have different implementations. Hash functions
      md5(), sha256(), sha384() and sha512() are also placed
      to these source files to allow different implementations.
      There is internal implementation of them
      in DecryptStream.{cc|h} and the NSS one
      in DecryptStreamNSS.{cc|h}.
      
      This commit also adds some new functions for usage
      in functions Decrypt::makeFileKey(), Decrypt::makeFileKey2()
      and revision6Hash().
      These are rc4DecryptArray(), aesDecryptArray() and
      aesEncryptArray().
      
      setNSSDir() function had to be moved to its own source files
      NSS.{cc|h} to have consistent initialization of NSS over
      all functions which needs it.
      d7da4c0e
  2. 13 Aug, 2019 3 commits
  3. 10 Aug, 2019 1 commit
  4. 08 Aug, 2019 2 commits
  5. 05 Aug, 2019 1 commit
  6. 01 Aug, 2019 2 commits
  7. 31 Jul, 2019 1 commit
  8. 21 Jul, 2019 1 commit
    • StefanBruens's avatar
      SplashXPathScanner: Optionally use small_vector from boost · 355fd8d5
      StefanBruens authored
      Currently, each row in the intersections vector is allocated separately,
      when the first intersection is added.
      
      To avoid these allocations for common simple polygons,
      boost::container::small_vector<4, T> is used, which stores up to
      4 intersections inline. small_vector is a header-only class.
      
      For the documents from #57 (fdo#96728) and #24 (fdo#78728), the
      runtime/memory is significantly reduced (according to /usr/bin/time -v):
      (1) $> pdftoppm -r 18 -aa no runsforever-poppler.pdf
      (2) $> pdftoppm surf-types.pdf
      
      Before/After
                                        runsforever-poppler |   surf-types
      User time (seconds):                2348.08 / 1773.53 |   7.76 /  5.02
      Maximum resident set size (kbytes):   46288 /   45896 |  14076 / 13748
      355fd8d5
  9. 20 Jul, 2019 1 commit
  10. 18 Jul, 2019 4 commits
  11. 17 Jul, 2019 2 commits
  12. 16 Jul, 2019 3 commits
  13. 15 Jul, 2019 3 commits
  14. 09 Jul, 2019 3 commits
  15. 06 Jul, 2019 1 commit
  16. 04 Jul, 2019 2 commits
  17. 03 Jul, 2019 6 commits
  18. 01 Jul, 2019 2 commits
  19. 27 Jun, 2019 1 commit