[java-idp-example-jetty-base] 02/04: Add jetty-base copied from idp-distribution.

Tom Zeller tzeller at dragonacea.biz
Mon May 23 16:13:49 EDT 2016


This is an automated email from the git hooks/post-receive script.

tzeller pushed a commit to branch 9.2
in repository java-idp-example-jetty-base.

commit b7263209b10384906170bbbdb6982bf32a1942e8
Author: Tom Zeller <tzeller at dragonacea.biz>
AuthorDate: Mon May 23 12:44:10 2016 -0500

    Add jetty-base copied from idp-distribution.
---
 src/main/resources/jetty-base/etc/jetty-deploy.xml |  61 +++
 .../resources/jetty-base/etc/jetty-requestlog.xml  |  24 +
 src/main/resources/jetty-base/etc/jetty.xml        | 343 +++++++++++++
 src/main/resources/jetty-base/etc/webdefault.xml   | 534 +++++++++++++++++++++
 .../jetty-base/resources/logback-access.xml        |  14 +
 .../resources/jetty-base/resources/logback.xml     |  21 +
 src/main/resources/jetty-base/start.d/idp.ini      |  49 ++
 src/main/resources/jetty-base/start.d/jsp.ini      |  15 +
 src/main/resources/jetty-base/start.d/jstl.ini     |   9 +
 src/main/resources/jetty-base/start.ini            | 125 +++++
 src/main/resources/jetty-base/webapps/idp.xml      |  38 ++
 src/main/resources/jetty-base/webapps/static.xml   |  17 +
 12 files changed, 1250 insertions(+)

