diff --git a/examples/async-rest/async-rest-webapp/src/test/java/org/eclipse/jetty/example/asyncrest/DemoServer.java b/examples/async-rest/async-rest-webapp/src/test/java/org/eclipse/jetty/example/asyncrest/DemoServer.java
index c6172da..91b08bf 100644
--- a/examples/async-rest/async-rest-webapp/src/test/java/org/eclipse/jetty/example/asyncrest/DemoServer.java
+++ b/examples/async-rest/async-rest-webapp/src/test/java/org/eclipse/jetty/example/asyncrest/DemoServer.java
@@ -28,7 +28,7 @@
     {
         String jetty_home = System.getProperty("jetty.home",".");
 
-        Server server = new Server(Integer.getInteger("jetty.port",8080).intValue());
+        Server server = new Server(Integer.getInteger("jetty.http.port",8080).intValue());
                 
         WebAppContext webapp = new WebAppContext();
         webapp.setContextPath("/");
diff --git a/jetty-alpn/jetty-alpn-server/src/main/config/etc/jetty-alpn.xml b/jetty-alpn/jetty-alpn-server/src/main/config/etc/jetty-alpn.xml
index fabbbe5..5f16222 100644
--- a/jetty-alpn/jetty-alpn-server/src/main/config/etc/jetty-alpn.xml
+++ b/jetty-alpn/jetty-alpn-server/src/main/config/etc/jetty-alpn.xml
@@ -16,17 +16,17 @@
     <Arg>
       <New id="alpn" class="org.eclipse.jetty.alpn.server.ALPNServerConnectionFactory">
         <Arg type="String">
-          <Property name="alpn.protocols" default="" />
+          <Property name="jetty.alpn.protocols,alpn.protocols" default="" />
         </Arg>
         <Set name="defaultProtocol">
-          <Property name="alpn.defaultProtocol" />
+          <Property name="jetty.alpn.defaultProtocol,alpn.defaultProtocol" />
         </Set>
       </New>
     </Arg>
   </Call>
 
-  <!-- Enables ALPN debugging on System.err -->
-  <!--<Set class="org.eclipse.jetty.alpn.ALPN" name="debug" type="boolean">true</Set>-->
+  <!-- ALPN debugging on System.err -->
+  <Set class="org.eclipse.jetty.alpn.ALPN" name="debug" type="boolean"><Property name="jetty.alpn.debug" default="false" /></Set>
 
 </Configure>
 
diff --git a/jetty-alpn/jetty-alpn-server/src/main/config/modules/alpn.mod b/jetty-alpn/jetty-alpn-server/src/main/config/modules/alpn.mod
index 99bfb6e..cc3d686 100644
--- a/jetty-alpn/jetty-alpn-server/src/main/config/modules/alpn.mod
+++ b/jetty-alpn/jetty-alpn-server/src/main/config/modules/alpn.mod
@@ -38,10 +38,13 @@
 # Overrides the order protocols are chosen by the server.
 # The default order is that specified by the order of the
 # modules declared in start.ini.
-# alpn.protocols=h2-14,http/1.1
+# jetty.alpn.protocols=h2-16,http/1.1
 
 # Specifies what protocol to use when negotiation fails.
-# alpn.defaultProtocol=http/1.1
+# jetty.alpn.defaultProtocol=http/1.1
+
+# ALPN debug logging on System.err
+# jetty.alpn.debug=false
 
 [license]
 ALPN is a hosted at github under the GPL v2 with ClassPath Exception.
diff --git a/jetty-cdi/test-cdi-it/src/test/scripts/start-jetty.sh b/jetty-cdi/test-cdi-it/src/test/scripts/start-jetty.sh
index 1d0f9eb..ea7843b 100755
--- a/jetty-cdi/test-cdi-it/src/test/scripts/start-jetty.sh
+++ b/jetty-cdi/test-cdi-it/src/test/scripts/start-jetty.sh
@@ -11,7 +11,7 @@
 cd "$JETTY_BASE"
 
 "$JAVA_HOME/bin/java" -jar "$JETTY_HOME/start.jar" \
-    jetty.port=58080 \
+    jetty.http.port=58080 \
     STOP.PORT=58181 STOP.KEY=it
 
 
diff --git a/jetty-deploy/src/main/config/etc/jetty-deploy.xml b/jetty-deploy/src/main/config/etc/jetty-deploy.xml
index 6dfc7e5..813012c 100644
--- a/jetty-deploy/src/main/config/etc/jetty-deploy.xml
+++ b/jetty-deploy/src/main/config/etc/jetty-deploy.xml
@@ -39,7 +39,7 @@
         <Call id="webappprovider" name="addAppProvider">
           <Arg>
             <New class="org.eclipse.jetty.deploy.providers.WebAppProvider">
-              <Set name="monitoredDirName"><Property name="jetty.base" default="." />/<Property name="jetty.deploy.monitoredDirName" default="webapps"/></Set>
+              <Set name="monitoredDirName"><Property name="jetty.base" default="." />/<Property name="jetty.deploy.monitoredDir,jetty.deploy.monitoredDirName" default="webapps"/></Set>
               <Set name="defaultsDescriptor"><Property name="jetty.home" default="." />/etc/webdefault.xml</Set>
               <Set name="scanInterval"><Property name="jetty.deploy.scanInterval" default="1"/></Set>
               <Set name="extractWars"><Property name="jetty.deploy.extractWars" default="true"/></Set>
diff --git a/jetty-deploy/src/main/config/modules/deploy.mod b/jetty-deploy/src/main/config/modules/deploy.mod
index f16b3f2..3a2fc91 100644
--- a/jetty-deploy/src/main/config/modules/deploy.mod
+++ b/jetty-deploy/src/main/config/modules/deploy.mod
@@ -15,7 +15,11 @@
 etc/jetty-deploy.xml
 
 [ini-template]
-## DeployManager configuration
-# Monitored Directory name (relative to jetty.base)
-# jetty.deploy.monitoredDirName=webapps
+# Monitored directory name (relative to jetty.base)
+# jetty.deploy.monitoredDir=webapps
 
+# Monitored directory scan period (seconds)
+# jetty.deploy.scanInterval=1
+
+# Whether to extract *.war files
+# jetty.deploy.extractWars=true
diff --git a/jetty-deploy/src/test/resources/jetty.xml b/jetty-deploy/src/test/resources/jetty.xml
index 9beb268..18e6a40 100644
--- a/jetty-deploy/src/test/resources/jetty.xml
+++ b/jetty-deploy/src/test/resources/jetty.xml
@@ -46,9 +46,9 @@
     <Arg name="threadpool"><New id="threadpool" class="org.eclipse.jetty.util.thread.QueuedThreadPool"/></Arg>
     -->
     <Get name="ThreadPool">
-      <Set name="minThreads" type="int"><Property name="threads.min" default="10"/></Set>
-      <Set name="maxThreads" type="int"><Property name="threads.max" default="200"/></Set>
-      <Set name="idleTimeout" type="int"><Property name="threads.timeout" default="60000"/></Set>
+      <Set name="minThreads" type="int"><Property name="jetty.threadPool.minThreads" default="10"/></Set>
+      <Set name="maxThreads" type="int"><Property name="jetty.threadPool.maxThreads" default="200"/></Set>
+      <Set name="idleTimeout" type="int"><Property name="jetty.threadPool.idleTimeout" default="60000"/></Set>
       <Set name="detailedDump">false</Set>
     </Get>
 
@@ -78,7 +78,7 @@
     <!-- =========================================================== -->
     <New id="httpConfig" class="org.eclipse.jetty.server.HttpConfiguration">
       <Set name="secureScheme">https</Set>
-      <Set name="securePort" type="java.lang.Integer"><Property name="jetty.secure.port" default="8443" /></Set>
+      <Set name="securePort" type="java.lang.Integer"><Property name="jetty.httpConfig.securePort" default="8443" /></Set>
       <Set name="outputBufferSize">32768</Set>
       <Set name="requestHeaderSize">8192</Set>
       <Set name="responseHeaderSize">8192</Set>
@@ -125,7 +125,7 @@
     <!-- =========================================================== -->
     <Set name="stopAtShutdown">true</Set>
     <Set name="stopTimeout">5000</Set>
-    <Set name="dumpAfterStart"><Property name="jetty.dump.start" default="false"/></Set>
-    <Set name="dumpBeforeStop"><Property name="jetty.dump.stop" default="false"/></Set>
+    <Set name="dumpAfterStart"><Property name="jetty.server.dumpAfterStart" default="false"/></Set>
+    <Set name="dumpBeforeStop"><Property name="jetty.server.dumpBeforeStop" default="false"/></Set>
 
 </Configure>
diff --git a/jetty-distribution/src/main/resources/bin/jetty.sh b/jetty-distribution/src/main/resources/bin/jetty.sh
index 8707f87..82a652d 100755
--- a/jetty-distribution/src/main/resources/bin/jetty.sh
+++ b/jetty-distribution/src/main/resources/bin/jetty.sh
@@ -69,7 +69,7 @@
 # JETTY_ARGS
 #   The default arguments to pass to jetty.
 #   For example
-#      JETTY_ARGS=jetty.port=8080 jetty.secure.port=443
+#      JETTY_ARGS=jetty.http.port=8080 jetty.ssl.port=8443
 #
 # JETTY_USER
 #   if set, then used as a username to run the server as
diff --git a/jetty-distribution/src/main/resources/etc/hawtio.xml b/jetty-distribution/src/main/resources/etc/hawtio.xml
index 228adc1..d614435 100644
--- a/jetty-distribution/src/main/resources/etc/hawtio.xml
+++ b/jetty-distribution/src/main/resources/etc/hawtio.xml
@@ -5,11 +5,11 @@
   <Call name="addHandler">
     <Arg>
       <New class="org.eclipse.jetty.webapp.WebAppContext">
-	<Set name="contextPath">/hawtio</Set>
-	<Set name="war"><Property name="jetty.base" default="."/>/lib/hawtio/hawtio.war</Set>
-	<Set name="extractWAR">true</Set>
-	<Set name="copyWebDir">false</Set>
-	<Set name="defaultsDescriptor"><Property name="jetty.home" default="."/>/etc/webdefault.xml</Set>
+        <Set name="contextPath">/hawtio</Set>
+        <Set name="war"><Property name="jetty.base" default="."/>/lib/hawtio/hawtio.war</Set>
+        <Set name="extractWAR">true</Set>
+        <Set name="copyWebDir">false</Set>
+        <Set name="defaultsDescriptor"><Property name="jetty.home" default="."/>/etc/webdefault.xml</Set>
       </New>
     </Arg>
   </Call>
diff --git a/jetty-distribution/src/main/resources/etc/jamon.xml b/jetty-distribution/src/main/resources/etc/jamon.xml
index d00d9c7..4a1c0d3 100644
--- a/jetty-distribution/src/main/resources/etc/jamon.xml
+++ b/jetty-distribution/src/main/resources/etc/jamon.xml
@@ -18,13 +18,13 @@
   <Ref refid="Contexts">
     <Call name="addHandler">
       <Arg>
-	<New class="org.eclipse.jetty.webapp.WebAppContext">
-	  <Set name="contextPath">/jamon</Set>
-	  <Set name="war"><Property name="jetty.base" default="."/>/lib/jamon/jamon.war</Set>
-	  <Set name="extractWAR">true</Set>
-	  <Set name="copyWebDir">false</Set>
-	  <Set name="defaultsDescriptor"><Property name="jetty.home" default="."/>/etc/webdefault.xml</Set>
-	</New>
+        <New class="org.eclipse.jetty.webapp.WebAppContext">
+          <Set name="contextPath">/jamon</Set>
+          <Set name="war"><Property name="jetty.base" default="."/>/lib/jamon/jamon.war</Set>
+          <Set name="extractWAR">true</Set>
+          <Set name="copyWebDir">false</Set>
+          <Set name="defaultsDescriptor"><Property name="jetty.home" default="."/>/etc/webdefault.xml</Set>
+        </New>
       </Arg>
     </Call>
   </Ref>
diff --git a/jetty-distribution/src/main/resources/etc/jminix.xml b/jetty-distribution/src/main/resources/etc/jminix.xml
index 1be4757..2120666 100644
--- a/jetty-distribution/src/main/resources/etc/jminix.xml
+++ b/jetty-distribution/src/main/resources/etc/jminix.xml
@@ -1,5 +1,5 @@
 <?xml version="1.0"?>
-<!DOCTYPE Configure PUBLIC "-//Jetty//Configure//EN" "http://www.eclipse.org/jetty/configure.dtd">
+<!DOCTYPE Configure PUBLIC "-//Jetty//Configure//EN" "http://www.eclipse.org/jetty/configure_9_0.dtd">
  
 <Configure id="Server" class="org.eclipse.jetty.server.Server">
   <Call name="addBean">
diff --git a/jetty-distribution/src/main/resources/etc/jolokia.xml b/jetty-distribution/src/main/resources/etc/jolokia.xml
index 575912f..3bc4dc1 100644
--- a/jetty-distribution/src/main/resources/etc/jolokia.xml
+++ b/jetty-distribution/src/main/resources/etc/jolokia.xml
@@ -5,11 +5,11 @@
   <Call name="addHandler">
     <Arg>
       <New class="org.eclipse.jetty.webapp.WebAppContext">
-	<Set name="contextPath">/jolokia</Set>
-	<Set name="war"><Property name="jetty.base" default="."/>/lib/jolokia/jolokia.war</Set>
-	<Set name="extractWAR">true</Set>
-	<Set name="copyWebDir">false</Set>
-	<Set name="defaultsDescriptor"><Property name="jetty.home" default="."/>/etc/webdefault.xml</Set>
+        <Set name="contextPath">/jolokia</Set>
+        <Set name="war"><Property name="jetty.base" default="."/>/lib/jolokia/jolokia.war</Set>
+        <Set name="extractWAR">true</Set>
+        <Set name="copyWebDir">false</Set>
+        <Set name="defaultsDescriptor"><Property name="jetty.home" default="."/>/etc/webdefault.xml</Set>
       </New>
     </Arg>
   </Call>
diff --git a/jetty-fcgi/fcgi-server/src/main/config/modules/fcgi.mod b/jetty-fcgi/fcgi-server/src/main/config/modules/fcgi.mod
index e837b00..14152d5 100644
--- a/jetty-fcgi/fcgi-server/src/main/config/modules/fcgi.mod
+++ b/jetty-fcgi/fcgi-server/src/main/config/modules/fcgi.mod
@@ -12,4 +12,4 @@
 
 [ini-template]
 ## For configuration of FastCGI contexts, see
-## TODO: documentation url here
+## https://www.eclipse.org/jetty/documentation/current/fastcgi.html
diff --git a/jetty-http2/http2-server/src/main/config/etc/jetty-http2.xml b/jetty-http2/http2-server/src/main/config/etc/jetty-http2.xml
index b0ad658..18880e6 100644
--- a/jetty-http2/http2-server/src/main/config/etc/jetty-http2.xml
+++ b/jetty-http2/http2-server/src/main/config/etc/jetty-http2.xml
@@ -9,7 +9,8 @@
     <Arg>
       <New class="org.eclipse.jetty.http2.server.HTTP2ServerConnectionFactory">
         <Arg name="config"><Ref refid="sslHttpConfig"/></Arg>
-        <Set name="maxConcurrentStreams"><Property name="http2.maxConcurrentStreams" default="1024"/></Set>
+        <Set name="maxConcurrentStreams"><Property name="jetty.http2.maxConcurrentStreams,http2.maxConcurrentStreams" default="1024"/></Set>
+        <Set name="initialStreamSendWindow"><Property name="jetty.http2.initialStreamSendWindow" default="65535"/></Set>
       </New>
     </Arg>
   </Call>
diff --git a/jetty-http2/http2-server/src/main/config/etc/jetty-http2c.xml b/jetty-http2/http2-server/src/main/config/etc/jetty-http2c.xml
index 1077a5c..bf021e3 100644
--- a/jetty-http2/http2-server/src/main/config/etc/jetty-http2c.xml
+++ b/jetty-http2/http2-server/src/main/config/etc/jetty-http2c.xml
@@ -9,7 +9,8 @@
     <Arg>
       <New class="org.eclipse.jetty.http2.server.HTTP2CServerConnectionFactory">
         <Arg name="config"><Ref refid="httpConfig"/></Arg>
-        <Set name="maxConcurrentStreams"><Property name="http2.maxConcurrentStreams" default="1024"/></Set>
+        <Set name="maxConcurrentStreams"><Property name="jetty.http2.maxConcurrentStreams,http2.maxConcurrentStreams" default="1024"/></Set>
+        <Set name="initialStreamSendWindow"><Property name="jetty.http2.initialStreamSendWindow" default="65535"/></Set>
       </New>
     </Arg>
   </Call>
diff --git a/jetty-http2/http2-server/src/main/config/modules/http2.mod b/jetty-http2/http2-server/src/main/config/modules/http2.mod
index 2be7e7e..585c1fa 100644
--- a/jetty-http2/http2-server/src/main/config/modules/http2.mod
+++ b/jetty-http2/http2-server/src/main/config/modules/http2.mod
@@ -13,6 +13,8 @@
 etc/jetty-http2.xml
 
 [ini-template]
-## HTTP2 Configuration
+## Max number of concurrent streams per connection
+# jetty.http2.maxConcurrentStreams=1024
 
-# http2.maxConcurrentStreams=1024
+## Initial stream send (server to client) window
+# jetty.http2.initialStreamSendWindow=65535
diff --git a/jetty-http2/http2-server/src/main/config/modules/http2c.mod b/jetty-http2/http2-server/src/main/config/modules/http2c.mod
index 1073181..15883ca 100644
--- a/jetty-http2/http2-server/src/main/config/modules/http2c.mod
+++ b/jetty-http2/http2-server/src/main/config/modules/http2c.mod
@@ -1,5 +1,8 @@
 #
 # HTTP2 Clear Text Support Module
+# This module adds support for HTTP/2 clear text to the
+# HTTP/1 clear text connector (defined in jetty-http.xml).
+# The resulting connector will accept both HTTP/1 and HTTP/2 connections.
 #
 
 [depend]
@@ -12,11 +15,8 @@
 etc/jetty-http2c.xml
 
 [ini-template]
-## HTTP2c Configuration
+## Max number of concurrent streams per connection
+# jetty.http2.maxConcurrentStreams=1024
 
-# This module adds support for HTTP/2 clear text to the
-# HTTP/1 clear text connector (defined in jetty-http.xml)
-# The resulting connector will accept both HTTP/1 and HTTP/2
-# connections
-
-# http2.maxConcurrentStreams=1024
+## Initial stream send (server to client) window
+# jetty.http2.initialStreamSendWindow=65535
diff --git a/jetty-io/src/main/java/org/eclipse/jetty/io/SelectorManager.java b/jetty-io/src/main/java/org/eclipse/jetty/io/SelectorManager.java
index 56952c4..c58331f 100644
--- a/jetty-io/src/main/java/org/eclipse/jetty/io/SelectorManager.java
+++ b/jetty-io/src/main/java/org/eclipse/jetty/io/SelectorManager.java
@@ -28,7 +28,6 @@
 import java.util.concurrent.Executor;
 
 import org.eclipse.jetty.util.TypeUtil;
-import org.eclipse.jetty.util.annotation.ManagedAttribute;
 import org.eclipse.jetty.util.component.AbstractLifeCycle;
 import org.eclipse.jetty.util.component.ContainerLifeCycle;
 import org.eclipse.jetty.util.component.Dumpable;
@@ -97,7 +96,9 @@
         _connectTimeout = milliseconds;
     }
 
-    @ManagedAttribute("The priority delta to apply to selector threads")
+    /**
+     * @deprecated not implemented
+     */
     @Deprecated
     public int getSelectorPriorityDelta()
     {
@@ -105,15 +106,7 @@
     }
 
     /**
-     * Sets the selector thread priority delta to the given amount.
-     * <p>This allows the selector threads to run at a different priority.
-     * Typically this would be used to lower the priority to give preference
-     * to handling previously accepted connections rather than accepting
-     * new connections.</p>
-     *
-     * @param selectorPriorityDelta the amount to change the thread priority
-     *                              delta to (may be negative)
-     * @see Thread#getPriority()
+     * @deprecated not implemented
      */
     @Deprecated
     public void setSelectorPriorityDelta(int selectorPriorityDelta)
diff --git a/jetty-jaas/src/main/config/etc/jetty-jaas.xml b/jetty-jaas/src/main/config/etc/jetty-jaas.xml
index 9381d10..2625911 100644
--- a/jetty-jaas/src/main/config/etc/jetty-jaas.xml
+++ b/jetty-jaas/src/main/config/etc/jetty-jaas.xml
@@ -3,7 +3,6 @@
 
 <Configure id="Server" class="org.eclipse.jetty.server.Server">
 
-
     <!-- ======================================================== -->
     <!-- java.security.auth.login.config System property          -->
     <!-- This is usually a runtime parameter to the jvm, but      -->
@@ -11,7 +10,7 @@
     <!-- ======================================================== -->
     <Call class="java.lang.System" name="setProperty">
       <Arg>java.security.auth.login.config</Arg>
-      <Arg><Property name="jetty.base" default="." />/<Property name="jaas.login.conf" default="etc/login.conf"/></Arg>
+      <Arg><Property name="jetty.base" default="." />/<Property name="jetty.jaas.login.conf,jaas.login.conf" default="etc/login.conf"/></Arg>
     </Call>
 
 </Configure>
diff --git a/jetty-jaas/src/main/config/modules/jaas.mod b/jetty-jaas/src/main/config/modules/jaas.mod
index 4932140..fee3f59 100644
--- a/jetty-jaas/src/main/config/modules/jaas.mod
+++ b/jetty-jaas/src/main/config/modules/jaas.mod
@@ -12,5 +12,6 @@
 etc/jetty-jaas.xml
 
 [ini-template]
-## JAAS Configuration
-jaas.login.conf=etc/login.conf
+## The file location (relative to $jetty.base) for the
+## JAAS "java.security.auth.login.config" system property
+# jetty.jaas.login.conf=etc/login.conf
diff --git a/jetty-jmx/src/main/config/etc/jetty-jmx-remote.xml b/jetty-jmx/src/main/config/etc/jetty-jmx-remote.xml
index 3527d8b..c71b7a8 100644
--- a/jetty-jmx/src/main/config/etc/jetty-jmx-remote.xml
+++ b/jetty-jmx/src/main/config/etc/jetty-jmx-remote.xml
@@ -2,27 +2,38 @@
 <!DOCTYPE Configure PUBLIC "-//Jetty//Configure//EN" "http://www.eclipse.org/jetty/configure_9_0.dtd">
 
 <Configure id="Server" class="org.eclipse.jetty.server.Server">
+  <!-- =========================================================== -->
+  <!-- Set the java.rmi.server.hostname property in case you've    -->
+  <!-- got a misconfigured /etc/hosts entry or the like.           -->
+  <!-- =========================================================== -->
+  <!--
+  <Call class="java.lang.System" name="setProperty">
+    <Arg>java.rmi.server.hostname</Arg>
+    <Arg>127.0.0.1</Arg>
+  </Call>
+  -->
+
   <!-- Add a remote JMX connector. The parameters of the constructor
-       below specify the JMX service URL, and the object name string for the
-       connector server bean. The parameters of the JMXServiceURL constructor
-       specify the protocol that clients will use to connect to the remote JMX
-       connector (RMI), the hostname of the server (local hostname), port number
-       (automatically assigned), and the URL path. Note that URL path contains
-       the RMI registry hostname and port number, that may need to be modified
-       in order to comply with the firewall requirements.
+  below specify the JMX service URL, and the object name string for the
+  connector server bean. The parameters of the JMXServiceURL constructor
+  specify the protocol that clients will use to connect to the remote JMX
+  connector (RMI), the hostname of the server (local hostname), port number
+  (automatically assigned), and the URL path. Note that URL path contains
+  the RMI registry hostname and port number, that may need to be modified
+  in order to comply with the firewall requirements.
   -->
   <Call name="addBean">
     <Arg>
       <New id="ConnectorServer" class="org.eclipse.jetty.jmx.ConnectorServer">
-	<Arg>
-	  <New class="javax.management.remote.JMXServiceURL">
-	    <Arg type="java.lang.String">rmi</Arg>
-	    <Arg type="java.lang.String" />
-	    <Arg type="java.lang.Integer"><Property name="jetty.jmxrmiport" default="1099"/></Arg>
-	    <Arg type="java.lang.String">/jndi/rmi://<Property name="jetty.jmxrmihost" default="localhost"/>:<Property name="jetty.jmxrmiport" default="1099"/>/jmxrmi</Arg>
-	  </New>
-	</Arg>
-	<Arg>org.eclipse.jetty.jmx:name=rmiconnectorserver</Arg>
+        <Arg>
+          <New class="javax.management.remote.JMXServiceURL">
+            <Arg type="java.lang.String">rmi</Arg>
+            <Arg type="java.lang.String"><Property name="jetty.jmxremote.rmihost,jetty.jmxrmihost" default="localhost"/></Arg>
+            <Arg type="java.lang.Integer"><Property name="jetty.jmxremote.rmiport,jetty.jmxrmiport" default="1099"/></Arg>
+            <Arg type="java.lang.String">/jndi/rmi://<Property name="jetty.jmxremote.rmihost,jetty.jmxrmihost" default="localhost"/>:<Property name="jetty.jmxremote.rmiport,jetty.jmxrmiport" default="1099"/>/jmxrmi</Arg>
+          </New>
+        </Arg>
+        <Arg>org.eclipse.jetty.jmx:name=rmiconnectorserver</Arg>
       </New>
     </Arg>
   </Call>
diff --git a/jetty-jmx/src/main/config/etc/jetty-jmx.xml b/jetty-jmx/src/main/config/etc/jetty-jmx.xml
index aca96f7..4c67b8b 100644
--- a/jetty-jmx/src/main/config/etc/jetty-jmx.xml
+++ b/jetty-jmx/src/main/config/etc/jetty-jmx.xml
@@ -4,17 +4,6 @@
 <Configure id="Server" class="org.eclipse.jetty.server.Server">
 
   <!-- =========================================================== -->
-  <!-- Set the java.rmi.server.hostname property in case you've    -->
-  <!-- got a misconfigured /etc/hosts entry or the like.           -->
-  <!-- =========================================================== -->
-  <!--
-  <Call class="java.lang.System" name="setProperty">
-    <Arg>java.rmi.server.hostname</Arg>
-    <Arg>127.0.0.1</Arg>
-  </Call>
-  -->
-
-  <!-- =========================================================== -->
   <!-- Get the platform mbean server                               -->
   <!-- =========================================================== -->
   <Call id="MBeanServer" class="java.lang.management.ManagementFactory"
diff --git a/jetty-jmx/src/main/config/modules/jmx-remote.mod b/jetty-jmx/src/main/config/modules/jmx-remote.mod
index b6be74a..f8a5111 100644
--- a/jetty-jmx/src/main/config/modules/jmx-remote.mod
+++ b/jetty-jmx/src/main/config/modules/jmx-remote.mod
@@ -9,10 +9,8 @@
 etc/jetty-jmx-remote.xml
 
 [ini-template]
-## JMX Configuration
-## Enable for an open port accessible by remote machines
-# jetty.jmxrmihost=localhost
-# jetty.jmxrmiport=1099
-## Strictly speaking you shouldn't need --exec to use this in most environments.
-## If this isn't working, make sure you enable --exec as well
-# -Dcom.sun.management.jmxremote
+## The host/address to bind RMI to
+# jetty.jmxremote.rmihost=localhost
+
+## The port RMI listens to
+# jetty.jmxremote.rmiport=1099
diff --git a/jetty-maven-plugin/src/main/java/org/eclipse/jetty/maven/plugin/AbstractJettyMojo.java b/jetty-maven-plugin/src/main/java/org/eclipse/jetty/maven/plugin/AbstractJettyMojo.java
index 4a2ddaa..652b208 100644
--- a/jetty-maven-plugin/src/main/java/org/eclipse/jetty/maven/plugin/AbstractJettyMojo.java
+++ b/jetty-maven-plugin/src/main/java/org/eclipse/jetty/maven/plugin/AbstractJettyMojo.java
@@ -40,7 +40,6 @@
 import org.apache.maven.project.MavenProject;
 import org.codehaus.plexus.util.FileUtils;
 import org.eclipse.jetty.security.LoginService;
-import org.eclipse.jetty.server.Connector;
 import org.eclipse.jetty.server.RequestLog;
 import org.eclipse.jetty.server.Server;
 import org.eclipse.jetty.server.ShutdownMonitor;
