svn commit: rev 31015 - in avalon/trunk/planet/facilities/http: blocks blocks/context blocks/hash-basic blocks/hash-clientcert blocks/hash-digest blocks/hash-form blocks/server impl impl/src/etc impl/src/main/org/apache/avalon/http/impl

[email protected]
Newsgroups gmane.comp.jakarta.avalon.cvs
Message-ID <[email protected]>
Author: niclas
Date: Fri Jul 30 23:15:56 2004
New Revision: 31015

Added:
   avalon/trunk/planet/facilities/http/blocks/
   avalon/trunk/planet/facilities/http/blocks/build.properties   (contents, props changed)
   avalon/trunk/planet/facilities/http/blocks/build.xml   (contents, props changed)
   avalon/trunk/planet/facilities/http/blocks/context/
   avalon/trunk/planet/facilities/http/blocks/context/build.properties   (contents, props changed)
   avalon/trunk/planet/facilities/http/blocks/context/build.xml   (contents, props changed)
   avalon/trunk/planet/facilities/http/blocks/hash-basic/
   avalon/trunk/planet/facilities/http/blocks/hash-basic/build.properties   (contents, props changed)
   avalon/trunk/planet/facilities/http/blocks/hash-basic/build.xml   (contents, props changed)
   avalon/trunk/planet/facilities/http/blocks/hash-clientcert/
   avalon/trunk/planet/facilities/http/blocks/hash-clientcert/build.properties   (contents, props changed)
   avalon/trunk/planet/facilities/http/blocks/hash-clientcert/build.xml   (contents, props changed)
   avalon/trunk/planet/facilities/http/blocks/hash-digest/
   avalon/trunk/planet/facilities/http/blocks/hash-digest/build.properties   (contents, props changed)
   avalon/trunk/planet/facilities/http/blocks/hash-digest/build.xml   (contents, props changed)
   avalon/trunk/planet/facilities/http/blocks/hash-form/
   avalon/trunk/planet/facilities/http/blocks/hash-form/build.properties   (contents, props changed)
   avalon/trunk/planet/facilities/http/blocks/hash-form/build.xml   (contents, props changed)
   avalon/trunk/planet/facilities/http/blocks/index.xml   (contents, props changed)
   avalon/trunk/planet/facilities/http/blocks/server/
   avalon/trunk/planet/facilities/http/blocks/server/build.properties   (contents, props changed)
   avalon/trunk/planet/facilities/http/blocks/server/build.xml   (contents, props changed)
   avalon/trunk/planet/facilities/http/impl/src/etc/default-context.block   (contents, props changed)
   avalon/trunk/planet/facilities/http/impl/src/etc/default-server.block   (contents, props changed)
   avalon/trunk/planet/facilities/http/impl/src/etc/hash-basic-auth.block   (contents, props changed)
   avalon/trunk/planet/facilities/http/impl/src/etc/hash-clientcert-auth.block   (contents, props changed)
   avalon/trunk/planet/facilities/http/impl/src/etc/hash-digest-auth.block   (contents, props changed)
   avalon/trunk/planet/facilities/http/impl/src/etc/hash-form-auth.block   (contents, props changed)
   avalon/trunk/planet/facilities/http/impl/src/etc/sample-http.block   (contents, props changed)
Removed:
   avalon/trunk/planet/facilities/http/impl/src/etc/default-server.xml
Modified:
   avalon/trunk/planet/facilities/http/impl/build.xml
   avalon/trunk/planet/facilities/http/impl/src/main/org/apache/avalon/http/impl/SecurityHandler.java
Log:
Trying to get the blocks in order.

Added: avalon/trunk/planet/facilities/http/blocks/build.properties
==============================================================================
--- (empty file)
+++ avalon/trunk/planet/facilities/http/blocks/build.properties	Fri Jul 30 23:15:56 2004
@@ -0,0 +1,2 @@
+project.system = ../../../../central/system
+project.home = ../..

Added: avalon/trunk/planet/facilities/http/blocks/build.xml
==============================================================================
--- (empty file)
+++ avalon/trunk/planet/facilities/http/blocks/build.xml	Fri Jul 30 23:15:56 2004
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+
+<project name="http" default="default" basedir=".">
+
+  <property file="build.properties"/>
+  <import file="${project.system}/build/reactor.xml"/>
+
+</project>

