commit 3b82fb789116c805b0a69f6bf3a72466a1e87308
Author: Albert Astals Cid <aacid@kde.org>
Date:   Sat Jan 2 17:54:42 2021 +0100

    poppler 21.01.0

 CMakeLists.txt         |  8 ++++----
 NEWS                   | 26 ++++++++++++++++++++++++++
 cpp/Doxyfile           |  2 +-
 qt5/src/CMakeLists.txt |  2 +-
 qt5/src/Doxyfile       |  2 +-
 qt6/src/CMakeLists.txt |  2 +-
 6 files changed, 34 insertions(+), 8 deletions(-)

commit da3ffc4ece56abfd4387ad30d0707d46a81396fb
Author: Albert Astals Cid <aacid@kde.org>
Date:   Fri Jan 1 18:49:44 2021 +0100

    Update (C)

    https://gitlab.freedesktop.org/poppler/poppler/-/merge_requests/742/diffs
    was in 2020

 poppler/JBIG2Stream.h | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 65c8152e0935dda215901a479abd8d5165aa0239
Author: Albert Astals Cid <aacid@kde.org>
Date:   Fri Jan 1 18:28:46 2021 +0100

    Update (C)

 poppler/JBIG2Stream.cc | 2 +-
 poppler/JBIG2Stream.h  | 2 +-
 poppler/Stream.cc      | 2 +-
 poppler/Stream.h       | 2 +-
 4 files changed, 4 insertions(+), 4 deletions(-)

commit deb70d33df07dda0e97e1d551f013a3b008f830a
Author: Albert Astals Cid <aacid@kde.org>
Date:   Fri Jan 1 17:57:59 2021 +0100

    Welcome 2021

 poppler/poppler-config.h.cmake | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit b8de1a1914e76642cafbbfa436f31be22e53e54f
Author: Oliver Sander <oliver.sander@tu-dresden.de>
Date:   Fri Jan 1 16:57:13 2021 +0000

    JBIG2Stream: Fix byte counting

    The JBIG2Stream::readSegments method contains a check for whether
    the number of bytes read actually matches the official size
    of the segment.  This check would fail occasionally, because
    apparently the bytes read were (sometimes) counted wrongly.

    Fix this by importing the corresponding explicit byte counting
    code from xpdf-4.02.

    BUGS: https://gitlab.freedesktop.org/poppler/poppler/-/issues/1005

 poppler/JBIG2Stream.cc | 83
 ++++++++++++++++++++++++++------------------------
 poppler/JBIG2Stream.h  |  1 +
 poppler/Stream.cc      | 19 ++++++++++++
 poppler/Stream.h       |  5 +++
 4 files changed, 68 insertions(+), 40 deletions(-)

commit 51151d41429de809235492bece87dd2d726c1a4e
Author: mrbax <12640-mrbax@users.noreply.gitlab.freedesktop.org>
Date:   Sat Dec 12 22:08:47 2020 +0100

    pdfimages: Account for rotation in PPI calculation

    Closes: https://gitlab.freedesktop.org/poppler/poppler/-/issues/3

 utils/ImageOutputDev.cc | 9 +++++----
 1 file changed, 5 insertions(+), 4 deletions(-)

commit cab257727998251bb29e9f150fd5df69d08a2758
Author: Albert Astals Cid <aacid@kde.org>
Date:   Wed Dec 23 19:29:10 2020 +0100

    Stop using std::codecvt_utf16 in fromDecimal

    It's deprecated since C++17 and since we only care about numbers
    we can
    just remove the first byte of the utf16 and treat it as a regular
    string

 ConfigureChecks.cmake             |  1 -
 config.h.cmake                    |  3 ---
 poppler/PageLabelInfo.cc          |  2 +-
 poppler/PageLabelInfo_p.h         | 45
 ++++++++++++++++++++-------------------
 qt5/tests/check_pagelabelinfo.cpp | 10 ++-------
 qt6/tests/check_pagelabelinfo.cpp | 10 ++-------
 6 files changed, 28 insertions(+), 43 deletions(-)

commit 8846eb5d2e1466cf0aaa1f38d5452b60c47bd9dc
Author: Albert Astals Cid <aacid@kde.org>
Date:   Wed Dec 30 17:37:41 2020 +0100

    QIODeviceOutStream: allocate memory dynamically

    Instead of using a fixed size array.

    I've only seen this being problematic in oss-fuzz created files,
    but I don't see why an actual file wouldn't create issues here too,
    so even if this is a bit slower, be on the safe side.

 qt5/src/poppler-qiodeviceoutstream.cc | 20 +++++++++++++++-----
 qt6/src/poppler-qiodeviceoutstream.cc | 20 +++++++++++++++-----
 2 files changed, 30 insertions(+), 10 deletions(-)

