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
04 May, 2025
4 commits
  • Prepare 12.2.0 release
    856d32c6
    Jay Berkenbilt authored
    2025-05-04 12:40:46 -0400  
    Browse Code »
  • Spell check
    593eb5a5
    Jay Berkenbilt authored
    2025-05-04 12:26:57 -0400  
    Browse Code »
  • Use C API correctly for jpeglib (fixes #1424)
    d2f06937
    Jay Berkenbilt authored
    2025-05-04 12:05:25 -0400  
    Browse Code »
  • 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 Code »

27 Apr, 2025
5 commits
  • Merge pull request #1446 from m-holger/fuzz ...
    ad3bac2c
    Add additional sanity check during xref recovery
    m-holger authored
    2025-04-27 22:53:57 +0100  
    Browse Code »
  • Add release note for Windows build improvement
    c7779175
    Jay Berkenbilt authored
    2025-04-27 10:40:39 -0400  
    Browse Code »
  • Merge pull request #1448 from jberkenbilt/improve-windows-build ...
    56bb66f2
    Enhance Windows build for local dev
    Jay Berkenbilt authored
    2025-04-27 10:30:42 -0400  
    Browse Code »
  • Enhance Windows build for local dev ...
    d51bdcf6
    * Remove dependency on `perl`, now only required for maintenance
      activities and running the test suite.
    * Exercise building qpdf and running executables from JetBrains CLion
      without any special additional tooling beyond pre-built external
      libraries.
    
    This replaces the `copy_dlls` with a powershell script, written mostly
    by ChatGPT, starting from the bash script below. The copy_dlls script
    had a lot of logic that was no longer needed.
    
    ```bash
    #!/bin/bash
    set -eo pipefail
    exe="$1"
    dest="$2"
    mingw_bin_dir="$3"
    if [[ $mingw_bin_dir == "" ]]; then
        echo >&2 "Usage: $(basename $0) exe dest mingw-bin-dir"
        exit 2
    fi
    
    get_dlls() {
        objdump -p "$1" | grep 'DLL Name:' | awk '{print $NF}'
    }
    declare -a dlls
    dlls=($(get_dlls "$exe"))
    declare -A seen
    while [[ ${#dlls[@]} -gt 0 ]]; do
        i="${dlls[0]}"
        dlls=("${dlls[@]:1}")
        if [[ ${seen[$i]} == 1 ]]; then
            continue
        fi
        seen[$i]=1
        full="$mingw_bin_dir/$i"
        if [[ -f "$full" ]]; then
            cp "$full" $dest/
            dlls+=($(get_dlls "$full"))
        fi
    done
    ```
    Jay Berkenbilt authored
    2025-04-27 09:56:38 -0400  
    Browse Code »
  • 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 Code »

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 Code »

23 Apr, 2025
2 commits
  • Merge pull request #1444 from m-holger/fuzz ...
    6e580e24
    During xref reconstruction reject unreasonably large objects
    m-holger authored
    2025-04-23 22:24:00 +0100  
    Browse Code »
  • 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 Code »

22 Apr, 2025
3 commits
  • Merge pull request #1442 from m-holger/i1435 ...
    8ef5cfad
    Don't set tree root /Limits in NNTreeIterator::resetLimits (fixes #1435)
    m-holger authored
    2025-04-22 16:34:33 +0100  
    Browse Code »
  • Don't set tree root /Limits in NNTreeIterator::resetLimits (fixes #1435)
    5d3ff8f1
    m-holger authored
    2025-04-22 15:16:15 +0100  
    Browse Code »
  • Merge pull request #1438 from m-holger/bump ...
    cc933c35
    Bump version to 12.1.1
    m-holger authored
    2025-04-22 13:26:21 +0100  
    Browse Code »

21 Apr, 2025
1 commit
  • Bump version to 12.1.1
    a77aa270
    m-holger authored
    2025-04-21 19:36:58 +0100  
    Browse Code »

19 Apr, 2025
5 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 Code »
  • Merge pull request #1439 from jbarlow83/is-checked ...
    e155f50a
    Implement QPDFFormFieldObjectHelper::isChecked
    Jay Berkenbilt authored
    2025-04-19 16:40:18 -0400  
    Browse Code »
  • Fix android build issues (fixes #950)
    61daf8f1
    Jay Berkenbilt authored
    2025-04-19 16:08:07 -0400  
    Browse Code »
  • Merge pull request #1437 from m-holger/fuzz ...
    9e189725
    Detect shared /Kids arrays in pages tree
    m-holger authored
    2025-04-19 18:35:02 +0100  
    Browse Code »
  • 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 Code »

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 Code »

12 Apr, 2025
2 commits
  • Merge pull request #1430 from m-holger/fuzz ...
    ac94437a
    Refactor QPDFFormFieldObjectHelper ValueSetter::writeAppearance
    m-holger authored
    2025-04-12 00:36:22 +0100  
    Browse Code »
  • 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 Code »

06 Apr, 2025
3 commits
  • Prepare 12.1.0 release
    51fa3b52
    Jay Berkenbilt authored
    2025-04-06 09:23:49 -0400  
    Browse Code »
  • 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 Code »
  • 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 Code »

05 Apr, 2025
9 commits
  • Add Pl_DCT::make_compress_config
    e62f1e4e
    Jay Berkenbilt authored
    2025-04-05 21:10:02 -0400  
    Browse Code »
  • Merge pull request #1421 from jberkenbilt/cleartext-metadata ...
    0f85e452
    Fix logic around cleartext metadata (fixes #1368)
    Jay Berkenbilt authored
    2025-04-05 19:42:33 -0400  
    Browse Code »
  • 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 Code »
  • Merge pull request #1419 from jberkenbilt/rotate-json ...
    4927e049
    Allow rotate as array in job JSON (fixes #1401)
    Jay Berkenbilt authored
    2025-04-05 10:16:10 -0400  
    Browse Code »
  • Allow rotate as array in job JSON (fixes #1401)
    a160bd4e
    Jay Berkenbilt authored
    2025-04-05 09:35:00 -0400  
    Browse Code »
  • Merge pull request #1417 from jberkenbilt/cmake-presets ...
    63197703
    Replace JetBrains-specific cmake profiles with CMakePresets.json
    Jay Berkenbilt authored
    2025-04-05 09:32:54 -0400  
    Browse Code »
  • Merge pull request #1418 from m-holger/opt ...
    5769414b
    Deprecate QPDF::optimize
    m-holger authored
    2025-04-05 14:17:48 +0100  
    Browse Code »
  • Replace JetBrains-specific cmake profiles with CMakePresets.json ...
    f935c9fc
    Plus sneak in some spell checks
    Jay Berkenbilt authored
    2025-04-05 09:02:08 -0400  
    Browse Code »
  • Deprecate QPDF::optimize
    7d10a8ab
    m-holger authored
    2025-04-05 13:40:43 +0100  
    Browse Code »

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 Code »

30 Mar, 2025
3 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 Code »
  • Fix offsets in QPDF::resolveObjectsInStream warnings ...
    e3b77e43
    As discussed in #1396.
    m-holger authored
    2025-03-30 13:22:11 +0100  
    Browse Code »
  • 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 Code »