@@ -491,8 +490,8 @@
                 // check that its port was set
                 if (httpConnector.getPort() <= 0)
                 {
-                    //use any jetty.port settings provided
-                    String tmp = System.getProperty(MavenServerConnector.PORT_SYSPROPERTY, MavenServerConnector.DEFAULT_PORT_STR); 
+                    //use any jetty.http.port settings provided
+                    String tmp = System.getProperty(MavenServerConnector.PORT_SYSPROPERTY, System.getProperty("jetty.port", MavenServerConnector.DEFAULT_PORT_STR));
                     httpConnector.setPort(Integer.parseInt(tmp.trim()));
                 }  
                 httpConnector.setServer(server);
diff --git a/jetty-maven-plugin/src/main/java/org/eclipse/jetty/maven/plugin/JettyRunForkedMojo.java b/jetty-maven-plugin/src/main/java/org/eclipse/jetty/maven/plugin/JettyRunForkedMojo.java
index bdde6cc..a753930 100644
--- a/jetty-maven-plugin/src/main/java/org/eclipse/jetty/maven/plugin/JettyRunForkedMojo.java
+++ b/jetty-maven-plugin/src/main/java/org/eclipse/jetty/maven/plugin/JettyRunForkedMojo.java
@@ -45,7 +45,6 @@
 import org.apache.maven.plugin.MojoFailureException;
 import org.apache.maven.plugin.descriptor.PluginDescriptor;
 import org.eclipse.jetty.annotations.AnnotationConfiguration;
-import org.eclipse.jetty.quickstart.QuickStartDescriptorGenerator;
 import org.eclipse.jetty.server.Server;
 import org.eclipse.jetty.util.IO;
 import org.eclipse.jetty.util.resource.Resource;
