Skip to content

Commit 80c900a

Browse files
authored
Merge branch 'main' into fix-fips-ssh
2 parents 46c7adc + 15d5a27 commit 80c900a

File tree

176 files changed

+14032
-3570
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

176 files changed

+14032
-3570
lines changed

.github/workflows/pr-build.yml

+29
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
name: Pull request CI build
2+
3+
# Run build for all pull requests
4+
on:
5+
pull_request:
6+
7+
# Limit to only one build for a given PR source branch at a time,
8+
# cancelling any in-progress builds
9+
concurrency:
10+
group: guacamole-server-pr-${{ github.head_ref }}
11+
cancel-in-progress: true
12+
13+
jobs:
14+
15+
docker_build:
16+
name: Run docker build
17+
runs-on: ubuntu-latest
18+
steps:
19+
20+
- name: Check out code
21+
uses: actions/checkout@v3
22+
with:
23+
fetch-depth: 0
24+
persist-credentials: false
25+
26+
- name: Build Docker container
27+
shell: sh
28+
run: |
29+
docker build --pull --no-cache --force-rm .

.gitignore

+4
Original file line numberDiff line numberDiff line change
@@ -48,3 +48,7 @@ doc/*/doxygen-output
4848

4949
# IDE metadata
5050
nbproject/
51+
52+
# Compilation database, as may be generated by tools like Bear
53+
.cache/
54+
compile_commands.json

Dockerfile

+22-5
Original file line numberDiff line numberDiff line change
@@ -22,18 +22,26 @@
2222
#
2323

2424
# The Alpine Linux image that should be used as the basis for the guacd image
25-
ARG ALPINE_BASE_IMAGE=latest
25+
# NOTE: Using 3.18 because the required openssl1.1-compat-dev package was
26+
# removed in more recent versions.
27+
ARG ALPINE_BASE_IMAGE=3.18
2628
FROM alpine:${ALPINE_BASE_IMAGE} AS builder
2729

30+
# FreeRDP version (default to version 3)
31+
ARG FREERDP_VERSION=3
32+
2833
# Install build dependencies
2934
RUN apk add --no-cache \
3035
autoconf \
3136
automake \
3237
build-base \
3338
cairo-dev \
39+
cjson-dev \
3440
cmake \
41+
cunit-dev \
3542
git \
3643
grep \
44+
krb5-dev \
3745
libjpeg-turbo-dev \
3846
libpng-dev \
3947
libtool \
@@ -42,7 +50,10 @@ RUN apk add --no-cache \
4250
openssl1.1-compat-dev \
4351
pango-dev \
4452
pulseaudio-dev \
45-
util-linux-dev
53+
sdl2-dev \
54+
sdl2_ttf-dev \
55+
util-linux-dev \
56+
webkit2gtk-dev
4657

4758
# Copy source to container for sake of build
4859
ARG BUILD_DIR=/tmp/guacamole-server
@@ -61,7 +72,7 @@ ARG PREFIX_DIR=/opt/guacamole
6172
# library (these can be overridden at build time if a specific version is
6273
# needed)
6374
#
64-
ARG WITH_FREERDP='2(\.\d+)+'
75+
ARG WITH_FREERDP="${FREERDP_VERSION}(\.\d+)+"
6576
ARG WITH_LIBSSH2='libssh2-\d+(\.\d+)+'
6677
ARG WITH_LIBTELNET='\d+(\.\d+)+'
6778
ARG WITH_LIBVNCCLIENT='LibVNCServer-\d+(\.\d+)+'
@@ -83,22 +94,26 @@ ARG FREERDP_OPTS="\
8394
-DWITH_CUPS=OFF \
8495
-DWITH_DIRECTFB=OFF \
8596
-DWITH_FFMPEG=OFF \
97+
-DWITH_FUSE=OFF \
8698
-DWITH_GSM=OFF \
8799
-DWITH_GSSAPI=OFF \
88100
-DWITH_IPP=OFF \
89101
-DWITH_JPEG=ON \
102+
-DWITH_KRB5=ON \
90103
-DWITH_LIBSYSTEMD=OFF \
91104
-DWITH_MANPAGES=OFF \
92105
-DWITH_OPENH264=OFF \
93106
-DWITH_OPENSSL=ON \
94107
-DWITH_OSS=OFF \
95108
-DWITH_PCSC=OFF \
109+
-DWITH_PKCS11=OFF \
96110
-DWITH_PULSE=OFF \
97111
-DWITH_SERVER=OFF \
98112
-DWITH_SERVER_INTERFACE=OFF \
99113
-DWITH_SHADOW_MAC=OFF \
100114
-DWITH_SHADOW_X11=OFF \
101115
-DWITH_SSE2=ON \
116+
-DWITH_SWSCALE=OFF \
102117
-DWITH_WAYLAND=OFF \
103118
-DWITH_X11=OFF \
104119
-DWITH_X264=OFF \
@@ -138,11 +153,14 @@ ARG LIBWEBSOCKETS_OPTS="\
138153
# Build guacamole-server and its core protocol library dependencies
139154
RUN ${BUILD_DIR}/src/guacd-docker/bin/build-all.sh
140155

156+
# Determine location of the FREERDP library based on the version.
157+
ARG FREERDP_LIB_PATH=${PREFIX_DIR}/lib/freerdp${FREERDP_VERSION}
158+
141159
# Record the packages of all runtime library dependencies
142160
RUN ${BUILD_DIR}/src/guacd-docker/bin/list-dependencies.sh \
143161
${PREFIX_DIR}/sbin/guacd \
144162
${PREFIX_DIR}/lib/libguac-client-*.so \
145-
${PREFIX_DIR}/lib/freerdp2/*guac*.so \
163+
${FREERDP_LIB_PATH}/*guac*.so \
146164
> ${PREFIX_DIR}/DEPENDENCIES
147165

148166
# Use same Alpine version as the base for the runtime image
@@ -199,4 +217,3 @@ EXPOSE 4822
199217
# PREFIX_DIR build argument.
200218
#
201219
CMD /opt/guacamole/sbin/guacd -b 0.0.0.0 -L $GUACD_LOG_LEVEL -f
202-

bin/guacctl

+1-1
Original file line numberDiff line numberDiff line change
@@ -117,7 +117,7 @@ error() {
117117
##
118118
usage() {
119119
cat >&2 <<END
120-
guacctl 1.5.5, Apache Guacamole terminal session control utility.
120+
guacctl 1.6.0, Apache Guacamole terminal session control utility.
121121
Usage: guacctl [OPTION] [FILE or NAME]...
122122
123123
-d, --download download each of the files listed.

0 commit comments

Comments
 (0)