commit 3cb5d2531fd63bf136b016462c627ad45919a7ca
Author: Oliver Sander <oliver.sander@tu-dresden.de>
Date:   Wed Dec 30 07:08:52 2020 +0100

    Fix regression in JBIG2Stream.cc

    The recent commit 216ae4f058d2652f1795c7f840014cc69ee06408
    broke reading of certain JBIG2 images.  This commit fixes
    it again, by bringing the JBIG2Stream::reset() method
    back in line with what xpdf-4.02 does.

 poppler/JBIG2Stream.cc | 5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)

commit 72827b0c11dc18a7eb6fce89c0e9877a8f3fc820
Author: Albert Astals Cid <aacid@kde.org>
Date:   Tue Dec 29 23:50:05 2020 +0100

    qt: Account for catalog potentially lacking AcroForm

 qt5/src/poppler-document.cc | 7 +++++--
 qt6/src/poppler-document.cc | 7 +++++--
 2 files changed, 10 insertions(+), 4 deletions(-)

commit 1a7f9af090a079367f162a9a6b347e8f88ea6c0f
Author: Albert Astals Cid <aacid@kde.org>
Date:   Tue Dec 29 23:31:30 2020 +0100

    Update (C)

 poppler/PDFDoc.cc | 1 +
 1 file changed, 1 insertion(+)

commit 0f24db9612fafdc321e49f6ddfc6553284149724
Author: Adam Sampson <ats@offog.org>
Date:   Sun Dec 27 17:42:21 2020 +0000

    PDFDoc::setup: Always set errCode on failure

    When something goes wrong, this function should return false and set
    errCode to indicate what went wrong. The two new checks added at
    the top
    didn't set errCode.

 poppler/PDFDoc.cc | 2 ++
 1 file changed, 2 insertions(+)

commit 216ae4f058d2652f1795c7f840014cc69ee06408
Author: Oliver Sander <oliver.sander@tu-dresden.de>
Date:   Mon Dec 21 18:18:51 2020 +0100

    JBIG2Stream: Do not allocate std::vector objects on the heap

    This left-over from GooList times is just one pointless
    layer of indirection.

 poppler/JBIG2Stream.cc | 50
 ++++++++++++++++++++++----------------------------
 poppler/JBIG2Stream.h  |  4 ++--
 2 files changed, 24 insertions(+), 30 deletions(-)

commit 3fb0f4bdff02ccd178ba9fd58c449001c8b5c0ea
Author: Albert Astals Cid <aacid@kde.org>
Date:   Sun Dec 27 19:41:15 2020 +0100

    Fix integer overflow with broken files

    oss-fuzz/29020

 poppler/JBIG2Stream.cc | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

commit 439440930cd4679076befe8850f39575869c4af1
Author: Albert Astals Cid <aacid@kde.org>
Date:   Sun Dec 27 00:52:08 2020 +0100

    Update (C)

 poppler/Annot.cc  | 1 +
 poppler/XRef.cc   | 1 +
 utils/pdftoppm.cc | 1 +
 3 files changed, 3 insertions(+)

commit 94fea737473dd513438b7fb89347c6f1273e61b3
Author: Philipp Knechtges <philipp-dev@knechtges.com>
Date:   Wed Dec 2 01:04:47 2020 +0100

    pdftoppm/pdftops: move shared ICC profile checks to their own file

 utils/CMakeLists.txt  |  2 ++
 utils/pdftoppm.cc     | 43 +++++++-----------------------------------
 utils/pdftops.cc      | 40 ++++-----------------------------------
 utils/sanitychecks.cc | 52
 +++++++++++++++++++++++++++++++++++++++++++++++++++
 utils/sanitychecks.h  | 30 +++++++++++++++++++++++++++++
 5 files changed, 95 insertions(+), 72 deletions(-)

commit 3ea4508575167ec67583d3ed13efa100b8985b92
Author: Philipp Knechtges <philipp-dev@knechtges.com>
Date:   Wed Sep 30 21:40:39 2020 +0200

    pdftops: add options to set DeviceGray/DeviceRGB/DeviceCMYK to the CLI

 poppler/PSOutputDev.cc |  3 ++
 utils/pdftops.1        | 12 ++++++++
 utils/pdftops.cc       | 82
 +++++++++++++++++++++++++++++++++++++++++++++++---
 3 files changed, 92 insertions(+), 5 deletions(-)

commit 66eab5dab46d84b11d3eaa3ee107cb370061e39e
Author: Philipp Knechtges <philipp-dev@knechtges.com>
Date:   Wed Sep 30 21:39:19 2020 +0200

    PSOutputDev: allow ICCBased color spaces with invalid Ref to be
    embedded

 poppler/PSOutputDev.cc | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)

commit 0d6a3dd991efff3126a1cb9b4de21a2c6db6fb45
Author: Philipp Knechtges <philipp-dev@knechtges.com>
Date:   Wed Sep 30 15:47:06 2020 +0200

    pdftoppm: add options to set DeviceGray/DeviceRGB/DeviceCMYK to
    the CLI

 utils/pdftoppm.1  | 12 +++++++++
 utils/pdftoppm.cc | 76
 +++++++++++++++++++++++++++++++++++++++++++++++++++----
 2 files changed, 83 insertions(+), 5 deletions(-)

