http://git-wip-us.apache.org/repos/asf/oodt/blob/098cc4fa/pushpull/src/site/xdoc/development/maven.xml ---------------------------------------------------------------------- diff --git a/pushpull/src/site/xdoc/development/maven.xml b/pushpull/src/site/xdoc/development/maven.xml deleted file mode 100755 index d79f341..0000000 --- a/pushpull/src/site/xdoc/development/maven.xml +++ /dev/null @@ -1,176 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!-- -Licensed to the Apache Software Foundation (ASF) under one or more contributor -license agreements. See the NOTICE.txt 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. ---> -<document> - <properties> - <title>Using Maven</title> - <author email="[email protected]">David Woollard</author> - <author email="[email protected]">Sean Hardman</author> - </properties> - - <body> - <section name="Using Maven"> - <p>OODT uses <a href="http://maven.apache.org/">Maven</a> for - managing our build environment. Maven is an open source product from the - <a href="http://www.apache.org/">Apache Software Foundation</a> that improves - on <a href="http://ant.apache.org/">Ant</a> in the area of build management, - which it turn was an improvement on Make. This document describes the use of - Maven for Apache OODT build management.</p> - </section> - - <section name="Setup"> - <p>Maven can be downloaded from the - <a href="http://maven.apache.org/download.html">Maven Download</a> - page. OODT is using version 2.0 and above. Maven was developed in Java so it - will run on the popular platforms (e.g., Windows, Mac OSX, etc.). Beyond - making sure the <i>mvn</i> executable is in your path, there is very little - setup required.</p> - - <p>Maven is based on the concept of a Project Object Model (POM) which is - contained in the <i>pom.xml</i> file found at the root of each project. - The POM allows Maven to manage a project's build, reporting and documentation. - For OODT, much of the default information for managing the projects is - contained in a parent POM, which is located in the <i>oodt-core</i> project. So, - in order to build any of the other projects (e.g., cas-curator, cas-filemgr, - etc.) the parent POM must be downloaded from the OODT Maven repository. The - local <i>pom.xml</i> files for each of the projects have been configured to - retrieve the parent POM automatically.</p> - - <p>Once Maven has been setup, the first step to building a project with Maven - is to checkout a project's source code into the developer's work area. See the - <a href="../development/subversion.html">Using Subversion</a> document for how to - check out projects from the CM repository.</p> - </section> - - <section name="Project Structure"> - <p>In order for default Maven functions to operate properly, there is a - suggested project directory structure. The structure is as follows:</p> - - <source> -/ - src/ Source Code (everything) - main/ Program Source - assembly/ Package Descriptor - java/ Java Source - resources/ Scripts, Config File, etc. - ... - test/ Test Source - java/ - resources/ - ... - site/ Site Documentation - apt/ Docs in APT Format - index.apt - ... - xdoc/ Docs in XDOC Format - index.xml - ... - resources/ - images/ - site.xml Menu Structure - - target/ Build Results (binaries, docs and packages) - ... - - LICENSE.txt - README.txt - pom.xml Project Object Model (POM) - </source> - </section> - - <section name="Standard Commands"> - <p>There are few standard commands that developers will use on a daily basis - and they are related to building and cleaning a project.</p> - <subsection name="Build a Project"> - <p>Build the project's libraries and executables with the following - command:</p> - <source> -mvn compile - </source> - <p>The above command will generate the artifacts in the <i>target/</i> - directory.</p> - </subsection> - <subsection name="Install a Project"> - <p>Install the project's artifacts locally with the following command:</p> - <source> -mvn install - </source> - <p>Prior to installation, the above command will compile the source code, - if necessary, and execute the unit tests. The result of the above command - is to install the generated artifacts (e.g. pom, jar, etc.) in the user's - local Maven repository ($HOME/.m2/repository/). This is useful when the - artifact is a dependency for another project but has yet to be deployed - to the Maven repository.</p> - </subsection> - <subsection name="Package a Project"> - <p>Create the project's distribution package with the following command:</p> - <source> -mvn package - </source> - <p>Prior to package creation, the above command will compile the source - code, if necessary, and execute the unit tests. The above command will - create the package(s) in the target/ directory.</p> - </subsection> - <subsection name="Build a Project's Web Site"> - <p>Build the project's web site with the following command:</p> - <source> -mvn site - </source> - <p>The above command will generate the web site in the <i>target/site/</i> - directory. View the site by pointing your web browser at the - <i>index.html</i> file within that directory.</p> - </subsection> - <subsection name="Clean a Project"> - <p>Clean out the project directory of generated artifacts with the - following command:</p> - <source> -mvn clean - </source> - <p>The above command will remove the <i>target/</i> directory and its - contents.</p> - </subsection> - <subsection name="Useful Command Arguments"> - <p>There a couple of useful arguments which can be appended to the - commands above to limit the scope of the command.</p> - <p>In order to skip unit test execution, add the following argument:</p> - <source> -mvn [command] -Dmaven.test.skip=true - </source> - <p>The above command is most useful with the <i>install</i>, - <i>package</i> and <i>site</i> commands.</p> - <p>When a project has modules defined in the POM, the command can be - performed against the top level of the project instead of the modules by - adding the following argument:</p> - <source> -mvn [command] --non-recursive - </source> - </subsection> - </section> - <section name="Acknowledgments"> - <p>Much of the material in this Maven guide was originally authored - by Sean Hardman under the sponsorship of NASA Jet Propulsion - Laboratory's Planetary Data System. </p> - </section> - <section name="References"> - <p>Here is a list of Maven resources:</p> - <ul> - <li><a href="http://maven.apache.org/guides/index.html">Online - Documentation Index</a></li> - </ul> - </section> - </body> -</document>
http://git-wip-us.apache.org/repos/asf/oodt/blob/098cc4fa/pushpull/src/site/xdoc/user/advanced.xml ---------------------------------------------------------------------- diff --git a/pushpull/src/site/xdoc/user/advanced.xml b/pushpull/src/site/xdoc/user/advanced.xml deleted file mode 100644 index ecd3ad4..0000000 --- a/pushpull/src/site/xdoc/user/advanced.xml +++ /dev/null @@ -1,50 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!-- -Licensed to the Apache Software Foundation (ASF) under one or more contributor -license agreements. See the NOTICE.txt 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. ---> -<document> - <properties> - <title>CAS Push Pull User Guide</title> - <author email="[email protected]">Chris Mattmann</author> - <author email="[email protected]">Dave Woollard</author> - </properties> - - <body> - <div class="warning">This document is in the process of being reorganized as - part of our ongoing documentation effort. Please check back for updates.</div> - - <section name="Introduction"> - - <p>In the CAS Push Pull Framework Advanced User Guide, we will cover a number of - advanced topics related to using the system, including situations - that have arisen in the authors' experiences. Basic - concepts, such as installation and configuration, can be found in the - <a href="../user/basic.html">Basic User Guide</a>.</p> - - <p>The remainder of this guide is separated into the following sections:</p> - <ul> - <li><a href="#section1">TBD</a></li> - </ul> - - </section> - - <a name="section1"/> - <section name="TBD"> - <p>Coming Soon...</p> - </section> - - </body> -</document> http://git-wip-us.apache.org/repos/asf/oodt/blob/098cc4fa/pushpull/src/site/xdoc/user/basic.xml ---------------------------------------------------------------------- diff --git a/pushpull/src/site/xdoc/user/basic.xml b/pushpull/src/site/xdoc/user/basic.xml deleted file mode 100644 index 2aee3e5..0000000 --- a/pushpull/src/site/xdoc/user/basic.xml +++ /dev/null @@ -1,50 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!-- -Licensed to the Apache Software Foundation (ASF) under one or more contributor -license agreements. See the NOTICE.txt 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. ---> -<document> - <properties> - <title>CAS Push Pull User Guide</title> - <author email="[email protected]">Chris Mattmann</author> - <author email="[email protected]">Dave Woollard</author> - </properties> - - <body> - <div class="warning">This document is in the process of being reorganized as - part of our ongoing documentation effort. Please check back for updates.</div> - - <section name="Introduction"> - - <p>This document serves as a basic user's guide for the CAS Push Pull Framework - project. The goal of the document is to allow users to check out, build, and - install a base version of the CAS Push Pull Framework as well as perform basic - configuration tasks. For advanced topics, please see our - <a href="../user/advanced.html">Advanced Guide.</a></p> - - <p>The remainder of this guide is separated into the following sections:</p> - <ul> - <li><a href="#section1">TBD</a></li> - </ul> - - </section> - - <a name="section1"/> - <section name="TBD"> - <p>Coming Soon...</p> - </section> - - </body> -</document> http://git-wip-us.apache.org/repos/asf/oodt/blob/098cc4fa/pushpull/src/site/xdoc/user/index.xml ---------------------------------------------------------------------- diff --git a/pushpull/src/site/xdoc/user/index.xml b/pushpull/src/site/xdoc/user/index.xml deleted file mode 100644 index 6b3c916..0000000 --- a/pushpull/src/site/xdoc/user/index.xml +++ /dev/null @@ -1,49 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!-- -Licensed to the Apache Software Foundation (ASF) under one or more contributor -license agreements. See the NOTICE.txt 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. ---> -<document> - <properties> - <title>CAS Push Pull Framework User Guide</title> - <author email="[email protected]">Chris Mattmann</author> - <author email="[email protected]">Dave Woollard</author> - </properties> - - <body> - - <div class="warning">This document is in the process of being reorganized as - part of our ongoing documentation effort. Please follow the links below to find - information that has previously been hosted on this page.</div> - - - <p>We are in the process of upgrading OODT documentation. In the near - future, we hope to provide information for developers regarding each - component, including its purpose, structure, interfaces, and - configuration points in a <a href="../development/developer.html">Developer - Guide.</a></p> - - <p>Information for users, including installation and basic configuration, - as well as example usage are provided in a - <a href="../user/basic.html">Basic User Guide.</a> Advanced topics, like - look and feel, lessons-learned, and best practices are provided in an - <a href="../user/advanced.html">Advanced User Guide.</a></p> - - <p>Finally, we are planning to provide a number of case studies in the - future, in which multi-component deployments are configured to handle - common data and computation management scenarios.</p> - - </body> -</document> http://git-wip-us.apache.org/repos/asf/oodt/blob/098cc4fa/pushpull/src/test/org/apache/oodt/cas/pushpull/filerestrictions/parsers/GenericEmailParserTest.java ---------------------------------------------------------------------- diff --git a/pushpull/src/test/org/apache/oodt/cas/pushpull/filerestrictions/parsers/GenericEmailParserTest.java b/pushpull/src/test/org/apache/oodt/cas/pushpull/filerestrictions/parsers/GenericEmailParserTest.java deleted file mode 100644 index e098c87..0000000 --- a/pushpull/src/test/org/apache/oodt/cas/pushpull/filerestrictions/parsers/GenericEmailParserTest.java +++ /dev/null @@ -1,75 +0,0 @@ -/* - * 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.oodt.cas.pushpull.filerestrictions.parsers; - -// JUnit static imports -import static org.junit.Assert.assertThat; - - -// JDK imports -import java.io.File; -import java.io.FileInputStream; -import java.io.FileNotFoundException; -import java.net.URISyntaxException; -import java.util.List; - - -import org.apache.oodt.cas.metadata.Metadata; -// OODT imports -import org.apache.oodt.cas.pushpull.exceptions.ParserException; -import org.apache.oodt.cas.pushpull.filerestrictions.FileRestrictions; -import org.apache.oodt.cas.pushpull.filerestrictions.VirtualFileStructure; - -// JUnit imports -import org.hamcrest.Matchers; -import org.junit.Before; -import org.junit.Test; -import org.junit.runner.RunWith; -import org.junit.runners.JUnit4; - -/** - * Test class for {@link GenericEmailParser}. - * - * @author [email protected] (Brian Foster) - */ -@RunWith(JUnit4.class) -public class GenericEmailParserTest { - - private File emailFile; - - @Before - public void setUp() throws URISyntaxException { - emailFile = new File(ClassLoader.getSystemResource("TestEmail.txt").toURI()); - } - - @Test - public void testGenericEmailParser() throws ParserException, FileNotFoundException { - GenericEmailParser parser = new GenericEmailParser( - "Wav File: ([^\\s]+)", "Dear Lousy Customer,", null); - VirtualFileStructure vfs = parser.parse(new FileInputStream(emailFile), new Metadata()); - List<String> filePaths = FileRestrictions.toStringList(vfs.getRootVirtualFile()); - assertThat(filePaths.size(), Matchers.is(1)); - assertThat(filePaths.get(0), Matchers.is("/some/path/to/a/wav/file.wav")); - } - - @Test (expected = ParserException.class) - public void testFailedValidEmailCheck() throws ParserException, FileNotFoundException { - GenericEmailParser parser = new GenericEmailParser( - "Wav File: ([^\\s]+)", "Phrase Not Found", null); - parser.parse(new FileInputStream(emailFile), new Metadata()); - } -} http://git-wip-us.apache.org/repos/asf/oodt/blob/098cc4fa/pushpull/src/test/resources/TestEmail.txt ---------------------------------------------------------------------- diff --git a/pushpull/src/test/resources/TestEmail.txt b/pushpull/src/test/resources/TestEmail.txt deleted file mode 100644 index fd5a7fa..0000000 --- a/pushpull/src/test/resources/TestEmail.txt +++ /dev/null @@ -1,16 +0,0 @@ - -Dear Lousy Customer, - -Your file is ready to download. - -File size: 12345 - -Wav File: /some/path/to/a/wav/file.wav - -MDB Hash File: /some/path/to/a/md5/file.md5 - -Thanks! -Files-R-Us - -PS -You only get this notification once so download now!!!!! http://git-wip-us.apache.org/repos/asf/oodt/blob/098cc4fa/sso/pom.xml ---------------------------------------------------------------------- diff --git a/sso/pom.xml b/sso/pom.xml deleted file mode 100644 index cdb59a2..0000000 --- a/sso/pom.xml +++ /dev/null @@ -1,75 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!-- -Licensed to the Apache Software Foundation (ASF) under one or more contributor -license agreements. See the NOTICE.txt 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. ---> -<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> - <modelVersion>4.0.0</modelVersion> - <parent> - <groupId>org.apache.oodt</groupId> - <artifactId>oodt-core</artifactId> - <version>1.1-SNAPSHOT</version> - <relativePath>../core/pom.xml</relativePath> - </parent> - <artifactId>oodt-sso</artifactId> - <packaging>jar</packaging> - <name>OODT Single Sign On Security Package</name> - <properties /> - <!-- All dependencies should be listed in core/pom.xml and be ordered alphabetically by package and artifact. - Once the dependency is in the core pom, it can then be used in other modules without the version tags. - For example, within core/pom.xml: - - <dependency> - <groupId>com.amazonaws</groupId> - <artifactId>aws-java-sdk</artifactId> - <version>1.7.4</version> - </dependency> - - Elsewhere in the platform: - <dependency> - <groupId>com.amazonaws</groupId> - <artifactId>aws-java-sdk</artifactId> - </dependency> - - Where possible the same dependency version should be used across the whole platform but if required the version - can be overridden in a specific pom and should have a comment explaing why the version has been overridden - --> - <dependencies> - <dependency> - <groupId>commons-codec</groupId> - <artifactId>commons-codec</artifactId> - <version>1.3</version> - </dependency> - <dependency> - <groupId>commons-httpclient</groupId> - <artifactId>commons-httpclient</artifactId> - <version>3.0</version> - </dependency> - <dependency> - <groupId>javax.servlet</groupId> - <artifactId>servlet-api</artifactId> - <version>2.4</version> - </dependency> - <dependency> - <groupId>org.apache.oodt</groupId> - <artifactId>cas-metadata</artifactId> - <version>${project.parent.version}</version> - </dependency> - </dependencies> - <build> - <plugins /> - </build> - <distributionManagement /> -</project> http://git-wip-us.apache.org/repos/asf/oodt/blob/098cc4fa/sso/src/main/java/org/apache/oodt/security/sso/AbstractWebBasedSingleSignOn.java ---------------------------------------------------------------------- diff --git a/sso/src/main/java/org/apache/oodt/security/sso/AbstractWebBasedSingleSignOn.java b/sso/src/main/java/org/apache/oodt/security/sso/AbstractWebBasedSingleSignOn.java deleted file mode 100644 index 1ad57cb..0000000 --- a/sso/src/main/java/org/apache/oodt/security/sso/AbstractWebBasedSingleSignOn.java +++ /dev/null @@ -1,90 +0,0 @@ -/* - * 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.oodt.security.sso; - -//JDK imports -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; - -/** - * - * Abstract class providing an HTTP request and response interface pair to allow - * for persistence and management of state information related to SingleSignOn. - * - * @author mattmann - * @version $Revision$ - * - */ -public abstract class AbstractWebBasedSingleSignOn implements SingleSignOn { - - protected HttpServletResponse res; - - protected HttpServletRequest req; - - public AbstractWebBasedSingleSignOn() { - this.req = null; - this.res = null; - } - - /** - * Constructs a new {@link AbstractWebBasedSingleSignOn} with the given HTTP - * request and response. - * - * @param res - * The {@link HttpServletRequest}. - * @param req - * The {@link HttpServletResponse}. - */ - public AbstractWebBasedSingleSignOn(HttpServletResponse res, - HttpServletRequest req) { - this.res = res; - this.req = req; - } - - /** - * @return the res - */ - public HttpServletResponse getRes() { - return res; - } - - /** - * @param res - * the res to set - */ - public void setRes(HttpServletResponse res) { - this.res = res; - } - - /** - * @return the req - */ - public HttpServletRequest getReq() { - return req; - } - - /** - * @param req - * the req to set - */ - public void setReq(HttpServletRequest req) { - this.req = req; - } - -} http://git-wip-us.apache.org/repos/asf/oodt/blob/098cc4fa/sso/src/main/java/org/apache/oodt/security/sso/DummyImpl.java ---------------------------------------------------------------------- diff --git a/sso/src/main/java/org/apache/oodt/security/sso/DummyImpl.java b/sso/src/main/java/org/apache/oodt/security/sso/DummyImpl.java deleted file mode 100644 index dfc88be..0000000 --- a/sso/src/main/java/org/apache/oodt/security/sso/DummyImpl.java +++ /dev/null @@ -1,102 +0,0 @@ -/* - * 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.oodt.security.sso; - -//JDK imports -import java.util.Collections; -import java.util.List; - -/** - * - * Dummy implementation of SSO auth -- if you're logged in, it logs you out. If - * you're logged out, it logs you in. Both are independent of the actual - * username/password combination you enter. On top of that, your username will - * always be <code>guest</code>. - * - * @author mattmann - * @version $Revision$ - * - */ -public class DummyImpl extends AbstractWebBasedSingleSignOn { - - private static final String DEFAULT_USERNAME = "guest"; - - private static final String DEFAULT_GROUP = "guest"; - - private boolean connected = false; - - /* - * (non-Javadoc) - * - * @see org.apache.oodt.cas.security.sso.SingleSignOn#getCurrentUsername() - */ - public String getCurrentUsername() { - return DEFAULT_USERNAME; - } - - /* - * (non-Javadoc) - * - * @see - * org.apache.oodt.cas.security.sso.SingleSignOn#getLastConnectionStatus() - */ - public boolean getLastConnectionStatus() { - // TODO Auto-generated method stub - return this.connected; - } - - /* - * (non-Javadoc) - * - * @see org.apache.oodt.cas.security.sso.SingleSignOn#isLoggedIn() - */ - public boolean isLoggedIn() { - // TODO Auto-generated method stub - return this.connected; - } - - /* - * (non-Javadoc) - * - * @see - * org.apache.oodt.cas.security.sso.SingleSignOn#login(java.lang.String, - * java.lang.String) - */ - public boolean login(String username, String password) { - this.connected = true; - return true; - } - - /* - * (non-Javadoc) - * - * @see org.apache.oodt.cas.security.sso.SingleSignOn#logout() - */ - public void logout() { - this.connected = false; - } - - /* (non-Javadoc) - * @see org.apache.oodt.cas.security.sso.SingleSignOn#retrieveGroupsForUser(java.lang.String) - */ - public List<String> retrieveGroupsForUser(String username) { - return Collections.singletonList(DEFAULT_GROUP); - } - -} http://git-wip-us.apache.org/repos/asf/oodt/blob/098cc4fa/sso/src/main/java/org/apache/oodt/security/sso/OpenSSOImpl.java ---------------------------------------------------------------------- diff --git a/sso/src/main/java/org/apache/oodt/security/sso/OpenSSOImpl.java b/sso/src/main/java/org/apache/oodt/security/sso/OpenSSOImpl.java deleted file mode 100755 index 0c0db54..0000000 --- a/sso/src/main/java/org/apache/oodt/security/sso/OpenSSOImpl.java +++ /dev/null @@ -1,190 +0,0 @@ -/** - * 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.oodt.security.sso; - -import org.apache.commons.codec.binary.Base64; -import org.apache.oodt.security.sso.opensso.SSOMetKeys; -import org.apache.oodt.security.sso.opensso.SSOProxy; -import org.apache.oodt.security.sso.opensso.SingleSignOnException; -import org.apache.oodt.security.sso.opensso.UserDetails; - -import java.io.IOException; -import java.util.Collections; -import java.util.List; -import java.util.Vector; -import java.util.logging.Level; -import java.util.logging.Logger; - -import javax.servlet.http.Cookie; - -/** - * - * Connects to OpenSSO's authorization endpoint and authenticates a user, - * implementing the CAS {@link AbstractWebBasedSingleSignOn} interface. This - * class can be used in e.g., CAS curator to link into Open SSO. - */ -public class OpenSSOImpl extends AbstractWebBasedSingleSignOn implements - SSOMetKeys { - - private static final Logger LOG = Logger.getLogger(OpenSSOImpl.class - .getName()); - - private SSOProxy ssoProxy; - - /** - * Default constructor. - */ - public OpenSSOImpl() { - this.ssoProxy = new SSOProxy(); - } - - public String getCurrentUsername() { - String cookieVal = this.getCookieVal(USER_COOKIE_KEY); - if (cookieVal == null) { - // let's try and get the SSO token - // and pull the username from there - String ssoToken = this.getSSOToken(); - if (ssoToken != null) { - UserDetails details; - try { - details = this.ssoProxy.getUserAttributes(ssoToken); - } catch (Exception e) { - LOG.log(Level.SEVERE, e.getMessage()); - return UNKNOWN_USER; - } - return details.getAttributes().getMetadata(UID_ATTRIBUTE_NAME) != null ? details - .getAttributes().getMetadata(UID_ATTRIBUTE_NAME) : UNKNOWN_USER; - } else { - return UNKNOWN_USER; - } - } else { - return new String(Base64.decodeBase64(cookieVal.getBytes())); - } - } - - public boolean getLastConnectionStatus() { - return this.isLoggedIn(); - } - - public boolean isLoggedIn() { - // TODO: make sure the token is valid? - return (this.getSSOToken() != null); - } - - public boolean login(String username, String password) { - - String ssoToken; - try { - ssoToken = this.ssoProxy.authenticate(username, password); - } catch (Exception e) { - LOG.log(Level.SEVERE, e.getMessage()); - return false; - } - - this.addCookie(SSO_COOKIE_KEY, "\"" + ssoToken + "\""); - - this.addCookie(USER_COOKIE_KEY, - "\"" + new String(Base64.encodeBase64(username.getBytes())) + "\""); - - return true; - } - - public void logout() { - this.ssoProxy.logout(this.getSSOToken()); - this.clearCookie(SSO_COOKIE_KEY); - this.clearCookie(USER_COOKIE_KEY); - } - - /** - * Gets the SSO groups for the LMMP user, identified by her - * <code>ssoAuth</code>, where her User ID is provided by - * {@link OpenSSOImpl#getCurrentUsername()} and her Token is provided by - * {@link OpenSSOImpl#getSSOToken()}. - * - * @return A {@link List} of String LMMP groups for the User. - * @throws Exception - * If any error (e.g., HTTP REST error) occurs. - */ - public List<String> getGroupsForUser() throws IOException, SingleSignOnException { - String token = this.getSSOToken(); - if (token == null) { - return Collections.EMPTY_LIST; - } else { - UserDetails details = this.ssoProxy.getUserAttributes(token); - // groups are formatted in this response to include whole - // principals, like lmmp-infra,...principal - // so split on "," and take the first token to get the group name - List<String> groups = new Vector<String>(); - for (String rawGroup : details.getRoles()) { - groups.add(rawGroup.split(",")[0]); - } - - return groups; - } - } - - /* - * (non-Javadoc) - * - * @see - * org.apache.oodt.security.sso.SingleSignOn#retrieveGroupsForUser(java.lang - * .String) - */ - @Override - public List<String> retrieveGroupsForUser(String username) { - // FIXME: not implemented yet - return Collections.EMPTY_LIST; - } - - protected String getSSOToken() { - String cookieVal = this.getCookieVal(SSO_COOKIE_KEY); - if (cookieVal != null) { - return cookieVal; - } else { - return null; - } - } - - private String getCookieVal(String name) { - Cookie[] cookies = this.req.getCookies(); - for (Cookie cookie : cookies) { - if (cookie.getName().equals(name)) { - return cookie.getValue().startsWith("\"") - && cookie.getValue().endsWith("\"") ? cookie.getValue().substring( - 1, cookie.getValue().length() - 1) : cookie.getValue(); - } - } - - return null; - } - - private void addCookie(String name, String val) { - Cookie userCookie = new Cookie(name, val); - userCookie.setPath("/"); - userCookie.setMaxAge((int) (System.currentTimeMillis() + (60 * 15))); - this.res.addCookie(userCookie); - } - - private void clearCookie(String name) { - Cookie userCookie = new Cookie(name, "blank"); - userCookie.setPath("/"); - userCookie.setMaxAge(0); - this.res.addCookie(userCookie); - } - -} http://git-wip-us.apache.org/repos/asf/oodt/blob/098cc4fa/sso/src/main/java/org/apache/oodt/security/sso/SingleSignOn.java ---------------------------------------------------------------------- diff --git a/sso/src/main/java/org/apache/oodt/security/sso/SingleSignOn.java b/sso/src/main/java/org/apache/oodt/security/sso/SingleSignOn.java deleted file mode 100644 index 3835bf8..0000000 --- a/sso/src/main/java/org/apache/oodt/security/sso/SingleSignOn.java +++ /dev/null @@ -1,85 +0,0 @@ -/* - * 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.oodt.security.sso; - -//JDK imports -import java.util.List; - -/** - * - * The CAS java-based single sign on API. - * - * @author mattmann - * @version $Revision$ - * - */ -public interface SingleSignOn { - - /** - * Should return the current logged in Single Sign On username returned from - * the implementation-specific authentication API. - * - * @return A string representation of the current SSO username. - */ - String getCurrentUsername(); - - /** - * Returns <code>true</code> when the user is logged in, or false otherwise. - * - * @return True if the user is logged in, false otherwise. - */ - boolean isLoggedIn(); - - /** - * Logs the user with the provided <code>username</code> and - * <code>password</code> in to the SSO authentication mechanism. - * - * @param username - * The username credentials. - * @param password - * The password credentials. - * @return True if the login was successful, false otherwise. - */ - boolean login(String username, String password); - - /** - * Logs the current SSO user out of her session. - */ - void logout(); - - /** - * Should provide information (true or false) as to whether the last - * connection to the SSO authentication service was successful. - * - * @return True if the last authentication was successful, false otherwise. - */ - boolean getLastConnectionStatus(); - - /** - * Obtains a user's groups from the security principal that this SSO object - * talks to. - * - * @param username - * The username to obtain the groups for. - * @return A {@link List} of string group names obtained from the security - * principal. - **/ - List<String> retrieveGroupsForUser(String username); - -} http://git-wip-us.apache.org/repos/asf/oodt/blob/098cc4fa/sso/src/main/java/org/apache/oodt/security/sso/SingleSignOnFactory.java ---------------------------------------------------------------------- diff --git a/sso/src/main/java/org/apache/oodt/security/sso/SingleSignOnFactory.java b/sso/src/main/java/org/apache/oodt/security/sso/SingleSignOnFactory.java deleted file mode 100644 index e3753a6..0000000 --- a/sso/src/main/java/org/apache/oodt/security/sso/SingleSignOnFactory.java +++ /dev/null @@ -1,68 +0,0 @@ -/* - * 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.oodt.security.sso; - - -//JDK imports -import java.util.logging.Level; -import java.util.logging.Logger; - -/** - * - * Object factory for creating {@link SingleSignOn}s from class name Strings. - * - * @author mattmann - * @version $Revision$ - * - */ -public final class SingleSignOnFactory { - - private static final Logger LOG = Logger.getLogger(SingleSignOnFactory.class - .getName()); - - @SuppressWarnings("unchecked") - public static AbstractWebBasedSingleSignOn getWebBasedSingleSignOn(String className) { - AbstractWebBasedSingleSignOn sso; - Class<AbstractWebBasedSingleSignOn> clazz; - - try { - clazz = (Class<AbstractWebBasedSingleSignOn>) Class.forName(className); - sso = clazz.newInstance(); - return sso; - } catch (ClassNotFoundException e) { - LOG.log(Level.SEVERE, e.getMessage()); - LOG.log(Level.WARNING, - "ClassNotFoundException when loading web based sso class " - + className + " Message: " + e.getMessage()); - } catch (InstantiationException e) { - LOG.log(Level.SEVERE, e.getMessage()); - LOG.log(Level.WARNING, - "InstantiationException when loading web based sso class " - + className + " Message: " + e.getMessage()); - } catch (IllegalAccessException e) { - LOG.log(Level.SEVERE, e.getMessage()); - LOG.log(Level.WARNING, - "IllegalAccessException when loading web based sso class " - + className + " Message: " + e.getMessage()); - } - - return null; - } - -} http://git-wip-us.apache.org/repos/asf/oodt/blob/098cc4fa/sso/src/main/java/org/apache/oodt/security/sso/opensso/IdentityDetails.java ---------------------------------------------------------------------- diff --git a/sso/src/main/java/org/apache/oodt/security/sso/opensso/IdentityDetails.java b/sso/src/main/java/org/apache/oodt/security/sso/opensso/IdentityDetails.java deleted file mode 100755 index 97916f1..0000000 --- a/sso/src/main/java/org/apache/oodt/security/sso/opensso/IdentityDetails.java +++ /dev/null @@ -1,136 +0,0 @@ -/** - * 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.oodt.security.sso.opensso; - -//JDK imports -import org.apache.oodt.cas.metadata.Metadata; - -import java.util.List; -import java.util.Vector; - -//OODT imports - -/** - * - * The response from a call to {@link SSOMetKeys#IDENTITY_READ_ENDPOINT}. - * - * @author mattmann - * @version $Revision$ - * - */ -public class IdentityDetails { - - private String name; - - private String type; - - private String realm; - - private List<String> groups; - - private Metadata attributes; - - public IdentityDetails() { - this.name = null; - this.type = null; - this.realm = null; - this.groups = new Vector<String>(); - this.attributes = new Metadata(); - } - - /** - * @return the name - */ - public String getName() { - return name; - } - - /** - * @param name - * the name to set - */ - public void setName(String name) { - this.name = name; - } - - /** - * @return the type - */ - public String getType() { - return type; - } - - /** - * @param type - * the type to set - */ - public void setType(String type) { - this.type = type; - } - - /** - * @return the realm - */ - public String getRealm() { - return realm; - } - - /** - * @param realm - * the realm to set - */ - public void setRealm(String realm) { - this.realm = realm; - } - - /** - * @return the groups - */ - public List<String> getGroups() { - return groups; - } - - /** - * @param groups - * the groups to set - */ - public void setGroups(List<String> groups) { - this.groups = groups; - } - - /** - * @return the attributes - */ - public Metadata getAttributes() { - return attributes; - } - - /** - * @param attributes - * the attributes to set - */ - public void setAttributes(Metadata attributes) { - this.attributes = attributes; - } - - public String toString() { - return "[name=" + this.name + ",type=" + this.type + ",realm=" + this.realm + ",roles=" + this.groups - + ",attributes=" + this.attributes.getMap() + "]"; - } - -} http://git-wip-us.apache.org/repos/asf/oodt/blob/098cc4fa/sso/src/main/java/org/apache/oodt/security/sso/opensso/SSOMetKeys.java ---------------------------------------------------------------------- diff --git a/sso/src/main/java/org/apache/oodt/security/sso/opensso/SSOMetKeys.java b/sso/src/main/java/org/apache/oodt/security/sso/opensso/SSOMetKeys.java deleted file mode 100755 index 0e97221..0000000 --- a/sso/src/main/java/org/apache/oodt/security/sso/opensso/SSOMetKeys.java +++ /dev/null @@ -1,81 +0,0 @@ -/** - * 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.oodt.security.sso.opensso; - -/** - * - * Met keys for dealing with {@link SSOProxy}. - * - */ -public interface SSOMetKeys { - - /* service endpoints */ - String AUTHENTICATE_ENDPOINT = "https://host/opensso/identity/authenticate"; - - String IDENTITY_READ_ENDPOINT = "https://host/opensso/identity/read"; - - String IDENTITY_ATTRIBUTES_ENDPOINT = "https://host/opensso/identity/attributes"; - - String LOGOUT_ENDPOINT = "https://host/opensso/identity/logout"; - - /* cookie names */ - - String SSO_COOKIE_KEY = "iPlanetDirectoryPro"; - - String USER_COOKIE_KEY = "curationWebapp"; - - /* Identity Details response object */ - - String IDENTITY_DETAILS_NAME = "identitydetails.name"; - - String IDENTITY_DETAILS_TYPE = "identitydetails.type"; - - String IDENTITY_DETAILS_REALM = "identitydetails.realm"; - - String IDENTITY_DETAILS_GROUP = "identitydetails.group"; - - String IDENTITY_DETAILS_ATTR_NAME = "identitydetails.attribute.name"; - - String IDENTITY_DETAILS_ATTR_VALUE = "identitydetails.attribute.value"; - - String IDENTITY_DETAILS_ATTR_SKIP_LINE = "identitydetails.attribute="; - - /* User Details response object */ - String USER_DETAILS_TOKEN = "userdetails.token.id"; - - String USER_DETAILS_ROLE = "userdetails.role=id"; - - String USER_DETAILS_ATTR_NAME = "userdetails.attribute.name"; - - String USER_DETAILS_ATTR_VALUE = "userdetails.attribute.value"; - - String UID_ATTRIBUTE_NAME = "uid"; - - /* commands available from SSOProxy command line */ - String AUTH_COMMAND = "authenticate"; - - String IDENTITY_COMMAND = "identity"; - - String ATTRIBUTES_COMMAND = "attributes"; - - String LOGOUT_COMMAND = "logout"; - - /* general stuff */ - String UNKNOWN_USER = "Unknown"; - -} http://git-wip-us.apache.org/repos/asf/oodt/blob/098cc4fa/sso/src/main/java/org/apache/oodt/security/sso/opensso/SSOProxy.java ---------------------------------------------------------------------- diff --git a/sso/src/main/java/org/apache/oodt/security/sso/opensso/SSOProxy.java b/sso/src/main/java/org/apache/oodt/security/sso/opensso/SSOProxy.java deleted file mode 100755 index 5d77083..0000000 --- a/sso/src/main/java/org/apache/oodt/security/sso/opensso/SSOProxy.java +++ /dev/null @@ -1,308 +0,0 @@ -/** - * 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.oodt.security.sso.opensso; - - -import org.apache.commons.httpclient.HttpClient; -import org.apache.commons.httpclient.HttpException; -import org.apache.commons.httpclient.HttpStatus; -import org.apache.commons.httpclient.NameValuePair; -import org.apache.commons.httpclient.methods.PostMethod; - -import java.io.BufferedReader; -import java.io.ByteArrayInputStream; -import java.io.IOException; -import java.io.InputStreamReader; -import java.util.logging.Level; -import java.util.logging.Logger; - -/** - * - * A client class to the services provided by the <a - * href="https://opensso.dev.java.net/">OpenSSO</a> project. The descriptions of - * these services are <a - * href="http://developers.sun.com/identity/reference/techart/id-svcs.html" - * >here</a>. - * - * @author mattmann - * @version $Revision$ - * - */ -public class SSOProxy implements SSOMetKeys { - - private static final Logger LOG = Logger.getLogger(SSOProxy.class.getName()); - private static final String AUTH_ENDPOINT; - private static final String AUTH_ENDPOINT_KEY = "AUTH_ENDPOINT"; - private static final String IDENT_READ_ENDPOINT; - private static final String IDENT_READ_ENDPOINT_KEY = "IDENT_READ_ENDPOINT"; - private static final String IDENT_ATTR_ENDPOINT; - private static final String IDENT_ATTR_ENDPOINT_KEY = "IDENT_ATTR_ENDPOINT"; - private static final String LOG_ENDPOINT; - private static final String LOG_ENDPOINT_KEY = "LOG_ENDPOINT"; - - static { - if (System.getProperty(AUTH_ENDPOINT_KEY) != null) { - AUTH_ENDPOINT = System.getProperty(AUTH_ENDPOINT_KEY); - } else { - AUTH_ENDPOINT = AUTHENTICATE_ENDPOINT; - } - if (System.getProperty(IDENT_READ_ENDPOINT_KEY) != null) { - IDENT_READ_ENDPOINT = System.getProperty(IDENT_READ_ENDPOINT_KEY); - } else { - IDENT_READ_ENDPOINT = IDENTITY_READ_ENDPOINT; - } - if (System.getProperty(IDENT_ATTR_ENDPOINT_KEY) != null) { - IDENT_ATTR_ENDPOINT = System.getProperty(IDENT_ATTR_ENDPOINT_KEY); - } else { - IDENT_ATTR_ENDPOINT = IDENTITY_ATTRIBUTES_ENDPOINT; - } - if (System.getProperty(LOG_ENDPOINT_KEY) != null) { - LOG_ENDPOINT = System.getProperty(LOG_ENDPOINT_KEY); - } else { - LOG_ENDPOINT = LOGOUT_ENDPOINT; - } - - LOG.log(Level.INFO, AUTH_ENDPOINT_KEY + " set to " + AUTH_ENDPOINT); - LOG.log(Level.INFO, IDENT_READ_ENDPOINT_KEY + " set to " + IDENT_READ_ENDPOINT); - LOG.log(Level.INFO, IDENT_ATTR_ENDPOINT_KEY + " set to " + IDENT_ATTR_ENDPOINT); - LOG.log(Level.INFO, LOG_ENDPOINT_KEY + " set to " + LOG_ENDPOINT); - } - - public String authenticate(String username, String password) { - HttpClient httpClient = new HttpClient(); - PostMethod post = new PostMethod(AUTH_ENDPOINT); - String response; - String ssoToken = null; - - NameValuePair[] data = { new NameValuePair("username", username), - new NameValuePair("password", password), - new NameValuePair("uri", "realm/lmmp") }; - - post.setRequestBody(data); - - try { - httpClient.executeMethod(post); - if (post.getStatusCode() != HttpStatus.SC_OK) { - throw new HttpException(post.getStatusLine().toString()); - } - response = post.getResponseBodyAsString().trim(); - ssoToken = response.substring(9); - } catch (Exception e) { - LOG.log(Level.SEVERE, e.getMessage()); - } finally { - post.releaseConnection(); - } - - return ssoToken; - } - - public IdentityDetails readIdentity(String username, String token) - throws IOException, SingleSignOnException { - HttpClient httpClient = new HttpClient(); - PostMethod post = new PostMethod(IDENT_READ_ENDPOINT); - LOG.log(Level.INFO, "Obtaining identity: username: [" + username - + "]: token: [" + token + "]: REST url: [" + IDENT_READ_ENDPOINT - + "]"); - NameValuePair[] data = { new NameValuePair("name", username), - new NameValuePair("admin", token) }; - - post.setRequestBody(data); - - httpClient.executeMethod(post); - if (post.getStatusCode() != HttpStatus.SC_OK) { - throw new SingleSignOnException(post.getStatusLine().toString()); - } - - return parseIdentityDetails(post.getResponseBodyAsString().trim()); - - } - - public UserDetails getUserAttributes(String token) throws IOException, SingleSignOnException { - HttpClient httpClient = new HttpClient(); - PostMethod post = new PostMethod(IDENT_ATTR_ENDPOINT); - LOG.log(Level.INFO, "Obtaining user attributes: token: [" + token - + "]: REST url: [" + IDENT_ATTR_ENDPOINT + "]"); - NameValuePair[] data = { new NameValuePair("subjectid", token) }; - - post.setRequestBody(data); - - httpClient.executeMethod(post); - if (post.getStatusCode() != HttpStatus.SC_OK) { - throw new SingleSignOnException(post.getStatusLine().toString()); - } - - return parseUserDetails(post.getResponseBodyAsString().trim()); - - } - - public void logout(String token) { - HttpClient httpClient = new HttpClient(); - PostMethod post = new PostMethod(LOG_ENDPOINT); - LOG.log(Level.INFO, "Logging out: token: [" + token + "]: REST url: [" - + LOG_ENDPOINT + "]"); - NameValuePair[] data = { new NameValuePair("subjectid", token) }; - post.setRequestBody(data); - - try { - httpClient.executeMethod(post); - if (post.getStatusCode() != HttpStatus.SC_OK) { - throw new HttpException(post.getStatusLine().toString()); - } - } catch (HttpException e) { - // TODO Auto-generated catch block - LOG.log(Level.SEVERE, e.getMessage()); - } catch (IOException e) { - // TODO Auto-generated catch block - LOG.log(Level.SEVERE, e.getMessage()); - } finally { - post.releaseConnection(); - } - } - - private IdentityDetails parseIdentityDetails(String serviceResponse) { - ByteArrayInputStream is = new ByteArrayInputStream(serviceResponse - .getBytes()); - BufferedReader br = new BufferedReader(new InputStreamReader(is)); - IdentityDetails details = new IdentityDetails(); - String line = null, lastAttrKeyRead = null; - - try { - while ((line = br.readLine()) != null) { - if (line.equals(IDENTITY_DETAILS_ATTR_SKIP_LINE)) { - continue; - } - String key, val; - if (line.startsWith(IDENTITY_DETAILS_REALM)) { - // can't parse it the same way - key = line.substring(0, IDENTITY_DETAILS_REALM.length()); - val = line.substring(IDENTITY_DETAILS_REALM.length() + 1); - } else { - String[] lineToks = line.split("="); - key = lineToks[0]; - val = lineToks[1]; - } - - if (key.equals(IDENTITY_DETAILS_NAME)) { - details.setName(val); - } else if (key.equals(IDENTITY_DETAILS_TYPE)) { - details.setType(val); - } else if (key.equals(IDENTITY_DETAILS_REALM)) { - details.setRealm(val); - } else if (key.equals(IDENTITY_DETAILS_GROUP)) { - details.getGroups().add(val); - } else if (key.equals(IDENTITY_DETAILS_ATTR_NAME)) { - lastAttrKeyRead = val; - } else if (key.equals(IDENTITY_DETAILS_ATTR_VALUE)) { - details.getAttributes().addMetadata(lastAttrKeyRead, val); - } - } - } catch (IOException e) { - LOG.log(Level.SEVERE, e.getMessage()); - LOG.log(Level.WARNING, "Error reading service response line: [" + line - + "]: Message: " + e.getMessage()); - } finally { - try { - is.close(); - } catch (Exception ignore) { - } - - try { - br.close(); - } catch (Exception ignore) { - } - - } - - return details; - } - - private UserDetails parseUserDetails(String serviceResponse) { - ByteArrayInputStream is = new ByteArrayInputStream(serviceResponse - .getBytes()); - BufferedReader br = new BufferedReader(new InputStreamReader(is)); - UserDetails details = new UserDetails(); - String line = null, lastAttrKeyRead = null; - - try { - while ((line = br.readLine()) != null) { - String key, val; - if (line.startsWith(USER_DETAILS_ROLE)) { - // can't parse by splitting, parse by using substring - key = line.substring(0, USER_DETAILS_ROLE.length()); - val = line.substring(USER_DETAILS_ROLE.length() + 1); - } else { - String[] lineToks = line.split("="); - key = lineToks[0]; - val = lineToks[1]; - } - - if (key.equals(USER_DETAILS_TOKEN)) { - details.setToken(val); - } else if (key.equals(USER_DETAILS_ROLE)) { - details.getRoles().add(val); - } else if (key.equals(USER_DETAILS_ATTR_NAME)) { - lastAttrKeyRead = val; - } else if (key.equals(USER_DETAILS_ATTR_VALUE)) { - details.getAttributes().addMetadata(lastAttrKeyRead, val); - } - } - } catch (IOException e) { - LOG.log(Level.SEVERE, e.getMessage()); - LOG.log(Level.WARNING, "Error reading service response line: [" + line - + "]: Message: " + e.getMessage()); - } finally { - try { - is.close(); - } catch (Exception ignore) { - } - - try { - br.close(); - } catch (Exception ignore) { - } - - } - - return details; - } - - public static void main(String[] args) throws IOException, SingleSignOnException { - String usage = "SSOProxy <cmd> [args]\n\n" + "Where cmd is one of:\n" - + "authenticate <user> <pass>\n" + "identity <user> <token>\n" - + "attributes <token>\nlogout <token>\n"; - - if (args.length < 2 || args.length > 3) { - System.err.println(usage); - System.exit(1); - } - - String cmd = args[0]; - SSOProxy sso = new SSOProxy(); - if (cmd.equals(AUTH_COMMAND)) { - System.out.println(sso.authenticate(args[1], args[2])); - } else if (cmd.equals(IDENTITY_COMMAND)) { - System.out.println(sso.readIdentity(args[1], args[2])); - } else if (cmd.equals(ATTRIBUTES_COMMAND)) { - System.out.println(sso.getUserAttributes(args[1])); - } else if (cmd.equals(LOGOUT_COMMAND)) { - sso.logout(args[1]); - } - - } - -} http://git-wip-us.apache.org/repos/asf/oodt/blob/098cc4fa/sso/src/main/java/org/apache/oodt/security/sso/opensso/SingleSignOnException.java ---------------------------------------------------------------------- diff --git a/sso/src/main/java/org/apache/oodt/security/sso/opensso/SingleSignOnException.java b/sso/src/main/java/org/apache/oodt/security/sso/opensso/SingleSignOnException.java deleted file mode 100644 index bed65e7..0000000 --- a/sso/src/main/java/org/apache/oodt/security/sso/opensso/SingleSignOnException.java +++ /dev/null @@ -1,11 +0,0 @@ -package org.apache.oodt.security.sso.opensso; - -/** - * Created by bugg on 27/10/15. - */ -public class SingleSignOnException extends Exception { - - public SingleSignOnException(String message) { - super(message); - } -} http://git-wip-us.apache.org/repos/asf/oodt/blob/098cc4fa/sso/src/main/java/org/apache/oodt/security/sso/opensso/UserDetails.java ---------------------------------------------------------------------- diff --git a/sso/src/main/java/org/apache/oodt/security/sso/opensso/UserDetails.java b/sso/src/main/java/org/apache/oodt/security/sso/opensso/UserDetails.java deleted file mode 100755 index ae442b1..0000000 --- a/sso/src/main/java/org/apache/oodt/security/sso/opensso/UserDetails.java +++ /dev/null @@ -1,97 +0,0 @@ -/** - * 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.oodt.security.sso.opensso; - -//OODT imports -import org.apache.oodt.cas.metadata.Metadata; - -//JDK imports -import java.util.List; -import java.util.Vector; - -/** - * - * The response from a query to {@link SSOMetKeys#IDENTITY_ATTRIBUTES_ENDPOINT}. - * - * @author mattmann - * @version $Revision$ - * - */ -public class UserDetails { - - private String token; - - private List<String> roles; - - private Metadata attributes; - - public UserDetails() { - this.token = null; - this.roles = new Vector<String>(); - this.attributes = new Metadata(); - } - - /** - * @return the token - */ - public String getToken() { - return token; - } - - /** - * @param token - * the token to set - */ - public void setToken(String token) { - this.token = token; - } - - /** - * @return the roles - */ - public List<String> getRoles() { - return roles; - } - - /** - * @param roles - * the roles to set - */ - public void setRoles(List<String> roles) { - this.roles = roles; - } - - /** - * @return the attributes - */ - public Metadata getAttributes() { - return attributes; - } - - /** - * @param attributes - * the attributes to set - */ - public void setAttributes(Metadata attributes) { - this.attributes = attributes; - } - - public String toString() { - return "[token=" + this.token + ",roles=" + this.roles + ",attributes=" + this.attributes.getMap() + "]"; - } -} http://git-wip-us.apache.org/repos/asf/oodt/blob/098cc4fa/sso/src/main/php/pear/Config.php ---------------------------------------------------------------------- diff --git a/sso/src/main/php/pear/Config.php b/sso/src/main/php/pear/Config.php deleted file mode 100644 index 8d3cec1..0000000 --- a/sso/src/main/php/pear/Config.php +++ /dev/null @@ -1,65 +0,0 @@ -<?php -/* - * 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_Oodt_Security - * @author Andrew F. Hart - * @version $Revision$ - * - * PHP Single Sign On Authentication Library and Utilities - * - */ - -/** - * LDAP Host URI - * - * The path to the host where the LDAP directory server is running - * @var string - */ -define("SSO_LDAP_HOST", "ldaps://host.domain"); - -/** - * LDAP Port - * - * The port on @link{SSO_LDAP_HOST} where the LDAP directory server - * is listening. - * - * Default ports: - * 389: Standard (non-ssl) LDAP (ldap://...) - * 636: Secure LDAP (ldaps://...) - * @var string - */ -define("SSO_LDAP_PORT", 636); - -/** - * Base DN - * - * The base domain name to use when interacting with the LDAP server - * - * @var string - */ -define("SSO_BASE_DN", "dc=sample, dc=jpl, dc=nasa, dc=gov"); - -/** - * Cookie Key - * - * The unique string to use in identifying the security cookie - * - */ -define("SSO_COOKIE_KEY", "__ac__sc__"); http://git-wip-us.apache.org/repos/asf/oodt/blob/098cc4fa/sso/src/main/php/pear/SingleSignOn.php ---------------------------------------------------------------------- diff --git a/sso/src/main/php/pear/SingleSignOn.php b/sso/src/main/php/pear/SingleSignOn.php deleted file mode 100644 index 512dffa..0000000 --- a/sso/src/main/php/pear/SingleSignOn.php +++ /dev/null @@ -1,202 +0,0 @@ -<?php -/* - * 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_Oodt_Security - * @author Chris A. Mattmann - * @author Andrew F. Hart - * @version $Revision$ - * - * PHP Single Sign On Library for EDRN PHP-based products. - * - */ - -class Org_Apache_Oodt_Security_SingleSignOn { - - private $connectionStatus; - - private $conn; - - public function __construct() { - $this->connectionStatus = 1; - } - - public function getCurrentUsername() { - return $this->getSingleSignOnUsername(); - } - - public function isLoggedIn() { - return ($this->getSingleSignOnUsername() != null); - } - - public function login($username, $password) { - // first check to see if we are already signed in - if ($this->getSingleSignOnUsername() <> "" - && strcmp($this->getSingleSignOnUsername(), $username) == 0) { - // we're logged in already - return true; - } else { - // log in via LDAP - $ldaprdn = "uid=" . $username . ',' . SSO_BASE_DN; - $ldappass = $password; - - // connect to ldap server - $ldapconn = $this->connect(SSO_LDAP_HOST, SSO_LDAP_PORT); - if ($ldapconn) { - - // binding to ldap server - $ldapbind = @ ldap_bind($ldapconn, $ldaprdn, $ldappass); - - // verify binding - if ($ldapbind) { - $this->createSingleSignOnCookie($username, $password); - return true; - } else { - return false; - } - - } else { - $this->connectionStatus = 0; - return false; - } - } - - } - - public function logout() { - $this->clearSingleSignOnInfo(); - } - - public function getLastConnectionStatus() { - return ($this->connectionStatus == 1); - } - - public function retrieveGroupsForUser($username,$searchDirectory = SSO_BASE_DN) { - // attempt to connect to ldap server - $ldapconn = $this->connect(SSO_LDAP_HOST,SSO_LDAP_PORT); - $groups = array(); - if ($ldapconn) { - $filter = "(&(objectClass=groupOfUniqueNames)" - ."(uniqueMember=uid={$username}," . SSO_BASE_DN . "))"; - $result = ldap_search($ldapconn,$searchDirectory,$filter,array('cn')); - - if ($result) { - $entries = ldap_get_entries($ldapconn,$result); - foreach ($entries as $rawGroup) { - if (isset($rawGroup['cn'][0]) - && $rawGroup['cn'][0] != '') { - $groups[] = $rawGroup['cn'][0]; - } - } - } - } - - return $groups; - } - - /** - * - * retrieves the set of attributes from the users ldap entry - * @param string $username user for which attributes will be returned - * @param array $attributes ldap attributes to retrieve - * @param string $searchDirectory optional path to users ldap entry - */ - public function retrieveUserAttributes($username,$attributes,$searchDirectory = SSO_BASE_DN) { - // attempt to connect to ldap server - $ldapconn = $this->connect(SSO_LDAP_HOST,SSO_LDAP_PORT); - $attr = array(); - - if ($ldapconn) { - // get user attributes - $filter = "uid=".$username; - $result = ldap_search($ldapconn,$searchDirectory,$filter,$attributes); - if ($result) { - $entries = ldap_get_entries($ldapconn,$result); - return $entries; - } else { - return array(); - } - } - } - - - public function changePassword($newPass,$encryptionMethod = "SHA") { - if ($this->isLoggedIn()) { - $user = "uid={$this->getSingleSignOnUsername()}," . SSO_BASE_DN ; - $entry = array(); - - switch (strtoupper($encryptionMethod)) { - case "SHA": - $entry['userPassword'] = "{SHA} " . base64_encode(pack("H*",sha1($newPass))); - break; - case "MD5": - $entry['userPassword'] = "{MD5} " . base64_encode(pack("H*",md5($newPass))); - break; - default: - throw new Exception("Unsupported encryption method requested"); - } - - if (ldap_mod_replace($this->conn,$user,$entry)) { - return true; - } else { - return false; - } - } else { - return false; - } - } - - public function connect($server,$port) { - if ($conn = ldap_connect($server,$port)) { - // Connection established - $this->connectionStatus = 1; - ldap_set_option($conn, LDAP_OPT_PROTOCOL_VERSION, 3); - ldap_set_option($conn, LDAP_OPT_DEBUG_LEVEL, 7); - ldap_set_option($conn, LDAP_OPT_REFERRALS, 0); - $this->conn = $conn; - return $conn; - } else { - // Connection failed - return false; - } - } - - private function clearSingleSignOnInfo() { - $oldCookie = $_COOKIE[SSO_COOKIE_KEY]; - setcookie(SSO_COOKIE_KEY, $oldCookie, 1, "/"); - } - - private function getSingleSignOnUsername() { - $theCookie = $_COOKIE[SSO_COOKIE_KEY]; - if ($theCookie <> "") { - $userpass = base64_decode(urldecode($theCookie)); - $userpassArr = explode(":", $userpass); - return $userpassArr[0]; - } else - return null; - } - - private function createSingleSignOnCookie($username, $password) { - if (!isset ($_COOKIE[SSO_COOKIE_KEY])) { - $theCookieStrUnencoded = $username . ":" . $password; - $theCookieStrEncoded = "\"".base64_encode($theCookieStrUnencoded)."\""; - setcookie(SSO_COOKIE_KEY, $theCookieStrEncoded, time() + (86400 * 7), "/"); // expire in 1 day - } - } -} -?> http://git-wip-us.apache.org/repos/asf/oodt/blob/098cc4fa/sso/src/main/php/pear/package.xml ---------------------------------------------------------------------- diff --git a/sso/src/main/php/pear/package.xml b/sso/src/main/php/pear/package.xml deleted file mode 100644 index fe6abcf..0000000 --- a/sso/src/main/php/pear/package.xml +++ /dev/null @@ -1,94 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!-- -/* - * 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_Oodt_Security - @author Chris A. Mattmann - @author Andrew F. Hart - @version $Revision$ ---> -<package version="2.0" xmlns="http://pear.php.net/dtd/package-2.0" - xmlns:tasks="http://pear.php.net/dtd/tasks-1.0" - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:schemaLocation="http://pear.php.net/dtd/tasks-1.0.xsd - http://pear.php.net/dtd/package-2.0 - http://pear.php.net/dtd/package-2.0.xsd"> - <name>Apache_OODT_Security</name> - <channel>pear.apache.org/oodt</channel> - <summary>OODT Single Sign On Package</summary> - <description> - This package provides a PHP library for single sign-on for - OODT applications which authenticate and authorize against an - LDAP server. - </description> - <lead> - <name>Andrew Hart</name> - <user>ahart</user> - <email>[email protected]</email> - <active>yes</active> - </lead> - <date>2013-06-29</date> - <version> - <release>0.6.0</release> - <api>0.6.0</api> - </version> - <stability> - <release>stable</release> - <api>stable</api> - </stability> - <license uri="http://www.apache.org/licenses/LICENSE-2.0.html">Apache Software License 2.0</license> - <notes> - This package provides a PHP library for single sign-on for - OODT applications which authenticate and authorize against an - LDAP server. - </notes> - <contents> - <dir name="/" baseinstalldir="Org/Apache/Oodt/Security"> - <file name="Config.php" role="php"/> - <file name="SingleSignOn.php" role="php"/> - </dir><!-- / --> - </contents> - <dependencies> - <required> - <php> - <min>5.1.6</min> - </php> - <pearinstaller> - <min>1.6.1</min> - </pearinstaller> - </required> - </dependencies> - <phprelease /> - <changelog> - <release> - <version> - <release>0.1.0</release> - <api>0.1.0</api> - </version> - <stability> - <release>stable</release> - <api>stable</api> - </stability> - <date>2009-03-04</date> - <license uri="http://oodt.jpl.nasa.gov">OODT License</license> - <notes> - This is the initial release of the OODT CAS Security utility as a PEAR package. - </notes> - </release> - </changelog> -</package> http://git-wip-us.apache.org/repos/asf/oodt/blob/098cc4fa/vagrant/radix/README.txt ---------------------------------------------------------------------- diff --git a/vagrant/radix/README.txt b/vagrant/radix/README.txt deleted file mode 100644 index eb2eddf..0000000 --- a/vagrant/radix/README.txt +++ /dev/null @@ -1,51 +0,0 @@ -# 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. - -################################################################################## -# -# README.txt -# -# @author [email protected] -# -# @description This README describes how to setup, install, and run radix-vagrant. -# After completing these steps, you will have a fully configured Ubuntu Virtual -# Machine* running a fresh version of OODT RADiX. -################################################################################## - - -Requirements: -1. 5GB of space to install VM on -2. Vagrant: see http://www.vagrantup.com/ -3. VirtualBox: see https://www.virtualbox.org/wiki/Downloads - -Setup: -1. Modify the contents of vagrant/env.sh to reflect your desired configuration - - add your project name etc here - - configure which type of RADiX build you want here (e.g. solr-enabled) -2. Modify the Vagrantfile VM_NAME to name your VM (VM names must be unique) -3. vagrant up -NOTE: The above command will take up to 15 minutes the first time you run it. -NOTE: All source files will be placed within /usr/local/src within the VM. - -Start: -* NOTE: The provisioning script auto starts OODT, so you may skip to step 2 -1. (optional) Launch OODT if not already running below - > cd $OODT_HOME/bin - > ./oodt start -2. Navigate to: http://localhost:8080/opsui - ------ -* You can learn more about how to use your newly created virtual machine at: -http://www.vagrantup.com/ http://git-wip-us.apache.org/repos/asf/oodt/blob/098cc4fa/vagrant/radix/Vagrantfile ---------------------------------------------------------------------- diff --git a/vagrant/radix/Vagrantfile b/vagrant/radix/Vagrantfile deleted file mode 100644 index c067295..0000000 --- a/vagrant/radix/Vagrantfile +++ /dev/null @@ -1,129 +0,0 @@ -# -*- mode: ruby -*- -# vi: set ft=ruby : - -# Virtual machine name -VM_NAME = "oodt_radix_vm" - -# Vagrantfile API/syntax version. Don't touch unless you know what you're doing! -VAGRANTFILE_API_VERSION = "2" - -Vagrant.configure(VAGRANTFILE_API_VERSION) do |config| - # All Vagrant configuration is done here. The most common configuration - # options are documented and commented below. For a complete reference, - # please see the online documentation at vagrantup.com. - - # Every Vagrant virtual environment requires a box to build off of. - config.vm.box = "chef/ubuntu-13.10" - - config.vm.define VM_NAME do |oodt_radix| - end - config.vm.provider :virtualbox do |vb| - vb.name = VM_NAME - end - - # The url from where the 'config.vm.box' box will be fetched if it - # doesn't already exist on the user's system. - # config.vm.box_url = "http://domain.com/path/to/above.box" - - # Create a forwarded port mapping which allows access to a specific port - # within the machine from a port on the host machine. In the example below, - # accessing "localhost:8080" will access port 80 on the guest machine. - config.vm.network "forwarded_port", guest: 8080, host: 8080 - - config.vm.provision :shell, :path => "vagrant/provision.sh", :privileged => false - - # Create a private network, which allows host-only access to the machine - # using a specific IP. - # config.vm.network "private_network", ip: "192.168.33.10" - - # Create a public network, which generally matched to bridged network. - # Bridged networks make the machine appear as another physical device on - # your network. - # config.vm.network "public_network" - - # If true, then any SSH connections made will enable agent forwarding. - # Default value: false - # config.ssh.forward_agent = true - - # Share an additional folder to the guest VM. The first argument is - # the path on the host to the actual folder. The second argument is - # the path on the guest to mount the folder. And the optional third - # argument is a set of non-required options. - # config.vm.synced_folder "../data", "/vagrant_data" - - # Provider-specific configuration so you can fine-tune various - # backing providers for Vagrant. These expose provider-specific options. - # Example for VirtualBox: - # - # config.vm.provider "virtualbox" do |vb| - # # Don't boot with headless mode - # vb.gui = true - # - # # Use VBoxManage to customize the VM. For example to change memory: - # vb.customize ["modifyvm", :id, "--memory", "1024"] - # end - # - # View the documentation for the provider you're using for more - # information on available options. - - # Enable provisioning with Puppet stand alone. Puppet manifests - # are contained in a directory path relative to this Vagrantfile. - # You will need to create the manifests directory and a manifest in - # the file base.pp in the manifests_path directory. - # - # An example Puppet manifest to provision the message of the day: - # - # # group { "puppet": - # # ensure => "present", - # # } - # # - # # File { owner => 0, group => 0, mode => 0644 } - # # - # # file { '/etc/motd': - # # content => "Welcome to Apache OODT RADiX! Built by Vagrant. - # # Managed by Puppet.\n" - # # } - # - # config.vm.provision "puppet" do |puppet| - # puppet.manifests_path = "manifests" - # puppet.manifest_file = "site.pp" - # end - - # Enable provisioning with chef solo, specifying a cookbooks path, roles - # path, and data_bags path (all relative to this Vagrantfile), and adding - # some recipes and/or roles. - # - # config.vm.provision "chef_solo" do |chef| - # chef.cookbooks_path = "../my-recipes/cookbooks" - # chef.roles_path = "../my-recipes/roles" - # chef.data_bags_path = "../my-recipes/data_bags" - # chef.add_recipe "mysql" - # chef.add_role "web" - # - # # You may also specify custom JSON attributes: - # chef.json = { :mysql_password => "foo" } - # end - - # Enable provisioning with chef server, specifying the chef server URL, - # and the path to the validation key (relative to this Vagrantfile). - # - # The Opscode Platform uses HTTPS. Substitute your organization for - # ORGNAME in the URL and validation key. - # - # If you have your own Chef Server, use the appropriate URL, which may be - # HTTP instead of HTTPS depending on your configuration. Also change the - # validation key to validation.pem. - # - # config.vm.provision "chef_client" do |chef| - # chef.chef_server_url = "https://api.opscode.com/organizations/ORGNAME" - # chef.validation_key_path = "ORGNAME-validator.pem" - # end - # - # If you're using the Opscode platform, your validator client is - # ORGNAME-validator, replacing ORGNAME with your organization name. - # - # If you have your own Chef Server, the default validation client name is - # chef-validator, unless you changed the configuration. - # - # chef.validation_client_name = "ORGNAME-validator" -end http://git-wip-us.apache.org/repos/asf/oodt/blob/098cc4fa/vagrant/radix/vagrant/conf/terminal/bashrc ---------------------------------------------------------------------- diff --git a/vagrant/radix/vagrant/conf/terminal/bashrc b/vagrant/radix/vagrant/conf/terminal/bashrc deleted file mode 100644 index 8c21864..0000000 --- a/vagrant/radix/vagrant/conf/terminal/bashrc +++ /dev/null @@ -1,110 +0,0 @@ -# ~/.bashrc: executed by bash(1) for non-login shells. -# see /usr/share/doc/bash/examples/startup-files (in the package bash-doc) -# for examples - -# If not running interactively, don't do anything -[ -z "$PS1" ] && return - -# don't put duplicate lines or lines starting with space in the history. -# See bash(1) for more options -HISTCONTROL=ignoreboth - -# append to the history file, don't overwrite it -shopt -s histappend - -# for setting history length see HISTSIZE and HISTFILESIZE in bash(1) -HISTSIZE=1000 -HISTFILESIZE=2000 - -# check the window size after each command and, if necessary, -# update the values of LINES and COLUMNS. -shopt -s checkwinsize - -# If set, the pattern "**" used in a pathname expansion context will -# match all files and zero or more directories and subdirectories. -#shopt -s globstar - -# make less more friendly for non-text input files, see lesspipe(1) -[ -x /usr/bin/lesspipe ] && eval "$(SHELL=/bin/sh lesspipe)" - -# set variable identifying the chroot you work in (used in the prompt below) -if [ -z "$debian_chroot" ] && [ -r /etc/debian_chroot ]; then - debian_chroot=$(cat /etc/debian_chroot) -fi - -# set a fancy prompt (non-color, unless we know we "want" color) -case "$TERM" in - xterm-color) color_prompt=yes;; -esac - -# uncomment for a colored prompt, if the terminal has the capability; turned -# off by default to not distract the user: the focus in a terminal window -# should be on the output of commands, not on the prompt -#force_color_prompt=yes - -if [ -n "$force_color_prompt" ]; then - if [ -x /usr/bin/tput ] && tput setaf 1 >&/dev/null; then - # We have color support; assume it's compliant with Ecma-48 - # (ISO/IEC-6429). (Lack of such support is extremely rare, and such - # a case would tend to support setf rather than setaf.) - color_prompt=yes - else - color_prompt= - fi -fi - -if [ "$color_prompt" = yes ]; then - PS1='${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ ' -else - PS1='${debian_chroot:+($debian_chroot)}\u@\h:\w\$ ' -fi -unset color_prompt force_color_prompt - -# If this is an xterm set the title to user@host:dir -case "$TERM" in -xterm*|rxvt*) - PS1="\[\e]0;${debian_chroot:+($debian_chroot)}\u@\h: \w\a\]$PS1" - ;; -*) - ;; -esac - -# enable color support of ls and also add handy aliases -if [ -x /usr/bin/dircolors ]; then - test -r ~/.dircolors && eval "$(dircolors -b ~/.dircolors)" || eval "$(dircolors -b)" - alias ls='ls --color=auto' - #alias dir='dir --color=auto' - #alias vdir='vdir --color=auto' - - alias grep='grep --color=auto' - alias fgrep='fgrep --color=auto' - alias egrep='egrep --color=auto' -fi - -# some more ls aliases -alias ll='ls -alF' -alias la='ls -A' -alias l='ls -CF' - -# Add an "alert" alias for long running commands. Use like so: -# sleep 10; alert -alias alert='notify-send --urgency=low -i "$([ $? = 0 ] && echo terminal || echo error)" "$(history|tail -n1|sed -e '\''s/^\s*[0-9]\+\s*//;s/[;&|]\s*alert$//'\'')"' - -# Alias definitions. -# You may want to put all your additions into a separate file like -# ~/.bash_aliases, instead of adding them here directly. -# See /usr/share/doc/bash-doc/examples in the bash-doc package. - -if [ -f ~/.bash_aliases ]; then - . ~/.bash_aliases -fi - -# enable programmable completion features (you don't need to enable -# this, if it's already enabled in /etc/bash.bashrc and /etc/profile -# sources /etc/bash.bashrc). -if [ -f /etc/bash_completion ] && ! shopt -oq posix; then - . /etc/bash_completion -fi - -# Export env.sh -source /vagrant/vagrant/env.sh \ No newline at end of file http://git-wip-us.apache.org/repos/asf/oodt/blob/098cc4fa/vagrant/radix/vagrant/env.sh ---------------------------------------------------------------------- diff --git a/vagrant/radix/vagrant/env.sh b/vagrant/radix/vagrant/env.sh deleted file mode 100644 index 9e2ac28..0000000 --- a/vagrant/radix/vagrant/env.sh +++ /dev/null @@ -1,28 +0,0 @@ -#!/bin/bash - -# 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. - -# CHANGE BELOW FOR YOUR PROJECT NEEDS! -export PROJECT_GROUP_ID=com.mycompany.mydms -export PROJECT_ARTIFACT_ID=mycompany-myoodt -export BUILD_FLAGS=-Pfm-solr-catalog # NOTE: more flag options at http://s.apache.org/CJL -export OODT_DEPLOYMENT_HOME=/usr/local/oodt - -# General configuration (probably don't need to modify) -export OODT_SRC_REPO=https://svn.apache.org/repos/asf/oodt/trunk # NOTE: This should match the below OODT version -export OODT_VERSION=0.7-SNAPSHOT -export JAVA_HOME=/usr/lib/jvm/default-java -