@@ -82,17 +81,6 @@
  */
 public class JettyRunForkedMojo extends JettyRunMojo
 {    
-    public static final String DEFAULT_WEBAPP_SRC = "src"+File.separator+"main"+File.separator+"webapp";
-    public static final String FAKE_WEBAPP = "webapp-tmp";
-    
-    
-    public String PORT_SYSPROPERTY = "jetty.port";
-
-    
- 
-    
-    
-    
     /**
      * The target directory
      * 
diff --git a/jetty-maven-plugin/src/main/java/org/eclipse/jetty/maven/plugin/MavenServerConnector.java b/jetty-maven-plugin/src/main/java/org/eclipse/jetty/maven/plugin/MavenServerConnector.java
index 86de699..5cd754e 100644
--- a/jetty-maven-plugin/src/main/java/org/eclipse/jetty/maven/plugin/MavenServerConnector.java
+++ b/jetty-maven-plugin/src/main/java/org/eclipse/jetty/maven/plugin/MavenServerConnector.java
@@ -47,7 +47,7 @@
  */
 public class MavenServerConnector extends AbstractLifeCycle implements Connector
 {
-    public static String PORT_SYSPROPERTY = "jetty.port";
+    public static String PORT_SYSPROPERTY = "jetty.http.port";
     
     public static final int DEFAULT_PORT = 8080;
     public static final String DEFAULT_PORT_STR = String.valueOf(DEFAULT_PORT);
diff --git a/jetty-maven-plugin/src/main/java/org/eclipse/jetty/maven/plugin/ServerSupport.java b/jetty-maven-plugin/src/main/java/org/eclipse/jetty/maven/plugin/ServerSupport.java
index 4dd4c16..83e08d6 100644
--- a/jetty-maven-plugin/src/main/java/org/eclipse/jetty/maven/plugin/ServerSupport.java
+++ b/jetty-maven-plugin/src/main/java/org/eclipse/jetty/maven/plugin/ServerSupport.java
@@ -110,8 +110,8 @@
         {
             //Make a new default connector
             MavenServerConnector tmp = new MavenServerConnector();               
-            //use any jetty.port settings provided
-            String port = System.getProperty(MavenServerConnector.PORT_SYSPROPERTY, MavenServerConnector.DEFAULT_PORT_STR);
+            //use any jetty.http.port settings provided
+            String port = System.getProperty(MavenServerConnector.PORT_SYSPROPERTY, System.getProperty("jetty.port", MavenServerConnector.DEFAULT_PORT_STR));
             tmp.setPort(Integer.parseInt(port.trim()));
             tmp.setServer(server);
             server.setConnectors(new Connector[] {tmp});
diff --git a/jetty-maven-plugin/src/main/java/org/eclipse/jetty/maven/plugin/Starter.java b/jetty-maven-plugin/src/main/java/org/eclipse/jetty/maven/plugin/Starter.java
index 258e822..7775e9e 100644
--- a/jetty-maven-plugin/src/main/java/org/eclipse/jetty/maven/plugin/Starter.java
+++ b/jetty-maven-plugin/src/main/java/org/eclipse/jetty/maven/plugin/Starter.java
@@ -31,7 +31,6 @@
 import java.util.Set;
 import java.util.TreeMap;
 
-import org.eclipse.jetty.server.Connector;
 import org.eclipse.jetty.server.Handler;
 import org.eclipse.jetty.server.Server;
 import org.eclipse.jetty.server.ShutdownMonitor;
@@ -52,7 +51,6 @@
  */
 public class Starter
 { 
-    public static final String PORT_SYSPROPERTY = "jetty.port";
     private static final Logger LOG = Log.getLogger(Starter.class);
 
     private List<File> jettyXmls; // list of jetty.xml config files to apply - Mandatory
diff --git a/jetty-monitor/src/main/config/etc/jetty-monitor.xml b/jetty-monitor/src/main/config/etc/jetty-monitor.xml
index 61270b5..dcb15a6 100644
--- a/jetty-monitor/src/main/config/etc/jetty-monitor.xml
+++ b/jetty-monitor/src/main/config/etc/jetty-monitor.xml
@@ -1,5 +1,5 @@
 <?xml version="1.0"?>
-<!DOCTYPE Configure PUBLIC "-//Jetty//Configure//EN" "http://www.eclipse.org/jetty/configure.dtd">
+<!DOCTYPE Configure PUBLIC "-//Jetty//Configure//EN" "http://www.eclipse.org/jetty/configure_9_0.dtd">
 
 <Configure id="Server" class="org.eclipse.jetty.server.Server">
   <!-- Create Thread Monitor, and add to the Server as a lifecycle -->
diff --git a/jetty-osgi/jetty-osgi-boot/jettyhome/etc/jetty-selector.xml b/jetty-osgi/jetty-osgi-boot/jettyhome/etc/jetty-selector.xml
index 67cd87c..0613a1a 100644
--- a/jetty-osgi/jetty-osgi-boot/jettyhome/etc/jetty-selector.xml
+++ b/jetty-osgi/jetty-osgi-boot/jettyhome/etc/jetty-selector.xml
@@ -21,8 +21,8 @@
                 </Item>
               </Array>
              </Arg>
-            <Set name="host"><Property name="jetty.host" /></Set>
-            <Set name="port"><Property name="jetty.port" default="8080"/></Set>
+            <Set name="host"><Property name="jetty.http.host" /></Set>
+            <Set name="port"><Property name="jetty.http.port" default="8080"/></Set>
             <Set name="idleTimeout">300000</Set>
           </New>
       </Arg>
diff --git a/jetty-osgi/jetty-osgi-boot/jettyhome/etc/jetty.xml b/jetty-osgi/jetty-osgi-boot/jettyhome/etc/jetty.xml
index 5c882b0..881e69c 100644
--- a/jetty-osgi/jetty-osgi-boot/jettyhome/etc/jetty.xml
+++ b/jetty-osgi/jetty-osgi-boot/jettyhome/etc/jetty.xml
@@ -43,7 +43,7 @@
 
     <New id="httpConfig" class="org.eclipse.jetty.server.HttpConfiguration">
       <Set name="secureScheme">https</Set>
-      <Set name="securePort"><Property name="jetty.secure.port" default="8443" /></Set>
+      <Set name="securePort"><Property name="jetty.httpConfig.securePort" default="8443" /></Set>
       <Set name="outputBufferSize">32768</Set>
       <Set name="requestHeaderSize">8192</Set>
       <Set name="responseHeaderSize">8192</Set>
diff --git a/jetty-osgi/jetty-osgi-boot/src/main/java/org/eclipse/jetty/osgi/boot/OSGiServerConstants.java b/jetty-osgi/jetty-osgi-boot/src/main/java/org/eclipse/jetty/osgi/boot/OSGiServerConstants.java
index a91af45..6b846a7 100644
--- a/jetty-osgi/jetty-osgi-boot/src/main/java/org/eclipse/jetty/osgi/boot/OSGiServerConstants.java
+++ b/jetty-osgi/jetty-osgi-boot/src/main/java/org/eclipse/jetty/osgi/boot/OSGiServerConstants.java
@@ -43,21 +43,20 @@
      * Usual system property used as the hostname for a typical jetty
      * configuration.
      */
-    public static final String JETTY_HOST = "jetty.host";
+    public static final String JETTY_HOST = "jetty.http.host";
 
     /**
      * Usual system property used as the port for http for a typical jetty
      * configuration.
      */
-    public static final String JETTY_PORT = "jetty.port";
+    public static final String JETTY_PORT = "jetty.http.port";
 
     /**
      * Usual system property used as the port for https for a typical jetty
      * configuration.
      */
-    public static final String JETTY_PORT_SSL = "ssl.port";
-    
-    
+    public static final String JETTY_PORT_SSL = "jetty.ssl.port";
+
     //for managed jetty instances, name of the configuration parameters
     /**
      * PID of the jetty servers's ManagedFactory
@@ -86,5 +85,4 @@
      * List of URLs to the folders where the legacy J2EE shared libraries are stored aka lib/ext, lib/jsp etc.
      */
     public static final String MANAGED_JETTY_SHARED_LIB_FOLDER_URLS = "managedJettySharedLibFolderUrls";
-    
 }
diff --git a/jetty-osgi/jetty-osgi-boot/src/main/java/org/eclipse/jetty/osgi/boot/internal/serverfactory/DefaultJettyAtJettyHomeHelper.java b/jetty-osgi/jetty-osgi-boot/src/main/java/org/eclipse/jetty/osgi/boot/internal/serverfactory/DefaultJettyAtJettyHomeHelper.java
index 48fc6eb..2377f54 100644
--- a/jetty-osgi/jetty-osgi-boot/src/main/java/org/eclipse/jetty/osgi/boot/internal/serverfactory/DefaultJettyAtJettyHomeHelper.java
+++ b/jetty-osgi/jetty-osgi-boot/src/main/java/org/eclipse/jetty/osgi/boot/internal/serverfactory/DefaultJettyAtJettyHomeHelper.java
@@ -88,8 +88,8 @@
      * files.
      * </p>
      * <p>
-     * In both cases the system properties jetty.host, jetty.port and
-     * jetty.port.ssl are passed to the configuration files that might use them
+     * In both cases the system properties jetty.http.host, jetty.http.port and
+     * jetty.ssl.port are passed to the configuration files that might use them
      * as part of their properties.
      * </p>
      */
@@ -158,7 +158,7 @@
         String home=properties.get(OSGiServerConstants.JETTY_HOME);
         String base=properties.get(OSGiServerConstants.JETTY_BASE);
         if (base==null)
-        	base=home;
+            base=home;
         LOG.info("JETTY.HOME="+home);
         LOG.info("JETTY.BASE="+base);
         ClassLoader contextCl = Thread.currentThread().getContextClassLoader();
@@ -169,9 +169,9 @@
             // these properties usually are the ones passed to this type of
             // configuration.
             properties.put(OSGiServerConstants.MANAGED_JETTY_SERVER_NAME, OSGiServerConstants.MANAGED_JETTY_SERVER_DEFAULT_NAME);
-            Util.setProperty(properties, OSGiServerConstants.JETTY_HOST, System.getProperty(OSGiServerConstants.JETTY_HOST));
-            Util.setProperty(properties, OSGiServerConstants.JETTY_PORT, System.getProperty(OSGiServerConstants.JETTY_PORT));
-            Util.setProperty(properties, OSGiServerConstants.JETTY_PORT_SSL, System.getProperty(OSGiServerConstants.JETTY_PORT_SSL));
+            Util.setProperty(properties, OSGiServerConstants.JETTY_HOST, System.getProperty(OSGiServerConstants.JETTY_HOST, System.getProperty("jetty.host")));
+            Util.setProperty(properties, OSGiServerConstants.JETTY_PORT, System.getProperty(OSGiServerConstants.JETTY_PORT, System.getProperty("jetty.port")));
+            Util.setProperty(properties, OSGiServerConstants.JETTY_PORT_SSL, System.getProperty(OSGiServerConstants.JETTY_PORT_SSL, System.getProperty("ssl.port")));
             Util.setProperty(properties, OSGiServerConstants.JETTY_HOME, home);
             Util.setProperty(properties, OSGiServerConstants.JETTY_BASE, base);
             Server server = ServerInstanceWrapper.configure(null, configURLs, properties);
@@ -185,8 +185,8 @@
         }
         catch (Exception e)
         {
-        	LOG.warn(e);
-        	throw e;
+            LOG.warn(e);
+            throw e;
         }
         finally
         {
diff --git a/jetty-osgi/test-jetty-osgi-context/src/main/context/acme.xml b/jetty-osgi/test-jetty-osgi-context/src/main/context/acme.xml
index 1ff97a4..ef5122d 100644
--- a/jetty-osgi/test-jetty-osgi-context/src/main/context/acme.xml
+++ b/jetty-osgi/test-jetty-osgi-context/src/main/context/acme.xml
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE Configure PUBLIC "-//Jetty//Configure//EN" "http://www.eclipse.org/jetty/configure.dtd">
+<!DOCTYPE Configure PUBLIC "-//Jetty//Configure//EN" "http://www.eclipse.org/jetty/configure_9_0.dtd">
 
 <Configure class="org.eclipse.jetty.server.handler.ContextHandler">
 
diff --git a/jetty-osgi/test-jetty-osgi-webapp/src/main/java/com/acme/osgi/Activator.java b/jetty-osgi/test-jetty-osgi-webapp/src/main/java/com/acme/osgi/Activator.java
index 0863fe9..8ad84d8 100644
--- a/jetty-osgi/test-jetty-osgi-webapp/src/main/java/com/acme/osgi/Activator.java
+++ b/jetty-osgi/test-jetty-osgi-webapp/src/main/java/com/acme/osgi/Activator.java
@@ -51,7 +51,7 @@
         Dictionary serverProps = new Hashtable();
         //define the unique name of the server instance
         serverProps.put("managedServerName", serverName);
-        serverProps.put("jetty.port", "9999");
+        serverProps.put("jetty.http.port", "9999");
         //let Jetty apply some configuration files to the Server instance
         serverProps.put("jetty.etc.config.urls", "file:/opt/jetty/etc/jetty.xml,file:/opt/jetty/etc/jetty-selector.xml,file:/opt/jetty/etc/jetty-deployer.xml");
         //register as an OSGi Service for Jetty to find 
diff --git a/jetty-osgi/test-jetty-osgi/src/test/config/etc/jetty-http.xml b/jetty-osgi/test-jetty-osgi/src/test/config/etc/jetty-http.xml
index c3f74f3..dd35c6f 100644
--- a/jetty-osgi/test-jetty-osgi/src/test/config/etc/jetty-http.xml
+++ b/jetty-osgi/test-jetty-osgi/src/test/config/etc/jetty-http.xml
@@ -31,10 +31,9 @@
             </Item>
           </Array>
         </Arg>
-        <Set name="host"><Property name="jetty.host" /></Set>
-        <Set name="port"><Property name="jetty.port" default="80" /></Set>
-        <Set name="idleTimeout"><Property name="http.timeout" default="30000"/></Set>
-        <Set name="soLingerTime"><Property name="http.soLingerTime" default="-1"/></Set>
+        <Set name="host"><Property name="jetty.http.host" /></Set>
+        <Set name="port"><Property name="jetty.http.port" default="80" /></Set>
+        <Set name="idleTimeout"><Property name="jetty.http.idleTimeout" default="30000"/></Set>
       </New>
     </Arg>
   </Call>
diff --git a/jetty-osgi/test-jetty-osgi/src/test/config/etc/jetty-http2.xml b/jetty-osgi/test-jetty-osgi/src/test/config/etc/jetty-http2.xml
index b0ad658..13258ae 100644
--- a/jetty-osgi/test-jetty-osgi/src/test/config/etc/jetty-http2.xml
+++ b/jetty-osgi/test-jetty-osgi/src/test/config/etc/jetty-http2.xml
@@ -9,7 +9,7 @@
     <Arg>
       <New class="org.eclipse.jetty.http2.server.HTTP2ServerConnectionFactory">
         <Arg name="config"><Ref refid="sslHttpConfig"/></Arg>
-        <Set name="maxConcurrentStreams"><Property name="http2.maxConcurrentStreams" default="1024"/></Set>
+        <Set name="maxConcurrentStreams"><Property name="jetty.http2.maxConcurrentStreams" default="1024"/></Set>
       </New>
     </Arg>
   </Call>
diff --git a/jetty-osgi/test-jetty-osgi/src/test/config/etc/jetty-ssl.xml b/jetty-osgi/test-jetty-osgi/src/test/config/etc/jetty-ssl.xml
index ef65019..d80cf81 100644
--- a/jetty-osgi/test-jetty-osgi/src/test/config/etc/jetty-ssl.xml
+++ b/jetty-osgi/test-jetty-osgi/src/test/config/etc/jetty-ssl.xml
@@ -19,10 +19,10 @@
             <Array type="org.eclipse.jetty.server.ConnectionFactory">
             </Array>
           </Arg>
-          <Set name="host"><Property name="jetty.host" /></Set>
-          <Set name="port"><Property name="ssl.port" default="443" /></Set>
-          <Set name="idleTimeout"><Property name="ssl.timeout" default="30000"/></Set>
-          <Set name="soLingerTime"><Property name="ssl.soLingerTime" default="-1"/></Set>
+          <Set name="host"><Property name="jetty.ssl.host" /></Set>
+          <Set name="port"><Property name="jetty.ssl.port" default="443" /></Set>
+          <Set name="idleTimeout"><Property name="jetty.ssl.idleTimeout" default="30000"/></Set>
+          <Set name="soLingerTime"><Property name="jetty.ssl.soLingerTime" default="-1"/></Set>
         </New>
     </Arg>
   </Call>
@@ -31,14 +31,14 @@
   <!-- Create a TLS (SSL) Context Factory  for later reuse           -->
   <!-- ============================================================= -->
   <New id="sslContextFactory" class="org.eclipse.jetty.util.ssl.SslContextFactory">
-    <Set name="KeyStorePath"><Property name="jetty.base" default="." />/<Property name="jetty.keystore" default="etc/keystore"/></Set>
-    <Set name="KeyStorePassword"><Property name="jetty.keystore.password" default="OBF:1vny1zlo1x8e1vnw1vn61x8g1zlu1vn4"/></Set>
-    <Set name="KeyManagerPassword"><Property name="jetty.keymanager.password" default="OBF:1u2u1wml1z7s1z7a1wnl1u2g"/></Set>
-    <Set name="TrustStorePath"><Property name="jetty.base" default="." />/<Property name="jetty.truststore" default="etc/keystore"/></Set>
-    <Set name="TrustStorePassword"><Property name="jetty.truststore.password" default="OBF:1vny1zlo1x8e1vnw1vn61x8g1zlu1vn4"/></Set>
+    <Set name="KeyStorePath"><Property name="jetty.base" default="." />/<Property name="jetty.sslConfig.keyStorePath" default="etc/keystore"/></Set>
+    <Set name="KeyStorePassword"><Property name="jetty.sslConfig.keyStorePassword" default="OBF:1vny1zlo1x8e1vnw1vn61x8g1zlu1vn4"/></Set>
+    <Set name="KeyManagerPassword"><Property name="jetty.sslConfig.keyManagerPassword" default="OBF:1u2u1wml1z7s1z7a1wnl1u2g"/></Set>
+    <Set name="TrustStorePath"><Property name="jetty.base" default="." />/<Property name="jetty.sslConfig.trustStorePath" default="etc/keystore"/></Set>
+    <Set name="TrustStorePassword"><Property name="jetty.sslConfig.trustStorePassword" default="OBF:1vny1zlo1x8e1vnw1vn61x8g1zlu1vn4"/></Set>
     <Set name="EndpointIdentificationAlgorithm"></Set>
-    <Set name="NeedClientAuth"><Property name="jetty.ssl.needClientAuth" default="false"/></Set>
-    <Set name="WantClientAuth"><Property name="jetty.ssl.wantClientAuth" default="false"/></Set>
+    <Set name="NeedClientAuth"><Property name="jetty.sslConfig.needClientAuth" default="false"/></Set>
+    <Set name="WantClientAuth"><Property name="jetty.sslConfig.wantClientAuth" default="false"/></Set>
     <Set name="ExcludeCipherSuites">
      <Array type="String">
       <Item>SSL_RSA_WITH_DES_CBC_SHA</Item>
diff --git a/jetty-osgi/test-jetty-osgi/src/test/config/etc/jetty.xml b/jetty-osgi/test-jetty-osgi/src/test/config/etc/jetty.xml
index 170530b..bf96e21 100644
--- a/jetty-osgi/test-jetty-osgi/src/test/config/etc/jetty.xml
+++ b/jetty-osgi/test-jetty-osgi/src/test/config/etc/jetty.xml
@@ -43,7 +43,7 @@
 
     <New id="httpConfig" class="org.eclipse.jetty.server.HttpConfiguration">
       <Set name="secureScheme">https</Set>
-      <Set name="securePort"><Property name="jetty.secure.port" default="8443" /></Set>
+      <Set name="securePort"><Property name="jetty.httpConfig.securePort" default="8443" /></Set>
       <Set name="outputBufferSize">32768</Set>
       <Set name="requestHeaderSize">8192</Set>
       <Set name="responseHeaderSize">8192</Set>
diff --git a/jetty-osgi/test-jetty-osgi/src/test/java/org/eclipse/jetty/osgi/test/TestJettyOSGiBootContextAsService.java b/jetty-osgi/test-jetty-osgi/src/test/java/org/eclipse/jetty/osgi/test/TestJettyOSGiBootContextAsService.java
index b448cd7..a538465 100644
--- a/jetty-osgi/test-jetty-osgi/src/test/java/org/eclipse/jetty/osgi/test/TestJettyOSGiBootContextAsService.java
+++ b/jetty-osgi/test-jetty-osgi/src/test/java/org/eclipse/jetty/osgi/test/TestJettyOSGiBootContextAsService.java
@@ -18,18 +18,10 @@
 
 package org.eclipse.jetty.osgi.test;
 
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertTrue;
-import static org.ops4j.pax.exam.CoreOptions.mavenBundle;
-import static org.ops4j.pax.exam.CoreOptions.options;
-import static org.ops4j.pax.exam.CoreOptions.systemProperty;
-
 import java.io.File;
 import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.List;
-
 import javax.inject.Inject;
 
 import org.eclipse.jetty.client.HttpClient;
@@ -48,6 +40,13 @@
 import org.osgi.framework.BundleContext;
 import org.osgi.framework.ServiceReference;
 
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertTrue;
+import static org.ops4j.pax.exam.CoreOptions.mavenBundle;
+import static org.ops4j.pax.exam.CoreOptions.options;
+import static org.ops4j.pax.exam.CoreOptions.systemProperty;
+
 /**
  * TestJettyOSGiBootContextAsService
  * 
@@ -99,8 +98,8 @@
                 + "/jetty-deployer.xml;"
                 + etc
                 + "/jetty-testrealm.xml"));
-        options.add(systemProperty("jetty.port").value(String.valueOf(TestJettyOSGiBootCore.DEFAULT_HTTP_PORT)));
-        options.add(systemProperty("ssl.port").value(String.valueOf(TestJettyOSGiBootCore.DEFAULT_SSL_PORT)));
+        options.add(systemProperty("jetty.http.port").value(String.valueOf(TestJettyOSGiBootCore.DEFAULT_HTTP_PORT)));
+        options.add(systemProperty("jetty.ssl.port").value(String.valueOf(TestJettyOSGiBootCore.DEFAULT_SSL_PORT)));
         options.add(systemProperty("jetty.home").value(etcFolder.getParentFile().getAbsolutePath()));
         return options;
     }
diff --git a/jetty-osgi/test-jetty-osgi/src/test/java/org/eclipse/jetty/osgi/test/TestJettyOSGiBootCore.java b/jetty-osgi/test-jetty-osgi/src/test/java/org/eclipse/jetty/osgi/test/TestJettyOSGiBootCore.java
index 94190c0..19db615 100644
--- a/jetty-osgi/test-jetty-osgi/src/test/java/org/eclipse/jetty/osgi/test/TestJettyOSGiBootCore.java
+++ b/jetty-osgi/test-jetty-osgi/src/test/java/org/eclipse/jetty/osgi/test/TestJettyOSGiBootCore.java
@@ -18,14 +18,9 @@
 
 package org.eclipse.jetty.osgi.test;
  
-import static org.ops4j.pax.exam.CoreOptions.mavenBundle;
-import static org.ops4j.pax.exam.CoreOptions.options;
-import static org.ops4j.pax.exam.CoreOptions.systemProperty;
-
 import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.List;
-
 import javax.inject.Inject;
 
 import org.junit.Ignore;
@@ -39,6 +34,10 @@
 import org.ops4j.pax.exam.options.MavenUrlReference.VersionResolver;
 import org.osgi.framework.BundleContext;
 
+import static org.ops4j.pax.exam.CoreOptions.mavenBundle;
+import static org.ops4j.pax.exam.CoreOptions.options;
+import static org.ops4j.pax.exam.CoreOptions.systemProperty;
+
 
 /**
  * Default OSGi setup integration test
@@ -74,8 +73,8 @@
     { 
         List<Option> res = new ArrayList<Option>();
         // get the jetty home config from the osgi boot bundle.
-        res.add(CoreOptions.systemProperty("jetty.port").value(String.valueOf(DEFAULT_HTTP_PORT)));
-        res.add(CoreOptions.systemProperty("ssl.port").value(String.valueOf(DEFAULT_SSL_PORT)));
+        res.add(CoreOptions.systemProperty("jetty.http.port").value(String.valueOf(DEFAULT_HTTP_PORT)));
+        res.add(CoreOptions.systemProperty("jetty.ssl.port").value(String.valueOf(DEFAULT_SSL_PORT)));
         res.add(CoreOptions.systemProperty("jetty.home.bundle").value("org.eclipse.jetty.osgi.boot"));
         res.addAll(coreJettyDependencies());
         return res;
diff --git a/jetty-osgi/test-jetty-osgi/src/test/java/org/eclipse/jetty/osgi/test/TestJettyOSGiBootHTTP2.java b/jetty-osgi/test-jetty-osgi/src/test/java/org/eclipse/jetty/osgi/test/TestJettyOSGiBootHTTP2.java
index 7a18120..8d3b10a 100644
--- a/jetty-osgi/test-jetty-osgi/src/test/java/org/eclipse/jetty/osgi/test/TestJettyOSGiBootHTTP2.java
+++ b/jetty-osgi/test-jetty-osgi/src/test/java/org/eclipse/jetty/osgi/test/TestJettyOSGiBootHTTP2.java
@@ -18,15 +18,10 @@
 
 package org.eclipse.jetty.osgi.test;
 
-import static org.ops4j.pax.exam.CoreOptions.mavenBundle;
-import static org.ops4j.pax.exam.CoreOptions.options;
-import static org.ops4j.pax.exam.CoreOptions.systemProperty;
-
 import java.io.File;
 import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.List;
-
 import javax.inject.Inject;
 
 import org.junit.Assert;
@@ -39,6 +34,10 @@
 import org.ops4j.pax.exam.junit.PaxExam;
 import org.osgi.framework.BundleContext;
 
+import static org.ops4j.pax.exam.CoreOptions.mavenBundle;
+import static org.ops4j.pax.exam.CoreOptions.options;
+import static org.ops4j.pax.exam.CoreOptions.systemProperty;
+
 /**
  * HTTP2 setup.
  */
@@ -73,8 +72,8 @@
     public static List<Option> http2JettyDependencies()
     {
         List<Option> res = new ArrayList<Option>();
-        res.add(CoreOptions.systemProperty("jetty.port").value(String.valueOf(TestJettyOSGiBootCore.DEFAULT_HTTP_PORT)));
-        res.add(CoreOptions.systemProperty("ssl.port").value(String.valueOf(TestJettyOSGiBootCore.DEFAULT_SSL_PORT)));
+        res.add(CoreOptions.systemProperty("jetty.http.port").value(String.valueOf(TestJettyOSGiBootCore.DEFAULT_HTTP_PORT)));
+        res.add(CoreOptions.systemProperty("jetty.ssl.port").value(String.valueOf(TestJettyOSGiBootCore.DEFAULT_SSL_PORT)));
 
         String alpnBoot = System.getProperty("mortbay-alpn-boot");
         if (alpnBoot == null) { throw new IllegalStateException("Define path to alpn boot jar as system property -Dmortbay-alpn-boot"); }
diff --git a/jetty-osgi/test-jetty-osgi/src/test/java/org/eclipse/jetty/osgi/test/TestJettyOSGiBootWebAppAsService.java b/jetty-osgi/test-jetty-osgi/src/test/java/org/eclipse/jetty/osgi/test/TestJettyOSGiBootWebAppAsService.java
index 99ee07d..b725b7d 100644
--- a/jetty-osgi/test-jetty-osgi/src/test/java/org/eclipse/jetty/osgi/test/TestJettyOSGiBootWebAppAsService.java
+++ b/jetty-osgi/test-jetty-osgi/src/test/java/org/eclipse/jetty/osgi/test/TestJettyOSGiBootWebAppAsService.java
@@ -18,18 +18,10 @@
 
 package org.eclipse.jetty.osgi.test;
 
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertTrue;
-import static org.ops4j.pax.exam.CoreOptions.mavenBundle;
-import static org.ops4j.pax.exam.CoreOptions.options;
-import static org.ops4j.pax.exam.CoreOptions.systemProperty;
-
 import java.io.File;
 import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.List;
-
 import javax.inject.Inject;
 
 import org.eclipse.jetty.client.HttpClient;
@@ -48,6 +40,13 @@
 import org.osgi.framework.BundleContext;
 import org.osgi.framework.ServiceReference;
 
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertTrue;
+import static org.ops4j.pax.exam.CoreOptions.mavenBundle;
+import static org.ops4j.pax.exam.CoreOptions.options;
+import static org.ops4j.pax.exam.CoreOptions.systemProperty;
+
 /**
  * TestJettyOSGiBootWebAppAsService
  * 
@@ -102,8 +101,8 @@
                 + "/jetty-deployer.xml;"
                 + etc
                 + "/jetty-testrealm.xml"));
-        options.add(systemProperty("jetty.port").value(String.valueOf(TestJettyOSGiBootCore.DEFAULT_HTTP_PORT)));
-        options.add(systemProperty("ssl.port").value(String.valueOf(TestJettyOSGiBootCore.DEFAULT_SSL_PORT)));
+        options.add(systemProperty("jetty.http.port").value(String.valueOf(TestJettyOSGiBootCore.DEFAULT_HTTP_PORT)));
+        options.add(systemProperty("jetty.ssl.port").value(String.valueOf(TestJettyOSGiBootCore.DEFAULT_SSL_PORT)));
         options.add(systemProperty("jetty.home").value(etcFolder.getParentFile().getAbsolutePath()));
         return options;
     }
diff --git a/jetty-osgi/test-jetty-osgi/src/test/java/org/eclipse/jetty/osgi/test/TestJettyOSGiBootWithAnnotations.java b/jetty-osgi/test-jetty-osgi/src/test/java/org/eclipse/jetty/osgi/test/TestJettyOSGiBootWithAnnotations.java
index 014b66e..a41c633 100644
--- a/jetty-osgi/test-jetty-osgi/src/test/java/org/eclipse/jetty/osgi/test/TestJettyOSGiBootWithAnnotations.java
+++ b/jetty-osgi/test-jetty-osgi/src/test/java/org/eclipse/jetty/osgi/test/TestJettyOSGiBootWithAnnotations.java
@@ -18,17 +18,10 @@
 
 package org.eclipse.jetty.osgi.test;
 
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertTrue;
-import static org.ops4j.pax.exam.CoreOptions.mavenBundle;
-import static org.ops4j.pax.exam.CoreOptions.options;
-import static org.ops4j.pax.exam.CoreOptions.systemProperty;
-
 import java.io.File;
 import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.List;
-
 import javax.inject.Inject;
 
 import org.eclipse.jetty.client.HttpClient;
@@ -45,6 +38,12 @@
 import org.ops4j.pax.exam.junit.PaxExam;
 import org.osgi.framework.BundleContext;
 
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertTrue;
+import static org.ops4j.pax.exam.CoreOptions.mavenBundle;
+import static org.ops4j.pax.exam.CoreOptions.options;
+import static org.ops4j.pax.exam.CoreOptions.systemProperty;
+
 /**
  * Pax-Exam to make sure the jetty-osgi-boot can be started along with the
  * httpservice web-bundle. Then make sure we can deploy an OSGi service on the
@@ -100,8 +99,8 @@
                 + "/jetty-testrealm.xml";
 
         options.add(systemProperty(OSGiServerConstants.MANAGED_JETTY_XML_CONFIG_URLS).value(xmlConfigs));
-        options.add(systemProperty("jetty.port").value(String.valueOf(TestJettyOSGiBootCore.DEFAULT_HTTP_PORT)));
-        options.add(systemProperty("ssl.port").value(String.valueOf(TestJettyOSGiBootCore.DEFAULT_SSL_PORT)));
+        options.add(systemProperty("jetty.http.port").value(String.valueOf(TestJettyOSGiBootCore.DEFAULT_HTTP_PORT)));
+        options.add(systemProperty("jetty.ssl.port").value(String.valueOf(TestJettyOSGiBootCore.DEFAULT_SSL_PORT)));
         options.add(systemProperty("jetty.home").value(etcFolder.getParentFile().getAbsolutePath()));
         return options;
     }
diff --git a/jetty-osgi/test-jetty-osgi/src/test/java/org/eclipse/jetty/osgi/test/TestJettyOSGiBootWithJsp.java b/jetty-osgi/test-jetty-osgi/src/test/java/org/eclipse/jetty/osgi/test/TestJettyOSGiBootWithJsp.java
index 1d6e02a..39d47c4 100644
--- a/jetty-osgi/test-jetty-osgi/src/test/java/org/eclipse/jetty/osgi/test/TestJettyOSGiBootWithJsp.java
+++ b/jetty-osgi/test-jetty-osgi/src/test/java/org/eclipse/jetty/osgi/test/TestJettyOSGiBootWithJsp.java
@@ -18,17 +18,10 @@
 
 package org.eclipse.jetty.osgi.test;
 
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertTrue;
-import static org.ops4j.pax.exam.CoreOptions.mavenBundle;
-import static org.ops4j.pax.exam.CoreOptions.options;
-import static org.ops4j.pax.exam.CoreOptions.systemProperty;
-
 import java.io.File;
 import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.List;
-
 import javax.inject.Inject;
 
 import org.eclipse.jetty.client.HttpClient;
@@ -44,6 +37,12 @@
 import org.ops4j.pax.exam.junit.PaxExam;
 import org.osgi.framework.BundleContext;
 
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertTrue;
+import static org.ops4j.pax.exam.CoreOptions.mavenBundle;
+import static org.ops4j.pax.exam.CoreOptions.options;
+import static org.ops4j.pax.exam.CoreOptions.systemProperty;
+
 /**
  * Pax-Exam to make sure the jetty-osgi-boot can be started along with the
  * httpservice web-bundle. Then make sure we can deploy an OSGi service on the
@@ -84,24 +83,24 @@
         List<Option> options = new ArrayList<Option>();
         String xmlConfigs = etc     + "/jetty.xml";
         if (ssl)
-        	xmlConfigs += ";" 
-        			+ etc
-        			+ "/jetty-ssl.xml;"
-        			+ etc
-        			+ "/jetty-https.xml;";
+            xmlConfigs += ";" 
+                    + etc
+                    + "/jetty-ssl.xml;"
+                    + etc
+                    + "/jetty-https.xml;";
         xmlConfigs+= ";"
-        		+ etc
-        		+ "/"
-        		+ jettySelectorFileName
-        		+ ";"
-        		+ etc
-        		+ "/jetty-deployer.xml;"
-        		+ etc
+                + etc
+                + "/"
+                + jettySelectorFileName
+                + ";"
+                + etc
+                + "/jetty-deployer.xml;"
+                + etc
                 + "/jetty-testrealm.xml";
 
         options.add(systemProperty(OSGiServerConstants.MANAGED_JETTY_XML_CONFIG_URLS).value(xmlConfigs));
-        options.add(systemProperty("jetty.port").value(String.valueOf(TestJettyOSGiBootCore.DEFAULT_HTTP_PORT)));
-        options.add(systemProperty("ssl.port").value(String.valueOf(TestJettyOSGiBootCore.DEFAULT_SSL_PORT)));
+        options.add(systemProperty("jetty.http.port").value(String.valueOf(TestJettyOSGiBootCore.DEFAULT_HTTP_PORT)));
+        options.add(systemProperty("jetty.ssl.port").value(String.valueOf(TestJettyOSGiBootCore.DEFAULT_SSL_PORT)));
         options.add(systemProperty("jetty.home").value(etcFolder.getParentFile().getAbsolutePath()));
         options.add(systemProperty("jetty.base").value(etcFolder.getParentFile().getAbsolutePath()));
         return options;
diff --git a/jetty-overlay-deployer/src/main/config/etc/jetty-overlay.xml b/jetty-overlay-deployer/src/main/config/etc/jetty-overlay.xml
index 62317a3..72af906 100644
--- a/jetty-overlay-deployer/src/main/config/etc/jetty-overlay.xml
+++ b/jetty-overlay-deployer/src/main/config/etc/jetty-overlay.xml
@@ -1,5 +1,5 @@
 <?xml version="1.0"?>
-<!DOCTYPE Configure PUBLIC "-//Jetty//Configure//EN" "http://www.eclipse.org/jetty/configure.dtd">
+<!DOCTYPE Configure PUBLIC "-//Jetty//Configure//EN" "http://www.eclipse.org/jetty/configure_9_0.dtd">
 
 <!-- =============================================================== -->
 <!-- Add a ContextProvider to the deployment manager                 -->
diff --git a/jetty-overlay-deployer/src/test/resources/home/overlays/instances/myfoo=blue/WEB-INF/overlay.xml b/jetty-overlay-deployer/src/test/resources/home/overlays/instances/myfoo=blue/WEB-INF/overlay.xml
index 11c70ac..8e7954f 100644
--- a/jetty-overlay-deployer/src/test/resources/home/overlays/instances/myfoo=blue/WEB-INF/overlay.xml
+++ b/jetty-overlay-deployer/src/test/resources/home/overlays/instances/myfoo=blue/WEB-INF/overlay.xml
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE Configure PUBLIC "-//Jetty//Configure//EN" "http://www.eclipse.org/jetty/configure.dtd">
+<!DOCTYPE Configure PUBLIC "-//Jetty//Configure//EN" "http://www.eclipse.org/jetty/configure_9_0.dtd">
 
 <Configure class="org.eclipse.jetty.webapp.WebAppContext">
 
diff --git a/jetty-overlay-deployer/src/test/resources/home/overlays/instances/myfoo=green/WEB-INF/overlay.xml b/jetty-overlay-deployer/src/test/resources/home/overlays/instances/myfoo=green/WEB-INF/overlay.xml
index f6cfcf6..1a962ed 100644
--- a/jetty-overlay-deployer/src/test/resources/home/overlays/instances/myfoo=green/WEB-INF/overlay.xml
+++ b/jetty-overlay-deployer/src/test/resources/home/overlays/instances/myfoo=green/WEB-INF/overlay.xml
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE Configure PUBLIC "-//Jetty//Configure//EN" "http://www.eclipse.org/jetty/configure.dtd">
+<!DOCTYPE Configure PUBLIC "-//Jetty//Configure//EN" "http://www.eclipse.org/jetty/configure_9_0.dtd">
 
 <Configure class="org.eclipse.jetty.webapp.WebAppContext">
 
diff --git a/jetty-overlay-deployer/src/test/resources/home/overlays/instances/myfoo=red/WEB-INF/overlay.xml b/jetty-overlay-deployer/src/test/resources/home/overlays/instances/myfoo=red/WEB-INF/overlay.xml
index 6a71455..c225d33 100644
--- a/jetty-overlay-deployer/src/test/resources/home/overlays/instances/myfoo=red/WEB-INF/overlay.xml
+++ b/jetty-overlay-deployer/src/test/resources/home/overlays/instances/myfoo=red/WEB-INF/overlay.xml
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE Configure PUBLIC "-//Jetty//Configure//EN" "http://www.eclipse.org/jetty/configure.dtd">
+<!DOCTYPE Configure PUBLIC "-//Jetty//Configure//EN" "http://www.eclipse.org/jetty/configure_9_0.dtd">
 
 <Configure class="org.eclipse.jetty.webapp.WebAppContext">
 
diff --git a/jetty-overlay-deployer/src/test/resources/home/overlays/instances/root=root/WEB-INF/overlay.xml b/jetty-overlay-deployer/src/test/resources/home/overlays/instances/root=root/WEB-INF/overlay.xml
index 287e1e0..752b708 100644
--- a/jetty-overlay-deployer/src/test/resources/home/overlays/instances/root=root/WEB-INF/overlay.xml
+++ b/jetty-overlay-deployer/src/test/resources/home/overlays/instances/root=root/WEB-INF/overlay.xml
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE Configure PUBLIC "-//Jetty//Configure//EN" "http://www.eclipse.org/jetty/configure.dtd">
+<!DOCTYPE Configure PUBLIC "-//Jetty//Configure//EN" "http://www.eclipse.org/jetty/configure_9_0.dtd">
 
 <Configure class="org.eclipse.jetty.server.handler.ContextHandler">
   <!--
diff --git a/jetty-overlay-deployer/src/test/resources/home/overlays/templates/myfoo=foo/WEB-INF/jetty-web.xml b/jetty-overlay-deployer/src/test/resources/home/overlays/templates/myfoo=foo/WEB-INF/jetty-web.xml
index 16cba2a..7c44a4f 100644
--- a/jetty-overlay-deployer/src/test/resources/home/overlays/templates/myfoo=foo/WEB-INF/jetty-web.xml
+++ b/jetty-overlay-deployer/src/test/resources/home/overlays/templates/myfoo=foo/WEB-INF/jetty-web.xml
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE Configure PUBLIC "-//Mort Bay Consulting//DTD Configure//EN" "http://www.eclipse.org/jetty/configure.dtd">
+<!DOCTYPE Configure PUBLIC "-//Mort Bay Consulting//DTD Configure//EN" "http://www.eclipse.org/jetty/configure_9_0.dtd">
 
 <Configure class="org.eclipse.jetty.webapp.WebAppContext">
   <Call class="org.eclipse.jetty.util.log.Log" name="info"><Arg>Executing jetty-web.xml for <Property name="overlay.instance"/></Arg></Call>
-</Configure>
\ No newline at end of file
+</Configure>
diff --git a/jetty-overlay-deployer/src/test/resources/home/overlays/templates/myfoo=foo/WEB-INF/template.xml b/jetty-overlay-deployer/src/test/resources/home/overlays/templates/myfoo=foo/WEB-INF/template.xml
index 3104fca..202dab0 100644
--- a/jetty-overlay-deployer/src/test/resources/home/overlays/templates/myfoo=foo/WEB-INF/template.xml
+++ b/jetty-overlay-deployer/src/test/resources/home/overlays/templates/myfoo=foo/WEB-INF/template.xml
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE Configure PUBLIC "-//Jetty//Configure//EN" "http://www.eclipse.org/jetty/configure.dtd">
+<!DOCTYPE Configure PUBLIC "-//Jetty//Configure//EN" "http://www.eclipse.org/jetty/configure_9_0.dtd">
 
 <Configure class="org.eclipse.jetty.overlays.TemplateContext">
   <Set name="parentLoaderPriority" type="boolean">false</Set>
diff --git a/jetty-overlay-deployer/src/test/resources/home/overlays/templates/root/WEB-INF/overlay.xml b/jetty-overlay-deployer/src/test/resources/home/overlays/templates/root/WEB-INF/overlay.xml
index 813ca58..5131581 100644
--- a/jetty-overlay-deployer/src/test/resources/home/overlays/templates/root/WEB-INF/overlay.xml
+++ b/jetty-overlay-deployer/src/test/resources/home/overlays/templates/root/WEB-INF/overlay.xml
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE Configure PUBLIC "-//Mort Bay Consulting//DTD Configure//EN" "http://jetty.eclipse.org/configure.dtd">
+<!DOCTYPE Configure PUBLIC "-//Mort Bay Consulting//DTD Configure//EN" "http://jetty.eclipse.org/configure_9_0.dtd">
 
 
 <Configure class="org.eclipse.jetty.server.handler.ContextHandler">
diff --git a/jetty-proxy/src/main/config/etc/jetty-proxy.xml b/jetty-proxy/src/main/config/etc/jetty-proxy.xml
index 0e96724..046537f 100644
--- a/jetty-proxy/src/main/config/etc/jetty-proxy.xml
+++ b/jetty-proxy/src/main/config/etc/jetty-proxy.xml
@@ -3,33 +3,33 @@
 
 <Configure id="Server" class="org.eclipse.jetty.server.Server">
 
-    <Set name="handler">
-        <New class="org.eclipse.jetty.proxy.ConnectHandler">
-            <Set name="handler">
-                <New class="org.eclipse.jetty.servlet.ServletHandler">
-                    <Call id="proxyHolder" name="addServletWithMapping">
-                        <Arg><Property name="jetty.proxy.servletClass" default="org.eclipse.jetty.proxy.ProxyServlet"/></Arg>
-                        <Arg><Property name="jetty.proxy.servletMapping" default="/*"/></Arg>
-                        <Call name="setInitParameter">
-                            <Arg>maxThreads</Arg>
-                            <Arg><Property name="jetty.proxy.maxThreads" default="128" /></Arg>
-                        </Call>
-                        <Call name="setInitParameter">
-                            <Arg>maxConnections</Arg>
-                            <Arg><Property name="jetty.proxy.maxConnections" default="256" /></Arg>
-                        </Call>
-                        <Call name="setInitParameter">
-                            <Arg>idleTimeout</Arg>
-                            <Arg><Property name="jetty.proxy.idleTimeout" default="30000" /></Arg>
-                        </Call>
-                        <Call name="setInitParameter">
-                            <Arg>timeout</Arg>
-                            <Arg><Property name="jetty.proxy.timeout" default="60000" /></Arg>
-                        </Call>
-                    </Call>
-                </New>
-            </Set>
+  <Set name="handler">
+    <New class="org.eclipse.jetty.proxy.ConnectHandler">
+      <Set name="handler">
+        <New class="org.eclipse.jetty.servlet.ServletHandler">
+          <Call id="proxyHolder" name="addServletWithMapping">
+            <Arg><Property name="jetty.proxy.servletClass" default="org.eclipse.jetty.proxy.ProxyServlet"/></Arg>
+            <Arg><Property name="jetty.proxy.servletMapping" default="/*"/></Arg>
+            <Call name="setInitParameter">
+              <Arg>maxThreads</Arg>
+              <Arg><Property name="jetty.proxy.maxThreads" default="128" /></Arg>
+            </Call>
+            <Call name="setInitParameter">
+              <Arg>maxConnections</Arg>
+              <Arg><Property name="jetty.proxy.maxConnections" default="256" /></Arg>
+            </Call>
+            <Call name="setInitParameter">
+              <Arg>idleTimeout</Arg>
+              <Arg><Property name="jetty.proxy.idleTimeout" default="30000" /></Arg>
+            </Call>
+            <Call name="setInitParameter">
+              <Arg>timeout</Arg>
+              <Arg><Property name="jetty.proxy.timeout" default="60000" /></Arg>
+            </Call>
+          </Call>
         </New>
-    </Set>
+      </Set>
+    </New>
+  </Set>
 
 </Configure>
diff --git a/jetty-proxy/src/main/config/modules/proxy.mod b/jetty-proxy/src/main/config/modules/proxy.mod
index a879ae1..6b91f68 100644
--- a/jetty-proxy/src/main/config/modules/proxy.mod
+++ b/jetty-proxy/src/main/config/modules/proxy.mod
@@ -14,9 +14,9 @@
 
 [ini-template]
 ## Proxy Configuration
-#jetty.proxy.servletClass=org.eclipse.jetty.proxy.ProxyServlet
-#jetty.proxy.servletMapping=/*
-#jetty.proxy.maxThreads=128
-#jetty.proxy.maxConnections=256
-#jetty.proxy.idleTimeout=30000
-#jetty.proxy.timeout=60000
+# jetty.proxy.servletClass=org.eclipse.jetty.proxy.ProxyServlet
+# jetty.proxy.servletMapping=/*
+# jetty.proxy.maxThreads=128
+# jetty.proxy.maxConnections=256
+# jetty.proxy.idleTimeout=30000
+# jetty.proxy.timeout=60000
diff --git a/jetty-rewrite/src/main/config/etc/jetty-rewrite.xml b/jetty-rewrite/src/main/config/etc/jetty-rewrite.xml
index 706a932..714bcd9 100644
--- a/jetty-rewrite/src/main/config/etc/jetty-rewrite.xml
+++ b/jetty-rewrite/src/main/config/etc/jetty-rewrite.xml
@@ -8,34 +8,32 @@
 
 <Configure id="Server" class="org.eclipse.jetty.server.Server">
 
-    <!-- =========================================================== -->
-    <!-- configure rewrite handler                                   -->
-    <!-- =========================================================== -->
-    <Get id="oldhandler" name="handler"/>
+  <!-- =========================================================== -->
+  <!-- configure rewrite handler                                   -->
+  <!-- =========================================================== -->
+  <Get id="oldhandler" name="handler"/>
 
-    <Set name="handler">
-     <New id="Rewrite" class="org.eclipse.jetty.rewrite.handler.RewriteHandler">
+  <Set name="handler">
+    <New id="Rewrite" class="org.eclipse.jetty.rewrite.handler.RewriteHandler">
       <Set name="handler"><Ref refid="oldhandler"/></Set>
-      <Set name="rewriteRequestURI"><Property name="rewrite.rewriteRequestURI" default="true"/></Set>
-      <Set name="rewritePathInfo"><Property name="rewrite.rewritePathInfo" default="false"/></Set>
-      <Set name="originalPathAttribute"><Property name="rewrite.originalPathAttribute" default="requestedPath"/></Set>
-     </New>
-    </Set>
+      <Set name="rewriteRequestURI"><Property name="jetty.rewrite.rewriteRequestURI,rewrite.rewriteRequestURI" default="true"/></Set>
+      <Set name="rewritePathInfo"><Property name="jetty.rewrite.rewritePathInfo,rewrite.rewritePathInfo" default="false"/></Set>
+      <Set name="originalPathAttribute"><Property name="jetty.rewrite.originalPathAttribute,rewrite.originalPathAttribute" default="requestedPath"/></Set>
+    </New>
+  </Set>
 
-    <!-- example rule -->
-    <!--
-    <Call name="addRule">
-      <Arg>
-	<New class="org.eclipse.jetty.rewrite.handler.HeaderPatternRule">
-	  <Set name="pattern">/favicon.ico</Set>
-	  <Set name="name">Cache-Control</Set>
-	  <Set name="value">Max-Age=3600,public</Set>
-	  <Set name="terminating">true</Set>
-	</New>
-      </Arg>
-    </Call>
-    -->
-
-    <!-- for example rules see jetty-demo.xml -->
+  <!-- example rule -->
+  <!--
+  <Call name="addRule">
+    <Arg>
+      <New class="org.eclipse.jetty.rewrite.handler.HeaderPatternRule">
+        <Set name="pattern">/favicon.ico</Set>
+        <Set name="name">Cache-Control</Set>
+        <Set name="value">Max-Age=3600,public</Set>
+        <Set name="terminating">true</Set>
+      </New>
+    </Arg>
+  </Call>
+  -->
 
 </Configure>
diff --git a/jetty-rewrite/src/main/config/modules/rewrite.mod b/jetty-rewrite/src/main/config/modules/rewrite.mod
index d2e00c8..c8a1750 100644
--- a/jetty-rewrite/src/main/config/modules/rewrite.mod
+++ b/jetty-rewrite/src/main/config/modules/rewrite.mod
@@ -10,3 +10,13 @@
 
 [xml]
 etc/jetty-rewrite.xml
+
+[ini-template]
+## Whether to rewrite the request URI
+# jetty.rewrite.rewriteRequestURI=true
+
+## Whether to rewrite the path info
+# jetty.rewrite.rewritePathInfo=false
+
+## Request attribute key under with the original path is stored
+# jetty.rewrite.originalPathAttribute=requestedPath
diff --git a/jetty-rewrite/src/test/resources/org.mortbay.jetty.rewrite.handler/jetty-rewrite.xml b/jetty-rewrite/src/test/resources/org.mortbay.jetty.rewrite.handler/jetty-rewrite.xml
index b54d24f..6f0dede 100644
--- a/jetty-rewrite/src/test/resources/org.mortbay.jetty.rewrite.handler/jetty-rewrite.xml
+++ b/jetty-rewrite/src/test/resources/org.mortbay.jetty.rewrite.handler/jetty-rewrite.xml
@@ -39,12 +39,9 @@
     <Call name="addConnector">
       <Arg>
           <New class="org.eclipse.jetty.server.ServerConnector">
-            <Set name="host"><SystemProperty name="jetty.host" /></Set>
-            <Set name="port"><SystemProperty name="jetty.port" default="8080"/></Set>
+            <Set name="host"><SystemProperty name="jetty.http.host" /></Set>
+            <Set name="port"><SystemProperty name="jetty.http.port" default="8080"/></Set>
             <Set name="idleTimeout">30000</Set>
-            <Set name="Acceptors">2</Set>
-            <Set name="statsOn">false</Set>
-            <Set name="confidentialPort">8443</Set>
           </New>
       </Arg>
     </Call>
@@ -259,7 +256,7 @@
     <Ref refid="RequestLog">
       <Set name="requestLog">
         <New id="RequestLogImpl" class="org.eclipse.jetty.server.NCSARequestLog">
-          <Set name="filename"><SystemProperty name="jetty.logs" default="./logs"/>/yyyy_mm_dd.request.log</Set>
+          <Set name="filename"><SystemProperty name="jetty.requestlog.dir" default="./logs"/>/yyyy_mm_dd.request.log</Set>
           <Set name="filenameDateFormat">yyyy_MM_dd</Set>
           <Set name="retainDays">90</Set>
           <Set name="append">true</Set>
diff --git a/jetty-security/src/main/config/etc/krb5.ini b/jetty-security/src/main/config/etc/krb5.ini
index 9cea63c..283880c 100644
--- a/jetty-security/src/main/config/etc/krb5.ini
+++ b/jetty-security/src/main/config/etc/krb5.ini
@@ -9,9 +9,9 @@
 
 [realms]
 MORTBAY.ORG = {
- 		kdc = 192.168.2.30
- 		admin_server = 192.168.2.30
- 		default_domain = MORTBAY.ORG
+    kdc = 192.168.2.30
+    admin_server = 192.168.2.30
+    default_domain = MORTBAY.ORG
 }
 
 [domain_realm]
diff --git a/jetty-server/src/main/config/etc/jetty-debug.xml b/jetty-server/src/main/config/etc/jetty-debug.xml
deleted file mode 100644
index 52b4bdb..0000000
--- a/jetty-server/src/main/config/etc/jetty-debug.xml
+++ /dev/null
@@ -1,23 +0,0 @@
-<?xml version="1.0"?>
-<!DOCTYPE Configure PUBLIC "-//Jetty//Configure//EN" "http://www.eclipse.org/jetty/configure_9_0.dtd">
-
-<!-- =============================================================== -->
-<!-- Mixin the DebugHandler                                          -->
-<!-- =============================================================== -->
-
-
-<Configure id="Server" class="org.eclipse.jetty.server.Server">
-    <Get id="oldhandler" name="handler"/>
-    <Set name="handler">
-      <New id="DebugHandler" class="org.eclipse.jetty.server.handler.DebugHandler">
-        <Set name="handler"><Ref refid="oldhandler"/></Set>
-	<Set name="outputStream">
-	  <New class="org.eclipse.jetty.util.RolloverFileOutputStream">
-	    <Arg type="String"><Property name="jetty.logs" default="./logs"/>/yyyy_mm_dd.debug.log</Arg>
-	    <Arg type="boolean">true</Arg> <!-- append -->
-	    <Arg type="int">90</Arg> <!-- retain days -->
-	  </New>
-	</Set>
-      </New>
-    </Set>
-</Configure>
diff --git a/jetty-server/src/main/config/etc/jetty-debuglog.xml b/jetty-server/src/main/config/etc/jetty-debuglog.xml
new file mode 100644
index 0000000..b4a2f56
--- /dev/null
+++ b/jetty-server/src/main/config/etc/jetty-debuglog.xml
@@ -0,0 +1,25 @@
+<?xml version="1.0"?>
+<!DOCTYPE Configure PUBLIC "-//Jetty//Configure//EN" "http://www.eclipse.org/jetty/configure_9_0.dtd">
+
+<!-- =============================================================== -->
+<!-- The DebugHandler                                                -->
+<!-- =============================================================== -->
+
+<Configure id="Server" class="org.eclipse.jetty.server.Server">
+  <Get id="oldhandler" name="handler"/>
+  <Set name="handler">
+    <New id="DebugHandler" class="org.eclipse.jetty.server.handler.DebugHandler">
+      <Set name="handler"><Ref refid="oldhandler"/></Set>
+      <Set name="outputStream">
+        <New class="org.eclipse.jetty.util.RolloverFileOutputStream">
+          <Arg type="String"><Property name="jetty.debuglog.dir,jetty.logs" default="./logs"/>/yyyy_mm_dd.debug.log</Arg>
+          <Arg type="boolean"><Property name="jetty.debuglog.append" default="true"/></Arg>
+          <Arg type="int"><Property name="jetty.debuglog.retainDays" default="90"/></Arg>
+          <Arg>
+            <Call class="java.util.TimeZone" name="getTimeZone"><Arg><Property name="jetty.debuglog.timezone" default="GMT"/></Arg></Call>
+          </Arg>
+        </New>
+      </Set>
+    </New>
+  </Set>
+</Configure>
diff --git a/jetty-server/src/main/config/etc/jetty-gzip.xml b/jetty-server/src/main/config/etc/jetty-gzip.xml
index 1034bb6..35c8dcc 100644
--- a/jetty-server/src/main/config/etc/jetty-gzip.xml
+++ b/jetty-server/src/main/config/etc/jetty-gzip.xml
@@ -13,12 +13,12 @@
   <Set name="handler">
     <New id="GzipHandler" class="org.eclipse.jetty.server.handler.gzip.GzipHandler">
       <Set name="handler"><Ref refid="next" /></Set>
-      <Set name="minGzipSize"><Property name="gzip.minGzipSize" default="2048"/></Set>
-      <Set name="checkGzExists"><Property name="gzip.checkGzExists" default="false"/></Set>
-      <Set name="compressionLevel"><Property name="gzip.compressionLevel" default="-1"/></Set>
+      <Set name="minGzipSize"><Property name="jetty.gzip.minGzipSize,gzip.minGzipSize" default="2048"/></Set>
+      <Set name="checkGzExists"><Property name="jetty.gzip.checkGzExists,gzip.checkGzExists" default="false"/></Set>
+      <Set name="compressionLevel"><Property name="jetty.gzip.compressionLevel,gzip.compressionLevel" default="-1"/></Set>
       <Set name="excludedAgentPatterns">
         <Array type="String">
-          <Item><Property name="gzip.excludedUserAgent" default=".*MSIE.6\.0.*"/></Item>
+          <Item><Property name="jetty.gzip.excludedUserAgent,gzip.excludedUserAgent" default=".*MSIE.6\.0.*"/></Item>
         </Array>
       </Set>
 
@@ -48,7 +48,7 @@
       <Call name="addIncludedMimeTypes">
         <Arg><Array type="String">
           <Item>some/type</Item>
-	</Array></Arg>
+        </Array></Arg>
       </Call>
       -->
 
@@ -56,7 +56,7 @@
       <Call name="addExcludedMimeTypes">
         <Arg><Array type="String">
           <Item>some/type</Item>
-	</Array></Arg>
+        </Array></Arg>
       </Call>
       -->
 
diff --git a/jetty-server/src/main/config/etc/jetty-http.xml b/jetty-server/src/main/config/etc/jetty-http.xml
index adeeaae..963f8db 100644
--- a/jetty-server/src/main/config/etc/jetty-http.xml
+++ b/jetty-server/src/main/config/etc/jetty-http.xml
@@ -22,12 +22,12 @@
     <Arg>
       <New id="httpConnector" class="org.eclipse.jetty.server.ServerConnector">
         <Arg name="server"><Ref refid="Server" /></Arg>
-        <Arg name="acceptors" type="int"><Property name="http.acceptors" default="-1"/></Arg>
-        <Arg name="selectors" type="int"><Property name="http.selectors" default="-1"/></Arg>
+        <Arg name="acceptors" type="int"><Property name="jetty.http.acceptors,http.acceptors" default="-1"/></Arg>
+        <Arg name="selectors" type="int"><Property name="jetty.http.selectors,http.selectors" default="-1"/></Arg>
         <Arg name="factories">
           <Array type="org.eclipse.jetty.server.ConnectionFactory">
             <!-- uncomment to support proxy protocol
-	    <Item>
+            <Item>
               <New class="org.eclipse.jetty.server.ProxyConnectionFactory"/>
             </Item>-->
             <Item>
@@ -37,13 +37,12 @@
             </Item>
           </Array>
         </Arg>
-        <Set name="host"><Property name="jetty.host" /></Set>
-        <Set name="port"><Property name="jetty.port" default="80" /></Set>
-        <Set name="idleTimeout"><Property name="http.timeout" default="30000"/></Set>
-        <Set name="soLingerTime"><Property name="http.soLingerTime" default="-1"/></Set>
-        <Set name="acceptorPriorityDelta"><Property name="http.acceptorPriorityDelta" default="0"/></Set>
-        <Set name="selectorPriorityDelta"><Property name="http.selectorPriorityDelta" default="0"/></Set>
-        <Set name="acceptQueueSize"><Property name="http.acceptQueueSize" default="0"/></Set>
+        <Set name="host"><Property name="jetty.http.host,jetty.host" /></Set>
+        <Set name="port"><Property name="jetty.http.port,jetty.port" default="80" /></Set>
+        <Set name="idleTimeout"><Property name="jetty.http.idleTimeout,http.timeout" default="30000"/></Set>
+        <Set name="soLingerTime"><Property name="jetty.http.soLingerTime,http.soLingerTime" default="-1"/></Set>
+        <Set name="acceptorPriorityDelta"><Property name="jetty.http.acceptorPriorityDelta,http.acceptorPriorityDelta" default="0"/></Set>
+        <Set name="acceptQueueSize"><Property name="jetty.http.acceptQueueSize,http.acceptQueueSize" default="0"/></Set>
       </New>
     </Arg>
   </Call>
diff --git a/jetty-server/src/main/config/etc/jetty-ipaccess.xml b/jetty-server/src/main/config/etc/jetty-ipaccess.xml
index a44aa1d..d87ca02 100644
--- a/jetty-server/src/main/config/etc/jetty-ipaccess.xml
+++ b/jetty-server/src/main/config/etc/jetty-ipaccess.xml
@@ -2,30 +2,30 @@
 <!DOCTYPE Configure PUBLIC "-//Jetty//Configure//EN" "http://www.eclipse.org/jetty/configure_9_0.dtd">
 
 <!-- =============================================================== -->
-<!-- Mixin the Statistics Handler                                    -->
+<!-- The IP Access Handler                                           -->
 <!-- =============================================================== -->
 
-
 <Configure id="Server" class="org.eclipse.jetty.server.Server">
 
-    <Get id="oldhandler" name="handler"/>
+  <Get id="oldhandler" name="handler"/>
 
-    <Set name="handler">
-     <New id="IPAccessHandler" class="org.eclipse.jetty.server.handler.IPAccessHandler">
+  <Set name="handler">
+    <New id="IPAccessHandler" class="org.eclipse.jetty.server.handler.IPAccessHandler">
       <Set name="handler"><Ref refid="oldhandler"/></Set>
       <Set name="white">
         <Array type="String">
-	      <Item>127.0.0.1</Item>
-	      <Item>127.0.0.2/*.html</Item>
-	    </Array>
+          <Item>127.0.0.1</Item>
+          <Item>127.0.0.2/*.html</Item>
+        </Array>
       </Set>
       <Set name="black">
         <Array type="String">
-	      <Item>127.0.0.1/blacklisted</Item>
-	      <Item>127.0.0.2/black.html</Item>
-	    </Array>
+          <Item>127.0.0.1/blacklisted</Item>
+          <Item>127.0.0.2/black.html</Item>
+        </Array>
       </Set>
       <Set name="whiteListByPath">false</Set>
-     </New>
-    </Set>
+    </New>
+  </Set>
+
 </Configure>
diff --git a/jetty-server/src/main/config/etc/jetty-lowresources.xml b/jetty-server/src/main/config/etc/jetty-lowresources.xml
index 060919a..5884c42 100644
--- a/jetty-server/src/main/config/etc/jetty-lowresources.xml
+++ b/jetty-server/src/main/config/etc/jetty-lowresources.xml
@@ -10,12 +10,12 @@
     <Arg>
       <New class="org.eclipse.jetty.server.LowResourceMonitor">
         <Arg name="server"><Ref refid='Server'/></Arg>
-        <Set name="period"><Property name="lowresources.period" default="1000"/></Set>
-        <Set name="lowResourcesIdleTimeout"><Property name="lowresources.lowResourcesIdleTimeout" default="200"/></Set>
-        <Set name="monitorThreads"><Property name="lowresources.monitorThreads" default="true"/></Set>
-        <Set name="maxConnections"><Property name="lowresources.maxConnections" default="0"/></Set>
-        <Set name="maxMemory"><Property name="lowresources.maxMemory" default="0"/></Set>
-        <Set name="maxLowResourcesTime"><Property name="lowresources.maxLowResourcesTime" default="5000"/></Set>
+        <Set name="period"><Property name="jetty.lowresources.period,lowresources.period" default="1000"/></Set>
+        <Set name="lowResourcesIdleTimeout"><Property name="jetty.lowresources.idleTimeout,lowresources.lowResourcesIdleTimeout" default="1000"/></Set>
+        <Set name="monitorThreads"><Property name="jetty.lowresources.monitorThreads,lowresources.monitorThreads" default="true"/></Set>
+        <Set name="maxConnections"><Property name="jetty.lowresources.maxConnections,lowresources.maxConnections" default="0"/></Set>
+        <Set name="maxMemory"><Property name="jetty.lowresources.maxMemory,lowresources.maxMemory" default="0"/></Set>
+        <Set name="maxLowResourcesTime"><Property name="jetty.lowresources.maxLowResourcesTime,lowresources.maxLowResourcesTime" default="5000"/></Set>
       </New>
     </Arg>
   </Call>
diff --git a/jetty-server/src/main/config/etc/jetty-requestlog.xml b/jetty-server/src/main/config/etc/jetty-requestlog.xml
index 6b53b53..a9c23369 100644
--- a/jetty-server/src/main/config/etc/jetty-requestlog.xml
+++ b/jetty-server/src/main/config/etc/jetty-requestlog.xml
@@ -12,13 +12,13 @@
   <!-- =========================================================== -->
   <Set name="RequestLog">
     <New id="RequestLog" class="org.eclipse.jetty.server.AsyncNCSARequestLog">
-      <Set name="filename"><Property name="jetty.base" default="." /><Property name="requestlog.filename" default="/logs/yyyy_mm_dd.request.log"/></Set>
-      <Set name="filenameDateFormat"><Property name="requestlog.filenameDateFormat" default="yyyy_MM_dd"/></Set>
-      <Set name="retainDays"><Property name="requestlog.retain" default="90"/></Set>
-      <Set name="append"><Property name="requestlog.append" default="false"/></Set>
-      <Set name="extended"><Property name="requestlog.extended" default="false"/></Set>
-      <Set name="logCookies"><Property name="requestlog.cookies" default="false"/></Set>
-      <Set name="LogTimeZone"><Property name="requestlog.timezone" default="GMT"/></Set>
+      <Set name="filename"><Property name="jetty.base" default="." /><Property name="jetty.requestlog.filePath,requestlog.filename" default="/logs/yyyy_mm_dd.request.log"/></Set>
+      <Set name="filenameDateFormat"><Property name="jetty.requestlog.filenameDateFormat,requestlog.filenameDateFormat" default="yyyy_MM_dd"/></Set>
+      <Set name="retainDays"><Property name="jetty.requestlog.retainDays,requestlog.retain" default="90"/></Set>
+      <Set name="append"><Property name="jetty.requestlog.append,requestlog.append" default="false"/></Set>
+      <Set name="extended"><Property name="jetty.requestlog.extended,requestlog.extended" default="false"/></Set>
+      <Set name="logCookies"><Property name="jetty.requestlog.cookies,requestlog.cookies" default="false"/></Set>
+      <Set name="LogTimeZone"><Property name="jetty.requestlog.timezone,requestlog.timezone" default="GMT"/></Set>
     </New>
   </Set>
 </Configure>
diff --git a/jetty-server/src/main/config/etc/jetty-ssl.xml b/jetty-server/src/main/config/etc/jetty-ssl.xml
index c4f8879..0b8bb17 100644
--- a/jetty-server/src/main/config/etc/jetty-ssl.xml
+++ b/jetty-server/src/main/config/etc/jetty-ssl.xml
@@ -15,24 +15,23 @@
     <Arg>
       <New id="sslConnector" class="org.eclipse.jetty.server.ServerConnector">
         <Arg name="server"><Ref refid="Server" /></Arg>
-        <Arg name="acceptors" type="int"><Property name="ssl.acceptors" default="-1"/></Arg>
-        <Arg name="selectors" type="int"><Property name="ssl.selectors" default="-1"/></Arg>
+        <Arg name="acceptors" type="int"><Property name="jetty.ssl.acceptors,ssl.acceptors" default="-1"/></Arg>
+        <Arg name="selectors" type="int"><Property name="jetty.ssl.selectors,ssl.selectors" default="-1"/></Arg>
         <Arg name="factories">
           <Array type="org.eclipse.jetty.server.ConnectionFactory">
             <!-- uncomment to support proxy protocol
-	    <Item>
+            <Item>
               <New class="org.eclipse.jetty.server.ProxyConnectionFactory"/>
             </Item>-->
           </Array>
         </Arg>
 
-        <Set name="host"><Property name="jetty.host" /></Set>
-        <Set name="port"><Property name="ssl.port" default="443" /></Set>
-        <Set name="idleTimeout"><Property name="ssl.timeout" default="30000"/></Set>
-        <Set name="soLingerTime"><Property name="ssl.soLingerTime" default="-1"/></Set>
-        <Set name="acceptorPriorityDelta"><Property name="ssl.acceptorPriorityDelta" default="0"/></Set>
-        <Set name="selectorPriorityDelta"><Property name="ssl.selectorPriorityDelta" default="0"/></Set>
-        <Set name="acceptQueueSize"><Property name="ssl.acceptQueueSize" default="0"/></Set>
+        <Set name="host"><Property name="jetty.ssl.host,jetty.host" /></Set>
+        <Set name="port"><Property name="jetty.ssl.port,ssl.port" default="443" /></Set>
+        <Set name="idleTimeout"><Property name="jetty.ssl.idleTimeout,ssl.timeout" default="30000"/></Set>
+        <Set name="soLingerTime"><Property name="jetty.ssl.soLingerTime,ssl.soLingerTime" default="-1"/></Set>
+        <Set name="acceptorPriorityDelta"><Property name="jetty.ssl.acceptorPriorityDelta,ssl.acceptorPriorityDelta" default="0"/></Set>
+        <Set name="acceptQueueSize"><Property name="jetty.ssl.acceptQueueSize,ssl.acceptQueueSize" default="0"/></Set>
       </New>
     </Arg>
   </Call>
@@ -41,14 +40,14 @@
   <!-- Create a TLS (SSL) Context Factory  for later reuse           -->
   <!-- ============================================================= -->
   <New id="sslContextFactory" class="org.eclipse.jetty.util.ssl.SslContextFactory">
-    <Set name="KeyStorePath"><Property name="jetty.base" default="." />/<Property name="jetty.keystore" default="etc/keystore"/></Set>
-    <Set name="KeyStorePassword"><Property name="jetty.keystore.password" default="OBF:1vny1zlo1x8e1vnw1vn61x8g1zlu1vn4"/></Set>
-    <Set name="KeyManagerPassword"><Property name="jetty.keymanager.password" default="OBF:1u2u1wml1z7s1z7a1wnl1u2g"/></Set>
-    <Set name="TrustStorePath"><Property name="jetty.base" default="." />/<Property name="jetty.truststore" default="etc/keystore"/></Set>
-    <Set name="TrustStorePassword"><Property name="jetty.truststore.password" default="OBF:1vny1zlo1x8e1vnw1vn61x8g1zlu1vn4"/></Set>
+    <Set name="KeyStorePath"><Property name="jetty.base" default="." />/<Property name="jetty.sslConfig.keyStorePath,jetty.keystore" default="etc/keystore"/></Set>
+    <Set name="KeyStorePassword"><Property name="jetty.sslConfig.keyStorePassword,jetty.keystore.password" default="OBF:1vny1zlo1x8e1vnw1vn61x8g1zlu1vn4"/></Set>
+    <Set name="KeyManagerPassword"><Property name="jetty.sslConfig.keyManagerPassword,jetty.keymanager.password" default="OBF:1u2u1wml1z7s1z7a1wnl1u2g"/></Set>
+    <Set name="TrustStorePath"><Property name="jetty.base" default="." />/<Property name="jetty.sslConfig.trustStorePath,jetty.truststore" default="etc/keystore"/></Set>
+    <Set name="TrustStorePassword"><Property name="jetty.sslConfig.trustStorePassword,jetty.truststore.password" default="OBF:1vny1zlo1x8e1vnw1vn61x8g1zlu1vn4"/></Set>
     <Set name="EndpointIdentificationAlgorithm"></Set>
-    <Set name="NeedClientAuth"><Property name="jetty.ssl.needClientAuth" default="false"/></Set>
-    <Set name="WantClientAuth"><Property name="jetty.ssl.wantClientAuth" default="false"/></Set>
+    <Set name="NeedClientAuth"><Property name="jetty.sslConfig.needClientAuth,jetty.ssl.needClientAuth" default="false"/></Set>
+    <Set name="WantClientAuth"><Property name="jetty.sslConfig.wantClientAuth,jetty.ssl.wantClientAuth" default="false"/></Set>
     <Set name="ExcludeCipherSuites">
      <Array type="String">
       <Item>SSL_RSA_WITH_DES_CBC_SHA</Item>
diff --git a/jetty-server/src/main/config/etc/jetty.xml b/jetty-server/src/main/config/etc/jetty.xml
index 91109f9..cbd0a19 100644
--- a/jetty-server/src/main/config/etc/jetty.xml
+++ b/jetty-server/src/main/config/etc/jetty.xml
@@ -46,9 +46,9 @@
     <Arg name="threadpool"><New id="threadpool" class="org.eclipse.jetty.util.thread.QueuedThreadPool"/></Arg>
     -->
     <Get name="ThreadPool">
-      <Set name="minThreads" type="int"><Property name="threads.min" default="10"/></Set>
-      <Set name="maxThreads" type="int"><Property name="threads.max" default="200"/></Set>
-      <Set name="idleTimeout" type="int"><Property name="threads.timeout" default="60000"/></Set>
+      <Set name="minThreads" type="int"><Property name="jetty.threadPool.minThreads,threads.min" default="10"/></Set>
+      <Set name="maxThreads" type="int"><Property name="jetty.threadPool.maxThreads,threads.max" default="200"/></Set>
+      <Set name="idleTimeout" type="int"><Property name="jetty.threadPool.idleTimeout,threads.timeout" default="60000"/></Set>
       <Set name="detailedDump">false</Set>
     </Get>
 
@@ -77,16 +77,16 @@
     <!-- for all configuration that may be set here.                 -->
     <!-- =========================================================== -->
     <New id="httpConfig" class="org.eclipse.jetty.server.HttpConfiguration">
-      <Set name="secureScheme">https</Set>
-      <Set name="securePort"><Property name="jetty.secure.port" default="8443" /></Set>
-      <Set name="outputBufferSize"><Property name="jetty.output.buffer.size" default="32768" /></Set>
-      <Set name="outputAggregationSize"><Property name="jetty.output.aggregation.size" default="8192" /></Set>
-      <Set name="requestHeaderSize"><Property name="jetty.request.header.size" default="8192" /></Set>
-      <Set name="responseHeaderSize"><Property name="jetty.response.header.size" default="8192" /></Set>
-      <Set name="sendServerVersion"><Property name="jetty.send.server.version" default="true" /></Set>
-      <Set name="sendDateHeader"><Property name="jetty.send.date.header" default="false" /></Set>
-      <Set name="headerCacheSize">512</Set>
-      <Set name="delayDispatchUntilContent"><Property name="jetty.delayDispatchUntilContent" default="true"/></Set>
+      <Set name="secureScheme"><Property name="jetty.httpConfig.secureScheme" default="https" /></Set>
+      <Set name="securePort"><Property name="jetty.httpConfig.securePort,jetty.secure.port" default="8443" /></Set>
+      <Set name="outputBufferSize"><Property name="jetty.httpConfig.outputBufferSize,jetty.output.buffer.size" default="32768" /></Set>
+      <Set name="outputAggregationSize"><Property name="jetty.httpConfig.outputAggregationSize,jetty.output.aggregation.size" default="8192" /></Set>
+      <Set name="requestHeaderSize"><Property name="jetty.httpConfig.requestHeaderSize,jetty.request.header.size" default="8192" /></Set>
+      <Set name="responseHeaderSize"><Property name="jetty.httpConfig.responseHeaderSize,jetty.response.header.size" default="8192" /></Set>
+      <Set name="sendServerVersion"><Property name="jetty.httpConfig.sendServerVersion,jetty.send.server.version" default="true" /></Set>
+      <Set name="sendDateHeader"><Property name="jetty.httpConfig.sendDateHeader,jetty.send.date.header" default="false" /></Set>
+      <Set name="headerCacheSize"><Property name="jetty.httpConfig.headerCacheSize" default="512" /></Set>
+      <Set name="delayDispatchUntilContent"><Property name="jetty.httpConfig.delayDispatchUntilContent,jetty.delayDispatchUntilContent" default="true"/></Set>
       <!-- Uncomment to enable handling of X-Forwarded- style headers
       <Call name="addCustomizer">
         <Arg><New class="org.eclipse.jetty.server.ForwardedRequestCustomizer"/></Arg>
@@ -94,7 +94,6 @@
       -->
     </New>
 
-
     <!-- =========================================================== -->
     <!-- Set the default handler structure for the Server            -->
     <!-- A handler collection is used to pass received requests to   -->
@@ -124,9 +123,9 @@
     <!-- =========================================================== -->
     <!-- extra server options                                        -->
     <!-- =========================================================== -->
-    <Set name="stopAtShutdown">true</Set>
+    <Set name="stopAtShutdown"><Property name="jetty.server.stopAtShutdown" default="true"/></Set>
     <Set name="stopTimeout">5000</Set>
-    <Set name="dumpAfterStart"><Property name="jetty.dump.start" default="false"/></Set>
-    <Set name="dumpBeforeStop"><Property name="jetty.dump.stop" default="false"/></Set>
+    <Set name="dumpAfterStart"><Property name="jetty.server.dumpAfterStart,jetty.dump.start" default="false"/></Set>
+    <Set name="dumpBeforeStop"><Property name="jetty.server.dumpBeforeStop,jetty.dump.stop" default="false"/></Set>
 
 </Configure>
diff --git a/jetty-server/src/main/config/modules/debug.mod b/jetty-server/src/main/config/modules/debug.mod
deleted file mode 100644
index 5acce7a..0000000
--- a/jetty-server/src/main/config/modules/debug.mod
+++ /dev/null
@@ -1,12 +0,0 @@
-#
-# Debug module
-#
-
-[depend]
-server
-
-[files]
-logs/
-
-[xml]
-etc/jetty-debug.xml
diff --git a/jetty-server/src/main/config/modules/debuglog.mod b/jetty-server/src/main/config/modules/debuglog.mod
new file mode 100644
index 0000000..20bfa6a
--- /dev/null
+++ b/jetty-server/src/main/config/modules/debuglog.mod
@@ -0,0 +1,25 @@
+#
+# Debug module
+#
+
+[depend]
+server
+
+[files]
+logs/
+
+[xml]
+etc/jetty-debug.xml
+
+[ini-template]
+## Logging directory (relative to $jetty.base)
+# jetty.debuglog.dir=logs
+
+## Whether to append to existing file
+# jetty.debuglog.append=false
+
+## How many days to retain old log files
+# jetty.debuglog.retainDays=90
+
+## Timezone of the log entries
+# jetty.debuglog.timezone=GMT
diff --git a/jetty-server/src/main/config/modules/gzip.mod b/jetty-server/src/main/config/modules/gzip.mod
index c098092..1efc834 100644
--- a/jetty-server/src/main/config/modules/gzip.mod
+++ b/jetty-server/src/main/config/modules/gzip.mod
@@ -10,9 +10,14 @@
 etc/jetty-gzip.xml
 
 [ini-template]
-### Gzip Handler
+## Minimum content length after which gzip is enabled
+# jetty.gzip.minGzipSize=2048
 
-gzip.minGzipSize=2048
-gzip.checkGzExists=false
-gzip.compressionLevel=-1
-gzip.excludedUserAgent=.*MSIE.6\.0.*
+## Check whether a file with *.gz extension exists
+# jetty.gzip.checkGzExists=false
+
+## Gzip compression level (-1 for default)
+# jetty.gzip.compressionLevel=-1
+
+## User agents for which gzip is disabled
+# jetty.gzip.excludedUserAgent=.*MSIE.6\.0.*
diff --git a/jetty-server/src/main/config/modules/http.mod b/jetty-server/src/main/config/modules/http.mod
index dc34bc3..0957a79 100644
--- a/jetty-server/src/main/config/modules/http.mod
+++ b/jetty-server/src/main/config/modules/http.mod
@@ -11,17 +11,26 @@
 [ini-template]
 ### HTTP Connector Configuration
 
-## HTTP port to listen on
-jetty.port=8080
+## Connector host/address to bind to
+# jetty.http.host=0.0.0.0
 
-## HTTP idle timeout in milliseconds
-http.timeout=30000
+## Connector port to listen on
+# jetty.http.port=80
 
-## HTTP Socket.soLingerTime in seconds. (-1 to disable)
-# http.soLingerTime=-1
+## Connector idle timeout in milliseconds
+# jetty.http.idleTimeout=30000
 
-## Parameters to control the number and priority of acceptors and selectors
-# http.selectors=1
-# http.acceptors=1
-# http.selectorPriorityDelta=0
-# http.acceptorPriorityDelta=0
+## Connector socket linger time in seconds (-1 to disable)
+# jetty.http.soLingerTime=-1
+
+## Number of acceptors (-1 picks default based on number of cores)
+# jetty.http.acceptors=-1
+
+## Number of selectors (-1 picks default based on number of cores)
+# jetty.http.selectors=-1
+
+## ServerSocketChannel backlog (0 picks platform default)
+# jetty.http.acceptorQueueSize=0
+
+## Thread priority delta to give to acceptor threads
+# jetty.http.acceptorPriorityDelta=0
diff --git a/jetty-server/src/main/config/modules/lowresources.mod b/jetty-server/src/main/config/modules/lowresources.mod
index 99112d5..2f765d9 100644
--- a/jetty-server/src/main/config/modules/lowresources.mod
+++ b/jetty-server/src/main/config/modules/lowresources.mod
@@ -9,10 +9,20 @@
 etc/jetty-lowresources.xml
 
 [ini-template]
-## Low Resources Configuration
-# lowresources.period=1050
-# lowresources.lowResourcesIdleTimeout=200
-# lowresources.monitorThreads=true
-# lowresources.maxConnections=0
-# lowresources.maxMemory=0
-# lowresources.maxLowResourcesTime=5000
+## Scan period to look for low resources (in milliseconds)
+# jetty.lowresources.period=1000
+
+## The idle timeout to apply to low resources (in milliseconds)
+# jetty.lowresources.idleTimeout=1000
+
+## Whether to monitor ThreadPool threads for low resources
+# jetty.lowresources.monitorThreads=true
+
+## Max number of connections allowed before being in low resources mode
+# jetty.lowresources.maxConnections=0
+
+## Max memory allowed before being in low resources mode (in bytes)
+# jetty.lowresources.maxMemory=0
+
+## Max time a resource may stay in low resource mode before actions are taken (in milliseconds)
+# jetty.lowresources.maxLowResourcesTime=5000
diff --git a/jetty-server/src/main/config/modules/requestlog.mod b/jetty-server/src/main/config/modules/requestlog.mod
index f5e0614..89ad071 100644
--- a/jetty-server/src/main/config/modules/requestlog.mod
+++ b/jetty-server/src/main/config/modules/requestlog.mod
@@ -12,19 +12,23 @@
 logs/
 
 [ini-template]
-## Request Log Configuration
-# Filename for Request Log output (relative to jetty.base)
-# requestlog.filename=/logs/yyyy_mm_dd.request.log
-# Date format for rollovered files (uses SimpleDateFormat syntax)
-# requestlog.filenameDateFormat=yyyy_MM_dd
-# How many days to retain the logs
-# requestlog.retain=90
-# If an existing log with the same name is found, just append to it
-# requestlog.append=true
-# Use the extended log output
-# requestlog.extended=true
-# Log http cookie information as well
-# requestlog.cookies=true
-# Set the log output timezone
-# requestlog.timezone=GMT
+## File path (relative to $jetty.base)
+# jetty.requestlog.filePath=/logs/yyyy_mm_dd.request.log
 
+# Date format for rollovered files (uses SimpleDateFormat syntax)
+# jetty.requestlog.filenameDateFormat=yyyy_MM_dd
+
+# How many days to retain old log files
+# jetty.requestlog.retainDays=90
+
+## Whether to append to existing file
+# jetty.requestlog.append=true
+
+# Whether to use the extended log output
+# jetty.requestlog.extended=true
+
+# Whether to log http cookie information
+# jetty.requestlog.cookies=true
+
+## Timezone of the log entries
+# jetty.requestlog.timezone=GMT
diff --git a/jetty-server/src/main/config/modules/server.mod b/jetty-server/src/main/config/modules/server.mod
index f729dc4..6b5dbe9 100644
--- a/jetty-server/src/main/config/modules/server.mod
+++ b/jetty-server/src/main/config/modules/server.mod
@@ -20,41 +20,53 @@
 etc/jetty.xml
 
 [ini-template]
-##
-## Server Threading Configuration
-##
-# minimum number of threads
-threads.min=10
+### ThreadPool configuration
+## Minimum number of threads
+# jetty.threadPool.minThreads=10
 
-# maximum number of threads
-threads.max=200
+## Maximum number of threads
+# jetty.threadPool.maxThreads=200
 
-# thread idle timeout in milliseconds
-threads.timeout=60000
+## Thread idle timeout (in milliseconds)
+# jetty.threadPool.idleTimeout=60000
 
-# buffer size for output
-jetty.output.buffer.size=32768
+### Common HTTP configuration
+## Scheme to use to build URIs for secure redirects
+# jetty.httpConfig.secureScheme=https
 
-# request header buffer size
-jetty.request.header.size=8192
+## Port to use to build URIs for secure redirects
+# jetty.httpConfig.securePort=8443
 
-# response header buffer size
-jetty.response.header.size=8192
+## Response content buffer size (in bytes)
+# jetty.httpConfig.outputBufferSize=32768
 
-# should jetty send the server version header?
-jetty.send.server.version=true
+## Max response content write length that is buffered (in bytes)
+# jetty.httpConfig.outputAggregationSize=8192
 
-# should jetty send the date header?
-jetty.send.date.header=false
+## Max request headers size (in bytes)
+# jetty.httpConfig.requestHeaderSize=8192
 
-# What host to listen on (leave commented to listen on all interfaces)
-#jetty.host=myhost.com
+## Max response headers size (in bytes)
+# jetty.httpConfig.responseHeaderSize=8192
 
-# Enable delayed dispatch optimisation
-jetty.delayDispatchUntilContent=true
+## Whether to send the Server: header
+# jetty.httpConfig.sendServerVersion=true
 
-# Dump the state of the Jetty server, components, and webapps after startup
-jetty.dump.start=false
+## Whether to send the Date: header
+# jetty.httpConfig.sendDateHeader=false
 
-# Dump the state of the Jetty server, before stop
-jetty.dump.stop=false
+## Max per-connection header cache size (in nodes)
+# jetty.httpConfig.headerCacheSize=512
+
+## Whether, for requests with content, delay dispatch until some content has arrived
+# jetty.httpConfig.delayDispatchUntilContent=true
+
+### Server configuration
+## Whether ctrl+c on the console gracefully stops the Jetty server
+# jetty.server.stopAtShutdown=true
+
+## Dump the state of the Jetty server, components, and webapps after startup
+# jetty.server.dumpAfterStart=false
+
+## Dump the state of the Jetty server, components, and webapps before shutdown
+# jetty.server.dumpBeforeStop=false
diff --git a/jetty-server/src/main/config/modules/ssl.mod b/jetty-server/src/main/config/modules/ssl.mod
index a4d1050..e99ed7e 100644
--- a/jetty-server/src/main/config/modules/ssl.mod
+++ b/jetty-server/src/main/config/modules/ssl.mod
@@ -12,36 +12,54 @@
 http://git.eclipse.org/c/jetty/org.eclipse.jetty.project.git/plain/jetty-server/src/main/config/etc/keystore|etc/keystore
 
 [ini-template]
-### SSL Keystore Configuration
-# define the port to use for secure redirection
-jetty.secure.port=8443
+### TLS(SSL) Connector Configuration
 
-# SSL port to listen on
-ssl.port=8443
-# SSL idle timeout in milliseconds
-ssl.timeout=30000
-# HTTPS Socket.soLingerTime in seconds. (-1 to disable)
-# ssl.soLingerTime=-1
+## Connector host/address to bind to
+# jetty.ssl.host=0.0.0.0
 
-## Setup a demonstration keystore and truststore
-jetty.keystore=etc/keystore
-jetty.truststore=etc/keystore
+## Connector port to listen on
+# jetty.ssl.port=443
 
-## Set the demonstration passwords.
+## Connector idle timeout in milliseconds
+# jetty.ssl.idleTimeout=30000
+
+## Connector socket linger time in seconds (-1 to disable)
+# jetty.ssl.soLingerTime=-1
+
+## Number of acceptors (-1 picks default based on number of cores)
+# jetty.ssl.acceptors=-1
+
+## Number of selectors (-1 picks default based on number of cores)
+# jetty.ssl.selectors=-1
+
+## ServerSocketChannel backlog (0 picks platform default)
+# jetty.ssl.acceptorQueueSize=0
+
+## Thread priority delta to give to acceptor threads
+# jetty.ssl.acceptorPriorityDelta=0
+
+### SslContextFactory Configuration
+
+## Keystore file path (relative to $jetty.base)
+# jetty.sslConfig.keyStorePath=etc/keystore
+
+## Truststore file path (relative to $jetty.base)
+# jetty.sslConfig.trustStorePath=etc/keystore
+
 ## Note that OBF passwords are not secure, just protected from casual observation
 ## See http://www.eclipse.org/jetty/documentation/current/configuring-security-secure-passwords.html
-jetty.keystore.password=OBF:1vny1zlo1x8e1vnw1vn61x8g1zlu1vn4
-jetty.keymanager.password=OBF:1u2u1wml1z7s1z7a1wnl1u2g
-jetty.truststore.password=OBF:1vny1zlo1x8e1vnw1vn61x8g1zlu1vn4
 
-### Set the client auth behavior
-## Set to true if client certificate authentication is required
-# jetty.ssl.needClientAuth=true
-## Set to true if client certificate authentication is desired
-# jetty.ssl.wantClientAuth=true
+## Keystore password
+# jetty.sslConfig.keyStorePassword=OBF:1vny1zlo1x8e1vnw1vn61x8g1zlu1vn4
 
-## Parameters to control the number and priority of acceptors and selectors
-# ssl.selectors=1
-# ssl.acceptors=1
-# ssl.selectorPriorityDelta=0
-# ssl.acceptorPriorityDelta=0
+## KeyManager password
+# jetty.sslConfig.keyManagerPassword=OBF:1u2u1wml1z7s1z7a1wnl1u2g
+
+## Truststore password
+# jetty.sslConfig.trustStorePassword=OBF:1vny1zlo1x8e1vnw1vn61x8g1zlu1vn4
+
+## whether client certificate authentication is required
+# jetty.sslConfig.needClientAuth=false
+
+## Whether client certificate authentication is desired
+# jetty.sslConfig.wantClientAuth=false
diff --git a/jetty-server/src/main/java/org/eclipse/jetty/server/ServerConnector.java b/jetty-server/src/main/java/org/eclipse/jetty/server/ServerConnector.java
index e2bed86..8adcc2c 100644
--- a/jetty-server/src/main/java/org/eclipse/jetty/server/ServerConnector.java
+++ b/jetty-server/src/main/java/org/eclipse/jetty/server/ServerConnector.java
@@ -197,7 +197,7 @@
         @Name("sslContextFactory") SslContextFactory sslContextFactory,
         @Name("factories") ConnectionFactory... factories)
     {
-        this(server,null,null,null,-1,-1,AbstractConnectionFactory.getFactories(sslContextFactory,factories));
+        this(server, null, null, null, -1, -1, AbstractConnectionFactory.getFactories(sslContextFactory, factories));
     }
 
     /** Generic Server Connection.
@@ -259,24 +259,19 @@
         return channel!=null && channel.isOpen();
     }
 
-
-    @ManagedAttribute("The priority delta to apply to selector threads")
+    /**
+     * @deprecated not implemented
+     */
+    @Deprecated
     public int getSelectorPriorityDelta()
     {
         return _manager.getSelectorPriorityDelta();
     }
 
     /**
-     * Sets the selector thread priority delta to the given amount.
-     * <p>This allows the selector threads to run at a different priority.
-     * Typically this would be used to lower the priority to give preference 
-     * to handling previously accepted connections rather than accepting
-     * new connections.</p>
-     *
-     * @param selectorPriorityDelta the amount to set the thread priority delta to
-     *                              (may be negative)
-     * @see Thread#getPriority()
+     * @deprecated not implemented
      */
+    @Deprecated
     public void setSelectorPriorityDelta(int selectorPriorityDelta)
     {
         _manager.setSelectorPriorityDelta(selectorPriorityDelta);
diff --git a/jetty-start/src/test/java/org/eclipse/jetty/start/IncludeJettyDirTest.java b/jetty-start/src/test/java/org/eclipse/jetty/start/IncludeJettyDirTest.java
index ba19edf..3c353df 100644
--- a/jetty-start/src/test/java/org/eclipse/jetty/start/IncludeJettyDirTest.java
+++ b/jetty-start/src/test/java/org/eclipse/jetty/start/IncludeJettyDirTest.java
@@ -18,10 +18,6 @@
 
 package org.eclipse.jetty.start;
 
-import static org.hamcrest.Matchers.containsString;
-import static org.hamcrest.Matchers.is;
-import static org.hamcrest.Matchers.notNullValue;
-
 import java.io.File;
 import java.util.ArrayList;
 import java.util.List;
@@ -36,6 +32,10 @@
 import org.junit.Rule;
 import org.junit.Test;
 
+import static org.hamcrest.Matchers.containsString;
+import static org.hamcrest.Matchers.is;
+import static org.hamcrest.Matchers.notNullValue;
+
 public class IncludeJettyDirTest
 {
     private static class MainResult
@@ -97,7 +97,7 @@
         File base = testdir.getFile("base");
         FS.ensureEmpty(base);
         TestEnv.makeFile(base,"start.ini", //
-                "jetty.host=127.0.0.1");
+                "jetty.http.host=127.0.0.1");
 
         // Simple command line - no reference to include-jetty-dirs
         MainResult result = runMain(base,home);
@@ -107,7 +107,7 @@
         expectedSearchOrder.add("${jetty.home}");
         result.assertSearchOrder(expectedSearchOrder);
 
-        result.assertProperty("jetty.host","127.0.0.1");
+        result.assertProperty("jetty.http.host","127.0.0.1");
     }
 
     @Test
@@ -121,13 +121,13 @@
         // Create common
         File common = testdir.getFile("common");
         FS.ensureEmpty(common);
-        TestEnv.makeFile(common,"start.ini","jetty.port=8080");
+        TestEnv.makeFile(common,"start.ini","jetty.http.port=8080");
 
         // Create base
         File base = testdir.getFile("base");
         FS.ensureEmpty(base);
         TestEnv.makeFile(base,"start.ini", //
-                "jetty.host=127.0.0.1");
+                "jetty.http.host=127.0.0.1");
 
         // Simple command line reference to include-jetty-dir
         MainResult result = runMain(base,home,
@@ -140,8 +140,8 @@
         expectedSearchOrder.add("${jetty.home}");
         result.assertSearchOrder(expectedSearchOrder);
 
-        result.assertProperty("jetty.host","127.0.0.1");
-        result.assertProperty("jetty.port","8080"); // from 'common'
+        result.assertProperty("jetty.http.host","127.0.0.1");
+        result.assertProperty("jetty.http.port","8080"); // from 'common'
     }
 
     @Test
@@ -155,13 +155,13 @@
         // Create common
         File common = testdir.getFile("common");
         FS.ensureEmpty(common);
-        TestEnv.makeFile(common,"start.ini","jetty.port=8080");
+        TestEnv.makeFile(common,"start.ini","jetty.http.port=8080");
 
         // Create base
         File base = testdir.getFile("base");
         FS.ensureEmpty(base);
         TestEnv.makeFile(base,"start.ini", //
-                "jetty.host=127.0.0.1");
+                "jetty.http.host=127.0.0.1");
 
         // Simple command line reference to include-jetty-dir via property (also on command line)
         MainResult result = runMain(base,home,
@@ -176,8 +176,8 @@
         expectedSearchOrder.add("${jetty.home}");
         result.assertSearchOrder(expectedSearchOrder);
 
-        result.assertProperty("jetty.host","127.0.0.1");
-        result.assertProperty("jetty.port","8080"); // from 'common'
+        result.assertProperty("jetty.http.host","127.0.0.1");
+        result.assertProperty("jetty.http.port","8080"); // from 'common'
     }
 
     @Test
@@ -195,13 +195,13 @@
         // Create common
         File common = new File(opt,"common");
         FS.ensureEmpty(common);
-        TestEnv.makeFile(common,"start.ini","jetty.port=8080");
+        TestEnv.makeFile(common,"start.ini","jetty.http.port=8080");
 
         // Create base
         File base = testdir.getFile("base");
         FS.ensureEmpty(base);
         TestEnv.makeFile(base,"start.ini", //
-                "jetty.host=127.0.0.1");
+                "jetty.http.host=127.0.0.1");
 
         String dirRef = "${my.opt}" + File.separator + "common";
 
@@ -218,8 +218,8 @@
         expectedSearchOrder.add("${jetty.home}");
         result.assertSearchOrder(expectedSearchOrder);
 
-        result.assertProperty("jetty.host","127.0.0.1");
-        result.assertProperty("jetty.port","8080"); // from 'common'
+        result.assertProperty("jetty.http.host","127.0.0.1");
+        result.assertProperty("jetty.http.port","8080"); // from 'common'
     }
 
     @Test