Added: avalon/trunk/planet/facilities/http/blocks/context/build.properties
==============================================================================
--- (empty file)
+++ avalon/trunk/planet/facilities/http/blocks/context/build.properties	Fri Jul 30 23:15:56 2004
@@ -0,0 +1,2 @@
+project.system = ../../../../../central/system
+project.home = ..

Added: avalon/trunk/planet/facilities/http/blocks/context/build.xml
==============================================================================
--- (empty file)
+++ avalon/trunk/planet/facilities/http/blocks/context/build.xml	Fri Jul 30 23:15:56 2004
@@ -0,0 +1,40 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+
+<project name="avalon-http-context" default="install" basedir="." 
+    xmlns:x="antlib:org.apache.avalon.tools">
+
+  <property file="build.properties"/>
+  <import file="${project.system}/build/standard.xml"/>
+
+  <target name="build" depends="standard.build">
+    <x:block name="default-context" embed="MAIN">
+      <x:component name="context" class="org.apache.avalon.http.impl.HttpContextImpl" />
+      <x:component name="security-handler" class="org.apache.avalon.http.impl.SecurityHandler" />
+  
+      <x:component name="resource-handler" class="org.apache.avalon.http.impl.ResourceHandler" >
+        <x:parameters>
+          <x:parameter name="allow-directory" value="true" />
+          <x:parameter name="allow-methods" value="GET" />
+        </x:parameters>
+      </x:component>
+
+      <x:component name="notfound-handler" class="org.apache.avalon.http.impl.NotFoundHandler" />
+  
+      <x:component name="errorpage-handler" class="org.apache.avalon.http.impl.ErrorPageHandler" >
+        <x:parameters>
+          <x:parameter name="login-page" value="/login.html" />
+          <x:parameter name="error-page" value="/login_error.html" />
+        </x:parameters>
+      </x:component>
+
+      <x:component name="request-log" class="org.apache.avalon.http.impl.NcsaRequestLog" >
+        <x:parameters>
+          <x:parameter name="filename" value="logs/request.log" />
+          <x:parameter name="append" value="true" />
+          <x:parameter name="extended" value="true" />
+        </x:parameters>
+      </x:component>
+    </x:block>
+  </target>
+
+</project>

Added: avalon/trunk/planet/facilities/http/blocks/hash-basic/build.properties
==============================================================================
--- (empty file)
+++ avalon/trunk/planet/facilities/http/blocks/hash-basic/build.properties	Fri Jul 30 23:15:56 2004
@@ -0,0 +1,2 @@
+project.system = ../../../../../central/system
+project.home = ..

Added: avalon/trunk/planet/facilities/http/blocks/hash-basic/build.xml
==============================================================================
--- (empty file)
+++ avalon/trunk/planet/facilities/http/blocks/hash-basic/build.xml	Fri Jul 30 23:15:56 2004
@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+
+<project name="avalon-http-hash-basic" default="install" basedir="." 
+    xmlns:x="antlib:org.apache.avalon.tools">
+
+  <property file="build.properties"/>
+  <import file="${project.system}/build/standard.xml"/>
+
+  <target name="build" depends="standard.build">
+    <x:block name="hash-basic-auth"  embed="MAIN" >
+      <x:component name="realm" class="org.apache.avalon.http.impl.HashUserRealm" >
+        <x:parameters>
+          <x:parameter name="name" value="default" />
+          <x:parameter name="filename" value="conf/default-realm" />
+        </x:parameters>
+      </x:component>
+      <x:component name="authenticator" class="org.mortbay.http.BasicAuthenticator" />
+    </x:block>
+  </target>
+
+</project>

Added: avalon/trunk/planet/facilities/http/blocks/hash-clientcert/build.properties
==============================================================================
--- (empty file)
+++ avalon/trunk/planet/facilities/http/blocks/hash-clientcert/build.properties	Fri Jul 30 23:15:56 2004
@@ -0,0 +1,2 @@
+project.system = ../../../../../central/system
+project.home = ..
\ No newline at end of file