commit 1feeda46eb7c02092855c8d609cd493d9cfee18a
Author: Philipp Knechtges <philipp-dev@knechtges.com>
Date:   Wed Sep 30 13:56:43 2020 +0200

    Introduce options to set fallback DefaultGray/DefaultRGB/DefaultCMYK
    color spaces to ICC profiles

    This will allow for a fully color-managed workflow in cases where
    the pdf does not specify default
    color spaces.

 poppler/Gfx.cc      |  12 ++---
 poppler/GfxState.cc | 123
 ++++++++++++++++++++++++++++++++--------------------
 poppler/GfxState.h  |  36 +++++++++++++++
 poppler/OutputDev.h |  34 +++++++++++++++
 4 files changed, 153 insertions(+), 52 deletions(-)

commit 5dc1f4876031f0dc9fc09c89691c30c99a6ec418
Author: Nelson Benítez León <nbenitezl@gmail.com>
Date:   Fri Dec 25 22:19:43 2020 -0400

    Annots: check for form object

    before calling methods on it, because
    by de-facto it's possible for a pdf
    to have form fields but not have a
    Catalog root Form object.

    Fixes crash from issue #1018

 poppler/Annot.cc | 31 +++++++++++++++++++++----------
 1 file changed, 21 insertions(+), 10 deletions(-)

commit 8ba1a7c24f4e62783135face9a10b1fa6a764015
Author: William Bader <william@newspapersystems.com>
Date:   Fri Dec 25 02:23:37 2020 +0000

    Avoid testing xrefHasChanges each iteration in
    407293bfb9108c9d9e2611a294b389ed9c593900

 poppler/XRef.cc | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

commit d87e3d78d6d2323b1236dede9ada5bc1d7c74af1
Author: Albert Astals Cid <aacid@kde.org>
Date:   Fri Dec 25 11:07:13 2020 +0100

    Update (C)

 poppler/GfxState.cc | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 3a54ead84365fe41c07fa9c9f82c1afbb8f9c140
Author: William Bader <william@newspapersystems.com>
Date:   Fri Dec 25 01:57:37 2020 +0000

    Place the faster colorspace test first in
    0cd75023d84baf9d996c0f55da5ea9bd4c2d3b33

 poppler/GfxState.cc | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit e41020a290694c8cab589ab3858d4ac12d87f9cd
Author: Albert Astals Cid <aacid@kde.org>
Date:   Thu Dec 24 11:05:44 2020 +0100

    Update (C)

 poppler/GfxState.h | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 0cd75023d84baf9d996c0f55da5ea9bd4c2d3b33
Author: Thomas Freitag <thomas.freitag.bbr@gmail.com>
Date:   Thu Dec 24 09:41:03 2020 +0000

    don't use colorspace2 optimization if caller wants the spot colorants

 poppler/GfxState.cc | 2 +-
 poppler/GfxState.h  | 1 +
 2 files changed, 2 insertions(+), 1 deletion(-)

commit 4f478daa6a9734b8f269a6586bdce2909844bb6f
Author: Albert Astals Cid <aacid@kde.org>
Date:   Wed Dec 23 23:52:58 2020 +0100

    Fix opening files by some generators that are a bit broken

    But Adobe opens it and it's easy to fix

 poppler/XRef.cc | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

commit 3cc28b66132e66ed2dfe13a9a285ac41ac7267d5
Author: Albert Astals Cid <aacid@kde.org>
Date:   Wed Dec 23 23:27:02 2020 +0100

    FoFiType1C: Fix crashes with broken files

 fofi/FoFiType1C.cc | 7 +++----
 1 file changed, 3 insertions(+), 4 deletions(-)

commit 629d8aa142c27a36cb2cd123c8391bcfbd3f3e23
Author: Albert Astals Cid <aacid@kde.org>
Date:   Wed Dec 23 00:01:46 2020 +0100

    GfxCIDFont::GfxCIDFont: Fix Integer-overflow on broken files

    oss-fuzz/28884

 poppler/GfxFont.cc | 30 ++++++++++++++++--------------
 1 file changed, 16 insertions(+), 14 deletions(-)

commit 1c0c2ce5ddee5fb7cf695dc6005ab84b9ae9eb9c
Author: Albert Astals Cid <aacid@kde.org>
Date:   Tue Dec 22 23:10:27 2020 +0100

    Update (C)

 poppler/GfxState.cc | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 238dc045beeeb1eb619f3fb6cb699ba36813222d
Author: Albert Astals Cid <aacid@kde.org>
Date:   Mon Dec 21 22:57:44 2020 +0100

    Fix infinite looping in cvtGlyph with broken files

 fofi/FoFiType1C.cc | 20 +++++++++++++++-----
 fofi/FoFiType1C.h  |  4 +++-
 2 files changed, 18 insertions(+), 6 deletions(-)

commit 4c81b06626a50af68f0cf1c0f77caf434e46f67d
Author: Thomas Freitag <thomas.freitag@alfa.de>
Date:   Mon Dec 21 08:39:39 2020 +0100

    add white point correction when lcms is used

 poppler/GfxState.cc | 9 ++++++---
 1 file changed, 6 insertions(+), 3 deletions(-)