@@ -237,13 +237,13 @@
         // Create common
         File common = new File(opt,"common");
         FS.ensureEmpty(common);
-        TestEnv.makeFile(common,"start.ini","jetty.port=8080");
+        TestEnv.makeFile(common,"start.ini","jetty.http.port=8080");
 
         // Create base
         File base = testdir.getFile("base");
         FS.ensureEmpty(base);
         TestEnv.makeFile(base,"start.ini", //
-                "jetty.host=127.0.0.1");
+                "jetty.http.host=127.0.0.1");
 
         String dirRef = "${my.opt}" + File.separator + "${my.dir}";
 
@@ -262,8 +262,8 @@
         expectedSearchOrder.add("${jetty.home}");
         result.assertSearchOrder(expectedSearchOrder);
 
-        result.assertProperty("jetty.host","127.0.0.1");
-        result.assertProperty("jetty.port","8080"); // from 'common'
+        result.assertProperty("jetty.http.host","127.0.0.1");
+        result.assertProperty("jetty.http.port","8080"); // from 'common'
     }
 
     @Test
@@ -277,13 +277,13 @@
         // Create common
         File common = testdir.getFile("common");
         FS.ensureEmpty(common);
-        TestEnv.makeFile(common,"start.ini","jetty.port=8080");
+        TestEnv.makeFile(common,"start.ini","jetty.http.port=8080");
 
         // Create base
         File base = testdir.getFile("base");
         FS.ensureEmpty(base);
         TestEnv.makeFile(base,"start.ini", //
-                "jetty.host=127.0.0.1",//
+                "jetty.http.host=127.0.0.1",//
                 "--include-jetty-dir=" + common.getAbsolutePath());
 
         MainResult result = runMain(base,home);