Added: avalon/trunk/planet/facilities/http/blocks/hash-clientcert/build.xml
==============================================================================
--- (empty file)
+++ avalon/trunk/planet/facilities/http/blocks/hash-clientcert/build.xml	Fri Jul 30 23:15:56 2004
@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+
+<project name="avalon-http-hash-clientcert" default="install" basedir="." 
+    xmlns:x="antlib:org.apache.avalon.tools">
+
+  <property file="build.properties"/>
+  <import file="${project.system}/build/standard.xml"/>
+
+  <target name="build" depends="standard.build">
+    <x:block name="hash-clientcert-auth"  embed="MAIN" >
+      <x:component name="realm" class="org.apache.avalon.http.impl.HashUserRealm" >
+        <x:parameters>
+          <x:parameter name="name" value="default" />
+          <x:parameter name="filename" value="conf/default-realm" />
+        </x:parameters>
+      </x:component>
+      <x:component name="authenticator" class="org.apache.avalon.http.impl.ClientCertAuthenticator" />
+    </x:block>
+  </target>
+
+</project>

Added: avalon/trunk/planet/facilities/http/blocks/hash-digest/build.properties
==============================================================================
--- (empty file)
+++ avalon/trunk/planet/facilities/http/blocks/hash-digest/build.properties	Fri Jul 30 23:15:56 2004
@@ -0,0 +1,2 @@
+project.system = ../../../../../central/system
+project.home = ..

Added: avalon/trunk/planet/facilities/http/blocks/hash-digest/build.xml
==============================================================================
--- (empty file)
+++ avalon/trunk/planet/facilities/http/blocks/hash-digest/build.xml	Fri Jul 30 23:15:56 2004
@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+
+<project name="avalon-http-hash-digest" default="install" basedir="." 
+    xmlns:x="antlib:org.apache.avalon.tools">
+
+  <property file="build.properties"/>
+  <import file="${project.system}/build/standard.xml"/>
+
+  <target name="build" depends="standard.build">
+    <x:block name="hash-digest-auth"  embed="MAIN" >
+      <x:component name="realm" class="org.apache.avalon.http.impl.HashUserRealm" >
+        <x:parameters>
+          <x:parameter name="name" value="default" />
+          <x:parameter name="filename" value="conf/default-realm" />
+        </x:parameters>
+      </x:component>
+      <x:component name="authenticator" class="org.mortbay.http.DigestAuthenticator" />
+    </x:block>
+  </target>
+
+</project>

Added: avalon/trunk/planet/facilities/http/blocks/hash-form/build.properties
==============================================================================
--- (empty file)
+++ avalon/trunk/planet/facilities/http/blocks/hash-form/build.properties	Fri Jul 30 23:15:56 2004
@@ -0,0 +1,2 @@
+project.system = ../../../../../central/system
+project.home = ..

Added: avalon/trunk/planet/facilities/http/blocks/hash-form/build.xml
==============================================================================
--- (empty file)
+++ avalon/trunk/planet/facilities/http/blocks/hash-form/build.xml	Fri Jul 30 23:15:56 2004
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+
+<project name="avalon-http-hash-form" default="install" basedir="." 
+    xmlns:x="antlib:org.apache.avalon.tools">
+
+  <property file="build.properties"/>
+  <import file="${project.system}/build/standard.xml"/>
+
+  <target name="build" depends="standard.build">
+    <x:block name="hash-form-auth"  embed="MAIN" >
+      <x:component name="realm" class="org.apache.avalon.http.impl.HashUserRealm" >
+        <x:parameters>
+          <x:parameter name="name" value="default" />
+          <x:parameter name="filename" value="conf/default-realm" />
+        </x:parameters>
+      </x:component>
+      <x:component name="authenticator" class="org.apache.avalon.http.impl.FormAuthenticator" >
+        <x:parameters>
+          <x:parameter name="login-page"  value="/login.html" />
+          <x:parameter name="error-page"  value="/login_error.html" />
+        </x:parameters>
+      </x:component>
+    </x:block>
+  </target>
+
+</project>