commit 20cc0c2a59d330b44306ef21e6c191f4e3ddaff5
Author: Albert Astals Cid <aacid@kde.org>
Date:   Mon Dec 21 18:46:56 2020 +0100

    Update (C)

 poppler/DCTStream.cc | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 11b2bc1b67a306af3ee5a731c95e856728b32bff
Author: Albert Astals Cid <aacid@kde.org>
Date:   Mon Dec 21 18:37:01 2020 +0100

    CI: Seems debian unstable clazy got fixed

 .gitlab-ci.yml | 1 -
 1 file changed, 1 deletion(-)

commit 52808e8d56606d009a2cb15a1963fe87ff29e040
Author: Albert Astals Cid <aacid@kde.org>
Date:   Sun Dec 20 23:39:40 2020 +0100

    CI: Use clazy from debian:testing for now, unstable is broken

 .gitlab-ci.yml | 1 +
 1 file changed, 1 insertion(+)

commit ae614bf8ab42c9d0c7ac57ecdfdcbcfc4ff6c639
Author: Albert Astals Cid <aacid@kde.org>
Date:   Sun Dec 20 23:15:12 2020 +0100

    Fix DCTStream::getChars we're reading past the buffer check

    I wonder how this had never crashed before :S

    Fixes #1011

 poppler/DCTStream.cc | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

commit e1f562582db4ed902989e23f7a02645a51da8e88
Author: Albert Astals Cid <aacid@kde.org>
Date:   Sat Dec 19 19:06:01 2020 +0100

    Update (C)

 poppler/JBIG2Stream.cc | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 009fab09ae7ec188b4ead67b006ac11d0f518b08
Author: Oliver Sander <oliver.sander@tu-dresden.de>
Date:   Sat Dec 19 10:10:04 2020 +0100

    JBIG2Reader: Handle segment type 51 ('end of file')

    Imported from xpdf-4.02.

 poppler/JBIG2Stream.cc | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

commit 6ec2556be99a908e4be7f775bafdb8e3b4cbd886
Author: Oliver Sander <oliver.sander@tu-dresden.de>
Date:   Sat Dec 19 09:55:08 2020 +0100

    JBIG2Reader: Fix binary constant

    When comparing the file JBIG2Reader.cc with what is in xpdf-4.02,
    I noticed that a particular constant used in the method
    readGenericBitmap differs in poppler and xpdf.  I have no idea
    what that constant is good for, but in a comment both poppler
    and xpdf give the binary representation of that constant.
    That binary number is identical in poppler and xpdf, and it
    matches the value in xpdf, but is off-by-one in poppler.
    This leads me to believe that the value in poppler wrong,
    possibly a typo.

 poppler/JBIG2Stream.cc | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit c71de2436a390f6d6db4f8d0f29887bfa574df78
Author: Albert Astals Cid <albert.astals.cid@kdab.com>
Date:   Fri Dec 18 14:04:11 2020 +0100

    qt: Mark file internal function as static

 qt5/src/poppler-annotation.cc | 2 +-
 qt6/src/poppler-annotation.cc | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

commit 6133bc0f3a2cb3b2c185c81367cbac9d72f11bbd
Author: Albert Astals Cid <aacid@kde.org>
Date:   Fri Dec 18 13:53:46 2020 +0100

    qt: The signing code will be in 21.01 not 20.12

 qt5/src/poppler-form.h | 14 +++++++-------
 qt5/src/poppler-qt5.h  |  4 ++--
 qt6/src/poppler-form.h | 14 +++++++-------
 qt6/src/poppler-qt6.h  |  4 ++--
 4 files changed, 18 insertions(+), 18 deletions(-)

commit fbc4d13d075ff30d6fccb5b81d8f3b8b19d673cb
Author: Albert Astals Cid <aacid@kde.org>
Date:   Fri Dec 18 13:40:49 2020 +0100

    qt6: Port the signing code from qt5

 qt6/src/poppler-annotation-private.h      |   4 +-
 qt6/src/poppler-annotation-private.h.orig | 115 ----------------
 qt6/src/poppler-annotation.cc             |  18 ++-
 qt6/src/poppler-annotation.h              |   2 +
 qt6/src/poppler-document.cc               |   2 +
 qt6/src/poppler-form.cc                   | 119 +++++++++++++++-
 qt6/src/poppler-form.h                    |  55 ++++++++
 qt6/src/poppler-pdf-converter.cc          | 220
 +++++++++++++++++++++++++++++-
 qt6/src/poppler-qt6.h                     |  83 +++++++++++
 9 files changed, 489 insertions(+), 129 deletions(-)

commit c38694aed09336232757316321d2fa84c5f2bf57
Author: Albert Astals Cid <aacid@kde.org>
Date:   Thu Dec 17 19:36:05 2020 +0100

    Fix integer overflow on broken files

    oss-fuzz/28749

 poppler/JBIG2Stream.cc | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)