@@ -294,8 +294,8 @@
         expectedSearchOrder.add("${jetty.home}");
         result.assertSearchOrder(expectedSearchOrder);
 
-        result.assertProperty("jetty.host","127.0.0.1");
-        result.assertProperty("jetty.port","8080"); // from 'common'
+        result.assertProperty("jetty.http.host","127.0.0.1");
+        result.assertProperty("jetty.http.port","8080"); // from 'common'
     }
 
     @Test
@@ -309,7 +309,7 @@
         // Create common
         File common = testdir.getFile("common");
         FS.ensureEmpty(common);
-        TestEnv.makeFile(common,"start.ini","jetty.port=8080");
+        TestEnv.makeFile(common,"start.ini","jetty.http.port=8080");
 
         // Create corp
         File corp = testdir.getFile("corp");
@@ -319,7 +319,7 @@
         File base = testdir.getFile("base");
         FS.ensureEmpty(base);
         TestEnv.makeFile(base,"start.ini", //
-                "jetty.host=127.0.0.1",//
+                "jetty.http.host=127.0.0.1",//
                 "--include-jetty-dir=" + common.getAbsolutePath(), //
                 "--include-jetty-dir=" + corp.getAbsolutePath());
 
@@ -332,8 +332,8 @@
         expectedSearchOrder.add("${jetty.home}");
         result.assertSearchOrder(expectedSearchOrder);
 
-        result.assertProperty("jetty.host","127.0.0.1");
-        result.assertProperty("jetty.port","8080"); // from 'common'
+        result.assertProperty("jetty.http.host","127.0.0.1");
+        result.assertProperty("jetty.http.port","8080"); // from 'common'
     }
 
     @Test
@@ -347,20 +347,20 @@
         // Create corp
         File corp = testdir.getFile("corp");
         FS.ensureEmpty(corp);
-        TestEnv.makeFile(corp,"start.ini","jetty.port=9090");
+        TestEnv.makeFile(corp,"start.ini","jetty.http.port=9090");
 
         // Create common
         File common = testdir.getFile("common");
         FS.ensureEmpty(common);
         TestEnv.makeFile(common,"start.ini", //
                 "--include-jetty-dir=" + corp.getAbsolutePath(), //
-                "jetty.port=8080");
+                "jetty.http.port=8080");
 
         // Create base
         File base = testdir.getFile("base");
         FS.ensureEmpty(base);
         TestEnv.makeFile(base,"start.ini", //
-                "jetty.host=127.0.0.1",//
+                "jetty.http.host=127.0.0.1",//
                 "--include-jetty-dir=" + common.getAbsolutePath());
 
         MainResult result = runMain(base,home);
@@ -372,8 +372,8 @@
         expectedSearchOrder.add("${jetty.home}");
         result.assertSearchOrder(expectedSearchOrder);
 
-        result.assertProperty("jetty.host","127.0.0.1");
-        result.assertProperty("jetty.port","8080"); // from 'common'
+        result.assertProperty("jetty.http.host","127.0.0.1");
+        result.assertProperty("jetty.http.port","8080"); // from 'common'
     }
 
     @Test
@@ -388,7 +388,7 @@
         File corp = testdir.getFile("corp");
         FS.ensureEmpty(corp);
         TestEnv.makeFile(corp,"start.ini", //
-                "jetty.port=9090");
+                "jetty.http.port=9090");
 
         // Create common
         File common = testdir.getFile("common");
@@ -396,13 +396,13 @@
         TestEnv.makeFile(common,"start.ini", //
                 "my.corp=" + corp.getAbsolutePath(), //
                 "--include-jetty-dir=${my.corp}", //
-                "jetty.port=8080");
+                "jetty.http.port=8080");
 
         // Create base
         File base = testdir.getFile("base");
         FS.ensureEmpty(base);
         TestEnv.makeFile(base,"start.ini", //
-                "jetty.host=127.0.0.1",//
+                "jetty.http.host=127.0.0.1",//
                 "my.common=" + common.getAbsolutePath(), //
                 "--include-jetty-dir=${my.common}");
 
@@ -415,8 +415,8 @@
         expectedSearchOrder.add("${jetty.home}");
         result.assertSearchOrder(expectedSearchOrder);
 
-        result.assertProperty("jetty.host","127.0.0.1");
-        result.assertProperty("jetty.port","8080"); // from 'common'
+        result.assertProperty("jetty.http.host","127.0.0.1");
+        result.assertProperty("jetty.http.port","8080"); // from 'common'
     }
 
     @Test
@@ -432,26 +432,26 @@
         FS.ensureEmpty(devops);
         TestEnv.makeFile(devops,"start.ini", //
                 "--module=logging", //
-                "jetty.port=2222");
+                "jetty.http.port=2222");
 
         // Create corp
         File corp = testdir.getFile("corp");
         FS.ensureEmpty(corp);
         TestEnv.makeFile(corp,"start.ini", //
-                "jetty.port=9090");
+                "jetty.http.port=9090");
 
         // Create common
         File common = testdir.getFile("common");
         FS.ensureEmpty(common);
         TestEnv.makeFile(common,"start.ini", //
                 "--include-jetty-dir=" + corp.getAbsolutePath(), //
-                "jetty.port=8080");
+                "jetty.http.port=8080");
 
         // Create base
         File base = testdir.getFile("base");
         FS.ensureEmpty(base);
         TestEnv.makeFile(base,"start.ini", //
-                "jetty.host=127.0.0.1",//
+                "jetty.http.host=127.0.0.1",//
                 "--include-jetty-dir=" + common.getAbsolutePath());
 
         MainResult result = runMain(base,home,
@@ -466,8 +466,8 @@
         expectedSearchOrder.add("${jetty.home}");
         result.assertSearchOrder(expectedSearchOrder);
 
-        result.assertProperty("jetty.host","127.0.0.1");
-        result.assertProperty("jetty.port","2222"); // from 'devops'
+        result.assertProperty("jetty.http.host","127.0.0.1");
+        result.assertProperty("jetty.http.port","2222"); // from 'devops'
     }
 
     @Test
@@ -482,25 +482,25 @@
         File corp = testdir.getFile("corp");
         FS.ensureEmpty(corp);
         TestEnv.makeFile(corp,"start.ini", //
-                "jetty.port=9090");
+                "jetty.http.port=9090");
 
         // Create common
         File common = testdir.getFile("common");
         FS.ensureEmpty(common);
         TestEnv.makeFile(common,"start.ini", //
                 "--include-jetty-dir=" + corp.getAbsolutePath(), //
-                "jetty.port=8080");
+                "jetty.http.port=8080");
 
         // Create base
         File base = testdir.getFile("base");
         FS.ensureEmpty(base);
         TestEnv.makeFile(base,"start.ini", //
-                "jetty.host=127.0.0.1",//
+                "jetty.http.host=127.0.0.1",//
                 "--include-jetty-dir=" + common.getAbsolutePath());
 
         MainResult result = runMain(base,home,
         // command line property should override all others
-                "jetty.port=7070");
+                "jetty.http.port=7070");
 
         List<String> expectedSearchOrder = new ArrayList<>();
         expectedSearchOrder.add("${jetty.base}");
@@ -509,8 +509,8 @@
         expectedSearchOrder.add("${jetty.home}");
         result.assertSearchOrder(expectedSearchOrder);
 
-        result.assertProperty("jetty.host","127.0.0.1");
-        result.assertProperty("jetty.port","7070"); // from command line
+        result.assertProperty("jetty.http.host","127.0.0.1");
+        result.assertProperty("jetty.http.port","7070"); // from command line
     }
 
     @Test
@@ -530,14 +530,14 @@
         FS.ensureEmpty(corp);
         TestEnv.makeFile(corp,"start.ini",
         // standard property
-                "jetty.port=9090",
+                "jetty.http.port=9090",
                 // INTENTIONAL BAD Reference (duplicate)
                 "--include-jetty-dir=" + common.getAbsolutePath());
 
         // Populate common
         TestEnv.makeFile(common,"start.ini",
         // standard property
-                "jetty.port=8080",
+                "jetty.http.port=8080",
                 // reference to corp
                 "--include-jetty-dir=" + corp.getAbsolutePath());
 
@@ -545,7 +545,7 @@
         File base = testdir.getFile("base");
         FS.ensureEmpty(base);
         TestEnv.makeFile(base,"start.ini", //
-                "jetty.host=127.0.0.1",//
+                "jetty.http.host=127.0.0.1",//
                 "--include-jetty-dir=" + common.getAbsolutePath());
 
         try
diff --git a/jetty-start/src/test/java/org/eclipse/jetty/start/MainTest.java b/jetty-start/src/test/java/org/eclipse/jetty/start/MainTest.java
index ca61c3d..5a71fdf 100644
--- a/jetty-start/src/test/java/org/eclipse/jetty/start/MainTest.java
+++ b/jetty-start/src/test/java/org/eclipse/jetty/start/MainTest.java
@@ -18,10 +18,6 @@
 
 package org.eclipse.jetty.start;
 
-import static org.hamcrest.Matchers.is;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertThat;
-
 import java.io.File;
 import java.nio.file.Files;
 import java.nio.file.Path;
@@ -35,6 +31,10 @@
 import org.junit.Rule;
 import org.junit.Test;
 
+import static org.hamcrest.Matchers.is;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertThat;
+
 public class MainTest
 {
     @Rule
@@ -54,7 +54,7 @@
         File testJettyHome = MavenTestingUtils.getTestResourceDir("dist-home").getAbsoluteFile();
         cmdLineArgs.add("user.dir=" + testJettyHome);
         cmdLineArgs.add("jetty.home=" + testJettyHome);
-        cmdLineArgs.add("jetty.port=9090");
+        cmdLineArgs.add("jetty.http.port=9090");
 
         Main main = new Main();
         StartArgs args = main.processCommandLine(cmdLineArgs.toArray(new String[cmdLineArgs.size()]));
@@ -90,7 +90,7 @@
         List<String> cmdLineArgs = new ArrayList<>();
         File testJettyHome = MavenTestingUtils.getTestResourceDir("dist-home");
         cmdLineArgs.add("jetty.home=" + testJettyHome);
-        cmdLineArgs.add("jetty.port=9090");
+        cmdLineArgs.add("jetty.http.port=9090");
         cmdLineArgs.add("--list-config");
         // cmdLineArgs.add("--debug");
 
diff --git a/jetty-start/src/test/java/org/eclipse/jetty/start/ModulesTest.java b/jetty-start/src/test/java/org/eclipse/jetty/start/ModulesTest.java
index b4fbb83..b902dbd 100644
--- a/jetty-start/src/test/java/org/eclipse/jetty/start/ModulesTest.java
+++ b/jetty-start/src/test/java/org/eclipse/jetty/start/ModulesTest.java
@@ -18,10 +18,6 @@
 
 package org.eclipse.jetty.start;
 
-import static org.hamcrest.Matchers.contains;
-import static org.hamcrest.Matchers.is;
-import static org.junit.Assert.assertThat;
-
 import java.io.File;
 import java.io.IOException;
 import java.util.ArrayList;
@@ -41,6 +37,10 @@
 import org.junit.Rule;
 import org.junit.Test;
 
+import static org.hamcrest.Matchers.contains;
+import static org.hamcrest.Matchers.is;
+import static org.junit.Assert.assertThat;
+
 public class ModulesTest
 {
     private final static String TEST_SOURCE = "<test>";
@@ -92,7 +92,7 @@
         expected.add("cdi");
         expected.add("client");
         expected.add("continuation");
-        expected.add("debug");
+        expected.add("debuglog");
         expected.add("deploy");
         expected.add("ext");
         expected.add("fcgi");
diff --git a/jetty-start/src/test/java/org/eclipse/jetty/start/config/ConfigSourcesTest.java b/jetty-start/src/test/java/org/eclipse/jetty/start/config/ConfigSourcesTest.java
index 1388f7e..84c205c 100644
--- a/jetty-start/src/test/java/org/eclipse/jetty/start/config/ConfigSourcesTest.java
+++ b/jetty-start/src/test/java/org/eclipse/jetty/start/config/ConfigSourcesTest.java
@@ -18,10 +18,6 @@
 
 package org.eclipse.jetty.start.config;
 
-import static org.hamcrest.Matchers.containsString;
-import static org.hamcrest.Matchers.is;
-import static org.hamcrest.Matchers.notNullValue;
-
 import java.io.File;
 import java.io.IOException;
 import java.util.ArrayList;
@@ -38,6 +34,10 @@
 import org.junit.Rule;
 import org.junit.Test;
 
+import static org.hamcrest.Matchers.containsString;
+import static org.hamcrest.Matchers.is;
+import static org.hamcrest.Matchers.notNullValue;
+
 public class ConfigSourcesTest
 {
     @Rule
@@ -91,7 +91,7 @@
         File base = testdir.getFile("base");
         FS.ensureEmpty(base);
         TestEnv.makeFile(base,"start.ini", //
-                "jetty.host=127.0.0.1");
+                "jetty.http.host=127.0.0.1");
 
         ConfigSources sources = new ConfigSources();
 
@@ -119,7 +119,7 @@
         File base = testdir.getFile("base");
         FS.ensureEmpty(base);
         TestEnv.makeFile(base,"start.ini", //
-                "jetty.host=127.0.0.1",//
+                "jetty.http.host=127.0.0.1",//
                 "--include-jetty-dir=" + common.getAbsolutePath());
 
         ConfigSources sources = new ConfigSources();
@@ -143,13 +143,13 @@
         // Create common
         File common = testdir.getFile("common");
         FS.ensureEmpty(common);
-        TestEnv.makeFile(common,"start.ini","jetty.port=8080");
+        TestEnv.makeFile(common,"start.ini","jetty.http.port=8080");
 
         // Create base
         File base = testdir.getFile("base");
         FS.ensureEmpty(base);
         TestEnv.makeFile(base,"start.ini", //
-                "jetty.host=127.0.0.1");
+                "jetty.http.host=127.0.0.1");
 
         ConfigSources sources = new ConfigSources();
 
@@ -169,8 +169,8 @@
 
         assertDirOrder(sources,base,common,home);
 
-        assertProperty(sources,"jetty.host","127.0.0.1");
-        assertProperty(sources,"jetty.port","8080"); // from 'common'
+        assertProperty(sources,"jetty.http.host","127.0.0.1");
+        assertProperty(sources,"jetty.http.port","8080"); // from 'common'
     }
 
     @Test