Added: avalon/trunk/planet/facilities/http/blocks/index.xml
==============================================================================
--- (empty file)
+++ avalon/trunk/planet/facilities/http/blocks/index.xml	Fri Jul 30 23:15:56 2004
@@ -0,0 +1,116 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+
+<index>
+
+  <import index="../../index.xml"
+     href="http://svn.apache.org/repos/asf/avalon/trunk/planet/facilities/index.xml"/>
+
+  <resource>
+    <info>
+      <group>avalon</group>
+      <name>avalon-framework-api</name>
+      <version>SNAPSHOT</version>
+      <type>jar</type>
+    </info>
+  </resource>
+  
+  <resource>
+    <info>
+      <group>jetty</group>
+      <name>org.mortbay.jetty</name>
+      <version>SNAPSHOT</version>
+      <type>jar</type>
+    </info>
+  </resource>
+
+  <resource>
+    <info>
+      <group>jetty</group>
+      <name>org.mortbay.jaas</name>
+      <version>5.0.RC0</version>
+      <type>jar</type>
+    </info>
+  </resource>
+
+  <resource>
+    <info>
+      <group>commons-logging</group>
+      <name>commons-logging</name>
+      <version>SNAPSHOT</version>
+      <type>jar</type>
+    </info>
+  </resource>
+  
+  <project basedir="context">
+    <info>
+      <group>avalon/http</group>
+      <name>avalon-http-context</name>
+      <version>1.0.0</version>
+      <status>SNAPSHOT</status> 
+    </info>
+    <dependencies>
+      <include key="avalon-framework-api" runtime="false"/>
+    </dependencies>
+  </project>
+
+  <project basedir="server">
+    <info>
+      <group>avalon/http</group>
+      <name>avalon-http-server</name>
+      <version>1.0.0</version>
+      <status>SNAPSHOT</status> 
+    </info>
+    <dependencies>
+      <include key="avalon-framework-api" runtime="false"/>
+    </dependencies>
+  </project>
+
+  <project basedir="hash-basic">
+    <info>
+      <group>avalon/http</group>
+      <name>avalon-http-hash-basic</name>
+      <version>1.0.0</version>
+      <status>SNAPSHOT</status> 
+    </info>
+    <dependencies>
+      <include key="avalon-framework-api" runtime="false"/>
+    </dependencies>
+  </project>
+
+  <project basedir="hash-form">
+    <info>
+      <group>avalon/http</group>
+      <name>avalon-http-hash-form</name>
+      <version>1.0.0</version>
+      <status>SNAPSHOT</status> 
+    </info>
+    <dependencies>
+      <include key="avalon-framework-api" runtime="false"/>
+    </dependencies>
+  </project>
+
+  <project basedir="hash-clientcert">
+    <info>
+      <group>avalon/http</group>
+      <name>avalon-http-hash-clientcert</name>
+      <version>1.0.0</version>
+      <status>SNAPSHOT</status> 
+    </info>
+    <dependencies>
+      <include key="avalon-framework-api" runtime="false"/>
+    </dependencies>
+  </project>
+
+  <project basedir="hash-digest">
+    <info>
+      <group>avalon/http</group>
+      <name>avalon-http-hash-digest</name>
+      <version>1.0.0</version>
+      <status>SNAPSHOT</status> 
+    </info>
+    <dependencies>
+      <include key="avalon-framework-api" runtime="false"/>
+    </dependencies>
+  </project>
+</index>
+ 

Added: avalon/trunk/planet/facilities/http/blocks/server/build.properties
==============================================================================
--- (empty file)
+++ avalon/trunk/planet/facilities/http/blocks/server/build.properties	Fri Jul 30 23:15:56 2004
@@ -0,0 +1,2 @@
+project.system = ../../../../../central/system
+project.home = ..

Added: avalon/trunk/planet/facilities/http/blocks/server/build.xml
==============================================================================
--- (empty file)
+++ avalon/trunk/planet/facilities/http/blocks/server/build.xml	Fri Jul 30 23:15:56 2004
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+
+<project name="avalon-http-server" default="install" basedir="." 
+    xmlns:x="antlib:org.apache.avalon.tools">
+
+  <property file="build.properties"/>
+  <import file="${project.system}/build/standard.xml"/>
+
+  <target name="build" depends="standard.build">
+  
+    <x:block name="default-server"  embed="MAIN">    
+      <x:component name="socketlistener" class="org.apache.avalon.http.impl.SocketListener" />
+      <x:component name="ssllistener" class="org.apache.avalon.http.impl.JsseListener" />
+      <x:component name="ajplistener" class="org.apache.avalon.http.impl.Ajp13Listener" />
+      <x:component name="httpserver" class="org.apache.avalon.http.impl.HttpServerImpl" />
+    </x:block>
+    
+  </target>
+
+</project>

Modified: avalon/trunk/planet/facilities/http/impl/build.xml
==============================================================================
--- avalon/trunk/planet/facilities/http/impl/build.xml	(original)
+++ avalon/trunk/planet/facilities/http/impl/build.xml	Fri Jul 30 23:15:56 2004
@@ -7,17 +7,88 @@
   <import file="${project.system}/build/standard.xml"/>
 
   <target name="build" depends="standard.build">