commit 407293bfb9108c9d9e2611a294b389ed9c593900
Author: Albert Astals Cid <aacid@kde.org>
Date:   Wed Dec 16 10:21:31 2020 +0100

    Fix potential data loss if we try to fetch a non existing Ref after
    modifying the document

 poppler/XRef.cc | 14 ++++++++++++++
 1 file changed, 14 insertions(+)

commit b162c71038795a3bda642ba73d1ce619c3ad45ee
Author: Albert Astals Cid <aacid@kde.org>
Date:   Sun Dec 13 23:33:48 2020 +0100

    Update (C)

 poppler/DCTStream.cc | 1 +
 poppler/DCTStream.h  | 1 +
 poppler/GfxState.cc  | 1 +
 3 files changed, 3 insertions(+)

commit f1c3ded779582aef5f2cbaf29bc5da7a8eae6f69
Author: Lluís Batlle i Rossell <viric@viric.name>
Date:   Sun Dec 13 22:21:13 2020 +0000

    Faster routines for jpeg decoding

    linux 'perf' indicated a bottleneck in getChars

 poppler/DCTStream.cc |  66 ++++++++++++++---------------
 poppler/DCTStream.h  |   1 +
 poppler/GfxState.cc  | 116
 ++++++++++++++++++++++++++++++++-------------------
 3 files changed, 105 insertions(+), 78 deletions(-)

commit 73105150eb36d295d5574564421638ce34277fd5
Author: Albert Astals Cid <aacid@kde.org>
Date:   Sat Dec 5 19:53:29 2020 +0100

    CMap: remove unused function

 poppler/CMap.cc         | 102
 ++----------------------------------------------
 poppler/CMap.h          |  11 +-----
 poppler/GlobalParams.cc |   4 +-
 poppler/GlobalParams.h  |   2 +-
 4 files changed, 9 insertions(+), 110 deletions(-)

commit b0cb69a9a2c8df870371ad329b39d7ee9ae769c4
Author: Albert Astals Cid <albert.astals.cid@kdab.com>
Date:   Fri Dec 4 00:08:23 2020 +0100

    AnnotWidget: Don't add two Resources dicts when form has
    getDefaultResourcesObj

    Previously one was added in drawSignatureFieldText and another one
    later generateFieldAppearance if it had default, now we pass the
    default (or an empty one down) to the drawSignatureFieldText so that
    it doesn't get duplicated.

    Also fix createAnnotDrawFont to check if there's a Font Dict before
    adding it

 poppler/Annot.cc | 43 ++++++++++++++++++++++++-------------------
 poppler/Annot.h  |  4 ++--
 2 files changed, 26 insertions(+), 21 deletions(-)

commit af32e8c33e8372b8e500eb6163c92e4059350b74
Author: Albert Astals Cid <albert.astals.cid@kdab.com>
Date:   Mon Nov 30 14:32:48 2020 +0100

    qt5: Add API to know if NSS support is built in

    Otherwise we can't know if getAvailableSigningCertificates returns
    empty
    because you don't have any signature or because you don't have NSS
    support built in

 qt5/src/poppler-form.cc | 9 +++++++++
 qt5/src/poppler-form.h  | 7 +++++++
 2 files changed, 16 insertions(+)

commit 49ec8c262b4b81c66f42a6d7b2960ce390cad7c4
Author: Albert Astals Cid <albert.astals.cid@kdab.com>
Date:   Thu Nov 26 23:53:49 2020 +0100

    XRef: Fix wrong memory read on destruction

    when there's some objects that have been added and then removed

 poppler/XRef.cc | 5 +++++
 1 file changed, 5 insertions(+)

commit 013dbfaf9f08f000e7cc7e2972eb86d89b35f70f
Author: Albert Astals Cid <albert.astals.cid@kdab.com>
Date:   Thu Nov 26 23:20:38 2020 +0100

    qt5: more signature leak fixes

 qt5/src/poppler-pdf-converter.cc | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

commit 64e46de89d37ec9d3291998ec777fea3a4c6bac2
Author: Albert Astals Cid <albert.astals.cid@kdab.com>
Date:   Thu Nov 26 23:14:46 2020 +0100

    qt5: Signing: Cleanup after signing

    We don't want to modify this document

 poppler/Catalog.cc               | 25 +++++++++++++++++++++++++
 poppler/Catalog.h                |  1 +
 qt5/src/poppler-pdf-converter.cc | 17 +++++++++++++++--
 3 files changed, 41 insertions(+), 2 deletions(-)

commit 0ee37e9211ea46ab3885e58b75a4118c40e57484
Author: Albert Astals Cid <albert.astals.cid@kdab.com>
Date:   Thu Nov 26 22:21:48 2020 +0100

    Fix a few memory leaks in the new signing code

    The Rect thing is so that Annot::initialize doesn't mark the annot as
    not ok, and so Annots::appendAnnot keeps track of the annot and
    deletes
    it when necessary

 poppler/Form.cc                  | 10 ++++------
 poppler/SignatureHandler.cc      | 14 ++++++++++----
 poppler/SignatureHandler.h       |  2 +-
 qt5/src/poppler-form.cc          |  2 +-
 qt5/src/poppler-pdf-converter.cc | 10 ++++++++--
 5 files changed, 24 insertions(+), 14 deletions(-)

