Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merge in updated libraries from Cantaloup 5.0.6 #653

Closed
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
48 commits
Select commit Hold shift + click to select a range
c540e8d
Add --build arguments to docker compose invocations
Mar 25, 2022
9c5b1fa
Add an --add-opens argument to the surefire invocation to support JAI…
Mar 25, 2022
3934409
Replace JDK 15 & 16 with 18 in CI and update Windows containers to Se…
Mar 25, 2022
3f856f4
handle() adds the OperationList to the RequestContext before calling …
May 12, 2022
18a76cc
Updating libraries
glenrobson Aug 9, 2023
1f98ccc
Preparing for PDFBox v3 update
glenrobson Aug 9, 2023
f89fa00
Updating tika to v2.8.0
glenrobson Aug 9, 2023
487dd59
Rolling back to 1.3.2 which is latest release
glenrobson Aug 9, 2023
a660719
Rolling back seleniumhq
glenrobson Aug 10, 2023
f2c65f7
Syncing versions of slf4j and logback
glenrobson Aug 30, 2023
ee991b2
Updating maven version as 3.8.5 no longer exists at the URL
glenrobson Aug 30, 2023
f438f83
Trying upgrading windows version
glenrobson Aug 30, 2023
a5b3e5d
Moving choco package
glenrobson Aug 30, 2023
85a993a
Moving creating prepared statement to after blob population
glenrobson Sep 5, 2023
8ab3d43
Fixing a missing blob exception
glenrobson Sep 6, 2023
6ce84ca
Rolling back HikariCP to last version to support Java 8
glenrobson Sep 6, 2023
c8440ff
Adding a baseURI to make the rdf:about have a value
glenrobson Oct 3, 2023
e5340cd
Adding an rdf:about value if not present
glenrobson Oct 3, 2023
1833104
Updating to latest Jena version
glenrobson Oct 3, 2023
0e6aa05
Checking for empty rdf:about and using base URI
glenrobson Oct 3, 2023
9fdabba
Unpinning htmlunit version form selenium
glenrobson Oct 3, 2023
a03e63c
Handling different exception but same outcome
glenrobson Oct 4, 2023
962dbff
Adding RDF namespace
glenrobson Oct 4, 2023
cb8997c
Adding RDF namespace to test
glenrobson Oct 4, 2023
d96c36b
Updating Jackson
glenrobson Oct 4, 2023
72aaecc
Updating jetty
glenrobson Oct 4, 2023
3b6b762
Moving to CGI.escape for Ruby 3
glenrobson Dec 5, 2023
49947d5
Trying the debian version of grok
glenrobson Dec 5, 2023
385c243
Fixing typo
glenrobson Dec 5, 2023
63c6d6a
Updating Ubuntu to version with grok
glenrobson Dec 5, 2023
9556c9a
Moving to ubuntu lunar so we can get Grok via apt-get
glenrobson Dec 6, 2023
0527dff
Updating grok install
glenrobson Dec 7, 2023
283d85e
Adding changes to v 5.0.6
glenrobson Jan 24, 2024
9149ee9
Adding basic CREDITS.md
glenrobson Jan 24, 2024
31c4aaa
Updating logback version
glenrobson Jan 24, 2024
985b9ae
Updating libraries for security
glenrobson Jan 24, 2024
1874a81
Updating mvn verify plugin
glenrobson Jan 24, 2024
cdb1ce9
Updating libraries identified by mvn verify
glenrobson Jan 24, 2024
f884094
Updating spot bugs
glenrobson Jan 24, 2024
0e9ad45
Rolling back s3 version
glenrobson Jan 24, 2024
026b69b
Adding wait before testing if purged
glenrobson Jan 24, 2024
bf2ee95
Speeding up test
glenrobson Jan 24, 2024
ae6f431
Adding a pause after purge
glenrobson Jan 24, 2024
f95a1a3
Trying a newer version of AWS
glenrobson Jan 24, 2024
2841244
Merge branch 'develop' into cantaloup-5.0.6
glenrobson May 8, 2024
747942f
Updating Jetty
glenrobson May 8, 2024
9e38b56
Resolving merge with added blob issue.
glenrobson May 8, 2024
1a1c878
Going with develop fix
glenrobson May 8, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
26 changes: 10 additions & 16 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,31 +6,25 @@ jobs:
strategy:
matrix:
os: [ubuntu-latest, windows-latest]
java: [jdk11, jdk15, graalvm]
java: [jdk11, jdk18, graalvm]
fail-fast: false
steps:
- name: Check out the repository
uses: actions/checkout@v2
- name: Test in Linux JDK 11
if: matrix.os == 'ubuntu-latest' && matrix.java == 'jdk11'
run: docker-compose -f docker/Linux-JDK11/docker-compose.yml up --exit-code-from cantaloupe
- name: Test in Linux JDK 15
if: matrix.os == 'ubuntu-latest' && matrix.java == 'jdk15'
run: docker-compose -f docker/Linux-JDK15/docker-compose.yml up --exit-code-from cantaloupe
- name: Test in Linux JDK 16
if: matrix.os == 'ubuntu-latest' && matrix.java == 'jdk16'
run: docker-compose -f docker/Linux-JDK16/docker-compose.yml up --exit-code-from cantaloupe
run: docker-compose -f docker/Linux-JDK11/docker-compose.yml up --build --exit-code-from cantaloupe
- name: Test in Linux JDK 18
if: matrix.os == 'ubuntu-latest' && matrix.java == 'jdk18'
run: docker-compose -f docker/Linux-JDK18/docker-compose.yml up --build --exit-code-from cantaloupe
- name: Test in Linux GraalVM
if: matrix.os == 'ubuntu-latest' && matrix.java == 'graalvm'
run: docker-compose -f docker/Linux-GraalVM20/docker-compose.yml up --exit-code-from cantaloupe
run: docker-compose -f docker/Linux-GraalVM20/docker-compose.yml up --build --exit-code-from cantaloupe
- name: Test in Windows JDK 11
if: matrix.os == 'windows-latest' && matrix.java == 'jdk11'
run: docker-compose -f docker/Windows-JDK11/docker-compose.yml up --exit-code-from cantaloupe
- name: Test in Windows JDK 15
if: matrix.os == 'windows-latest' && matrix.java == 'jdk15'
run: docker-compose -f docker/Windows-JDK15/docker-compose.yml up --exit-code-from cantaloupe
- name: Test in Windows JDK 16
if: matrix.os == 'windows-latest' && matrix.java == 'jdk16'
run: docker-compose -f docker/Windows-JDK16/docker-compose.yml up --exit-code-from cantaloupe
run: docker-compose -f docker/Windows-JDK11/docker-compose.yml up --build --exit-code-from cantaloupe
- name: Test in Windows JDK 18
if: matrix.os == 'windows-latest' && matrix.java == 'jdk18'
run: docker-compose -f docker/Windows-JDK18/docker-compose.yml up --build --exit-code-from cantaloupe
# TODO: Windows+GraalVM

