blob: ec942628f3f875286068d6c9cd0e02e1666b68a2 [file] [log] [blame]
<?xml version="1.0"?>
<!--
Copyright (c) 2013, 2018 Oracle and/or its affiliates. All rights reserved.
This program and the accompanying materials are made available under the
terms of the Eclipse Public License v. 2.0, which is available at
http://www.eclipse.org/legal/epl-2.0.
This Source Code may also be made available under the following Secondary
Licenses when the conditions for such availability set forth in the
Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
version 2 with the GNU Classpath Exception, which is available at
https://www.gnu.org/software/classpath/license.html.
SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
-->
<!DOCTYPE project [
<!ENTITY commonSetup SYSTEM "./../../../config/properties.xml">
<!ENTITY commonBuild SYSTEM "./../../../config/common.xml">
<!ENTITY commonRun SYSTEM "./../../../config/run.xml">
<!ENTITY testProperties SYSTEM "./build.properties">
<!ENTITY commonSecurity SYSTEM "./../common.xml">
]>
<project name="security-jdbcrealm" basedir="." default="usage">
&commonSetup;
&commonBuild;
&commonRun;
&commonSecurity;
&testProperties;
<property file="./config.properties"/>
<target name="all" depends="display-header">
<antcall target="setup"/>
<antcall target="build"/>
<antcall target="deploy"/>
<antcall target="run"/>
<antcall target="undeploy"/>
<antcall target="unsetup"/>
</target>
<target name="all-oracle" depends="display-header">
<antcall target="setup-oracle"/>
<antcall target="build"/>
<antcall target="deploy"/>
<antcall target="run"/>
<antcall target="undeploy"/>
<antcall target="unsetup-oracle"/>
</target>
<target name="display-header">
<echo message="-->Running ${ant.project.name} tests from ${basedir} ..."/>
</target>
<target name="setup" depends="init-common">
<antcall target="create-db-schema"/>
<antcall target="create-db-usrgrps"/>
<antcall target="modify-domain-xml"/>
</target>
<target name="unsetup" depends="init-common">
<antcall target="un-modify-domain-xml"/>
<antcall target="delete-db-schema"/>
</target>
<target name="setup-oracle" depends="init-common">
<antcall target="create-db-schema-oracle"/>
<antcall target="create-db-usrgrps-oracle"/>
<antcall target="modify-domain-xml-oracle"/>
</target>
<target name="unsetup-oracle" depends="init-common">
<antcall target="un-modify-domain-xml-oracle"/>
<antcall target="delete-db-schema-oracle"/>
</target>
<target name="create-db-schema-oracle" depends="init-common">
<echo message="Executing sql statement at ${basedir} from ${create.sql.file.oracle} for db.url ${oracle.db.url}"/>
<sql
driver="${oracle.db.driver}"
url="${oracle.db.url}"
userid="${oracle.db.user}"
password="${oracle.db.user}"
src="${create.sql.file.oracle}"
onerror="continue"
print="yes"
output="create-db-schema.out"
classpath="${env.APS_HOME}/lib/ojdbc14.jar:${s1astest.classpath}" />
</target>
<target name="delete-db-schema-oracle" depends="init-common">
<echo message="Executing sql statement at ${basedir} from ${delete.sql.file}"
level="verbose"/>
<sql
driver="${oracle.db.driver}"
url="${oracle.db.url}"
userid="${oracle.db.user}"
password="${oracle.db.user}"
src="${delete.sql.file}"
onerror="continue"
print="yes"
output="delete-db-schema.out"
classpath="${env.APS_HOME}/lib/ojdbc14.jar:${s1astest.classpath}" />
</target>
<target name="create-db-schema" depends="init-common">
<echo message="Executing sql statement at ${basedir} from ${create.sql.file} for db.url ${derby.db.url}"/>
<sql
driver="${derby.db.driver}"
url="${derby.db.url}"
userid="${derby.db.user}"
password="${derby.db.user}"
src="${create.sql.file}"
onerror="continue"
print="yes"
output="create-db-schema.out"
classpath="${s1astest.classpath}" />
</target>
<target name="delete-db-schema" depends="init-common">
<echo message="Executing sql statement at ${basedir} from ${delete.sql.file}"
level="verbose"/>
<sql
driver="${derby.db.driver}"
url="${derby.db.url}"
userid="${derby.db.user}"
password="${derby.db.user}"
src="${delete.sql.file}"
onerror="continue"
print="yes"
output="delete-db-schema.out"
classpath="${s1astest.classpath}" />
</target>
<target name="create-db-usrgrps" depends="init-common">
<antcall target="compile-common">
<param name="src" value="util"/>
</antcall>
<java classname="com.sun.devtests.security.jdbcrealm.PopulateDB" fork="true">
<classpath>
<pathelement path="${build.classes.dir}:${s1astest.classpath}"/>
</classpath>
<arg value="-url"/>
<arg value="${derby.db.url}"/>
<arg value="-dbDriver"/>
<arg value="${derby.db.driver}"/>
<arg value="-username"/>
<arg value="${derby.db.user}"/>
<arg value="-password"/>
<arg value="${derby.db.pass}"/>
</java>
</target>
<target name="create-db-usrgrps-oracle" depends="init-common">
<java classname="com.sun.devtests.security.jdbcrealm.PopulateDB" fork="true">
<classpath>
<pathelement path="${env.APS_HOME}/lib/ojdbc14.jar:${build.classes.dir}:${s1astest.classpath}"/>
</classpath>
<arg value="-url"/>
<arg value="${oracle.db.url}"/>
<arg value="-dbDriver"/>
<arg value="${oracle.db.driver}"/>
<arg value="-username"/>
<arg value="${oracle.db.user}"/>
<arg value="-password"/>
<arg value="${oracle.db.pass}"/>
<arg value="-verbose"/>
</java>
</target>
<target name="modify-domain-xml" depends="init-common">
<antcall target="create-jdbcrealm-connection-pool">
<param name="db.datasource.classname"
value="${derby.db.datasource.classname}"/>
<param name="db.port" value="${derby.db.port}"/>
<param name="db.host" value="${derby.db.host}"/>
<param name="db.name" value="${derby.db.name}"/>
<param name="db.poolname" value="${derby.db.poolname}"/>
<param name="db.connection-attributes"
value="connectionAttributes=;create\=true"/>
</antcall>
<antcall target="create-jdbcrealm-resource">
<param name="db.poolname" value="${derby.db.poolname}"/>
<param name="db.jndiname" value="${derby.db.jndiname}"/>
</antcall>
<antcall target="create-auth-jdbcrealm">
<param name="db.poolname" value="${derby.db.poolname}"/>
<param name="db.jndiname" value="${derby.db.jndiname}"/>
<param name="db.user" value="${derby.db.user}"/>
<param name="db.pass" value="${derby.db.pass}"/>
</antcall>
</target>
<target name="modify-domain-xml-oracle" depends="init-common">
<!--
<antcall target="create-jdbcrealm-connection-pool">
<param name="db.datasource.classname"
value="${oracle.db.datasource.classname}"/>
<param name="db.port" value="${oracle.db.port}"/>
<param name="db.host" value="${oracle.db.host}"/>
<param name="db.name" value="${oracle.db.name}"/>
<param name="db.poolname" value="${oracle.db.poolname}"/>
<param name="db.connection-attributes" value=""/>
</antcall>
-->
<exec executable="${ASADMIN}">
<arg line="create-jdbc-connection-pool"/>
<arg line="${as.props} --target=${appserver.instance.name}"/>
<arg line="--datasourceclassname com.sun.sql.jdbcx.oracle.OracleDataSource"/>
<arg line="--property"/>
<arg value="PortNumber=${oracle.db.port}:serverName=${oracle.db.host}:SID=${oracle.db.SID}"/>
<arg line="${oracle.db.poolname}"/>
</exec>
<antcall target="create-jdbcrealm-resource">
<param name="db.poolname" value="${oracle.db.poolname}"/>
<param name="db.jndiname" value="${oracle.db.jndiname}"/>
</antcall>
<antcall target="create-auth-jdbcrealm">
<param name="db.poolname" value="${oracle.db.poolname}"/>
<param name="db.jndiname" value="${oracle.db.jndiname}"/>
<param name="db.user" value="${oracle.db.user}"/>
<!-- <param name="db.pass" value="${oracle.db.pass}"/> -->
<param name="db.pass" value="${oracle.db.alias-pass}"/>
</antcall>
</target>
<target name="un-modify-domain-xml" depends="init-common">
<antcall target="delete-auth-jdbcrealm"/>
<antcall target="delete-jdbcrealm-resource">
<param name="db.jndiname" value="${derby.db.jndiname}"/>
</antcall>
<antcall target="delete-jdbcrealm-connection-pool">
<param name="db.poolname" value="${derby.db.poolname}"/>
</antcall>
</target>
<target name="un-modify-domain-xml-oracle" depends="init-common">
<antcall target="delete-auth-jdbcrealm"/>
<antcall target="delete-jdbcrealm-resource">
<param name="db.jndiname" value="${oracle.db.jndiname}"/>
</antcall>
<antcall target="delete-jdbcrealm-connection-pool">
<param name="db.poolname" value="${oracle.db.poolname}"/>
</antcall>
</target>
<target name="create-jdbcrealm-resource" depends="init-common">
<exec executable="${ASADMIN}">
<arg line="create-jdbc-resource"/>
<arg line="${as.props} --target=${appserver.instance.name}"/>
<arg line="--connectionpoolid ${db.poolname}"/>
<arg line="${db.jndiname}"/>
</exec>
</target>
<target name="delete-jdbcrealm-resource" depends="init-common">
<exec executable="${ASADMIN}">
<arg line="delete-jdbc-resource"/>
<arg line="${as.props} --target=${appserver.instance.name}"/>
<arg line="${db.jndiname}"/>
</exec>
</target>
<target name="create-jdbcrealm-connection-pool" depends="init-common">
<exec executable="${ASADMIN}">
<arg line="create-jdbc-connection-pool"/>
<arg line="${as.props} --target=${appserver.instance.name}"/>
<arg line="--datasourceclassname ${db.datasource.classname}"/>
<arg line="--property"/>
<arg value="PortNumber=${db.port}:serverName=${db.host}:DatabaseName=${db.name}:${db.connection-attributes}"/>
<arg line="${db.poolname}"/>
</exec>
</target>
<target name="delete-jdbcrealm-connection-pool" depends="init-common">
<exec executable="${ASADMIN}">
<arg line="delete-jdbc-connection-pool"/>
<arg line="${as.props} --target=${appserver.instance.name}"/>
<arg line="${db.poolname}"/>
</exec>
</target>
<target name="create-auth-jdbcrealm" depends="init-common">
<antcall target="create-custom-auth-realm">
<param name="realmname" value="JDBCRealm_CLEAR"/>
<param name="realmclass" value="com.sun.enterprise.security.auth.realm.jdbc.JDBCRealm"/>
<param name="realmproperties" value="datasource-jndi=${db.jndiname}:jaas-context=jdbcRealm:db-user=${db.user}:db-password=${db.pass}:user-name-column=USERNAME:password-column=PASSWORD:group-table=GROUP_TABLE:group-name-column=GROUPNAME:user-table=USER_TABLE:digest-algorithm=NONE"/>
</antcall>
<antcall target="create-custom-auth-realm">
<param name="realmname" value="JDBCRealm_CLEAR_BASE64"/>
<param name="realmclass" value="com.sun.enterprise.security.auth.realm.jdbc.JDBCRealm"/>
<param name="realmproperties" value="datasource-jndi=${db.jndiname}:jaas-context=jdbcRealm:db-user=${db.user}:db-password=${db.pass}:user-name-column=USERNAME:password-column=PASSWORD:group-table=GROUP_TABLE:group-name-column=GROUPNAME:user-table=USER_TABLE_BASE64:digest-algorithm=NONE:encoding=BASE64"/>
</antcall>
<antcall target="create-custom-auth-realm">
<param name="realmname" value="JDBCRealm_CLEAR_HEX"/>
<param name="realmclass" value="com.sun.enterprise.security.auth.realm.jdbc.JDBCRealm"/>
<param name="realmproperties" value="datasource-jndi=${db.jndiname}:jaas-context=jdbcRealm:db-user=${db.user}:db-password=${db.pass}:user-name-column=USERNAME:password-column=PASSWORD:group-table=GROUP_TABLE:group-name-column=GROUPNAME:user-table=USER_TABLE_HEX:digest-algorithm=NONE:encoding=HEX"/>
</antcall>
<antcall target="create-custom-auth-realm">
<param name="realmname" value="JDBCRealm_MD2_BASE64"/>
<param name="realmclass" value="com.sun.enterprise.security.auth.realm.jdbc.JDBCRealm"/>
<param name="realmproperties" value="datasource-jndi=${db.jndiname}:jaas-context=jdbcRealm:db-user=${db.user}:db-password=${db.pass}:user-name-column=USERNAME:password-column=PASSWORD:group-table=GROUP_TABLE:group-name-column=GROUPNAME:user-table=USER_TABLE_MD2_BASE64:digest-algorithm=MD2:encoding=BASE64"/>
</antcall>
<antcall target="create-custom-auth-realm">
<param name="realmname" value="JDBCRealm_MD5_BASE64"/>
<param name="realmclass" value="com.sun.enterprise.security.auth.realm.jdbc.JDBCRealm"/>
<param name="realmproperties" value="datasource-jndi=${db.jndiname}:jaas-context=jdbcRealm:db-user=${db.user}:db-password=${db.pass}:user-name-column=USERNAME:password-column=PASSWORD:group-table=GROUP_TABLE:group-name-column=GROUPNAME:user-table=USER_TABLE_MD5_BASE64:digest-algorithm=MD5:encoding=BASE64"/>
</antcall>
<antcall target="create-custom-auth-realm">
<param name="realmname" value="JDBCRealm_SHA_BASE64"/>
<param name="realmclass" value="com.sun.enterprise.security.auth.realm.jdbc.JDBCRealm"/>
<param name="realmproperties" value="datasource-jndi=${db.jndiname}:jaas-context=jdbcRealm:db-user=${db.user}:db-password=${db.pass}:user-name-column=USERNAME:password-column=PASSWORD:group-table=GROUP_TABLE:group-name-column=GROUPNAME:user-table=USER_TABLE_SHA_BASE64:digest-algorithm=SHA:encoding=BASE64"/>
</antcall>
<antcall target="create-custom-auth-realm">
<param name="realmname" value="JDBCRealm_SHA256_BASE64"/>
<param name="realmclass" value="com.sun.enterprise.security.auth.realm.jdbc.JDBCRealm"/>
<param name="realmproperties" value="datasource-jndi=${db.jndiname}:jaas-context=jdbcRealm:db-user=${db.user}:db-password=${db.pass}:user-name-column=USERNAME:password-column=PASSWORD:group-table=GROUP_TABLE:group-name-column=GROUPNAME:user-table=USER_TABLE_SHA256_BASE64:digest-algorithm=SHA-256:encoding=BASE64"/>
</antcall>
<antcall target="create-custom-auth-realm">
<param name="realmname" value="JDBCRealm_SHA384_BASE64"/>
<param name="realmclass" value="com.sun.enterprise.security.auth.realm.jdbc.JDBCRealm"/>
<param name="realmproperties" value="datasource-jndi=${db.jndiname}:jaas-context=jdbcRealm:db-user=${db.user}:db-password=${db.pass}:user-name-column=USERNAME:password-column=PASSWORD:group-table=GROUP_TABLE:group-name-column=GROUPNAME:encoding=BASE64:user-table=USER_TABLE_SHA384_BASE64:digest-algorithm=SHA-384"/>
</antcall>
<antcall target="create-custom-auth-realm">
<param name="realmname" value="JDBCRealm_SHA512_BASE64"/>
<param name="realmclass" value="com.sun.enterprise.security.auth.realm.jdbc.JDBCRealm"/>
<param name="realmproperties" value="datasource-jndi=${db.jndiname}:jaas-context=jdbcRealm:db-user=${db.user}:db-password=${db.pass}:user-name-column=USERNAME:password-column=PASSWORD:group-table=GROUP_TABLE:group-name-column=GROUPNAME:encoding=BASE64:user-table=USER_TABLE_SHA512_BASE64:digest-algorithm=SHA-512"/>
</antcall>
<antcall target="create-custom-auth-realm">
<param name="realmname" value="JDBCRealm_MD2_HEX"/>
<param name="realmclass" value="com.sun.enterprise.security.auth.realm.jdbc.JDBCRealm"/>
<param name="realmproperties" value="datasource-jndi=${db.jndiname}:jaas-context=jdbcRealm:db-user=${db.user}:db-password=${db.pass}:user-name-column=USERNAME:password-column=PASSWORD:group-table=GROUP_TABLE:group-name-column=GROUPNAME:encoding=HEX:user-table=USER_TABLE_MD2_HEX:digest-algorithm=MD2"/>
</antcall>
<antcall target="create-custom-auth-realm">
<param name="realmname" value="JDBCRealm_MD5_HEX"/>
<param name="realmclass" value="com.sun.enterprise.security.auth.realm.jdbc.JDBCRealm"/>
<param name="realmproperties" value="datasource-jndi=${db.jndiname}:jaas-context=jdbcRealm:db-user=${db.user}:db-password=${db.pass}:user-name-column=USERNAME:password-column=PASSWORD:group-table=GROUP_TABLE:group-name-column=GROUPNAME:encoding=HEX:user-table=USER_TABLE_MD5_HEX:digest-algorithm=MD5"/>
</antcall>
<antcall target="create-custom-auth-realm">
<param name="realmname" value="JDBCRealm_SHA_HEX"/>
<param name="realmclass" value="com.sun.enterprise.security.auth.realm.jdbc.JDBCRealm"/>
<param name="realmproperties" value="datasource-jndi=${db.jndiname}:jaas-context=jdbcRealm:db-user=${db.user}:db-password=${db.pass}:user-name-column=USERNAME:password-column=PASSWORD:group-table=GROUP_TABLE:group-name-column=GROUPNAME:encoding=HEX:user-table=USER_TABLE_SHA_HEX:digest-algorithm=SHA"/>
</antcall>
<antcall target="create-custom-auth-realm">
<param name="realmname" value="JDBCRealm_SHA256_HEX"/>
<param name="realmclass" value="com.sun.enterprise.security.auth.realm.jdbc.JDBCRealm"/>
<param name="realmproperties" value="datasource-jndi=${db.jndiname}:jaas-context=jdbcRealm:db-user=${db.user}:db-password=${db.pass}:user-name-column=USERNAME:password-column=PASSWORD:group-table=GROUP_TABLE:group-name-column=GROUPNAME:encoding=HEX:user-table=USER_TABLE_SHA256_HEX:digest-algorithm=SHA-256"/>
</antcall>
<antcall target="create-custom-auth-realm">
<param name="realmname" value="JDBCRealm_SHA384_HEX"/>
<param name="realmclass" value="com.sun.enterprise.security.auth.realm.jdbc.JDBCRealm"/>
<param name="realmproperties" value="datasource-jndi=${db.jndiname}:jaas-context=jdbcRealm:db-user=${db.user}:db-password=${db.pass}:user-name-column=USERNAME:password-column=PASSWORD:group-table=GROUP_TABLE:group-name-column=GROUPNAME:encoding=HEX:user-table=USER_TABLE_SHA384_HEX:digest-algorithm=SHA-384"/>
</antcall>
<antcall target="create-custom-auth-realm">
<param name="realmname" value="JDBCRealm_SHA512_HEX"/>
<param name="realmclass" value="com.sun.enterprise.security.auth.realm.jdbc.JDBCRealm"/>
<param name="realmproperties" value="datasource-jndi=${db.jndiname}:jaas-context=jdbcRealm:db-user=${db.user}:db-password=${db.pass}:user-name-column=USERNAME:password-column=PASSWORD:group-table=GROUP_TABLE:group-name-column=GROUPNAME:encoding=HEX:user-table=USER_TABLE_SHA512_HEX:digest-algorithm=SHA-512"/>
</antcall>
</target>
<target name="delete-auth-jdbcrealm" depends="init-common">
<antcall target="asadmin-common">
<param name="admin.command" value="delete-auth-realm" />
<param name="operand.props" value="JDBCRealm_CLEAR"/>
</antcall>
<antcall target="asadmin-common">
<param name="admin.command" value="delete-auth-realm" />
<param name="operand.props" value="JDBCRealm_CLEAR_BASE64"/>
</antcall>
<antcall target="asadmin-common">
<param name="admin.command" value="delete-auth-realm" />
<param name="operand.props" value="JDBCRealm_CLEAR_HEX"/>
</antcall>
<antcall target="asadmin-common">
<param name="admin.command" value="delete-auth-realm" />
<param name="operand.props" value="JDBCRealm_MD2_BASE64"/>
</antcall>
<antcall target="asadmin-common">
<param name="admin.command" value="delete-auth-realm" />
<param name="operand.props" value="JDBCRealm_MD5_BASE64"/>
</antcall>
<antcall target="asadmin-common">
<param name="admin.command" value="delete-auth-realm" />
<param name="operand.props" value="JDBCRealm_SHA_BASE64"/>
</antcall>
<antcall target="asadmin-common">
<param name="admin.command" value="delete-auth-realm" />
<param name="operand.props" value="JDBCRealm_SHA256_BASE64"/>
</antcall>
<antcall target="asadmin-common">
<param name="admin.command" value="delete-auth-realm" />
<param name="operand.props" value="JDBCRealm_SHA384_BASE64"/>
</antcall>
<antcall target="asadmin-common">
<param name="admin.command" value="delete-auth-realm" />
<param name="operand.props" value="JDBCRealm_SHA512_BASE64"/>
</antcall>
<antcall target="asadmin-common">
<param name="admin.command" value="delete-auth-realm" />
<param name="operand.props" value="JDBCRealm_MD2_HEX"/>
</antcall>
<antcall target="asadmin-common">
<param name="admin.command" value="delete-auth-realm" />
<param name="operand.props" value="JDBCRealm_MD5_HEX"/>
</antcall>
<antcall target="asadmin-common">
<param name="admin.command" value="delete-auth-realm" />
<param name="operand.props" value="JDBCRealm_SHA_HEX"/>
</antcall>
<antcall target="asadmin-common">
<param name="admin.command" value="delete-auth-realm" />
<param name="operand.props" value="JDBCRealm_SHA256_HEX"/>
</antcall>
<antcall target="asadmin-common">
<param name="admin.command" value="delete-auth-realm" />
<param name="operand.props" value="JDBCRealm_SHA384_HEX"/>
</antcall>
<antcall target="asadmin-common">
<param name="admin.command" value="delete-auth-realm" />
<param name="operand.props" value="JDBCRealm_SHA512_HEX"/>
</antcall>
</target>
<target name="create-custom-auth-realm" depends="init-common">
<echo message="Creating auth realm ${realmname} ..."/>
<exec executable="${ASADMIN}">
<arg line="create-auth-realm"/>
<arg line="${as.props} --target=${appserver.instance.name}"/>
<arg line="--classname ${realmclass}"/>
<arg line="--property"/>
<arg value="${realmproperties}"/>
<arg line="${realmname}"/>
</exec>
</target>
<target name="clean" depends="init-common">
<delete dir="${build.classes.dir}"/>
<delete dir="${assemble.dir}"/>
</target>
<target name="compile" depends="clean">
<antcall target="compile-common">
<param name="src" value="client"/>
</antcall>
<antcall target="compile-common">
<param name="src" value="web"/>
</antcall>
</target>
<target name="build" depends="compile">
<antcall target="custom-build">
<param name="jdbc.realm.name" value="JDBCRealm_CLEAR"/>
<param name="jdbc.realm.user" value="qwert"/>
<param name="appname" value="jdbc-realm-clear"/>
</antcall>
<antcall target="custom-build">
<param name="jdbc.realm.name" value="JDBCRealm_CLEAR_BASE64"/>
<param name="jdbc.realm.user" value="qwertBASE64"/>
<param name="appname" value="jdbc-realm-clear-base64"/>
</antcall>
<antcall target="custom-build">
<param name="jdbc.realm.name" value="JDBCRealm_CLEAR_HEX"/>
<param name="jdbc.realm.user" value="qwertHEX"/>
<param name="appname" value="jdbc-realm-clear-hex"/>
</antcall>
<antcall target="custom-build">
<param name="jdbc.realm.name" value="JDBCRealm_MD2_BASE64"/>
<param name="jdbc.realm.user" value="qwertMD2BASE64"/>
<param name="appname" value="jdbc-realm-md2-base64"/>
</antcall>
<antcall target="custom-build">
<param name="jdbc.realm.name" value="JDBCRealm_MD5_BASE64"/>
<param name="jdbc.realm.user" value="qwertMD5BASE64"/>
<param name="appname" value="jdbc-realm-md5-base64"/>
</antcall>
<antcall target="custom-build">
<param name="jdbc.realm.name" value="JDBCRealm_SHA_BASE64"/>
<param name="jdbc.realm.user" value="qwertSHABASE64"/>
<param name="appname" value="jdbc-realm-sha-base64"/>
</antcall>
<antcall target="custom-build">
<param name="jdbc.realm.name" value="JDBCRealm_SHA256_BASE64"/>
<param name="jdbc.realm.user" value="qwertSHA256BASE64"/>
<param name="appname" value="jdbc-realm-sha256-base64"/>
</antcall>
<antcall target="custom-build">
<param name="jdbc.realm.name" value="JDBCRealm_SHA384_BASE64"/>
<param name="jdbc.realm.user" value="qwertSHA384BASE64"/>
<param name="appname" value="jdbc-realm-sha384-base64"/>
</antcall>
<antcall target="custom-build">
<param name="jdbc.realm.name" value="JDBCRealm_SHA512_BASE64"/>
<param name="jdbc.realm.user" value="qwertSHA512BASE64"/>
<param name="appname" value="jdbc-realm-sha512-base64"/>
</antcall>
<antcall target="custom-build">
<param name="jdbc.realm.name" value="JDBCRealm_MD2_HEX"/>
<param name="jdbc.realm.user" value="qwertMD2HEX"/>
<param name="appname" value="jdbc-realm-md2-hex"/>
</antcall>
<antcall target="custom-build">
<param name="jdbc.realm.name" value="JDBCRealm_MD5_HEX"/>
<param name="jdbc.realm.user" value="qwertMD5HEX"/>
<param name="appname" value="jdbc-realm-md5-hex"/>
</antcall>
<antcall target="custom-build">
<param name="jdbc.realm.name" value="JDBCRealm_SHA_HEX"/>
<param name="jdbc.realm.user" value="qwertSHAHEX"/>
<param name="appname" value="jdbc-realm-sha-hex"/>
</antcall>
<antcall target="custom-build">
<param name="jdbc.realm.name" value="JDBCRealm_SHA256_HEX"/>
<param name="jdbc.realm.user" value="qwertSHA256HEX"/>
<param name="appname" value="jdbc-realm-sha256-hex"/>
</antcall>
<antcall target="custom-build">
<param name="jdbc.realm.name" value="JDBCRealm_SHA384_HEX"/>
<param name="jdbc.realm.user" value="qwertSHA384HEX"/>
<param name="appname" value="jdbc-realm-sha384-hex"/>
</antcall>
<antcall target="custom-build">
<param name="jdbc.realm.name" value="JDBCRealm_SHA512_HEX"/>
<param name="jdbc.realm.user" value="qwertSHA512HEX"/>
<param name="appname" value="jdbc-realm-sha512-hex"/>
</antcall>
</target>
<target name="deploy" depends="init-common">
<antcall target="deploy-war-common">
<param name="contextroot" value="jdbc-realm-clear"/>
<param name="appname" value="jdbc-realm-clear"/>
</antcall>
<antcall target="deploy-war-common">
<param name="contextroot" value="jdbc-realm-clear-base64"/>
<param name="appname" value="jdbc-realm-clear-base64"/>
</antcall>
<antcall target="deploy-war-common">
<param name="contextroot" value="jdbc-realm-clear-hex"/>
<param name="appname" value="jdbc-realm-clear-hex"/>
</antcall>
<antcall target="deploy-war-common">
<param name="contextroot" value="jdbc-realm-md2-base64"/>
<param name="appname" value="jdbc-realm-md2-base64"/>
</antcall>
<antcall target="deploy-war-common">
<param name="contextroot" value="jdbc-realm-md5-base64"/>
<param name="appname" value="jdbc-realm-md5-base64"/>
</antcall>
<antcall target="deploy-war-common">
<param name="contextroot" value="jdbc-realm-sha-base64"/>
<param name="appname" value="jdbc-realm-sha-base64"/>
</antcall>
<antcall target="deploy-war-common">
<param name="contextroot" value="jdbc-realm-sha256-base64"/>
<param name="appname" value="jdbc-realm-sha256-base64"/>
</antcall>
<antcall target="deploy-war-common">
<param name="contextroot" value="jdbc-realm-sha384-base64"/>
<param name="appname" value="jdbc-realm-sha384-base64"/>
</antcall>
<antcall target="deploy-war-common">
<param name="contextroot" value="jdbc-realm-sha512-base64"/>
<param name="appname" value="jdbc-realm-sha512-base64"/>
</antcall>
<antcall target="deploy-war-common">
<param name="contextroot" value="jdbc-realm-md2-hex"/>
<param name="appname" value="jdbc-realm-md2-hex"/>
</antcall>
<antcall target="deploy-war-common">
<param name="contextroot" value="jdbc-realm-md5-hex"/>
<param name="appname" value="jdbc-realm-md5-hex"/>
</antcall>
<antcall target="deploy-war-common">
<param name="contextroot" value="jdbc-realm-sha-hex"/>
<param name="appname" value="jdbc-realm-sha-hex"/>
</antcall>
<antcall target="deploy-war-common">
<param name="contextroot" value="jdbc-realm-sha256-hex"/>
<param name="appname" value="jdbc-realm-sha256-hex"/>
</antcall>
<antcall target="deploy-war-common">
<param name="contextroot" value="jdbc-realm-sha384-hex"/>
<param name="appname" value="jdbc-realm-sha384-hex"/>
</antcall>
<antcall target="deploy-war-common">
<param name="contextroot" value="jdbc-realm-sha512-hex"/>
<param name="appname" value="jdbc-realm-sha512-hex"/>
</antcall>
</target>
<target name="run" depends="init-common">
<antcall target="run-positive"/>
<antcall target="run-negative"/>
</target>
<target name="run-positive" depends="init-common">
<antcall target="custom-run">
<param name="jdbc.realm.pass" value="qwert"/>
<param name="jdbc.realm.user" value="qwert"/>
<param name="appname" value="jdbc-realm-clear"/>
</antcall>
<antcall target="custom-run">
<param name="jdbc.realm.pass" value="qwertBASE64"/>
<param name="jdbc.realm.user" value="qwertBASE64"/>
<param name="appname" value="jdbc-realm-clear-base64"/>
</antcall>
<antcall target="custom-run">
<param name="jdbc.realm.pass" value="qwertHEX"/>
<param name="jdbc.realm.user" value="qwertHEX"/>
<param name="appname" value="jdbc-realm-clear-hex"/>
</antcall>
<antcall target="custom-run">
<param name="jdbc.realm.pass" value="qwertMD2BASE64"/>
<param name="jdbc.realm.user" value="qwertMD2BASE64"/>
<param name="appname" value="jdbc-realm-md2-base64"/>
</antcall>
<antcall target="custom-run">
<param name="jdbc.realm.pass" value="qwertMD5BASE64"/>
<param name="jdbc.realm.user" value="qwertMD5BASE64"/>
<param name="appname" value="jdbc-realm-md5-base64"/>
</antcall>
<antcall target="custom-run">
<param name="jdbc.realm.pass" value="qwertSHABASE64"/>
<param name="jdbc.realm.user" value="qwertSHABASE64"/>
<param name="appname" value="jdbc-realm-sha-base64"/>
</antcall>
<antcall target="custom-run">
<param name="jdbc.realm.pass" value="qwertSHA256BASE64"/>
<param name="jdbc.realm.user" value="qwertSHA256BASE64"/>
<param name="appname" value="jdbc-realm-sha256-base64"/>
</antcall>
<antcall target="custom-run">
<param name="jdbc.realm.pass" value="qwertSHA384BASE64"/>
<param name="jdbc.realm.user" value="qwertSHA384BASE64"/>
<param name="appname" value="jdbc-realm-sha384-base64"/>
</antcall>
<antcall target="custom-run">
<param name="jdbc.realm.pass" value="qwertSHA512BASE64"/>
<param name="jdbc.realm.user" value="qwertSHA512BASE64"/>
<param name="appname" value="jdbc-realm-sha512-base64"/>
</antcall>
<antcall target="custom-run">
<param name="jdbc.realm.pass" value="qwertMD2HEX"/>
<param name="jdbc.realm.user" value="qwertMD2HEX"/>
<param name="appname" value="jdbc-realm-md2-hex"/>
</antcall>
<antcall target="custom-run">
<param name="jdbc.realm.pass" value="qwertMD5HEX"/>
<param name="jdbc.realm.user" value="qwertMD5HEX"/>
<param name="appname" value="jdbc-realm-md5-hex"/>
</antcall>
<antcall target="custom-run">
<param name="jdbc.realm.pass" value="qwertSHAHEX"/>
<param name="jdbc.realm.user" value="qwertSHAHEX"/>
<param name="appname" value="jdbc-realm-sha-hex"/>
</antcall>
<antcall target="custom-run">
<param name="jdbc.realm.pass" value="qwertSHA256HEX"/>
<param name="jdbc.realm.user" value="qwertSHA256HEX"/>
<param name="appname" value="jdbc-realm-sha256-hex"/>
</antcall>
<antcall target="custom-run">
<param name="jdbc.realm.pass" value="qwertSHA384HEX"/>
<param name="jdbc.realm.user" value="qwertSHA384HEX"/>
<param name="appname" value="jdbc-realm-sha384-hex"/>
</antcall>
<antcall target="custom-run">
<param name="jdbc.realm.pass" value="qwertSHA512HEX"/>
<param name="jdbc.realm.user" value="qwertSHA512HEX"/>
<param name="appname" value="jdbc-realm-sha512-hex"/>
</antcall>
</target>
<target name="run-negative" depends="init-common">
<antcall target="custom-neg-run">
<param name="jdbc.realm.pass" value="qwert"/>
<param name="jdbc.realm.user" value="qwerta"/>
<param name="appname" value="jdbc-realm-clear"/>
</antcall>
<antcall target="custom-neg-run">
<param name="jdbc.realm.pass" value="qwertBASE64"/>
<param name="jdbc.realm.user" value="qwertBASE64a"/>
<param name="appname" value="jdbc-realm-clear-base64"/>
</antcall>
<antcall target="custom-neg-run">
<param name="jdbc.realm.pass" value="qwertHEX"/>
<param name="jdbc.realm.user" value="qwertHEXa"/>
<param name="appname" value="jdbc-realm-clear-hex"/>
</antcall>
<antcall target="custom-neg-run">
<param name="jdbc.realm.pass" value="qwertMD2BASE64"/>
<param name="jdbc.realm.user" value="qwertMD2BASE64a"/>
<param name="appname" value="jdbc-realm-md2-base64"/>
</antcall>
<antcall target="custom-neg-run">
<param name="jdbc.realm.pass" value="qwertMD5BASE64"/>
<param name="jdbc.realm.user" value="qwertMD5BASE64a"/>
<param name="appname" value="jdbc-realm-md5-base64"/>
</antcall>
<antcall target="custom-neg-run">
<param name="jdbc.realm.pass" value="qwertSHABASE64"/>
<param name="jdbc.realm.user" value="qwertSHABASE64a"/>
<param name="appname" value="jdbc-realm-sha-base64"/>
</antcall>
<antcall target="custom-neg-run">
<param name="jdbc.realm.pass" value="qwertSHA256BASE64"/>
<param name="jdbc.realm.user" value="qwertSHA256BASE64a"/>
<param name="appname" value="jdbc-realm-sha256-base64"/>
</antcall>
<antcall target="custom-neg-run">
<param name="jdbc.realm.pass" value="qwertSHA384BASE64"/>
<param name="jdbc.realm.user" value="qwertSHA384BASE64a"/>
<param name="appname" value="jdbc-realm-sha384-base64"/>
</antcall>
<antcall target="custom-neg-run">
<param name="jdbc.realm.pass" value="qwertSHA512BASE64"/>
<param name="jdbc.realm.user" value="qwertSHA512BASE64a"/>
<param name="appname" value="jdbc-realm-sha512-base64"/>
</antcall>
<antcall target="custom-neg-run">
<param name="jdbc.realm.pass" value="qwertMD2HEX"/>
<param name="jdbc.realm.user" value="qwertMD2HEXa"/>
<param name="appname" value="jdbc-realm-md2-hex"/>
</antcall>
<antcall target="custom-neg-run">
<param name="jdbc.realm.pass" value="qwertMD5HEX"/>
<param name="jdbc.realm.user" value="qwertMD5HEXa"/>
<param name="appname" value="jdbc-realm-md5-hex"/>
</antcall>
<antcall target="custom-neg-run">
<param name="jdbc.realm.pass" value="qwertSHAHEX"/>
<param name="jdbc.realm.user" value="qwertSHAHEXa"/>
<param name="appname" value="jdbc-realm-sha-hex"/>
</antcall>
<antcall target="custom-neg-run">
<param name="jdbc.realm.pass" value="qwertSHA256HEX"/>
<param name="jdbc.realm.user" value="qwertSHA256HEXa"/>
<param name="appname" value="jdbc-realm-sha256-hex"/>
</antcall>
<antcall target="custom-neg-run">
<param name="jdbc.realm.pass" value="qwertSHA384HEX"/>
<param name="jdbc.realm.user" value="qwertSHA384HEXa"/>
<param name="appname" value="jdbc-realm-sha384-hex"/>
</antcall>
<antcall target="custom-neg-run">
<param name="jdbc.realm.pass" value="qwertSHA512HEX"/>
<param name="jdbc.realm.user" value="qwertSHA512HEXa"/>
<param name="appname" value="jdbc-realm-sha512-hex"/>
</antcall>
</target>
<target name="undeploy" depends="init-common">
<antcall target="undeploy-war-common">
<param name="appname" value="jdbc-realm-clear"/>
</antcall>
<antcall target="undeploy-war-common">
<param name="appname" value="jdbc-realm-clear-base64"/>
</antcall>
<antcall target="undeploy-war-common">
<param name="appname" value="jdbc-realm-clear-hex"/>
</antcall>
<antcall target="undeploy-war-common">
<param name="appname" value="jdbc-realm-md2-base64"/>
</antcall>
<antcall target="undeploy-war-common">
<param name="appname" value="jdbc-realm-md5-base64"/>
</antcall>
<antcall target="undeploy-war-common">
<param name="appname" value="jdbc-realm-sha-base64"/>
</antcall>
<antcall target="undeploy-war-common">
<param name="appname" value="jdbc-realm-sha256-base64"/>
</antcall>
<antcall target="undeploy-war-common">
<param name="appname" value="jdbc-realm-sha384-base64"/>
</antcall>
<antcall target="undeploy-war-common">
<param name="appname" value="jdbc-realm-sha512-base64"/>
</antcall>
<antcall target="undeploy-war-common">
<param name="appname" value="jdbc-realm-md2-hex"/>
</antcall>
<antcall target="undeploy-war-common">
<param name="appname" value="jdbc-realm-md5-hex"/>
</antcall>
<antcall target="undeploy-war-common">
<param name="appname" value="jdbc-realm-sha-hex"/>
</antcall>
<antcall target="undeploy-war-common">
<param name="appname" value="jdbc-realm-sha256-hex"/>
</antcall>
<antcall target="undeploy-war-common">
<param name="appname" value="jdbc-realm-sha384-hex"/>
</antcall>
<antcall target="undeploy-war-common">
<param name="appname" value="jdbc-realm-sha512-hex"/>
</antcall>
</target>
<target name="restart">
<antcall target="restart-server-instance-common"/>
</target>
<!-- variables needed by custom-build
1. jdbc.realm.name
2. jdbc.realm.user
3. appname
-->
<target name="custom-build">
<echo message="web.xml is defined as ${web.xml}"/>
<copy file="web.xml.template" tofile="${web.xml}" overwrite="true" failonerror="false"/>
<replace file="${web.xml}" token="REALM_NAME_HERE" value="${jdbc.realm.name}"/>
<copy file="sun-web.xml.template" tofile="${sun-web.xml}" overwrite="true" failonerror="false"/>
<replace file="${sun-web.xml}" token="USER_ID_HERE" value="${jdbc.realm.user}"/>
<antcall target="webclient-war-common">
<param name="hasWebclient" value="true"/>
<param name="appname" value="${appname}"/>
</antcall>
<delete file="${web.xml}"/>
<delete file="${sun-web.xml}"/>
</target>
<!-- variables needed by custom-build
1. jdbc.realm.pass
2. jdbc.realm.user
3. appname
-->
<target name="custom-neg-run" depends="init-common">
<echo message="Testing (NEGATIVE TEST) against URL http://${http.host}:${http.port}/${appname}/TestServlet using username/password ${jdbc.realm.user}/${jdbc.realm.pass}"/>
<java classname="HttpBasicAuthTest" fork="true">
<classpath>
<pathelement path="${build.classes.dir}:${s1astest.classpath}"/>
</classpath>
<arg value="-url"/>
<arg value="http://${http.host}:${http.port}/${appname}/TestServlet"/>
<arg value="-user"/>
<arg value="${jdbc.realm.user}"/>
<arg value="-pass"/>
<arg value="${jdbc.realm.pass}"/>
<arg value="-tc"/>
<arg value="10"/>
<arg value="-lc"/>
<arg value="10"/>
<arg value="-negative"/>
</java>
</target>
<target name="custom-run" depends="init-common">
<echo message="Testing against URL http://${http.host}:${http.port}/${appname}/TestServlet using username/password ${jdbc.realm.user}/${jdbc.realm.pass}"/>
<java classname="HttpBasicAuthTest" fork="true">
<classpath>
<pathelement path="${build.classes.dir}:${s1astest.classpath}"/>
</classpath>
<arg value="-url"/>
<arg value="http://${http.host}:${http.port}/${appname}/TestServlet"/>
<arg value="-user"/>
<arg value="${jdbc.realm.user}"/>
<arg value="-pass"/>
<arg value="${jdbc.realm.pass}"/>
<arg value="-tc"/>
<arg value="10"/>
<arg value="-lc"/>
<arg value="10"/>
</java>
</target>
</project>