commit f1e703c686afa4765ddaed8d256752903fd68924
Author: Albert Astals Cid <albert.astals.cid@kdab.com>
Date:   Thu Nov 26 17:44:30 2020 +0100

    qt5: Add CertificateInfo::checkPassword

 qt5/src/poppler-form.cc | 15 +++++++++++++++
 qt5/src/poppler-form.h  |  7 +++++++
 2 files changed, 22 insertions(+)

commit 9db685f379c1c9195b5f0c9a693e7a581e6b214f
Author: Albert Astals Cid <albert.astals.cid@kdab.com>
Date:   Thu Oct 29 17:12:28 2020 +0100

    Improvements to adding digital signatures

     * Fix the new document that was being created hanging Adobe Reader
        - In particular using a Type0 font for the Annot "dummy" font was
          not a great idea since Type0 fonts are kind of complex in which
          they require descendant fonts, etc. so use a Type1 font
     * Let the user set its own NSS dir
     * Add a way to ask the user it's NSS password
     * Let the user pass in the apperance of the signature instead of
       hardcode it
     * Remove the need to first create an "empty" widget annotation
     and then
       sign that one. We just say "we want to sign" and the widget
       annotation will be created as process of that. That simplifies the
       code quite a bit in which the old code had lots of "we're
       creating an
       AnnotWidget that is a generic class but we're making it to be a
       Signature because we know later we will only use it for that"

 poppler/Annot.cc                     |  44 +-------
 poppler/Annot.h                      |   7 +-
 poppler/Catalog.cc                   |   3 +-
 poppler/Catalog.h                    |   3 +-
 poppler/Form.cc                      |  51 +++-------
 poppler/Form.h                       |   7 +-
 poppler/Object.h                     |   7 +-
 poppler/SignatureHandler.cc          |  58 +++++++----
 poppler/SignatureHandler.h           |  11 +-
 qt5/src/poppler-annotation-private.h |   4 +-
 qt5/src/poppler-annotation.cc        |  60 +++--------
 qt5/src/poppler-annotation.h         |   8 +-
 qt5/src/poppler-form.cc              |  96 ++++++------------
 qt5/src/poppler-form.h               |  45 +++++----
 qt5/src/poppler-pdf-converter.cc     | 188
 ++++++++++++++++++++++++++++++++++-
 qt5/src/poppler-qt5.h                |  87 ++++++++++++++--
 16 files changed, 415 insertions(+), 264 deletions(-)

commit f5a42423811b1de5059d77f138586d1a4e4e5e46
Author: Albert Astals Cid <albert.astals.cid@kdab.com>
Date:   Wed Oct 21 16:36:27 2020 +0200

    Make getAvailableSigningCertificates return an object and not
    a pointer

    The code on the Okular side was forgetting to delete the pointers and
    this class is cheap to copy

 qt5/src/poppler-form.cc | 6 +++---
 qt5/src/poppler-form.h  | 3 ++-
 2 files changed, 5 insertions(+), 4 deletions(-)

commit 098b15ac70f3f6e7dad6f736a820e8ad79b099e9
Author: Albert Astals Cid <albert.astals.cid@kdab.com>
Date:   Wed Oct 21 16:30:52 2020 +0200

    Make getAvailableSigningCertificates static

 poppler/SignatureHandler.cc | 2 ++
 poppler/SignatureHandler.h  | 3 ++-
 qt5/src/poppler-form.cc     | 4 ++--
 3 files changed, 6 insertions(+), 3 deletions(-)

commit cb211cf4bef9fa48e5b41e85db1a9a2fa4cf8f11
Author: Thorsten Behrens <Thorsten.Behrens@CIB.de>
Date:   Sat Feb 1 07:44:40 2020 +0100

    Comment out TimeStamp structs for the moment

    TSA part of the signature currently not implemented, but lets
    leave the struct definitions here for later.

 poppler/SignatureHandler.cc | 2 ++
 1 file changed, 2 insertions(+)

commit 118d288f93884c669ee42cd76b9e891df792f55d
Author: Thorsten Behrens <Thorsten.Behrens@CIB.de>
Date:   Thu Jan 30 05:32:55 2020 +0100

    Use slightly more modern PPKMS filter

    Plus a simple border will do, too.

 poppler/Form.cc               | 2 +-
 qt5/src/poppler-annotation.cc | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

commit 506769dc4b10bda8866abd81cdc5fa8aeaf19012
Author: Thorsten Behrens <Thorsten.Behrens@CIB.de>
Date:   Tue Jan 28 22:58:42 2020 +0100

    Fix PKCS signature generation

    * code from the LibreOffice under MPLv2
    * includes a load of extra metadata
    * including the actual certificate
    * while at it, hard-code SHA256 hash for all digests

 poppler/Form.cc             |   2 +-
 poppler/SignatureHandler.cc | 579
 +++++++++++++++++++++++++++++++++++++++++---
 2 files changed, 551 insertions(+), 30 deletions(-)