-    <x:block name="http" embed="MAIN">
-      <x:component name="server" 
-         class="org.apache.avalon.http.impl.HttpServerImpl"/>
-      <x:component name="socket8088" 
-         class="org.apache.avalon.http.impl.SocketListenerComponent">
-         <x:parameters>
-           <x:parameter name="port" value="8088" />
-         </x:parameters>
+  
+    <x:block name="default-context" embed="MAIN">
+      <x:component name="context" class="org.apache.avalon.http.impl.HttpContextImpl" />
+      <x:component name="security-handler" class="org.apache.avalon.http.impl.SecurityHandler" />
+  
+      <x:component name="resource-handler" class="org.apache.avalon.http.impl.ResourceHandler" >
+        <x:parameters>
+          <x:parameter name="allow-directory" value="true" />
+          <x:parameter name="allow-methods" value="GET" />
+        </x:parameters>
+      </x:component>
+
+      <x:component name="notfound-handler" class="org.apache.avalon.http.impl.NotFoundHandler" />
+  
+      <x:component name="errorpage-handler" class="org.apache.avalon.http.impl.ErrorPageHandler" >
+        <x:parameters>
+          <x:parameter name="login-page" value="/login.html" />
+          <x:parameter name="error-page" value="/login_error.html" />
+        </x:parameters>
+      </x:component>
+
+      <x:component name="request-log" class="org.apache.avalon.http.impl.NcsaRequestLog" >
+        <x:parameters>
+          <x:parameter name="filename" value="logs/request.log" />
+          <x:parameter name="append" value="true" />
+          <x:parameter name="extended" value="true" />
+        </x:parameters>
+      </x:component>
+    </x:block>
+
+
+    <x:block name="default-server"  embed="MAIN">    
+      <x:component name="socketlistener" class="org.apache.avalon.http.impl.SocketListener" />
+      <x:component name="ssllistener" class="org.apache.avalon.http.impl.JsseListener" />
+      <x:component name="ajplistener" class="org.apache.avalon.http.impl.Ajp13Listener" />
+      <x:component name="httpserver" class="org.apache.avalon.http.impl.HttpServerImpl" />
+    </x:block>
+    
+    <x:block name="hash-basic-auth"  embed="MAIN" >
+      <x:component name="realm" class="org.apache.avalon.http.impl.HashUserRealm" >
+        <x:parameters>
+          <x:parameter name="name" value="default" />
+          <x:parameter name="filename" value="conf/default-realm" />
+        </x:parameters>
+      </x:component>
+      <x:component name="authenticator" class="org.mortbay.http.BasicAuthenticator" />
+    </x:block>
+  
+    <x:block name="hash-digest-auth"  embed="MAIN" >
+      <x:component name="realm" class="org.apache.avalon.http.impl.HashUserRealm" >
+        <x:parameters>
+          <x:parameter name="name" value="default" />
+          <x:parameter name="filename" value="conf/default-realm" />
+        </x:parameters>
+      </x:component>
+      <x:component name="authenticator" class="org.mortbay.http.DigestAuthenticator" />
+    </x:block>
+  
+    <x:block name="hash-clientcert-auth"  embed="MAIN" >
+      <x:component name="realm" class="org.apache.avalon.http.impl.HashUserRealm" >
+        <x:parameters>
+          <x:parameter name="name" value="default" />
+          <x:parameter name="filename" value="conf/default-realm" />
+        </x:parameters>
+      </x:component>
+      <x:component name="authenticator" class="org.apache.avalon.http.impl.ClientCertAuthenticator" />
+    </x:block>
+  
+    <x:block name="hash-form-auth"  embed="MAIN" >
+      <x:component name="realm" class="org.apache.avalon.http.impl.HashUserRealm" >
+        <x:parameters>
+          <x:parameter name="name" value="default" />
+          <x:parameter name="filename" value="conf/default-realm" />
+        </x:parameters>
+      </x:component>
+      <x:component name="authenticator" class="org.apache.avalon.http.impl.FormAuthenticator" >
+        <x:parameters>
+          <x:parameter name="login-page"  value="/login.html" />
+          <x:parameter name="error-page"  value="/login_error.html" />
+        </x:parameters>
       </x:component>
     </x:block>
   </target>
 
 </project>
-

