You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@guacamole.apache.org by "Massimo Fierro (Jira)" <ji...@apache.org> on 2022/03/10 02:25:00 UTC
[jira] [Created] (GUACAMOLE-1549) EXTENSION_PRIORITY env var is not respected by Docker container
Massimo Fierro created GUACAMOLE-1549:
-----------------------------------------
Summary: EXTENSION_PRIORITY env var is not respected by Docker container
Key: GUACAMOLE-1549
URL: https://issues.apache.org/jira/browse/GUACAMOLE-1549
Project: Guacamole
Issue Type: Bug
Components: guacamole-client
Affects Versions: 1.4.0
Environment: OS: Ubuntu 20.04.4 LTS x86_64
Docker images: v1.4
Reporter: Massimo Fierro
Running guacamole-client and guacd with docker-compose, it seems like my preferred order of extension loading is not respected.
My docker-compose configuration file looks like the following:
{code:yaml}
version: '2.0'
networks:
guacnetwork_compose:
driver: bridge
services:
guacd:
container_name: guacd_compose
image: guacamole/guacd
networks:
guacnetwork_compose:
restart: always
volumes:
- /home/dockeruser/guacamole-data/drive:/drive:rw
- /home/dockeruser/guacamole-data/record:/record:rw
environment:
GUACD_LOG_LEVEL: debug
guacamole:
container_name: guacamole_compose
depends_on:
- guacd
environment:
GUACD_HOSTNAME: guacd
MYSQL_HOSTNAME: *******
MYSQL_PORT: 3306
MYSQL_DATABASE: *******
MYSQL_USER: *******
MYSQL_PASSWORD: *******
OPENID_AUTHORIZATION_ENDPOINT: *******
OPENID_JWKS_ENDPOINT: *******
OPENID_ISSUER: *******
OPENID_CLIENT_ID:*******
OPENID_REDIRECT_URI:*******
EXTENSION_PRIORITY: "mysql,openid"
networks:
guacnetwork_compose:
ports: - 127.0.0.1:8089:8080/tcp
restart: always{code}
As you can see the "EXTENSION_PRIORITY" env var is set, and according to start.sh it should be processed to set the appropriate property:
{code:bash}
// ...
# Set extension priority if specified
set_optional_property "extension-priority" "$EXTENSION_PRIORITY"
# Use api-session-timeout if specified.
if [ -n "$API_SESSION_TIMEOUT" ]; then
associate_apisessiontimeout
fi
# Set logback level if specified
if [ -n "$LOGBACK_LEVEL" ]; then
unzip -o -j /opt/guacamole/guacamole.war WEB-INF/classes/logback.xml -d $GUACAMOLE_HOME
sed -i "s/level=\"info\"/level=\"$LOGBACK_LEVEL\"/" $GUACAMOLE_HOME/logback.xml
fi
#
# Finally start Guacamole (under Tomcat)
#
start_guacamole{code}
Nonetheless, the docker logs clearly indicate that the extensions are still loaded according to filename, ignoring the specified priority:
{noformat}
01:56:13.581 [localhost-startStop-1] INFO o.a.g.extension.ExtensionModule - Multiple extensions are installed and will be loaded in order of decreasing priority: 01:56:13.581 [localhost-startStop-1] INFO o.a.g.extension.ExtensionModule - - [openid] "OpenID Authentication Extension" (/home/guacamole/.guacamole/extensions/1-guacamole-auth-sso-openid-1.4.0.jar) 01:56:13.581 [localhost-startStop-1] INFO o.a.g.extension.ExtensionModule - - [mysql] "MySQL Authentication" (/home/guacamole/.guacamole/extensions/guacamole-auth-jdbc-mysql-1.4.0.jar) 01:56:13.581 [localhost-startStop-1] INFO o.a.g.extension.ExtensionModule - To change this order, set the "extension-priority" property or rename the extension files. The default priority of extensions is dictated by the sort order of t heir filenames.{noformat}
I tried to understand what the issue might be, to be able to submit a patch, but I am kind of stuck because I don't have a good grasp on the bootstrap process. I think solving the issue should be relatively simple for anyone with a better understanding of the codebase.
Thanks.
--
This message was sent by Atlassian Jira
(v8.20.1#820001)