@@ -188,13 +188,13 @@
         // Create common
         File common = new File(opt,"common");
         FS.ensureEmpty(common);
-        TestEnv.makeFile(common,"start.ini","jetty.port=8080");
+        TestEnv.makeFile(common,"start.ini","jetty.http.port=8080");
 
         // Create base
         File base = testdir.getFile("base");
         FS.ensureEmpty(base);
         TestEnv.makeFile(base,"start.ini", //
-                "jetty.host=127.0.0.1");
+                "jetty.http.host=127.0.0.1");
 
         String dirRef = "${my.opt}" + File.separator + "common";
 
@@ -215,8 +215,8 @@
 
         assertDirOrder(sources,base,common,home);
 
-        assertProperty(sources,"jetty.host","127.0.0.1");
-        assertProperty(sources,"jetty.port","8080"); // from 'common'
+        assertProperty(sources,"jetty.http.host","127.0.0.1");
+        assertProperty(sources,"jetty.http.port","8080"); // from 'common'
     }
 
     @Test
@@ -234,13 +234,13 @@
         // Create common
         File common = new File(opt,"common");
         FS.ensureEmpty(common);
-        TestEnv.makeFile(common,"start.ini","jetty.port=8080");
+        TestEnv.makeFile(common,"start.ini","jetty.http.port=8080");
 
         // Create base
         File base = testdir.getFile("base");
         FS.ensureEmpty(base);
         TestEnv.makeFile(base,"start.ini", //
-                "jetty.host=127.0.0.1");
+                "jetty.http.host=127.0.0.1");
 
         String dirRef = "${my.opt}" + File.separator + "${my.dir}";
 
@@ -264,8 +264,8 @@
 
         assertDirOrder(sources,base,common,home);
 
-        assertProperty(sources,"jetty.host","127.0.0.1");
-        assertProperty(sources,"jetty.port","8080"); // from 'common'
+        assertProperty(sources,"jetty.http.host","127.0.0.1");
+        assertProperty(sources,"jetty.http.port","8080"); // from 'common'
     }
     
     @Test
@@ -279,13 +279,13 @@
         // Create common
         File common = testdir.getFile("common");
         FS.ensureEmpty(common);
-        TestEnv.makeFile(common,"start.ini","jetty.port=8080");
+        TestEnv.makeFile(common,"start.ini","jetty.http.port=8080");
 
         // Create base
         File base = testdir.getFile("base");
         FS.ensureEmpty(base);
         TestEnv.makeFile(base,"start.ini", //
-                "jetty.host=127.0.0.1",//
+                "jetty.http.host=127.0.0.1",//
                 "--include-jetty-dir=" + common.getAbsolutePath());
 
         ConfigSources sources = new ConfigSources();
@@ -299,8 +299,8 @@
 
         assertDirOrder(sources,base,common,home);
 
-        assertProperty(sources,"jetty.host","127.0.0.1");
-        assertProperty(sources,"jetty.port","8080"); // from 'common'
+        assertProperty(sources,"jetty.http.host","127.0.0.1");
+        assertProperty(sources,"jetty.http.port","8080"); // from 'common'
     }
 
     @Test
@@ -314,7 +314,7 @@
         // Create common
         File common = testdir.getFile("common");
         FS.ensureEmpty(common);
-        TestEnv.makeFile(common,"start.ini","jetty.port=8080");
+        TestEnv.makeFile(common,"start.ini","jetty.http.port=8080");
 
         // Create corp
         File corp = testdir.getFile("corp");
@@ -324,7 +324,7 @@
         File base = testdir.getFile("base");
         FS.ensureEmpty(base);
         TestEnv.makeFile(base,"start.ini", //
-                "jetty.host=127.0.0.1",//
+                "jetty.http.host=127.0.0.1",//
                 "--include-jetty-dir=" + common.getAbsolutePath(), //
                 "--include-jetty-dir=" + corp.getAbsolutePath());
 
@@ -342,8 +342,8 @@
 
         assertDirOrder(sources,base,common,corp,home);
 
-        assertProperty(sources,"jetty.host","127.0.0.1");
-        assertProperty(sources,"jetty.port","8080"); // from 'common'
+        assertProperty(sources,"jetty.http.host","127.0.0.1");
+        assertProperty(sources,"jetty.http.port","8080"); // from 'common'
     }
     
     @Test
@@ -358,20 +358,20 @@
         File corp = testdir.getFile("corp");
         FS.ensureEmpty(corp);
         TestEnv.makeFile(corp,"start.ini", //
-                "jetty.port=9090");
+                "jetty.http.port=9090");
 
         // Create common
         File common = testdir.getFile("common");
         FS.ensureEmpty(common);
         TestEnv.makeFile(common,"start.ini", //
                 "--include-jetty-dir=" + corp.getAbsolutePath(), //
-                "jetty.port=8080");
+                "jetty.http.port=8080");
 
         // Create base
         File base = testdir.getFile("base");
         FS.ensureEmpty(base);
         TestEnv.makeFile(base,"start.ini", //
-                "jetty.host=127.0.0.1",//
+                "jetty.http.host=127.0.0.1",//
                 "--include-jetty-dir=" + common.getAbsolutePath());
 
         ConfigSources sources = new ConfigSources();
@@ -388,8 +388,8 @@
 
         assertDirOrder(sources,base,common,corp,home);
 
-        assertProperty(sources,"jetty.host","127.0.0.1");
-        assertProperty(sources,"jetty.port","8080"); // from 'common'
+        assertProperty(sources,"jetty.http.host","127.0.0.1");
+        assertProperty(sources,"jetty.http.port","8080"); // from 'common'
     }
     
     @Test
@@ -404,7 +404,7 @@
         File corp = testdir.getFile("corp");
         FS.ensureEmpty(corp);
         TestEnv.makeFile(corp,"start.ini", //
-                "jetty.port=9090");
+                "jetty.http.port=9090");
 
         // Create common
         File common = testdir.getFile("common");
@@ -412,13 +412,13 @@
         TestEnv.makeFile(common,"start.ini", //
                 "my.corp=" + corp.getAbsolutePath(), //
                 "--include-jetty-dir=${my.corp}", //
-                "jetty.port=8080");
+                "jetty.http.port=8080");
 
         // Create base
         File base = testdir.getFile("base");
         FS.ensureEmpty(base);
         TestEnv.makeFile(base,"start.ini", //
-                "jetty.host=127.0.0.1",//
+                "jetty.http.host=127.0.0.1",//
                 "my.common="+common.getAbsolutePath(), //
                 "--include-jetty-dir=${my.common}");
 
@@ -437,8 +437,8 @@
 
         assertDirOrder(sources,base,common,corp,home);
 
-        assertProperty(sources,"jetty.host","127.0.0.1");
-        assertProperty(sources,"jetty.port","8080"); // from 'common'
+        assertProperty(sources,"jetty.http.host","127.0.0.1");
+        assertProperty(sources,"jetty.http.port","8080"); // from 'common'
     }
     
     @Test
@@ -454,26 +454,26 @@
         FS.ensureEmpty(devops);
         TestEnv.makeFile(devops,"start.ini", //
                 "--module=logging", //
-                "jetty.port=2222");
+                "jetty.http.port=2222");
 
         // Create corp
         File corp = testdir.getFile("corp");
         FS.ensureEmpty(corp);
         TestEnv.makeFile(corp,"start.ini", //
-                "jetty.port=9090");
+                "jetty.http.port=9090");
 
         // Create common
         File common = testdir.getFile("common");
         FS.ensureEmpty(common);
         TestEnv.makeFile(common,"start.ini", //
                 "--include-jetty-dir=" + corp.getAbsolutePath(), //
-                "jetty.port=8080");
+                "jetty.http.port=8080");
 
         // Create base
         File base = testdir.getFile("base");
         FS.ensureEmpty(base);
         TestEnv.makeFile(base,"start.ini", //
-                "jetty.host=127.0.0.1",//
+                "jetty.http.host=127.0.0.1",//
                 "--include-jetty-dir=" + common.getAbsolutePath());
 
         ConfigSources sources = new ConfigSources();
@@ -494,8 +494,8 @@
 
         assertDirOrder(sources,base,devops,common,corp,home);
 
-        assertProperty(sources,"jetty.host","127.0.0.1");
-        assertProperty(sources,"jetty.port","2222"); // from 'common'
+        assertProperty(sources,"jetty.http.host","127.0.0.1");
+        assertProperty(sources,"jetty.http.port","2222"); // from 'common'
     }
     
     @Test
@@ -510,27 +510,27 @@
         File corp = testdir.getFile("corp");
         FS.ensureEmpty(corp);
         TestEnv.makeFile(corp,"start.ini", //
-                "jetty.port=9090");
+                "jetty.http.port=9090");
 
         // Create common
         File common = testdir.getFile("common");
         FS.ensureEmpty(common);
         TestEnv.makeFile(common,"start.ini", //
                 "--include-jetty-dir=" + corp.getAbsolutePath(), //
-                "jetty.port=8080");
+                "jetty.http.port=8080");
 
         // Create base
         File base = testdir.getFile("base");
         FS.ensureEmpty(base);
         TestEnv.makeFile(base,"start.ini", //
-                "jetty.host=127.0.0.1",//
+                "jetty.http.host=127.0.0.1",//
                 "--include-jetty-dir=" + common.getAbsolutePath());
 
         ConfigSources sources = new ConfigSources();
         
         String cmdLine[] = new String[]{
              // command line property should override all others
-                "jetty.port=7070"
+                "jetty.http.port=7070"
         };
         sources.add(new CommandLineConfigSource(cmdLine));
         sources.add(new JettyHomeConfigSource(home.toPath()));
@@ -543,8 +543,8 @@
 
         assertDirOrder(sources,base,common,corp,home);
 
-        assertProperty(sources,"jetty.host","127.0.0.1");
-        assertProperty(sources,"jetty.port","7070"); // from <command-line>
+        assertProperty(sources,"jetty.http.host","127.0.0.1");
+        assertProperty(sources,"jetty.http.port","7070"); // from <command-line>
     }
     
     @Test
@@ -564,14 +564,14 @@
         FS.ensureEmpty(corp);
         TestEnv.makeFile(corp,"start.ini", 
                 // standard property
-                "jetty.port=9090",
+                "jetty.http.port=9090",
                 // INTENTIONAL BAD Reference (duplicate)
                 "--include-jetty-dir=" + common.getAbsolutePath());
 
         // Populate common
         TestEnv.makeFile(common,"start.ini", 
                 // standard property
-                "jetty.port=8080",
+                "jetty.http.port=8080",
                 // reference to corp
                 "--include-jetty-dir=" + corp.getAbsolutePath());
 
@@ -579,7 +579,7 @@
         File base = testdir.getFile("base");
         FS.ensureEmpty(base);
         TestEnv.makeFile(base,"start.ini", //
-                "jetty.host=127.0.0.1",//
+                "jetty.http.host=127.0.0.1",//
                 "--include-jetty-dir=" + common.getAbsolutePath());
 
         ConfigSources sources = new ConfigSources();
diff --git a/jetty-start/src/test/resources/assert-home-with-http2.txt b/jetty-start/src/test/resources/assert-home-with-http2.txt
index b852b13..527e91f 100644
--- a/jetty-start/src/test/resources/assert-home-with-http2.txt
+++ b/jetty-start/src/test/resources/assert-home-with-http2.txt
@@ -51,29 +51,28 @@
 # The Properties we expect (order is irrelevant)
 # (these are the properties we actually set in the configuration)
 PROP|java.version=1.7.0_60
-PROP|jetty.keymanager.password=OBF:1u2u1wml1z7s1z7a1wnl1u2g
-PROP|jetty.keystore=etc/keystore
-PROP|jetty.keystore.password=OBF:1vny1zlo1x8e1vnw1vn61x8g1zlu1vn4
-PROP|jetty.secure.port=8443
-PROP|jetty.truststore=etc/keystore
-PROP|jetty.truststore.password=OBF:1vny1zlo1x8e1vnw1vn61x8g1zlu1vn4
-PROP|ssl.port=8443
-PROP|ssl.timeout=30000
+# PROP|jetty.sslConfig.keyManagerPassword=OBF:1u2u1wml1z7s1z7a1wnl1u2g
+# PROP|jetty.sslConfig.keystorePath=etc/keystore
+# PROP|jetty.sslConfig.keystorePassword=OBF:1vny1zlo1x8e1vnw1vn61x8g1zlu1vn4
+# PROP|jetty.httpConfig.securePort=8443
+# PROP|jetty.sslConfig.truststorePath=etc/keystore
+# PROP|jetty.sslConfig.truststorePassword=OBF:1vny1zlo1x8e1vnw1vn61x8g1zlu1vn4
+# PROP|jetty.ssl.port=8443
+# PROP|jetty.ssl.idleTimeout=30000
 # (these are the ones set by default from jetty.home modules)
-PROP|jetty.port=8080
-PROP|http.timeout=30000
-PROP|jetty.delayDispatchUntilContent=false
-PROP|jetty.dump.start=false
-PROP|jetty.dump.stop=false
-PROP|jetty.output.buffer.size=32768
-PROP|jetty.request.header.size=8192
-PROP|jetty.response.header.size=8192
-PROP|jetty.send.date.header=false
-PROP|jetty.send.server.version=true
-PROP|threads.max=200
-PROP|threads.min=10
-PROP|threads.timeout=60000
-
+PROP|jetty.alpn.debug=false
+PROP|jetty.http.port=8080
+PROP|jetty.httpConfig.delayDispatchUntilContent=false
+PROP|jetty.server.dumpAfterStart=false
+PROP|jetty.server.dumpBeforeStop=false
+PROP|jetty.httpConfig.outputBufferSize=32768
+PROP|jetty.httpConfig.requestHeaderSize=8192
+PROP|jetty.httpConfig.responseHeaderSize=8192
+PROP|jetty.httpConfig.sendDateHeader=false
+PROP|jetty.httpConfig.sendServerVersion=true
+PROP|jetty.threadPool.maxThreads=200
+PROP|jetty.threadPool.minThreads=10
+PROP|jetty.threadPool.idleTimeout=60000
 
 # JVM Args
 JVM|-Xms1024m
@@ -89,5 +88,3 @@
 FILE|lib/alpn/
 FILE|resources/
 FILE|webapps/
-
-
diff --git a/jetty-start/src/test/resources/assert-home-with-jvm.txt b/jetty-start/src/test/resources/assert-home-with-jvm.txt
index c8b69bd..771f6da 100644
--- a/jetty-start/src/test/resources/assert-home-with-jvm.txt
+++ b/jetty-start/src/test/resources/assert-home-with-jvm.txt
@@ -47,21 +47,20 @@
 
 # The Properties we expect (order is irrelevant)
 # (these are the properties we actually set in the configuration)
-# PROP|jetty.port=8080
+# PROP|jetty.http.port=8080
 # (these are the ones set by default from jetty.home modules)
-PROP|jetty.port=8080
-PROP|http.timeout=30000
-PROP|jetty.delayDispatchUntilContent=false
-PROP|jetty.dump.start=false
-PROP|jetty.dump.stop=false
-PROP|jetty.output.buffer.size=32768
-PROP|jetty.request.header.size=8192
-PROP|jetty.response.header.size=8192
-PROP|jetty.send.date.header=false
-PROP|jetty.send.server.version=true
-PROP|threads.max=200
-PROP|threads.min=10
-PROP|threads.timeout=60000
+PROP|jetty.http.port=8080
+PROP|jetty.httpConfig.delayDispatchUntilContent=false
+PROP|jetty.server.dumpAfterStart=false
+PROP|jetty.server.dumpBeforeStop=false
+PROP|jetty.httpConfig.outputBufferSize=32768
+PROP|jetty.httpConfig.requestHeaderSize=8192
+PROP|jetty.httpConfig.responseHeaderSize=8192
+PROP|jetty.httpConfig.sendDateHeader=false
+PROP|jetty.httpConfig.sendServerVersion=true
+PROP|jetty.threadPool.maxThreads=200
+PROP|jetty.threadPool.minThreads=10
+PROP|jetty.threadPool.idleTimeout=60000
 
 # JVM Args
 JVM|-Xms1024m
diff --git a/jetty-start/src/test/resources/assert-home.txt b/jetty-start/src/test/resources/assert-home.txt
index 3abc800..aab1bae 100644
--- a/jetty-start/src/test/resources/assert-home.txt
+++ b/jetty-start/src/test/resources/assert-home.txt
@@ -43,20 +43,19 @@
 
 # The Properties we expect (order is irrelevant)
 # (these are the properties we actually set in the configuration)
-PROP|jetty.port=9090
+PROP|jetty.http.port=9090
 # (these are the ones set by default from jetty.home modules)
-PROP|http.timeout=30000
-PROP|jetty.delayDispatchUntilContent=false
-PROP|jetty.dump.start=false
-PROP|jetty.dump.stop=false
-PROP|jetty.output.buffer.size=32768
-PROP|jetty.request.header.size=8192
-PROP|jetty.response.header.size=8192
-PROP|jetty.send.date.header=false
-PROP|jetty.send.server.version=true
-PROP|threads.max=200
-PROP|threads.min=10
-PROP|threads.timeout=60000
+PROP|jetty.httpConfig.delayDispatchUntilContent=false
+PROP|jetty.server.dumpAfterStart=false
+PROP|jetty.server.dumpBeforeStop=false
+PROP|jetty.httpConfig.outputBufferSize=32768
+PROP|jetty.httpConfig.requestHeaderSize=8192
+PROP|jetty.httpConfig.responseHeaderSize=8192
+PROP|jetty.httpConfig.sendDateHeader=false
+PROP|jetty.httpConfig.sendServerVersion=true
+PROP|jetty.threadPool.maxThreads=200
+PROP|jetty.threadPool.minThreads=10
+PROP|jetty.threadPool.idleTimeout=60000
 
 # Files
 FILE|lib/
diff --git a/jetty-start/src/test/resources/dist-home/etc/jetty-debug.xml b/jetty-start/src/test/resources/dist-home/etc/jetty-debuglog.xml
similarity index 100%
rename from jetty-start/src/test/resources/dist-home/etc/jetty-debug.xml
rename to jetty-start/src/test/resources/dist-home/etc/jetty-debuglog.xml
diff --git a/jetty-start/src/test/resources/dist-home/modules/alpn.mod b/jetty-start/src/test/resources/dist-home/modules/alpn.mod
index 2a6a178..41a6f29 100644
--- a/jetty-start/src/test/resources/dist-home/modules/alpn.mod
+++ b/jetty-start/src/test/resources/dist-home/modules/alpn.mod
@@ -35,13 +35,19 @@
 lib/alpn/
 
 [ini-template]
-# Configuration for ALPN
-# alpn.protocols=h2-14,http/1.1
-# alpn.defaultProtocol=http/1.1
+# Overrides the order protocols are chosen by the server.
+# The default order is that specified by the order of the
+# modules declared in start.ini.
+# jetty.alpn.protocols=h2-16,http/1.1
+
+# Specifies what protocol to use when negotiation fails.
+# jetty.alpn.defaultProtocol=http/1.1
+
+# ALPN debug logging on System.err
+jetty.alpn.debug=false
 
 [license]
 ALPN is a hosted at github under the GPL v2 with ClassPath Exception.
 ALPN replaces/modifies OpenJDK classes in the java.sun.security.ssl package.
 http://github.com/jetty-project/jetty-alpn
 http://openjdk.java.net/legal/gplv2+ce.html
-
diff --git a/jetty-start/src/test/resources/dist-home/modules/debug.mod b/jetty-start/src/test/resources/dist-home/modules/debug.mod
deleted file mode 100644
index 5acce7a..0000000
--- a/jetty-start/src/test/resources/dist-home/modules/debug.mod
+++ /dev/null
@@ -1,12 +0,0 @@
-#
-# Debug module
-#
-
-[depend]
-server
-
-[files]
-logs/
-
-[xml]
-etc/jetty-debug.xml
diff --git a/jetty-start/src/test/resources/dist-home/modules/debuglog.mod b/jetty-start/src/test/resources/dist-home/modules/debuglog.mod
new file mode 100644
index 0000000..20bfa6a
--- /dev/null
+++ b/jetty-start/src/test/resources/dist-home/modules/debuglog.mod
@@ -0,0 +1,25 @@
+#
+# Debug module
+#
+
+[depend]
+server
+
+[files]
+logs/
+
+[xml]
+etc/jetty-debug.xml
+
+[ini-template]
+## Logging directory (relative to $jetty.base)
+# jetty.debuglog.dir=logs
+
+## Whether to append to existing file
+# jetty.debuglog.append=false
+
+## How many days to retain old log files
+# jetty.debuglog.retainDays=90
+
+## Timezone of the log entries
+# jetty.debuglog.timezone=GMT
diff --git a/jetty-start/src/test/resources/dist-home/modules/deploy.mod b/jetty-start/src/test/resources/dist-home/modules/deploy.mod
index f16b3f2..3a2fc91 100644
--- a/jetty-start/src/test/resources/dist-home/modules/deploy.mod
+++ b/jetty-start/src/test/resources/dist-home/modules/deploy.mod
@@ -15,7 +15,11 @@
 etc/jetty-deploy.xml
 
 [ini-template]
-## DeployManager configuration
-# Monitored Directory name (relative to jetty.base)
-# jetty.deploy.monitoredDirName=webapps
+# Monitored directory name (relative to jetty.base)
+# jetty.deploy.monitoredDir=webapps
 
+# Monitored directory scan period (seconds)
+# jetty.deploy.scanInterval=1
+
+# Whether to extract *.war files
+# jetty.deploy.extractWars=true
diff --git a/jetty-start/src/test/resources/dist-home/modules/fcgi.mod b/jetty-start/src/test/resources/dist-home/modules/fcgi.mod
index e837b00..14152d5 100644
--- a/jetty-start/src/test/resources/dist-home/modules/fcgi.mod
+++ b/jetty-start/src/test/resources/dist-home/modules/fcgi.mod
@@ -12,4 +12,4 @@
 
 [ini-template]
 ## For configuration of FastCGI contexts, see
-## TODO: documentation url here
+## https://www.eclipse.org/jetty/documentation/current/fastcgi.html
diff --git a/jetty-start/src/test/resources/dist-home/modules/gzip.mod b/jetty-start/src/test/resources/dist-home/modules/gzip.mod
index c098092..1efc834 100644
--- a/jetty-start/src/test/resources/dist-home/modules/gzip.mod
+++ b/jetty-start/src/test/resources/dist-home/modules/gzip.mod
@@ -10,9 +10,14 @@
 etc/jetty-gzip.xml
 
 [ini-template]
-### Gzip Handler
+## Minimum content length after which gzip is enabled
+# jetty.gzip.minGzipSize=2048
 
-gzip.minGzipSize=2048
-gzip.checkGzExists=false
-gzip.compressionLevel=-1
-gzip.excludedUserAgent=.*MSIE.6\.0.*
+## Check whether a file with *.gz extension exists
+# jetty.gzip.checkGzExists=false
+
+## Gzip compression level (-1 for default)
+# jetty.gzip.compressionLevel=-1
+
+## User agents for which gzip is disabled
+# jetty.gzip.excludedUserAgent=.*MSIE.6\.0.*
diff --git a/jetty-start/src/test/resources/dist-home/modules/http.mod b/jetty-start/src/test/resources/dist-home/modules/http.mod
index dc34bc3..0957a79 100644
--- a/jetty-start/src/test/resources/dist-home/modules/http.mod
+++ b/jetty-start/src/test/resources/dist-home/modules/http.mod
@@ -11,17 +11,26 @@
 [ini-template]
 ### HTTP Connector Configuration
 
-## HTTP port to listen on
-jetty.port=8080
+## Connector host/address to bind to
+# jetty.http.host=0.0.0.0
 
-## HTTP idle timeout in milliseconds
-http.timeout=30000
+## Connector port to listen on
+# jetty.http.port=80
 
-## HTTP Socket.soLingerTime in seconds. (-1 to disable)
-# http.soLingerTime=-1
+## Connector idle timeout in milliseconds
+# jetty.http.idleTimeout=30000
 
-## Parameters to control the number and priority of acceptors and selectors
-# http.selectors=1
-# http.acceptors=1
-# http.selectorPriorityDelta=0
-# http.acceptorPriorityDelta=0
+## Connector socket linger time in seconds (-1 to disable)
+# jetty.http.soLingerTime=-1
+
+## Number of acceptors (-1 picks default based on number of cores)
+# jetty.http.acceptors=-1
+
+## Number of selectors (-1 picks default based on number of cores)
+# jetty.http.selectors=-1
+
+## ServerSocketChannel backlog (0 picks platform default)
+# jetty.http.acceptorQueueSize=0
+
+## Thread priority delta to give to acceptor threads
+# jetty.http.acceptorPriorityDelta=0
diff --git a/jetty-start/src/test/resources/dist-home/modules/http2.mod b/jetty-start/src/test/resources/dist-home/modules/http2.mod
index 2be7e7e..585c1fa 100644
--- a/jetty-start/src/test/resources/dist-home/modules/http2.mod
+++ b/jetty-start/src/test/resources/dist-home/modules/http2.mod
@@ -13,6 +13,8 @@
 etc/jetty-http2.xml
 
 [ini-template]
-## HTTP2 Configuration
+## Max number of concurrent streams per connection
+# jetty.http2.maxConcurrentStreams=1024
 
-# http2.maxConcurrentStreams=1024
+## Initial stream send (server to client) window
+# jetty.http2.initialStreamSendWindow=65535
diff --git a/jetty-start/src/test/resources/dist-home/modules/http2c.mod b/jetty-start/src/test/resources/dist-home/modules/http2c.mod
index 1073181..15883ca 100644
--- a/jetty-start/src/test/resources/dist-home/modules/http2c.mod
+++ b/jetty-start/src/test/resources/dist-home/modules/http2c.mod
@@ -1,5 +1,8 @@
 #
 # HTTP2 Clear Text Support Module
+# This module adds support for HTTP/2 clear text to the
+# HTTP/1 clear text connector (defined in jetty-http.xml).
+# The resulting connector will accept both HTTP/1 and HTTP/2 connections.
 #
 
 [depend]
@@ -12,11 +15,8 @@
 etc/jetty-http2c.xml
 
 [ini-template]
-## HTTP2c Configuration
+## Max number of concurrent streams per connection
+# jetty.http2.maxConcurrentStreams=1024
 