commit ea268e5ccb607ea29d2b1695753211bffbd9d9ae
Author: Thorsten Behrens <Thorsten.Behrens@CIB.de>
Date:   Mon Jan 27 19:07:19 2020 +0100

    Don't replace AcroForm fields, but add new ones

    Previously, adding new signatures always replaced the ones before
    in the central Fields array.

 poppler/Catalog.cc | 6 ++++++
 1 file changed, 6 insertions(+)

commit a41f34120a526da2cbc53b3b88d7fa586a229c80
Author: Thorsten Behrens <Thorsten.Behrens@CIB.de>
Date:   Mon Jan 27 11:31:49 2020 +0100

    Write /V and /DV dicts as indirect references

    Otherwise neither LibreOffice nor AcroRead will eat this.

 poppler/Form.cc | 10 ++++++----
 poppler/Form.h  |  2 +-
 2 files changed, 7 insertions(+), 5 deletions(-)

commit d1a720337ca34270729831c69513b057cfefb040
Author: Thorsten Behrens <Thorsten.Behrens@CIB.de>
Date:   Sat Jan 25 17:24:45 2020 +0100

    Export setNSSDir to have that externally configurable

 qt5/src/poppler-form.cc | 14 ++++++++++++++
 qt5/src/poppler-form.h  |  7 +++++++
 2 files changed, 21 insertions(+)

commit 5a8fad4e8354625de6ed086250292499a85fa13e
Author: Thorsten Behrens <Thorsten.Behrens@CIB.de>
Date:   Mon Jan 20 18:19:49 2020 +0100

    Make qt5/src/poppler-form.cc build w/o NSS

 qt5/src/poppler-form.cc | 20 ++++++++++++++++++--
 1 file changed, 18 insertions(+), 2 deletions(-)

commit adf32c7f5d73c5effa6cb0f1faab282481a7bf5c
Author: Thorsten Behrens <Thorsten.Behrens@CIB.de>
Date:   Mon Jan 20 06:29:55 2020 +0100

    Render signature rect and signer content

    Thus far with hard-coded colors and patterns. Should perhaps be
    configurable via poppler-qt...

 poppler/Annot.cc              | 85
 +++++++++++++++++++++++++++++++++++++++----
 poppler/Annot.h               | 12 ++++--
 poppler/Form.cc               | 32 +++++++++++++++-
 poppler/Form.h                |  8 ++++
 poppler/SignatureHandler.cc   | 22 +++++++----
 qt5/src/poppler-annotation.cc |  8 +++-
 6 files changed, 146 insertions(+), 21 deletions(-)

commit 9a030a9607bfa32927f4af71cce6725e85e848e9
Author: Thorsten Behrens <Thorsten.Behrens@CIB.de>
Date:   Sun Jan 19 02:50:49 2020 +0100

    Make sure setAcroForm() is called before using Form in any way

 poppler/Annot.cc              | 3 +++
 poppler/Form.cc               | 3 +++
 qt5/src/poppler-annotation.cc | 4 +---
 3 files changed, 7 insertions(+), 3 deletions(-)

commit 63e594c35be59380956b5317a68ec7d35c6258b6
Author: Thorsten Behrens <Thorsten.Behrens@CIB.de>
Date:   Sat Jan 18 15:53:27 2020 +0100

    Consistently use CERT nickname to reference keys

 poppler/CertificateInfo.cc  | 11 +++++++++++
 poppler/CertificateInfo.h   |  4 ++++
 poppler/SignatureHandler.cc |  3 +++
 qt5/src/poppler-form.cc     |  9 +++++++++
 qt5/src/poppler-form.h      |  5 +++++
 5 files changed, 32 insertions(+)

commit 62e788d9fabde9bcf3499df56d472d8d19f1664e
Author: Thorsten Behrens <Thorsten.Behrens@CIB.de>
Date:   Wed Dec 11 09:00:35 2019 +0100

    Add getAvailableSigningCertificates() for NSS keys

    For GUI applications to display a choice of signing keys, return
    vector of available (i.e. private-key-equipped) certificates queried
    from NSS.

    Avoids more than one library per process to access NSS.

    (cherry picked from commit 4b3f734d108b392fd3120a190489cac2107c4e58)

 poppler/SignatureHandler.cc | 72
 +++++++++++++++++++++++++++++++++++++--------
 poppler/SignatureHandler.h  |  5 +++-
 qt5/src/poppler-form.cc     | 37 ++++++++++++++++++-----
 qt5/src/poppler-form.h      |  4 +++
 4 files changed, 98 insertions(+), 20 deletions(-)