Added: avalon/trunk/planet/facilities/http/impl/src/etc/default-context.block
==============================================================================
--- (empty file)
+++ avalon/trunk/planet/facilities/http/impl/src/etc/default-context.block	Fri Jul 30 23:15:56 2004
@@ -0,0 +1,58 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+
+<container name="context">
+
+  <services>
+    <service type="org.apache.avalon.http.HttpContextService" />
+  </services>
+  
+  <classloader>
+    <classpath>
+      <artifact>jar:avalon/http/avalon-http-spi#SNAPSHOT</artifact>
+      <artifact>jar:avalon/http/avalon-http-api#SNAPSHOT</artifact>
+      <artifact>jar:servletapi/servletapi#2.3</artifact>
+      <artifact>jar:jetty/org.mortbay.jetty#SNAPSHOT</artifact>
+      <artifact>jar:avalon/framework/avalon-framework-api#SNAPSHOT</artifact>
+      <artifact>jar:avalon/logkit/avalon-logkit#2.0.0</artifact>
+      <artifact>jar:avalon/http/avalon-http-impl#SNAPSHOT</artifact>
+      <artifact>jar:commons-logging/commons-logging#SNAPSHOT</artifact>
+    </classpath>
+  </classloader>
+
+  <component name="context" class="org.apache.avalon.http.impl.HttpContextImpl" >
+    <configuration>
+      <context-path>/niclas/testing</context-path>
+    </configuration>
+  </component>
+  
+  <!-- SecurityHandler is need to always be the first handler, since all
+       ModelHandlers will be inserted at index 1.
+  -->
+  <component name="security-handler" class="org.apache.avalon.http.impl.SecurityHandler" />
+  
+  <component name="resource-handler" class="org.apache.avalon.http.impl.ResourceHandler" >
+    <parameters>
+      <parameter name="allow-directory" value="true" />
+      <parameter name="allow-methods" value="GET" />
+    </parameters>
+  </component>
+
+  <component name="notfound-handler" class="org.apache.avalon.http.impl.NotFoundHandler" >
+    <parameters>
+    </parameters>
+  </component>
+  
+  <component name="errorpage-handler" class="org.apache.avalon.http.impl.ErrorPageHandler" >
+    <parameters>
+    </parameters>
+  </component>
+
+  <component name="request-log" class="org.apache.avalon.http.impl.NcsaRequestLog" >
+    <parameters>
+      <parameter name="filename" value="request.log" />
+      <parameter name="append" value="true" />
+      <parameter name="extended" value="true" />
+    </parameters>
+  </component>
+
+</container>

Added: avalon/trunk/planet/facilities/http/impl/src/etc/default-server.block
==============================================================================
--- (empty file)
+++ avalon/trunk/planet/facilities/http/impl/src/etc/default-server.block	Fri Jul 30 23:15:56 2004
@@ -0,0 +1,47 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+
+<container name="server">
+
+  <services>
+    <service type="org.apache.avalon.http.HttpService" />
+    <service type="org.mortbay.http.HttpListener" />
+  </services>
+  
+  <classloader>
+    <classpath>
+      <artifact>jar:avalon/http/avalon-http-spi#SNAPSHOT</artifact>
+      <artifact>jar:avalon/http/avalon-http-api#SNAPSHOT</artifact>
+      <artifact>jar:jetty/org.mortbay.jetty#SNAPSHOT</artifact>
+      <artifact>jar:avalon/http/avalon-http-util#SNAPSHOT</artifact>
+      <artifact>jar:avalon/framework/avalon-framework-api#SNAPSHOT</artifact>
+      <artifact>jar:avalon/logkit/avalon-logkit#2.0.1</artifact>
+      <artifact>jar:avalon/http/avalon-http-impl#SNAPSHOT</artifact>
+      <artifact>jar:commons-logging/commons-logging#SNAPSHOT</artifact>
+    </classpath>
+  </classloader>
+
+  <component name="socketlistener" class="org.apache.avalon.http.impl.SocketListener">
+    <parameters>
+      <parameter name="port" value="8088"/>
+      <parameter name="hostname" value="0.0.0.0"/>
+    </parameters>
+  </component>
+    
+  <component name="ssllistener" class="org.apache.avalon.http.impl.JsseListener">
+    <parameters>
+      <parameter name="port" value="8443"/>
+      <parameter name="hostname" value="0.0.0.0"/>
+    </parameters>
+  </component>
+  
+  <component name="ajplistener" class="org.apache.avalon.http.impl.Ajp13Listener">
+    <parameters>
+      <parameter name="port" value="2345"/>
+      <parameter name="hostname" value="0.0.0.0"/>
+    </parameters>
+  </component>
+  
+  <component name="httpserver" class="org.apache.avalon.http.impl.HttpServerImpl" />
+  
+</container>
+ 

