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
6 commits
  • 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
11 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 »
  • Include stdlib.h to provide exit
    953e6f64
    Thorsten Schöning authored
    2016-01-24 12:05:02 -0500  
    Browse Code »
  • Include QPDFObjectHandle for use in std::list ...
    e0201c12
    QPDFObjectHandle was used as forward declaration, but C++-Builder 10
    Seattle can't use it in std::list in such cases because the type is
    undefined.
    Thorsten Schöning authored
    2016-01-24 12:04:25 -0500  
    Browse Code »
  • From qtest: add RM_WS_ONLY_LINES option ...
    d4043604
    qutil.cc uses strerror to print some exceptions and adds a newline
    afterwards, but strerror in Windows already adds one newline at the
    end of the message and the additional one from std::endl breaks the
    output vs. the expected one.
    Thorsten Schöning authored
    2016-01-24 11:58:33 -0500  
    Browse Code »
  • Tweak wording of Thorsten's documentation updates
    15502013
    Jay Berkenbilt authored
    2016-01-24 11:52:09 -0500  
    Browse Code »
  • Add notes for running more tests on Windows ...
    dded2ec0
    Provide notes about LibTiff and such.
    Thorsten Schöning authored
    2016-01-24 11:52:09 -0500  
    Browse Code »
  • Support paths with spaces
    e80b6e33
    Thorsten Schöning authored
    2016-01-24 11:52:09 -0500  
    Browse Code »
  • Use absolute paths for large file tests ...
    eff935ab
    Working with absolute paths makes debugging easier, but some called
    scripts always need / as dir separator or won't work.
    Thorsten Schöning authored
    2016-01-24 11:52:09 -0500  
    Browse Code »
  • Fix non-portable use of /dev/null ...
    adbaa54a
    /dev/null is not portable, so use File::Spec instead, which provides
    portable "paths" and especially "nul" on Windows. I changed all places
    with hard coded /dev/null to be sure, while I think it only is a
    problem in direct system calls, because the other executed commands go
    to sh.exe from MSYS which itself should port /dev/null to NUL. The
    test still pass, so shouldn't have made any harm...
    Thorsten Schöning authored
    2016-01-24 11:52:09 -0500  
    Browse Code »