From scm-return-28073-apmail-geronimo-scm-archive=geronimo.apache.org@geronimo.apache.org Tue May 06 17:24:05 2008 Return-Path: Delivered-To: apmail-geronimo-scm-archive@www.apache.org Received: (qmail 1876 invoked from network); 6 May 2008 17:24:03 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.2) by minotaur.apache.org with SMTP; 6 May 2008 17:24:03 -0000 Received: (qmail 75613 invoked by uid 500); 6 May 2008 17:24:04 -0000 Delivered-To: apmail-geronimo-scm-archive@geronimo.apache.org Received: (qmail 75572 invoked by uid 500); 6 May 2008 17:24:04 -0000 Mailing-List: contact scm-help@geronimo.apache.org; run by ezmlm Precedence: bulk list-help: list-unsubscribe: List-Post: Reply-To: dev@geronimo.apache.org List-Id: Delivered-To: mailing list scm@geronimo.apache.org Received: (qmail 75561 invoked by uid 99); 6 May 2008 17:24:04 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 06 May 2008 10:24:04 -0700 X-ASF-Spam-Status: No, hits=-2000.0 required=10.0 tests=ALL_TRUSTED X-Spam-Check-By: apache.org Received: from [140.211.11.4] (HELO eris.apache.org) (140.211.11.4) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 06 May 2008 17:23:10 +0000 Received: by eris.apache.org (Postfix, from userid 65534) id 0A601238899B; Tue, 6 May 2008 10:23:31 -0700 (PDT) Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: svn commit: r653845 - in /geronimo/server/trunk: plugins/client/client-security/src/main/plan/ testsuite/enterprise-testsuite/sec-client/ testsuite/enterprise-testsuite/sec-client/src/ testsuite/enterprise-testsuite/sec-client/src/main/ testsuite/enter... Date: Tue, 06 May 2008 17:23:30 -0000 To: scm@geronimo.apache.org From: gawor@apache.org X-Mailer: svnmailer-1.0.8 Message-Id: <20080506172331.0A601238899B@eris.apache.org> X-Virus-Checked: Checked by ClamAV on apache.org Author: gawor Date: Tue May 6 10:23:29 2008 New Revision: 653845 URL: http://svn.apache.org/viewvc?rev=653845&view=rev Log: update option name for LoginModule in app client config and add a basic test to test app client security (GERONIMO-3990) Added: geronimo/server/trunk/testsuite/enterprise-testsuite/sec-client/ geronimo/server/trunk/testsuite/enterprise-testsuite/sec-client/pom.xml (with props) geronimo/server/trunk/testsuite/enterprise-testsuite/sec-client/src/ geronimo/server/trunk/testsuite/enterprise-testsuite/sec-client/src/main/ geronimo/server/trunk/testsuite/enterprise-testsuite/sec-client/src/main/java/ geronimo/server/trunk/testsuite/enterprise-testsuite/sec-client/src/main/java/org/ geronimo/server/trunk/testsuite/enterprise-testsuite/sec-client/src/main/java/org/apache/ geronimo/server/trunk/testsuite/enterprise-testsuite/sec-client/src/main/java/org/apache/geronimo/ geronimo/server/trunk/testsuite/enterprise-testsuite/sec-client/src/main/java/org/apache/geronimo/test/ geronimo/server/trunk/testsuite/enterprise-testsuite/sec-client/src/main/java/org/apache/geronimo/test/TestCallbackHandler.java (with props) geronimo/server/trunk/testsuite/enterprise-testsuite/sec-client/src/main/java/org/apache/geronimo/test/TestClient.java (with props) geronimo/server/trunk/testsuite/enterprise-testsuite/sec-client/src/main/resources/ geronimo/server/trunk/testsuite/enterprise-testsuite/sec-client/src/main/resources/META-INF/ geronimo/server/trunk/testsuite/enterprise-testsuite/sec-client/src/main/resources/META-INF/application-client.xml (with props) geronimo/server/trunk/testsuite/enterprise-testsuite/sec-client/src/main/resources/META-INF/geronimo-application-client.xml (with props) geronimo/server/trunk/testsuite/enterprise-testsuite/sec-client/src/test/ geronimo/server/trunk/testsuite/enterprise-testsuite/sec-client/src/test/java/ geronimo/server/trunk/testsuite/enterprise-testsuite/sec-client/src/test/java/org/ geronimo/server/trunk/testsuite/enterprise-testsuite/sec-client/src/test/java/org/apache/ geronimo/server/trunk/testsuite/enterprise-testsuite/sec-client/src/test/java/org/apache/geronimo/ geronimo/server/trunk/testsuite/enterprise-testsuite/sec-client/src/test/java/org/apache/geronimo/testsuite/ geronimo/server/trunk/testsuite/enterprise-testsuite/sec-client/src/test/java/org/apache/geronimo/testsuite/testset/ geronimo/server/trunk/testsuite/enterprise-testsuite/sec-client/src/test/java/org/apache/geronimo/testsuite/testset/ClientTest.java (with props) geronimo/server/trunk/testsuite/enterprise-testsuite/sec-client/src/test/resources/ geronimo/server/trunk/testsuite/enterprise-testsuite/sec-client/src/test/resources/testng.xml (with props) Modified: geronimo/server/trunk/plugins/client/client-security/src/main/plan/plan.xml Modified: geronimo/server/trunk/plugins/client/client-security/src/main/plan/plan.xml URL: http://svn.apache.org/viewvc/geronimo/server/trunk/plugins/client/client-security/src/main/plan/plan.xml?rev=653845&r1=653844&r2=653845&view=diff ============================================================================== --- geronimo/server/trunk/plugins/client/client-security/src/main/plan/plan.xml (original) +++ geronimo/server/trunk/plugins/client/client-security/src/main/plan/plan.xml Tue May 6 10:23:29 2008 @@ -60,7 +60,7 @@ default org.apache.geronimo.security.realm.providers.NamedUsernamePasswordCredentialLoginModule - default + default Added: geronimo/server/trunk/testsuite/enterprise-testsuite/sec-client/pom.xml URL: http://svn.apache.org/viewvc/geronimo/server/trunk/testsuite/enterprise-testsuite/sec-client/pom.xml?rev=653845&view=auto ============================================================================== --- geronimo/server/trunk/testsuite/enterprise-testsuite/sec-client/pom.xml (added) +++ geronimo/server/trunk/testsuite/enterprise-testsuite/sec-client/pom.xml Tue May 6 10:23:29 2008 @@ -0,0 +1,144 @@ + + + + + + + + 4.0.0 + + + org.apache.geronimo.testsuite + enterprise-testsuite + 2.2-SNAPSHOT + + + sec-client + Geronimo TestSuite :: Enterprise Testsuite :: App Client Security Test + jar + + This project executes testcases for your testsuite + + + ${basedir}/target/client.log + + + + + org.apache.geronimo.framework + geronimo-security + ${version} + provided + + + + + + + org.apache.maven.plugins + maven-jar-plugin + + + + org.apache.geronimo.test.TestClient + + + + + + + org.apache.geronimo.buildsupport + testsuite-maven-plugin + + + generate-surefire-xml + install + + generate-surefire-xml + + + + true + + + + + + + org.apache.maven.plugins + maven-surefire-plugin + + + + clientLogFile + ${clientLogFile} + + + + + + + org.apache.geronimo.buildsupport + geronimo-maven-plugin + + + deploy-client + pre-integration-test + + deploy-module + + + ${project.build.directory}/${artifactId}-${version}.jar + + + + + pre-integration-test + run-client + + run-client + + + JEE5/SecClient/1.1/jar + true + ${clientLogFile} + + + + + undeploy-client-as-moduleId + post-integration-test + + undeploy-module + + + JEE5/SecClientServer/1.1/jar + + + + + + + + + Propchange: geronimo/server/trunk/testsuite/enterprise-testsuite/sec-client/pom.xml ------------------------------------------------------------------------------ svn:eol-style = native Added: geronimo/server/trunk/testsuite/enterprise-testsuite/sec-client/src/main/java/org/apache/geronimo/test/TestCallbackHandler.java URL: http://svn.apache.org/viewvc/geronimo/server/trunk/testsuite/enterprise-testsuite/sec-client/src/main/java/org/apache/geronimo/test/TestCallbackHandler.java?rev=653845&view=auto ============================================================================== --- geronimo/server/trunk/testsuite/enterprise-testsuite/sec-client/src/main/java/org/apache/geronimo/test/TestCallbackHandler.java (added) +++ geronimo/server/trunk/testsuite/enterprise-testsuite/sec-client/src/main/java/org/apache/geronimo/test/TestCallbackHandler.java Tue May 6 10:23:29 2008 @@ -0,0 +1,43 @@ +/** + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.geronimo.test; + +import java.io.IOException; +import javax.security.auth.callback.CallbackHandler; +import javax.security.auth.callback.Callback; +import javax.security.auth.callback.UnsupportedCallbackException; +import javax.security.auth.callback.NameCallback; +import javax.security.auth.callback.PasswordCallback; + +public class TestCallbackHandler implements CallbackHandler { + + public void handle(Callback[] callbacks) throws IOException, UnsupportedCallbackException { + for (int i = 0; i < callbacks.length; i++) { + Callback callback = callbacks[i]; + if (callback instanceof NameCallback) { + ((NameCallback)callback).setName("system"); + } else if (callback instanceof PasswordCallback) { + ((PasswordCallback)callback).setPassword("manager".toCharArray()); + } else { + throw new UnsupportedCallbackException(callback); + } + System.out.println("CallbackHandler set user=system, password=manager"); + } + } +} Propchange: geronimo/server/trunk/testsuite/enterprise-testsuite/sec-client/src/main/java/org/apache/geronimo/test/TestCallbackHandler.java ------------------------------------------------------------------------------ svn:eol-style = native Added: geronimo/server/trunk/testsuite/enterprise-testsuite/sec-client/src/main/java/org/apache/geronimo/test/TestClient.java URL: http://svn.apache.org/viewvc/geronimo/server/trunk/testsuite/enterprise-testsuite/sec-client/src/main/java/org/apache/geronimo/test/TestClient.java?rev=653845&view=auto ============================================================================== --- geronimo/server/trunk/testsuite/enterprise-testsuite/sec-client/src/main/java/org/apache/geronimo/test/TestClient.java (added) +++ geronimo/server/trunk/testsuite/enterprise-testsuite/sec-client/src/main/java/org/apache/geronimo/test/TestClient.java Tue May 6 10:23:29 2008 @@ -0,0 +1,45 @@ +/** + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.geronimo.test; + +import java.io.IOException; +import java.io.PrintWriter; + +import org.apache.geronimo.security.ContextManager; + +public class TestClient { + + public static void main(String [] args) throws Exception { + + try { + test(); + } catch (Exception e) { + e.printStackTrace(); + } + + // needs to be forced because of a bug + System.exit(0); + } + + public static void test() throws Exception { + System.out.println("Hello World!"); + System.out.println("Context: " + ContextManager.getCurrentCaller()); + } + +} Propchange: geronimo/server/trunk/testsuite/enterprise-testsuite/sec-client/src/main/java/org/apache/geronimo/test/TestClient.java ------------------------------------------------------------------------------ svn:eol-style = native Added: geronimo/server/trunk/testsuite/enterprise-testsuite/sec-client/src/main/resources/META-INF/application-client.xml URL: http://svn.apache.org/viewvc/geronimo/server/trunk/testsuite/enterprise-testsuite/sec-client/src/main/resources/META-INF/application-client.xml?rev=653845&view=auto ============================================================================== --- geronimo/server/trunk/testsuite/enterprise-testsuite/sec-client/src/main/resources/META-INF/application-client.xml (added) +++ geronimo/server/trunk/testsuite/enterprise-testsuite/sec-client/src/main/resources/META-INF/application-client.xml Tue May 6 10:23:29 2008 @@ -0,0 +1,27 @@ + + + + + + Test Client + + + Propchange: geronimo/server/trunk/testsuite/enterprise-testsuite/sec-client/src/main/resources/META-INF/application-client.xml ------------------------------------------------------------------------------ svn:eol-style = native Added: geronimo/server/trunk/testsuite/enterprise-testsuite/sec-client/src/main/resources/META-INF/geronimo-application-client.xml URL: http://svn.apache.org/viewvc/geronimo/server/trunk/testsuite/enterprise-testsuite/sec-client/src/main/resources/META-INF/geronimo-application-client.xml?rev=653845&view=auto ============================================================================== --- geronimo/server/trunk/testsuite/enterprise-testsuite/sec-client/src/main/resources/META-INF/geronimo-application-client.xml (added) +++ geronimo/server/trunk/testsuite/enterprise-testsuite/sec-client/src/main/resources/META-INF/geronimo-application-client.xml Tue May 6 10:23:29 2008 @@ -0,0 +1,43 @@ + + + + + + + JEE5 + SecClient + 1.1 + jar + + + + + + JEE5 + SecClientServer + 1.1 + jar + + + + client-properties-realm + org.apache.geronimo.test.TestCallbackHandler + + Propchange: geronimo/server/trunk/testsuite/enterprise-testsuite/sec-client/src/main/resources/META-INF/geronimo-application-client.xml ------------------------------------------------------------------------------ svn:eol-style = native Added: geronimo/server/trunk/testsuite/enterprise-testsuite/sec-client/src/test/java/org/apache/geronimo/testsuite/testset/ClientTest.java URL: http://svn.apache.org/viewvc/geronimo/server/trunk/testsuite/enterprise-testsuite/sec-client/src/test/java/org/apache/geronimo/testsuite/testset/ClientTest.java?rev=653845&view=auto ============================================================================== --- geronimo/server/trunk/testsuite/enterprise-testsuite/sec-client/src/test/java/org/apache/geronimo/testsuite/testset/ClientTest.java (added) +++ geronimo/server/trunk/testsuite/enterprise-testsuite/sec-client/src/test/java/org/apache/geronimo/testsuite/testset/ClientTest.java Tue May 6 10:23:29 2008 @@ -0,0 +1,63 @@ +/** + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.geronimo.testsuite.testset; + +import java.io.BufferedReader; +import java.io.IOException; +import java.io.InputStreamReader; +import java.io.FileInputStream; + +import org.apache.geronimo.testsupport.TestSupport; +import org.testng.annotations.Test; + +public class ClientTest extends TestSupport { + + @Test + public void testClient() throws Exception { + String outputFile = System.getProperty("clientLogFile"); + assertNotNull(outputFile); + FileInputStream in = null; + try { + in = new FileInputStream(outputFile); + BufferedReader reader = + new BufferedReader(new InputStreamReader(in)); + String output = toString(reader); + + assertTrue("Expected Hello World", output.indexOf("Hello World!") != -1); + assertTrue("Expected Principal", output.indexOf("Principal: system") != -1); + + } finally { + if (in != null) { + in.close(); + } + } + } + + private String toString(BufferedReader reader) + throws IOException { + StringBuffer buf = new StringBuffer(); + String line = null; + while ((line = reader.readLine()) != null) { + System.out.println(line); + buf.append(line).append("\n"); + } + return buf.toString(); + } + +} Propchange: geronimo/server/trunk/testsuite/enterprise-testsuite/sec-client/src/test/java/org/apache/geronimo/testsuite/testset/ClientTest.java ------------------------------------------------------------------------------ svn:eol-style = native Added: geronimo/server/trunk/testsuite/enterprise-testsuite/sec-client/src/test/resources/testng.xml URL: http://svn.apache.org/viewvc/geronimo/server/trunk/testsuite/enterprise-testsuite/sec-client/src/test/resources/testng.xml?rev=653845&view=auto ============================================================================== --- geronimo/server/trunk/testsuite/enterprise-testsuite/sec-client/src/test/resources/testng.xml (added) +++ geronimo/server/trunk/testsuite/enterprise-testsuite/sec-client/src/test/resources/testng.xml Tue May 6 10:23:29 2008 @@ -0,0 +1,32 @@ + + + + + + + + + + + + + + + Propchange: geronimo/server/trunk/testsuite/enterprise-testsuite/sec-client/src/test/resources/testng.xml ------------------------------------------------------------------------------ svn:eol-style = native