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
  • libqpdf
04 May, 2025
2 commits
  • Use C API correctly for jpeglib (fixes #1424)
    d2f06937
    Jay Berkenbilt authored
    2025-05-04 12:05:25 -0400  
    Browse Dir »
  • Merge pull request #1447 from m-holger/i1433 ...
    7242adca
    Fix QPDFFormFieldObjectHelper::getChoices (fixes #1433)
    m-holger authored
    2025-05-04 16:57:04 +0100  
    Browse Dir »

27 Apr, 2025
1 commit
  • Fix QPDFFormFieldObjectHelper::getChoices (fixes #1433) ...
    c46cfae7
    Return the display value if the choices entry is an array of strings rather
    than a single string.
    
    Test file is need-appearances.pdf modified to contain one array entry.
    m-holger authored
    2025-04-27 10:54:06 +0100  
    Browse Dir »

26 Apr, 2025
1 commit
  • Add additional sanity check during xref recovery ...
    df9633de
    Do not copy duplicate pages during xref recovery.
    m-holger authored
    2025-04-26 12:14:47 +0100  
    Browse Dir »

23 Apr, 2025
1 commit
  • During xref reconstruction reject unreasonably large objects ...
    2b94c755
    Reject objects containing arrays or dictionaries with more than 5000
    elements. We are by definition dealing with damaged files, and such
    objects are extremely likely to be invalid or malicious.
    m-holger authored
    2025-04-23 16:10:52 +0100  
    Browse Dir »

22 Apr, 2025
1 commit
  • Don't set tree root /Limits in NNTreeIterator::resetLimits (fixes #1435)
    5d3ff8f1
    m-holger authored
    2025-04-22 15:16:15 +0100  
    Browse Dir »

19 Apr, 2025
4 commits
  • Merge pull request #1440 from jberkenbilt/android ...
    ffda1f20
    Fix android build issues (fixes #950)
    Jay Berkenbilt authored
    2025-04-19 16:40:47 -0400  
    Browse Dir »
  • Merge pull request #1439 from jbarlow83/is-checked ...
    e155f50a
    Implement QPDFFormFieldObjectHelper::isChecked
    Jay Berkenbilt authored
    2025-04-19 16:40:18 -0400  
    Browse Dir »
  • Fix android build issues (fixes #950)
    61daf8f1
    Jay Berkenbilt authored
    2025-04-19 16:08:07 -0400  
    Browse Dir »
  • Implement QPDFFormFieldObjectHelper::isChecked ...
    3dab3002
    API was defined, but .cc had no implementation. PDF 2.0 manual is surprisingly unclear as to on/off values, giving /Yes in an example and /Off in descriptive text as "not on".
    James R. Barlow authored
    2025-04-19 01:12:26 -0700  
    Browse Dir »

18 Apr, 2025
1 commit
  • Detect shared /Kids arrays in pages tree ...
    a0782656
    In QPDF::getAllPagesInternal include the /Kids array in the visited set
    for loop detection.
    
    Fixes oss-fuzz issue 411312393
    m-holger authored
    2025-04-18 21:25:07 +0100  
    Browse Dir »

12 Apr, 2025
1 commit
  • Refactor QPDFFormFieldObjectHelper ValueSetter::writeAppearance ...
    c012dc29
    Adjusting for under/overflow by repeated incrementing/decrementing can
    cause excessive runtime with invalid BBox coordinates.
    
    Fixes oss-fuzz issue 409905355.
    m-holger authored
    2025-04-12 00:07:15 +0100  
    Browse Dir »

06 Apr, 2025
2 commits
  • Move fseeko checks in configuration for Android build (fixes #950) ...
    873c06b0
    Detection of fseeko on Android ABI level < 24 gets a false positive if
    _FILE_OFFSET_BITS is not set first.
    Jay Berkenbilt authored
    2025-04-06 08:53:54 -0400  
    Browse Dir »
  • Add --jpeg-quality-level flag (fixes #488) ...
    021edd02
    Thanks to github user @cdosborn for the basic enhancement.
    Jay Berkenbilt authored
    2025-04-06 08:42:45 -0400  
    Browse Dir »

05 Apr, 2025
4 commits
  • Add Pl_DCT::make_compress_config
    e62f1e4e
    Jay Berkenbilt authored
    2025-04-05 21:10:02 -0400  
    Browse Dir »
  • Fix logic around cleartext metadata (fixes #1368) ...
    8720065c
    Only top-level XMP metadata is supposed to be left unencrypted. All
    other metadata is not treated specially.
    Jay Berkenbilt authored
    2025-04-05 18:06:19 -0400  
    Browse Dir »
  • Allow rotate as array in job JSON (fixes #1401)
    a160bd4e
    Jay Berkenbilt authored
    2025-04-05 09:35:00 -0400  
    Browse Dir »
  • Deprecate QPDF::optimize
    7d10a8ab
    m-holger authored
    2025-04-05 13:40:43 +0100  
    Browse Dir »

31 Mar, 2025
1 commit
  • Merge pull request #1415 from m-holger/pr1396 ...
    6434e09d
    Fix offsets in QPDF::resolveObjectsInStream warnings
    m-holger authored
    2025-03-31 10:54:58 +0100  
    Browse Dir »

30 Mar, 2025
6 commits
  • Merge pull request #1414 from outtersg/main ...
    9bc0b2d7
    CMake: correctly detect that timezone is not an int
    Jay Berkenbilt authored
    2025-03-30 11:09:29 -0400  
    Browse Dir »
  • Fix offsets in QPDF::resolveObjectsInStream warnings ...
    e3b77e43
    As discussed in #1396.
    m-holger authored
    2025-03-30 13:22:11 +0100  
    Browse Dir »
  • Change QPDFExc to allow zero offsets ...
    c6a393a5
    Internally use -1 to represent a missing offset and provide a constructor
    overload that allows 0 as a valid offset.
    
    In QPDF::damagedPDF use the new overload.
    m-holger authored
    2025-03-30 13:12:13 +0100  
    Browse Dir »
  • Enhance --rotate usage message (fixes #1410) ...
    249427ea
    Also, silently fix any angle that is a multiple of 90.
    m-holger authored
    2025-03-30 11:37:15 +0100  
    Browse Dir »
  • Refactor QPDFWriter::writeObjectStreamOffsets ...
    cf3264b2
    Rather than converting each (sequential) object id to a string,
    generate a string for the first id and than increment the digits in the
    string.
    m-holger authored
    2025-03-30 10:45:06 +0100  
    Browse Dir »
  • Correctly detect that timezone is not an int ...
    9fea88dc
    The simple CMake test that printf("%ld", timezone) to tell if HAVE_EXTERN_LONG_TIMEZONE, incorrectly saw an int after casting FreeBSD's char * timezone(int zone, int dst) pointer function to an int. By dividing it by 60 (as will occur in the .cc file), we ensure the test program to fail and thus HAVE_EXTERN_LONG_TIMEZONE not to be defined.
    Guillaume Outters authored
    2025-03-30 06:26:49 +0200  
    Browse Dir »

26 Mar, 2025
1 commit
  • Add new CLI option --remove-structure ...
    464d94af
    ... to remove the /Root /StructTreeRoot and /MarkInfo entries.
    m-holger authored
    2025-03-26 23:30:44 +0000  
    Browse Dir »

25 Mar, 2025
14 commits
  • Amend pl::Count to use a numeric rather than string identifier
    2033b376
    m-holger authored
    2025-03-25 15:04:32 +0000  
    Browse Dir »
  • Enhance pl::Count to support buffered writing to next
    9c7c7413
    m-holger authored
    2025-03-25 14:51:25 +0000  
    Browse Dir »
  • Enhance pl::Count to incorporate an end-of-line Pl_String
    80631cb0
    m-holger authored
    2025-03-25 14:44:04 +0000  
    Browse Dir »
  • Add a private API version of Pl_Count ...
    876c238e
    ... and use it in QPDFWriter and QPDF::generateHintStream.
    m-holger authored
    2025-03-25 14:44:04 +0000  
    Browse Dir »
  • In QPDFWriter::PipelinePopper remove special handling of Pl_Buffer ...
    05f8281f
    Also, remove redundant QPDFWriter::writeBuffer.
    m-holger authored
    2025-03-25 14:44:04 +0000  
    Browse Dir »
  • In QPDFWriter::writeHintStream use std::string instead of std::shared_ptr<Buffer>
    953ed4b8
    m-holger authored
    2025-03-25 14:44:04 +0000  
    Browse Dir »
  • In QPDFWriter::writeLinearized use Pl_String instead of Pl_Buffer
    7cc1e08d
    m-holger authored
    2025-03-25 14:44:04 +0000  
    Browse Dir »
  • In QPDFWriter::writeXRefStream use Pl_String instead of Pl_Buffer
    68d10931
    m-holger authored
    2025-03-25 14:44:04 +0000  
    Browse Dir »
  • In QPDFWriter::writeObjectStream use Pl_String instead of Pl_Buffer
    b20485e4
    m-holger authored
    2025-03-25 14:44:04 +0000  
    Browse Dir »
  • In QPDFWriter::willFilterStream use Pl_String instead of Pl_Buffer ...
    d7853db8
    Also,
    - use Pl_Discard when only checking whether stream is filterable
    - get last char directly from output string
    m-holger authored
    2025-03-25 14:44:04 +0000  
    Browse Dir »
  • Fix parsing of object streams ...
    b37fc717
    ... containing objects with no white-space between them.
    
    To enforce the rule that objects end at the start-offset of the next
    object, each object is parsed in it own object stream.
    
    To facilitate this, a new private API input source is::OffsetBuffer has
    been added which only contains the object but reports offsets relative to
    the start of the object stream. This is adapted from OffsetInputSource by
    changing the direction of the offset, endowing it with its own
    BufferInputSource and striooing out checks duplicated in BufferInputSource.
    
    Fixes the expected failure in the test case added in #1266.
    m-holger authored
    2025-03-25 10:40:01 +0000  
    Browse Dir »
  • Refactor calls to QPDFParser::parse ...
    8b0eaaf7
    Add static parse methods. Make all external access to QPDFParser through
    static methods.
    
    Make all non-static methods including constructors private.
    m-holger authored
    2025-03-25 02:36:03 +0000  
    Browse Dir »
  • Refactor object stream warnings and object descriptions ...
    626d5061
    Only build strings when needed.
    m-holger authored
    2025-03-25 02:04:37 +0000  
    Browse Dir »
  • Move QPDFObject::getResolvedTypeCode implementation ...
    db87f3ca
    ... to QPDFObjectHandle_private.hh
    m-holger authored
    2025-03-25 02:04:37 +0000  
    Browse Dir »