-# This module adds support for HTTP/2 clear text to the
-# HTTP/1 clear text connector (defined in jetty-http.xml)
-# The resulting connector will accept both HTTP/1 and HTTP/2
-# connections
-
-# http2.maxConcurrentStreams=1024
+## Initial stream send (server to client) window
+# jetty.http2.initialStreamSendWindow=65535
diff --git a/jetty-start/src/test/resources/dist-home/modules/jaas.mod b/jetty-start/src/test/resources/dist-home/modules/jaas.mod
index 4932140..fee3f59 100644
--- a/jetty-start/src/test/resources/dist-home/modules/jaas.mod
+++ b/jetty-start/src/test/resources/dist-home/modules/jaas.mod
@@ -12,5 +12,6 @@
 etc/jetty-jaas.xml
 
 [ini-template]
-## JAAS Configuration
-jaas.login.conf=etc/login.conf
+## The file location (relative to $jetty.base) for the
+## JAAS "java.security.auth.login.config" system property
+# jetty.jaas.login.conf=etc/login.conf
diff --git a/jetty-start/src/test/resources/dist-home/modules/jmx-remote.mod b/jetty-start/src/test/resources/dist-home/modules/jmx-remote.mod
index b6be74a..f8a5111 100644
--- a/jetty-start/src/test/resources/dist-home/modules/jmx-remote.mod
+++ b/jetty-start/src/test/resources/dist-home/modules/jmx-remote.mod
@@ -9,10 +9,8 @@
 etc/jetty-jmx-remote.xml
 
 [ini-template]
-## JMX Configuration
-## Enable for an open port accessible by remote machines
-# jetty.jmxrmihost=localhost
-# jetty.jmxrmiport=1099
-## Strictly speaking you shouldn't need --exec to use this in most environments.
-## If this isn't working, make sure you enable --exec as well
-# -Dcom.sun.management.jmxremote
+## The host/address to bind RMI to
+# jetty.jmxremote.rmihost=localhost
+
+## The port RMI listens to
+# jetty.jmxremote.rmiport=1099
diff --git a/jetty-start/src/test/resources/dist-home/modules/logging.mod b/jetty-start/src/test/resources/dist-home/modules/logging.mod
index a39bfe4..1fe6762 100644
--- a/jetty-start/src/test/resources/dist-home/modules/logging.mod
+++ b/jetty-start/src/test/resources/dist-home/modules/logging.mod
@@ -23,9 +23,14 @@
 # Configure jetty logging for java.util.logging
 # -Dorg.eclipse.jetty.util.log.class=org.eclipse.jetty.util.log.JavaUtilLog
 
-# STDERR / STDOUT Logging
-# Number of days to retain logs
-# jetty.log.retain=90
-# Directory for logging output
-# Either a path relative to ${jetty.base} or an absolute path
-# jetty.logs=logs
+## Logging directory (relative to jetty.base)
+# jetty.logging.dir=logs
+
+## Whether to append to existing file
+# jetty.logging.append=false
+
+## How many days to retain old log files
+# jetty.logging.retainDays=90
+
+## Timezone of the log timestamps
+# jetty.logging.timezone=GMT
diff --git a/jetty-start/src/test/resources/dist-home/modules/lowresources.mod b/jetty-start/src/test/resources/dist-home/modules/lowresources.mod
index 99112d5..2f765d9 100644
--- a/jetty-start/src/test/resources/dist-home/modules/lowresources.mod
+++ b/jetty-start/src/test/resources/dist-home/modules/lowresources.mod
@@ -9,10 +9,20 @@
 etc/jetty-lowresources.xml
 
 [ini-template]
-## Low Resources Configuration
-# lowresources.period=1050
-# lowresources.lowResourcesIdleTimeout=200
-# lowresources.monitorThreads=true
-# lowresources.maxConnections=0
-# lowresources.maxMemory=0
-# lowresources.maxLowResourcesTime=5000
+## Scan period to look for low resources (in milliseconds)
+# jetty.lowresources.period=1000
+
+## The idle timeout to apply to low resources (in milliseconds)
+# jetty.lowresources.idleTimeout=1000
+
+## Whether to monitor ThreadPool threads for low resources
+# jetty.lowresources.monitorThreads=true
+
+## Max number of connections allowed before being in low resources mode
+# jetty.lowresources.maxConnections=0
+
+## Max memory allowed before being in low resources mode (in bytes)
+# jetty.lowresources.maxMemory=0
+
+## Max time a resource may stay in low resource mode before actions are taken (in milliseconds)
+# jetty.lowresources.maxLowResourcesTime=5000
diff --git a/jetty-start/src/test/resources/dist-home/modules/proxy.mod b/jetty-start/src/test/resources/dist-home/modules/proxy.mod
index a879ae1..6b91f68 100644
--- a/jetty-start/src/test/resources/dist-home/modules/proxy.mod
+++ b/jetty-start/src/test/resources/dist-home/modules/proxy.mod
@@ -14,9 +14,9 @@
 
 [ini-template]
 ## Proxy Configuration
-#jetty.proxy.servletClass=org.eclipse.jetty.proxy.ProxyServlet
-#jetty.proxy.servletMapping=/*
-#jetty.proxy.maxThreads=128
-#jetty.proxy.maxConnections=256
-#jetty.proxy.idleTimeout=30000
-#jetty.proxy.timeout=60000
+# jetty.proxy.servletClass=org.eclipse.jetty.proxy.ProxyServlet
+# jetty.proxy.servletMapping=/*
+# jetty.proxy.maxThreads=128
+# jetty.proxy.maxConnections=256
+# jetty.proxy.idleTimeout=30000
+# jetty.proxy.timeout=60000
diff --git a/jetty-start/src/test/resources/dist-home/modules/requestlog.mod b/jetty-start/src/test/resources/dist-home/modules/requestlog.mod
index f5e0614..89ad071 100644
--- a/jetty-start/src/test/resources/dist-home/modules/requestlog.mod
+++ b/jetty-start/src/test/resources/dist-home/modules/requestlog.mod
@@ -12,19 +12,23 @@
 logs/
 
 [ini-template]
-## Request Log Configuration
-# Filename for Request Log output (relative to jetty.base)
-# requestlog.filename=/logs/yyyy_mm_dd.request.log
-# Date format for rollovered files (uses SimpleDateFormat syntax)
-# requestlog.filenameDateFormat=yyyy_MM_dd
-# How many days to retain the logs
-# requestlog.retain=90
-# If an existing log with the same name is found, just append to it
-# requestlog.append=true
-# Use the extended log output
-# requestlog.extended=true
-# Log http cookie information as well
-# requestlog.cookies=true
-# Set the log output timezone
-# requestlog.timezone=GMT
+## File path (relative to $jetty.base)
+# jetty.requestlog.filePath=/logs/yyyy_mm_dd.request.log
 
+# Date format for rollovered files (uses SimpleDateFormat syntax)
+# jetty.requestlog.filenameDateFormat=yyyy_MM_dd
+
+# How many days to retain old log files
+# jetty.requestlog.retainDays=90
+
+## Whether to append to existing file
+# jetty.requestlog.append=true
+
+# Whether to use the extended log output
+# jetty.requestlog.extended=true
+
+# Whether to log http cookie information
+# jetty.requestlog.cookies=true
+
+## Timezone of the log entries
+# jetty.requestlog.timezone=GMT
diff --git a/jetty-start/src/test/resources/dist-home/modules/rewrite.mod b/jetty-start/src/test/resources/dist-home/modules/rewrite.mod
index d2e00c8..c8a1750 100644
--- a/jetty-start/src/test/resources/dist-home/modules/rewrite.mod
+++ b/jetty-start/src/test/resources/dist-home/modules/rewrite.mod
@@ -10,3 +10,13 @@
 
 [xml]
 etc/jetty-rewrite.xml
+
+[ini-template]
+## Whether to rewrite the request URI
+# jetty.rewrite.rewriteRequestURI=true
+
+## Whether to rewrite the path info
+# jetty.rewrite.rewritePathInfo=false
+
+## Request attribute key under with the original path is stored
+# jetty.rewrite.originalPathAttribute=requestedPath
diff --git a/jetty-start/src/test/resources/dist-home/modules/server.mod b/jetty-start/src/test/resources/dist-home/modules/server.mod
index b3f87de..6b5dbe9 100644
--- a/jetty-start/src/test/resources/dist-home/modules/server.mod
+++ b/jetty-start/src/test/resources/dist-home/modules/server.mod
@@ -20,30 +20,53 @@
 etc/jetty.xml
 
 [ini-template]
-##
-## Server Threading Configuration
-##
-# minimum number of threads
-threads.min=10
-# maximum number of threads
-threads.max=200
-# thread idle timeout in milliseconds
-threads.timeout=60000
-# buffer size for output
-jetty.output.buffer.size=32768
-# request header buffer size
-jetty.request.header.size=8192
-# response header buffer size
-jetty.response.header.size=8192
-# should jetty send the server version header?
-jetty.send.server.version=true
-# should jetty send the date header?
-jetty.send.date.header=false
-# What host to listen on (leave commented to listen on all interfaces)
-#jetty.host=myhost.com
-# Dump the state of the Jetty server, components, and webapps after startup
-jetty.dump.start=false
-# Dump the state of the Jetty server, before stop
-jetty.dump.stop=false
-# Enable delayed dispatch optimisation
-jetty.delayDispatchUntilContent=false
+### ThreadPool configuration
+## Minimum number of threads
+# jetty.threadPool.minThreads=10
+
+## Maximum number of threads
+# jetty.threadPool.maxThreads=200
+
+## Thread idle timeout (in milliseconds)
+# jetty.threadPool.idleTimeout=60000
+
+### Common HTTP configuration
+## Scheme to use to build URIs for secure redirects
+# jetty.httpConfig.secureScheme=https
+
+## Port to use to build URIs for secure redirects
+# jetty.httpConfig.securePort=8443
+
+## Response content buffer size (in bytes)
+# jetty.httpConfig.outputBufferSize=32768
+
+## Max response content write length that is buffered (in bytes)
+# jetty.httpConfig.outputAggregationSize=8192
+
+## Max request headers size (in bytes)
+# jetty.httpConfig.requestHeaderSize=8192
+
+## Max response headers size (in bytes)
+# jetty.httpConfig.responseHeaderSize=8192
+
+## Whether to send the Server: header
+# jetty.httpConfig.sendServerVersion=true
+
+## Whether to send the Date: header
+# jetty.httpConfig.sendDateHeader=false
+
+## Max per-connection header cache size (in nodes)
+# jetty.httpConfig.headerCacheSize=512
+
+## Whether, for requests with content, delay dispatch until some content has arrived
+# jetty.httpConfig.delayDispatchUntilContent=true
+
+### Server configuration
+## Whether ctrl+c on the console gracefully stops the Jetty server
+# jetty.server.stopAtShutdown=true
+
+## Dump the state of the Jetty server, components, and webapps after startup
+# jetty.server.dumpAfterStart=false
+
+## Dump the state of the Jetty server, components, and webapps before shutdown
+# jetty.server.dumpBeforeStop=false
diff --git a/jetty-start/src/test/resources/dist-home/modules/ssl.mod b/jetty-start/src/test/resources/dist-home/modules/ssl.mod
index a4d1050..44b4e24 100644
--- a/jetty-start/src/test/resources/dist-home/modules/ssl.mod
+++ b/jetty-start/src/test/resources/dist-home/modules/ssl.mod
@@ -12,36 +12,54 @@
 http://git.eclipse.org/c/jetty/org.eclipse.jetty.project.git/plain/jetty-server/src/main/config/etc/keystore|etc/keystore
 
 [ini-template]
-### SSL Keystore Configuration
-# define the port to use for secure redirection
-jetty.secure.port=8443
+### TLS(SSL) Connector Configuration
 
-# SSL port to listen on
-ssl.port=8443
-# SSL idle timeout in milliseconds
-ssl.timeout=30000
-# HTTPS Socket.soLingerTime in seconds. (-1 to disable)
-# ssl.soLingerTime=-1
+## Connector host/address to bind to
+# jetty.ssl.host=0.0.0.0
 
-## Setup a demonstration keystore and truststore
-jetty.keystore=etc/keystore
-jetty.truststore=etc/keystore
+## Connector port to listen on
+# jetty.ssl.port=443
 
-## Set the demonstration passwords.
+## Connector idle timeout in milliseconds
+# jetty.ssl.idleTimeout=30000
+
+## Connector socket linger time in seconds (-1 to disable)
+# jetty.ssl.soLingerTime=-1
+
+## Number of acceptors (-1 picks default based on number of cores)
+# jetty.ssl.acceptors=-1
+
+## Number of selectors (-1 picks default based on number of cores)
+# jetty.ssl.selectors=-1
+
+## ServerSocketChannel backlog (0 picks platform default)
+# jetty.ssl.acceptorQueueSize=0
+
+## Thread priority delta to give to acceptor threads
+# jetty.ssl.acceptorPriorityDelta=0
+
+### SslContextFactory Configuration
+
+## Keystore file path (relative to $jetty.base)
+# jetty.sslConfig.keystorePath=etc/keystore
+
+## Truststore file path (relative to $jetty.base)
+# jetty.sslConfig.truststorePath
+
 ## Note that OBF passwords are not secure, just protected from casual observation
 ## See http://www.eclipse.org/jetty/documentation/current/configuring-security-secure-passwords.html
-jetty.keystore.password=OBF:1vny1zlo1x8e1vnw1vn61x8g1zlu1vn4
-jetty.keymanager.password=OBF:1u2u1wml1z7s1z7a1wnl1u2g
-jetty.truststore.password=OBF:1vny1zlo1x8e1vnw1vn61x8g1zlu1vn4
 
-### Set the client auth behavior
-## Set to true if client certificate authentication is required
-# jetty.ssl.needClientAuth=true
-## Set to true if client certificate authentication is desired
-# jetty.ssl.wantClientAuth=true
+## Keystore password
+# jetty.sslConfig.keystorePassword=OBF:1vny1zlo1x8e1vnw1vn61x8g1zlu1vn4
 
-## Parameters to control the number and priority of acceptors and selectors
-# ssl.selectors=1
-# ssl.acceptors=1
-# ssl.selectorPriorityDelta=0
-# ssl.acceptorPriorityDelta=0
+## KeyManager password
+# jetty.sslConfig.keyManagerPassword=OBF:1u2u1wml1z7s1z7a1wnl1u2g
+
+## Truststore password
+# jetty.sslConfig.truststorePassword=OBF:1vny1zlo1x8e1vnw1vn61x8g1zlu1vn4
+
+## whether client certificate authentication is required
+# jetty.sslConfig.needClientAuth=false
+
+## Whether client certificate authentication is desired
+# jetty.sslConfig.wantClientAuth=false
diff --git a/jetty-start/src/test/resources/dist-home/start.ini b/jetty-start/src/test/resources/dist-home/start.ini
index 1418368..76987d9 100644
--- a/jetty-start/src/test/resources/dist-home/start.ini
+++ b/jetty-start/src/test/resources/dist-home/start.ini
@@ -43,29 +43,29 @@
 ## Server Threading Configuration
 ##
 # minimum number of threads
-threads.min=10
+jetty.threadPool.minThreads=10
 # maximum number of threads
-threads.max=200
+jetty.threadPool.maxThreads=200
 # thread idle timeout in milliseconds
-threads.timeout=60000
+jetty.threadPool.idleTimeout=60000
 # buffer size for output
-jetty.output.buffer.size=32768
+jetty.httpConfig.outputBufferSize=32768
 # request header buffer size
-jetty.request.header.size=8192
+jetty.httpConfig.requestHeaderSize=8192
 # response header buffer size
-jetty.response.header.size=8192
+jetty.httpConfig.responseHeaderSize=8192
 # should jetty send the server version header?
-jetty.send.server.version=true
+jetty.httpConfig.sendServerVersion=true
 # should jetty send the date header?
-jetty.send.date.header=false
+jetty.httpConfig.sendDateHeader=false
 # What host to listen on (leave commented to listen on all interfaces)
-#jetty.host=myhost.com
+#jetty.http.host=myhost.com
 # Dump the state of the Jetty server, components, and webapps after startup
-jetty.dump.start=false
+jetty.server.dumpAfterStart=false
 # Dump the state of the Jetty server, before stop
-jetty.dump.stop=false
+jetty.server.dumpBeforeStop=false
 # Enable delayed dispatch optimisation
-jetty.delayDispatchUntilContent=false
+jetty.httpConfig.delayDispatchUntilContent=false
 
 # --------------------------------------- 
 # Module: http
@@ -73,19 +73,18 @@
 ### HTTP Connector Configuration
 
 ## HTTP port to listen on
-jetty.port=8080
+jetty.http.port=8080
 
 ## HTTP idle timeout in milliseconds
-http.timeout=30000
+# jetty.http.idleTimeout=30000
 
 ## HTTP Socket.soLingerTime in seconds. (-1 to disable)
-# http.soLingerTime=-1
+# jetty.http.soLingerTime=-1
 
 ## Parameters to control the number and priority of acceptors and selectors
-# http.selectors=1
-# http.acceptors=1
-# http.selectorPriorityDelta=0
-# http.acceptorPriorityDelta=0
+# jetty.http.selectors=1
+# jetty.http.acceptors=1
+# jetty.http.acceptorPriorityDelta=0
 
 # --------------------------------------- 
 # Module: jndi
@@ -108,8 +107,7 @@
 --module=deploy
 ## DeployManager configuration
 # Monitored Directory name (relative to jetty.base)
-# jetty.deploy.monitoredDirName=webapps
-
+# jetty.deploy.monitoredDir=webapps
 
 # --------------------------------------- 
 # Module: plus
diff --git a/jetty-start/src/test/resources/usecases/agent-properties.assert.txt b/jetty-start/src/test/resources/usecases/agent-properties.assert.txt
index 19f00c3..e1a69ed 100644
--- a/jetty-start/src/test/resources/usecases/agent-properties.assert.txt
+++ b/jetty-start/src/test/resources/usecases/agent-properties.assert.txt
@@ -16,18 +16,18 @@
 
 # The Properties we expect (order is irrelevant)
 # (this is the property we actually set in jetty.base)
-PROP|jetty.port=9090
+PROP|jetty.http.port=9090
 PROP|java.vm.specification.version=1.6
 # (these are the ones set by default from jetty.home modules)
-PROP|http.timeout=30000
-PROP|jetty.delayDispatchUntilContent=false
-PROP|jetty.dump.start=false
-PROP|jetty.dump.stop=false
-PROP|jetty.output.buffer.size=32768
-PROP|jetty.request.header.size=8192
-PROP|jetty.response.header.size=8192
-PROP|jetty.send.date.header=false
-PROP|jetty.send.server.version=true
-PROP|threads.max=200
-PROP|threads.min=10
-PROP|threads.timeout=60000
+# PROP|jetty.http.idleTimeout=30000
+# PROP|jetty.httpConfig.delayDispatchUntilContent=false
+# PROP|jetty.server.dumpAfterStart=false
+# PROP|jetty.server.dumpBeforeStop=false
+# PROP|jetty.httpConfig.outputBufferSize=32768
+# PROP|jetty.httpConfig.requestHeaderSize=8192
+# PROP|jetty.httpConfig.responseHeaderSize=8192
+# PROP|jetty.httpConfig.sendDateHeader=false
+# PROP|jetty.httpConfig.sendServerVersion=true
+# PROP|jetty.threadPool.maxThreads=200
+# PROP|jetty.threadPool.minThreads=10
+# PROP|jetty.threadPool.idleTimeout=60000
diff --git a/jetty-start/src/test/resources/usecases/agent-properties/start.ini b/jetty-start/src/test/resources/usecases/agent-properties/start.ini
index 198a07c..db061d8 100644
--- a/jetty-start/src/test/resources/usecases/agent-properties/start.ini
+++ b/jetty-start/src/test/resources/usecases/agent-properties/start.ini
@@ -1,4 +1,4 @@
 
 --module=http,agent
 
-jetty.port=9090
+jetty.http.port=9090
diff --git a/jetty-start/src/test/resources/usecases/assert-enable-spdy-bad-npn-version.txt b/jetty-start/src/test/resources/usecases/assert-enable-spdy-bad-npn-version.txt
index 84c8867..76a5b5c 100644
--- a/jetty-start/src/test/resources/usecases/assert-enable-spdy-bad-npn-version.txt
+++ b/jetty-start/src/test/resources/usecases/assert-enable-spdy-bad-npn-version.txt
@@ -3,12 +3,12 @@
 # The LIBs we expect (order is irrelevant)
 
 # The Properties we expect (order is irrelevant)
-PROP|jetty.port=9090
-PROP|jetty.keystore=etc/keystore
-PROP|jetty.keystore.password=friendly
-PROP|jetty.keymanager.password=icecream
-PROP|jetty.truststore=etc/keystore
-PROP|jetty.truststore.password=sundae
+PROP|jetty.http.port=9090
+PROP|jetty.sslConfig.keyStorePath=etc/keystore
+PROP|jetty.sslConfig.keyStorePassword=friendly
+PROP|jetty.sslConfig.keyManagerPassword=icecream
+PROP|jetty.sslConfig.trustStorePath=etc/keystore
+PROP|jetty.sslConfig.trustStorePassword=sundae
 PROP|java.version=1.7.0_01
 
 # The Downloads
diff --git a/jetty-start/src/test/resources/usecases/assert-with-module-persistence.txt b/jetty-start/src/test/resources/usecases/assert-with-module-persistence.txt
index 75fb89c..c72fa64 100644
--- a/jetty-start/src/test/resources/usecases/assert-with-module-persistence.txt
+++ b/jetty-start/src/test/resources/usecases/assert-with-module-persistence.txt
@@ -33,12 +33,12 @@
 LIB|${jetty.home}/lib/websocket/websocket-servlet-TEST.jar
 
 # The Properties we expect (order is irrelevant)
-PROP|jetty.port=12345
-PROP|jetty.keystore=etc/keystore
-PROP|jetty.keystore.password=friendly
-PROP|jetty.keymanager.password=icecream
-PROP|jetty.truststore=etc/keystore
-PROP|jetty.truststore.password=sundae
+PROP|jetty.http.port=12345
+PROP|jetty.sslConfig.keyStorePath=etc/keystore
+PROP|jetty.sslConfig.keyStorePassword=friendly
+PROP|jetty.sslConfig.keyManagerPassword=icecream
+PROP|jetty.sslConfig.trustStorePath=etc/keystore
+PROP|jetty.sslConfig.trustStorePassword=sundae
 
 # JVM Args
 # JVM|-Xms1024m
diff --git a/jetty-start/src/test/resources/usecases/barebones.assert.txt b/jetty-start/src/test/resources/usecases/barebones.assert.txt
index 3393d78..6f933ed 100644
--- a/jetty-start/src/test/resources/usecases/barebones.assert.txt
+++ b/jetty-start/src/test/resources/usecases/barebones.assert.txt
@@ -13,17 +13,17 @@
 
 # The Properties we expect (order is irrelevant)
 # (this is the property we actually set in jetty.base)
-PROP|jetty.port=9090
+PROP|jetty.http.port=9090
 # (these are the ones set by default from jetty.home modules)
-PROP|http.timeout=30000
-PROP|jetty.delayDispatchUntilContent=false
-PROP|jetty.dump.start=false
-PROP|jetty.dump.stop=false
-PROP|jetty.output.buffer.size=32768
-PROP|jetty.request.header.size=8192
-PROP|jetty.response.header.size=8192
-PROP|jetty.send.date.header=false
-PROP|jetty.send.server.version=true
-PROP|threads.max=200
-PROP|threads.min=10
-PROP|threads.timeout=60000
+# PROP|jetty.http.idleTimeout=30000
+# PROP|jetty.httpConfig.delayDispatchUntilContent=false
+# PROP|jetty.server.dumpAfterStart=false
+# PROP|jetty.server.dumpBeforeStop=false
+# PROP|jetty.httpConfig.outputBufferSize=32768
+# PROP|jetty.httpConfig.requestHeaderSize=8192
+# PROP|jetty.httpConfig.responseHeaderSize=8192
+# PROP|jetty.httpConfig.sendDateHeader=false
+# PROP|jetty.httpConfig.sendServerVersion=true
+# PROP|jetty.threadPool.maxThreads=200
+# PROP|jetty.threadPool.minThreads=10
+# PROP|jetty.threadPool.idleTimeout=60000
diff --git a/jetty-start/src/test/resources/usecases/barebones/start.ini b/jetty-start/src/test/resources/usecases/barebones/start.ini
index 1c0e065..a3d92b9 100644
--- a/jetty-start/src/test/resources/usecases/barebones/start.ini
+++ b/jetty-start/src/test/resources/usecases/barebones/start.ini
@@ -2,4 +2,4 @@
 --module=server
 --module=http
 
-jetty.port=9090
+jetty.http.port=9090
diff --git a/jetty-start/src/test/resources/usecases/basic-properties.assert.txt b/jetty-start/src/test/resources/usecases/basic-properties.assert.txt
index 7dbf4fc..df9ae27 100644
--- a/jetty-start/src/test/resources/usecases/basic-properties.assert.txt
+++ b/jetty-start/src/test/resources/usecases/basic-properties.assert.txt
@@ -13,18 +13,18 @@
 
 # The Properties we expect (order is irrelevant)
 # (this is the property we actually set in jetty.base)
-PROP|jetty.port=9090
+PROP|jetty.http.port=9090
 PROP|port=9090
 # (these are the ones set by default from jetty.home modules)
-PROP|http.timeout=30000
-PROP|jetty.delayDispatchUntilContent=false
-PROP|jetty.dump.start=false
-PROP|jetty.dump.stop=false
-PROP|jetty.output.buffer.size=32768
-PROP|jetty.request.header.size=8192
-PROP|jetty.response.header.size=8192
-PROP|jetty.send.date.header=false
-PROP|jetty.send.server.version=true
-PROP|threads.max=200
-PROP|threads.min=10
-PROP|threads.timeout=60000
\ No newline at end of file
+# PROP|jetty.http.idleTimeout=30000
+# PROP|jetty.httpConfig.delayDispatchUntilContent=false
+# PROP|jetty.server.dumpAfterStart=false
+# PROP|jetty.server.dumpBeforeStop=false
+# PROP|jetty.httpConfig.outputBufferSize=32768
+# PROP|jetty.httpConfig.requestHeaderSize=8192
+# PROP|jetty.httpConfig.responseHeaderSize=8192
+# PROP|jetty.httpConfig.sendDateHeader=false
+# PROP|jetty.httpConfig.sendServerVersion=true
+# PROP|jetty.threadPool.maxThreads=200
+# PROP|jetty.threadPool.minThreads=10
+# PROP|jetty.threadPool.idleTimeout=60000
diff --git a/jetty-start/src/test/resources/usecases/basic-properties/start.ini b/jetty-start/src/test/resources/usecases/basic-properties/start.ini
index f80bdb2..eaef9da 100644
--- a/jetty-start/src/test/resources/usecases/basic-properties/start.ini
+++ b/jetty-start/src/test/resources/usecases/basic-properties/start.ini
@@ -2,4 +2,4 @@
 --module=server
 --module=http
 
-jetty.port=${port}
+jetty.http.port=${port}
diff --git a/jetty-start/src/test/resources/usecases/database.assert.txt b/jetty-start/src/test/resources/usecases/database.assert.txt
index 31d9c27..fbd4beb 100644
--- a/jetty-start/src/test/resources/usecases/database.assert.txt
+++ b/jetty-start/src/test/resources/usecases/database.assert.txt
@@ -26,22 +26,22 @@
 
 # The Properties we expect (order is irrelevant)
 # (this is the property we actually set in jetty.base)
-PROP|jetty.port=9090
+PROP|jetty.http.port=9090
 PROP|mysql.user=frank
 PROP|mysql.pass=secret
 # (these are the ones set by default from jetty.home modules)
-PROP|http.timeout=30000
-PROP|jetty.delayDispatchUntilContent=false
-PROP|jetty.dump.start=false
-PROP|jetty.dump.stop=false
-PROP|jetty.output.buffer.size=32768
-PROP|jetty.request.header.size=8192
-PROP|jetty.response.header.size=8192
-PROP|jetty.send.date.header=false
-PROP|jetty.send.server.version=true
-PROP|threads.max=200
-PROP|threads.min=10
-PROP|threads.timeout=60000
+# PROP|jetty.http.idleTimeout=30000
+# PROP|jetty.httpConfig.delayDispatchUntilContent=false
+# PROP|jetty.server.dumpAfterStart=false
+# PROP|jetty.server.dumpBeforeStop=false
+# PROP|jetty.httpConfig.outputBufferSize=32768
+# PROP|jetty.httpConfig.requestHeaderSize=8192
+# PROP|jetty.httpConfig.responseHeaderSize=8192
+# PROP|jetty.httpConfig.sendDateHeader=false
+# PROP|jetty.httpConfig.sendServerVersion=true
+# PROP|jetty.threadPool.maxThreads=200
+# PROP|jetty.threadPool.minThreads=10
+# PROP|jetty.threadPool.idleTimeout=60000
 
 # Files / Directories to create
 FILE|webapps/
