You are viewing a plain text version of this content. The canonical link for it is here.
Posted to cvs@avalon.apache.org by ni...@apache.org on 2004/07/31 08:15:57 UTC

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

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()

---------------------------------------------------------------------
To unsubscribe, e-mail: cvs-unsubscribe@avalon.apache.org
For additional commands, e-mail: cvs-help@avalon.apache.org