commit 768696dd549bcb66ac0fce6dd0076e243564ff6c
Author: Thorsten Behrens <Thorsten.Behrens@CIB.de>
Date:   Wed Jan 15 16:25:23 2020 +0100

    Actually create the FormField on adding signature

 poppler/Annot.cc | 20 +++-----------------
 1 file changed, 3 insertions(+), 17 deletions(-)

commit 387da8558a66f4c37211f64d304d18ab1c86cdc4
Author: Katarina Behrens <Katarina.Behrens@cib.de>
Date:   Mon Dec 16 14:14:15 2019 +0100

    Initialize formWidget in all ctors

 poppler/Annot.cc | 2 ++
 1 file changed, 2 insertions(+)

commit fd0029651e280e63766a31ecf6b53c46e1db1e6a
Author: Thorsten Behrens <Thorsten.Behrens@CIB.de>
Date:   Mon Nov 18 03:10:11 2019 +0100

    Fixup GooString

 goo/GooString.h | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 51d6f90a55754dfcb251851551e7b2cdbf69f5f5
Author: Thorsten Behrens <Thorsten.Behrens@CIB.de>
Date:   Mon Sep 30 21:17:15 2019 +0200

    Move sign() method to PDFConvert

 qt5/src/poppler-document.cc      | 11 +----------
 qt5/src/poppler-pdf-converter.cc | 21 +++++++++++++++++++++
 qt5/src/poppler-qt5.h            | 18 ++++++++++++++++--
 3 files changed, 38 insertions(+), 12 deletions(-)

commit 0375add530dafaac9b6979cae582afcc9cbae5aa
Author: Thorsten Behrens <Thorsten.Behrens@CIB.de>
Date:   Mon Sep 30 06:50:55 2019 +0200

    Write signature binary ASN1 blob as hex string explicitely

    Avoid global hex string hack in PDFDoc::writeString(), rather
    use object type when creating the signature field contents.

 poppler/Form.cc   |  3 ++-
 poppler/PDFDoc.cc | 10 +---------
 2 files changed, 3 insertions(+), 10 deletions(-)

commit d1479b4d6292637cdf80e1bbadbfb19e7247b94b
Author: Jakub Alba <jakubalba@gmail.com>
Date:   Mon Sep 30 06:46:25 2019 +0200

    Introduce hex string as a new Object type

    Binary data is best written as a hex string - avoids lots of escaping
    going on when we write it out again. In preparation for pdf ASN1
    signature writing.

    Co-authored-by: Thorsten Behrens <Thorsten.Behrens@cib.de>

 poppler/Object.cc | 13 ++++++++++++-
 poppler/Object.h  | 32 ++++++++++++++++++++++++++++----
 poppler/PDFDoc.cc | 11 ++++++++++-
 3 files changed, 50 insertions(+), 6 deletions(-)

commit 56df46f7c469d2633f1f35e12c10e169dc69588f
Author: Katarina Behrens <Katarina.Behrens@cib.de>
Date:   Tue Aug 27 06:48:37 2019 +0200

    Add certificateCN and password

 qt5/src/poppler-document.cc | 6 +++---
 qt5/src/poppler-qt5.h       | 2 +-
 2 files changed, 4 insertions(+), 4 deletions(-)

commit 7219a3825a30a7cdca505e0ff715e0ff020f66b0
Author: Katarina Behrens <Katarina.Behrens@cib.de>
Date:   Wed Aug 21 10:45:46 2019 +0200

    Pass widget annotation to sign down the chain

 qt5/src/poppler-document.cc | 10 +++++++++-
 qt5/src/poppler-qt5.h       |  3 ++-
 2 files changed, 11 insertions(+), 2 deletions(-)

commit d297b6b8a6a4d546cfbcda50a1c7c37eb79a3653
Author: Katarina Behrens <Katarina.Behrens@cib.de>
Date:   Wed Aug 21 10:44:42 2019 +0200

    Expose form widget to the related widget annotation

 poppler/Annot.cc              |  6 ++++--
 poppler/Annot.h               |  2 ++
 qt5/src/poppler-annotation.cc | 19 +++++++++++++++++++
 qt5/src/poppler-annotation.h  |  3 +++
 4 files changed, 28 insertions(+), 2 deletions(-)

commit 0c4942ef26adf1c874332de1379f7094206be225
Author: Katarina Behrens <Katarina.Behrens@cib.de>
Date:   Tue Aug 20 10:06:24 2019 +0200

    Use different ctor to be able to set more annot properties

 qt5/src/poppler-annotation.cc | 6 ++++--
 qt5/src/poppler-annotation.h  | 2 ++
 2 files changed, 6 insertions(+), 2 deletions(-)

commit 46583c7fb25653184fdde17a6e80d24357f5aa1e
Author: Hans-Ulrich Jüttner <huj@froreich-bioscientia.de>
Date:   Thu Aug 17 15:53:44 2017 +0200

    Added signing of PDF documents with digital signatures

    via Qt5 interface and pdfsig with parameter -s.

    Includes fix to write document then update byte offsets and sig
    on disk
    by Adrian Johnson

    Includes compile fixes by Oliver Sander and Albert Astals Cid

    Fixes bug #99416