diff --git a/jetty-start/src/test/resources/usecases/database/start.ini b/jetty-start/src/test/resources/usecases/database/start.ini
index d5513df..a9a013b 100644
--- a/jetty-start/src/test/resources/usecases/database/start.ini
+++ b/jetty-start/src/test/resources/usecases/database/start.ini
@@ -4,4 +4,4 @@
 mysql.user=frank
 mysql.pass=secret
 
-jetty.port=9090
+jetty.http.port=9090
diff --git a/jetty-start/src/test/resources/usecases/deep-ext.assert.txt b/jetty-start/src/test/resources/usecases/deep-ext.assert.txt
index 38712d9..8b18c19 100644
--- a/jetty-start/src/test/resources/usecases/deep-ext.assert.txt
+++ b/jetty-start/src/test/resources/usecases/deep-ext.assert.txt
@@ -19,20 +19,20 @@
 
 # The Properties we expect (order is irrelevant)
 # (this is the property we actually set in jetty.base)
-PROP|jetty.port=9090
+PROP|jetty.http.port=9090
 # (these are the ones set by default from jetty.home modules)
-PROP|http.timeout=30000
-PROP|jetty.delayDispatchUntilContent=false
-PROP|jetty.dump.start=false
-PROP|jetty.dump.stop=false
-PROP|jetty.output.buffer.size=32768
-PROP|jetty.request.header.size=8192
-PROP|jetty.response.header.size=8192
-PROP|jetty.send.date.header=false
-PROP|jetty.send.server.version=true
-PROP|threads.max=200
-PROP|threads.min=10
-PROP|threads.timeout=60000
+# PROP|jetty.http.idleTimeout=30000
+# PROP|jetty.httpConfig.delayDispatchUntilContent=false
+# PROP|jetty.server.dumpAfterStart=false
+# PROP|jetty.server.dumpBeforeStop=false
+# PROP|jetty.httpConfig.outputBufferSize=32768
+# PROP|jetty.httpConfig.requestHeaderSize=8192
+# PROP|jetty.httpConfig.responseHeaderSize=8192
+# PROP|jetty.httpConfig.sendDateHeader=false
+# PROP|jetty.httpConfig.sendServerVersion=true
+# PROP|jetty.threadPool.maxThreads=200
+# PROP|jetty.threadPool.minThreads=10
+# PROP|jetty.threadPool.idleTimeout=60000
 
 # Files / Directories to create
 FILE|lib/
diff --git a/jetty-start/src/test/resources/usecases/deep-ext/start.ini b/jetty-start/src/test/resources/usecases/deep-ext/start.ini
index c8fa930..2165a30 100644
--- a/jetty-start/src/test/resources/usecases/deep-ext/start.ini
+++ b/jetty-start/src/test/resources/usecases/deep-ext/start.ini
@@ -3,4 +3,4 @@
 --module=http
 --module=ext
 
-jetty.port=9090
+jetty.http.port=9090
diff --git a/jetty-start/src/test/resources/usecases/http2.assert.txt b/jetty-start/src/test/resources/usecases/http2.assert.txt
index 7510468..ed4b8d1 100644
--- a/jetty-start/src/test/resources/usecases/http2.assert.txt
+++ b/jetty-start/src/test/resources/usecases/http2.assert.txt
@@ -23,30 +23,30 @@
 
 # The Properties we expect (order is irrelevant)
 # (this is the property we actually set in jetty.base)
-PROP|jetty.port=9090
-PROP|jetty.secure.port=8443
-PROP|jetty.keystore=etc/keystore
-PROP|jetty.keystore.password=friendly
-PROP|jetty.keymanager.password=icecream
-PROP|jetty.truststore=etc/keystore
-PROP|jetty.truststore.password=sundae
+PROP|jetty.http.port=9090
 PROP|java.version=1.7.0_60
-PROP|ssl.port=8443
-PROP|ssl.timeout=30000
+PROP|jetty.sslConfig.keyStorePath=etc/keystore
+PROP|jetty.sslConfig.keyStorePassword=friendly
+PROP|jetty.sslConfig.keyManagerPassword=icecream
+PROP|jetty.sslConfig.trustStorePath=etc/keystore
+PROP|jetty.sslConfig.trustStorePassword=sundae
 # (these are the ones set by default from jetty.home modules)
-PROP|http.timeout=30000
-PROP|jetty.delayDispatchUntilContent=false
-PROP|jetty.dump.start=false
-PROP|jetty.dump.stop=false
-PROP|jetty.output.buffer.size=32768
-PROP|jetty.request.header.size=8192
-PROP|jetty.response.header.size=8192
-PROP|jetty.send.date.header=false
-PROP|jetty.send.server.version=true
-PROP|threads.max=200
-PROP|threads.min=10
-PROP|threads.timeout=60000
-
+PROP|jetty.alpn.debug=false
+# PROP|jetty.httpConfig.securePort=8443
+# PROP|jetty.ssl.port=8443
+# PROP|jetty.ssl.idleTimeout=30000
+# PROP|jetty.http.idleTimeout=30000
+# PROP|jetty.httpConfig.delayDispatchUntilContent=false
+# PROP|jetty.server.dumpAfterStart=false
+# PROP|jetty.server.dumpBeforeStop=false
+# PROP|jetty.httpConfig.outputBufferSize=32768
+# PROP|jetty.httpConfig.requestHeaderSize=8192
+# PROP|jetty.httpConfig.responseHeaderSize=8192
+# PROP|jetty.httpConfig.sendDateHeader=false
+# PROP|jetty.httpConfig.sendServerVersion=true
+# PROP|jetty.threadPool.maxThreads=200
+# PROP|jetty.threadPool.minThreads=10
+# PROP|jetty.threadPool.idleTimeout=60000
 
 # The Downloads
 DOWNLOAD|maven://org.mortbay.jetty.alpn/alpn-boot/7.1.0.v20141016|lib/alpn/alpn-boot-7.1.0.v20141016.jar
@@ -58,4 +58,3 @@
 # The Files
 FILE|lib/
 FILE|lib/alpn/
-
diff --git a/jetty-start/src/test/resources/usecases/http2/start.ini b/jetty-start/src/test/resources/usecases/http2/start.ini
index 5faab28..efd5630 100644
--- a/jetty-start/src/test/resources/usecases/http2/start.ini
+++ b/jetty-start/src/test/resources/usecases/http2/start.ini
@@ -1,12 +1,12 @@
 
 --module=server,http,jmx,http2
 
-jetty.port=9090
+jetty.http.port=9090
 
 # Some SSL keystore configuration
-jetty.keystore=etc/keystore
-jetty.keystore.password=friendly
-jetty.keymanager.password=icecream
-jetty.truststore=etc/keystore
-jetty.truststore.password=sundae
+jetty.sslConfig.keyStorePath=etc/keystore
+jetty.sslConfig.keyStorePassword=friendly
+jetty.sslConfig.keyManagerPassword=icecream
+jetty.sslConfig.trustStorePath=etc/keystore
+jetty.sslConfig.trustStorePassword=sundae
 
diff --git a/jetty-start/src/test/resources/usecases/include-jetty-dir-logging.assert.txt b/jetty-start/src/test/resources/usecases/include-jetty-dir-logging.assert.txt
index d238196..85453e8 100644
--- a/jetty-start/src/test/resources/usecases/include-jetty-dir-logging.assert.txt
+++ b/jetty-start/src/test/resources/usecases/include-jetty-dir-logging.assert.txt
@@ -18,20 +18,20 @@
 
 # The Properties we expect (order is irrelevant)
 # (this is the property we actually set in jetty.base)
-PROP|jetty.port=9090
+PROP|jetty.http.port=9090
 # (these are the ones set by default from jetty.home modules)
-PROP|http.timeout=30000
-PROP|jetty.delayDispatchUntilContent=false
-PROP|jetty.dump.start=false
-PROP|jetty.dump.stop=false
-PROP|jetty.output.buffer.size=32768
-PROP|jetty.request.header.size=8192
-PROP|jetty.response.header.size=8192
-PROP|jetty.send.date.header=false
-PROP|jetty.send.server.version=true
-PROP|threads.max=200
-PROP|threads.min=10
-PROP|threads.timeout=60000
+# PROP|jetty.http.idleTimeout=30000
+# PROP|jetty.httpConfig.delayDispatchUntilContent=false
+# PROP|jetty.server.dumpAfterStart=false
+# PROP|jetty.server.dumpBeforeStop=false
+# PROP|jetty.httpConfig.outputBufferSize=32768
+# PROP|jetty.httpConfig.requestHeaderSize=8192
+# PROP|jetty.httpConfig.responseHeaderSize=8192
+# PROP|jetty.httpConfig.sendDateHeader=false
+# PROP|jetty.httpConfig.sendServerVersion=true
+# PROP|jetty.threadPool.maxThreads=200
+# PROP|jetty.threadPool.minThreads=10
+# PROP|jetty.threadPool.idleTimeout=60000
 
 # Files
 FILE|logs/
diff --git a/jetty-start/src/test/resources/usecases/include-jetty-dir-logging/start.ini b/jetty-start/src/test/resources/usecases/include-jetty-dir-logging/start.ini
index ce3bff2..d44a453 100644
--- a/jetty-start/src/test/resources/usecases/include-jetty-dir-logging/start.ini
+++ b/jetty-start/src/test/resources/usecases/include-jetty-dir-logging/start.ini
@@ -3,4 +3,4 @@
 --module=server,http,jmx
 #--module=resources
 
-jetty.port=9090
+jetty.http.port=9090
diff --git a/jetty-start/src/test/resources/usecases/jmx.assert.txt b/jetty-start/src/test/resources/usecases/jmx.assert.txt
index 28dea2e..4bfc690 100644
--- a/jetty-start/src/test/resources/usecases/jmx.assert.txt
+++ b/jetty-start/src/test/resources/usecases/jmx.assert.txt
@@ -15,17 +15,17 @@
 
 # The Properties we expect (order is irrelevant)
 # (this is the property we actually set in jetty.base)
-PROP|jetty.port=9090
+PROP|jetty.http.port=9090
 # (these are the ones set by default from jetty.home modules)
-PROP|http.timeout=30000
-PROP|jetty.delayDispatchUntilContent=false
-PROP|jetty.dump.start=false
-PROP|jetty.dump.stop=false
-PROP|jetty.output.buffer.size=32768
-PROP|jetty.request.header.size=8192
-PROP|jetty.response.header.size=8192
-PROP|jetty.send.date.header=false
-PROP|jetty.send.server.version=true
-PROP|threads.max=200
-PROP|threads.min=10
-PROP|threads.timeout=60000
+# PROP|jetty.http.idleTimeout=30000
+# PROP|jetty.httpConfig.delayDispatchUntilContent=false
+# PROP|jetty.server.dumpAfterStart=false
+# PROP|jetty.server.dumpBeforeStop=false
+# PROP|jetty.httpConfig.outputBufferSize=32768
+# PROP|jetty.httpConfig.requestHeaderSize=8192
+# PROP|jetty.httpConfig.responseHeaderSize=8192
+# PROP|jetty.httpConfig.sendDateHeader=false
+# PROP|jetty.httpConfig.sendServerVersion=true
+# PROP|jetty.threadPool.maxThreads=200
+# PROP|jetty.threadPool.minThreads=10
+# PROP|jetty.threadPool.idleTimeout=60000
diff --git a/jetty-start/src/test/resources/usecases/jmx/start.ini b/jetty-start/src/test/resources/usecases/jmx/start.ini
index d3950e6..5339629 100644
--- a/jetty-start/src/test/resources/usecases/jmx/start.ini
+++ b/jetty-start/src/test/resources/usecases/jmx/start.ini
@@ -1,4 +1,4 @@
 
 --module=server,http,jmx
 
-jetty.port=9090
+jetty.http.port=9090
diff --git a/jetty-start/src/test/resources/usecases/jsp.assert.txt b/jetty-start/src/test/resources/usecases/jsp.assert.txt
index 533a51f..cf6d3a4 100644
--- a/jetty-start/src/test/resources/usecases/jsp.assert.txt
+++ b/jetty-start/src/test/resources/usecases/jsp.assert.txt
@@ -30,20 +30,20 @@
 
 # The Properties we expect (order is irrelevant)
 # (these are the properties we actually set in the configuration)
-PROP|jetty.port=9090
+PROP|jetty.http.port=9090
 # (these are the ones set by default from jetty.home modules)
-PROP|http.timeout=30000
-PROP|jetty.delayDispatchUntilContent=false
-PROP|jetty.dump.start=false
-PROP|jetty.dump.stop=false
-PROP|jetty.output.buffer.size=32768
-PROP|jetty.request.header.size=8192
-PROP|jetty.response.header.size=8192
-PROP|jetty.send.date.header=false
-PROP|jetty.send.server.version=true
-PROP|threads.max=200
-PROP|threads.min=10
-PROP|threads.timeout=60000
+# PROP|jetty.http.idleTimeout=30000
+# PROP|jetty.httpConfig.delayDispatchUntilContent=false
+# PROP|jetty.server.dumpAfterStart=false
+# PROP|jetty.server.dumpBeforeStop=false
+# PROP|jetty.httpConfig.outputBufferSize=32768
+# PROP|jetty.httpConfig.requestHeaderSize=8192
+# PROP|jetty.httpConfig.responseHeaderSize=8192
+# PROP|jetty.httpConfig.sendDateHeader=false
+# PROP|jetty.httpConfig.sendServerVersion=true
+# PROP|jetty.threadPool.maxThreads=200
+# PROP|jetty.threadPool.minThreads=10
+# PROP|jetty.threadPool.idleTimeout=60000
 
 # Files / Directories to create
 # FILE|lib/
diff --git a/jetty-start/src/test/resources/usecases/jsp/start.ini b/jetty-start/src/test/resources/usecases/jsp/start.ini
index bf58fa8..f01871c 100644
--- a/jetty-start/src/test/resources/usecases/jsp/start.ini
+++ b/jetty-start/src/test/resources/usecases/jsp/start.ini
@@ -3,4 +3,4 @@
 --module=http
 --module=jsp
 
-jetty.port=9090
+jetty.http.port=9090
diff --git a/jetty-start/src/test/resources/usecases/logging.assert.txt b/jetty-start/src/test/resources/usecases/logging.assert.txt
index ce72b68..4b5df4c 100644
--- a/jetty-start/src/test/resources/usecases/logging.assert.txt
+++ b/jetty-start/src/test/resources/usecases/logging.assert.txt
@@ -18,20 +18,21 @@
 
 # The Properties we expect (order is irrelevant)
 # (this is the property we actually set in jetty.base)
-PROP|jetty.port=9090
+PROP|jetty.http.port=9090
 # (these are the ones set by default from jetty.home modules)
-PROP|http.timeout=30000
-PROP|jetty.delayDispatchUntilContent=false
-PROP|jetty.dump.start=false
-PROP|jetty.dump.stop=false
-PROP|jetty.output.buffer.size=32768
-PROP|jetty.request.header.size=8192
-PROP|jetty.response.header.size=8192
-PROP|jetty.send.date.header=false
-PROP|jetty.send.server.version=true
-PROP|threads.max=200
-PROP|threads.min=10
-PROP|threads.timeout=60000
+# PROP|jetty.http.idleTimeout=30000
+# PROP|jetty.httpConfig.delayDispatchUntilContent=false
+# PROP|jetty.server.dumpAfterStart=false
+# PROP|jetty.server.dumpBeforeStop=false
+# PROP|jetty.httpConfig.outputBufferSize=32768
+# PROP|jetty.httpConfig.requestHeaderSize=8192
+# PROP|jetty.httpConfig.responseHeaderSize=8192
+# PROP|jetty.httpConfig.sendDateHeader=false
+# PROP|jetty.httpConfig.sendServerVersion=true
+# PROP|jetty.threadPool.maxThreads=200
+# PROP|jetty.threadPool.minThreads=10
+# PROP|jetty.threadPool.idleTimeout=60000
+
 # Other File References
 FILE|logs/
 FILE|resources/
diff --git a/jetty-start/src/test/resources/usecases/logging/start.ini b/jetty-start/src/test/resources/usecases/logging/start.ini
index e18ff3d..083675e 100644
--- a/jetty-start/src/test/resources/usecases/logging/start.ini
+++ b/jetty-start/src/test/resources/usecases/logging/start.ini
@@ -4,4 +4,4 @@
 --module=logging
 --module=resources
 
-jetty.port=9090
+jetty.http.port=9090
diff --git a/jetty-util/src/main/config/etc/jetty-logging.xml b/jetty-util/src/main/config/etc/jetty-logging.xml
index 52589ee..3f3e72b 100644
--- a/jetty-util/src/main/config/etc/jetty-logging.xml
+++ b/jetty-util/src/main/config/etc/jetty-logging.xml
@@ -1,7 +1,6 @@
 <?xml version="1.0"?>
 <!DOCTYPE Configure PUBLIC "-//Jetty//Configure//EN" "http://www.eclipse.org/jetty/configure_9_0.dtd">
 
-
 <!-- =============================================================== -->
 <!-- Configure stderr and stdout to a Jetty rollover log file        -->
 <!-- this configuration file should be used in combination with      -->
@@ -13,10 +12,12 @@
     <New id="ServerLog" class="java.io.PrintStream">
       <Arg>
         <New class="org.eclipse.jetty.util.RolloverFileOutputStream">
-          <Arg><Property name="jetty.logs" default="./logs"/>/yyyy_mm_dd.stderrout.log</Arg>
-          <Arg type="boolean">false</Arg>
-          <Arg type="int">90</Arg>
-          <Arg><Call class="java.util.TimeZone" name="getTimeZone"><Arg>GMT</Arg></Call></Arg>
+          <Arg><Property name="jetty.logging.dir,jetty.logs" default="./logs"/>/yyyy_mm_dd.stderrout.log</Arg>
+          <Arg type="boolean"><Property name="jetty.logging.append" default="false"/></Arg>
+          <Arg type="int"><Property name="jetty.logging.retainDays" default="90"/></Arg>
+          <Arg>
+              <Call class="java.util.TimeZone" name="getTimeZone"><Arg><Property name="jetty.logging.timezone" default="GMT"/></Arg></Call>
+          </Arg>
           <Get id="ServerLogName" name="datedFilename"/>
         </New>
       </Arg>
diff --git a/jetty-util/src/main/config/modules/logging.mod b/jetty-util/src/main/config/modules/logging.mod
index a39bfe4..1fe6762 100644
--- a/jetty-util/src/main/config/modules/logging.mod
+++ b/jetty-util/src/main/config/modules/logging.mod
@@ -23,9 +23,14 @@
 # Configure jetty logging for java.util.logging
 # -Dorg.eclipse.jetty.util.log.class=org.eclipse.jetty.util.log.JavaUtilLog
 
-# STDERR / STDOUT Logging
-# Number of days to retain logs
-# jetty.log.retain=90
-# Directory for logging output
-# Either a path relative to ${jetty.base} or an absolute path
-# jetty.logs=logs
+## Logging directory (relative to jetty.base)
+# jetty.logging.dir=logs
+
+## Whether to append to existing file
+# jetty.logging.append=false
+
+## How many days to retain old log files
+# jetty.logging.retainDays=90
+
+## Timezone of the log timestamps
+# jetty.logging.timezone=GMT
diff --git a/jetty-xml/src/test/resources/org/eclipse/jetty/xml/mortbay.xml b/jetty-xml/src/test/resources/org/eclipse/jetty/xml/mortbay.xml
index e1c1808..08e75df 100644
--- a/jetty-xml/src/test/resources/org/eclipse/jetty/xml/mortbay.xml
+++ b/jetty-xml/src/test/resources/org/eclipse/jetty/xml/mortbay.xml
@@ -1,4 +1,4 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE Configure PUBLIC "-//Mort Bay Consulting//DTD Configure//EN" "http://jetty.mortbay.org/configure.dtd">
+<!DOCTYPE Configure PUBLIC "-//Mort Bay Consulting//DTD Configure//EN" "http://jetty.mortbay.org/configure_9_0.dtd">
 <Configure class="java.lang.Object">
 </Configure>
diff --git a/tests/test-integration/src/test/java/org/eclipse/jetty/test/support/JettyDistro.java b/tests/test-integration/src/test/java/org/eclipse/jetty/test/support/JettyDistro.java
index 56e2884..474254d 100644
--- a/tests/test-integration/src/test/java/org/eclipse/jetty/test/support/JettyDistro.java
+++ b/tests/test-integration/src/test/java/org/eclipse/jetty/test/support/JettyDistro.java
@@ -525,7 +525,7 @@
         // Do a dry run first to get the exact command line for Jetty process
         commands.add("-jar");
         commands.add("start.jar");
-        commands.add("jetty.port=0");
+        commands.add("jetty.http.port=0");
         if (_debug)
         {
             commands.add("-D.DEBUG=true");
diff --git a/tests/test-integration/src/test/resources/BIOHttp.xml b/tests/test-integration/src/test/resources/BIOHttp.xml
index 1afdbe5..6702f2d 100644
--- a/tests/test-integration/src/test/resources/BIOHttp.xml
+++ b/tests/test-integration/src/test/resources/BIOHttp.xml
@@ -10,7 +10,7 @@
     <Call name="addConnector">
       <Arg>
           <New class="org.eclipse.jetty.server.bio.SocketConnector">
-            <Set name="host"><SystemProperty name="jetty.host" /></Set>
+            <Set name="host"><SystemProperty name="jetty.http.host" /></Set>
             <Set name="idleTimeout">300000</Set>
             <Set name="Acceptors">2</Set>
             <Set name="statsOn">false</Set>
diff --git a/tests/test-integration/src/test/resources/BIOHttps.xml b/tests/test-integration/src/test/resources/BIOHttps.xml
index 7a8f2f8..d9f94b7 100644
--- a/tests/test-integration/src/test/resources/BIOHttps.xml
+++ b/tests/test-integration/src/test/resources/BIOHttps.xml
@@ -10,7 +10,7 @@
     <Call name="addConnector">
       <Arg>
           <New class="org.eclipse.jetty.server.ssl.SslSocketConnector">
-            <Set name="host"><SystemProperty name="jetty.host" /></Set>
+            <Set name="host"><SystemProperty name="jetty.http.host" /></Set>
             <Set name="idleTimeout">300000</Set>
             <Set name="Acceptors">2</Set>
             <Set name="statsOn">false</Set>
diff --git a/tests/test-integration/src/test/resources/NIOHttp.xml b/tests/test-integration/src/test/resources/NIOHttp.xml
index 648c945..a140c17 100644
--- a/tests/test-integration/src/test/resources/NIOHttp.xml
+++ b/tests/test-integration/src/test/resources/NIOHttp.xml
@@ -20,8 +20,8 @@
             </Item>
           </Array>
         </Arg>
-        <Set name="host"><Property name="jetty.host" /></Set>
-        <Set name="idleTimeout"><Property name="http.timeout" default="30000"/></Set>
+        <Set name="host"><Property name="jetty.http.host" /></Set>
+        <Set name="idleTimeout"><Property name="jetty.http.idleTimeout" default="30000"/></Set>
       </New>
     </Arg>
   </Call>
diff --git a/tests/test-integration/src/test/resources/NIOHttps.xml b/tests/test-integration/src/test/resources/NIOHttps.xml
index d80f1da..cef54b5 100644
--- a/tests/test-integration/src/test/resources/NIOHttps.xml
+++ b/tests/test-integration/src/test/resources/NIOHttps.xml
@@ -25,7 +25,7 @@
               </Item>
             </Array>
           </Arg>
-          <Set name="host"><Property name="jetty.host" /></Set>
+          <Set name="host"><Property name="jetty.http.host" /></Set>
           <Set name="idleTimeout">30000</Set>
         </New>
     </Arg>
diff --git a/tests/test-integration/src/test/resources/ssl.xml b/tests/test-integration/src/test/resources/ssl.xml
index 84de070..25ed42c 100644
--- a/tests/test-integration/src/test/resources/ssl.xml
+++ b/tests/test-integration/src/test/resources/ssl.xml
@@ -1,9 +1,9 @@
 <Configure id="sslContextFactory" class="org.eclipse.jetty.util.ssl.SslContextFactory">
-  <Set name="KeyStorePath"><Property name="jetty.home" default="." />/<Property name="jetty.keystore" default="keystore"/></Set>
-  <Set name="KeyStorePassword"><Property name="jetty.keystore.password" default="OBF:1vny1zlo1x8e1vnw1vn61x8g1zlu1vn4"/></Set>
-  <Set name="KeyManagerPassword"><Property name="jetty.keymanager.password" default="OBF:1u2u1wml1z7s1z7a1wnl1u2g"/></Set>
-  <Set name="TrustStorePath"><Property name="jetty.home" default="." />/<Property name="jetty.truststore" default="keystore"/></Set>
-  <Set name="TrustStorePassword"><Property name="jetty.truststore.password" default="OBF:1vny1zlo1x8e1vnw1vn61x8g1zlu1vn4"/></Set>
+  <Set name="KeyStorePath"><Property name="jetty.home" default="." />/<Property name="jetty.sslConfig.keyStorePath" default="keystore"/></Set>
+  <Set name="KeyStorePassword"><Property name="jetty.sslConfig.keyStorePassword" default="OBF:1vny1zlo1x8e1vnw1vn61x8g1zlu1vn4"/></Set>
+  <Set name="KeyManagerPassword"><Property name="jetty.sslConfig.keyManagerPassword" default="OBF:1u2u1wml1z7s1z7a1wnl1u2g"/></Set>
+  <Set name="TrustStorePath"><Property name="jetty.home" default="." />/<Property name="jetty.sslConfig.trustStorePath" default="keystore"/></Set>
+  <Set name="TrustStorePassword"><Property name="jetty.sslConfig.trustStorePassword" default="OBF:1vny1zlo1x8e1vnw1vn61x8g1zlu1vn4"/></Set>
   <Set name="EndpointIdentificationAlgorithm"></Set>
   <Set name="ExcludeCipherSuites">
     <Array type="String">
diff --git a/tests/test-jmx/jmx-webapp-it/src/test/scripts/start-jetty.sh b/tests/test-jmx/jmx-webapp-it/src/test/scripts/start-jetty.sh
index 1d0f9eb..ea7843b 100755
--- a/tests/test-jmx/jmx-webapp-it/src/test/scripts/start-jetty.sh
+++ b/tests/test-jmx/jmx-webapp-it/src/test/scripts/start-jetty.sh
@@ -11,7 +11,7 @@
 cd "$JETTY_BASE"
 
 "$JAVA_HOME/bin/java" -jar "$JETTY_HOME/start.jar" \
-    jetty.port=58080 \
+    jetty.http.port=58080 \
     STOP.PORT=58181 STOP.KEY=it
 
 
diff --git a/tests/test-webapps/test-jetty-webapp/src/main/config/demo-base/etc/test-realm.xml b/tests/test-webapps/test-jetty-webapp/src/main/config/demo-base/etc/test-realm.xml
index d5c776b..f5f32e1 100644
--- a/tests/test-webapps/test-jetty-webapp/src/main/config/demo-base/etc/test-realm.xml
+++ b/tests/test-webapps/test-jetty-webapp/src/main/config/demo-base/etc/test-realm.xml
@@ -12,7 +12,7 @@
       <Arg>
         <New class="org.eclipse.jetty.security.HashLoginService">
           <Set name="name">Test Realm</Set>
-          <Set name="config"><Property name="demo.realm" default="etc/realm.properties"/></Set>
+          <Set name="config"><Property name="jetty.demo.realm" default="etc/realm.properties"/></Set>
           <Set name="refreshInterval">0</Set>
         </New>
       </Arg>
diff --git a/tests/test-webapps/test-jetty-webapp/src/main/config/demo-base/start.ini b/tests/test-webapps/test-jetty-webapp/src/main/config/demo-base/start.ini
index 9a840f4..5921b61 100644
--- a/tests/test-webapps/test-jetty-webapp/src/main/config/demo-base/start.ini
+++ b/tests/test-webapps/test-jetty-webapp/src/main/config/demo-base/start.ini
@@ -6,7 +6,7 @@
 
 # Enable security via jaas, and configure it
 --module=jaas
-jaas.login.conf=etc/login.conf
+jetty.jaas.login.conf=etc/login.conf
 
 # Enable rewrite examples
 --module=rewrite
@@ -19,5 +19,5 @@
 
 # Create and configure the test realm
 etc/test-realm.xml
-demo.realm=etc/realm.properties
+jetty.demo.realm=etc/realm.properties
 
