Logo white

OpenSystemsDevelopment / qpdf

Sign in
  • Sign in
  • Project
  • Files
  • Commits
  • Network
  • Graphs
  • Milestones
  • Issues 0
  • Merge Requests 0
  • Labels
  • Wiki
  • Commits 4,691
  • Compare
  • Branches 1
  • Tags 0
  • qpdf
29 Jul, 2017
14 commits
  • Allow reading command-line args from files (fixes #16)
    2d5b8544
    Jay Berkenbilt authored
    2017-07-29 22:23:21 -0400  
    Browse Code »
  • Detect input file = output file (fixes #29)
    5993c3e8
    Jay Berkenbilt authored
    2017-07-29 20:58:01 -0400  
    Browse Code »
  • Allow --check to coexist with and precede other operations (fixes #42)
    885b8781
    Jay Berkenbilt authored
    2017-07-29 19:56:21 -0400  
    Browse Code »
  • Catch more exceptions while resolving objects
    570db9b6
    Jay Berkenbilt authored
    2017-07-29 19:31:12 -0400  
    Browse Code »
  • When recover stream length, indicate the length (fixes #44)
    b43a0ac2
    Jay Berkenbilt authored
    2017-07-29 19:15:06 -0400  
    Browse Code »
  • Add newline-before-endstream option (fixes #103)
    f37d399d
    Jay Berkenbilt authored
    2017-07-29 12:21:38 -0400  
    Browse Code »
  • Handle zlib data errors better (fixes #106)
    6a7d53ad
    Jay Berkenbilt authored
    2017-07-29 12:19:04 -0400  
    Browse Code »
  • Better recovery of bad stream start (fixes #104)
    07d6f770
    Jay Berkenbilt authored
    2017-07-29 12:19:04 -0400  
    Browse Code »
  • autoconf: find gnu make as gmake or make (fixes #75)
    39d7307f
    Jay Berkenbilt authored
    2017-07-29 12:19:04 -0400  
    Browse Code »
  • Better handle split content streams (fixes #73) ...
    b389268f
    When parsing content streams, allow content to be split arbitrarily
    across stream boundaries.
    Jay Berkenbilt authored
    2017-07-29 12:19:04 -0400  
    Browse Code »
  • Fix exception catch
    a1368242
    Jay Berkenbilt authored
    2017-07-29 12:19:04 -0400  
    Browse Code »
  • Clarify documentation on copyForeignObject (fixes #69) ...
    4647acbe
    Be explicit about the need to keep the source QPDF object around.
    Jay Berkenbilt authored
    2017-07-29 12:19:04 -0400  
    Browse Code »
  • Use 1.2 as the version if we can't read it from the header ...
    ba2bae4a
    The code was using 1.0, but we use /FlateDecode, which didn't appear
    until 1.2.
    Jay Berkenbilt authored
    2017-07-29 12:19:04 -0400  
    Browse Code »
  • Update TODO
    bd72ec98
    Jay Berkenbilt authored
    2017-07-29 12:19:04 -0400  
    Browse Code »

28 Jul, 2017
3 commits
  • Update TODO
    ba78e169
    Jay Berkenbilt authored
    2017-07-28 19:32:40 -0400  
    Browse Code »
  • Add option to preserve unreferenced objects
    3a1ff5de
    Jay Berkenbilt authored
    2017-07-28 19:19:11 -0400  
    Browse Code »
  • Explicitly check root dictionary type ...
    a94a729f
    Very badly corrupted files may not have a retrievable root dictionary.
    Handle that as a special case so that a more helpful error message can
    be provided.
    Jay Berkenbilt authored
    2017-07-28 18:03:30 -0400  
    Browse Code »

27 Jul, 2017
7 commits
  • Update TODO
    ede1255a
    Jay Berkenbilt authored
    2017-07-27 23:49:46 -0400  
    Browse Code »
  • Add precheck streams capability ...
    7f889252
    When requested, QPDFWriter will do more aggress prechecking of streams
    to make sure it can actually succeed in decoding them before
    attempting to do so. This will allow preservation of raw data even
    when the raw data is corrupted relative to the specified filters.
    Jay Berkenbilt authored
    2017-07-27 23:42:27 -0400  
    Browse Code »
  • Convert many more errors to warnings
    428d96df
    Jay Berkenbilt authored
    2017-07-27 22:57:55 -0400  
    Browse Code »
  • Convert stream filtering errors to warnings
    a4fd4b91
    Jay Berkenbilt authored
    2017-07-27 18:43:07 -0400  
    Browse Code »
  • Convert object parsing errors to warnings ...
    40f00122
    QPDFObjectHandle::parseInternal now issues warnings instead of
    throwing exceptions for all error conditions that it finds (except
    internal logic errors) and has stronger recovery for things like
    invalid tokens and malformed dictionaries. This should improve qpdf's
    ability to recover from a wide range of broken files that currently
    cause it to fail.
    Jay Berkenbilt authored
    2017-07-27 18:20:31 -0400  
    Browse Code »
  • Move lexer helper functions to QUtil
    dd8dad74
    Jay Berkenbilt authored
    2017-07-27 13:59:56 -0400  
    Browse Code »
  • Remove PCRE from QPDFTokenizer
    0a745021
    Jay Berkenbilt authored
    2017-07-27 13:59:56 -0400  
    Browse Code »

26 Jul, 2017
10 commits
  • Make windows includes lowercase (fixes #123) ...
    8740b380
    For cross compiling.
    slurdge authored
    2017-07-26 06:39:09 -0400  
    Browse Code »
  • TODO: bump ABI version
    1e831cb9
    Jay Berkenbilt authored
    2017-07-26 06:24:07 -0400  
    Browse Code »
  • Include tests for other infinite loop bugs ...
    ac3c81a8
    fixes #117
    fixes #118
    fixes #119
    fixes #120
    
    Several other infinite loop bugs were fixed by previous changes.
    Include their test files in the test suite.
    Jay Berkenbilt authored
    2017-07-26 06:24:07 -0400  
    Browse Code »
  • Don't interpret word tokens in content streams (fixes #82)
    12db0989
    Jay Berkenbilt authored
    2017-07-26 06:24:07 -0400  
    Browse Code »
  • Detect recursion loops resolving objects (fixes #51) ...
    701b518d
    During parsing of an object, sometimes parts of the object have to be
    resolved. An example is stream lengths. If such an object directly or
    indirectly points to the object being parsed, it can cause an infinite
    loop. Guard against all cases of re-entrant resolution of objects.
    Jay Berkenbilt authored
    2017-07-26 06:24:07 -0400  
    Browse Code »
  • Handle object ID 0 (fixes #99) ...
    afe0242b
    This is CVE-2017-9208.
    
    The QPDF library uses object ID 0 internally as a sentinel to
    represent a direct object, but prior to this fix, was not blocking
    handling of 0 0 obj or 0 0 R as a special case. Creating an object in
    the file with 0 0 obj could cause various infinite loops. The PDF spec
    doesn't allow for object 0. Having qpdf handle object 0 might be a
    better fix, but changing all the places in the code that assumes objid
    == 0 means direct would be risky.
    Jay Berkenbilt authored
    2017-07-26 06:24:07 -0400  
    Browse Code »
  • Avoid xref reconstruction infinite loop (fixes #100) ...
    315092dd
    This is CVE-2017-9209.
    Jay Berkenbilt authored
    2017-07-26 06:24:07 -0400  
    Browse Code »
  • Fix infinite loop while reporting an error (fixes #101) ...
    603f2223
    This is CVE-2017-9210.
    
    The description string for an error message included unparsing an
    object, which is too complex of a thing to try to do while throwing an
    exception. There was only one example of this in the entire codebase,
    so it is not a pervasive problem. Fixing this eliminated one class of
    infinite loop errors.
    Jay Berkenbilt authored
    2017-07-26 06:24:07 -0400  
    Browse Code »
  • Fix typo in comment
    bd6c8456
    Jay Berkenbilt authored
    2017-07-26 06:24:07 -0400  
    Browse Code »
  • Updates for newer Windows toolchain
    e0ee307a
    Jay Berkenbilt authored
    2017-07-26 06:24:07 -0400  
    Browse Code »

27 Dec, 2016
1 commit
  • Note about std::regex attempt
    d4d7612b
    Jay Berkenbilt authored
    2016-12-27 14:34:18 -0500  
    Browse Code »

10 Sep, 2016
2 commits
  • install target: only install docs if building ...
    e8b845dd
    Don't try to install HTML or PDF documentation if we're not building
    docs.
    Jay Berkenbilt authored
    2016-09-10 14:30:47 -0400  
    Browse Code »
  • Fix page range example in documentation
    80988380
    Jay Berkenbilt authored
    2016-09-10 10:56:21 -0400  
    Browse Code »

24 Jan, 2016
3 commits
  • C++-Builder supports 64 Bit file functions ...
    b3c08f4f
    The 64 Bit file functions are supported by C++-Builder as well and
    need to be used, else fseek will error out on larger files than 4 GB
    like used in the large file test.
    Thorsten Schöning authored
    2016-01-24 12:07:20 -0500  
    Browse Code »
  • Include QPDFExc.hh for use in std::list
    7c08aa42
    Thorsten Schöning authored
    2016-01-24 12:07:03 -0500  
    Browse Code »
  • Use RM_WS_ONLY_LINES in test ...
    bfb93413
    Some compilers output extra newlines in some cases.
    Thorsten Schöning authored
    2016-01-24 12:05:22 -0500  
    Browse Code »