diff --git a/Dockerfile b/Dockerfile index 7d2a208..55c33ba 100644 --- a/Dockerfile +++ b/Dockerfile @@ -8,8 +8,8 @@ LABEL author="tier-packaging@internet2.edu <tier-packaging@internet2.edu>" \ ARG GROUPER_CONTAINER_VERSION -ENV GROUPER_VERSION=4.11.2 \ - GROUPER_CONTAINER_VERSION=4.11.2 \ +ENV GROUPER_VERSION=4.11.3 \ + GROUPER_CONTAINER_VERSION=4.11.3 \ JAVA_HOME=/usr/lib/jvm/java-17-amazon-corretto \ PATH=$PATH:$JAVA_HOME/bin \ GROUPER_HOME=/opt/grouper/grouperWebapp/WEB-INF diff --git a/container_files/grouperWebapp/WEB-INF/classes/log4j2.xml b/container_files/grouperWebapp/WEB-INF/classes/log4j2.xml index 58a9f28..28368bd 100644 --- a/container_files/grouperWebapp/WEB-INF/classes/log4j2.xml +++ b/container_files/grouperWebapp/WEB-INF/classes/log4j2.xml @@ -126,86 +126,107 @@ <Root level="error"> __LOGPIPESTART__<AppenderRef ref="logpipe_grouper_error"/>__LOGPIPEEND__ __FILESTART__<AppenderRef ref="file_grouper_error"/>__FILEEND__ + __STDERRSTART__<AppenderRef ref="stderr"/>__STDERREND__ </Root> <Logger name="org.apache.catalina" level="info" additivity="false"> __LOGPIPESTART__<AppenderRef ref="logpipe_catalina" />__LOGPIPEEND__ __FILESTART__<AppenderRef ref="file_catalina"/>__FILEEND__ + __STDERRSTART__<AppenderRef ref="stderr"/>__STDERREND__ </Logger> <Logger name="edu.internet2.middleware" level="warn" additivity="false"> __LOGPIPESTART__<AppenderRef ref="logpipe_grouper_error"/>__LOGPIPEEND__ __FILESTART__<AppenderRef ref="file_grouper_error"/>__FILEEND__ + __STDERRSTART__<AppenderRef ref="stderr"/>__STDERREND__ </Logger> <Logger name="edu.internet2.middleware.grouper.app.loader.GrouperLoaderLog" level="debug" additivity="false"> __LOGPIPESTART__<AppenderRef ref="logpipe_grouper_daemon"/>__LOGPIPEEND__ __FILESTART__<AppenderRef ref="file_grouper_daemon"/>__FILEEND__ + __STDERRSTART__<AppenderRef ref="stderr"/>__STDERREND__ </Logger> <Logger name="edu.internet2.middleware.grouper.pspng" level="warn" additivity="false"> __LOGPIPESTART__<AppenderRef ref="logpipe_grouper_pspng"/>__LOGPIPEEND__ __FILESTART__<AppenderRef ref="file_grouper_pspng"/>__FILEEND__ + __STDERRSTART__<AppenderRef ref="stderr"/>__STDERREND__ </Logger> <Logger name="edu.internet2.middleware.grouper.app.provisioning.GrouperProvisioningObjectLog" level="debug" additivity="false"> __LOGPIPESTART__<AppenderRef ref="logpipe_grouper_provisioning"/>__LOGPIPEEND__ __FILESTART__<AppenderRef ref="file_grouper_provisioning"/>__FILEEND__ + __STDERRSTART__<AppenderRef ref="stderr"/>__STDERREND__ </Logger> <Logger name="edu.internet2.middleware.grouper.app.syncToGrouper.SyncToGrouperFromSqlDaemon" level="debug" additivity="false"> __LOGPIPESTART__<AppenderRef ref="logpipe_grouper_error"/>__LOGPIPEEND__ __FILESTART__<AppenderRef ref="file_grouper_error"/>__FILEEND__ + __STDERRSTART__<AppenderRef ref="stderr"/>__STDERREND__ </Logger> <Logger name="edu.internet2.middleware.grouper.app.provisioning.GrouperProvisioningLogCommands" level="debug" additivity="false"> __LOGPIPESTART__<AppenderRef ref="logpipe_grouper_error"/>__LOGPIPEEND__ __FILESTART__<AppenderRef ref="file_grouper_error"/>__FILEEND__ + __STDERRSTART__<AppenderRef ref="stderr"/>__STDERREND__ </Logger> <Logger name="edu.internet2.middleware.grouper.stem.StemViewPrivilegeEsbListener" level="debug" additivity="false"> __LOGPIPESTART__<AppenderRef ref="logpipe_grouper_error"/>__LOGPIPEEND__ __FILESTART__<AppenderRef ref="file_grouper_error"/>__FILEEND__ + __STDERRSTART__<AppenderRef ref="stderr"/>__STDERREND__ </Logger> <Logger name="edu.internet2.middleware.grouper.stem.StemViewPrivilegeFullDaemonLogic" level="debug" additivity="false"> __LOGPIPESTART__<AppenderRef ref="logpipe_grouper_error"/>__LOGPIPEEND__ __FILESTART__<AppenderRef ref="file_grouper_error"/>__FILEEND__ + __STDERRSTART__<AppenderRef ref="stderr"/>__STDERREND__ </Logger> <Logger name="org.apache.tools.ant" level="warn" additivity="false"> __LOGPIPESTART__<AppenderRef ref="logpipe_grouper_error"/>__LOGPIPEEND__ __FILESTART__<AppenderRef ref="file_grouper_error"/>__FILEEND__ + __STDERRSTART__<AppenderRef ref="stderr"/>__STDERREND__ </Logger> <Logger name="edu.internet2.middleware.grouper.util.PerformanceLogger" level="info" additivity="false"> __LOGPIPESTART__<AppenderRef ref="logpipe_grouper_error"/>__LOGPIPEEND__ __FILESTART__<AppenderRef ref="file_grouper_error"/>__FILEEND__ + __STDERRSTART__<AppenderRef ref="stderr"/>__STDERREND__ </Logger> <Logger name="edu.internet2.middleware.grouper.ws.util.GrouperWsLog" level="off" additivity="false"> __LOGPIPESTART__<AppenderRef ref="logpipe_grouper_ws"/>__LOGPIPEEND__ __FILESTART__<AppenderRef ref="file_grouper_ws"/>__FILEEND__ + __STDERRSTART__<AppenderRef ref="stderr"/>__STDERREND__ </Logger> <Logger name="edu.internet2.middleware.grouper.ws.util.GrouperWsLongRunningLog" level="off" additivity="false"> __LOGPIPESTART__<AppenderRef ref="logpipe_grouper_ws_longRunning"/>__LOGPIPEEND__ __FILESTART__<AppenderRef ref="file_grouper_ws_longRunning"/>__FILEEND__ + __STDERRSTART__<AppenderRef ref="stderr"/>__STDERREND__ </Logger> <Logger name="edu.internet2.middleware.grouper.ui.customUi.CustomUiEngine" level="debug" additivity="false"> __LOGPIPESTART__<AppenderRef ref="logpipe_grouper_error"/>__LOGPIPEEND__ __FILESTART__<AppenderRef ref="file_grouper_error"/>__FILEEND__ + __STDERRSTART__<AppenderRef ref="stderr"/>__STDERREND__ </Logger> <Logger name="edu.upenn.isc.pennGrouper.o365" level="debug" additivity="false"> __LOGPIPESTART__<AppenderRef ref="logpipe_grouper_error"/>__LOGPIPEEND__ __FILESTART__<AppenderRef ref="file_grouper_error"/>__FILEEND__ + __STDERRSTART__<AppenderRef ref="stderr"/>__STDERREND__ </Logger> <Logger name="edu.internet2.middleware.grouper.app.remedy.GrouperRemedyLog" level="debug" additivity="false"> __LOGPIPESTART__<AppenderRef ref="logpipe_grouper_provisioning"/>__LOGPIPEEND__ __FILESTART__<AppenderRef ref="file_grouper_provisioning"/>__FILEEND__ + __STDERRSTART__<AppenderRef ref="stderr"/>__STDERREND__ </Logger> <Logger name="edu.internet2.middleware.grouper.app.remedy.digitalMarketplace.GrouperDigitalMarketplaceLog" level="debug" additivity="false"> __LOGPIPESTART__<AppenderRef ref="logpipe_grouper_provisioning"/>__LOGPIPEEND__ __FILESTART__<AppenderRef ref="file_grouper_provisioning"/>__FILEEND__ + __STDERRSTART__<AppenderRef ref="stderr"/>__STDERREND__ </Logger> <Logger name="edu.internet2.middleware.grouperBox.GrouperBoxLog" level="debug" additivity="false"> __LOGPIPESTART__<AppenderRef ref="logpipe_grouper_provisioning"/>__LOGPIPEEND__ __FILESTART__<AppenderRef ref="file_grouper_provisioning"/>__FILEEND__ + __STDERRSTART__<AppenderRef ref="stderr"/>__STDERREND__ </Logger> <Logger name="edu.internet2.middleware.grouperClient.jdbc.tableSync.GcTableSyncLog" level="debug" additivity="false"> __LOGPIPESTART__<AppenderRef ref="logpipe_grouper_error"/>__LOGPIPEEND__ __FILESTART__<AppenderRef ref="file_grouper_error"/>__FILEEND__ + __STDERRSTART__<AppenderRef ref="stderr"/>__STDERREND__ </Logger> <Logger name="edu.internet2.middleware.grouper.app.zoom" level="debug" additivity="false"> __LOGPIPESTART__<AppenderRef ref="logpipe_grouper_provisioning"/>__LOGPIPEEND__ __FILESTART__<AppenderRef ref="file_grouper_provisioning"/>__FILEEND__ + __STDERRSTART__<AppenderRef ref="stderr"/>__STDERREND__ </Logger> <!--MORELOGGERS--> diff --git a/container_files/tomcat/conf/server.xml.grouper b/container_files/tomcat/conf/server.xml.grouper index 30cd465..3417a8b 100644 --- a/container_files/tomcat/conf/server.xml.grouper +++ b/container_files/tomcat/conf/server.xml.grouper @@ -173,7 +173,7 @@ <!--GROUPER_TOMCAT_REMOTE_IP_VALVE--> - <Valve className="org.apache.catalina.valves.rewrite.RewriteValve" /> + <!--GROUPER_TOMCAT_REWRITE_VALVE--> <!-- Access log processes all example. Documentation at: /docs/config/valve.html diff --git a/container_files/tomcat/conf/server.xml.grouper.patch b/container_files/tomcat/conf/server.xml.grouper.patch index b7c756b..baaeb50 100644 --- a/container_files/tomcat/conf/server.xml.grouper.patch +++ b/container_files/tomcat/conf/server.xml.grouper.patch @@ -1,5 +1,5 @@ ---- server.xml.original 2023-08-21 10:59:20.000000000 -0400 -+++ server.xml.grouper 2024-01-01 15:43:53.000000000 -0500 +--- server.xml.original 2023-06-27 13:54:24.000000000 -0400 ++++ server.xml.grouper 2024-03-17 20:05:53.000000000 -0400 @@ -66,11 +66,12 @@ APR (HTTP/AJP) Connector: /docs/apr.html Define a non-SSL/TLS HTTP/1.1 Connector on port 8080 @@ -41,7 +41,7 @@ + + <!--GROUPER_TOMCAT_REMOTE_IP_VALVE--> + -+ <Valve className="org.apache.catalina.valves.rewrite.RewriteValve" /> ++ <!--GROUPER_TOMCAT_REWRITE_VALVE--> <!-- Access log processes all example. Documentation at: /docs/config/valve.html diff --git a/container_files/usr-local-bin/libraryPrep.sh b/container_files/usr-local-bin/libraryPrep.sh index 1046c75..c82231f 100644 --- a/container_files/usr-local-bin/libraryPrep.sh +++ b/container_files/usr-local-bin/libraryPrep.sh @@ -437,6 +437,10 @@ prep_finishBegin() { echo "grouperContainer; INFO: (librarySetupFiles.sh-setupFiles_analyzeOriginalFiles) export GROUPER_LOG_TO_HOST=false" export GROUPER_LOG_TO_HOST=false fi + if [ -z "$GROUPER_LOG_TO_STDERR" ] ; then + echo "grouperContainer; INFO: (librarySetupFiles.sh-setupFiles_analyzeOriginalFiles) export GROUPER_LOG_TO_STDERR=false" + export GROUPER_LOG_TO_STDERR=false + fi if [ -z "$GROUPER_LOG_TO_PIPE" ] ; then if [ "$GROUPER_LOG_TO_HOST" = "true" ]; then @@ -490,13 +494,13 @@ prep_finishEnd() { export GROUPER_TOMCAT_REMOTE_IP_VALVE=false fi if [ -z "$GROUPER_REDIRECT_FROM_SLASH_TO_GROUPER" ]; then - if [ "$GROUPER_PROXY_PASS" = "#" ]; then + if [ "$GROUPER_UI" == 'true' ] - echo "grouperContainer; INFO: (libraryPrep.sh-prep_finishEnd) export GROUPER_REDIRECT_FROM_SLASH_TO_GROUPER=false" - export GROUPER_REDIRECT_FROM_SLASH_TO_GROUPER=false - else echo "grouperContainer; INFO: (libraryPrep.sh-prep_finishEnd) export GROUPER_REDIRECT_FROM_SLASH_TO_GROUPER=true" export GROUPER_REDIRECT_FROM_SLASH_TO_GROUPER=true + else + echo "grouperContainer; INFO: (libraryPrep.sh-prep_finishEnd) export GROUPER_REDIRECT_FROM_SLASH_TO_GROUPER=false" + export GROUPER_REDIRECT_FROM_SLASH_TO_GROUPER=false fi diff --git a/container_files/usr-local-bin/librarySetupFiles.sh b/container_files/usr-local-bin/librarySetupFiles.sh index 4d6ed33..be4b657 100644 --- a/container_files/usr-local-bin/librarySetupFiles.sh +++ b/container_files/usr-local-bin/librarySetupFiles.sh @@ -89,6 +89,27 @@ setupFiles_localLogging() { if [ $returnCode != 0 ]; then exit $returnCode; fi fi + if [ "$GROUPER_LOG_TO_STDERR" = "true" ]; then + sed -i "s|__STDERRSTART__||g" /opt/grouper/grouperWebapp/WEB-INF/classes/log4j2.xml + returnCode=$? + echo "grouperContainer; INFO: (librarySetupFiles.sh-setupFiles_localLogging) sed -i \"s|__STDERRSTART__||g\" /opt/grouper/grouperWebapp/WEB-INF/classes/log4j2.xml, result: $?" + if [ $returnCode != 0 ]; then exit $returnCode; fi + + sed -i "s|__STDERREND__||g" /opt/grouper/grouperWebapp/WEB-INF/classes/log4j2.xml + returnCode=$? + echo "grouperContainer; INFO: (librarySetupFiles.sh-setupFiles_localLogging) sed -i \"s|__STDERREND__||g\" /opt/grouper/grouperWebapp/WEB-INF/classes/log4j2.xml, result: $?" + if [ $returnCode != 0 ]; then exit $returnCode; fi + else + sed -i "s|__STDERRSTART__|<!--|g" /opt/grouper/grouperWebapp/WEB-INF/classes/log4j2.xml + returnCode=$? + echo "grouperContainer; INFO: (librarySetupFiles.sh-setupFiles_localLogging) sed -i \"s|__STDERRSTART__|<!--|g\" /opt/grouper/grouperWebapp/WEB-INF/classes/log4j2.xml, result: $?" + if [ $returnCode != 0 ]; then exit $returnCode; fi + + sed -i "s|__STDERREND__|-->|g" /opt/grouper/grouperWebapp/WEB-INF/classes/log4j2.xml + returnCode=$? + echo "grouperContainer; INFO: (librarySetupFiles.sh-setupFiles_localLogging) sed -i \"s|__STDERREND__|-->|g\" /opt/grouper/grouperWebapp/WEB-INF/classes/log4j2.xml, result: $?" + if [ $returnCode != 0 ]; then exit $returnCode; fi + fi if [ "$GROUPER_LOG_TO_HOST" = "true" ]; then sed -i "s|__FILESTART__||g" /opt/grouper/grouperWebapp/WEB-INF/classes/log4j2.xml returnCode=$? diff --git a/container_files/usr-local-bin/librarySetupFilesTomcat.sh b/container_files/usr-local-bin/librarySetupFilesTomcat.sh index edec6e6..e4c2c7e 100644 --- a/container_files/usr-local-bin/librarySetupFilesTomcat.sh +++ b/container_files/usr-local-bin/librarySetupFilesTomcat.sh @@ -21,23 +21,26 @@ setupFilesTomcat() { setupFilesTomcat_rewriteValve() { - if [ ! -f /opt/tomcat/conf/Catalina/localhost/rewrite.config ]; then + if [ "$GROUPER_REDIRECT_FROM_SLASH_TO_GROUPER" ] ; then if [ "$GROUPER_UI" = "true" ]; then - mv /opt/tomcat/conf/Catalina/localhost/rewrite.config.grouper /opt/tomcat/conf/Catalina/localhost/rewrite.config - returnCode=$? - echo "grouperContainer; INFO: (librarySetupFilesTomcat.sh-setupFilesTomcat_rewriteValve) mv /opt/tomcat/conf/Catalina/localhost/rewrite.config.grouper /opt/tomcat/conf/Catalina/localhost/rewrite.config, result: $returnCode" - if [ $returnCode != 0 ]; then exit $returnCode; fi - - sed -i "s|__CONTEXT__|$GROUPER_TOMCAT_CONTEXT|g" /opt/tomcat/conf/Catalina/localhost/rewrite.config - returnCode=$? - echo "grouperContainer; INFO: (librarySetupFilesTomcat.sh-setupFilesTomcat_rewriteValve) sed -i \"s|__CONTEXT__|$GROUPER_TOMCAT_CONTEXT|g\" /opt/tomcat/conf/Catalina/localhost/rewrite.config, result: $returnCode" - if [ $returnCode != 0 ]; then exit $returnCode; fi + if [ ! -f /opt/tomcat/conf/Catalina/localhost/rewrite.config ] ; then + mv /opt/tomcat/conf/Catalina/localhost/rewrite.config.grouper /opt/tomcat/conf/Catalina/localhost/rewrite.config + returnCode=$? + echo "grouperContainer; INFO: (librarySetupFilesTomcat.sh-setupFilesTomcat_rewriteValve) mv /opt/tomcat/conf/Catalina/localhost/rewrite.config.grouper /opt/tomcat/conf/Catalina/localhost/rewrite.config, result: $returnCode" + if [ $returnCode != 0 ]; then exit $returnCode; fi - else - touch /opt/tomcat/conf/Catalina/localhost/rewrite.config + sed -i "s|__CONTEXT__|$GROUPER_TOMCAT_CONTEXT|g" /opt/tomcat/conf/Catalina/localhost/rewrite.config + returnCode=$? + echo "grouperContainer; INFO: (librarySetupFilesTomcat.sh-setupFilesTomcat_rewriteValve) sed -i \"s|__CONTEXT__|$GROUPER_TOMCAT_CONTEXT|g\" /opt/tomcat/conf/Catalina/localhost/rewrite.config, result: $returnCode" + if [ $returnCode != 0 ]; then exit $returnCode; fi + + fi + + sed -i 's|<!--GROUPER_TOMCAT_REWRITE_VALVE-->|<Valve className="org.apache.catalina.valves.rewrite.RewriteValve" />|g' /opt/tomcat/conf/server.xml returnCode=$? - echo "grouperContainer; INFO: (librarySetupFilesTomcat.sh-setupFilesTomcat_rewriteValve) touch /opt/tomcat/conf/Catalina/localhost/rewrite.config, result: $returnCode" + echo "grouperContainer; INFO: (librarySetupFilesTomcat.sh-setupFilesTomcat_rewriteValve) Apply remote IP valve: sed -i 's|<!--GROUPER_TOMCAT_REWRITE_VALVE-->|<Valve className=\"org.apache.catalina.valves.rewrite.RewriteValve\" />|g' /opt/tomcat/conf/server.xml, result: $returnCode" if [ $returnCode != 0 ]; then exit $returnCode; fi + fi fi