diff --git a/packaging/debroot/etc/rundeck/jaas-loginmodule.conf b/packaging/debroot/etc/rundeck/jaas-loginmodule.conf index 61f21303d84..b253bf513b5 100644 --- a/packaging/debroot/etc/rundeck/jaas-loginmodule.conf +++ b/packaging/debroot/etc/rundeck/jaas-loginmodule.conf @@ -1,5 +1,5 @@ RDpropertyfilelogin { -org.eclipse.jetty.plus.jaas.spi.PropertyFileLoginModule required +org.eclipse.jetty.jaas.spi.PropertyFileLoginModule required debug="true" file="/etc/rundeck/realm.properties"; }; diff --git a/packaging/root/etc/rundeck/jaas-loginmodule.conf b/packaging/root/etc/rundeck/jaas-loginmodule.conf index 61f21303d84..b253bf513b5 100644 --- a/packaging/root/etc/rundeck/jaas-loginmodule.conf +++ b/packaging/root/etc/rundeck/jaas-loginmodule.conf @@ -1,5 +1,5 @@ RDpropertyfilelogin { -org.eclipse.jetty.plus.jaas.spi.PropertyFileLoginModule required +org.eclipse.jetty.jaas.spi.PropertyFileLoginModule required debug="true" file="/etc/rundeck/realm.properties"; }; diff --git a/packaging/rundeck.spec b/packaging/rundeck.spec index ba3cfcde803..e75620979a2 100644 --- a/packaging/rundeck.spec +++ b/packaging/rundeck.spec @@ -15,6 +15,8 @@ RunDeck, is no ordinary wooden deck. You can build a bon fire on this deck. Rundeck provides a single console for dispatching commands across many resources. %changelog +* Wed Nov 16 2016 Greg Schueler 2.7.0-0 + - Upgraded jetty jar dependencies * Tue Jan 20 2015 Greg Schueler 2.5-0 - Fix cli jar file versions, fix changelog date * Sat Apr 19 2014 Diomidis Spinellis 2.0-4 @@ -77,12 +79,18 @@ fi # Server Bootstrap %dir /var/lib/rundeck/bootstrap -/var/lib/rundeck/bootstrap/jetty-all-7.6.0.v20120127.jar +/var/lib/rundeck/bootstrap/javax.servlet-3.0.0.v201112011016.jar +/var/lib/rundeck/bootstrap/jetty-all-9.0.7.v20131107.jar +/var/lib/rundeck/bootstrap/jetty-security-9.0.7.v20131107.jar +/var/lib/rundeck/bootstrap/jetty-server-9.0.7.v20131107.jar +/var/lib/rundeck/bootstrap/jetty-util-9.0.7.v20131107.jar +/var/lib/rundeck/bootstrap/jetty-io-9.0.7.v20131107.jar +/var/lib/rundeck/bootstrap/jetty-http-9.0.7.v20131107.jar +/var/lib/rundeck/bootstrap/jetty-jaas-9.0.7.v20131107.jar /var/lib/rundeck/bootstrap/log4j-1.2.16.jar /var/lib/rundeck/bootstrap/jna-3.2.2.jar /var/lib/rundeck/bootstrap/libpam4j-1.5.jar /var/lib/rundeck/bootstrap/rundeck-jetty-server-%{_vname}.jar -/var/lib/rundeck/bootstrap/servlet-api-2.5.jar /var/lib/rundeck/bootstrap/not-yet-commons-ssl-0.3.11.jar # CLI Lib Support diff --git a/run-api-tests.sh b/run-api-tests.sh index 01e142669df..8d4dc4ebe91 100644 --- a/run-api-tests.sh +++ b/run-api-tests.sh @@ -143,7 +143,7 @@ run_ci_test(){ echo "Rundeck process PID: $RDPID" fi - wait_for $DIR/rundeck.out 'Started SelectChannelConnector@' + wait_for $DIR/rundeck.out 'Started ServerConnector@' echo "Rundeck started." diff --git a/rundeck-launcher/build.gradle b/rundeck-launcher/build.gradle index e5114cbd3bd..040fd7afe38 100644 --- a/rundeck-launcher/build.gradle +++ b/rundeck-launcher/build.gradle @@ -25,7 +25,7 @@ eclipse.project.name = "${project.getParent().eclipse.project.name}:launcher" subprojects{ defaultTasks 'clean','assemble' - ext.jettyVersion='7.6.0.v20120127' + ext.jettyVersion='9.0.7.v20131107' } task createPom << { diff --git a/rundeck-launcher/launcher/build.gradle b/rundeck-launcher/launcher/build.gradle index 4e5e94c87d6..f5130db476b 100644 --- a/rundeck-launcher/launcher/build.gradle +++ b/rundeck-launcher/launcher/build.gradle @@ -28,8 +28,8 @@ archivesBaseName = 'rundeck-launcher' defaultTasks 'clean','launcherJar' ext.launcherMainClass = mainClassName ext.launcherStartClass = "com.dtolabs.rundeck.RunServer" -ext.launcherJettyLibs = "servlet-api-2.5-20081211.jar jetty-${jettyVersion}.jar jetty-util-${jettyVersion}.jar jetty-naming-${jettyVersion}.jar jetty-plus-${jettyVersion}.jar jna-3.2.2.jar libpam4j-1.5.jar not-yet-commons-ssl-0.3.11.jar" -ext.launcherJettyLibsUnexpanded = 'servlet-api-2.5-20081211.jar jetty-${jettyVersion}.jar jetty-util-${jettyVersion}.jar jetty-naming-${jettyVersion}.jar jetty-plus-${jettyVersion}.jar jna-3.2.2.jar libpam4j-1.5.jar not-yet-commons-ssl-0.3.11.jar' +ext.launcherJettyLibs = "javax.servlet-3.0.0.v201112011016.jar jetty-${jettyVersion}.jar jetty-security-${jettyVersion}.jar jetty-server-${jettyVersion}.jar jetty-util-${jettyVersion}.jar jetty-io-${jettyVersion}.jar jetty-http-${jettyVersion}.jar jetty-jaas-${jettyVersion}.jar jna-3.2.2.jar libpam4j-1.5.jar not-yet-commons-ssl-0.3.11.jar" +ext.launcherJettyLibsUnexpanded = 'javax.servlet-3.0.0.v201112011016.jar jetty-${jettyVersion}.jar jetty-security-${jettyVersion}.jar jetty-server-${jettyVersion}.jar jetty-util-${jettyVersion}.jar jetty-io-${jettyVersion}.jar jetty-http-${jettyVersion}.jar jetty-jaas-${jettyVersion}.jar jna-3.2.2.jar libpam4j-1.5.jar not-yet-commons-ssl-0.3.11.jar' ext.launcherJettyLibPath = "pkgs/webapp/WEB-INF/lib" ext.launcherContentsDir = new File("$projectDir/build/launcher-contents") diff --git a/rundeck-launcher/launcher/src/main/resources/templates/config/jaas-loginmodule.conf.template b/rundeck-launcher/launcher/src/main/resources/templates/config/jaas-loginmodule.conf.template index 0747143139d..88cb16649fe 100644 --- a/rundeck-launcher/launcher/src/main/resources/templates/config/jaas-loginmodule.conf.template +++ b/rundeck-launcher/launcher/src/main/resources/templates/config/jaas-loginmodule.conf.template @@ -1,5 +1,5 @@ RDpropertyfilelogin { -org.eclipse.jetty.plus.jaas.spi.PropertyFileLoginModule required +org.eclipse.jetty.jaas.spi.PropertyFileLoginModule required debug="true" file="${realm.properties.location}"; }; diff --git a/rundeck-launcher/rundeck-jetty-server/build.gradle b/rundeck-launcher/rundeck-jetty-server/build.gradle index 0d3b74fe009..853723222ee 100644 --- a/rundeck-launcher/rundeck-jetty-server/build.gradle +++ b/rundeck-launcher/rundeck-jetty-server/build.gradle @@ -29,14 +29,16 @@ dependencies { compile( [group: 'log4j', name: 'log4j', version: '1.2.16',ext:'jar'], [group: 'commons-cli', name: 'commons-cli', version: '1.0',ext:'jar'], - [group: 'org.eclipse.jetty.aggregate', name: 'jetty-all', version: jettyVersion,ext:'jar'], + [group: 'org.eclipse.jetty.aggregate', name: 'jetty-all', version: jettyVersion], + [group: 'org.eclipse.jetty', name: 'jetty-jaas', version: jettyVersion], [group: 'org.kohsuke', name:'libpam4j', version:'1.5', ext:'jar'], // This is in httpcomponents 4+ but stuck on 3.x for now. [group: 'ca.juliusdavies', name: 'not-yet-commons-ssl', version: '0.3.11', ext: 'jar'], ) runtime( - [group: 'org.eclipse.jetty.aggregate', name: 'jetty-all', version: jettyVersion, ext: 'jar'], - [group: 'javax.servlet', name: 'servlet-api', version: '2.5', ext: 'jar'], + [group: 'org.eclipse.jetty.aggregate', name: 'jetty-all', version: jettyVersion], + [group: 'org.eclipse.jetty', name: 'jetty-jaas', version: jettyVersion], +// [group: 'org.eclipse.jetty.orbit', name: 'javax.servlet', version: '3.0.0.v201112011016'], ) testCompile ( [group: 'junit', name: 'junit', version: '4.8.1',ext:'jar'], diff --git a/rundeck-launcher/rundeck-jetty-server/src/main/java/com/dtolabs/rundeck/RunServer.java b/rundeck-launcher/rundeck-jetty-server/src/main/java/com/dtolabs/rundeck/RunServer.java index 1ada9e6c873..4b806c30d35 100644 --- a/rundeck-launcher/rundeck-jetty-server/src/main/java/com/dtolabs/rundeck/RunServer.java +++ b/rundeck-launcher/rundeck-jetty-server/src/main/java/com/dtolabs/rundeck/RunServer.java @@ -16,15 +16,14 @@ package com.dtolabs.rundeck; -import org.eclipse.jetty.plus.jaas.JAASLoginService; +import org.eclipse.jetty.http.HttpVersion; +import org.eclipse.jetty.jaas.JAASLoginService; import org.eclipse.jetty.security.HashLoginService; -import org.eclipse.jetty.server.Server; +import org.eclipse.jetty.server.*; import org.eclipse.jetty.server.handler.ContextHandlerCollection; -import org.eclipse.jetty.server.nio.SelectChannelConnector; -import org.eclipse.jetty.server.ssl.SslSelectChannelConnector; import org.eclipse.jetty.util.ssl.SslContextFactory; import org.eclipse.jetty.webapp.WebAppContext; -import org.eclipse.jetty.server.Handler; + import java.io.*; import java.util.Properties; @@ -146,24 +145,44 @@ private boolean isSSLEnabled() { } private void configureHTTPConnector(final Server server) { - final SelectChannelConnector connector = new SelectChannelConnector(); + HttpConfiguration http_config = new HttpConfiguration(); + http_config.setOutputBufferSize(32768); + if (Boolean.getBoolean(RUNDECK_JETTY_CONNECTOR_FORWARDED)) { + ForwardedRequestCustomizer forwarding = new ForwardedRequestCustomizer(); + http_config.addCustomizer(forwarding); + } + final ServerConnector connector = new ServerConnector(server, new HttpConnectionFactory(http_config)); connector.setPort(port); connector.setHost(System.getProperty(SERVER_HTTP_HOST, null)); - connector.setForwarded(Boolean.getBoolean(RUNDECK_JETTY_CONNECTOR_FORWARDED)); server.addConnector(connector); } private void configureSSLConnector(final Server server) { //configure ssl - final SslSelectChannelConnector connector = new SslSelectChannelConnector(); - connector.setPort(httpsPort); - connector.setMaxIdleTime(30000); - connector.setForwarded(Boolean.getBoolean(RUNDECK_JETTY_CONNECTOR_FORWARDED)); - SslContextFactory cf = connector.getSslContextFactory(); + HttpConfiguration http_config = new HttpConfiguration(); + http_config.setSecureScheme("https"); + http_config.setSecurePort(httpsPort); + http_config.setOutputBufferSize(32768); + + ServerConnector http = new ServerConnector( + server, + new HttpConnectionFactory(http_config) + ); + http.setPort(httpsPort); + http.setIdleTimeout(30000); + + HttpConfiguration https_config = new HttpConfiguration(http_config); + SecureRequestCustomizer src = new SecureRequestCustomizer(); + +// src.setStsMaxAge(2000); +// src.setStsIncludeSubDomains(true); + + https_config.addCustomizer(src); + SslContextFactory cf = new SslContextFactory(); cf.setKeyStorePath(keystore); cf.setKeyStorePassword(keystorePassword); cf.setKeyManagerPassword(keyPassword); - cf.setTrustStore(truststore); + cf.setTrustStorePath(truststore); cf.setTrustStorePassword(truststorePassword); cf.setExcludeProtocols( System.getProperty( @@ -192,8 +211,20 @@ private void configureSSLConnector(final Server server) { if(includeCipherSuites!=null) { cf.setIncludeCipherSuites(includeCipherSuites.split(",")); } - connector.setHost(System.getProperty(SERVER_HTTP_HOST, null)); - server.addConnector(connector); + ServerConnector https = new ServerConnector( + server, + new SslConnectionFactory(cf, HttpVersion.HTTP_1_1.asString()), + new HttpConnectionFactory(https_config) + ); + if (Boolean.getBoolean(RUNDECK_JETTY_CONNECTOR_FORWARDED)) { + ForwardedRequestCustomizer forwarding = new ForwardedRequestCustomizer(); + https_config.addCustomizer(forwarding); + } + https.setPort(httpsPort); + https.setIdleTimeout(500000); + https.setHost(System.getProperty(SERVER_HTTP_HOST, null)); + + server.setConnectors(new Connector[]{http, https}); } /** diff --git a/rundeck-launcher/rundeck-jetty-server/src/main/java/com/dtolabs/rundeck/jetty/jaas/JNDILoginModule.java b/rundeck-launcher/rundeck-jetty-server/src/main/java/com/dtolabs/rundeck/jetty/jaas/JNDILoginModule.java index a90f6fff84a..e19e67820db 100644 --- a/rundeck-launcher/rundeck-jetty-server/src/main/java/com/dtolabs/rundeck/jetty/jaas/JNDILoginModule.java +++ b/rundeck-launcher/rundeck-jetty-server/src/main/java/com/dtolabs/rundeck/jetty/jaas/JNDILoginModule.java @@ -24,9 +24,9 @@ package com.dtolabs.rundeck.jetty.jaas; import org.apache.log4j.Logger; -import org.eclipse.jetty.plus.jaas.callback.ObjectCallback; -import org.eclipse.jetty.plus.jaas.spi.AbstractLoginModule; -import org.eclipse.jetty.plus.jaas.spi.UserInfo; +import org.eclipse.jetty.jaas.callback.ObjectCallback; +import org.eclipse.jetty.jaas.spi.AbstractLoginModule; +import org.eclipse.jetty.jaas.spi.UserInfo; import org.eclipse.jetty.util.log.Log; import org.eclipse.jetty.util.security.Credential; diff --git a/rundeck-launcher/rundeck-jetty-server/src/main/java/com/dtolabs/rundeck/jetty/jaas/JettyCachingLdapLoginModule.java b/rundeck-launcher/rundeck-jetty-server/src/main/java/com/dtolabs/rundeck/jetty/jaas/JettyCachingLdapLoginModule.java index 6bdf2170b48..fccf52db390 100644 --- a/rundeck-launcher/rundeck-jetty-server/src/main/java/com/dtolabs/rundeck/jetty/jaas/JettyCachingLdapLoginModule.java +++ b/rundeck-launcher/rundeck-jetty-server/src/main/java/com/dtolabs/rundeck/jetty/jaas/JettyCachingLdapLoginModule.java @@ -41,9 +41,9 @@ import javax.security.auth.callback.UnsupportedCallbackException; import javax.security.auth.login.LoginException; -import org.eclipse.jetty.plus.jaas.callback.ObjectCallback; -import org.eclipse.jetty.plus.jaas.spi.AbstractLoginModule; -import org.eclipse.jetty.plus.jaas.spi.UserInfo; +import org.eclipse.jetty.jaas.callback.ObjectCallback; +import org.eclipse.jetty.jaas.spi.AbstractLoginModule; +import org.eclipse.jetty.jaas.spi.UserInfo; import org.eclipse.jetty.util.log.Log; import org.eclipse.jetty.util.log.Logger; import org.eclipse.jetty.util.security.Credential; diff --git a/rundeck-launcher/rundeck-jetty-server/src/main/java/org/rundeck/jaas/jetty/JettyAuthPropertyFileLoginModule.java b/rundeck-launcher/rundeck-jetty-server/src/main/java/org/rundeck/jaas/jetty/JettyAuthPropertyFileLoginModule.java index 0ca8a0cac66..7c963b5dd90 100644 --- a/rundeck-launcher/rundeck-jetty-server/src/main/java/org/rundeck/jaas/jetty/JettyAuthPropertyFileLoginModule.java +++ b/rundeck-launcher/rundeck-jetty-server/src/main/java/org/rundeck/jaas/jetty/JettyAuthPropertyFileLoginModule.java @@ -16,9 +16,9 @@ package org.rundeck.jaas.jetty; -import org.eclipse.jetty.plus.jaas.callback.ObjectCallback; -import org.eclipse.jetty.plus.jaas.spi.PropertyFileLoginModule; -import org.eclipse.jetty.plus.jaas.spi.UserInfo; +import org.eclipse.jetty.jaas.callback.ObjectCallback; +import org.eclipse.jetty.jaas.spi.PropertyFileLoginModule; +import org.eclipse.jetty.jaas.spi.UserInfo; import org.rundeck.jaas.AbstractSharedLoginModule; import javax.security.auth.Subject; diff --git a/rundeck-launcher/rundeck-jetty-server/src/main/java/org/rundeck/jaas/jetty/JettyRolePropertyFileLoginModule.java b/rundeck-launcher/rundeck-jetty-server/src/main/java/org/rundeck/jaas/jetty/JettyRolePropertyFileLoginModule.java index 6e432b7cfb2..624d57872cb 100644 --- a/rundeck-launcher/rundeck-jetty-server/src/main/java/org/rundeck/jaas/jetty/JettyRolePropertyFileLoginModule.java +++ b/rundeck-launcher/rundeck-jetty-server/src/main/java/org/rundeck/jaas/jetty/JettyRolePropertyFileLoginModule.java @@ -16,8 +16,8 @@ package org.rundeck.jaas.jetty; -import org.eclipse.jetty.plus.jaas.spi.PropertyFileLoginModule; -import org.eclipse.jetty.plus.jaas.spi.UserInfo; +import org.eclipse.jetty.jaas.spi.PropertyFileLoginModule; +import org.eclipse.jetty.jaas.spi.UserInfo; import org.rundeck.jaas.AbstractSharedLoginModule; import javax.security.auth.Subject; diff --git a/rundeck-launcher/rundeck-jetty-server/src/main/java/org/rundeck/jaas/jetty/JettySupport.java b/rundeck-launcher/rundeck-jetty-server/src/main/java/org/rundeck/jaas/jetty/JettySupport.java index 533eb91ec10..023947fbfec 100644 --- a/rundeck-launcher/rundeck-jetty-server/src/main/java/org/rundeck/jaas/jetty/JettySupport.java +++ b/rundeck-launcher/rundeck-jetty-server/src/main/java/org/rundeck/jaas/jetty/JettySupport.java @@ -16,9 +16,9 @@ package org.rundeck.jaas.jetty; -import org.eclipse.jetty.plus.jaas.JAASPrincipal; -import org.eclipse.jetty.plus.jaas.JAASRole; -import org.eclipse.jetty.plus.jaas.callback.ObjectCallback; +import org.eclipse.jetty.jaas.JAASPrincipal; +import org.eclipse.jetty.jaas.JAASRole; +import org.eclipse.jetty.jaas.callback.ObjectCallback; import javax.security.auth.callback.Callback; import javax.security.auth.callback.CallbackHandler; diff --git a/rundeck-launcher/rundeck-jetty-server/src/test/java/com/dtolabs/rundeck/jetty/jaas/JettyCachingLdapLoginModuleTest.java b/rundeck-launcher/rundeck-jetty-server/src/test/java/com/dtolabs/rundeck/jetty/jaas/JettyCachingLdapLoginModuleTest.java index ddce1bb13b0..1d152ea80ea 100644 --- a/rundeck-launcher/rundeck-jetty-server/src/test/java/com/dtolabs/rundeck/jetty/jaas/JettyCachingLdapLoginModuleTest.java +++ b/rundeck-launcher/rundeck-jetty-server/src/test/java/com/dtolabs/rundeck/jetty/jaas/JettyCachingLdapLoginModuleTest.java @@ -22,8 +22,8 @@ import java.util.Hashtable; import java.util.List; -import org.eclipse.jetty.plus.jaas.callback.ObjectCallback; -import org.eclipse.jetty.plus.jaas.spi.UserInfo; +import org.eclipse.jetty.jaas.callback.ObjectCallback; +import org.eclipse.jetty.jaas.spi.UserInfo; import org.junit.Assert; import org.junit.Test; diff --git a/rundeck-launcher/rundeck-jetty-server/src/test/java/com/dtolabs/rundeck/jetty/jaas/JettyCombinedLdapLoginModuleTest.java b/rundeck-launcher/rundeck-jetty-server/src/test/java/com/dtolabs/rundeck/jetty/jaas/JettyCombinedLdapLoginModuleTest.java index 56318b37e34..2e701f980f3 100644 --- a/rundeck-launcher/rundeck-jetty-server/src/test/java/com/dtolabs/rundeck/jetty/jaas/JettyCombinedLdapLoginModuleTest.java +++ b/rundeck-launcher/rundeck-jetty-server/src/test/java/com/dtolabs/rundeck/jetty/jaas/JettyCombinedLdapLoginModuleTest.java @@ -16,7 +16,7 @@ package com.dtolabs.rundeck.jetty.jaas; -import org.eclipse.jetty.plus.jaas.spi.UserInfo; +import org.eclipse.jetty.jaas.spi.UserInfo; import org.junit.Test; import javax.naming.NamingEnumeration; diff --git a/rundeckapp/authfilter/grails-app/conf/BuildConfig.groovy b/rundeckapp/authfilter/grails-app/conf/BuildConfig.groovy index abf271ea4df..6bdd81e2841 100644 --- a/rundeckapp/authfilter/grails-app/conf/BuildConfig.groovy +++ b/rundeckapp/authfilter/grails-app/conf/BuildConfig.groovy @@ -43,7 +43,7 @@ grails.project.dependency.resolution = { } plugins { - build(":jetty:2.0.3", + build(":jetty:3.0.0", ":release:2.2.1", ":rest-client-builder:1.0.3") { export = false diff --git a/rundeckapp/grails-app/conf/BuildConfig.groovy b/rundeckapp/grails-app/conf/BuildConfig.groovy index 51de98f4855..113a6d36afc 100644 --- a/rundeckapp/grails-app/conf/BuildConfig.groovy +++ b/rundeckapp/grails-app/conf/BuildConfig.groovy @@ -59,7 +59,7 @@ if(System.properties['disable.grails.central']) { grails.plugin.location.webrealms = 'webrealms' grails.plugin.location.metricsweb = 'metricsweb' grails.plugin.location.authfilter = 'authfilter' - +grails.servlet.version = "3.0" grails.project.dependency.resolution = { inherits 'global' // inherit Grails' default dependencies log 'warn' // log level of Ivy resolver, either 'error', 'warn', 'info', 'debug' or 'verbose' @@ -102,7 +102,7 @@ grails.project.dependency.resolution = { runtime ':profiler:0.5' runtime ':miniprofiler:0.4.1' provided ':codenarc:0.22' - build ':jetty:2.0.3' + build ':jetty:3.0.0' } dependencies { @@ -133,7 +133,7 @@ grails.project.dependency.resolution = { } } grails.war.resources = { stagingDir, args -> - delete(file: "${stagingDir}/WEB-INF/lib/jetty-all-7.6.0.v20120127.jar") + delete(file: "${stagingDir}/WEB-INF/lib/jetty-all-9.0.7.v20131107.jar") delete(file: "${stagingDir}/WEB-INF/lib/rundeck-jetty-server-${rundeckVersion}.jar") delete(file: "${stagingDir}/WEB-INF/lib/servlet-api-2.5.jar") if(System.getProperty('rundeck.war.additional')!=null){ diff --git a/rundeckapp/metricsweb/grails-app/conf/BuildConfig.groovy b/rundeckapp/metricsweb/grails-app/conf/BuildConfig.groovy index 178ed5b8981..7283a0f1eaf 100644 --- a/rundeckapp/metricsweb/grails-app/conf/BuildConfig.groovy +++ b/rundeckapp/metricsweb/grails-app/conf/BuildConfig.groovy @@ -50,7 +50,7 @@ grails.project.dependency.resolution = { } plugins { - build(":jetty:2.0.3", + build(":jetty:3.0.0", ":release:2.2.1", ":rest-client-builder:1.0.3") { export = false diff --git a/rundeckapp/web-app/WEB-INF/jaas.conf b/rundeckapp/web-app/WEB-INF/jaas.conf index b76303101ea..869f4f628c0 100644 --- a/rundeckapp/web-app/WEB-INF/jaas.conf +++ b/rundeckapp/web-app/WEB-INF/jaas.conf @@ -1,5 +1,5 @@ rundecklogin { - org.eclipse.jetty.plus.jaas.spi.PropertyFileLoginModule + org.eclipse.jetty.jaas.spi.PropertyFileLoginModule required debug="true" file="web-app/WEB-INF/jaaslogin.properties"; diff --git a/rundeckapp/webrealms/grails-app/conf/BuildConfig.groovy b/rundeckapp/webrealms/grails-app/conf/BuildConfig.groovy index 01eb0d68f7b..831baacb869 100644 --- a/rundeckapp/webrealms/grails-app/conf/BuildConfig.groovy +++ b/rundeckapp/webrealms/grails-app/conf/BuildConfig.groovy @@ -44,7 +44,7 @@ grails.project.dependency.resolution = { } plugins { - build(":jetty:2.0.3", + build(":jetty:3.0.0", ":release:2.2.1", ":rest-client-builder:1.0.3") { export = false diff --git a/rundeckapp/webrealms/scripts/Events.groovy b/rundeckapp/webrealms/scripts/Events.groovy index bfdb2713956..502dde96df0 100644 --- a/rundeckapp/webrealms/scripts/Events.groovy +++ b/rundeckapp/webrealms/scripts/Events.groovy @@ -14,7 +14,7 @@ * limitations under the License. */ -import org.eclipse.jetty.plus.jaas.JAASLoginService +import org.eclipse.jetty.jaas.JAASLoginService import org.eclipse.jetty.server.Server; eventConfigureJetty = { Server server -> diff --git a/test/docker/dockers/rundeck/scripts/start_rundeck.sh b/test/docker/dockers/rundeck/scripts/start_rundeck.sh index 65a508279f1..c9794bc4c90 100644 --- a/test/docker/dockers/rundeck/scripts/start_rundeck.sh +++ b/test/docker/dockers/rundeck/scripts/start_rundeck.sh @@ -183,15 +183,17 @@ $HOME/server/sbin/rundeckd start echo "started rundeck" # Wait for server to start -SUCCESS_MSG="Started SelectChannelConnector@0.0.0.0:" +SUCCESS_MSG="Started ServerConnector@" MAX_ATTEMPTS=30 SLEEP=10 echo "Waiting for $RUNDECK_NODE to start. This will take about 2 minutes... " declare -i count=0 while (( count <= MAX_ATTEMPTS )) do - if ! grep "${SUCCESS_MSG}" "$LOGFILE" - then echo "Still working. hang on..."; # output a progress character. + if ! [ -f "$LOGFILE" ] + then echo "Waiting. hang on..."; # output a progress character. + elif ! grep "${SUCCESS_MSG}" "$LOGFILE" ; then + echo "Still working. hang on..."; # output a progress character. else break; # found successful startup message. fi (( count += 1 )) ; # increment attempts counter. diff --git a/test/docker/test.sh b/test/docker/test.sh index 6b457deefbe..68a52ca1f24 100644 --- a/test/docker/test.sh +++ b/test/docker/test.sh @@ -33,6 +33,8 @@ docker-compose -f $DOCKER_COMPOSE_SPEC exec -T --user rundeck rundeck1 bash scri EC=$? echo "run_tests.sh finished with: $EC" +docker-compose -f $DOCKER_COMPOSE_SPEC logs + # Stop and clean all docker-compose -f $DOCKER_COMPOSE_SPEC down --volumes --remove-orphans diff --git a/test/vagrant/centos-yum-vbox-ci/bootstrap.sh b/test/vagrant/centos-yum-vbox-ci/bootstrap.sh index 4fd6976a728..3af33f5f118 100644 --- a/test/vagrant/centos-yum-vbox-ci/bootstrap.sh +++ b/test/vagrant/centos-yum-vbox-ci/bootstrap.sh @@ -77,7 +77,7 @@ then let count=0 while true do - if ! grep "Started SelectChannelConnector@" /var/log/rundeck/service.log + if ! grep "Started ServerConnector@" /var/log/rundeck/service.log then printf >&2 ".";# progress output. else break; # successful message. fi @@ -92,7 +92,7 @@ else let count=0 while true do - if ! grep "Started SelectChannelConnector@" /var/log/rundeck/service.log + if ! grep "Started ServerConnector@" /var/log/rundeck/service.log then printf >&2 ".";# progress output. else break; # successful message. fi diff --git a/test/vagrant/yum-aws-ci/bootstrap.sh b/test/vagrant/yum-aws-ci/bootstrap.sh index 00379fc44df..4df9791b506 100644 --- a/test/vagrant/yum-aws-ci/bootstrap.sh +++ b/test/vagrant/yum-aws-ci/bootstrap.sh @@ -73,7 +73,7 @@ then let count=0 while true do - if ! grep "Started SelectChannelConnector@" /var/log/rundeck/service.log + if ! grep "Started ServerConnector@" /var/log/rundeck/service.log then printf >&2 ".";# progress output. else break; # successful message. fi @@ -88,7 +88,7 @@ else let count=0 while true do - if ! grep "Started SelectChannelConnector@" /var/log/rundeck/service.log + if ! grep "Started ServerConnector@" /var/log/rundeck/service.log then printf >&2 ".";# progress output. else break; # successful message. fi diff --git a/test/vagrant/yum-aws-multinode/provisioning/rundeck/install.sh b/test/vagrant/yum-aws-multinode/provisioning/rundeck/install.sh index 9c7f0f39318..f1c98fe785c 100644 --- a/test/vagrant/yum-aws-multinode/provisioning/rundeck/install.sh +++ b/test/vagrant/yum-aws-multinode/provisioning/rundeck/install.sh @@ -80,7 +80,7 @@ then let count=0 while true do - if ! grep "Started SelectChannelConnector@" /var/log/rundeck/service.log + if ! grep "Started ServerConnector@" /var/log/rundeck/service.log then printf >&2 ".";# progress output. else break; # successful message. fi @@ -95,7 +95,7 @@ else let count=0 while true do - if ! grep "Started SelectChannelConnector@" /var/log/rundeck/service.log + if ! grep "Started ServerConnector@" /var/log/rundeck/service.log then printf >&2 ".";# progress output. else break; # successful message. fi diff --git a/testbuild.groovy b/testbuild.groovy index 76cab096ee2..f48decc428e 100644 --- a/testbuild.groovy +++ b/testbuild.groovy @@ -18,29 +18,19 @@ //Test the result of the build to verify expected artifacts are created -def target +def target="build/libs" def props=new Properties() new File('gradle.properties').withReader{ props.load(it) } args.each{ - if("-maven" == it){ - target="target" - }else if("-gradle" == it){ - target="build/libs" - }else{ - def m=it=~/^-[PD](.+?)(=(.+))?$/ - if(m.matches()){ - props[m[0][1]]=m[0][2]?m[0][3]:true - } + def m=it=~/^-[PD](.+?)(=(.+))?$/ + if(m.matches()){ + props[m[0][1]]=m[0][2]?m[0][3]:true } } -if(!target){ - println "ERROR: specify -maven or -gradle to indicate build file locations" - System.exit(2) -} def tag="-SNAPSHOT" if(props.'release'){ @@ -50,7 +40,9 @@ def debug=Boolean.getBoolean('debug')?:("-debug" in args) def version=props.currentVersion+tag //versions of dependency we want to verify def versions=[ - mysql:'5.1.35' + mysql:'5.1.35', + jetty:'9.0.7.v20131107', + servlet:'3.0.0.v201112011016' ] def warFile= "rundeckapp/target/rundeck-${version}.war" @@ -101,11 +93,17 @@ def manifest=[ "templates/config/rundeck-config.properties.template", "templates/config/ssl.properties.template", "templates/sbin/rundeckd.template", - "lib/#7", - "lib/jetty-all-7.6.0.v20120127.jar", + "lib/#13", + "lib/jetty-all-${versions.jetty}.jar", + "lib/jetty-jaas-${versions.jetty}.jar", + "lib/jetty-server-${versions.jetty}.jar", + "lib/jetty-util-${versions.jetty}.jar", + "lib/jetty-http-${versions.jetty}.jar", + "lib/jetty-io-${versions.jetty}.jar", + "lib/jetty-security-${versions.jetty}.jar", "lib/log4j-1.2.16.jar", "lib/rundeck-jetty-server-${version}.jar", - "lib/servlet-api-2.5.jar", + "lib/javax.servlet-${versions.servlet}.jar", "lib/jna-3.2.2.jar", "lib/libpam4j-1.5.jar", "lib/not-yet-commons-ssl-0.3.11.jar",