Added: avalon/trunk/planet/facilities/http/impl/src/etc/hash-basic-auth.block
==============================================================================
--- (empty file)
+++ avalon/trunk/planet/facilities/http/impl/src/etc/hash-basic-auth.block	Fri Jul 30 23:15:56 2004
@@ -0,0 +1,29 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+
+<container name="hash-basic-auth">
+
+  <services>
+    <service type="org.mortbay.http.Authenticator" />
+    <service type="org.mortbay.http.UserRealm" />
+  </services>
+  
+  <classloader>
+    <classpath>
+      <artifact>jar:avalon/http/avalon-http-impl#SNAPSHOT</artifact>
+      <artifact>jar:avalon/http/avalon-http-spi#SNAPSHOT</artifact>
+      <artifact>jar:jetty/org.mortbay.jetty#SNAPSHOT</artifact>
+      <artifact>jar:avalon/framework/avalon-framework-api#SNAPSHOT</artifact>
+      <artifact>jar:commons-logging/commons-logging#SNAPSHOT</artifact>
+    </classpath>
+  </classloader>
+
+  <component name="realm" class="org.apache.avalon.http.impl.HashUserRealm" >
+    <parameters>
+      <parameter name="name" value="default" />
+      <parameter name="filename" value="conf/default-realm" />
+    </parameters>
+  </component>
+  
+  <component name="authenticator" class="org.mortbay.http.BasicAuthenticator" />
+  
+</container>

Added: avalon/trunk/planet/facilities/http/impl/src/etc/hash-clientcert-auth.block
==============================================================================
--- (empty file)
+++ avalon/trunk/planet/facilities/http/impl/src/etc/hash-clientcert-auth.block	Fri Jul 30 23:15:56 2004
@@ -0,0 +1,29 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+
+<container name="hash-basic-auth">
+
+  <services>
+    <service type="org.mortbay.http.Authenticator" />
+    <service type="org.mortbay.http.UserRealm" />
+  </services>
+  
+  <classloader>
+    <classpath>
+      <artifact>jar:avalon/http/avalon-http-impl#SNAPSHOT</artifact>
+      <artifact>jar:avalon/http/avalon-http-spi#SNAPSHOT</artifact>
+      <artifact>jar:jetty/org.mortbay.jetty#SNAPSHOT</artifact>
+      <artifact>jar:avalon/framework/avalon-framework-api#SNAPSHOT</artifact>
+      <artifact>jar:commons-logging/commons-logging#SNAPSHOT</artifact>
+    </classpath>
+  </classloader>
+
+  <component name="realm" class="org.apache.avalon.http.impl.HashUserRealm" >
+    <parameters>
+      <parameter name="name" value="default" />
+      <parameter name="filename" value="conf/default-realm" />
+    </parameters>
+  </component>
+  
+  <component name="authenticator" class="org.apache.avalon.http.impl.ClientCertAuthenticator" />
+  
+</container>

Added: avalon/trunk/planet/facilities/http/impl/src/etc/hash-digest-auth.block
==============================================================================
--- (empty file)
+++ avalon/trunk/planet/facilities/http/impl/src/etc/hash-digest-auth.block	Fri Jul 30 23:15:56 2004
@@ -0,0 +1,29 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+
+<container name="hash-basic-auth">
+
+  <services>
+    <service type="org.mortbay.http.Authenticator" />
+    <service type="org.mortbay.http.UserRealm" />
+  </services>
+  
+  <classloader>
+    <classpath>
+      <artifact>jar:avalon/http/avalon-http-impl#SNAPSHOT</artifact>
+      <artifact>jar:avalon/http/avalon-http-spi#SNAPSHOT</artifact>
+      <artifact>jar:jetty/org.mortbay.jetty#SNAPSHOT</artifact>
+      <artifact>jar:avalon/framework/avalon-framework-api#SNAPSHOT</artifact>
+      <artifact>jar:commons-logging/commons-logging#SNAPSHOT</artifact>
+    </classpath>
+  </classloader>
+
+  <component name="realm" class="org.apache.avalon.http.impl.HashUserRealm" >
+    <parameters>
+      <parameter name="name" value="default" />
+      <parameter name="filename" value="conf/default-realm" />
+    </parameters>
+  </component>
+  
+  <component name="authenticator" class="org.mortbay.http.DigestAuthenticator" />
+  
+</container>

