[jboss-cvs] JBossAS SVN: r75011 - in projects/security/security-jboss-sx/tags: 2.0.2.CR6 and 8 other directories.
jboss-cvs-commits at lists.jboss.org
jboss-cvs-commits at lists.jboss.org
Tue Jun 24 17:41:44 EDT 2008
Author: anil.saldhana at jboss.com
Date: 2008-06-24 17:41:44 -0400 (Tue, 24 Jun 2008)
New Revision: 75011
Added:
projects/security/security-jboss-sx/tags/2.0.2.CR6/
projects/security/security-jboss-sx/tags/2.0.2.CR6/acl/pom.xml
projects/security/security-jboss-sx/tags/2.0.2.CR6/assembly/pom.xml
projects/security/security-jboss-sx/tags/2.0.2.CR6/identity/pom.xml
projects/security/security-jboss-sx/tags/2.0.2.CR6/jbosssx-client/pom.xml
projects/security/security-jboss-sx/tags/2.0.2.CR6/jbosssx-mc-int/pom.xml
projects/security/security-jboss-sx/tags/2.0.2.CR6/jbosssx/pom.xml
projects/security/security-jboss-sx/tags/2.0.2.CR6/jbosssx/src/main/org/jboss/security/SecurityAssociation.java
projects/security/security-jboss-sx/tags/2.0.2.CR6/parent/pom.xml
projects/security/security-jboss-sx/tags/2.0.2.CR6/pom.xml
Removed:
projects/security/security-jboss-sx/tags/2.0.2.CR6/acl/pom.xml
projects/security/security-jboss-sx/tags/2.0.2.CR6/assembly/pom.xml
projects/security/security-jboss-sx/tags/2.0.2.CR6/identity/pom.xml
projects/security/security-jboss-sx/tags/2.0.2.CR6/jbosssx-client/pom.xml
projects/security/security-jboss-sx/tags/2.0.2.CR6/jbosssx-mc-int/pom.xml
projects/security/security-jboss-sx/tags/2.0.2.CR6/jbosssx/pom.xml
projects/security/security-jboss-sx/tags/2.0.2.CR6/jbosssx/src/main/org/jboss/security/SecurityAssociation.java
projects/security/security-jboss-sx/tags/2.0.2.CR6/parent/pom.xml
projects/security/security-jboss-sx/tags/2.0.2.CR6/pom.xml
Log:
[maven-release-plugin] copy for tag 2.0.2.CR6
Copied: projects/security/security-jboss-sx/tags/2.0.2.CR6 (from rev 74848, projects/security/security-jboss-sx/trunk)
Deleted: projects/security/security-jboss-sx/tags/2.0.2.CR6/acl/pom.xml
===================================================================
--- projects/security/security-jboss-sx/trunk/acl/pom.xml 2008-06-19 18:02:14 UTC (rev 74848)
+++ projects/security/security-jboss-sx/tags/2.0.2.CR6/acl/pom.xml 2008-06-24 21:41:44 UTC (rev 75011)
@@ -1,146 +0,0 @@
-<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">
- <parent>
- <groupId>org.jboss.security</groupId>
- <artifactId>jbosssx-parent</artifactId>
- <version>2.0.2-SNAPSHOT</version>
- </parent>
- <modelVersion>4.0.0</modelVersion>
- <artifactId>jboss-security-acl-impl</artifactId>
- <packaging>jar</packaging>
- <name>JBoss Security ACL Implementation</name>
- <url>http://labs.jboss.org/portal/jbosssecurity/</url>
- <description>JBoss Security is a cross cutting project that handles security for the JEMS projects</description>
- <licenses>
- <license>
- <name>lgpl</name>
- <url>http://repository.jboss.com/licenses/lgpl.txt</url>
- </license>
- </licenses>
- <organization>
- <name>JBoss Inc.</name>
- <url>http://www.jboss.org</url>
- </organization>
- <profiles>
- <!-- mvn install -Psecurity-manager -->
- <profile>
- <id>security-manager</id>
- <activation>
- <activeByDefault>false</activeByDefault>
- </activation>
- <properties>
- <test.env>-Dtest.basedir=${basedir}/target/test-classes</test.env>
- <policy.file>${basedir}/src/tests/resources/java.policy</policy.file>
- <surefire.jvm.args>-Djava.security.manager -Djava.security.policy=${policy.file} ${test.env}</surefire.jvm.args>
- </properties>
- </profile>
- <!-- mvn install -Psecurity-manager-debug -->
- <!-- Best Practice: mvn install -Psecurity-manager-debug 2>&1 > logfile2>&1 > logfile -->
- <profile>
- <id>security-manager-debug</id>
- <activation>
- <activeByDefault>false</activeByDefault>
- </activation>
- <properties>
- <test.env>-Dtest.basedir=${basedir}/target/test-classes</test.env>
- <policy.file>${basedir}/src/tests/resources/java.policy</policy.file>
- <surefire.jvm.args>-Djava.security.manager -Djava.security.policy=${policy.file} -Djava.security.debug=failure,access ${test.env}</surefire.jvm.args>
- </properties>
- </profile>
- </profiles>
- <build>
- <sourceDirectory>src/main/java</sourceDirectory>
- <outputDirectory>target/classes</outputDirectory>
- <testSourceDirectory>src/tests/java</testSourceDirectory>
- <testOutputDirectory>target/test-classes</testOutputDirectory>
- <finalName>${artifactId}</finalName>
- <resources>
- <resource>
- <directory>${basedir}</directory>
- <includes>
- <include>JBossORG-EULA.txt</include>
- </includes>
- </resource>
- <resource>
- <directory>src/main/resources</directory>
- <includes>
- <include>**/*.dtd</include>
- <include>**/*.xsd</include>
- </includes>
- </resource>
- </resources>
- <testResources>
- <testResource>
- <directory>src/tests/resources/</directory>
- <includes>
- <include>**/*.xml</include>
- </includes>
- </testResource>
- </testResources>
- </build>
- <dependencies>
- <dependency>
- <groupId>org.jboss.security</groupId>
- <artifactId>jboss-security-spi</artifactId>
- </dependency>
- <dependency>
- <groupId>org.jboss</groupId>
- <artifactId>jboss-common-core</artifactId>
- <scope>compile</scope>
- </dependency>
- <dependency>
- <groupId>jboss</groupId>
- <artifactId>jboss-logging-spi</artifactId>
- <scope>compile</scope>
- </dependency>
- <dependency>
- <groupId>jboss</groupId>
- <artifactId>jboss-logging-log4j</artifactId>
- <scope>runtime</scope>
- </dependency>
- <dependency>
- <groupId>org.hibernate</groupId>
- <artifactId>hibernate</artifactId>
- <version>3.2.4.sp1</version>
- <scope>compile</scope>
- </dependency>
- <dependency>
- <groupId>org.hibernate</groupId>
- <artifactId>hibernate-annotations</artifactId>
- <version>3.3.0.ga</version>
- <scope>compile</scope>
- </dependency>
- <dependency>
- <groupId>org.hibernate</groupId>
- <artifactId>hibernate-entitymanager</artifactId>
- <version>3.3.1.ga</version>
- <scope>compile</scope>
- </dependency>
- <dependency>
- <groupId>hsqldb</groupId>
- <artifactId>hsqldb</artifactId>
- <version>1.8.0.2</version>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>apache-log4j</groupId>
- <artifactId>log4j</artifactId>
- <scope>compile</scope>
- </dependency>
- <dependency>
- <groupId>junit</groupId>
- <artifactId>junit</artifactId>
- <scope>compile</scope>
- </dependency>
- <dependency>
- <groupId>org.jboss</groupId>
- <artifactId>jboss-test</artifactId>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>org.jboss.security</groupId>
- <artifactId>identity-impl</artifactId>
- <version>${project.version}</version>
- <scope>compile</scope>
- </dependency>
- </dependencies>
-</project>
Copied: projects/security/security-jboss-sx/tags/2.0.2.CR6/acl/pom.xml (from rev 75010, projects/security/security-jboss-sx/trunk/acl/pom.xml)
===================================================================
--- projects/security/security-jboss-sx/tags/2.0.2.CR6/acl/pom.xml (rev 0)
+++ projects/security/security-jboss-sx/tags/2.0.2.CR6/acl/pom.xml 2008-06-24 21:41:44 UTC (rev 75011)
@@ -0,0 +1,146 @@
+<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">
+ <parent>
+ <groupId>org.jboss.security</groupId>
+ <artifactId>jbosssx-parent</artifactId>
+ <version>2.0.2.CR6</version>
+ </parent>
+ <modelVersion>4.0.0</modelVersion>
+ <artifactId>jboss-security-acl-impl</artifactId>
+ <packaging>jar</packaging>
+ <name>JBoss Security ACL Implementation</name>
+ <url>http://labs.jboss.org/portal/jbosssecurity/</url>
+ <description>JBoss Security is a cross cutting project that handles security for the JEMS projects</description>
+ <licenses>
+ <license>
+ <name>lgpl</name>
+ <url>http://repository.jboss.com/licenses/lgpl.txt</url>
+ </license>
+ </licenses>
+ <organization>
+ <name>JBoss Inc.</name>
+ <url>http://www.jboss.org</url>
+ </organization>
+ <profiles>
+ <!-- mvn install -Psecurity-manager -->
+ <profile>
+ <id>security-manager</id>
+ <activation>
+ <activeByDefault>false</activeByDefault>
+ </activation>
+ <properties>
+ <test.env>-Dtest.basedir=${basedir}/target/test-classes</test.env>
+ <policy.file>${basedir}/src/tests/resources/java.policy</policy.file>
+ <surefire.jvm.args>-Djava.security.manager -Djava.security.policy=${policy.file} ${test.env}</surefire.jvm.args>
+ </properties>
+ </profile>
+ <!-- mvn install -Psecurity-manager-debug -->
+ <!-- Best Practice: mvn install -Psecurity-manager-debug 2>&1 > logfile2>&1 > logfile -->
+ <profile>
+ <id>security-manager-debug</id>
+ <activation>
+ <activeByDefault>false</activeByDefault>
+ </activation>
+ <properties>
+ <test.env>-Dtest.basedir=${basedir}/target/test-classes</test.env>
+ <policy.file>${basedir}/src/tests/resources/java.policy</policy.file>
+ <surefire.jvm.args>-Djava.security.manager -Djava.security.policy=${policy.file} -Djava.security.debug=failure,access ${test.env}</surefire.jvm.args>
+ </properties>
+ </profile>
+ </profiles>
+ <build>
+ <sourceDirectory>src/main/java</sourceDirectory>
+ <outputDirectory>target/classes</outputDirectory>
+ <testSourceDirectory>src/tests/java</testSourceDirectory>
+ <testOutputDirectory>target/test-classes</testOutputDirectory>
+ <finalName>${artifactId}</finalName>
+ <resources>
+ <resource>
+ <directory>${basedir}</directory>
+ <includes>
+ <include>JBossORG-EULA.txt</include>
+ </includes>
+ </resource>
+ <resource>
+ <directory>src/main/resources</directory>
+ <includes>
+ <include>**/*.dtd</include>
+ <include>**/*.xsd</include>
+ </includes>
+ </resource>
+ </resources>
+ <testResources>
+ <testResource>
+ <directory>src/tests/resources/</directory>
+ <includes>
+ <include>**/*.xml</include>
+ </includes>
+ </testResource>
+ </testResources>
+ </build>
+ <dependencies>
+ <dependency>
+ <groupId>org.jboss.security</groupId>
+ <artifactId>jboss-security-spi</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.jboss</groupId>
+ <artifactId>jboss-common-core</artifactId>
+ <scope>compile</scope>
+ </dependency>
+ <dependency>
+ <groupId>jboss</groupId>
+ <artifactId>jboss-logging-spi</artifactId>
+ <scope>compile</scope>
+ </dependency>
+ <dependency>
+ <groupId>jboss</groupId>
+ <artifactId>jboss-logging-log4j</artifactId>
+ <scope>runtime</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.hibernate</groupId>
+ <artifactId>hibernate</artifactId>
+ <version>3.2.4.sp1</version>
+ <scope>compile</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.hibernate</groupId>
+ <artifactId>hibernate-annotations</artifactId>
+ <version>3.3.0.ga</version>
+ <scope>compile</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.hibernate</groupId>
+ <artifactId>hibernate-entitymanager</artifactId>
+ <version>3.3.1.ga</version>
+ <scope>compile</scope>
+ </dependency>
+ <dependency>
+ <groupId>hsqldb</groupId>
+ <artifactId>hsqldb</artifactId>
+ <version>1.8.0.2</version>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>apache-log4j</groupId>
+ <artifactId>log4j</artifactId>
+ <scope>compile</scope>
+ </dependency>
+ <dependency>
+ <groupId>junit</groupId>
+ <artifactId>junit</artifactId>
+ <scope>compile</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.jboss</groupId>
+ <artifactId>jboss-test</artifactId>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.jboss.security</groupId>
+ <artifactId>identity-impl</artifactId>
+ <version>${project.version}</version>
+ <scope>compile</scope>
+ </dependency>
+ </dependencies>
+</project>
Deleted: projects/security/security-jboss-sx/tags/2.0.2.CR6/assembly/pom.xml
===================================================================
--- projects/security/security-jboss-sx/trunk/assembly/pom.xml 2008-06-19 18:02:14 UTC (rev 74848)
+++ projects/security/security-jboss-sx/tags/2.0.2.CR6/assembly/pom.xml 2008-06-24 21:41:44 UTC (rev 75011)
@@ -1,62 +0,0 @@
-<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">
- <parent>
- <groupId>org.jboss.security</groupId>
- <artifactId>jbosssx-parent</artifactId>
- <version>2.0.2-SNAPSHOT</version>
- </parent>
- <modelVersion>4.0.0</modelVersion>
- <groupId>org.jboss.security</groupId>
- <artifactId>jbosssx</artifactId>
- <packaging>pom</packaging>
- <name>JBoss Security Implementation for the JBAS - Assembly</name>
- <url>http://labs.jboss.org/portal/jbosssecurity/</url>
- <description>JBoss Security is a cross cutting project that handles security for the JEMS projects</description>
- <licenses>
- <license>
- <name>lgpl</name>
- <url>http://repository.jboss.com/licenses/lgpl.txt</url>
- </license>
- </licenses>
- <organization>
- <name>JBoss Inc.</name>
- <url>http://www.jboss.org</url>
- </organization>
-
- <build>
- <plugins>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-assembly-plugin</artifactId>
- <version>2.1</version>
- <executions>
- <execution>
- <phase>package</phase>
- <goals>
- <goal>attached</goal>
- </goals>
- </execution>
- </executions>
- <configuration>
- <archive>
- <manifestEntries>
- <Specification-Title>JBoss Security Implementation for the JBAS</Specification-Title>
- <Specification-Version>${project.version}</Specification-Version>
- <Specification-Vendor>Red Hat Middleware LLC</Specification-Vendor>
- <Implementation-Title>JBoss Security Implementation for the JBAS</Implementation-Title>
- <Implementation-Version>${project.version}</Implementation-Version>
- <Implementation-VendorId>org.jboss.security</Implementation-VendorId>
- <Implementation-Vendor>Red Hat Middleware LLC</Implementation-Vendor>
- <Implementation-URL>http://labs.jboss.org/portal/jbosssecurity/</Implementation-URL>
- </manifestEntries>
- </archive>
- <descriptors>
- <descriptor>src/assembly/bin.xml</descriptor>
- <descriptor>src/assembly/sources.xml</descriptor>
- </descriptors>
- </configuration>
- <inherited>false</inherited>
- </plugin>
- </plugins>
- </build>
-
-</project>
\ No newline at end of file
Copied: projects/security/security-jboss-sx/tags/2.0.2.CR6/assembly/pom.xml (from rev 75010, projects/security/security-jboss-sx/trunk/assembly/pom.xml)
===================================================================
--- projects/security/security-jboss-sx/tags/2.0.2.CR6/assembly/pom.xml (rev 0)
+++ projects/security/security-jboss-sx/tags/2.0.2.CR6/assembly/pom.xml 2008-06-24 21:41:44 UTC (rev 75011)
@@ -0,0 +1,62 @@
+<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">
+ <parent>
+ <groupId>org.jboss.security</groupId>
+ <artifactId>jbosssx-parent</artifactId>
+ <version>2.0.2.CR6</version>
+ </parent>
+ <modelVersion>4.0.0</modelVersion>
+ <groupId>org.jboss.security</groupId>
+ <artifactId>jbosssx</artifactId>
+ <packaging>pom</packaging>
+ <name>JBoss Security Implementation for the JBAS - Assembly</name>
+ <url>http://labs.jboss.org/portal/jbosssecurity/</url>
+ <description>JBoss Security is a cross cutting project that handles security for the JEMS projects</description>
+ <licenses>
+ <license>
+ <name>lgpl</name>
+ <url>http://repository.jboss.com/licenses/lgpl.txt</url>
+ </license>
+ </licenses>
+ <organization>
+ <name>JBoss Inc.</name>
+ <url>http://www.jboss.org</url>
+ </organization>
+
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-assembly-plugin</artifactId>
+ <version>2.1</version>
+ <executions>
+ <execution>
+ <phase>package</phase>
+ <goals>
+ <goal>attached</goal>
+ </goals>
+ </execution>
+ </executions>
+ <configuration>
+ <archive>
+ <manifestEntries>
+ <Specification-Title>JBoss Security Implementation for the JBAS</Specification-Title>
+ <Specification-Version>${project.version}</Specification-Version>
+ <Specification-Vendor>Red Hat Middleware LLC</Specification-Vendor>
+ <Implementation-Title>JBoss Security Implementation for the JBAS</Implementation-Title>
+ <Implementation-Version>${project.version}</Implementation-Version>
+ <Implementation-VendorId>org.jboss.security</Implementation-VendorId>
+ <Implementation-Vendor>Red Hat Middleware LLC</Implementation-Vendor>
+ <Implementation-URL>http://labs.jboss.org/portal/jbosssecurity/</Implementation-URL>
+ </manifestEntries>
+ </archive>
+ <descriptors>
+ <descriptor>src/assembly/bin.xml</descriptor>
+ <descriptor>src/assembly/sources.xml</descriptor>
+ </descriptors>
+ </configuration>
+ <inherited>false</inherited>
+ </plugin>
+ </plugins>
+ </build>
+
+</project>
\ No newline at end of file
Deleted: projects/security/security-jboss-sx/tags/2.0.2.CR6/identity/pom.xml
===================================================================
--- projects/security/security-jboss-sx/trunk/identity/pom.xml 2008-06-19 18:02:14 UTC (rev 74848)
+++ projects/security/security-jboss-sx/tags/2.0.2.CR6/identity/pom.xml 2008-06-24 21:41:44 UTC (rev 75011)
@@ -1,123 +0,0 @@
-<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">
- <parent>
- <groupId>org.jboss.security</groupId>
- <artifactId>jbosssx-parent</artifactId>
- <version>2.0.2-SNAPSHOT</version>
- </parent>
- <modelVersion>4.0.0</modelVersion>
- <artifactId>identity-impl</artifactId>
- <packaging>jar</packaging>
- <name>JBoss Security Identity Implementation</name>
- <url>http://labs.jboss.org/portal/jbosssecurity/</url>
- <description>JBoss Security is a cross cutting project that handles security for the JEMS projects</description>
- <licenses>
- <license>
- <name>lgpl</name>
- <url>http://repository.jboss.com/licenses/lgpl.txt</url>
- </license>
- </licenses>
- <organization>
- <name>JBoss Inc.</name>
- <url>http://www.jboss.org</url>
- </organization>
- <profiles>
- <!-- mvn install -Psecurity-manager -->
- <profile>
- <id>security-manager</id>
- <activation>
- <activeByDefault>false</activeByDefault>
- </activation>
- <properties>
- <test.env>-Dtest.basedir=${basedir}/target/test-classes</test.env>
- <policy.file>${basedir}/src/tests/resources/java.policy</policy.file>
- <surefire.jvm.args>-Djava.security.manager -Djava.security.policy=${policy.file} ${test.env}</surefire.jvm.args>
- </properties>
- </profile>
- <!-- mvn install -Psecurity-manager-debug -->
- <!-- Best Practice: mvn install -Psecurity-manager-debug 2>&1 > logfile2>&1 > logfile -->
- <profile>
- <id>security-manager-debug</id>
- <activation>
- <activeByDefault>false</activeByDefault>
- </activation>
- <properties>
- <test.env>-Dtest.basedir=${basedir}/target/test-classes</test.env>
- <policy.file>${basedir}/src/tests/resources/java.policy</policy.file>
- <surefire.jvm.args>-Djava.security.manager -Djava.security.policy=${policy.file} -Djava.security.debug=failure,access ${test.env}</surefire.jvm.args>
- </properties>
- </profile>
- </profiles>
- <build>
- <sourceDirectory>src/main</sourceDirectory>
- <testSourceDirectory>src/tests</testSourceDirectory>
- <testOutputDirectory>target/test-classes</testOutputDirectory>
- <finalName>${artifactId}</finalName>
- <outputDirectory>target/classes</outputDirectory>
- <resources>
- <resource>
- <directory>src/main</directory>
- <includes>
- <include>**/*.xml</include>
- </includes>
- </resource>
- <resource>
- <directory>${basedir}</directory>
- <includes>
- <include>JBossORG-EULA.txt</include>
- </includes>
- </resource>
- <resource>
- <directory>src/resources</directory>
- <includes>
- <include>**/*.dtd</include>
- <include>**/*.xsd</include>
- </includes>
- </resource>
- </resources>
- <testResources>
- <testResource>
- <directory>src/tests/resources/</directory>
- </testResource>
- <testResource>
- <directory>src/main</directory>
- </testResource>
- </testResources>
- </build>
- <dependencies>
- <dependency>
- <groupId>org.jboss.security</groupId>
- <artifactId>jboss-security-spi</artifactId>
- <scope>compile</scope>
- </dependency>
- <dependency>
- <groupId>org.jboss</groupId>
- <artifactId>jboss-common-core</artifactId>
- <scope>compile</scope>
- </dependency>
- <dependency>
- <groupId>jboss</groupId>
- <artifactId>jboss-logging-spi</artifactId>
- <scope>compile</scope>
- </dependency>
- <dependency>
- <groupId>jboss</groupId>
- <artifactId>jboss-logging-log4j</artifactId>
- <scope>runtime</scope>
- </dependency>
- <dependency>
- <groupId>apache-log4j</groupId>
- <artifactId>log4j</artifactId>
- <scope>compile</scope>
- </dependency>
- <dependency>
- <groupId>junit</groupId>
- <artifactId>junit</artifactId>
- <scope>compile</scope>
- </dependency>
- <dependency>
- <groupId>org.jboss</groupId>
- <artifactId>jboss-test</artifactId>
- <scope>test</scope>
- </dependency>
- </dependencies>
-</project>
Copied: projects/security/security-jboss-sx/tags/2.0.2.CR6/identity/pom.xml (from rev 75010, projects/security/security-jboss-sx/trunk/identity/pom.xml)
===================================================================
--- projects/security/security-jboss-sx/tags/2.0.2.CR6/identity/pom.xml (rev 0)
+++ projects/security/security-jboss-sx/tags/2.0.2.CR6/identity/pom.xml 2008-06-24 21:41:44 UTC (rev 75011)
@@ -0,0 +1,123 @@
+<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">
+ <parent>
+ <groupId>org.jboss.security</groupId>
+ <artifactId>jbosssx-parent</artifactId>
+ <version>2.0.2.CR6</version>
+ </parent>
+ <modelVersion>4.0.0</modelVersion>
+ <artifactId>identity-impl</artifactId>
+ <packaging>jar</packaging>
+ <name>JBoss Security Identity Implementation</name>
+ <url>http://labs.jboss.org/portal/jbosssecurity/</url>
+ <description>JBoss Security is a cross cutting project that handles security for the JEMS projects</description>
+ <licenses>
+ <license>
+ <name>lgpl</name>
+ <url>http://repository.jboss.com/licenses/lgpl.txt</url>
+ </license>
+ </licenses>
+ <organization>
+ <name>JBoss Inc.</name>
+ <url>http://www.jboss.org</url>
+ </organization>
+ <profiles>
+ <!-- mvn install -Psecurity-manager -->
+ <profile>
+ <id>security-manager</id>
+ <activation>
+ <activeByDefault>false</activeByDefault>
+ </activation>
+ <properties>
+ <test.env>-Dtest.basedir=${basedir}/target/test-classes</test.env>
+ <policy.file>${basedir}/src/tests/resources/java.policy</policy.file>
+ <surefire.jvm.args>-Djava.security.manager -Djava.security.policy=${policy.file} ${test.env}</surefire.jvm.args>
+ </properties>
+ </profile>
+ <!-- mvn install -Psecurity-manager-debug -->
+ <!-- Best Practice: mvn install -Psecurity-manager-debug 2>&1 > logfile2>&1 > logfile -->
+ <profile>
+ <id>security-manager-debug</id>
+ <activation>
+ <activeByDefault>false</activeByDefault>
+ </activation>
+ <properties>
+ <test.env>-Dtest.basedir=${basedir}/target/test-classes</test.env>
+ <policy.file>${basedir}/src/tests/resources/java.policy</policy.file>
+ <surefire.jvm.args>-Djava.security.manager -Djava.security.policy=${policy.file} -Djava.security.debug=failure,access ${test.env}</surefire.jvm.args>
+ </properties>
+ </profile>
+ </profiles>
+ <build>
+ <sourceDirectory>src/main</sourceDirectory>
+ <testSourceDirectory>src/tests</testSourceDirectory>
+ <testOutputDirectory>target/test-classes</testOutputDirectory>
+ <finalName>${artifactId}</finalName>
+ <outputDirectory>target/classes</outputDirectory>
+ <resources>
+ <resource>
+ <directory>src/main</directory>
+ <includes>
+ <include>**/*.xml</include>
+ </includes>
+ </resource>
+ <resource>
+ <directory>${basedir}</directory>
+ <includes>
+ <include>JBossORG-EULA.txt</include>
+ </includes>
+ </resource>
+ <resource>
+ <directory>src/resources</directory>
+ <includes>
+ <include>**/*.dtd</include>
+ <include>**/*.xsd</include>
+ </includes>
+ </resource>
+ </resources>
+ <testResources>
+ <testResource>
+ <directory>src/tests/resources/</directory>
+ </testResource>
+ <testResource>
+ <directory>src/main</directory>
+ </testResource>
+ </testResources>
+ </build>
+ <dependencies>
+ <dependency>
+ <groupId>org.jboss.security</groupId>
+ <artifactId>jboss-security-spi</artifactId>
+ <scope>compile</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.jboss</groupId>
+ <artifactId>jboss-common-core</artifactId>
+ <scope>compile</scope>
+ </dependency>
+ <dependency>
+ <groupId>jboss</groupId>
+ <artifactId>jboss-logging-spi</artifactId>
+ <scope>compile</scope>
+ </dependency>
+ <dependency>
+ <groupId>jboss</groupId>
+ <artifactId>jboss-logging-log4j</artifactId>
+ <scope>runtime</scope>
+ </dependency>
+ <dependency>
+ <groupId>apache-log4j</groupId>
+ <artifactId>log4j</artifactId>
+ <scope>compile</scope>
+ </dependency>
+ <dependency>
+ <groupId>junit</groupId>
+ <artifactId>junit</artifactId>
+ <scope>compile</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.jboss</groupId>
+ <artifactId>jboss-test</artifactId>
+ <scope>test</scope>
+ </dependency>
+ </dependencies>
+</project>
Deleted: projects/security/security-jboss-sx/tags/2.0.2.CR6/jbosssx/pom.xml
===================================================================
--- projects/security/security-jboss-sx/trunk/jbosssx/pom.xml 2008-06-19 18:02:14 UTC (rev 74848)
+++ projects/security/security-jboss-sx/tags/2.0.2.CR6/jbosssx/pom.xml 2008-06-24 21:41:44 UTC (rev 75011)
@@ -1,229 +0,0 @@
-<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">
- <parent>
- <groupId>org.jboss.security</groupId>
- <artifactId>jbosssx-parent</artifactId>
- <version>2.0.2-SNAPSHOT</version>
- </parent>
- <modelVersion>4.0.0</modelVersion>
- <artifactId>jbosssx-bare</artifactId>
- <packaging>jar</packaging>
- <name>JBoss Security Implementation for the JBAS</name>
- <url>http://labs.jboss.org/portal/jbosssecurity/</url>
- <description>JBoss Security is a cross cutting project that handles security for the JEMS projects</description>
- <licenses>
- <license>
- <name>lgpl</name>
- <url>http://repository.jboss.com/licenses/lgpl.txt</url>
- </license>
- </licenses>
- <organization>
- <name>JBoss Inc.</name>
- <url>http://www.jboss.org</url>
- </organization>
- <profiles>
- <!-- mvn install -Psecurity-manager -->
- <profile>
- <id>security-manager</id>
- <activation>
- <activeByDefault>false</activeByDefault>
- </activation>
- <properties>
- <test.env>-Dtest.basedir=${basedir}/target/test-classes</test.env>
- <policy.file>${basedir}/src/tests/resources/java.policy</policy.file>
- <surefire.jvm.args>-Djava.security.manager -Djava.security.policy=${policy.file} ${test.env}</surefire.jvm.args>
- </properties>
- </profile>
- <!-- mvn install -Psecurity-manager-debug -->
- <!-- Best Practice: mvn install -Psecurity-manager-debug 2>&1 > logfile2>&1 > logfile -->
- <profile>
- <id>security-manager-debug</id>
- <activation>
- <activeByDefault>false</activeByDefault>
- </activation>
- <properties>
- <test.env>-Dtest.basedir=${basedir}/target/test-classes</test.env>
- <policy.file>${basedir}/src/tests/resources/java.policy</policy.file>
- <surefire.jvm.args>-Djava.security.manager -Djava.security.policy=${policy.file} -Djava.security.debug=failure,access ${test.env}</surefire.jvm.args>
- </properties>
- </profile>
- </profiles>
- <build>
- <sourceDirectory>src/main</sourceDirectory>
- <testSourceDirectory>src/tests</testSourceDirectory>
- <testOutputDirectory>target/test-classes</testOutputDirectory>
- <finalName>${artifactId}</finalName>
- <outputDirectory>target/classes</outputDirectory>
- <resources>
- <resource>
- <directory>src/main</directory>
- <includes>
- <include>**/*.xml</include>
- </includes>
- </resource>
- <resource>
- <directory>${basedir}</directory>
- <includes>
- <include>JBossORG-EULA.txt</include>
- </includes>
- </resource>
- <resource>
- <directory>src/resources</directory>
- <includes>
- <include>**/*.dtd</include>
- <include>**/*.xsd</include>
- </includes>
- </resource>
- <resource>
- <directory>target/generated-sources/javacc</directory>
- <includes>
- <include>**/*.class</include>
- </includes>
- </resource>
- </resources>
- <testResources>
- <testResource>
- <directory>src/tests/resources/</directory>
- </testResource>
- <testResource>
- <directory>src/main</directory>
- </testResource>
- </testResources>
- <plugins>
- <!-- generate java files from grammar -->
- <plugin>
- <groupId>org.codehaus.mojo</groupId>
- <artifactId>javacc-maven-plugin</artifactId>
- <version>2.3-jboss-1</version>
- <configuration>
- <packageName>org/jboss/security/auth/login</packageName>
- <sourceDirectory>src/main</sourceDirectory>
- <isStatic>false</isStatic>
- </configuration>
- <executions>
- <execution>
- <goals>
- <goal>javacc</goal>
- </goals>
- <id>javacc</id>
- </execution>
- </executions>
- </plugin>
- </plugins>
- </build>
- <dependencies>
- <dependency>
- <groupId>org.jboss.javaee</groupId>
- <artifactId>jboss-jacc-api</artifactId>
- <scope>compile</scope>
- </dependency>
- <dependency>
- <groupId>org.jboss.javaee</groupId>
- <artifactId>jboss-transaction-api</artifactId>
- <scope>compile</scope>
- </dependency>
- <dependency>
- <groupId>org.jboss.javaee</groupId>
- <artifactId>jboss-jaspi-api</artifactId>
- <scope>compile</scope>
- </dependency>
- <dependency>
- <groupId>org.jboss</groupId>
- <artifactId>jbossxb</artifactId>
- <scope>compile</scope>
- </dependency>
- <dependency>
- <groupId>org.jboss.security</groupId>
- <artifactId>jboss-security-acl-impl</artifactId>
- <version>${project.version}</version>
- <scope>compile</scope>
- </dependency>
- <dependency>
- <groupId>org.jboss.security</groupId>
- <artifactId>identity-impl</artifactId>
- <version>${project.version}</version>
- <scope>compile</scope>
- </dependency>
- <dependency>
- <groupId>javassist</groupId>
- <artifactId>javassist</artifactId>
- <version>3.4.GA</version>
- <scope>compile</scope>
- </dependency>
- <dependency>
- <groupId>org.jboss.javaee</groupId>
- <artifactId>jboss-javaee</artifactId>
- <version>5.0.0.Beta3</version>
- <scope>compile</scope>
- </dependency>
- <dependency>
- <groupId>jboss</groupId>
- <artifactId>jboss-jmx</artifactId>
- <version>4.2.1.GA</version>
- <scope>compile</scope>
- </dependency>
- <dependency>
- <groupId>org.jboss.security</groupId>
- <artifactId>jboss-xacml</artifactId>
- <version>2.0.2.GA</version>
- <scope>compile</scope>
- <exclusions>
- <exclusion>
- <groupId>org.jboss.security</groupId>
- <artifactId>jboss-sunxacml</artifactId>
- </exclusion>
- </exclusions>
-
- </dependency>
- <dependency>
- <groupId>org.jboss.security</groupId>
- <artifactId>jboss-sunxacml</artifactId>
- <version>2.0.2.GA</version>
- <scope>compile</scope>
- </dependency>
- <dependency>
- <groupId>javax.servlet</groupId>
- <artifactId>servlet-api</artifactId>
- <version>2.5</version>
- <scope>compile</scope>
- </dependency>
- <dependency>
- <groupId>javax.mail</groupId>
- <artifactId>mail</artifactId>
- <version>1.4</version>
- <scope>compile</scope>
- </dependency>
- <dependency>
- <groupId>apache-xerces</groupId>
- <artifactId>xercesImpl</artifactId>
- <version>2.7.1</version>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>org.jboss</groupId>
- <artifactId>jnpserver</artifactId>
- <version>5.0.0.Beta3</version>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>org.jboss</groupId>
- <artifactId>jboss-test</artifactId>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>org.jboss.security</groupId>
- <artifactId>jboss-security-spi</artifactId>
- </dependency>
- <dependency>
- <groupId>sun-opends</groupId>
- <artifactId>opends-core</artifactId>
- <version>1.0.0-BUILD04</version>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>sleepycat</groupId>
- <artifactId>je</artifactId>
- <version>3.2.43</version>
- <scope>test</scope>
- </dependency>
- </dependencies>
-</project>
Copied: projects/security/security-jboss-sx/tags/2.0.2.CR6/jbosssx/pom.xml (from rev 75010, projects/security/security-jboss-sx/trunk/jbosssx/pom.xml)
===================================================================
--- projects/security/security-jboss-sx/tags/2.0.2.CR6/jbosssx/pom.xml (rev 0)
+++ projects/security/security-jboss-sx/tags/2.0.2.CR6/jbosssx/pom.xml 2008-06-24 21:41:44 UTC (rev 75011)
@@ -0,0 +1,229 @@
+<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">
+ <parent>
+ <groupId>org.jboss.security</groupId>
+ <artifactId>jbosssx-parent</artifactId>
+ <version>2.0.2.CR6</version>
+ </parent>
+ <modelVersion>4.0.0</modelVersion>
+ <artifactId>jbosssx-bare</artifactId>
+ <packaging>jar</packaging>
+ <name>JBoss Security Implementation for the JBAS</name>
+ <url>http://labs.jboss.org/portal/jbosssecurity/</url>
+ <description>JBoss Security is a cross cutting project that handles security for the JEMS projects</description>
+ <licenses>
+ <license>
+ <name>lgpl</name>
+ <url>http://repository.jboss.com/licenses/lgpl.txt</url>
+ </license>
+ </licenses>
+ <organization>
+ <name>JBoss Inc.</name>
+ <url>http://www.jboss.org</url>
+ </organization>
+ <profiles>
+ <!-- mvn install -Psecurity-manager -->
+ <profile>
+ <id>security-manager</id>
+ <activation>
+ <activeByDefault>false</activeByDefault>
+ </activation>
+ <properties>
+ <test.env>-Dtest.basedir=${basedir}/target/test-classes</test.env>
+ <policy.file>${basedir}/src/tests/resources/java.policy</policy.file>
+ <surefire.jvm.args>-Djava.security.manager -Djava.security.policy=${policy.file} ${test.env}</surefire.jvm.args>
+ </properties>
+ </profile>
+ <!-- mvn install -Psecurity-manager-debug -->
+ <!-- Best Practice: mvn install -Psecurity-manager-debug 2>&1 > logfile2>&1 > logfile -->
+ <profile>
+ <id>security-manager-debug</id>
+ <activation>
+ <activeByDefault>false</activeByDefault>
+ </activation>
+ <properties>
+ <test.env>-Dtest.basedir=${basedir}/target/test-classes</test.env>
+ <policy.file>${basedir}/src/tests/resources/java.policy</policy.file>
+ <surefire.jvm.args>-Djava.security.manager -Djava.security.policy=${policy.file} -Djava.security.debug=failure,access ${test.env}</surefire.jvm.args>
+ </properties>
+ </profile>
+ </profiles>
+ <build>
+ <sourceDirectory>src/main</sourceDirectory>
+ <testSourceDirectory>src/tests</testSourceDirectory>
+ <testOutputDirectory>target/test-classes</testOutputDirectory>
+ <finalName>${artifactId}</finalName>
+ <outputDirectory>target/classes</outputDirectory>
+ <resources>
+ <resource>
+ <directory>src/main</directory>
+ <includes>
+ <include>**/*.xml</include>
+ </includes>
+ </resource>
+ <resource>
+ <directory>${basedir}</directory>
+ <includes>
+ <include>JBossORG-EULA.txt</include>
+ </includes>
+ </resource>
+ <resource>
+ <directory>src/resources</directory>
+ <includes>
+ <include>**/*.dtd</include>
+ <include>**/*.xsd</include>
+ </includes>
+ </resource>
+ <resource>
+ <directory>target/generated-sources/javacc</directory>
+ <includes>
+ <include>**/*.class</include>
+ </includes>
+ </resource>
+ </resources>
+ <testResources>
+ <testResource>
+ <directory>src/tests/resources/</directory>
+ </testResource>
+ <testResource>
+ <directory>src/main</directory>
+ </testResource>
+ </testResources>
+ <plugins>
+ <!-- generate java files from grammar -->
+ <plugin>
+ <groupId>org.codehaus.mojo</groupId>
+ <artifactId>javacc-maven-plugin</artifactId>
+ <version>2.3-jboss-1</version>
+ <configuration>
+ <packageName>org/jboss/security/auth/login</packageName>
+ <sourceDirectory>src/main</sourceDirectory>
+ <isStatic>false</isStatic>
+ </configuration>
+ <executions>
+ <execution>
+ <goals>
+ <goal>javacc</goal>
+ </goals>
+ <id>javacc</id>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ </build>
+ <dependencies>
+ <dependency>
+ <groupId>org.jboss.javaee</groupId>
+ <artifactId>jboss-jacc-api</artifactId>
+ <scope>compile</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.jboss.javaee</groupId>
+ <artifactId>jboss-transaction-api</artifactId>
+ <scope>compile</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.jboss.javaee</groupId>
+ <artifactId>jboss-jaspi-api</artifactId>
+ <scope>compile</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.jboss</groupId>
+ <artifactId>jbossxb</artifactId>
+ <scope>compile</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.jboss.security</groupId>
+ <artifactId>jboss-security-acl-impl</artifactId>
+ <version>${project.version}</version>
+ <scope>compile</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.jboss.security</groupId>
+ <artifactId>identity-impl</artifactId>
+ <version>${project.version}</version>
+ <scope>compile</scope>
+ </dependency>
+ <dependency>
+ <groupId>javassist</groupId>
+ <artifactId>javassist</artifactId>
+ <version>3.4.GA</version>
+ <scope>compile</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.jboss.javaee</groupId>
+ <artifactId>jboss-javaee</artifactId>
+ <version>5.0.0.Beta3</version>
+ <scope>compile</scope>
+ </dependency>
+ <dependency>
+ <groupId>jboss</groupId>
+ <artifactId>jboss-jmx</artifactId>
+ <version>4.2.1.GA</version>
+ <scope>compile</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.jboss.security</groupId>
+ <artifactId>jboss-xacml</artifactId>
+ <version>2.0.2.GA</version>
+ <scope>compile</scope>
+ <exclusions>
+ <exclusion>
+ <groupId>org.jboss.security</groupId>
+ <artifactId>jboss-sunxacml</artifactId>
+ </exclusion>
+ </exclusions>
+
+ </dependency>
+ <dependency>
+ <groupId>org.jboss.security</groupId>
+ <artifactId>jboss-sunxacml</artifactId>
+ <version>2.0.2.GA</version>
+ <scope>compile</scope>
+ </dependency>
+ <dependency>
+ <groupId>javax.servlet</groupId>
+ <artifactId>servlet-api</artifactId>
+ <version>2.5</version>
+ <scope>compile</scope>
+ </dependency>
+ <dependency>
+ <groupId>javax.mail</groupId>
+ <artifactId>mail</artifactId>
+ <version>1.4</version>
+ <scope>compile</scope>
+ </dependency>
+ <dependency>
+ <groupId>apache-xerces</groupId>
+ <artifactId>xercesImpl</artifactId>
+ <version>2.7.1</version>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.jboss</groupId>
+ <artifactId>jnpserver</artifactId>
+ <version>5.0.0.Beta3</version>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.jboss</groupId>
+ <artifactId>jboss-test</artifactId>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.jboss.security</groupId>
+ <artifactId>jboss-security-spi</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>sun-opends</groupId>
+ <artifactId>opends-core</artifactId>
+ <version>1.0.0-BUILD04</version>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>sleepycat</groupId>
+ <artifactId>je</artifactId>
+ <version>3.2.43</version>
+ <scope>test</scope>
+ </dependency>
+ </dependencies>
+</project>
Deleted: projects/security/security-jboss-sx/tags/2.0.2.CR6/jbosssx/src/main/org/jboss/security/SecurityAssociation.java
===================================================================
--- projects/security/security-jboss-sx/trunk/jbosssx/src/main/org/jboss/security/SecurityAssociation.java 2008-06-19 18:02:14 UTC (rev 74848)
+++ projects/security/security-jboss-sx/tags/2.0.2.CR6/jbosssx/src/main/org/jboss/security/SecurityAssociation.java 2008-06-24 21:41:44 UTC (rev 75011)
@@ -1,1132 +0,0 @@
-/*
-* JBoss, Home of Professional Open Source
-* Copyright 2005, JBoss Inc., and individual contributors as indicated
-* by the @authors tag. See the copyright.txt in the distribution for a
-* full listing of individual contributors.
-*
-* This is free software; you can redistribute it and/or modify it
-* under the terms of the GNU Lesser General Public License as
-* published by the Free Software Foundation; either version 2.1 of
-* the License, or (at your option) any later version.
-*
-* This software is distributed in the hope that it will be useful,
-* but WITHOUT ANY WARRANTY; without even the implied warranty of
-* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-* Lesser General Public License for more details.
-*
-* You should have received a copy of the GNU Lesser General Public
-* License along with this software; if not, write to the Free
-* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
-* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
-*/
-package org.jboss.security;
-
-import java.security.Principal;
-import java.util.ArrayList;
-import java.util.HashMap;
-
-import javax.security.auth.Subject;
-
-import org.jboss.logging.Logger;
-
-/**
- * The SecurityAssociation class maintains the security principal and
- * credentials. This can be done on either a singleton basis or a thread local
- * basis depending on the server property. When the server property has been set
- * to true, the security information is maintained in thread local storage. The
- * type of thread local storage depends on the org.jboss.security.SecurityAssociation.ThreadLocal
- * property. If this property is true, then the thread local storage object is
- * of type java.lang.ThreadLocal which results in the current thread's security
- * information NOT being propagated to child threads.
- *
- * When the property is false or does not exist, the thread local storage object
- * is of type java.lang.InheritableThreadLocal, and any threads spawned by the
- * current thread will inherit the security information of the current thread.
- * Subseqent changes to the current thread's security information are NOT
- * propagated to any previously spawned child threads.
- *
- * When the server property is false, security information is maintained in
- * class variables which makes the information available to all threads within
- * the current VM.
- *
- * Note that this is not a public API class. Its an implementation detail that
- * is subject to change without notice.
- *
- * @author Daniel O'Connor (docodan at nycap.rr.com)
- * @author Scott.Stark at jboss.org
- * @author Anil.Saldhana at redhat.com
- * @version $Revision$
- */
-public final class SecurityAssociation
-{
- private static Logger log = Logger.getLogger(SecurityAssociation.class);
- /**
- * A flag indicating if trace level logging should be performed
- */
- private static boolean trace;
- /**
- * A flag indicating if security information is global or thread local
- */
- private static boolean server;
- /**
- * The SecurityAssociation principal used when the server flag is false
- */
- private static Principal principal;
- /**
- * The SecurityAssociation credential used when the server flag is false
- */
- private static Object credential;
-
- /**
- * The SecurityAssociation principal used when the server flag is true
- */
- private static ThreadLocal<Principal> threadPrincipal;
- /**
- * The SecurityAssociation credential used when the server flag is true
- */
- private static ThreadLocal<Object> threadCredential;
- /**
- * The SecurityAssociation HashMap<String, Object>
- */
- private static ThreadLocal<HashMap<String,Object>> threadContextMap;
-
- /**
- * Thread local stacks of run-as principal roles used to implement J2EE
- * run-as identity propagation
- */
- private static RunAsThreadLocalStack threadRunAsStacks;
- /**
- * Thread local stacks of authenticated subject used to control the current
- * caller security context
- */
- private static SubjectThreadLocalStack threadSubjectStacks;
-
- /**
- * The permission required to access getPrincpal, getCredential
- */
- private static final RuntimePermission getPrincipalInfoPermission =
- new RuntimePermission("org.jboss.security.SecurityAssociation.getPrincipalInfo");
- /**
- * The permission required to access getSubject
- */
- private static final RuntimePermission getSubjectPermission =
- new RuntimePermission("org.jboss.security.SecurityAssociation.getSubject");
- /**
- * The permission required to access setPrincpal, setCredential, setSubject
- * pushSubjectContext, popSubjectContext
- */
- private static final RuntimePermission setPrincipalInfoPermission =
- new RuntimePermission("org.jboss.security.SecurityAssociation.setPrincipalInfo");
- /**
- * The permission required to access setServer
- */
- private static final RuntimePermission setServerPermission =
- new RuntimePermission("org.jboss.security.SecurityAssociation.setServer");
- /**
- * The permission required to access pushRunAsIdentity/popRunAsIdentity
- */
- private static final RuntimePermission setRunAsIdentity =
- new RuntimePermission("org.jboss.security.SecurityAssociation.setRunAsRole");
- /**
- * The permission required to get the current security context info
- */
- private static final RuntimePermission getContextInfo =
- new RuntimePermission("org.jboss.security.SecurityAssociation.accessContextInfo", "get");
- /**
- * The permission required to set the current security context info
- */
- private static final RuntimePermission setContextInfo =
- new RuntimePermission("org.jboss.security.SecurityAssociation.accessContextInfo", "set");
-
- static
- {
- String flag = SecurityActions.getProperty("org.jboss.security.SecurityAssociation.ThreadLocal", "false");
- boolean useThreadLocal = Boolean.valueOf(flag).booleanValue();
- log.debug("Using ThreadLocal: "+useThreadLocal);
-
- trace = log.isTraceEnabled();
- if (useThreadLocal)
- {
- threadPrincipal = new ThreadLocal<Principal>();
- threadCredential = new ThreadLocal<Object>();
- threadContextMap = new ThreadLocal<HashMap<String,Object>>()
- {
- protected HashMap<String,Object> initialValue()
- {
- return new HashMap<String,Object>();
- }
- };
- }
- else
- {
- threadPrincipal = new InheritableThreadLocal<Principal>();
- threadCredential = new InheritableThreadLocal<Object>();
- threadContextMap = new HashMapInheritableLocal<HashMap<String,Object>>();
- }
- threadRunAsStacks = new RunAsThreadLocalStack(useThreadLocal);
- threadSubjectStacks = new SubjectThreadLocalStack(useThreadLocal);
- }
-
- /**
- * Get the current authentication principal information. If a security
- * manager is present, then this method calls the security manager's
- * <code>checkPermission</code> method with a
- * <code>RuntimePermission("org.jboss.security.SecurityAssociation.getPrincipalInfo")
- * </code> permission to ensure it's ok to access principal information. If
- * not, a <code>SecurityException</code> will be thrown.
- * @return Principal, the current principal identity.
- */
- public static Principal getPrincipal()
- {
- SecurityManager sm = System.getSecurityManager();
- if (sm != null)
- sm.checkPermission(getPrincipalInfoPermission);
-
- Principal thePrincipal = principal;
-
- if(!server)
- return principal;
-
- if( trace )
- log.trace("getPrincipal, principal="+thePrincipal);
-
- SecurityContext sc = SecurityContextAssociation.getSecurityContext();
- if(sc != null)
- {
- if( trace )
- log.warn("You are using deprecated api to getPrincipal. Use security context based approach");
- thePrincipal = sc.getUtil().getUserPrincipal();
- }
- return thePrincipal;
- }
-
- /**
- * Get the caller's principal. If a security manager is present,
- * then this method calls the security manager's <code>checkPermission</code>
- * method with a <code> RuntimePermission("org.jboss.security.SecurityAssociation.getPrincipalInfo")
- * </code> permission to ensure it's ok to access principal information. If
- * not, a <code>SecurityException</code> will be thrown.
- *
- * @return Principal, the current principal identity.
- */
- public static Principal getCallerPrincipal()
- {
- SecurityManager sm = System.getSecurityManager();
- if (sm != null)
- sm.checkPermission(getPrincipalInfoPermission);
-
- /*Principal thePrincipal = peekRunAsIdentity(1);
- if( thePrincipal == null )
- {
- if (server)
- thePrincipal = (Principal) threadPrincipal.get();
- else
- thePrincipal = principal;
- }*/
-
- if(!server)
- return principal;
-
- //Just pluck it from the current security context
- SecurityContext sc = SecurityContextAssociation.getSecurityContext();
- Principal thePrincipal = null;
- if(sc != null)
- {
- //Check for runas
- RunAs ras = sc.getIncomingRunAs();
- if(ras != null)
- thePrincipal = new SimplePrincipal(ras.getName());
- else
- thePrincipal = sc.getUtil().getUserPrincipal();
- }
- if( trace )
- log.trace("getCallerPrincipal, principal="+thePrincipal);
- return thePrincipal;
- }
-
- /**
- * Get the current authentication credential information. This can be of any type
- * including: a String password, a char[] password, an X509 cert, etc. If a
- * security manager is present, then this method calls the security manager's
- * <code>checkPermission</code> method with a <code> RuntimePermission("org.jboss.security.SecurityAssociation.getPrincipalInfo")
- * </code> permission to ensure it's ok to access principal information. If
- * not, a <code>SecurityException</code> will be thrown.
- * @return Object, the credential that proves the principal identity.
- */
- public static Object getCredential()
- {
- SecurityManager sm = System.getSecurityManager();
- if (sm != null)
- sm.checkPermission(getPrincipalInfoPermission);
-
- if(!server)
- return credential;
-
- SecurityContext sc = SecurityContextAssociation.getSecurityContext();
- if(sc != null)
- {
- if(trace)
- log.warn("You are using deprecated api to getCredential. Use security context based approach");
- credential = sc.getUtil().getCredential();
- }
- return credential;
- }
-
- /**
- * Get the current Subject information. If a security manager is present,
- * then this method calls the security manager's checkPermission method with
- * a RuntimePermission("org.jboss.security.SecurityAssociation.getSubject")
- * permission to ensure it's ok to access principal information. If not, a
- * SecurityException will be thrown. Note that this method does not consider
- * whether or not a run-as identity exists. For access to this information
- * see the JACC PolicyContextHandler registered under the key
- * "javax.security.auth.Subject.container"
- * @return Subject, the current Subject identity.
- * @see javax.security.jacc.PolicyContext#getContext(String)
- */
- public static Subject getSubject()
- {
- SecurityManager sm = System.getSecurityManager();
- if (sm != null)
- sm.checkPermission(getSubjectPermission);
-
- SubjectContext sc = threadSubjectStacks.peek();
- if( trace )
- log.trace("getSubject, sc="+sc);
- Subject subject = null;
- /*if( sc != null )
- subject = sc.getSubject();
- return subject;*/
-
- SecurityContext secContext = SecurityAssociationActions.getSecurityContext();
- if(secContext != null)
- {
- if(trace)
- log.warn("You are using deprecated api to getSubject. Use security context based approach");
- subject = secContext.getUtil().getSubject();
- }
- return subject;
- }
-
- /**
- * Set the current principal information. If a security manager is present,
- * then this method calls the security manager's <code>checkPermission</code>
- * method with a <code> RuntimePermission("org.jboss.security.SecurityAssociation.setPrincipalInfo")
- * </code> permission to ensure it's ok to access principal information. If
- * not, a <code>SecurityException</code> will be thrown.
- * @param principal - the current principal identity.
- */
- public static void setPrincipal(Principal principal)
- {
- SecurityManager sm = System.getSecurityManager();
- if (sm != null)
- sm.checkPermission(setPrincipalInfoPermission);
-
- if (trace)
- log.trace("setPrincipal, p=" + principal + ", server=" + server);
- // Integrate with the new SubjectContext
- SubjectContext sc = threadSubjectStacks.peek();
- if( sc == null )
- {
- // There is no active security context
- sc = new SubjectContext();
- threadSubjectStacks.push(sc);
- }
- else if( (sc.getFlags() & SubjectContext.PRINCIPAL_WAS_SET) != 0 )
- {
- // The current security context has its principal set
- sc = new SubjectContext();
- threadSubjectStacks.push(sc);
- }
- sc.setPrincipal(principal);
-
- if(!server)
- {
- SecurityAssociation.principal = principal;
- return;
- }
- SecurityContext securityContext = SecurityContextAssociation.getSecurityContext();
- //Clients code that may have set directly (Legacy)
- if(securityContext == null)
- {
- try
- {
- securityContext = SecurityContextFactory.createSecurityContext("CLIENT_SIDE");
- }
- catch (Exception e)
- {
- throw new RuntimeException(e);
- }
- SecurityContextAssociation.setSecurityContext(securityContext);
- }
- if(trace)
- log.warn("Using deprecated API. Move to a security context based approach");
- Object cred = securityContext.getUtil().getCredential();
- Subject subj = securityContext.getUtil().getSubject();
- securityContext.getUtil().createSubjectInfo(principal,cred, subj);
-
- if (trace)
- log.trace("setPrincipal, sc="+sc);
-
- }
-
- /**
- * Set the current principal credential information. This can be of any type
- * including: a String password, a char[] password, an X509 cert, etc.
- *
- * If a security manager is present, then this method calls the security
- * manager's <code>checkPermission</code> method with a <code>
- * RuntimePermission("org.jboss.security.SecurityAssociation.setPrincipalInfo")
- * </code> permission to ensure it's ok to access principal information. If
- * not, a <code>SecurityException</code> will be thrown.
- * @param credential - the credential that proves the principal identity.
- */
- public static void setCredential(Object credential)
- {
- SecurityManager sm = System.getSecurityManager();
- if (sm != null)
- sm.checkPermission(setPrincipalInfoPermission);
-
- // Integrate with the new SubjectContext
- SubjectContext sc = threadSubjectStacks.peek();
- if( sc == null )
- {
- // There is no active security context
- sc = new SubjectContext();
- threadSubjectStacks.push(sc);
- }
- else if( (sc.getFlags() & SubjectContext.CREDENTIAL_WAS_SET) != 0 )
- {
- // The current security context has its principal set
- sc = new SubjectContext();
- threadSubjectStacks.push(sc);
- }
- sc.setCredential(credential);
- if (trace)
- log.trace("setCredential, sc="+sc);
-
- if(!server)
- {
- SecurityAssociation.credential = credential;
- return;
- }
-
- SecurityContext securityContext = SecurityContextAssociation.getSecurityContext();
- //Clients code that may have set directly (Legacy)
- if(securityContext == null)
- {
- try
- {
- securityContext = SecurityContextFactory.createSecurityContext("CLIENT_SIDE");
- }
- catch (Exception e)
- {
- throw new RuntimeException(e);
- }
- SecurityContextAssociation.setSecurityContext(securityContext);
- }
-
- if(trace)
- log.warn("Using deprecated API. Move to a security context based approach");
- Principal principal = securityContext.getUtil().getUserPrincipal();
- Subject subj = securityContext.getUtil().getSubject();
- securityContext.getUtil().createSubjectInfo(principal,credential, subj);
- }
-
- /**
- * Set the current Subject information. If a security manager is present,
- * then this method calls the security manager's <code>checkPermission</code>
- * method with a <code> RuntimePermission("org.jboss.security.SecurityAssociation.setPrincipalInfo")
- * </code> permission to ensure it's ok to access principal information. If
- * not, a <code>SecurityException</code> will be thrown.
- * @param subject - the current identity.
- */
- public static void setSubject(Subject subject)
- {
- SecurityManager sm = System.getSecurityManager();
- if (sm != null)
- sm.checkPermission(setPrincipalInfoPermission);
-
- if (trace)
- log.trace("setSubject, s=" + subject + ", server=" + server);
- // Integrate with the new SubjectContext
- SubjectContext sc = threadSubjectStacks.peek();
- if( sc == null )
- {
- // There is no active security context
- sc = new SubjectContext();
- threadSubjectStacks.push(sc);
- }
- else if( (sc.getFlags() & SubjectContext.SUBJECT_WAS_SET) != 0 )
- {
- // The current security context has its subject set
- sc = new SubjectContext();
- threadSubjectStacks.push(sc);
- }
- sc.setSubject(subject);
- if (trace)
- log.trace("setSubject, sc="+sc);
-
- SecurityContext sctx = SecurityContextAssociation.getSecurityContext();
- if(sctx != null)
- {
- SubjectInfo si = sctx.getSubjectInfo();
- if(si != null)
- {
- si.setAuthenticatedSubject(subject);
- }
- else
- sctx.getUtil().createSubjectInfo(null, null, subject);
- }
- }
-
- /**
- * Get the current thread context info. If a security manager is present,
- * then this method calls the security manager's <code>checkPermission</code>
- * method with a <code> RuntimePermission("org.jboss.security.SecurityAssociation.accessContextInfo",
- * "get") </code> permission to ensure it's ok to access context information.
- * If not, a <code>SecurityException</code> will be thrown.
- * @param key - the context key
- * @return the mapping for the key in the current thread context
- */
- public static Object getContextInfo(String key)
- {
- SecurityManager sm = System.getSecurityManager();
- if (sm != null)
- sm.checkPermission(getContextInfo);
-
- if(key == null)
- throw new IllegalArgumentException("key is null");
- HashMap<String,Object> contextInfo = (HashMap<String,Object>) threadContextMap.get();
- return contextInfo != null ? contextInfo.get(key) : null;
- }
-
- /**
- * Set the current thread context info. If a security manager is present,
- * then this method calls the security manager's <code>checkPermission</code>
- * method with a <code> RuntimePermission("org.jboss.security.SecurityAssociation.accessContextInfo",
- * "set") </code> permission to ensure it's ok to access context information.
- * If not, a <code>SecurityException</code> will be thrown.
- * @param key - the context key
- * @param value - the context value to associate under key
- * @return the previous mapping for the key if one exists
- */
- public static Object setContextInfo(String key, Object value)
- {
- SecurityManager sm = System.getSecurityManager();
- if (sm != null)
- sm.checkPermission(setContextInfo);
-
- HashMap<String,Object> contextInfo = (HashMap<String,Object>) threadContextMap.get();
- return contextInfo.put(key, value);
- }
-
- /**
- * Push the current authenticated context. This sets the authenticated subject
- * along with the principal and proof of identity that was used to validate
- * the subject. This context is used for authorization checks. Typically
- * just the subject as seen by getSubject() is input into the authorization.
- * When run under a security manager this requires the
- * RuntimePermission("org.jboss.security.SecurityAssociation.setPrincipalInfo")
- * permission.
- * @param subject - the authenticated subject
- * @param principal - the principal that was input into the authentication
- * @param credential - the credential that was input into the authentication
- * @deprecated
- */
- public static void pushSubjectContext(Subject subject,
- Principal principal, Object credential)
- {
- SecurityManager sm = System.getSecurityManager();
- if (sm != null)
- sm.checkPermission(setPrincipalInfoPermission);
-
- // Set the legacy single-value access points
- if (server)
- {
- threadPrincipal.set(principal);
- threadCredential.set(credential);
- }
- else
- {
- SecurityAssociation.principal = principal;
- SecurityAssociation.credential = credential;
- }
-
- // Push the subject context
- SubjectContext sc = new SubjectContext(subject, principal, credential);
- threadSubjectStacks.push(sc);
-
- if(server)
- {
- if (trace)
- log.trace("pushSubjectContext, subject=" + subject + ", sc="+sc);
-
- //Use the new method
- SecurityContext sctx = SecurityContextAssociation.getSecurityContext();
- if(sctx == null)
- {
- if(trace)
- log.trace("WARN::Deprecated usage of SecurityAssociation. Use SecurityContext");
- try
- {
- sctx = SecurityAssociationActions.createSecurityContext("FROM_SECURITY_ASSOCIATION");
- }
- catch (Exception e)
- {
- throw new RuntimeException(e);
- }
- }
- sctx.getUtil().createSubjectInfo(principal, credential,subject);
- SecurityAssociationActions.setSecurityContext(sctx);
- }
- }
- /**
- * Push a duplicate of the current SubjectContext if one exists.
- * When run under a security manager this requires the
- * RuntimePermission("org.jboss.security.SecurityAssociation.setPrincipalInfo")
- * permission.
- */
- public static void dupSubjectContext()
- {
- SecurityManager sm = System.getSecurityManager();
- if (sm != null)
- sm.checkPermission(setPrincipalInfoPermission);
-
- SubjectContext sc = threadSubjectStacks.dup();
- if (trace)
- log.trace("dupSubjectContext, sc="+sc);
- }
-
- /**
- * Pop the current SubjectContext from the previous pushSubjectContext call
- * and return the pushed SubjectContext ig there was one.
- * When run under a security manager this requires the
- * RuntimePermission("org.jboss.security.SecurityAssociation.setPrincipalInfo")
- * permission.
- * @return the SubjectContext pushed previously by a pushSubjectContext call
- * @deprecated
- */
- public static SubjectContext popSubjectContext()
- {
- SecurityManager sm = System.getSecurityManager();
- if (sm != null)
- sm.checkPermission(setPrincipalInfoPermission);
-
- SubjectContext sc = threadSubjectStacks.pop();
- if (trace)
- {
- log.trace("popSubjectContext, sc="+sc);
- }
-
- Principal principal = null;
- Object credential = null;
-
- SubjectContext top = threadSubjectStacks.peek();
-
- if (top != null)
- {
- principal = top.getPrincipal();
- credential = top.getCredential();
- }
-
- if (server)
- {
- threadPrincipal.set(principal);
- threadCredential.set(credential);
- }
- else
- {
- SecurityAssociation.principal = principal;
- SecurityAssociation.credential = credential;
- }
-
- if(server)
- {
- if(trace)
- log.trace("WARN::Deprecated usage of SecurityAssociation. Use SecurityContext");
- SecurityContext sctx = SecurityContextAssociation.getSecurityContext();
-
- if(sc == null)
- {
- if(sctx != null)
- {
- sc = new SubjectContext(sctx.getUtil().getSubject(),
- sctx.getUtil().getUserPrincipal(),
- sctx.getUtil().getCredential());
- }
- }
- //Now pop the subject context on the security context
- if(sctx != null)
- {
- sctx.getUtil().createSubjectInfo(null, null, null);
- }
- return sc;
- }
- return top;
- }
-
- /**
- * Look at the current thread of control's authenticated identity on the top
- * of the stack.
- * When run under a security manager this requires the
- * RuntimePermission("org.jboss.security.SecurityAssociation.getPrincipalInfo")
- * permission.
- * @return the SubjectContext pushed previously by a pushSubjectContext call
- */
- public static SubjectContext peekSubjectContext()
- {
- SecurityManager sm = System.getSecurityManager();
- if (sm != null)
- sm.checkPermission(getPrincipalInfoPermission);
-
- if(server)
- {
- //Get the subject context from the security context
- SecurityContext sc = SecurityContextAssociation.getSecurityContext();
- SubjectContext subjectCtx = null;
- if( sc != null)
- {
- SecurityContextUtil util = sc.getUtil();
- subjectCtx = new SubjectContext(util.getSubject(), util.getUserPrincipal(), util.getCredential());
- }
- return subjectCtx;
- }
- return threadSubjectStacks.peek();
- }
-
- /**
- * Clear all principal information. If a security manager is present, then
- * this method calls the security manager's <code>checkPermission</code>
- * method with a <code> RuntimePermission("org.jboss.security.SecurityAssociation.setPrincipalInfo")
- * </code> permission to ensure it's ok to access principal information. If
- * not, a <code>SecurityException</code> will be thrown.
- */
- public static void clear()
- {
- SecurityManager sm = System.getSecurityManager();
- if (sm != null)
- sm.checkPermission(setPrincipalInfoPermission);
-
- if (trace)
- log.trace("clear, server=" + server);
- if (server == true)
- {
- threadPrincipal.set(null);
- threadCredential.set(null);
- }
- else
- {
- SecurityAssociation.principal = null;
- SecurityAssociation.credential = null;
- }
- // Remove all subject contexts
- threadSubjectStacks.clear();
-
- //Clear the security context
- SecurityContextAssociation.clearSecurityContext();
- }
-
- /**
- * Push the current thread of control's run-as identity.
- */
- public static void pushRunAsIdentity(RunAsIdentity runAs)
- {
- SecurityManager sm = System.getSecurityManager();
- if (sm != null)
- sm.checkPermission(setRunAsIdentity);
- if (trace)
- log.trace("pushRunAsIdentity, runAs=" + runAs);
-
- threadRunAsStacks.push(runAs);
- SecurityContext sc = SecurityContextAssociation.getSecurityContext();
- if( sc != null)
- {
- sc.setOutgoingRunAs(runAs);
- }
- }
-
- /**
- * Pop the current thread of control's run-as identity.
- */
- public static RunAsIdentity popRunAsIdentity()
- {
- SecurityManager sm = System.getSecurityManager();
- if (sm != null)
- sm.checkPermission(setRunAsIdentity);
- /*RunAsIdentity runAs = threadRunAsStacks.pop();
- if (trace)
- log.trace("popRunAsIdentity, runAs=" + runAs);
- return runAs;*/
- SecurityContext sc = SecurityContextAssociation.getSecurityContext();
- RunAsIdentity ra = null;
- if( sc != null)
- {
- ra = (RunAsIdentity) sc.getOutgoingRunAs();
- sc.setOutgoingRunAs(null);
- }
- return ra;
- }
-
- /**
- * Look at the current thread of control's run-as identity on the top of the
- * stack.
- */
- public static RunAsIdentity peekRunAsIdentity()
- {
- //return peekRunAsIdentity(0);
- RunAsIdentity ra = null;
- SecurityContext sc = SecurityContextAssociation.getSecurityContext();
- if( sc != null)
- {
- ra = (RunAsIdentity) sc.getOutgoingRunAs();
- }
- return ra;
- }
-
- /**
- * Look at the current thread of control's run-as identity at the indicated
- * depth. Typically depth is either 0 for the identity the current caller
- * run-as that will be assumed, or 1 for the active run-as the previous
- * caller has assumed.
- * @return RunAsIdentity depth frames up.
- */
- public static RunAsIdentity peekRunAsIdentity(int depth)
- {
- //RunAsIdentity runAs = threadRunAsStacks.peek(depth);
- //return runAs;
- if(depth > 1)
- throw new IllegalArgumentException("Security Context approach needs to be used. Depth upto 1");
- if(depth == 0)
- return peekRunAsIdentity();
- else
- {
- SecurityContext sc = SecurityContextAssociation.getSecurityContext();
- RunAsIdentity ra = null;
- if( sc != null)
- {
- RunAs ras = sc.getIncomingRunAs();
- if(ras instanceof RunAsIdentity)
- ra = (RunAsIdentity) ras;
- }
- return ra;
- }
- }
-
- /**
- * Indicate whether we are server side
- * @return flag set by a {@link #setServer()} call
- */
- public static boolean isServer()
- {
- return server;
- }
-
- /**
- * Set the server mode of operation. When the server property has been set to
- * true, the security information is maintained in thread local storage. This
- * should be called to enable property security semantics in any
- * multi-threaded environment where more than one thread requires that
- * security information be restricted to the thread's flow of control.
- *
- * If a security manager is present, then this method calls the security
- * manager's <code>checkPermission</code> method with a <code>
- * RuntimePermission("org.jboss.security.SecurityAssociation.setServer")
- * </code> permission to ensure it's ok to access principal information. If
- * not, a <code>SecurityException</code> will be thrown.
- */
- public static void setServer()
- {
- SecurityManager sm = System.getSecurityManager();
- if (sm != null)
- sm.checkPermission(setServerPermission);
-
- server = true;
- }
-
- /**
- * A subclass of ThreadLocal that implements a value stack using an ArrayList
- * and implements push, pop and peek stack operations on the thread local
- * ArrayList.
- */
- private static class RunAsThreadLocalStack
- {
- @SuppressWarnings("unchecked")
- ThreadLocal local;
-
- RunAsThreadLocalStack(boolean threadLocal)
- {
- if( threadLocal == true )
- local = new ArrayListLocal();
- else
- local = new ArrayListInheritableLocal();
- }
-
- int size()
- {
- ArrayList stack = (ArrayList) local.get();
- return stack.size();
- }
-
- void push(RunAsIdentity runAs)
- {
- ArrayList stack = (ArrayList) local.get();
- stack.add(runAs);
- }
-
- RunAsIdentity pop()
- {
- ArrayList stack = (ArrayList) local.get();
- RunAsIdentity runAs = null;
- int lastIndex = stack.size() - 1;
- if (lastIndex >= 0)
- runAs = (RunAsIdentity) stack.remove(lastIndex);
- return runAs;
- }
-
- /**
- * Look for the first non-null run-as identity on the stack starting
- * with the value at depth.
- * @return The run-as identity if one exists, null otherwise.
- */
- RunAsIdentity peek(int depth)
- {
- ArrayList stack = (ArrayList) local.get();
- RunAsIdentity runAs = null;
- final int stackSize = stack.size();
- do
- {
- int index = stackSize - 1 - depth;
- if( index >= 0 )
- runAs = (RunAsIdentity) stack.get(index);
- depth ++;
- }
- while (runAs == null && depth <= stackSize - 1);
- return runAs;
- }
- }
-
- /**
- * The encapsulation of the authenticated subject
- */
- public static class SubjectContext
- {
- public static final int SUBJECT_WAS_SET = 1;
- public static final int PRINCIPAL_WAS_SET = 2;
- public static final int CREDENTIAL_WAS_SET = 4;
-
- private Subject subject;
- private Principal principal;
- private Object credential;
- private int flags;
-
- public SubjectContext()
- {
- this.flags = 0;
- }
- public SubjectContext(Subject s, Principal p, Object cred)
- {
- this.subject = s;
- this.principal = p;
- this.credential = cred;
- this.flags = SUBJECT_WAS_SET | PRINCIPAL_WAS_SET | CREDENTIAL_WAS_SET;
- }
-
- public Subject getSubject()
- {
- return subject;
- }
- public void setSubject(Subject subject)
- {
- this.subject = subject;
- this.flags |= SUBJECT_WAS_SET;
- }
-
- public Principal getPrincipal()
- {
- return principal;
- }
- public void setPrincipal(Principal principal)
- {
- this.principal = principal;
- this.flags |= PRINCIPAL_WAS_SET;
- }
-
- public Object getCredential()
- {
- return credential;
- }
- public void setCredential(Object credential)
- {
- this.credential = credential;
- this.flags |= CREDENTIAL_WAS_SET;
- }
-
- public int getFlags()
- {
- return this.flags;
- }
-
- public String toString()
- {
- StringBuffer tmp = new StringBuffer(super.toString());
- tmp.append("{principal=");
- tmp.append(principal);
- tmp.append(",subject=");
- if( subject != null )
- tmp.append(System.identityHashCode(subject));
- else
- tmp.append("null");
- tmp.append("}");
- return tmp.toString();
- }
- }
-
- private static class SubjectThreadLocalStack
- {
- ThreadLocal local;
-
- SubjectThreadLocalStack(boolean threadLocal)
- {
- if( threadLocal == true )
- local = new ArrayListLocal();
- else
- local = new ArrayListInheritableLocal();
- }
-
- int size()
- {
- ArrayList stack = (ArrayList) local.get();
- return stack.size();
- }
-
- void push(SubjectContext context)
- {
- ArrayList stack = (ArrayList) local.get();
- stack.add(context);
- }
-
- SubjectContext dup()
- {
- ArrayList stack = (ArrayList) local.get();
- SubjectContext context = null;
- int lastIndex = stack.size() - 1;
- if (lastIndex >= 0)
- {
- context = (SubjectContext) stack.get(lastIndex);
- stack.add(context);
- }
- return context;
- }
-
- SubjectContext pop()
- {
- ArrayList stack = (ArrayList) local.get();
- SubjectContext context = null;
- int lastIndex = stack.size() - 1;
- if (lastIndex >= 0)
- context = (SubjectContext) stack.remove(lastIndex);
- return context;
- }
-
- /**
- * Look for the first non-null run-as identity on the stack starting
- * with the value at depth.
- * @return The run-as identity if one exists, null otherwise.
- */
- SubjectContext peek()
- {
- ArrayList stack = (ArrayList) local.get();
- SubjectContext context = null;
- int lastIndex = stack.size() - 1;
- if (lastIndex >= 0)
- context = (SubjectContext) stack.get(lastIndex);
- return context;
- }
- /**
- * Remove all SubjectContext from the current thread stack
- */
- void clear()
- {
- ArrayList stack = (ArrayList) local.get();
- stack.clear();
- }
- }
-
- private static class ArrayListLocal extends ThreadLocal
- {
- protected Object initialValue()
- {
- return new ArrayList();
- }
-
- }
-
- private static class ArrayListInheritableLocal extends InheritableThreadLocal
- {
- /**
- * Override to make a copy of the parent as not doing so results in multiple
- * threads sharing the unsynchronized list of the parent thread.
- * @param parentValue - the parent ArrayList
- * @return a copy of the parent thread list
- */
- protected Object childValue(Object parentValue)
- {
- ArrayList list = (ArrayList) parentValue;
- /* It seems there are scenarios where the size can change during the copy so there is
- a fallback to an empty list here.
- */
- ArrayList copy = null;
- try
- {
- copy = new ArrayList(list);
- }
- catch(Throwable t)
- {
- log.debug("Failed to copy parent list, using new list");
- copy = new ArrayList();
- }
- return copy;
- }
-
- protected Object initialValue()
- {
- return new ArrayList();
- }
-
- }
- private static class HashMapInheritableLocal<T>
- extends InheritableThreadLocal<HashMap<String,Object>>
- {
- /**
- * Override to make a copy of the parent as not doing so results in multiple
- * threads sharing the unsynchronized map of the parent thread.
- * @param parentValue - the parent HashMap
- * @return a copy of the parent thread map
- */
- protected HashMap<String,Object> childValue(Object parentValue)
- {
- HashMap<String,Object> map = (HashMap<String,Object>) parentValue;
- /* It seems there are scenarios where the size can change during the copy so there is
- a fallback to an empty map here.
- */
- HashMap<String,Object> copy = null;
- try
- {
- copy = new HashMap<String,Object>(map);
- }
- catch(Throwable t)
- {
- log.debug("Failed to copy parent map, using new map");
- copy = new HashMap<String,Object>();
- }
- return copy;
- }
-
- protected HashMap<String,Object> initialValue()
- {
- return new HashMap<String,Object>();
- }
-
- }
-}
Copied: projects/security/security-jboss-sx/tags/2.0.2.CR6/jbosssx/src/main/org/jboss/security/SecurityAssociation.java (from rev 75004, projects/security/security-jboss-sx/trunk/jbosssx/src/main/org/jboss/security/SecurityAssociation.java)
===================================================================
--- projects/security/security-jboss-sx/tags/2.0.2.CR6/jbosssx/src/main/org/jboss/security/SecurityAssociation.java (rev 0)
+++ projects/security/security-jboss-sx/tags/2.0.2.CR6/jbosssx/src/main/org/jboss/security/SecurityAssociation.java 2008-06-24 21:41:44 UTC (rev 75011)
@@ -0,0 +1,1134 @@
+/*
+* JBoss, Home of Professional Open Source
+* Copyright 2005, JBoss Inc., and individual contributors as indicated
+* by the @authors tag. See the copyright.txt in the distribution for a
+* full listing of individual contributors.
+*
+* This is free software; you can redistribute it and/or modify it
+* under the terms of the GNU Lesser General Public License as
+* published by the Free Software Foundation; either version 2.1 of
+* the License, or (at your option) any later version.
+*
+* This software is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+* Lesser General Public License for more details.
+*
+* You should have received a copy of the GNU Lesser General Public
+* License along with this software; if not, write to the Free
+* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+*/
+package org.jboss.security;
+
+import java.security.Principal;
+import java.util.ArrayList;
+import java.util.HashMap;
+
+import javax.security.auth.Subject;
+
+import org.jboss.logging.Logger;
+
+/**
+ * The SecurityAssociation class maintains the security principal and
+ * credentials. This can be done on either a singleton basis or a thread local
+ * basis depending on the server property. When the server property has been set
+ * to true, the security information is maintained in thread local storage. The
+ * type of thread local storage depends on the org.jboss.security.SecurityAssociation.ThreadLocal
+ * property. If this property is true, then the thread local storage object is
+ * of type java.lang.ThreadLocal which results in the current thread's security
+ * information NOT being propagated to child threads.
+ *
+ * When the property is false or does not exist, the thread local storage object
+ * is of type java.lang.InheritableThreadLocal, and any threads spawned by the
+ * current thread will inherit the security information of the current thread.
+ * Subseqent changes to the current thread's security information are NOT
+ * propagated to any previously spawned child threads.
+ *
+ * When the server property is false, security information is maintained in
+ * class variables which makes the information available to all threads within
+ * the current VM.
+ *
+ * Note that this is not a public API class. Its an implementation detail that
+ * is subject to change without notice.
+ *
+ * @author Daniel O'Connor (docodan at nycap.rr.com)
+ * @author Scott.Stark at jboss.org
+ * @author Anil.Saldhana at redhat.com
+ * @version $Revision$
+ */
+public final class SecurityAssociation
+{
+ private static Logger log = Logger.getLogger(SecurityAssociation.class);
+ /**
+ * A flag indicating if trace level logging should be performed
+ */
+ private static boolean trace;
+ /**
+ * A flag indicating if security information is global or thread local
+ */
+ private static boolean server;
+ /**
+ * The SecurityAssociation principal used when the server flag is false
+ */
+ private static Principal principal;
+ /**
+ * The SecurityAssociation credential used when the server flag is false
+ */
+ private static Object credential;
+
+ /**
+ * The SecurityAssociation principal used when the server flag is true
+ */
+ private static ThreadLocal<Principal> threadPrincipal;
+ /**
+ * The SecurityAssociation credential used when the server flag is true
+ */
+ private static ThreadLocal<Object> threadCredential;
+ /**
+ * The SecurityAssociation HashMap<String, Object>
+ */
+ private static ThreadLocal<HashMap<String,Object>> threadContextMap;
+
+ /**
+ * Thread local stacks of run-as principal roles used to implement J2EE
+ * run-as identity propagation
+ */
+ private static RunAsThreadLocalStack threadRunAsStacks;
+ /**
+ * Thread local stacks of authenticated subject used to control the current
+ * caller security context
+ */
+ private static SubjectThreadLocalStack threadSubjectStacks;
+
+ /**
+ * The permission required to access getPrincpal, getCredential
+ */
+ private static final RuntimePermission getPrincipalInfoPermission =
+ new RuntimePermission("org.jboss.security.SecurityAssociation.getPrincipalInfo");
+ /**
+ * The permission required to access getSubject
+ */
+ private static final RuntimePermission getSubjectPermission =
+ new RuntimePermission("org.jboss.security.SecurityAssociation.getSubject");
+ /**
+ * The permission required to access setPrincpal, setCredential, setSubject
+ * pushSubjectContext, popSubjectContext
+ */
+ private static final RuntimePermission setPrincipalInfoPermission =
+ new RuntimePermission("org.jboss.security.SecurityAssociation.setPrincipalInfo");
+ /**
+ * The permission required to access setServer
+ */
+ private static final RuntimePermission setServerPermission =
+ new RuntimePermission("org.jboss.security.SecurityAssociation.setServer");
+ /**
+ * The permission required to access pushRunAsIdentity/popRunAsIdentity
+ */
+ private static final RuntimePermission setRunAsIdentity =
+ new RuntimePermission("org.jboss.security.SecurityAssociation.setRunAsRole");
+ /**
+ * The permission required to get the current security context info
+ */
+ private static final RuntimePermission getContextInfo =
+ new RuntimePermission("org.jboss.security.SecurityAssociation.accessContextInfo", "get");
+ /**
+ * The permission required to set the current security context info
+ */
+ private static final RuntimePermission setContextInfo =
+ new RuntimePermission("org.jboss.security.SecurityAssociation.accessContextInfo", "set");
+
+ static
+ {
+ String flag = SecurityActions.getProperty("org.jboss.security.SecurityAssociation.ThreadLocal", "false");
+ boolean useThreadLocal = Boolean.valueOf(flag).booleanValue();
+ log.debug("Using ThreadLocal: "+useThreadLocal);
+
+ trace = log.isTraceEnabled();
+ if (useThreadLocal)
+ {
+ threadPrincipal = new ThreadLocal<Principal>();
+ threadCredential = new ThreadLocal<Object>();
+ threadContextMap = new ThreadLocal<HashMap<String,Object>>()
+ {
+ protected HashMap<String,Object> initialValue()
+ {
+ return new HashMap<String,Object>();
+ }
+ };
+ }
+ else
+ {
+ threadPrincipal = new InheritableThreadLocal<Principal>();
+ threadCredential = new InheritableThreadLocal<Object>();
+ threadContextMap = new HashMapInheritableLocal<HashMap<String,Object>>();
+ }
+ threadRunAsStacks = new RunAsThreadLocalStack(useThreadLocal);
+ threadSubjectStacks = new SubjectThreadLocalStack(useThreadLocal);
+ }
+
+ /**
+ * Get the current authentication principal information. If a security
+ * manager is present, then this method calls the security manager's
+ * <code>checkPermission</code> method with a
+ * <code>RuntimePermission("org.jboss.security.SecurityAssociation.getPrincipalInfo")
+ * </code> permission to ensure it's ok to access principal information. If
+ * not, a <code>SecurityException</code> will be thrown.
+ * @return Principal, the current principal identity.
+ */
+ public static Principal getPrincipal()
+ {
+ SecurityManager sm = System.getSecurityManager();
+ if (sm != null)
+ sm.checkPermission(getPrincipalInfoPermission);
+
+ Principal thePrincipal = principal;
+
+ if(!server)
+ return principal;
+
+ if( trace )
+ log.trace("getPrincipal, principal="+thePrincipal);
+
+ SecurityContext sc = SecurityContextAssociation.getSecurityContext();
+ if(sc != null)
+ {
+ if( trace )
+ log.warn("You are using deprecated api to getPrincipal. Use security context based approach");
+ thePrincipal = sc.getUtil().getUserPrincipal();
+ }
+ return thePrincipal;
+ }
+
+ /**
+ * Get the caller's principal. If a security manager is present,
+ * then this method calls the security manager's <code>checkPermission</code>
+ * method with a <code> RuntimePermission("org.jboss.security.SecurityAssociation.getPrincipalInfo")
+ * </code> permission to ensure it's ok to access principal information. If
+ * not, a <code>SecurityException</code> will be thrown.
+ *
+ * @return Principal, the current principal identity.
+ */
+ public static Principal getCallerPrincipal()
+ {
+ SecurityManager sm = System.getSecurityManager();
+ if (sm != null)
+ sm.checkPermission(getPrincipalInfoPermission);
+
+ /*Principal thePrincipal = peekRunAsIdentity(1);
+ if( thePrincipal == null )
+ {
+ if (server)
+ thePrincipal = (Principal) threadPrincipal.get();
+ else
+ thePrincipal = principal;
+ }*/
+
+ if(!server)
+ return principal;
+
+ //Just pluck it from the current security context
+ SecurityContext sc = SecurityContextAssociation.getSecurityContext();
+ Principal thePrincipal = null;
+ if(sc != null)
+ {
+ //Check for runas
+ RunAs ras = sc.getIncomingRunAs();
+ if(ras != null)
+ thePrincipal = new SimplePrincipal(ras.getName());
+ else
+ thePrincipal = sc.getUtil().getUserPrincipal();
+ }
+ if( trace )
+ log.trace("getCallerPrincipal, principal="+thePrincipal);
+ return thePrincipal;
+ }
+
+ /**
+ * Get the current authentication credential information. This can be of any type
+ * including: a String password, a char[] password, an X509 cert, etc. If a
+ * security manager is present, then this method calls the security manager's
+ * <code>checkPermission</code> method with a <code> RuntimePermission("org.jboss.security.SecurityAssociation.getPrincipalInfo")
+ * </code> permission to ensure it's ok to access principal information. If
+ * not, a <code>SecurityException</code> will be thrown.
+ * @return Object, the credential that proves the principal identity.
+ */
+ public static Object getCredential()
+ {
+ SecurityManager sm = System.getSecurityManager();
+ if (sm != null)
+ sm.checkPermission(getPrincipalInfoPermission);
+
+ if(!server)
+ return credential;
+
+ SecurityContext sc = SecurityContextAssociation.getSecurityContext();
+ if(sc != null)
+ {
+ if(trace)
+ log.warn("You are using deprecated api to getCredential. Use security context based approach");
+ credential = sc.getUtil().getCredential();
+ }
+ return credential;
+ }
+
+ /**
+ * Get the current Subject information. If a security manager is present,
+ * then this method calls the security manager's checkPermission method with
+ * a RuntimePermission("org.jboss.security.SecurityAssociation.getSubject")
+ * permission to ensure it's ok to access principal information. If not, a
+ * SecurityException will be thrown. Note that this method does not consider
+ * whether or not a run-as identity exists. For access to this information
+ * see the JACC PolicyContextHandler registered under the key
+ * "javax.security.auth.Subject.container"
+ * @return Subject, the current Subject identity.
+ * @see javax.security.jacc.PolicyContext#getContext(String)
+ */
+ public static Subject getSubject()
+ {
+ SecurityManager sm = System.getSecurityManager();
+ if (sm != null)
+ sm.checkPermission(getSubjectPermission);
+
+ SubjectContext sc = threadSubjectStacks.peek();
+ if( trace )
+ log.trace("getSubject, sc="+sc);
+ Subject subject = null;
+ /*if( sc != null )
+ subject = sc.getSubject();
+ return subject;*/
+
+ SecurityContext secContext = SecurityAssociationActions.getSecurityContext();
+ if(secContext != null)
+ {
+ if(trace)
+ log.warn("You are using deprecated api to getSubject. Use security context based approach");
+ subject = secContext.getUtil().getSubject();
+ }
+ return subject;
+ }
+
+ /**
+ * Set the current principal information. If a security manager is present,
+ * then this method calls the security manager's <code>checkPermission</code>
+ * method with a <code> RuntimePermission("org.jboss.security.SecurityAssociation.setPrincipalInfo")
+ * </code> permission to ensure it's ok to access principal information. If
+ * not, a <code>SecurityException</code> will be thrown.
+ * @param principal - the current principal identity.
+ */
+ public static void setPrincipal(Principal principal)
+ {
+ SecurityManager sm = System.getSecurityManager();
+ if (sm != null)
+ sm.checkPermission(setPrincipalInfoPermission);
+
+ if (trace)
+ log.trace("setPrincipal, p=" + principal + ", server=" + server);
+ // Integrate with the new SubjectContext
+ SubjectContext sc = threadSubjectStacks.peek();
+ if( sc == null )
+ {
+ // There is no active security context
+ sc = new SubjectContext();
+ threadSubjectStacks.push(sc);
+ }
+ else if( (sc.getFlags() & SubjectContext.PRINCIPAL_WAS_SET) != 0 )
+ {
+ // The current security context has its principal set
+ sc = new SubjectContext();
+ threadSubjectStacks.push(sc);
+ }
+ sc.setPrincipal(principal);
+
+ if(!server)
+ {
+ SecurityContextAssociation.setClient();
+ SecurityAssociation.principal = principal;
+ return;
+ }
+ SecurityContext securityContext = SecurityContextAssociation.getSecurityContext();
+ //Clients code that may have set directly (Legacy)
+ if(securityContext == null)
+ {
+ try
+ {
+ securityContext = SecurityContextFactory.createSecurityContext("CLIENT_SIDE");
+ }
+ catch (Exception e)
+ {
+ throw new RuntimeException(e);
+ }
+ SecurityContextAssociation.setSecurityContext(securityContext);
+ }
+ if(trace)
+ log.warn("Using deprecated API. Move to a security context based approach");
+ Object cred = securityContext.getUtil().getCredential();
+ Subject subj = securityContext.getUtil().getSubject();
+ securityContext.getUtil().createSubjectInfo(principal,cred, subj);
+
+ if (trace)
+ log.trace("setPrincipal, sc="+sc);
+
+ }
+
+ /**
+ * Set the current principal credential information. This can be of any type
+ * including: a String password, a char[] password, an X509 cert, etc.
+ *
+ * If a security manager is present, then this method calls the security
+ * manager's <code>checkPermission</code> method with a <code>
+ * RuntimePermission("org.jboss.security.SecurityAssociation.setPrincipalInfo")
+ * </code> permission to ensure it's ok to access principal information. If
+ * not, a <code>SecurityException</code> will be thrown.
+ * @param credential - the credential that proves the principal identity.
+ */
+ public static void setCredential(Object credential)
+ {
+ SecurityManager sm = System.getSecurityManager();
+ if (sm != null)
+ sm.checkPermission(setPrincipalInfoPermission);
+
+ // Integrate with the new SubjectContext
+ SubjectContext sc = threadSubjectStacks.peek();
+ if( sc == null )
+ {
+ // There is no active security context
+ sc = new SubjectContext();
+ threadSubjectStacks.push(sc);
+ }
+ else if( (sc.getFlags() & SubjectContext.CREDENTIAL_WAS_SET) != 0 )
+ {
+ // The current security context has its principal set
+ sc = new SubjectContext();
+ threadSubjectStacks.push(sc);
+ }
+ sc.setCredential(credential);
+ if (trace)
+ log.trace("setCredential, sc="+sc);
+
+ if(!server)
+ {
+ SecurityContextAssociation.setClient();
+ SecurityAssociation.credential = credential;
+ return;
+ }
+
+ SecurityContext securityContext = SecurityContextAssociation.getSecurityContext();
+ //Clients code that may have set directly (Legacy)
+ if(securityContext == null)
+ {
+ try
+ {
+ securityContext = SecurityContextFactory.createSecurityContext("CLIENT_SIDE");
+ }
+ catch (Exception e)
+ {
+ throw new RuntimeException(e);
+ }
+ SecurityContextAssociation.setSecurityContext(securityContext);
+ }
+
+ if(trace)
+ log.warn("Using deprecated API. Move to a security context based approach");
+ Principal principal = securityContext.getUtil().getUserPrincipal();
+ Subject subj = securityContext.getUtil().getSubject();
+ securityContext.getUtil().createSubjectInfo(principal,credential, subj);
+ }
+
+ /**
+ * Set the current Subject information. If a security manager is present,
+ * then this method calls the security manager's <code>checkPermission</code>
+ * method with a <code> RuntimePermission("org.jboss.security.SecurityAssociation.setPrincipalInfo")
+ * </code> permission to ensure it's ok to access principal information. If
+ * not, a <code>SecurityException</code> will be thrown.
+ * @param subject - the current identity.
+ */
+ public static void setSubject(Subject subject)
+ {
+ SecurityManager sm = System.getSecurityManager();
+ if (sm != null)
+ sm.checkPermission(setPrincipalInfoPermission);
+
+ if (trace)
+ log.trace("setSubject, s=" + subject + ", server=" + server);
+ // Integrate with the new SubjectContext
+ SubjectContext sc = threadSubjectStacks.peek();
+ if( sc == null )
+ {
+ // There is no active security context
+ sc = new SubjectContext();
+ threadSubjectStacks.push(sc);
+ }
+ else if( (sc.getFlags() & SubjectContext.SUBJECT_WAS_SET) != 0 )
+ {
+ // The current security context has its subject set
+ sc = new SubjectContext();
+ threadSubjectStacks.push(sc);
+ }
+ sc.setSubject(subject);
+ if (trace)
+ log.trace("setSubject, sc="+sc);
+
+ SecurityContext sctx = SecurityContextAssociation.getSecurityContext();
+ if(sctx != null)
+ {
+ SubjectInfo si = sctx.getSubjectInfo();
+ if(si != null)
+ {
+ si.setAuthenticatedSubject(subject);
+ }
+ else
+ sctx.getUtil().createSubjectInfo(null, null, subject);
+ }
+ }
+
+ /**
+ * Get the current thread context info. If a security manager is present,
+ * then this method calls the security manager's <code>checkPermission</code>
+ * method with a <code> RuntimePermission("org.jboss.security.SecurityAssociation.accessContextInfo",
+ * "get") </code> permission to ensure it's ok to access context information.
+ * If not, a <code>SecurityException</code> will be thrown.
+ * @param key - the context key
+ * @return the mapping for the key in the current thread context
+ */
+ public static Object getContextInfo(String key)
+ {
+ SecurityManager sm = System.getSecurityManager();
+ if (sm != null)
+ sm.checkPermission(getContextInfo);
+
+ if(key == null)
+ throw new IllegalArgumentException("key is null");
+ HashMap<String,Object> contextInfo = (HashMap<String,Object>) threadContextMap.get();
+ return contextInfo != null ? contextInfo.get(key) : null;
+ }
+
+ /**
+ * Set the current thread context info. If a security manager is present,
+ * then this method calls the security manager's <code>checkPermission</code>
+ * method with a <code> RuntimePermission("org.jboss.security.SecurityAssociation.accessContextInfo",
+ * "set") </code> permission to ensure it's ok to access context information.
+ * If not, a <code>SecurityException</code> will be thrown.
+ * @param key - the context key
+ * @param value - the context value to associate under key
+ * @return the previous mapping for the key if one exists
+ */
+ public static Object setContextInfo(String key, Object value)
+ {
+ SecurityManager sm = System.getSecurityManager();
+ if (sm != null)
+ sm.checkPermission(setContextInfo);
+
+ HashMap<String,Object> contextInfo = (HashMap<String,Object>) threadContextMap.get();
+ return contextInfo.put(key, value);
+ }
+
+ /**
+ * Push the current authenticated context. This sets the authenticated subject
+ * along with the principal and proof of identity that was used to validate
+ * the subject. This context is used for authorization checks. Typically
+ * just the subject as seen by getSubject() is input into the authorization.
+ * When run under a security manager this requires the
+ * RuntimePermission("org.jboss.security.SecurityAssociation.setPrincipalInfo")
+ * permission.
+ * @param subject - the authenticated subject
+ * @param principal - the principal that was input into the authentication
+ * @param credential - the credential that was input into the authentication
+ * @deprecated
+ */
+ public static void pushSubjectContext(Subject subject,
+ Principal principal, Object credential)
+ {
+ SecurityManager sm = System.getSecurityManager();
+ if (sm != null)
+ sm.checkPermission(setPrincipalInfoPermission);
+
+ // Set the legacy single-value access points
+ if (server)
+ {
+ threadPrincipal.set(principal);
+ threadCredential.set(credential);
+ }
+ else
+ {
+ SecurityAssociation.principal = principal;
+ SecurityAssociation.credential = credential;
+ }
+
+ // Push the subject context
+ SubjectContext sc = new SubjectContext(subject, principal, credential);
+ threadSubjectStacks.push(sc);
+
+ if(server)
+ {
+ if (trace)
+ log.trace("pushSubjectContext, subject=" + subject + ", sc="+sc);
+
+ //Use the new method
+ SecurityContext sctx = SecurityContextAssociation.getSecurityContext();
+ if(sctx == null)
+ {
+ if(trace)
+ log.trace("WARN::Deprecated usage of SecurityAssociation. Use SecurityContext");
+ try
+ {
+ sctx = SecurityAssociationActions.createSecurityContext("FROM_SECURITY_ASSOCIATION");
+ }
+ catch (Exception e)
+ {
+ throw new RuntimeException(e);
+ }
+ }
+ sctx.getUtil().createSubjectInfo(principal, credential,subject);
+ SecurityAssociationActions.setSecurityContext(sctx);
+ }
+ }
+ /**
+ * Push a duplicate of the current SubjectContext if one exists.
+ * When run under a security manager this requires the
+ * RuntimePermission("org.jboss.security.SecurityAssociation.setPrincipalInfo")
+ * permission.
+ */
+ public static void dupSubjectContext()
+ {
+ SecurityManager sm = System.getSecurityManager();
+ if (sm != null)
+ sm.checkPermission(setPrincipalInfoPermission);
+
+ SubjectContext sc = threadSubjectStacks.dup();
+ if (trace)
+ log.trace("dupSubjectContext, sc="+sc);
+ }
+
+ /**
+ * Pop the current SubjectContext from the previous pushSubjectContext call
+ * and return the pushed SubjectContext ig there was one.
+ * When run under a security manager this requires the
+ * RuntimePermission("org.jboss.security.SecurityAssociation.setPrincipalInfo")
+ * permission.
+ * @return the SubjectContext pushed previously by a pushSubjectContext call
+ * @deprecated
+ */
+ public static SubjectContext popSubjectContext()
+ {
+ SecurityManager sm = System.getSecurityManager();
+ if (sm != null)
+ sm.checkPermission(setPrincipalInfoPermission);
+
+ SubjectContext sc = threadSubjectStacks.pop();
+ if (trace)
+ {
+ log.trace("popSubjectContext, sc="+sc);
+ }
+
+ Principal principal = null;
+ Object credential = null;
+
+ SubjectContext top = threadSubjectStacks.peek();
+
+ if (top != null)
+ {
+ principal = top.getPrincipal();
+ credential = top.getCredential();
+ }
+
+ if (server)
+ {
+ threadPrincipal.set(principal);
+ threadCredential.set(credential);
+ }
+ else
+ {
+ SecurityAssociation.principal = principal;
+ SecurityAssociation.credential = credential;
+ }
+
+ if(server)
+ {
+ if(trace)
+ log.trace("WARN::Deprecated usage of SecurityAssociation. Use SecurityContext");
+ SecurityContext sctx = SecurityContextAssociation.getSecurityContext();
+
+ if(sc == null)
+ {
+ if(sctx != null)
+ {
+ sc = new SubjectContext(sctx.getUtil().getSubject(),
+ sctx.getUtil().getUserPrincipal(),
+ sctx.getUtil().getCredential());
+ }
+ }
+ //Now pop the subject context on the security context
+ if(sctx != null)
+ {
+ sctx.getUtil().createSubjectInfo(null, null, null);
+ }
+ return sc;
+ }
+ return top;
+ }
+
+ /**
+ * Look at the current thread of control's authenticated identity on the top
+ * of the stack.
+ * When run under a security manager this requires the
+ * RuntimePermission("org.jboss.security.SecurityAssociation.getPrincipalInfo")
+ * permission.
+ * @return the SubjectContext pushed previously by a pushSubjectContext call
+ */
+ public static SubjectContext peekSubjectContext()
+ {
+ SecurityManager sm = System.getSecurityManager();
+ if (sm != null)
+ sm.checkPermission(getPrincipalInfoPermission);
+
+ if(server)
+ {
+ //Get the subject context from the security context
+ SecurityContext sc = SecurityContextAssociation.getSecurityContext();
+ SubjectContext subjectCtx = null;
+ if( sc != null)
+ {
+ SecurityContextUtil util = sc.getUtil();
+ subjectCtx = new SubjectContext(util.getSubject(), util.getUserPrincipal(), util.getCredential());
+ }
+ return subjectCtx;
+ }
+ return threadSubjectStacks.peek();
+ }
+
+ /**
+ * Clear all principal information. If a security manager is present, then
+ * this method calls the security manager's <code>checkPermission</code>
+ * method with a <code> RuntimePermission("org.jboss.security.SecurityAssociation.setPrincipalInfo")
+ * </code> permission to ensure it's ok to access principal information. If
+ * not, a <code>SecurityException</code> will be thrown.
+ */
+ public static void clear()
+ {
+ SecurityManager sm = System.getSecurityManager();
+ if (sm != null)
+ sm.checkPermission(setPrincipalInfoPermission);
+
+ if (trace)
+ log.trace("clear, server=" + server);
+ if (server == true)
+ {
+ threadPrincipal.set(null);
+ threadCredential.set(null);
+ }
+ else
+ {
+ SecurityAssociation.principal = null;
+ SecurityAssociation.credential = null;
+ }
+ // Remove all subject contexts
+ threadSubjectStacks.clear();
+
+ //Clear the security context
+ SecurityContextAssociation.clearSecurityContext();
+ }
+
+ /**
+ * Push the current thread of control's run-as identity.
+ */
+ public static void pushRunAsIdentity(RunAsIdentity runAs)
+ {
+ SecurityManager sm = System.getSecurityManager();
+ if (sm != null)
+ sm.checkPermission(setRunAsIdentity);
+ if (trace)
+ log.trace("pushRunAsIdentity, runAs=" + runAs);
+
+ threadRunAsStacks.push(runAs);
+ SecurityContext sc = SecurityContextAssociation.getSecurityContext();
+ if( sc != null)
+ {
+ sc.setOutgoingRunAs(runAs);
+ }
+ }
+
+ /**
+ * Pop the current thread of control's run-as identity.
+ */
+ public static RunAsIdentity popRunAsIdentity()
+ {
+ SecurityManager sm = System.getSecurityManager();
+ if (sm != null)
+ sm.checkPermission(setRunAsIdentity);
+ /*RunAsIdentity runAs = threadRunAsStacks.pop();
+ if (trace)
+ log.trace("popRunAsIdentity, runAs=" + runAs);
+ return runAs;*/
+ SecurityContext sc = SecurityContextAssociation.getSecurityContext();
+ RunAsIdentity ra = null;
+ if( sc != null)
+ {
+ ra = (RunAsIdentity) sc.getOutgoingRunAs();
+ sc.setOutgoingRunAs(null);
+ }
+ return ra;
+ }
+
+ /**
+ * Look at the current thread of control's run-as identity on the top of the
+ * stack.
+ */
+ public static RunAsIdentity peekRunAsIdentity()
+ {
+ //return peekRunAsIdentity(0);
+ RunAsIdentity ra = null;
+ SecurityContext sc = SecurityContextAssociation.getSecurityContext();
+ if( sc != null)
+ {
+ ra = (RunAsIdentity) sc.getOutgoingRunAs();
+ }
+ return ra;
+ }
+
+ /**
+ * Look at the current thread of control's run-as identity at the indicated
+ * depth. Typically depth is either 0 for the identity the current caller
+ * run-as that will be assumed, or 1 for the active run-as the previous
+ * caller has assumed.
+ * @return RunAsIdentity depth frames up.
+ */
+ public static RunAsIdentity peekRunAsIdentity(int depth)
+ {
+ //RunAsIdentity runAs = threadRunAsStacks.peek(depth);
+ //return runAs;
+ if(depth > 1)
+ throw new IllegalArgumentException("Security Context approach needs to be used. Depth upto 1");
+ if(depth == 0)
+ return peekRunAsIdentity();
+ else
+ {
+ SecurityContext sc = SecurityContextAssociation.getSecurityContext();
+ RunAsIdentity ra = null;
+ if( sc != null)
+ {
+ RunAs ras = sc.getIncomingRunAs();
+ if(ras instanceof RunAsIdentity)
+ ra = (RunAsIdentity) ras;
+ }
+ return ra;
+ }
+ }
+
+ /**
+ * Indicate whether we are server side
+ * @return flag set by a {@link #setServer()} call
+ */
+ public static boolean isServer()
+ {
+ return server;
+ }
+
+ /**
+ * Set the server mode of operation. When the server property has been set to
+ * true, the security information is maintained in thread local storage. This
+ * should be called to enable property security semantics in any
+ * multi-threaded environment where more than one thread requires that
+ * security information be restricted to the thread's flow of control.
+ *
+ * If a security manager is present, then this method calls the security
+ * manager's <code>checkPermission</code> method with a <code>
+ * RuntimePermission("org.jboss.security.SecurityAssociation.setServer")
+ * </code> permission to ensure it's ok to access principal information. If
+ * not, a <code>SecurityException</code> will be thrown.
+ */
+ public static void setServer()
+ {
+ SecurityManager sm = System.getSecurityManager();
+ if (sm != null)
+ sm.checkPermission(setServerPermission);
+
+ server = true;
+ }
+
+ /**
+ * A subclass of ThreadLocal that implements a value stack using an ArrayList
+ * and implements push, pop and peek stack operations on the thread local
+ * ArrayList.
+ */
+ private static class RunAsThreadLocalStack
+ {
+ @SuppressWarnings("unchecked")
+ ThreadLocal local;
+
+ RunAsThreadLocalStack(boolean threadLocal)
+ {
+ if( threadLocal == true )
+ local = new ArrayListLocal();
+ else
+ local = new ArrayListInheritableLocal();
+ }
+
+ int size()
+ {
+ ArrayList stack = (ArrayList) local.get();
+ return stack.size();
+ }
+
+ void push(RunAsIdentity runAs)
+ {
+ ArrayList stack = (ArrayList) local.get();
+ stack.add(runAs);
+ }
+
+ RunAsIdentity pop()
+ {
+ ArrayList stack = (ArrayList) local.get();
+ RunAsIdentity runAs = null;
+ int lastIndex = stack.size() - 1;
+ if (lastIndex >= 0)
+ runAs = (RunAsIdentity) stack.remove(lastIndex);
+ return runAs;
+ }
+
+ /**
+ * Look for the first non-null run-as identity on the stack starting
+ * with the value at depth.
+ * @return The run-as identity if one exists, null otherwise.
+ */
+ RunAsIdentity peek(int depth)
+ {
+ ArrayList stack = (ArrayList) local.get();
+ RunAsIdentity runAs = null;
+ final int stackSize = stack.size();
+ do
+ {
+ int index = stackSize - 1 - depth;
+ if( index >= 0 )
+ runAs = (RunAsIdentity) stack.get(index);
+ depth ++;
+ }
+ while (runAs == null && depth <= stackSize - 1);
+ return runAs;
+ }
+ }
+
+ /**
+ * The encapsulation of the authenticated subject
+ */
+ public static class SubjectContext
+ {
+ public static final int SUBJECT_WAS_SET = 1;
+ public static final int PRINCIPAL_WAS_SET = 2;
+ public static final int CREDENTIAL_WAS_SET = 4;
+
+ private Subject subject;
+ private Principal principal;
+ private Object credential;
+ private int flags;
+
+ public SubjectContext()
+ {
+ this.flags = 0;
+ }
+ public SubjectContext(Subject s, Principal p, Object cred)
+ {
+ this.subject = s;
+ this.principal = p;
+ this.credential = cred;
+ this.flags = SUBJECT_WAS_SET | PRINCIPAL_WAS_SET | CREDENTIAL_WAS_SET;
+ }
+
+ public Subject getSubject()
+ {
+ return subject;
+ }
+ public void setSubject(Subject subject)
+ {
+ this.subject = subject;
+ this.flags |= SUBJECT_WAS_SET;
+ }
+
+ public Principal getPrincipal()
+ {
+ return principal;
+ }
+ public void setPrincipal(Principal principal)
+ {
+ this.principal = principal;
+ this.flags |= PRINCIPAL_WAS_SET;
+ }
+
+ public Object getCredential()
+ {
+ return credential;
+ }
+ public void setCredential(Object credential)
+ {
+ this.credential = credential;
+ this.flags |= CREDENTIAL_WAS_SET;
+ }
+
+ public int getFlags()
+ {
+ return this.flags;
+ }
+
+ public String toString()
+ {
+ StringBuffer tmp = new StringBuffer(super.toString());
+ tmp.append("{principal=");
+ tmp.append(principal);
+ tmp.append(",subject=");
+ if( subject != null )
+ tmp.append(System.identityHashCode(subject));
+ else
+ tmp.append("null");
+ tmp.append("}");
+ return tmp.toString();
+ }
+ }
+
+ private static class SubjectThreadLocalStack
+ {
+ ThreadLocal local;
+
+ SubjectThreadLocalStack(boolean threadLocal)
+ {
+ if( threadLocal == true )
+ local = new ArrayListLocal();
+ else
+ local = new ArrayListInheritableLocal();
+ }
+
+ int size()
+ {
+ ArrayList stack = (ArrayList) local.get();
+ return stack.size();
+ }
+
+ void push(SubjectContext context)
+ {
+ ArrayList stack = (ArrayList) local.get();
+ stack.add(context);
+ }
+
+ SubjectContext dup()
+ {
+ ArrayList stack = (ArrayList) local.get();
+ SubjectContext context = null;
+ int lastIndex = stack.size() - 1;
+ if (lastIndex >= 0)
+ {
+ context = (SubjectContext) stack.get(lastIndex);
+ stack.add(context);
+ }
+ return context;
+ }
+
+ SubjectContext pop()
+ {
+ ArrayList stack = (ArrayList) local.get();
+ SubjectContext context = null;
+ int lastIndex = stack.size() - 1;
+ if (lastIndex >= 0)
+ context = (SubjectContext) stack.remove(lastIndex);
+ return context;
+ }
+
+ /**
+ * Look for the first non-null run-as identity on the stack starting
+ * with the value at depth.
+ * @return The run-as identity if one exists, null otherwise.
+ */
+ SubjectContext peek()
+ {
+ ArrayList stack = (ArrayList) local.get();
+ SubjectContext context = null;
+ int lastIndex = stack.size() - 1;
+ if (lastIndex >= 0)
+ context = (SubjectContext) stack.get(lastIndex);
+ return context;
+ }
+ /**
+ * Remove all SubjectContext from the current thread stack
+ */
+ void clear()
+ {
+ ArrayList stack = (ArrayList) local.get();
+ stack.clear();
+ }
+ }
+
+ private static class ArrayListLocal extends ThreadLocal
+ {
+ protected Object initialValue()
+ {
+ return new ArrayList();
+ }
+
+ }
+
+ private static class ArrayListInheritableLocal extends InheritableThreadLocal
+ {
+ /**
+ * Override to make a copy of the parent as not doing so results in multiple
+ * threads sharing the unsynchronized list of the parent thread.
+ * @param parentValue - the parent ArrayList
+ * @return a copy of the parent thread list
+ */
+ protected Object childValue(Object parentValue)
+ {
+ ArrayList list = (ArrayList) parentValue;
+ /* It seems there are scenarios where the size can change during the copy so there is
+ a fallback to an empty list here.
+ */
+ ArrayList copy = null;
+ try
+ {
+ copy = new ArrayList(list);
+ }
+ catch(Throwable t)
+ {
+ log.debug("Failed to copy parent list, using new list");
+ copy = new ArrayList();
+ }
+ return copy;
+ }
+
+ protected Object initialValue()
+ {
+ return new ArrayList();
+ }
+
+ }
+ private static class HashMapInheritableLocal<T>
+ extends InheritableThreadLocal<HashMap<String,Object>>
+ {
+ /**
+ * Override to make a copy of the parent as not doing so results in multiple
+ * threads sharing the unsynchronized map of the parent thread.
+ * @param parentValue - the parent HashMap
+ * @return a copy of the parent thread map
+ */
+ protected HashMap<String,Object> childValue(Object parentValue)
+ {
+ HashMap<String,Object> map = (HashMap<String,Object>) parentValue;
+ /* It seems there are scenarios where the size can change during the copy so there is
+ a fallback to an empty map here.
+ */
+ HashMap<String,Object> copy = null;
+ try
+ {
+ copy = new HashMap<String,Object>(map);
+ }
+ catch(Throwable t)
+ {
+ log.debug("Failed to copy parent map, using new map");
+ copy = new HashMap<String,Object>();
+ }
+ return copy;
+ }
+
+ protected HashMap<String,Object> initialValue()
+ {
+ return new HashMap<String,Object>();
+ }
+
+ }
+}
Deleted: projects/security/security-jboss-sx/tags/2.0.2.CR6/jbosssx-client/pom.xml
===================================================================
--- projects/security/security-jboss-sx/trunk/jbosssx-client/pom.xml 2008-06-19 18:02:14 UTC (rev 74848)
+++ projects/security/security-jboss-sx/tags/2.0.2.CR6/jbosssx-client/pom.xml 2008-06-24 21:41:44 UTC (rev 75011)
@@ -1,73 +0,0 @@
-<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">
- <parent>
- <groupId>org.jboss</groupId>
- <artifactId>jboss-parent</artifactId>
- <version>3</version>
- </parent>
- <modelVersion>4.0.0</modelVersion>
- <groupId>org.jboss.security</groupId>
- <artifactId>jbosssx-client</artifactId>
- <version>2.0.2-SNAPSHOT</version>
- <packaging>jar</packaging>
- <name>JBoss Security Client</name>
- <url>http://www.jboss.org</url>
- <description>JBoss Security Client Library</description>
- <build>
- <plugins>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-jar-plugin</artifactId>
- <executions>
- <execution>
- <goals>
- <goal>jar</goal>
- </goals>
- </execution>
- </executions>
- <configuration>
- <archive>
- <manifest>
- <addDefaultImplementationEntries>true</addDefaultImplementationEntries>
- <addDefaultSpecificationEntries />
- </manifest>
- </archive>
- <classesDirectory>../jbosssx/target/classes</classesDirectory>
- <includes>
- <include>JBossORG-EULA.txt</include>
- <include>org/jboss/crypto/JBossSXProvider.class</include>
- <include>org/jboss/crypto/digest/*</include>
- <include>org/jboss/security/*</include>
- <include>org/jboss/security/auth/callback/*</include>
- <include>org/jboss/security/auth/login/*</include>
- <include>org/jboss/security/client/*</include>
- <include>org/jboss/security/auth/login/XMLLoginConfig.class</include>
- <include>org/jboss/security/auth/login/XMLLoginConfigMBean.class</include>
- <include>org/jboss/security/plugins/PBEUtils.class</include>
- <include>org/jboss/security/ssl/ClientSocketFactory.class</include>
- <include>org/jboss/security/ssl/RMISSLClientSocketFactory.class</include>
- <include>org/jboss/security/plugins/*SecurityContext*.class</include>
- <include>org/jboss/resource/security/*.class</include> </includes>
- </configuration>
- </plugin>
- <plugin>
- <groupId>org.jboss.maven.plugins</groupId>
- <artifactId>maven-jboss-deploy-plugin</artifactId>
- <version>1.4</version>
- <executions>
- <execution>
- <id>jboss-deploy</id>
- <goals>
- <goal>jboss-deploy</goal>
- </goals>
- <phase>deploy</phase>
- </execution>
- </executions>
- <configuration>
- <groupId>jboss</groupId>
- <jbossDeployRoot>${jboss.repository.root}</jbossDeployRoot>
- <removeArtifactVersion>true</removeArtifactVersion>
- </configuration>
- </plugin>
- </plugins>
- </build>
-</project>
\ No newline at end of file
Copied: projects/security/security-jboss-sx/tags/2.0.2.CR6/jbosssx-client/pom.xml (from rev 75010, projects/security/security-jboss-sx/trunk/jbosssx-client/pom.xml)
===================================================================
--- projects/security/security-jboss-sx/tags/2.0.2.CR6/jbosssx-client/pom.xml (rev 0)
+++ projects/security/security-jboss-sx/tags/2.0.2.CR6/jbosssx-client/pom.xml 2008-06-24 21:41:44 UTC (rev 75011)
@@ -0,0 +1,73 @@
+<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">
+ <parent>
+ <groupId>org.jboss</groupId>
+ <artifactId>jboss-parent</artifactId>
+ <version>3</version>
+ </parent>
+ <modelVersion>4.0.0</modelVersion>
+ <groupId>org.jboss.security</groupId>
+ <artifactId>jbosssx-client</artifactId>
+ <version>2.0.2.CR6</version>
+ <packaging>jar</packaging>
+ <name>JBoss Security Client</name>
+ <url>http://www.jboss.org</url>
+ <description>JBoss Security Client Library</description>
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-jar-plugin</artifactId>
+ <executions>
+ <execution>
+ <goals>
+ <goal>jar</goal>
+ </goals>
+ </execution>
+ </executions>
+ <configuration>
+ <archive>
+ <manifest>
+ <addDefaultImplementationEntries>true</addDefaultImplementationEntries>
+ <addDefaultSpecificationEntries />
+ </manifest>
+ </archive>
+ <classesDirectory>../jbosssx/target/classes</classesDirectory>
+ <includes>
+ <include>JBossORG-EULA.txt</include>
+ <include>org/jboss/crypto/JBossSXProvider.class</include>
+ <include>org/jboss/crypto/digest/*</include>
+ <include>org/jboss/security/*</include>
+ <include>org/jboss/security/auth/callback/*</include>
+ <include>org/jboss/security/auth/login/*</include>
+ <include>org/jboss/security/client/*</include>
+ <include>org/jboss/security/auth/login/XMLLoginConfig.class</include>
+ <include>org/jboss/security/auth/login/XMLLoginConfigMBean.class</include>
+ <include>org/jboss/security/plugins/PBEUtils.class</include>
+ <include>org/jboss/security/ssl/ClientSocketFactory.class</include>
+ <include>org/jboss/security/ssl/RMISSLClientSocketFactory.class</include>
+ <include>org/jboss/security/plugins/*SecurityContext*.class</include>
+ <include>org/jboss/resource/security/*.class</include> </includes>
+ </configuration>
+ </plugin>
+ <plugin>
+ <groupId>org.jboss.maven.plugins</groupId>
+ <artifactId>maven-jboss-deploy-plugin</artifactId>
+ <version>1.4</version>
+ <executions>
+ <execution>
+ <id>jboss-deploy</id>
+ <goals>
+ <goal>jboss-deploy</goal>
+ </goals>
+ <phase>deploy</phase>
+ </execution>
+ </executions>
+ <configuration>
+ <groupId>jboss</groupId>
+ <jbossDeployRoot>${jboss.repository.root}</jbossDeployRoot>
+ <removeArtifactVersion>true</removeArtifactVersion>
+ </configuration>
+ </plugin>
+ </plugins>
+ </build>
+</project>
\ No newline at end of file
Deleted: projects/security/security-jboss-sx/tags/2.0.2.CR6/jbosssx-mc-int/pom.xml
===================================================================
--- projects/security/security-jboss-sx/trunk/jbosssx-mc-int/pom.xml 2008-06-19 18:02:14 UTC (rev 74848)
+++ projects/security/security-jboss-sx/tags/2.0.2.CR6/jbosssx-mc-int/pom.xml 2008-06-24 21:41:44 UTC (rev 75011)
@@ -1,113 +0,0 @@
-<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">
-
- <parent>
- <groupId>org.jboss.security</groupId>
- <artifactId>jbosssx-parent</artifactId>
- <version>2.0.2-SNAPSHOT</version>
- </parent>
- <modelVersion>4.0.0</modelVersion>
- <artifactId>jbosssx-mc-int</artifactId>
- <packaging>jar</packaging>
- <name>JBoss Microcontainer Security Integration</name>
- <url>http://labs.jboss.org/portal/jbosssecurity/</url>
- <description>JBoss Security is a cross cutting project that handles security for the JEMS projects</description>
-
- <build>
- <finalName>${artifactId}</finalName>
- </build>
-
- <dependencies>
- <!-- Global dependencies -->
- <dependency>
- <groupId>org.jboss.security</groupId>
- <artifactId>jbosssx-bare</artifactId>
- <version>${project.version}</version>
- <scope>compile</scope>
- </dependency>
- <dependency>
- <groupId>org.jboss.security</groupId>
- <artifactId>jboss-security-spi</artifactId>
- <scope>compile</scope>
- </dependency>
- <dependency>
- <groupId>org.jboss.microcontainer</groupId>
- <artifactId>jboss-kernel</artifactId>
- <version>2.0.0.Beta15</version>
- <scope>compile</scope>
- <exclusions>
- <exclusion>
- <groupId>org.jboss</groupId>
- <artifactId>jbossxb</artifactId>
- </exclusion>
- </exclusions>
- </dependency>
- <dependency>
- <groupId>org.jboss</groupId>
- <artifactId>jboss-reflect</artifactId>
- <version>2.0.0.Beta12</version>
- <scope>runtime</scope>
- </dependency>
-
- <!-- Test dependencies -->
- <dependency>
- <groupId>jboss</groupId>
- <artifactId>jboss-common-logging-log4j</artifactId>
- <version>2.0.4.GA</version>
- <scope>test</scope>
- <exclusions>
- <exclusion>
- <groupId>jboss</groupId>
- <artifactId>jboss-common-core</artifactId>
- </exclusion>
- <exclusion>
- <groupId>jboss</groupId>
- <artifactId>jboss-common-logging-spi</artifactId>
- </exclusion>
- </exclusions>
- </dependency>
- <dependency>
- <groupId>junit</groupId>
- <artifactId>junit</artifactId>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>org.jboss</groupId>
- <artifactId>jboss-test</artifactId>
- <scope>test</scope>
- <exclusions>
- <exclusion>
- <groupId>org.jboss</groupId>
- <artifactId>jboss-common-core</artifactId>
- </exclusion>
- <exclusion>
- <groupId>jboss</groupId>
- <artifactId>jboss-common-logging-spi</artifactId>
- </exclusion>
- <exclusion>
- <groupId>jboss</groupId>
- <artifactId>jboss-common-logging-log4j</artifactId>
- </exclusion>
- <exclusion>
- <groupId>jboss.profiler.jvmti</groupId>
- <artifactId>jboss-profiler-jvmti</artifactId>
- </exclusion>
- <exclusion>
- <groupId>log4j</groupId>
- <artifactId>log4j</artifactId>
- </exclusion>
- <exclusion>
- <groupId>junit</groupId>
- <artifactId>junit</artifactId>
- </exclusion>
- <exclusion>
- <groupId>org.apache.ant</groupId>
- <artifactId>ant</artifactId>
- </exclusion>
- <exclusion>
- <groupId>org.apache.ant</groupId>
- <artifactId>ant-junit</artifactId>
- </exclusion>
- </exclusions>
- </dependency>
- </dependencies>
-</project>
Copied: projects/security/security-jboss-sx/tags/2.0.2.CR6/jbosssx-mc-int/pom.xml (from rev 75010, projects/security/security-jboss-sx/trunk/jbosssx-mc-int/pom.xml)
===================================================================
--- projects/security/security-jboss-sx/tags/2.0.2.CR6/jbosssx-mc-int/pom.xml (rev 0)
+++ projects/security/security-jboss-sx/tags/2.0.2.CR6/jbosssx-mc-int/pom.xml 2008-06-24 21:41:44 UTC (rev 75011)
@@ -0,0 +1,113 @@
+<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">
+
+ <parent>
+ <groupId>org.jboss.security</groupId>
+ <artifactId>jbosssx-parent</artifactId>
+ <version>2.0.2.CR6</version>
+ </parent>
+ <modelVersion>4.0.0</modelVersion>
+ <artifactId>jbosssx-mc-int</artifactId>
+ <packaging>jar</packaging>
+ <name>JBoss Microcontainer Security Integration</name>
+ <url>http://labs.jboss.org/portal/jbosssecurity/</url>
+ <description>JBoss Security is a cross cutting project that handles security for the JEMS projects</description>
+
+ <build>
+ <finalName>${artifactId}</finalName>
+ </build>
+
+ <dependencies>
+ <!-- Global dependencies -->
+ <dependency>
+ <groupId>org.jboss.security</groupId>
+ <artifactId>jbosssx-bare</artifactId>
+ <version>${project.version}</version>
+ <scope>compile</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.jboss.security</groupId>
+ <artifactId>jboss-security-spi</artifactId>
+ <scope>compile</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.jboss.microcontainer</groupId>
+ <artifactId>jboss-kernel</artifactId>
+ <version>2.0.0.Beta15</version>
+ <scope>compile</scope>
+ <exclusions>
+ <exclusion>
+ <groupId>org.jboss</groupId>
+ <artifactId>jbossxb</artifactId>
+ </exclusion>
+ </exclusions>
+ </dependency>
+ <dependency>
+ <groupId>org.jboss</groupId>
+ <artifactId>jboss-reflect</artifactId>
+ <version>2.0.0.Beta12</version>
+ <scope>runtime</scope>
+ </dependency>
+
+ <!-- Test dependencies -->
+ <dependency>
+ <groupId>jboss</groupId>
+ <artifactId>jboss-common-logging-log4j</artifactId>
+ <version>2.0.4.GA</version>
+ <scope>test</scope>
+ <exclusions>
+ <exclusion>
+ <groupId>jboss</groupId>
+ <artifactId>jboss-common-core</artifactId>
+ </exclusion>
+ <exclusion>
+ <groupId>jboss</groupId>
+ <artifactId>jboss-common-logging-spi</artifactId>
+ </exclusion>
+ </exclusions>
+ </dependency>
+ <dependency>
+ <groupId>junit</groupId>
+ <artifactId>junit</artifactId>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.jboss</groupId>
+ <artifactId>jboss-test</artifactId>
+ <scope>test</scope>
+ <exclusions>
+ <exclusion>
+ <groupId>org.jboss</groupId>
+ <artifactId>jboss-common-core</artifactId>
+ </exclusion>
+ <exclusion>
+ <groupId>jboss</groupId>
+ <artifactId>jboss-common-logging-spi</artifactId>
+ </exclusion>
+ <exclusion>
+ <groupId>jboss</groupId>
+ <artifactId>jboss-common-logging-log4j</artifactId>
+ </exclusion>
+ <exclusion>
+ <groupId>jboss.profiler.jvmti</groupId>
+ <artifactId>jboss-profiler-jvmti</artifactId>
+ </exclusion>
+ <exclusion>
+ <groupId>log4j</groupId>
+ <artifactId>log4j</artifactId>
+ </exclusion>
+ <exclusion>
+ <groupId>junit</groupId>
+ <artifactId>junit</artifactId>
+ </exclusion>
+ <exclusion>
+ <groupId>org.apache.ant</groupId>
+ <artifactId>ant</artifactId>
+ </exclusion>
+ <exclusion>
+ <groupId>org.apache.ant</groupId>
+ <artifactId>ant-junit</artifactId>
+ </exclusion>
+ </exclusions>
+ </dependency>
+ </dependencies>
+</project>
Deleted: projects/security/security-jboss-sx/tags/2.0.2.CR6/parent/pom.xml
===================================================================
--- projects/security/security-jboss-sx/trunk/parent/pom.xml 2008-06-19 18:02:14 UTC (rev 74848)
+++ projects/security/security-jboss-sx/tags/2.0.2.CR6/parent/pom.xml 2008-06-24 21:41:44 UTC (rev 75011)
@@ -1,161 +0,0 @@
-<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">
- <parent>
- <groupId>org.jboss</groupId>
- <artifactId>jboss-parent</artifactId>
- <version>3</version>
- </parent>
- <modelVersion>4.0.0</modelVersion>
- <groupId>org.jboss.security</groupId>
- <artifactId>jbosssx-parent</artifactId>
- <packaging>pom</packaging>
- <version>2.0.2-SNAPSHOT</version>
- <name>JBossSX - Parent</name>
- <url>http://labs.jboss.org/portal/jbosssecurity/</url>
- <description>JBoss Security is a cross cutting project that handles security for the JEMS projects</description>
- <licenses>
- <license>
- <name>lgpl</name>
- <url>http://repository.jboss.com/licenses/lgpl.txt</url>
- </license>
- </licenses>
- <organization>
- <name>JBoss Inc.</name>
- <url>http://www.jboss.org</url>
- </organization>
- <scm>
- <connection>scm:svn:http://anonsvn.jboss.org/repos/jbossas/projects/security/security-jboss-sx/trunk</connection>
- <developerConnection>scm:svn:https://svn.jboss.org/repos/jbossas/projects/security/security-jboss-sx/trunk</developerConnection>
- </scm>
-
- <build>
- <plugins>
- <plugin>
- <artifactId>maven-release-plugin</artifactId>
- <version>2.0-beta-6</version>
- <configuration>
- <tagBase>https://svn.jboss.org/repos/jbossas/projects/security/security-jboss-sx/tags</tagBase>
- </configuration>
- </plugin>
- </plugins>
- <pluginManagement>
- <plugins>
- <plugin>
- <artifactId>maven-surefire-plugin</artifactId>
- <configuration>
- <printSummary>true</printSummary>
- <disableXmlReport>false</disableXmlReport>
- <testFailureIgnore>true</testFailureIgnore>
- <includes>
- <include>**/**TestCase.java</include>
- </includes>
- <forkMode>pertest</forkMode>
- <argLine>${surefire.jvm.args}</argLine>
- <useFile>false</useFile>
- <trimStackTrace>false</trimStackTrace>
- </configuration>
- </plugin>
- </plugins>
- </pluginManagement>
- </build>
-
- <repositories>
- <repository>
- <id>repository.jboss.org</id>
- <name>JBoss Repository</name>
- <layout>default</layout>
- <url>http://repository.jboss.org/maven2/</url>
- <snapshots>
- <enabled>false</enabled>
- </snapshots>
- </repository>
-
- <repository>
- <id>snapshots.jboss.org</id>
- <name>JBoss Snapshots Repository</name>
- <layout>default</layout>
- <url>http://snapshots.jboss.org/maven2/</url>
- <snapshots>
- <enabled>true</enabled>
- </snapshots>
- <releases>
- <enabled>false</enabled>
- </releases>
- </repository>
- </repositories>
-
- <dependencyManagement>
- <dependencies>
- <dependency>
- <groupId>org.jboss</groupId>
- <artifactId>jboss-common-core</artifactId>
- <version>2.2.1.GA</version>
- <scope>compile</scope>
- </dependency>
- <dependency>
- <groupId>org.jboss</groupId>
- <artifactId>jbossxb</artifactId>
- <version>2.0.0.CR10</version>
- <scope>compile</scope>
- </dependency>
- <dependency>
- <groupId>jboss</groupId>
- <artifactId>jboss-logging-spi</artifactId>
- <version>2.0.2.GA</version>
- <scope>compile</scope>
- </dependency>
- <dependency>
- <groupId>jboss</groupId>
- <artifactId>jboss-logging-log4j</artifactId>
- <version>2.0.2.GA</version>
- <scope>runtime</scope>
- </dependency>
- <dependency>
- <groupId>org.jboss.javaee</groupId>
- <artifactId>jboss-jacc-api</artifactId>
- <version>1.1.0.${org.jboss.javaee.version}</version>
- <scope>compile</scope>
- </dependency>
- <dependency>
- <groupId>org.jboss.javaee</groupId>
- <artifactId>jboss-transaction-api</artifactId>
- <version>1.0.1.${org.jboss.javaee.version}</version>
- <scope>compile</scope>
- </dependency>
- <dependency>
- <groupId>org.jboss.javaee</groupId>
- <artifactId>jboss-jaspi-api</artifactId>
- <version>1.0.0.${org.jboss.javaee.version}</version>
- <scope>compile</scope>
- </dependency>
- <dependency>
- <groupId>org.jboss.security</groupId>
- <artifactId>jboss-security-spi</artifactId>
- <version>${org.jboss.security.spi.version}</version>
- <scope>compile</scope>
- </dependency>
- <dependency>
- <groupId>apache-log4j</groupId>
- <artifactId>log4j</artifactId>
- <version>1.2.14</version>
- <scope>compile</scope>
- </dependency>
- <dependency>
- <groupId>junit</groupId>
- <artifactId>junit</artifactId>
- <version>3.8.1</version>
- <scope>compile</scope>
- </dependency>
- <dependency>
- <groupId>org.jboss</groupId>
- <artifactId>jboss-test</artifactId>
- <version>1.0.4.GA</version>
- <scope>runtime</scope>
- </dependency>
- </dependencies>
- </dependencyManagement>
-
- <properties>
- <org.jboss.javaee.version>CR1</org.jboss.javaee.version>
- <org.jboss.security.spi.version>2.0.2.CR4</org.jboss.security.spi.version>
- </properties>
-</project>
Copied: projects/security/security-jboss-sx/tags/2.0.2.CR6/parent/pom.xml (from rev 75010, projects/security/security-jboss-sx/trunk/parent/pom.xml)
===================================================================
--- projects/security/security-jboss-sx/tags/2.0.2.CR6/parent/pom.xml (rev 0)
+++ projects/security/security-jboss-sx/tags/2.0.2.CR6/parent/pom.xml 2008-06-24 21:41:44 UTC (rev 75011)
@@ -0,0 +1,161 @@
+<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">
+ <parent>
+ <groupId>org.jboss</groupId>
+ <artifactId>jboss-parent</artifactId>
+ <version>3</version>
+ </parent>
+ <modelVersion>4.0.0</modelVersion>
+ <groupId>org.jboss.security</groupId>
+ <artifactId>jbosssx-parent</artifactId>
+ <packaging>pom</packaging>
+ <version>2.0.2.CR6</version>
+ <name>JBossSX - Parent</name>
+ <url>http://labs.jboss.org/portal/jbosssecurity/</url>
+ <description>JBoss Security is a cross cutting project that handles security for the JEMS projects</description>
+ <licenses>
+ <license>
+ <name>lgpl</name>
+ <url>http://repository.jboss.com/licenses/lgpl.txt</url>
+ </license>
+ </licenses>
+ <organization>
+ <name>JBoss Inc.</name>
+ <url>http://www.jboss.org</url>
+ </organization>
+ <scm>
+ <connection>scm:svn:http://anonsvn.jboss.org/repos/jbossas/projects/security/security-jboss-sx/tags/2.0.2.CR6</connection>
+ <developerConnection>scm:svn:https://svn.jboss.org/repos/jbossas/projects/security/security-jboss-sx/tags/2.0.2.CR6</developerConnection>
+ </scm>
+
+ <build>
+ <plugins>
+ <plugin>
+ <artifactId>maven-release-plugin</artifactId>
+ <version>2.0-beta-6</version>
+ <configuration>
+ <tagBase>https://svn.jboss.org/repos/jbossas/projects/security/security-jboss-sx/tags</tagBase>
+ </configuration>
+ </plugin>
+ </plugins>
+ <pluginManagement>
+ <plugins>
+ <plugin>
+ <artifactId>maven-surefire-plugin</artifactId>
+ <configuration>
+ <printSummary>true</printSummary>
+ <disableXmlReport>false</disableXmlReport>
+ <testFailureIgnore>false</testFailureIgnore>
+ <includes>
+ <include>**/**TestCase.java</include>
+ </includes>
+ <forkMode>pertest</forkMode>
+ <argLine>${surefire.jvm.args}</argLine>
+ <useFile>false</useFile>
+ <trimStackTrace>false</trimStackTrace>
+ </configuration>
+ </plugin>
+ </plugins>
+ </pluginManagement>
+ </build>
+
+ <repositories>
+ <repository>
+ <id>repository.jboss.org</id>
+ <name>JBoss Repository</name>
+ <layout>default</layout>
+ <url>http://repository.jboss.org/maven2/</url>
+ <snapshots>
+ <enabled>false</enabled>
+ </snapshots>
+ </repository>
+
+ <repository>
+ <id>snapshots.jboss.org</id>
+ <name>JBoss Snapshots Repository</name>
+ <layout>default</layout>
+ <url>http://snapshots.jboss.org/maven2/</url>
+ <snapshots>
+ <enabled>true</enabled>
+ </snapshots>
+ <releases>
+ <enabled>false</enabled>
+ </releases>
+ </repository>
+ </repositories>
+
+ <dependencyManagement>
+ <dependencies>
+ <dependency>
+ <groupId>org.jboss</groupId>
+ <artifactId>jboss-common-core</artifactId>
+ <version>2.2.1.GA</version>
+ <scope>compile</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.jboss</groupId>
+ <artifactId>jbossxb</artifactId>
+ <version>2.0.0.CR10</version>
+ <scope>compile</scope>
+ </dependency>
+ <dependency>
+ <groupId>jboss</groupId>
+ <artifactId>jboss-logging-spi</artifactId>
+ <version>2.0.2.GA</version>
+ <scope>compile</scope>
+ </dependency>
+ <dependency>
+ <groupId>jboss</groupId>
+ <artifactId>jboss-logging-log4j</artifactId>
+ <version>2.0.2.GA</version>
+ <scope>runtime</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.jboss.javaee</groupId>
+ <artifactId>jboss-jacc-api</artifactId>
+ <version>1.1.0.${org.jboss.javaee.version}</version>
+ <scope>compile</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.jboss.javaee</groupId>
+ <artifactId>jboss-transaction-api</artifactId>
+ <version>1.0.1.${org.jboss.javaee.version}</version>
+ <scope>compile</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.jboss.javaee</groupId>
+ <artifactId>jboss-jaspi-api</artifactId>
+ <version>1.0.0.${org.jboss.javaee.version}</version>
+ <scope>compile</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.jboss.security</groupId>
+ <artifactId>jboss-security-spi</artifactId>
+ <version>${org.jboss.security.spi.version}</version>
+ <scope>compile</scope>
+ </dependency>
+ <dependency>
+ <groupId>apache-log4j</groupId>
+ <artifactId>log4j</artifactId>
+ <version>1.2.14</version>
+ <scope>compile</scope>
+ </dependency>
+ <dependency>
+ <groupId>junit</groupId>
+ <artifactId>junit</artifactId>
+ <version>3.8.1</version>
+ <scope>compile</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.jboss</groupId>
+ <artifactId>jboss-test</artifactId>
+ <version>1.0.4.GA</version>
+ <scope>runtime</scope>
+ </dependency>
+ </dependencies>
+ </dependencyManagement>
+
+ <properties>
+ <org.jboss.javaee.version>CR1</org.jboss.javaee.version>
+ <org.jboss.security.spi.version>2.0.2.CR6</org.jboss.security.spi.version>
+ </properties>
+</project>
Deleted: projects/security/security-jboss-sx/tags/2.0.2.CR6/pom.xml
===================================================================
--- projects/security/security-jboss-sx/trunk/pom.xml 2008-06-19 18:02:14 UTC (rev 74848)
+++ projects/security/security-jboss-sx/tags/2.0.2.CR6/pom.xml 2008-06-24 21:41:44 UTC (rev 75011)
@@ -1,145 +0,0 @@
-<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">
- <parent>
- <groupId>org.jboss</groupId>
- <artifactId>jboss-parent</artifactId>
- <version>3</version>
- </parent>
- <modelVersion>4.0.0</modelVersion>
- <groupId>org.jboss.security</groupId>
- <artifactId>jbosssx-pom</artifactId>
- <version>2.0.2-SNAPSHOT</version>
- <packaging>pom</packaging>
- <name>JBoss Security Implementation for the JBAS - Parent</name>
- <url>http://labs.jboss.org/portal/jbosssecurity/</url>
- <description>JBoss Security is a cross cutting project that handles security for the JEMS projects</description>
- <licenses>
- <license>
- <name>lgpl</name>
- <url>http://repository.jboss.com/licenses/lgpl.txt</url>
- </license>
- </licenses>
- <organization>
- <name>JBoss Inc.</name>
- <url>http://www.jboss.org</url>
- </organization>
- <scm>
- <connection>scm:svn:http://anonsvn.jboss.org/repos/jbossas/projects/security/security-jboss-sx/tags/2.0.2.Beta6</connection>
- <developerConnection>scm:svn:https://svn.jboss.org/repos/jbossas/projects/security/security-jboss-sx/tags/2.0.2.Beta6</developerConnection>
- </scm>
- <repositories>
- <repository>
- <id>repository.jboss.org</id>
- <name>JBoss Repository</name>
- <layout>default</layout>
- <url>http://repository.jboss.org/maven2/</url>
- <snapshots>
- <enabled>false</enabled>
- </snapshots>
- </repository>
-
- <repository>
- <id>snapshots.jboss.org</id>
- <name>JBoss Snapshots Repository</name>
- <layout>default</layout>
- <url>http://snapshots.jboss.org/maven2/</url>
- <snapshots>
- <enabled>true</enabled>
- </snapshots>
- <releases>
- <enabled>false</enabled>
- </releases>
- </repository>
- </repositories>
-
- <modules>
- <module>parent</module>
- <module>identity</module>
- <module>acl</module>
- <module>jbosssx</module>
- <module>jbosssx-client</module>
- <module>jbosssx-mc-int</module>
- <module>assembly</module>
- </modules>
-
- <profiles>
- <!-- mvn install -Psecurity-manager -->
- <profile>
- <id>security-manager</id>
- <activation>
- <activeByDefault>false</activeByDefault>
- </activation>
- <properties>
- <test.env>-Dtest.basedir=${basedir}/target/test-classes</test.env>
- <policy.file>${basedir}/src/tests/resources/java.policy</policy.file>
- <surefire.jvm.args>-Djava.security.manager -Djava.security.policy=${policy.file} ${test.env}</surefire.jvm.args>
- </properties>
- <modules>
- <module>jbosssx</module>
- </modules>
- </profile>
- <!-- mvn install -Psecurity-manager-debug -->
- <!-- Best Practice: mvn install -Psecurity-manager-debug 2>&1 > logfile2>&1 > logfile -->
- <profile>
- <id>security-manager-debug</id>
- <activation>
- <activeByDefault>false</activeByDefault>
- </activation>
- <properties>
- <test.env>-Dtest.basedir=${basedir}/target/test-classes</test.env>
- <policy.file>${basedir}/src/tests/resources/java.policy</policy.file>
- <surefire.jvm.args>-Djava.security.manager -Djava.security.policy=${policy.file} -Djava.security.debug=failure,access ${test.env}</surefire.jvm.args>
- </properties>
- <modules>
- <module>jbosssx</module>
- </modules>
- </profile>
-
- <!-- Specify heap size for ACL tests -->
- <profile>
- <id>acl-heap-profile</id>
- <activation>
- <activeByDefault>true</activeByDefault>
- </activation>
- <properties>
- <surefire.jvm.args>-Xms512m -Xmx1024m</surefire.jvm.args>
- </properties>
- <modules>
- <module>acl</module>
- </modules>
- </profile>
- </profiles>
-
- <build>
- <plugins>
- <plugin>
- <artifactId>maven-surefire-plugin</artifactId>
- <configuration>
- <printSummary>true</printSummary>
- <testFailureIgnore>false</testFailureIgnore>
- <redirectTestOutputToFile>true</redirectTestOutputToFile>
- <includes>
- <include>**/**TestCase.java</include>
- </includes>
- <forkMode>pertest</forkMode>
- <argLine>${surefire.jvm.args}</argLine>
- <trimStackTrace>false</trimStackTrace>
- </configuration>
- </plugin>
- </plugins>
- </build>
-
- <distributionManagement>
- <repository>
- <!-- Copy the distribution jar file to a local checkout of the maven repositry
- - This variable can be set in $MAVEN_HOME/conf/settings.xml -->
- <id>repository.jboss.org</id>
- <url>file://${maven.repository.root}</url>
- </repository>
- <snapshotRepository>
- <id>snapshots.jboss.org</id>
- <name>JBoss Inc. Repository</name>
- <layout>default</layout>
- <url>dav:https://snapshots.jboss.org/maven2/</url>
- </snapshotRepository>
- </distributionManagement>
-</project>
Copied: projects/security/security-jboss-sx/tags/2.0.2.CR6/pom.xml (from rev 75010, projects/security/security-jboss-sx/trunk/pom.xml)
===================================================================
--- projects/security/security-jboss-sx/tags/2.0.2.CR6/pom.xml (rev 0)
+++ projects/security/security-jboss-sx/tags/2.0.2.CR6/pom.xml 2008-06-24 21:41:44 UTC (rev 75011)
@@ -0,0 +1,145 @@
+<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">
+ <parent>
+ <groupId>org.jboss</groupId>
+ <artifactId>jboss-parent</artifactId>
+ <version>3</version>
+ </parent>
+ <modelVersion>4.0.0</modelVersion>
+ <groupId>org.jboss.security</groupId>
+ <artifactId>jbosssx-pom</artifactId>
+ <version>2.0.2.CR6</version>
+ <packaging>pom</packaging>
+ <name>JBoss Security Implementation for the JBAS - Parent</name>
+ <url>http://labs.jboss.org/portal/jbosssecurity/</url>
+ <description>JBoss Security is a cross cutting project that handles security for the JEMS projects</description>
+ <licenses>
+ <license>
+ <name>lgpl</name>
+ <url>http://repository.jboss.com/licenses/lgpl.txt</url>
+ </license>
+ </licenses>
+ <organization>
+ <name>JBoss Inc.</name>
+ <url>http://www.jboss.org</url>
+ </organization>
+ <scm>
+ <connection>scm:svn:http://anonsvn.jboss.org/repos/jbossas/projects/security/security-jboss-sx/tags/2.0.2.CR6</connection>
+ <developerConnection>scm:svn:https://svn.jboss.org/repos/jbossas/projects/security/security-jboss-sx/tags/2.0.2.CR6</developerConnection>
+ </scm>
+ <repositories>
+ <repository>
+ <id>repository.jboss.org</id>
+ <name>JBoss Repository</name>
+ <layout>default</layout>
+ <url>http://repository.jboss.org/maven2/</url>
+ <snapshots>
+ <enabled>false</enabled>
+ </snapshots>
+ </repository>
+
+ <repository>
+ <id>snapshots.jboss.org</id>
+ <name>JBoss Snapshots Repository</name>
+ <layout>default</layout>
+ <url>http://snapshots.jboss.org/maven2/</url>
+ <snapshots>
+ <enabled>true</enabled>
+ </snapshots>
+ <releases>
+ <enabled>false</enabled>
+ </releases>
+ </repository>
+ </repositories>
+
+ <modules>
+ <module>parent</module>
+ <module>identity</module>
+ <module>acl</module>
+ <module>jbosssx</module>
+ <module>jbosssx-client</module>
+ <module>jbosssx-mc-int</module>
+ <module>assembly</module>
+ </modules>
+
+ <profiles>
+ <!-- mvn install -Psecurity-manager -->
+ <profile>
+ <id>security-manager</id>
+ <activation>
+ <activeByDefault>false</activeByDefault>
+ </activation>
+ <properties>
+ <test.env>-Dtest.basedir=${basedir}/target/test-classes</test.env>
+ <policy.file>${basedir}/src/tests/resources/java.policy</policy.file>
+ <surefire.jvm.args>-Djava.security.manager -Djava.security.policy=${policy.file} ${test.env}</surefire.jvm.args>
+ </properties>
+ <modules>
+ <module>jbosssx</module>
+ </modules>
+ </profile>
+ <!-- mvn install -Psecurity-manager-debug -->
+ <!-- Best Practice: mvn install -Psecurity-manager-debug 2>&1 > logfile2>&1 > logfile -->
+ <profile>
+ <id>security-manager-debug</id>
+ <activation>
+ <activeByDefault>false</activeByDefault>
+ </activation>
+ <properties>
+ <test.env>-Dtest.basedir=${basedir}/target/test-classes</test.env>
+ <policy.file>${basedir}/src/tests/resources/java.policy</policy.file>
+ <surefire.jvm.args>-Djava.security.manager -Djava.security.policy=${policy.file} -Djava.security.debug=failure,access ${test.env}</surefire.jvm.args>
+ </properties>
+ <modules>
+ <module>jbosssx</module>
+ </modules>
+ </profile>
+
+ <!-- Specify heap size for ACL tests -->
+ <profile>
+ <id>acl-heap-profile</id>
+ <activation>
+ <activeByDefault>true</activeByDefault>
+ </activation>
+ <properties>
+ <surefire.jvm.args>-Xms512m -Xmx1024m</surefire.jvm.args>
+ </properties>
+ <modules>
+ <module>acl</module>
+ </modules>
+ </profile>
+ </profiles>
+
+ <build>
+ <plugins>
+ <plugin>
+ <artifactId>maven-surefire-plugin</artifactId>
+ <configuration>
+ <printSummary>true</printSummary>
+ <testFailureIgnore>false</testFailureIgnore>
+ <redirectTestOutputToFile>true</redirectTestOutputToFile>
+ <includes>
+ <include>**/**TestCase.java</include>
+ </includes>
+ <forkMode>pertest</forkMode>
+ <argLine>${surefire.jvm.args}</argLine>
+ <trimStackTrace>false</trimStackTrace>
+ </configuration>
+ </plugin>
+ </plugins>
+ </build>
+
+ <distributionManagement>
+ <repository>
+ <!-- Copy the distribution jar file to a local checkout of the maven repositry
+ - This variable can be set in $MAVEN_HOME/conf/settings.xml -->
+ <id>repository.jboss.org</id>
+ <url>file://${maven.repository.root}</url>
+ </repository>
+ <snapshotRepository>
+ <id>snapshots.jboss.org</id>
+ <name>JBoss Inc. Repository</name>
+ <layout>default</layout>
+ <url>dav:https://snapshots.jboss.org/maven2/</url>
+ </snapshotRepository>
+ </distributionManagement>
+</project>
More information about the jboss-cvs-commits
mailing list