4 changes: 4 additions & 0 deletions CHANGES.md
Original file line number Diff line number Diff line change
Expand Up @@ -37,10 +37,14 @@
## 5.0.6

* IIIF information endpoints always return JSON in HTTP 4xx responses.
* Fixed a bug whereby the values of the `operations` and `page_count` keys
in the delegate context were not set.
* TurboJpegProcessor is able to generate non-JPEG derivative images, which
fixes an HTTP 415 error that would occur when trying to do that.
* Fixed a crop-offset bug that could occur when using PdfBoxProcessor to
generate JPEGs with libjpeg-turbo active.
* Updating libraries to fix security issues. Full details in [#634](https://github.com/cantaloupe-project/cantaloupe/issues/634)
* Update of Jena to 4.8 requires RDF to have a populated rdf:about field. May impact some XMP header processing.

## 5.0.5

Expand Down
9 changes: 9 additions & 0 deletions CREDITS.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
# Credits

The success of this project is down to the great work done by the developers at the University of Illinois and particularly Alex Dolski who has been the main developer on the project. In 2023 the IIIF consortium offered to help release a security patch as so many IIIF community members are using this great software.

- Cantaloupe 5.0.6
* [Glen Robson](https://github.com/glenrobson/) with support from the [IIIF Consortium](https://iiif.io/community/consortium/)

- Cantaloupe v1 - v6
* [Alex Dolski](https://github.com/adolski), University of Illinois
13 changes: 8 additions & 5 deletions docker/Linux-GraalVM20/Dockerfile
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
FROM ubuntu:latest
FROM ubuntu:lunar

ENV JAVA_HOME=/opt/graalvm-ce-java11-20.3.0
ENV GRAALVM_HOME=/opt/graalvm-ce-java11-20.3.0
Expand All @@ -20,6 +20,9 @@ RUN apt-get update && apt-get install -y --no-install-recommends \
zlib1g-dev \
libwebp-dev \
libimage-exiftool-perl \
libgrokj2k1 \
grokj2k-tools \
adduser \
&& rm -rf /var/lib/apt/lists/*

# Install TurboJpegProcessor dependencies
Expand All @@ -30,10 +33,10 @@ COPY docker/Linux-JDK11/image_files/libjpeg-turbo/lib64 /opt/libjpeg-turbo/lib
COPY dist/deps/Linux-x86-64/lib/* /usr/lib/

# Install GrokProcessor dependencies
RUN wget -q https://github.com/GrokImageCompression/grok/releases/download/v7.6.5/libgrokj2k1_7.6.5-1_amd64.deb \
&& wget -q https://github.com/GrokImageCompression/grok/releases/download/v7.6.5/grokj2k-tools_7.6.5-1_amd64.deb \
&& dpkg -i ./libgrokj2k1_7.6.5-1_amd64.deb \
&& dpkg -i --ignore-depends=libjpeg62-turbo ./grokj2k-tools_7.6.5-1_amd64.deb
#RUN wget -q https://github.com/GrokImageCompression/grok/releases/download/v7.6.5/libgrokj2k1_7.6.5-1_amd64.deb \
# && wget -q https://github.com/GrokImageCompression/grok/releases/download/v7.6.5/grokj2k-tools_7.6.5-1_amd64.deb \
# && dpkg -i --ignore-depends=libjpeg62-turbo ./grokj2k-tools_7.6.5-1_amd64.deb
# && dpkg -i ./libgrokj2k1_7.6.5-1_amd64.deb \

# Install GraalVM
RUN wget -q https://github.com/graalvm/graalvm-ce-builds/releases/download/vm-20.3.0/graalvm-ce-java11-linux-amd64-20.3.0.tar.gz \
Expand Down
15 changes: 9 additions & 6 deletions docker/Linux-JDK11/Dockerfile
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
FROM ubuntu:latest
FROM ubuntu:lunar

ARG DEBIAN_FRONTEND=noninteractive

Expand All @@ -18,6 +18,9 @@ RUN apt-get update && apt-get install -y --no-install-recommends \
zlib1g-dev \
libwebp-dev \
libimage-exiftool-perl \
libgrokj2k1 \
grokj2k-tools \
adduser \
&& rm -rf /var/lib/apt/lists/*

# Install TurboJpegProcessor dependencies
Expand All @@ -28,16 +31,16 @@ COPY docker/Linux-JDK11/image_files/libjpeg-turbo/lib64 /opt/libjpeg-turbo/lib
COPY dist/deps/Linux-x86-64/lib/* /usr/lib/

# Install GrokProcessor dependencies
RUN wget -q https://github.com/GrokImageCompression/grok/releases/download/v7.6.5/libgrokj2k1_7.6.5-1_amd64.deb \
&& wget -q https://github.com/GrokImageCompression/grok/releases/download/v7.6.5/grokj2k-tools_7.6.5-1_amd64.deb \
&& dpkg -i ./libgrokj2k1_7.6.5-1_amd64.deb \
&& dpkg -i --ignore-depends=libjpeg62-turbo ./grokj2k-tools_7.6.5-1_amd64.deb
#RUN wget -q https://github.com/GrokImageCompression/grok/releases/download/v7.6.5/libgrokj2k1_7.6.5-1_amd64.deb \
# && wget -q https://github.com/GrokImageCompression/grok/releases/download/v7.6.5/grokj2k-tools_7.6.5-1_amd64.deb \
# && dpkg -i ./libgrokj2k1_7.6.5-1_amd64.deb \
# && dpkg -i --ignore-depends=libjpeg62-turbo ./grokj2k-tools_7.6.5-1_amd64.deb

# A non-root user is needed for some FilesystemSourceTest tests to work.
ARG user=cantaloupe
ARG home=/home/$user
RUN adduser --home $home $user
RUN chown -R $user $home
RUN chown -R $user $home
USER $user
WORKDIR $home

Expand Down
57 changes: 0 additions & 57 deletions docker/Linux-JDK15/Dockerfile

This file was deleted.

21 changes: 0 additions & 21 deletions docker/Linux-JDK15/docker-compose.yml

This file was deleted.

29 changes: 16 additions & 13 deletions docker/Linux-JDK16/Dockerfile → docker/Linux-JDK18/Dockerfile
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
FROM ubuntu:latest
FROM ubuntu:lunar

ENV JAVA_HOME=/opt/jdk
ENV PATH=$PATH:/opt/jdk/bin:/opt/maven/bin
Expand All @@ -23,6 +23,9 @@ RUN apt-get update && apt-get install -y --no-install-recommends \
zlib1g-dev \
libwebp-dev \
libimage-exiftool-perl \
libgrokj2k1 \
grokj2k-tools \
adduser \
&& rm -rf /var/lib/apt/lists/*

# Install TurboJpegProcessor dependencies
Expand All @@ -34,19 +37,19 @@ COPY dist/deps/Linux-x86-64/lib/* /usr/lib/

# Install various other dependencies that aren't in apt
# Install GrokProcessor dependencies
RUN wget -q https://github.com/GrokImageCompression/grok/releases/download/v7.6.5/libgrokj2k1_7.6.5-1_amd64.deb \
&& wget -q https://github.com/GrokImageCompression/grok/releases/download/v7.6.5/grokj2k-tools_7.6.5-1_amd64.deb \
&& dpkg -i ./libgrokj2k1_7.6.5-1_amd64.deb \
&& dpkg -i --ignore-depends=libjpeg62-turbo ./grokj2k-tools_7.6.5-1_amd64.deb \
#RUN wget -q https://github.com/GrokImageCompression/grok/releases/download/v7.6.5/libgrokj2k1_7.6.5-1_amd64.deb \
# && wget -q https://github.com/GrokImageCompression/grok/releases/download/v7.6.5/grokj2k-tools_7.6.5-1_amd64.deb \
# && dpkg -i ./libgrokj2k1_7.6.5-1_amd64.deb \
# && dpkg -i --ignore-depends=libjpeg62-turbo ./grokj2k-tools_7.6.5-1_amd64.deb \
# Install OpenJDK
&& wget -q https://github.com/AdoptOpenJDK/openjdk16-binaries/releases/download/jdk-16.0.1%2B9/OpenJDK16U-jdk_x64_linux_hotspot_16.0.1_9.tar.gz \
&& tar xfz OpenJDK16U-jdk_x64_linux_hotspot_16.0.1_9.tar.gz \
&& mv jdk-16.0.1+9 /opt/jdk \
# Install Maven (the one in apt is too old for JDK16 as of 2020-05-14)
&& wget -q https://mirrors.ocf.berkeley.edu/apache/maven/maven-3/3.8.1/binaries/apache-maven-3.8.1-bin.tar.gz \
&& tar xfz apache-maven-3.8.1-bin.tar.gz \
&& mv apache-maven-3.8.1 /opt/maven \
&& rm apache-maven-3.8.1-bin.tar.gz
RUN wget -q https://download.java.net/java/GA/jdk18/43f95e8614114aeaa8e8a5fcf20a682d/36/GPL/openjdk-18_linux-x64_bin.tar.gz \
&& tar xfz openjdk-18_linux-x64_bin.tar.gz \
&& mv jdk-18 /opt/jdk \
# Install a newer Maven than the one in apt
&& wget -q https://dlcdn.apache.org/maven/maven-3/3.8.8/binaries/apache-maven-3.8.8-bin.tar.gz \
&& tar xfz apache-maven-3.8.8-bin.tar.gz \
&& mv apache-maven-3.8.8 /opt/maven \
&& rm apache-maven-3.8.8-bin.tar.gz

# A non-root user is needed for some FilesystemSourceTest tests to work.
ARG user=cantaloupe
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ services:
cantaloupe:
build:
context: ../../
dockerfile: $PWD/docker/Linux-JDK16/Dockerfile
dockerfile: $PWD/docker/Linux-JDK18/Dockerfile
minio:
image: minio/minio
environment:
Expand Down
2 changes: 1 addition & 1 deletion docker/Windows-JDK11/Dockerfile
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
FROM mcr.microsoft.com/windows/servercore:ltsc2019
FROM mcr.microsoft.com/windows/servercore:ltsc2022

ENV chocolateyUseWindowsCompression false

Expand Down
2 changes: 1 addition & 1 deletion docker/Windows-JDK11/Dockerfile-minio
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
FROM mcr.microsoft.com/windows/servercore:ltsc2019
FROM mcr.microsoft.com/windows/servercore:ltsc2022

ENV MINIO_ACCESS_KEY=MinioUser
ENV MINIO_SECRET_KEY=OpenSesame
Expand Down
28 changes: 0 additions & 28 deletions docker/Windows-JDK15/Dockerfile

This file was deleted.

10 changes: 0 additions & 10 deletions docker/Windows-JDK15/Dockerfile-minio

This file was deleted.

19 changes: 0 additions & 19 deletions docker/Windows-JDK15/docker-compose.yml

This file was deleted.

Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
FROM mcr.microsoft.com/windows/servercore:ltsc2019
FROM mcr.microsoft.com/windows/servercore:ltsc2022

ENV chocolateyUseWindowsCompression false

Expand All @@ -10,8 +10,9 @@ RUN powershell -Command \

# Install various dependencies
# TODO: openjpeg
RUN choco install -y adoptopenjdk16 maven ffmpeg

RUN choco install -y maven ffmpeg
RUN choco install -y openjdk --version=18.0.2

# Install TurboJpegProcessor dependencies TODO: libjpeg-turbo
#RUN mkdir -p /opt/libjpeg-turbo/lib
#COPY docker/Windows10-JDK11/image_files/libjpeg-turbo/lib64 c:\windows\system32
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
FROM mcr.microsoft.com/windows/servercore:ltsc2019
FROM mcr.microsoft.com/windows/servercore:ltsc2022

ENV MINIO_ACCESS_KEY=MinioUser
ENV MINIO_SECRET_KEY=OpenSesame
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,11 +8,11 @@ services:
cantaloupe:
build:
context: ../../
dockerfile: docker/Windows-JDK16/Dockerfile
dockerfile: docker/Windows-JDK18/Dockerfile
minio:
build:
context: ../../
dockerfile: docker/Windows-JDK16/Dockerfile-minio
dockerfile: docker/Windows-JDK18/Dockerfile-minio
environment:
MINIO_ACCESS_KEY: MinioUser
MINIO_SECRET_KEY: OpenSesame
Expand Down
Loading
Loading