Added: avalon/trunk/planet/facilities/http/impl/src/etc/hash-form-auth.block
==============================================================================
--- (empty file)
+++ avalon/trunk/planet/facilities/http/impl/src/etc/hash-form-auth.block	Fri Jul 30 23:15:56 2004
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+
+<container name="hash-basic-auth">
+
+  <services>
+    <service type="org.mortbay.http.Authenticator" />
+    <service type="org.mortbay.http.UserRealm" />
+  </services>
+  
+  <classloader>
+    <classpath>
+      <artifact>jar:avalon/http/avalon-http-impl#SNAPSHOT</artifact>
+      <artifact>jar:avalon/http/avalon-http-spi#SNAPSHOT</artifact>
+      <artifact>jar:jetty/org.mortbay.jetty#SNAPSHOT</artifact>
+      <artifact>jar:avalon/framework/avalon-framework-api#SNAPSHOT</artifact>
+      <artifact>jar:commons-logging/commons-logging#SNAPSHOT</artifact>
+    </classpath>
+  </classloader>
+
+  <component name="realm" class="org.apache.avalon.http.impl.HashUserRealm" >
+    <parameters>
+      <parameter name="name" value="default" />
+      <parameter name="filename" value="conf/default-realm" />
+    </parameters>
+  </component>
+  
+  <component name="authenticator" class="org.apache.avalon.http.impl.FormAuthenticator" >
+    <parameters>
+      <parameter name="login-page"  value="/login.html" />
+      <parameter name="error-page"  value="/login_error.html" />
+    </parameters>
+  </component>
+  
+</container>

Added: avalon/trunk/planet/facilities/http/impl/src/etc/sample-http.block
==============================================================================
--- (empty file)
+++ avalon/trunk/planet/facilities/http/impl/src/etc/sample-http.block	Fri Jul 30 23:15:56 2004
@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+
+<container name="http-facility">
+
+  <classloader>
+    <classpath>
+      <artifact>jar:avalon/http/avalon-http-api#SNAPSHOT</artifact>
+      <artifact>jar:avalon/framework/avalon-framework-api#SNAPSHOT</artifact>
+      <artifact>jar:avalon/logkit/avalon-logkit#2.0.1</artifact>
+    </classpath>
+  </classloader>
+ 
+  <include name="http-server"
+           artifact="block:merlin/http/default-server" >
+  </include>
+  
+  <include name="context1"
+           artifact="block:merlin/http/default-context" >
+  </include>
+  
+  <include name="context2"
+           artifact="block:merlin/http/default-context" >
+  </include>
+  
+  <include name="authentication"
+           artifact="block:merlin/http/default-server" >
+  </include>
+  
+</container>
+      

Modified: avalon/trunk/planet/facilities/http/impl/src/main/org/apache/avalon/http/impl/SecurityHandler.java
==============================================================================
--- avalon/trunk/planet/facilities/http/impl/src/main/org/apache/avalon/http/impl/SecurityHandler.java	(original)
+++ avalon/trunk/planet/facilities/http/impl/src/main/org/apache/avalon/http/impl/SecurityHandler.java	Fri Jul 30 23:15:56 2004
@@ -89,20 +89,22 @@
         throws ParameterException
     {
         m_Index = params.getParameterAsInteger( "handler-index", -1 );
-        
-        String authMethod = params.getParameter( "authentication-method", null );
-        if( authMethod != null )
-            setAuthMethod( authMethod );
     }
 
     /**  
      * @avalon.dependency type="org.apache.avalon.http.HttpContextService"
      *                    key="http-context" 
+     * @avalon.dependency type="org.mortbay.http.Authenticator"
+     *                    key="authenticator" 
      */
     public void service( ServiceManager man )
         throws ServiceException
     {
         m_Context = (HttpContextService) man.lookup( "http-context" );
+        
+        // The dependency on Authenticator is to ensure that the Authenticator
+        // has been assigned to the HttpContext before the SecurityHandler
+        // is being started, since it otherwise will set another Authenticator.
     }
  
     public void start()
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.