diff --git a/src/main/resources/jetty-base/etc/jetty-deploy.xml b/src/main/resources/jetty-base/etc/jetty-deploy.xml
new file mode 100644
index 0000000..0d3109c
--- /dev/null
+++ b/src/main/resources/jetty-base/etc/jetty-deploy.xml
@@ -0,0 +1,61 @@
+<?xml version="1.0"?>
+<!DOCTYPE Configure PUBLIC "-//Jetty//Configure//EN" "http://www.eclipse.org/jetty/configure_9_0.dtd">
+
+<!-- =============================================================== -->
+<!-- Create the deployment manager                                   -->
+<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
+<!-- The deployment manager handles the lifecycle of deploying web    -->
+<!-- applications. Apps are provided by instances of the             -->
+<!-- AppProvider interface.                                          -->
+<!-- =============================================================== -->
+<Configure id="Server" class="org.eclipse.jetty.server.Server">
+
+  <Call name="addBean">
+    <Arg>
+      <New id="DeploymentManager" class="org.eclipse.jetty.deploy.DeploymentManager">
+        <Set name="contexts">
+          <Ref refid="Contexts" />
+        </Set>
+        <Call name="setContextAttribute">
+          <Arg>org.eclipse.jetty.server.webapp.ContainerIncludeJarPattern</Arg>
+          <Arg>.*/[^/]*servlet-api-[^/]*\.jar$|.*/javax.servlet.jsp.jstl-.*\.jar$|.*/org.apache.taglibs.taglibs-standard-impl-.*\.jar$</Arg>
+        </Call>
+
+        <!-- Add a customize step to the deployment lifecycle -->
+        <!-- uncomment and replace DebugBinding with your extended AppLifeCycle.Binding class
+        <Call name="insertLifeCycleNode">
+          <Arg>deployed</Arg>
+          <Arg>starting</Arg>
+          <Arg>customise</Arg>
+        </Call>
+        <Call name="addLifeCycleBinding">
+          <Arg>
+            <New class="org.eclipse.jetty.deploy.bindings.DebugBinding">
+              <Arg>customise</Arg>
+            </New>
+          </Arg>
+        </Call> -->
+
+        <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="defaultsDescriptor"><Property name="jetty.base" default="." />/etc/webdefault.xml</Set>
+              <Set name="scanInterval">1</Set>
+              <Set name="extractWars">false</Set>
+              <Set name="configurationManager">
+                <New class="org.eclipse.jetty.deploy.PropertiesConfigurationManager">
+                  <!-- file of context configuration properties -->
+                  <Set name="file"><Property name="jetty.base"/>/start.d/idp.ini</Set>
+                  <!-- set a context configuration property
+                  <Call name="put"><Arg>name</Arg><Arg>value</Arg></Call>
+                  -->
+                </New>
+              </Set>
+            </New>
+          </Arg>
+        </Call>
+      </New>
+    </Arg>
+  </Call>
+</Configure>
diff --git a/src/main/resources/jetty-base/etc/jetty-requestlog.xml b/src/main/resources/jetty-base/etc/jetty-requestlog.xml
new file mode 100644
index 0000000..acbe6f7
--- /dev/null
+++ b/src/main/resources/jetty-base/etc/jetty-requestlog.xml
@@ -0,0 +1,24 @@
+<?xml version="1.0"?>
+<!DOCTYPE Configure PUBLIC "-//Jetty//Configure//EN" "http://www.eclipse.org/jetty/configure_9_0.dtd">
+ 
+<!-- =============================================================== -->
+<!-- Configure the Jetty Request Log                                 -->
+<!-- =============================================================== -->
+<Configure id="Server" class="org.eclipse.jetty.server.Server">
+  <!-- =========================================================== -->
+  <!-- Configure Request Log -->
+  <!-- =========================================================== -->
+  <Ref refid="Handlers">
+    <Call name="addHandler">
+      <Arg>
+        <New id="RequestLog" class="org.eclipse.jetty.server.handler.RequestLogHandler">
+          <Set name="requestLog">
+            <New id="RequestLogImpl" class="ch.qos.logback.access.jetty.RequestLogImpl">
+              <Set name="fileName"><Property name="jetty.base" default="." />/resources/logback-access.xml</Set>
+            </New>
+          </Set>
+        </New>
+      </Arg>
+    </Call>
+  </Ref>
+</Configure>
diff --git a/src/main/resources/jetty-base/etc/jetty.xml b/src/main/resources/jetty-base/etc/jetty.xml
new file mode 100644
index 0000000..c8d45d3
--- /dev/null
+++ b/src/main/resources/jetty-base/etc/jetty.xml
@@ -0,0 +1,343 @@
+<?xml version="1.0"?>
+<!DOCTYPE Configure PUBLIC "-//Jetty//Configure//EN" "http://www.eclipse.org/jetty/configure_9_0.dtd">
+<!-- 
+    NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE
+    
+    Automated install on Windows will overwrite this file.  If you edit
+    this file you will lose your changes on each upgrade.
+    
+    If you need to change this file you need to manage your container
+    yourself and not rely on the windows installer to upgrade your
+    system.
+    
+    If you believe that your change is generally useful, please submit
+    an RFI at https://issues.shibboleth.net/ 
+
+ -->
+<!-- =============================================================== -->
+<!-- Documentation of this file format can be found at:              -->
+<!-- http://wiki.eclipse.org/Jetty/Reference/jetty.xml_syntax        -->
+<!--                                                                 -->
+<!-- Additional configuration files are available in $JETTY_HOME/etc -->
+<!-- and can be mixed in. See start.ini file for the default         -->
+<!-- configuration files.                                            -->
+<!--                                                                 -->
+<!-- For a description of the configuration mechanism, see the       -->
+<!-- output of:                                                      -->
+<!--   java -jar start.jar -?                                        -->
+<!-- =============================================================== -->
+
+<!-- =============================================================== -->
+<!-- Configure a Jetty Server instance with an ID "Server"           -->
+<!-- Other configuration files may also configure the "Server"       -->
+<!-- ID, in which case they are adding configuration to the same     -->
+<!-- instance.  If other configuration have a different ID, they     -->
+<!-- will create and configure another instance of Jetty.            -->
+<!-- Consult the javadoc of o.e.j.server.Server for all              -->
+<!-- configuration that may be set here.                             -->
+<!-- =============================================================== -->
+<Configure id="Server" class="org.eclipse.jetty.server.Server">
+
+    <!-- =========================================================== -->
+    <!-- Configure the Server Thread Pool.                           -->
+    <!-- The server holds a common thread pool which is used by      -->
+    <!-- default as the executor used by all connectors and servlet  -->
+    <!-- dispatches.                                                 -->
+    <!--                                                             -->
+    <!-- Configuring a fixed thread pool is vital to controlling the -->
+    <!-- maximal memory footprint of the server and is a key tuning  -->
+    <!-- parameter for tuning.  In an application that rarely blocks -->
+    <!-- then maximal threads may be close to the number of 5*CPUs.  -->
+    <!-- In an application that frequently blocks, then maximal      -->
+    <!-- threads should be set as high as possible given the memory  -->
+    <!-- available.                                                  -->
+    <!--                                                             -->
+    <!-- Consult the javadoc of o.e.j.util.thread.QueuedThreadPool   -->
+    <!-- for all configuration that may be set here.                 -->
+    <!-- =========================================================== -->
+    <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="detailedDump">false</Set>
+    </Get>
+
+    <!-- =========================================================== -->
+    <!-- Add shared Scheduler instance                               -->
+    <!-- =========================================================== -->
+    <Call name="addBean">
+      <Arg>
+        <New class="org.eclipse.jetty.util.thread.ScheduledExecutorScheduler" />
+      </Arg>
+    </Call>
+
+    <!-- =========================================================== -->
+    <!-- Http Configuration.                                         -->
+    <!-- This is a common configuration instance used by all         -->
+    <!-- connectors that can carry HTTP semantics (HTTP, HTTPS, SPDY)-->
+    <!-- It configures the non wire protocol aspects of the HTTP     -->
+    <!-- semantic.                                                   -->
+    <!--                                                             -->
+    <!-- Consult the javadoc of o.e.j.server.HttpConfiguration       -->
+    <!-- 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="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>
+      <!-- Uncomment to enable handling of X-Forwarded- style headers
+      <Call name="addCustomizer">
+        <Arg><New class="org.eclipse.jetty.server.ForwardedRequestCustomizer"/></Arg>
+      </Call>
+      -->
+    </New>
+
+
+    <!-- =========================================================== -->
+    <!-- Add a HTTP Connector.                                       -->
+    <!-- Configure an o.e.j.server.ServerConnector with a single     -->
+    <!-- HttpConnectionFactory instance using the common httpConfig  -->
+    <!-- instance defined in jetty.xml                               -->
+    <!--                                                             -->
+    <!-- Consult the javadoc of o.e.j.server.ServerConnector and     -->
+    <!-- o.e.j.server.HttpConnectionFactory for all configuration    -->
+    <!-- that may be set here.                                       -->
+    <!-- =========================================================== -->
+
+    <Call name="addConnector">
+      <Arg>
+        <New class="org.eclipse.jetty.server.ServerConnector">
+          <Arg name="server"><Ref refid="Server" /></Arg>
+          <Arg name="factories">
+            <Array type="org.eclipse.jetty.server.ConnectionFactory">
+              <Item>
+                <New class="org.eclipse.jetty.server.HttpConnectionFactory">
+                  <Arg name="config"><Ref refid="httpConfig" /></Arg>
+                </New>
+              </Item>
+            </Array>
+          </Arg>
+          <Set name="host"><Property name="jetty.nonhttps.host" default="localhost" /></Set>
+          <Set name="port"><Property name="jetty.nonhttps.port" default="8080" /></Set>
+          <Set name="idleTimeout"><Property name="http.timeout" default="30000" /></Set>
+          <Set name="soLingerTime"><Property name="http.soLingerTime" default="-1"/></Set>
+        </New>
+      </Arg>
+    </Call>
+
+    <!-- ============================================================= -->
+    <!-- Configure a TLS (SSL) Context Factory                         -->
+    <!-- ============================================================= -->
+    <New id="sslContextFactory" class="org.eclipse.jetty.util.ssl.SslContextFactory">
+      <Set name="KeyStorePath"><Property name="jetty.browser.keystore.path" /></Set>
+      <Set name="KeyStoreType"><Property name="jetty.browser.keystore.type" /></Set>
+      <Set name="KeyStorePassword"><Property name="jetty.browser.keystore.password" /></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="excludeProtocols">
+        <Array type="String">
+          <Item>SSLv3</Item>
+        </Array>
+     </Set>
+      <Set name="IncludeCipherSuites">
+        <Array type="String">
+          <Item>TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256</Item>
+          <Item>TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384</Item>
+
+          <Item>TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256</Item>
+          <Item>TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384</Item>
+
+          <Item>TLS_RSA_WITH_AES_128_GCM_SHA256</Item>
+          <Item>TLS_RSA_WITH_AES_256_GCM_SHA384</Item>
+
+          <Item>TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256</Item>
+          <Item>TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384</Item>
+          <Item>TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA</Item>
+          <Item>TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA</Item>
+          <Item>TLS_ECDHE_ECDSA_WITH_3DES_EDE_CBC_SHA</Item>
+
+          <Item>TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256</Item>
+          <Item>TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384</Item>
+          <Item>TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA</Item>
+          <Item>TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA</Item>
+          <Item>TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA</Item>
+
+          <Item>TLS_RSA_WITH_AES_128_CBC_SHA256</Item>
+          <Item>TLS_RSA_WITH_AES_128_CBC_SHA</Item>
+          <Item>TLS_RSA_WITH_AES_256_CBC_SHA</Item>
+          <Item>SSL_RSA_WITH_3DES_EDE_CBC_SHA</Item>
+        </Array>
+      </Set>
+    </New>
+
+    <!-- ============================================================= -->
+    <!-- Configure a No-Validation TLS (SSL) Context Factory           -->
+    <!-- ============================================================= -->
+    <New id="shibContextFactory" class="net.shibboleth.utilities.jetty9.DelegateToApplicationSslContextFactory">
+      <Set name="KeyStorePath"><Property name="jetty.backchannel.keystore.path" /></Set>
+      <Set name="KeyStoreType"><Property name="jetty.backchannel.keystore.type" /></Set>
+      <Set name="KeyStorePassword"><Property name="jetty.backchannel.keystore.password" /></Set>
+      <Set name="EndpointIdentificationAlgorithm"></Set>
+      <Set name="excludeProtocols">
+        <Array type="String">
+          <Item>SSLv3</Item>
+        </Array>
+     </Set>
+      <Set name="IncludeCipherSuites">
+        <Array type="String">
+          <Item>TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256</Item>
+          <Item>TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384</Item>
+
+          <Item>TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256</Item>
+          <Item>TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384</Item>
+
+          <Item>TLS_RSA_WITH_AES_128_GCM_SHA256</Item>
+          <Item>TLS_RSA_WITH_AES_256_GCM_SHA384</Item>
+
+          <Item>TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256</Item>
+          <Item>TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384</Item>
+          <Item>TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA</Item>
+          <Item>TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA</Item>
+
+          <Item>TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256</Item>
+          <Item>TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384</Item>
+          <Item>TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA</Item>
+          <Item>TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA</Item>
+
+          <Item>TLS_RSA_WITH_AES_128_CBC_SHA256</Item>
+          <Item>TLS_RSA_WITH_AES_256_CBC_SHA384</Item>
+          <Item>TLS_RSA_WITH_AES_128_CBC_SHA</Item>
+          <Item>TLS_RSA_WITH_AES_256_CBC_SHA</Item>
+        </Array>
+      </Set>
+    </New>
+
+    <!-- =========================================================== -->
+    <!-- Create a TLS specific HttpConfiguration based on the        -->
+    <!-- common HttpConfiguration defined in jetty.xml               -->
+    <!-- Add a SecureRequestCustomizer to extract certificate and    -->
+    <!-- session information                                         -->
+    <!-- =========================================================== -->
+    <New id="sslHttpConfig" class="org.eclipse.jetty.server.HttpConfiguration">
+      <Arg><Ref refid="httpConfig" /></Arg>
+      <Call name="addCustomizer">
+        <Arg><New class="org.eclipse.jetty.server.SecureRequestCustomizer" /></Arg>
+      </Call>
+    </New>
+
+    <!-- =========================================================== -->
+    <!-- Add a HTTPS Connector.                                      -->
+    <!-- Configure an o.e.j.server.ServerConnector with connection   -->
+    <!-- factories for TLS (aka SSL) and HTTP to provide HTTPS.      -->
+    <!-- All accepted TLS connections are wired to a HTTP connection.-->
+    <!--                                                             -->
+    <!-- Consult the javadoc of o.e.j.server.ServerConnector,        -->
+    <!-- o.e.j.server.SslConnectionFactory and                       -->
+    <!-- o.e.j.server.HttpConnectionFactory for all configuration    -->
+    <!-- that may be set here.                                       -->
+    <!-- =========================================================== -->
+    <Call id="httpsConnector" name="addConnector">
+      <Arg>
+        <New class="org.eclipse.jetty.server.ServerConnector">
+          <Arg name="server"><Ref refid="Server" /></Arg>
+          <Arg name="factories">
+            <Array type="org.eclipse.jetty.server.ConnectionFactory">
+              <Item>
+                <New class="org.eclipse.jetty.server.SslConnectionFactory">
+                  <Arg name="next">http/1.1</Arg>
+                  <Arg name="sslContextFactory"><Ref refid="sslContextFactory" /></Arg>
+                </New>
+              </Item>
+              <Item>
+                <New class="org.eclipse.jetty.server.HttpConnectionFactory">
+                  <Arg name="config"><Ref refid="sslHttpConfig" /></Arg>
+                </New>
+              </Item>
+            </Array>
+          </Arg>
+          <Set name="host"><Property name="jetty.host" default="localhost" /></Set>
+          <Set name="port"><Property name="jetty.https.port" default="8443" /></Set>
+          <Set name="idleTimeout"><Property name="https.timeout" default="30000"/></Set>
+          <Set name="soLingerTime"><Property name="https.soLingerTime" default="-1"/></Set>
+        </New>
+      </Arg>
+    </Call>
+
+    <!-- =========================================================== -->
+    <!-- Add a HTTPS Connector for SOAP                              -->
+    <!-- Configure an o.e.j.server.ServerConnector with connection   -->
+    <!-- factories for TLS (aka SSL) and HTTP to provide HTTPS.      -->
+    <!-- All accepted TLS connections are wired to a HTTP connection.-->
+    <!--                                                             -->
+    <!-- Consult the javadoc of o.e.j.server.ServerConnector,        -->
+    <!-- o.e.j.server.SslConnectionFactory and                       -->
+    <!-- o.e.j.server.HttpConnectionFactory for all configuration    -->
+    <!-- that may be set here.                                       -->
+    <!-- =========================================================== -->
+    <Call id="httpsSOAPConnector" name="addConnector">
+      <Arg>
+        <New class="org.eclipse.jetty.server.ServerConnector">
+          <Arg name="server"><Ref refid="Server" /></Arg>
+          <Arg name="factories">
+            <Array type="org.eclipse.jetty.server.ConnectionFactory">
+              <Item>
+                <New class="org.eclipse.jetty.server.SslConnectionFactory">
+                  <Arg name="next">http/1.1</Arg>
+                  <Arg name="sslContextFactory"><Ref refid="shibContextFactory" /></Arg>
+                </New>
+              </Item>
+              <Item>
+                <New class="org.eclipse.jetty.server.HttpConnectionFactory">
+                  <Arg name="config"><Ref refid="sslHttpConfig" /></Arg>
+                </New>
+              </Item>
+            </Array>
+          </Arg>
+          <Set name="host"><Property name="jetty.host" default="localhost" /></Set>
+          <Set name="port"><Property name="jetty.backchannel.port" default="9443" /></Set>
+          <Set name="idleTimeout">30000</Set>
+        </New>
+      </Arg>
+    </Call>
+
+    <!-- =========================================================== -->
+    <!-- Set the default handler structure for the Server            -->
+    <!-- A handler collection is used to pass received requests to   -->
+    <!-- both the ContextHandlerCollection, which selects the next   -->
+    <!-- handler by context path and virtual host, and the           -->
+    <!-- DefaultHandler, which handles any requests not handled by   -->
+    <!-- the context handlers.                                       -->
+    <!-- Other handlers may be added to the "Handlers" collection,   -->
+    <!-- for example the jetty-requestlog.xml file adds the          -->
+    <!-- RequestLogHandler after the default handler                 -->
+    <!-- =========================================================== -->
+    <Set name="handler">
+      <New id="Handlers" class="org.eclipse.jetty.server.handler.HandlerCollection">
+        <Set name="handlers">
+          <Array type="org.eclipse.jetty.server.Handler">
+            <Item>
+              <New id="Contexts" class="org.eclipse.jetty.server.handler.ContextHandlerCollection" />
+            </Item>
+            <Item>
+              <New id="DefaultHandler" class="org.eclipse.jetty.server.handler.DefaultHandler" />
+            </Item>
+          </Array>
+        </Set>
+      </New>
+    </Set>
+
+    <!-- =========================================================== -->
+    <!-- extra server options                                        -->
+    <!-- =========================================================== -->
+    <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>
+
+</Configure>
diff --git a/src/main/resources/jetty-base/etc/webdefault.xml b/src/main/resources/jetty-base/etc/webdefault.xml
new file mode 100644
index 0000000..947a6ed
--- /dev/null
+++ b/src/main/resources/jetty-base/etc/webdefault.xml
@@ -0,0 +1,534 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<web-app 
+   xmlns="http://xmlns.jcp.org/xml/ns/javaee" 
+   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+   xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
+   metadata-complete="false"
+   version="3.1"> 
+
+  <!-- ===================================================================== -->
+  <!-- This file contains the default descriptor for web applications.       -->
+  <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
+  <!-- The intent of this descriptor is to include jetty specific or common  -->
+  <!-- configuration for all webapps.   If a context has a webdefault.xml    -->
+  <!-- descriptor, it is applied before the context's own web.xml file       -->
+  <!--                                                                       -->
+  <!-- A context may be assigned a default descriptor by calling             -->
+  <!-- WebAppContext.setDefaultsDescriptor(String).                          -->
+  <!--                                                                       -->
+  <!-- This file is present in the jetty-webapp.jar, and is used as the      -->
+  <!-- defaults descriptor if no other is explicitly set on a context.       -->
+  <!--                                                                       -->
+  <!-- A copy of this file is also placed into the $JETTY_HOME/etc dir of    -->
+  <!-- the  distribution, and is referenced by some of the other xml files,  -->
+  <!-- eg the jetty-deploy.xml file.                                         -->
+  <!-- ===================================================================== -->
+
+  <description>
+    Default web.xml file.  
+    This file is applied to a Web application before it's own WEB_INF/web.xml file
+  </description>
+
+  <!-- ==================================================================== -->
+  <!-- Removes static references to beans from javax.el.BeanELResolver to   -->
+  <!-- ensure webapp classloader can be released on undeploy                -->
+  <!-- ==================================================================== -->
+  <listener>
+   <listener-class>org.eclipse.jetty.servlet.listener.ELContextCleaner</listener-class>
+  </listener>
+  
+  <!-- ==================================================================== -->
+  <!-- Removes static cache of Methods from java.beans.Introspector to      -->
+  <!-- ensure webapp classloader can be released on undeploy                -->
+  <!-- ==================================================================== -->  
+  <listener>
+   <listener-class>org.eclipse.jetty.servlet.listener.IntrospectorCleaner</listener-class>
+  </listener>
+  
+
+  <!-- ==================================================================== -->
+  <!-- Context params to control Session Cookies                            -->
+  <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -  -->
+  <!--
+    UNCOMMENT TO ACTIVATE 
+    <context-param> 
+      <param-name>org.eclipse.jetty.servlet.SessionDomain</param-name> 
+      <param-value>127.0.0.1</param-value> 
+    </context-param> 
+    <context-param>
+      <param-name>org.eclipse.jetty.servlet.SessionPath</param-name>
+      <param-value>/</param-value>
+    </context-param>
+    <context-param>
+      <param-name>org.eclipse.jetty.servlet.MaxAge</param-name>
+      <param-value>-1</param-value>
+    </context-param>
+  -->
+
+  <!-- ==================================================================== -->
+  <!-- The default servlet.                                                 -->
+  <!-- This servlet, normally mapped to /, provides the handling for static -->
+  <!-- content, OPTIONS and TRACE methods for the context.                  -->
+  <!-- The following initParameters are supported:                          -->
+  <!--  
+ *  acceptRanges      If true, range requests and responses are
+ *                    supported
+ *
+ *  dirAllowed        If true, directory listings are returned if no
+ *                    welcome file is found. Else 403 Forbidden.
+ *
+ *  welcomeServlets   If true, attempt to dispatch to welcome files
+ *                    that are servlets, but only after no matching static
+ *                    resources could be found. If false, then a welcome
+ *                    file must exist on disk. If "exact", then exact
+ *                    servlet matches are supported without an existing file.
+ *                    Default is true.
+ *
+ *                    This must be false if you want directory listings,
+ *                    but have index.jsp in your welcome file list.
+ *
+ *  redirectWelcome   If true, welcome files are redirected rather than
+ *                    forwarded to.
+ *
+ *  gzip              If set to true, then static content will be served as
+ *                    gzip content encoded if a matching resource is
+ *                    found ending with ".gz"
+ *
+ *  resourceBase      Set to replace the context resource base
+ *
+ *  resourceCache     If set, this is a context attribute name, which the servlet
+ *                    will use to look for a shared ResourceCache instance.
+ *
+ *  relativeResourceBase
+ *                    Set with a pathname relative to the base of the
+ *                    servlet context root. Useful for only serving static content out
+ *                    of only specific subdirectories.
+ *
+ *  pathInfoOnly      If true, only the path info will be applied to the resourceBase
+ *
+ *  stylesheet        Set with the location of an optional stylesheet that will be used
+ *                    to decorate the directory listing html.
+ *
+ *  aliases           If True, aliases of resources are allowed (eg. symbolic
+ *                    links and caps variations). May bypass security constraints.
+ *                    
+ *  etags             If True, weak etags will be generated and handled.
+ *
+ *  maxCacheSize      The maximum total size of the cache or 0 for no cache.
+ *  maxCachedFileSize The maximum size of a file to cache
+ *  maxCachedFiles    The maximum number of files to cache
+ *
+ *  useFileMappedBuffer
+ *                    If set to true, it will use mapped file buffers to serve static content
+ *                    when using an NIO connector. Setting this value to false means that
+ *                    a direct buffer will be used instead of a mapped file buffer.
+ *                    This file sets the value to true.
+ *
+ *  cacheControl      If set, all static content will have this value set as the cache-control
+ *                    header.
+ *
+ -->
+ <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -  -->
+  <servlet>
+    <servlet-name>default</servlet-name>
+    <servlet-class>org.eclipse.jetty.servlet.DefaultServlet</servlet-class>
+    <init-param>
+      <param-name>aliases</param-name>
+      <param-value>false</param-value>
+    </init-param>
+    <init-param>
+      <param-name>acceptRanges</param-name>
+      <param-value>true</param-value>
+    </init-param>
+    <init-param>
+      <param-name>dirAllowed</param-name>
+      <param-value>false</param-value>
+    </init-param>
+    <init-param>
+      <param-name>welcomeServlets</param-name>
+      <param-value>false</param-value>
+    </init-param>
+    <init-param>
+      <param-name>redirectWelcome</param-name>
+      <param-value>false</param-value>
+    </init-param>
+    <init-param>
+      <param-name>maxCacheSize</param-name>
+      <param-value>256000000</param-value>
+    </init-param>
+    <init-param>
+      <param-name>maxCachedFileSize</param-name>
+      <param-value>200000000</param-value>
+    </init-param>
+    <init-param>
+      <param-name>maxCachedFiles</param-name>
+      <param-value>2048</param-value>
+    </init-param>
+    <init-param>
+      <param-name>gzip</param-name>
+      <param-value>false</param-value>
+    </init-param>
+    <init-param>
+      <param-name>etags</param-name>
+      <param-value>false</param-value>
+    </init-param>
+    <init-param>
+      <param-name>useFileMappedBuffer</param-name>
+      <param-value>true</param-value>
+    </init-param>
+    <!--
+    <init-param>
+      <param-name>resourceCache</param-name>
+      <param-value>resourceCache</param-value>
+    </init-param>
+    -->
+    <!--
+    <init-param>
+      <param-name>cacheControl</param-name>
+      <param-value>max-age=3600,public</param-value>
+    </init-param>
+    -->
+    <load-on-startup>0</load-on-startup>
+  </servlet>
+
+  <servlet-mapping>
+    <servlet-name>default</servlet-name>
+    <url-pattern>/</url-pattern>
+  </servlet-mapping>
+
+
+  <!-- ==================================================================== -->
+  <!-- JSP Servlet                                                          -->
+  <!-- This is the jasper JSP servlet.                                      -->
+  <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -  -->
+  <!-- The JSP page compiler and execution servlet, which is the mechanism  -->
+  <!-- used by the jsp container to support JSP pages.  Traditionally,      -->
+  <!-- this servlet is mapped to URL pattern "*.jsp".  This servlet         -->
+  <!-- supports the following initialization parameters (default values     -->
+  <!-- are in square brackets):                                             -->
+  <!--                                                                      -->
+  <!--   checkInterval       If development is false and reloading is true, -->
+  <!--                       background compiles are enabled. checkInterval -->
+  <!--                       is the time in seconds between checks to see   -->
+  <!--                       if a JSP page needs to be recompiled. [300]    -->
+  <!--                                                                      -->
+  <!--   compiler            Which compiler Ant should use to compile JSP   -->
+  <!--                       pages.  See the Ant documentation for more     -->
+  <!--                       information. [javac]                           -->
+  <!--                                                                      -->
+  <!--   classdebuginfo      Should the class file be compiled with         -->
+  <!--                       debugging information?  [true]                 -->
+  <!--                                                                      -->
+  <!--   classpath           What class path should I use while compiling   -->
+  <!--                       generated servlets?  [Created dynamically      -->
+  <!--                       based on the current web application]          -->
+  <!--                       Set to ? to make the container explicitly set  -->
+  <!--                       this parameter.                                -->
+  <!--                                                                      -->
+  <!--   development         Is Jasper used in development mode (will check -->
+  <!--                       for JSP modification on every access)?  [true] -->
+  <!--                                                                      -->
+  <!--   enablePooling       Determines whether tag handler pooling is      -->
+  <!--                       enabled  [true]                                -->
+  <!--                                                                      -->
+  <!--   fork                Tell Ant to fork compiles of JSP pages so that -->
+  <!--                       a separate JVM is used for JSP page compiles   -->
+  <!--                       from the one Tomcat is running in. [true]      -->
+  <!--                                                                      -->
+  <!--   ieClassId           The class-id value to be sent to Internet      -->
+  <!--                       Explorer when using <jsp:plugin> tags.         -->
+  <!--                       [clsid:8AD9C840-044E-11D1-B3E9-00805F499D93]   -->
+  <!--                                                                      -->
+  <!--   javaEncoding        Java file encoding to use for generating java  -->
+  <!--                       source files. [UTF-8]                          -->
+  <!--                                                                      -->
+  <!--   keepgenerated       Should we keep the generated Java source code  -->
+  <!--                       for each page instead of deleting it? [true]   -->
+  <!--                                                                      -->
+  <!--   logVerbosityLevel   The level of detailed messages to be produced  -->
+  <!--                       by this servlet.  Increasing levels cause the  -->
+  <!--                       generation of more messages.  Valid values are -->
+  <!--                       FATAL, ERROR, WARNING, INFORMATION, and DEBUG. -->
+  <!--                       [WARNING]                                      -->
+  <!--                                                                      -->
+  <!--   mappedfile          Should we generate static content with one     -->
+  <!--                       print statement per input line, to ease        -->
+  <!--                       debugging?  [false]                            -->
+  <!--                                                                      -->
+  <!--                                                                      -->
+  <!--   reloading           Should Jasper check for modified JSPs?  [true] -->
+  <!--                                                                      -->
+  <!--   suppressSmap        Should the generation of SMAP info for JSR45   -->
+  <!--                       debugging be suppressed?  [false]              -->
+  <!--                                                                      -->
+  <!--   dumpSmap            Should the SMAP info for JSR45 debugging be    -->
+  <!--                       dumped to a file? [false]                      -->
+  <!--                       False if suppressSmap is true                  -->
+  <!--                                                                      -->
+  <!--   scratchdir          What scratch directory should we use when      -->
+  <!--                       compiling JSP pages?  [default work directory  -->
+  <!--                       for the current web application]               -->
+  <!--                                                                      -->
+  <!--   tagpoolMaxSize      The maximum tag handler pool size  [5]         -->
+  <!--                                                                      -->
+  <!--   xpoweredBy          Determines whether X-Powered-By response       -->
+  <!--                       header is added by generated servlet  [false]  -->
+  <!--                                                                      -->
+  <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -  -->
+  <servlet id="jsp">
+    <servlet-name>jsp</servlet-name>
+    <servlet-class>org.eclipse.jetty.jsp.JettyJspServlet</servlet-class>
+    <init-param>
+      <param-name>logVerbosityLevel</param-name>
+      <param-value>DEBUG</param-value>
+    </init-param>
+    <init-param>
+      <param-name>fork</param-name>
+      <param-value>false</param-value>
+    </init-param>
+    <init-param>
+      <param-name>xpoweredBy</param-name>
+      <param-value>false</param-value>
+    </init-param>
+    <init-param>
+      <param-name>compilerTargetVM</param-name>
+      <param-value>1.7</param-value>
+    </init-param>
+    <init-param>
+      <param-name>compilerSourceVM</param-name>
+      <param-value>1.7</param-value>
+    </init-param>
+    <!--  
+    <init-param>
+        <param-name>classpath</param-name>
+        <param-value>?</param-value>
+    </init-param>
+    -->
+    <load-on-startup>0</load-on-startup>
+  </servlet>
+
+  <servlet-mapping>
+    <servlet-name>jsp</servlet-name>
+    <url-pattern>*.jsp</url-pattern>
+    <url-pattern>*.jspf</url-pattern>
+    <url-pattern>*.jspx</url-pattern>
+    <url-pattern>*.xsp</url-pattern>
+    <url-pattern>*.JSP</url-pattern>
+    <url-pattern>*.JSPF</url-pattern>
+    <url-pattern>*.JSPX</url-pattern>
+    <url-pattern>*.XSP</url-pattern>
+  </servlet-mapping>
+
+
+  <!-- ==================================================================== -->
+  <!-- Default session configuration                                        -->
+  <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -  -->
+  <session-config>
+    <session-timeout>30</session-timeout>
+  </session-config>
+
+  <!-- ==================================================================== -->
+  <!-- Default MIME mappings                                                -->
+  <!-- The default MIME mappings are provided by the mime.properties        -->
+  <!-- resource in the jetty-http.jar file.  Additional or modified         -->
+  <!-- mappings may be specified here                                       -->
+  <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -  -->
+  <!-- UNCOMMENT TO ACTIVATE
+  <mime-mapping>
+    <extension>mysuffix</extension>
+    <mime-type>mymime/type</mime-type>
+  </mime-mapping>
+  -->
+
+  <!-- ==================================================================== -->
+  <!-- Default welcome files                                                -->
+  <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -  -->
+  <welcome-file-list>
+    <welcome-file>index.html</welcome-file>
+    <welcome-file>index.htm</welcome-file>
+    <welcome-file>index.jsp</welcome-file>
+  </welcome-file-list>
+
+  <!-- ==================================================================== -->
+  <!-- Default locale encodings                                             -->
+  <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -  -->
+  <locale-encoding-mapping-list>
+    <locale-encoding-mapping>
+      <locale>ar</locale>
+      <encoding>ISO-8859-6</encoding>
+    </locale-encoding-mapping>
+    <locale-encoding-mapping>
+      <locale>be</locale>
+      <encoding>ISO-8859-5</encoding>
+    </locale-encoding-mapping>
+    <locale-encoding-mapping>
+      <locale>bg</locale>
+      <encoding>ISO-8859-5</encoding>
+    </locale-encoding-mapping>
+    <locale-encoding-mapping>
+      <locale>ca</locale>
+      <encoding>ISO-8859-1</encoding>
+    </locale-encoding-mapping>
+    <locale-encoding-mapping>
+      <locale>cs</locale>
+      <encoding>ISO-8859-2</encoding>
+    </locale-encoding-mapping>
+    <locale-encoding-mapping>
+      <locale>da</locale>
+      <encoding>ISO-8859-1</encoding>
+    </locale-encoding-mapping>
+    <locale-encoding-mapping>
+      <locale>de</locale>
+      <encoding>ISO-8859-1</encoding>
+    </locale-encoding-mapping>
+    <locale-encoding-mapping>
+      <locale>el</locale>
+      <encoding>ISO-8859-7</encoding>
+    </locale-encoding-mapping>
+    <locale-encoding-mapping>
+      <locale>en</locale>
+      <encoding>ISO-8859-1</encoding>
+    </locale-encoding-mapping>
+    <locale-encoding-mapping>
+      <locale>es</locale>
+      <encoding>ISO-8859-1</encoding>
+    </locale-encoding-mapping>
+    <locale-encoding-mapping>
+      <locale>et</locale>
+      <encoding>ISO-8859-1</encoding>
+    </locale-encoding-mapping>
+    <locale-encoding-mapping>
+      <locale>fi</locale>
+      <encoding>ISO-8859-1</encoding>
+    </locale-encoding-mapping>
+    <locale-encoding-mapping>
+      <locale>fr</locale>
+      <encoding>ISO-8859-1</encoding>
+    </locale-encoding-mapping>
+    <locale-encoding-mapping>
+      <locale>hr</locale>
+      <encoding>ISO-8859-2</encoding>
+    </locale-encoding-mapping>
+    <locale-encoding-mapping>
+      <locale>hu</locale>
+      <encoding>ISO-8859-2</encoding>
+    </locale-encoding-mapping>
+    <locale-encoding-mapping>
+      <locale>is</locale>
+      <encoding>ISO-8859-1</encoding>
+    </locale-encoding-mapping>
+    <locale-encoding-mapping>
+      <locale>it</locale>
+      <encoding>ISO-8859-1</encoding>
+    </locale-encoding-mapping>
+    <locale-encoding-mapping>
+      <locale>iw</locale>
+      <encoding>ISO-8859-8</encoding>
+    </locale-encoding-mapping>
+    <locale-encoding-mapping>
+      <locale>ja</locale>
+      <encoding>Shift_JIS</encoding>
+    </locale-encoding-mapping>
+    <locale-encoding-mapping>
+      <locale>ko</locale>
+      <encoding>EUC-KR</encoding>
+    </locale-encoding-mapping>
+    <locale-encoding-mapping>
+      <locale>lt</locale>
+      <encoding>ISO-8859-2</encoding>
+    </locale-encoding-mapping>
+    <locale-encoding-mapping>
+      <locale>lv</locale>
+      <encoding>ISO-8859-2</encoding>
+    </locale-encoding-mapping>
+    <locale-encoding-mapping>
+      <locale>mk</locale>
+      <encoding>ISO-8859-5</encoding>
+    </locale-encoding-mapping>
+    <locale-encoding-mapping>
+      <locale>nl</locale>
+      <encoding>ISO-8859-1</encoding>
+    </locale-encoding-mapping>
+    <locale-encoding-mapping>
+      <locale>no</locale>
+      <encoding>ISO-8859-1</encoding>
+    </locale-encoding-mapping>
+    <locale-encoding-mapping>
+      <locale>pl</locale>
+      <encoding>ISO-8859-2</encoding>
+    </locale-encoding-mapping>
+    <locale-encoding-mapping>
+      <locale>pt</locale>
+      <encoding>ISO-8859-1</encoding>
+    </locale-encoding-mapping>
+    <locale-encoding-mapping>
+      <locale>ro</locale>
+      <encoding>ISO-8859-2</encoding>
+    </locale-encoding-mapping>
+    <locale-encoding-mapping>
+      <locale>ru</locale>
+      <encoding>ISO-8859-5</encoding>
+    </locale-encoding-mapping>
+    <locale-encoding-mapping>
+      <locale>sh</locale>
+      <encoding>ISO-8859-5</encoding>
+    </locale-encoding-mapping>
+    <locale-encoding-mapping>
+      <locale>sk</locale>
+      <encoding>ISO-8859-2</encoding>
+    </locale-encoding-mapping>
+    <locale-encoding-mapping>
+      <locale>sl</locale>
+      <encoding>ISO-8859-2</encoding>
+    </locale-encoding-mapping>
+    <locale-encoding-mapping>
+      <locale>sq</locale>
+      <encoding>ISO-8859-2</encoding>
+    </locale-encoding-mapping>
+    <locale-encoding-mapping>
+      <locale>sr</locale>
+      <encoding>ISO-8859-5</encoding>
+    </locale-encoding-mapping>
+    <locale-encoding-mapping>
+      <locale>sv</locale>
+      <encoding>ISO-8859-1</encoding>
+    </locale-encoding-mapping>
+    <locale-encoding-mapping>
+      <locale>tr</locale>
+      <encoding>ISO-8859-9</encoding>
+    </locale-encoding-mapping>
+    <locale-encoding-mapping>
+      <locale>uk</locale>
+      <encoding>ISO-8859-5</encoding>
+    </locale-encoding-mapping>
+    <locale-encoding-mapping>
+      <locale>zh</locale>
+      <encoding>GB2312</encoding>
+    </locale-encoding-mapping>
+    <locale-encoding-mapping>
+      <locale>zh_TW</locale>
+      <encoding>Big5</encoding>
+    </locale-encoding-mapping>
+  </locale-encoding-mapping-list>
+
+  <!-- ==================================================================== -->
+  <!-- Disable TRACE method with security constraint                        -->
+  <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -  -->
+  <security-constraint>
+    <web-resource-collection>
+      <web-resource-name>Disable TRACE</web-resource-name>
+      <url-pattern>/</url-pattern>
+      <http-method>TRACE</http-method>
+    </web-resource-collection>
+    <auth-constraint/>
+  </security-constraint>
+  <security-constraint>
+    <web-resource-collection>
+      <web-resource-name>Enable everything but TRACE</web-resource-name>
+      <url-pattern>/</url-pattern>
+      <http-method-omission>TRACE</http-method-omission>
+    </web-resource-collection>
+  </security-constraint>
+
+</web-app>
+
diff --git a/src/main/resources/jetty-base/resources/logback-access.xml b/src/main/resources/jetty-base/resources/logback-access.xml
new file mode 100644
index 0000000..aed30ce
--- /dev/null
+++ b/src/main/resources/jetty-base/resources/logback-access.xml
@@ -0,0 +1,14 @@
+<configuration>
+  <statusListener class="ch.qos.logback.core.status.OnConsoleStatusListener" /> 
+  <appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
+    <file>${jetty.base}/logs/access.log</file>
+    <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
+      <fileNamePattern>${jetty.base}/logs/access-%d{yyyy-MM-dd}.log.gz</fileNamePattern>
+    </rollingPolicy>
+    <encoder>
+      <pattern>combined</pattern>
+    </encoder>
+  </appender>
+  
+  <appender-ref ref="FILE" />
+</configuration>
diff --git a/src/main/resources/jetty-base/resources/logback.xml b/src/main/resources/jetty-base/resources/logback.xml
new file mode 100644
index 0000000..40c8e6e
--- /dev/null
+++ b/src/main/resources/jetty-base/resources/logback.xml
@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<configuration scan="true">
+    <appender name="jetty" class="ch.qos.logback.core.rolling.RollingFileAppender">
+        <File>${jetty.base}/logs/jetty.log</File>
+         
+        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
+            <FileNamePattern>${jetty.base}/logs/jetty-%d{yyyy-MM-dd}.log.gz</FileNamePattern>
+        </rollingPolicy>
+ 
+        <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
+            <charset>UTF-8</charset>
+            <Pattern>%date{HH:mm:ss.SSS} - %level [%logger:%line] - %msg%n</Pattern>
+        </encoder>
+    </appender>
+   
+    <root level="DEBUG">
+        <appender-ref ref="jetty" />
+    </root>
+    <logger name="org.springframework" level="OFF" />
+    <logger name="ch.qos.logback" level="WARN" />
+</configuration>
diff --git a/src/main/resources/jetty-base/start.d/idp.ini b/src/main/resources/jetty-base/start.d/idp.ini
new file mode 100644
index 0000000..0f8458d
--- /dev/null
+++ b/src/main/resources/jetty-base/start.d/idp.ini
@@ -0,0 +1,49 @@
+#
+# Note for Windows users:
+#
+# These are the only properties which are guaranteed to work between upgrades.  You may find 
+# more in jetty.xml and add them here and they may work. 
+# 
+# To repeat, only properties listed below are guarantee to work between upgrades.
+#
+
+# The interface to listen on. To listen on all interfaces, set jetty.host = 0.0.0.0
+jetty.host=localhost
+
+# The HTTPS port
+jetty.https.port=8443
+
+# The SOAP endpoint port
+jetty.backchannel.port=9443
+
+# Absolute path to keystores
+jetty.backchannel.keystore.path=../credentials/idp-backchannel.p12
+jetty.browser.keystore.path=../credentials/idp-userfacing.p12
+
+# Keystore passwords
+jetty.backchannel.keystore.password=changeit
+jetty.browser.keystore.password=changeit
+
+# Keystore types
+jetty.backchannel.keystore.type=PKCS12
+jetty.browser.keystore.type=PKCS12
+
+# The IdP webapp context path
+jetty.context.path=/idp
+
+# Path to IdP WAR (dir or file), relative to ${jetty.base} directory
+jetty.war.path=../webapp
+
+# Path to JAAS config
+jetty.jaas.path=conf/authn/jaas.config
+
+#Path to statically served.  This is relative to ${jetty.base} directory
+#jetty.static.data.path=../static
+
+#
+# Configuration for the non https connection.
+# 
+# In general, do not modify these values
+#
+jetty.nonhttps.host=localhost
+jetty.nonhttps.port=8080
diff --git a/src/main/resources/jetty-base/start.d/jsp.ini b/src/main/resources/jetty-base/start.d/jsp.ini
new file mode 100644
index 0000000..1559698
--- /dev/null
+++ b/src/main/resources/jetty-base/start.d/jsp.ini
@@ -0,0 +1,15 @@
+#
+# Initialize module jsp
+#
+--module=jsp
+# JSP Configuration
+
+# Select JSP implementation, choices are
+#   glassfish : The reference implementation
+#               default in jetty <= 9.1
+#   apache    : The apache version
+#               default jetty >= 9.2
+jsp-impl=apache
+
+# To use a non-jdk compiler for JSP compilation when using glassfish uncomment next line
+# -Dorg.apache.jasper.compiler.disablejsr199=true
diff --git a/src/main/resources/jetty-base/start.d/jstl.ini b/src/main/resources/jetty-base/start.d/jstl.ini
new file mode 100644
index 0000000..c5cbd4d
--- /dev/null
+++ b/src/main/resources/jetty-base/start.d/jstl.ini
@@ -0,0 +1,9 @@
+#
+# Initialize module jstl
+#
+--module=jstl
+# JSTL Configuration
+# The glassfish jsp-impl includes JSTL by default and this module
+# is not required to activate it.
+# The apache jsp-impl does not include JSTL by default and this module
+# is required to put JSTL on the container classpath
diff --git a/src/main/resources/jetty-base/start.ini b/src/main/resources/jetty-base/start.ini
new file mode 100644
index 0000000..3aae8b1
--- /dev/null
+++ b/src/main/resources/jetty-base/start.ini
@@ -0,0 +1,125 @@
+#===========================================================
+# Jetty start.jar arguments
+#
+# The contents of this file, together with the *.ini
+# files found in start.d directory are used to build
+# the classpath and command line on a call to
+#    java -jar start.jar [arg...]
+#
+# Use the following command to see more options
+#    java -jar start.jar --help
+#
+# Each line in these files is prepended to the command line
+# as arguments and may be either:
+#  + A property like: name=value
+#  + A module to enable like: --module=jmx
+#  + An XML configuration file like: etc/jetty-feature.xml
+#  + A start.jar option like: --dry-run
+#
+# If --exec or --dry-run are used, then this file may also 
+# contain lines with:
+#  + A JVM option like: -Xmx2000m 
+#  + A System Property like: -Dcom.sun.management.jmxremote
+#
+# The --add-to-start=module option can be used to append
+# a configuration template for a module to start.ini
+# The --add-to-startd=module option can be used to create
+# a configuration template for a module in start.d/module.ini
+# For example configure and run with SPDY use
+#
+#   java -jar start.jar --add-to-startd=spdy
+#   $EDITOR start.d/spdy.ini
+#   java -jar start.jar
+#
+#===========================================================
+
+
+#
+# Initialize module setuid
+#
+# --module=setuid
+
+#
+# Initialize module server
+#
+--module=server
+##
+## 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
+
+#
+# Initialize module deploy
+#
+--module=deploy
+## DeployManager configuration
+# Monitored Directory name (relative to jetty.base)
+# jetty.deploy.monitoredDirName=webapps
+
+#
+# Initialize module ext
+#
+--module=ext
+
+#
+# Initialize module annotations (needed for jsp)
+#
+--module=annotations
+
+#
+# Initialize module resources
+#
+--module=resources
+
+#
+# Modules for logging
+#
+--module=logging
+--module=requestlog
+
+
+#
+# Module: jstl
+#
+--module=jstl
+
+#
+# Module: servlets
+#
+--module=servlets
+
+#
+# Module: plus
+#
+--module=plus
+
+#
+# Initialize module jaas
+#
+--module=jaas
+
+#
+# Initialize module security
+#
+--module=security
\ No newline at end of file
diff --git a/src/main/resources/jetty-base/webapps/idp.xml b/src/main/resources/jetty-base/webapps/idp.xml
new file mode 100644
index 0000000..b967e5e
--- /dev/null
+++ b/src/main/resources/jetty-base/webapps/idp.xml
@@ -0,0 +1,38 @@
+<?xml version="1.0"?>
+<!DOCTYPE Configure PUBLIC "-//Mort Bay Consulting//DTD Configure//EN" "http://www.eclipse.org/jetty/configure_9_0.dtd">
+
+<!-- =============================================================== -->
+<!-- Configure the Shibboleth IdP webapp                             -->
+<!-- =============================================================== -->
+<Configure class="org.eclipse.jetty.webapp.WebAppContext">
+  <Set name="war"><Property name="jetty.war.path" /></Set>
+  <Set name="contextPath"><Property name="jetty.context.path" /></Set>
+  <Set name="extractWAR">false</Set>
+  <Set name="copyWebDir">false</Set>
+  <!-- https://bugs.eclipse.org/bugs/show_bug.cgi?id=375504 -->
+  <Set name="copyWebInf">true</Set>
+  <Call name="setAttribute">
+    <Arg>org.eclipse.jetty.server.webapp.WebInfIncludeJarPattern</Arg>
+    <Arg>none</Arg>
+  </Call>
+  <Call name="setAttribute">
+    <Arg>org.eclipse.jetty.webapp.basetempdir</Arg>
+    <Arg><Property name="jetty.base" />/tmp</Arg>
+  </Call>
+
+  <Call class="java.lang.System" name="setProperty">
+    <Arg>java.security.auth.login.config</Arg>
+    <Arg><Property name="jetty.jaas.path" /></Arg>
+  </Call>
+  <Set name="securityHandler">
+    <New class="org.eclipse.jetty.security.ConstraintSecurityHandler">
+     <Set name="loginService">
+       <New class="org.eclipse.jetty.jaas.JAASLoginService">
+         <Set name="name">Web Login Service</Set>
+         <Set name="loginModuleName">ShibUserPassAuth</Set>
+       </New>
+     </Set>
+    </New>
+  </Set>
+  
+</Configure>
\ No newline at end of file
diff --git a/src/main/resources/jetty-base/webapps/static.xml b/src/main/resources/jetty-base/webapps/static.xml
new file mode 100644
index 0000000..7497b9e
--- /dev/null
+++ b/src/main/resources/jetty-base/webapps/static.xml
@@ -0,0 +1,17 @@
+<?xml version="1.0"?>
+<!DOCTYPE Configure PUBLIC "-//Mort Bay Consulting//DTD Configure//EN" "http://www.eclipse.org/jetty/configure_9_0.dtd">
+
+<!-- =============================================================== -->
+<!-- Configure static content delivery                               -->
+<!-- =============================================================== -->
+<Configure class="org.eclipse.jetty.server.handler.ContextHandler">
+  <Set name="contextPath">/</Set>
+  <Set name="handler">
+    <New class="org.eclipse.jetty.server.handler.ResourceHandler">
+      <Set name="resourceBase">
+        <Property name="jetty.base"/>/<Property name="jetty.static.data.path" default="../static"/>
+      </Set>
+      <Set name="directoriesListed">false</Set>
+    </New>
+  </Set>
+</Configure>
\ No newline at end of file

-- 
To stop receiving notification emails like this one, please contact
the administrator of this repository.


More information about the commits mailing list