1. Changed jsharp files to java files

2. Added CommandLauncher to allow java classes to be invoked from msi install
This commit is contained in:
Greg Richardson 2007-01-24 07:18:15 +00:00
parent 6b83871de5
commit c3aa5727fc
31 changed files with 3046 additions and 3268 deletions

View File

@ -1,382 +1,342 @@
<!-- Example Server Configuration File -->
<!-- Note that component elements are nested corresponding to their
parent-child relationships with each other -->
<!-- A "Server" is a singleton element that represents the entire JVM,
which may contain one or more "Service" instances. The Server
listens for a shutdown command on the indicated port.
Note: A "Server" is not itself a "Container", so you may not
define subcomponents such as "Valves" or "Loggers" at this level.
-->
<Server port="8005" shutdown="SHUTDOWN">
<!-- Comment these entries out to disable JMX MBeans support used for the
administration web application -->
<Listener className="org.apache.catalina.core.AprLifecycleListener" />
<Listener className="org.apache.catalina.mbeans.ServerLifecycleListener" />
<Listener className="org.apache.catalina.mbeans.GlobalResourcesLifecycleListener" />
<Listener className="org.apache.catalina.storeconfig.StoreConfigLifecycleListener"/>
<!-- Global JNDI resources -->
<GlobalNamingResources>
<!-- Test entry for demonstration purposes -->
<Environment name="simpleValue" type="java.lang.Integer" value="30"/>
<!-- Editable user database that can also be used by
UserDatabaseRealm to authenticate users -->
<Resource name="UserDatabase" auth="Container"
type="org.apache.catalina.UserDatabase"
description="User database that can be updated and saved"
factory="org.apache.catalina.users.MemoryUserDatabaseFactory"
pathname="conf/tomcat-users.xml" />
</GlobalNamingResources>
<!-- A "Service" is a collection of one or more "Connectors" that share
a single "Container" (and therefore the web applications visible
within that Container). Normally, that Container is an "Engine",
but this is not required.
Note: A "Service" is not itself a "Container", so you may not
define subcomponents such as "Valves" or "Loggers" at this level.
-->
<!-- Define the Tomcat Stand-Alone Service -->
<Service name="Catalina">
<!-- A "Connector" represents an endpoint by which requests are received
and responses are returned. Each Connector passes requests on to the
associated "Container" (normally an Engine) for processing.
By default, a non-SSL HTTP/1.1 Connector is established on port 8080.
You can also enable an SSL HTTP/1.1 Connector on port 8443 by
following the instructions below and uncommenting the second Connector
entry. SSL support requires the following steps (see the SSL Config
HOWTO in the Tomcat 5 documentation bundle for more detailed
instructions):
* If your JDK version 1.3 or prior, download and install JSSE 1.0.2 or
later, and put the JAR files into "$JAVA_HOME/jre/lib/ext".
* Execute:
%JAVA_HOME%\bin\keytool -genkey -alias tomcat -keyalg RSA (Windows)
$JAVA_HOME/bin/keytool -genkey -alias tomcat -keyalg RSA (Unix)
with a password value of "changeit" for both the certificate and
the keystore itself.
By default, DNS lookups are enabled when a web application calls
request.getRemoteHost(). This can have an adverse impact on
performance, so you can disable it by setting the
"enableLookups" attribute to "false". When DNS lookups are disabled,
request.getRemoteHost() will return the String version of the
IP address of the remote client.
-->
<!-- Define a non-SSL HTTP/1.1 Connector on port 8080 -->
<Connector port="8080" maxHttpHeaderSize="8192"
maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
enableLookups="false" redirectPort="8443" acceptCount="100"
connectionTimeout="20000" disableUploadTimeout="true" />
<!-- Note : To disable connection timeouts, set connectionTimeout value
to 0 -->
<!-- Note : To use gzip compression you could set the following properties :
compression="on"
compressionMinSize="2048"
noCompressionUserAgents="gozilla, traviata"
compressableMimeType="text/html,text/xml"
-->
<!-- Define a SSL HTTP/1.1 Connector on port 8443 -->
<!--
<Connector port="8443" maxHttpHeaderSize="8192"
maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
enableLookups="false" disableUploadTimeout="true"
acceptCount="100" scheme="https" secure="true"
clientAuth="false" sslProtocol="TLS" />
-->
<!-- Define an AJP 1.3 Connector on port 8009 -->
<Connector port="8009"
enableLookups="false" redirectPort="8443" protocol="AJP/1.3" />
<!-- Define a Proxied HTTP/1.1 Connector on port 8082 -->
<!-- See proxy documentation for more information about using this. -->
<!--
<Connector port="8082"
maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
enableLookups="false" acceptCount="100" connectionTimeout="20000"
proxyPort="80" disableUploadTimeout="true" />
-->
<!-- Define a SSL Coyote HTTP/1.1 Connector on port 2645 -->
<Connector port="2645"
maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
enableLookups="false" disableUploadTimeout="true"
acceptCount="100" debug="0" scheme="https" secure="true"
clientAuth="false" sslProtocol="TLS"
keystoreFile="ATS_INSTALL_DIRats\etc\keys\server\jks-store"
keystorePass="secret" algorithm="SunX509" />
<!-- Define a Coyote/JK2 AJP 1.3 Connector on port 8009
<Connector port="8009"
enableLookups="false" redirectPort="8443" debug="0"
protocol="AJP/1.3" />
-->
<!-- An Engine represents the entry point (within Catalina) that processes
every request. The Engine implementation for Tomcat stand alone
analyzes the HTTP headers included with the request, and passes them
on to the appropriate Host (virtual host). -->
<!-- You should set jvmRoute to support load-balancing via AJP ie :
<Engine name="Standalone" defaultHost="localhost" jvmRoute="jvm1">
-->
<!-- Define the top level container in our container hierarchy -->
<Engine name="Catalina" defaultHost="localhost">
<!-- The request dumper valve dumps useful debugging information about
the request headers and cookies that were received, and the response
headers and cookies that were sent, for all requests received by
this instance of Tomcat. If you care only about requests to a
particular virtual host, or a particular application, nest this
element inside the corresponding <Host> or <Context> entry instead.
For a similar mechanism that is portable to all Servlet 2.4
containers, check out the "RequestDumperFilter" Filter in the
example application (the source for this filter may be found in
"$CATALINA_HOME/webapps/examples/WEB-INF/classes/filters").
Request dumping is disabled by default. Uncomment the following
element to enable it. -->
<!--
<Valve className="org.apache.catalina.valves.RequestDumperValve"/>
-->
<!-- Because this Realm is here, an instance will be shared globally -->
<!-- This Realm uses the UserDatabase configured in the global JNDI
resources under the key "UserDatabase". Any edits
that are performed against this UserDatabase are immediately
available for use by the Realm. -->
<Realm className="org.apache.catalina.realm.UserDatabaseRealm"
resourceName="UserDatabase"/>
<!-- Comment out the old realm but leave here for now in case we
need to go back quickly -->
<!--
<Realm className="org.apache.catalina.realm.MemoryRealm" />
-->
<!-- Replace the above Realm with one of the following to get a Realm
stored in a database and accessed via JDBC -->
<!--
<Realm className="org.apache.catalina.realm.JDBCRealm"
driverName="org.gjt.mm.mysql.Driver"
connectionURL="jdbc:mysql://localhost/authority"
connectionName="test" connectionPassword="test"
userTable="users" userNameCol="user_name" userCredCol="user_pass"
userRoleTable="user_roles" roleNameCol="role_name" />
-->
<!--
<Realm className="org.apache.catalina.realm.JDBCRealm"
driverName="oracle.jdbc.driver.OracleDriver"
connectionURL="jdbc:oracle:thin:@ntserver:1521:ORCL"
connectionName="scott" connectionPassword="tiger"
userTable="users" userNameCol="user_name" userCredCol="user_pass"
userRoleTable="user_roles" roleNameCol="role_name" />
-->
<!--
<Realm className="org.apache.catalina.realm.JDBCRealm"
driverName="sun.jdbc.odbc.JdbcOdbcDriver"
connectionURL="jdbc:odbc:CATALINA"
userTable="users" userNameCol="user_name" userCredCol="user_pass"
userRoleTable="user_roles" roleNameCol="role_name" />
-->
<!-- Define the default virtual host
Note: XML Schema validation will not work with Xerces 2.2.
-->
<Host name="localhost" appBase="webapps"
unpackWARs="true" autoDeploy="true"
xmlValidation="false" xmlNamespaceAware="false">
<!-- Defines a cluster for this node,
By defining this element, means that every manager will be changed.
So when running a cluster, only make sure that you have webapps in there
that need to be clustered and remove the other ones.
A cluster has the following parameters:
className = the fully qualified name of the cluster class
clusterName = a descriptive name for your cluster, can be anything
mcastAddr = the multicast address, has to be the same for all the nodes
mcastPort = the multicast port, has to be the same for all the nodes
mcastBindAddress = bind the multicast socket to a specific address
mcastTTL = the multicast TTL if you want to limit your broadcast
mcastSoTimeout = the multicast readtimeout
mcastFrequency = the number of milliseconds in between sending a "I'm alive" heartbeat
mcastDropTime = the number a milliseconds before a node is considered "dead" if no heartbeat is received
tcpThreadCount = the number of threads to handle incoming replication requests, optimal would be the same amount of threads as nodes
tcpListenAddress = the listen address (bind address) for TCP cluster request on this host,
in case of multiple ethernet cards.
auto means that address becomes
InetAddress.getLocalHost().getHostAddress()
tcpListenPort = the tcp listen port
tcpSelectorTimeout = the timeout (ms) for the Selector.select() method in case the OS
has a wakup bug in java.nio. Set to 0 for no timeout
printToScreen = true means that managers will also print to std.out
expireSessionsOnShutdown = true means that
useDirtyFlag = true means that we only replicate a session after setAttribute,removeAttribute has been called.
false means to replicate the session after each request.
false means that replication would work for the following piece of code: (only for SimpleTcpReplicationManager)
<%
HashMap map = (HashMap)session.getAttribute("map");
map.put("key","value");
%>
replicationMode = can be either 'pooled', 'synchronous' or 'asynchronous'.
* Pooled means that the replication happens using several sockets in a synchronous way. Ie, the data gets replicated, then the request return. This is the same as the 'synchronous' setting except it uses a pool of sockets, hence it is multithreaded. This is the fastest and safest configuration. To use this, also increase the nr of tcp threads that you have dealing with replication.
* Synchronous means that the thread that executes the request, is also the
thread the replicates the data to the other nodes, and will not return until all
nodes have received the information.
* Asynchronous means that there is a specific 'sender' thread for each cluster node,
so the request thread will queue the replication request into a "smart" queue,
and then return to the client.
The "smart" queue is a queue where when a session is added to the queue, and the same session
already exists in the queue from a previous request, that session will be replaced
in the queue instead of replicating two requests. This almost never happens, unless there is a
large network delay.
-->
<!--
When configuring for clustering, you also add in a valve to catch all the requests
coming in, at the end of the request, the session may or may not be replicated.
A session is replicated if and only if all the conditions are met:
1. useDirtyFlag is true or setAttribute or removeAttribute has been called AND
2. a session exists (has been created)
3. the request is not trapped by the "filter" attribute
The filter attribute is to filter out requests that could not modify the session,
hence we don't replicate the session after the end of this request.
The filter is negative, ie, anything you put in the filter, you mean to filter out,
ie, no replication will be done on requests that match one of the filters.
The filter attribute is delimited by ;, so you can't escape out ; even if you wanted to.
filter=".*\.gif;.*\.js;" means that we will not replicate the session after requests with the URI
ending with .gif and .js are intercepted.
The deployer element can be used to deploy apps cluster wide.
Currently the deployment only deploys/undeploys to working members in the cluster
so no WARs are copied upons startup of a broken node.
The deployer watches a directory (watchDir) for WAR files when watchEnabled="true"
When a new war file is added the war gets deployed to the local instance,
and then deployed to the other instances in the cluster.
When a war file is deleted from the watchDir the war is undeployed locally
and cluster wide
-->
<!--
<Cluster className="org.apache.catalina.cluster.tcp.SimpleTcpCluster"
managerClassName="org.apache.catalina.cluster.session.DeltaManager"
expireSessionsOnShutdown="false"
useDirtyFlag="true"
notifyListenersOnReplication="true">
<Membership
className="org.apache.catalina.cluster.mcast.McastService"
mcastAddr="228.0.0.4"
mcastPort="45564"
mcastFrequency="500"
mcastDropTime="3000"/>
<Receiver
className="org.apache.catalina.cluster.tcp.ReplicationListener"
tcpListenAddress="auto"
tcpListenPort="4001"
tcpSelectorTimeout="100"
tcpThreadCount="6"/>
<Sender
className="org.apache.catalina.cluster.tcp.ReplicationTransmitter"
replicationMode="pooled"
ackTimeout="15000"
waitForAck="true"/>
<Valve className="org.apache.catalina.cluster.tcp.ReplicationValve"
filter=".*\.gif;.*\.js;.*\.jpg;.*\.png;.*\.htm;.*\.html;.*\.css;.*\.txt;"/>
<Deployer className="org.apache.catalina.cluster.deploy.FarmWarDeployer"
tempDir="/tmp/war-temp/"
deployDir="/tmp/war-deploy/"
watchDir="/tmp/war-listen/"
watchEnabled="false"/>
<ClusterListener className="org.apache.catalina.cluster.session.ClusterSessionListener"/>
</Cluster>
-->
<!-- Normally, users must authenticate themselves to each web app
individually. Uncomment the following entry if you would like
a user to be authenticated the first time they encounter a
resource protected by a security constraint, and then have that
user identity maintained across *all* web applications contained
in this virtual host. -->
<!--
<Valve className="org.apache.catalina.authenticator.SingleSignOn" />
-->
<!-- Access log processes all requests for this virtual host. By
default, log files are created in the "logs" directory relative to
$CATALINA_HOME. If you wish, you can specify a different
directory with the "directory" attribute. Specify either a relative
(to $CATALINA_HOME) or absolute path to the desired directory.
-->
<!--
<Valve className="org.apache.catalina.valves.AccessLogValve"
directory="logs" prefix="localhost_access_log." suffix=".txt"
pattern="common" resolveHosts="false"/>
-->
<!-- Access log processes all requests for this virtual host. By
default, log files are created in the "logs" directory relative to
$CATALINA_HOME. If you wish, you can specify a different
directory with the "directory" attribute. Specify either a relative
(to $CATALINA_HOME) or absolute path to the desired directory.
This access log implementation is optimized for maximum performance,
but is hardcoded to support only the "common" and "combined" patterns.
-->
<!--
<Valve className="org.apache.catalina.valves.FastCommonAccessLogValve"
directory="logs" prefix="localhost_access_log." suffix=".txt"
pattern="common" resolveHosts="false"/>
-->
</Host>
</Engine>
</Service>
</Server>
<!-- Example Server Configuration File -->
<!-- Note that component elements are nested corresponding to their
parent-child relationships with each other -->
<!-- A "Server" is a singleton element that represents the entire JVM,
which may contain one or more "Service" instances. The Server
listens for a shutdown command on the indicated port.
Note: A "Server" is not itself a "Container", so you may not
define subcomponents such as "Valves" or "Loggers" at this level.
-->
<Server port="8585" shutdown="SHUTDOWN">
<!-- Comment these entries out to disable JMX MBeans support used for the
administration web application -->
<Listener className="org.apache.catalina.core.AprLifecycleListener" />
<Listener className="org.apache.catalina.mbeans.ServerLifecycleListener" />
<Listener className="org.apache.catalina.mbeans.GlobalResourcesLifecycleListener" />
<Listener className="org.apache.catalina.storeconfig.StoreConfigLifecycleListener"/>
<!-- Global JNDI resources -->
<GlobalNamingResources>
<!-- Test entry for demonstration purposes -->
<Environment name="simpleValue" type="java.lang.Integer" value="30"/>
<!-- Editable user database that can also be used by
UserDatabaseRealm to authenticate users -->
<Resource name="UserDatabase" auth="Container"
type="org.apache.catalina.UserDatabase"
description="User database that can be updated and saved"
factory="org.apache.catalina.users.MemoryUserDatabaseFactory"
pathname="conf/tomcat-users.xml" />
</GlobalNamingResources>
<!-- A "Service" is a collection of one or more "Connectors" that share
a single "Container" (and therefore the web applications visible
within that Container). Normally, that Container is an "Engine",
but this is not required.
Note: A "Service" is not itself a "Container", so you may not
define subcomponents such as "Valves" or "Loggers" at this level.
-->
<!-- Define the Tomcat Stand-Alone Service -->
<Service name="Catalina">
<!-- A "Connector" represents an endpoint by which requests are received
and responses are returned. Each Connector passes requests on to the
associated "Container" (normally an Engine) for processing.
By default, a non-SSL HTTP/1.1 Connector is established on port 8080.
You can also enable an SSL HTTP/1.1 Connector on port 8443 by
following the instructions below and uncommenting the second Connector
entry. SSL support requires the following steps (see the SSL Config
HOWTO in the Tomcat 5 documentation bundle for more detailed
instructions):
* If your JDK version 1.3 or prior, download and install JSSE 1.0.2 or
later, and put the JAR files into "$JAVA_HOME/jre/lib/ext".
* Execute:
%JAVA_HOME%\bin\keytool -genkey -alias tomcat -keyalg RSA (Windows)
$JAVA_HOME/bin/keytool -genkey -alias tomcat -keyalg RSA (Unix)
with a password value of "changeit" for both the certificate and
the keystore itself.
By default, DNS lookups are enabled when a web application calls
request.getRemoteHost(). This can have an adverse impact on
performance, so you can disable it by setting the
"enableLookups" attribute to "false". When DNS lookups are disabled,
request.getRemoteHost() will return the String version of the
IP address of the remote client.
-->
<!-- Note : To disable connection timeouts, set connectionTimeout value
to 0 -->
<!-- Note : To use gzip compression you could set the following properties :
compression="on"
compressionMinSize="2048"
noCompressionUserAgents="gozilla, traviata"
compressableMimeType="text/html,text/xml"
-->
<!-- An Engine represents the entry point (within Catalina) that processes
every request. The Engine implementation for Tomcat stand alone
analyzes the HTTP headers included with the request, and passes them
on to the appropriate Host (virtual host). -->
<!-- You should set jvmRoute to support load-balancing via AJP ie :
<Engine name="Standalone" defaultHost="localhost" jvmRoute="jvm1">
-->
<!-- Define the top level container in our container hierarchy -->
<Engine name="Catalina" defaultHost="localhost">
<!-- The request dumper valve dumps useful debugging information about
the request headers and cookies that were received, and the response
headers and cookies that were sent, for all requests received by
this instance of Tomcat. If you care only about requests to a
particular virtual host, or a particular application, nest this
element inside the corresponding <Host> or <Context> entry instead.
For a similar mechanism that is portable to all Servlet 2.4
containers, check out the "RequestDumperFilter" Filter in the
example application (the source for this filter may be found in
"$CATALINA_HOME/webapps/examples/WEB-INF/classes/filters").
Request dumping is disabled by default. Uncomment the following
element to enable it. -->
<!--
<Valve className="org.apache.catalina.valves.RequestDumperValve"/>
-->
<!-- Because this Realm is here, an instance will be shared globally -->
<!-- This Realm uses the UserDatabase configured in the global JNDI
resources under the key "UserDatabase". Any edits
that are performed against this UserDatabase are immediately
available for use by the Realm. -->
<Realm className="org.apache.catalina.realm.UserDatabaseRealm"
resourceName="UserDatabase"/>
<!-- Comment out the old realm but leave here for now in case we
need to go back quickly -->
<!--
<Realm className="org.apache.catalina.realm.MemoryRealm" />
-->
<!-- Replace the above Realm with one of the following to get a Realm
stored in a database and accessed via JDBC -->
<!--
<Realm className="org.apache.catalina.realm.JDBCRealm"
driverName="org.gjt.mm.mysql.Driver"
connectionURL="jdbc:mysql://localhost/authority"
connectionName="test" connectionPassword="test"
userTable="users" userNameCol="user_name" userCredCol="user_pass"
userRoleTable="user_roles" roleNameCol="role_name" />
-->
<!--
<Realm className="org.apache.catalina.realm.JDBCRealm"
driverName="oracle.jdbc.driver.OracleDriver"
connectionURL="jdbc:oracle:thin:@ntserver:1521:ORCL"
connectionName="scott" connectionPassword="tiger"
userTable="users" userNameCol="user_name" userCredCol="user_pass"
userRoleTable="user_roles" roleNameCol="role_name" />
-->
<!--
<Realm className="org.apache.catalina.realm.JDBCRealm"
driverName="sun.jdbc.odbc.JdbcOdbcDriver"
connectionURL="jdbc:odbc:CATALINA"
userTable="users" userNameCol="user_name" userCredCol="user_pass"
userRoleTable="user_roles" roleNameCol="role_name" />
-->
<!-- Define the default virtual host
Note: XML Schema validation will not work with Xerces 2.2.
-->
<Host name="localhost" appBase="webapps"
unpackWARs="true" autoDeploy="true"
xmlValidation="false" xmlNamespaceAware="false">
<!-- Defines a cluster for this node,
By defining this element, means that every manager will be changed.
So when running a cluster, only make sure that you have webapps in there
that need to be clustered and remove the other ones.
A cluster has the following parameters:
className = the fully qualified name of the cluster class
clusterName = a descriptive name for your cluster, can be anything
mcastAddr = the multicast address, has to be the same for all the nodes
mcastPort = the multicast port, has to be the same for all the nodes
mcastBindAddress = bind the multicast socket to a specific address
mcastTTL = the multicast TTL if you want to limit your broadcast
mcastSoTimeout = the multicast readtimeout
mcastFrequency = the number of milliseconds in between sending a "I'm alive" heartbeat
mcastDropTime = the number a milliseconds before a node is considered "dead" if no heartbeat is received
tcpThreadCount = the number of threads to handle incoming replication requests, optimal would be the same amount of threads as nodes
tcpListenAddress = the listen address (bind address) for TCP cluster request on this host,
in case of multiple ethernet cards.
auto means that address becomes
InetAddress.getLocalHost().getHostAddress()
tcpListenPort = the tcp listen port
tcpSelectorTimeout = the timeout (ms) for the Selector.select() method in case the OS
has a wakup bug in java.nio. Set to 0 for no timeout
printToScreen = true means that managers will also print to std.out
expireSessionsOnShutdown = true means that
useDirtyFlag = true means that we only replicate a session after setAttribute,removeAttribute has been called.
false means to replicate the session after each request.
false means that replication would work for the following piece of code: (only for SimpleTcpReplicationManager)
<%
HashMap map = (HashMap)session.getAttribute("map");
map.put("key","value");
%>
replicationMode = can be either 'pooled', 'synchronous' or 'asynchronous'.
* Pooled means that the replication happens using several sockets in a synchronous way. Ie, the data gets replicated, then the request return. This is the same as the 'synchronous' setting except it uses a pool of sockets, hence it is multithreaded. This is the fastest and safest configuration. To use this, also increase the nr of tcp threads that you have dealing with replication.
* Synchronous means that the thread that executes the request, is also the
thread the replicates the data to the other nodes, and will not return until all
nodes have received the information.
* Asynchronous means that there is a specific 'sender' thread for each cluster node,
so the request thread will queue the replication request into a "smart" queue,
and then return to the client.
The "smart" queue is a queue where when a session is added to the queue, and the same session
already exists in the queue from a previous request, that session will be replaced
in the queue instead of replicating two requests. This almost never happens, unless there is a
large network delay.
-->
<!--
When configuring for clustering, you also add in a valve to catch all the requests
coming in, at the end of the request, the session may or may not be replicated.
A session is replicated if and only if all the conditions are met:
1. useDirtyFlag is true or setAttribute or removeAttribute has been called AND
2. a session exists (has been created)
3. the request is not trapped by the "filter" attribute
The filter attribute is to filter out requests that could not modify the session,
hence we don't replicate the session after the end of this request.
The filter is negative, ie, anything you put in the filter, you mean to filter out,
ie, no replication will be done on requests that match one of the filters.
The filter attribute is delimited by ;, so you can't escape out ; even if you wanted to.
filter=".*\.gif;.*\.js;" means that we will not replicate the session after requests with the URI
ending with .gif and .js are intercepted.
The deployer element can be used to deploy apps cluster wide.
Currently the deployment only deploys/undeploys to working members in the cluster
so no WARs are copied upons startup of a broken node.
The deployer watches a directory (watchDir) for WAR files when watchEnabled="true"
When a new war file is added the war gets deployed to the local instance,
and then deployed to the other instances in the cluster.
When a war file is deleted from the watchDir the war is undeployed locally
and cluster wide
-->
<!--
<Cluster className="org.apache.catalina.cluster.tcp.SimpleTcpCluster"
managerClassName="org.apache.catalina.cluster.session.DeltaManager"
expireSessionsOnShutdown="false"
useDirtyFlag="true"
notifyListenersOnReplication="true">
<Membership
className="org.apache.catalina.cluster.mcast.McastService"
mcastAddr="228.0.0.4"
mcastPort="45564"
mcastFrequency="500"
mcastDropTime="3000"/>
<Receiver
className="org.apache.catalina.cluster.tcp.ReplicationListener"
tcpListenAddress="auto"
tcpListenPort="4001"
tcpSelectorTimeout="100"
tcpThreadCount="6"/>
<Sender
className="org.apache.catalina.cluster.tcp.ReplicationTransmitter"
replicationMode="pooled"
ackTimeout="15000"
waitForAck="true"/>
<Valve className="org.apache.catalina.cluster.tcp.ReplicationValve"
filter=".*\.gif;.*\.js;.*\.jpg;.*\.png;.*\.htm;.*\.html;.*\.css;.*\.txt;"/>
<Deployer className="org.apache.catalina.cluster.deploy.FarmWarDeployer"
tempDir="/tmp/war-temp/"
deployDir="/tmp/war-deploy/"
watchDir="/tmp/war-listen/"
watchEnabled="false"/>
<ClusterListener className="org.apache.catalina.cluster.session.ClusterSessionListener"/>
</Cluster>
-->
<!-- Normally, users must authenticate themselves to each web app
individually. Uncomment the following entry if you would like
a user to be authenticated the first time they encounter a
resource protected by a security constraint, and then have that
user identity maintained across *all* web applications contained
in this virtual host. -->
<!--
<Valve className="org.apache.catalina.authenticator.SingleSignOn" />
-->
<!-- Access log processes all requests for this virtual host. By
default, log files are created in the "logs" directory relative to
$CATALINA_HOME. If you wish, you can specify a different
directory with the "directory" attribute. Specify either a relative
(to $CATALINA_HOME) or absolute path to the desired directory.
-->
<!--
<Valve className="org.apache.catalina.valves.AccessLogValve"
directory="logs" prefix="localhost_access_log." suffix=".txt"
pattern="common" resolveHosts="false"/>
-->
<!-- Access log processes all requests for this virtual host. By
default, log files are created in the "logs" directory relative to
$CATALINA_HOME. If you wish, you can specify a different
directory with the "directory" attribute. Specify either a relative
(to $CATALINA_HOME) or absolute path to the desired directory.
This access log implementation is optimized for maximum performance,
but is hardcoded to support only the "common" and "combined" patterns.
-->
<!--
<Valve className="org.apache.catalina.valves.FastCommonAccessLogValve"
directory="logs" prefix="localhost_access_log." suffix=".txt"
pattern="common" resolveHosts="false"/>
-->
</Host>
</Engine>
</Service>
</Server>

View File

@ -1,305 +1,306 @@
#######################################################################
#
# Copyright (C) 2006 Novell, Inc.
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public
# License as published by the Free Software Foundation; either
# version 2 of the License, or (at your option) any later version.
#
# This program 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
# General Public License for more details.
#
# You should have received a copy of the GNU General Public
# License along with this program; if not, write to the Free
# Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
#
#
#######################################################################
AC_INIT(CASA_auth_token_svc, 1.7.1,,CASA_auth_token_svc)
AC_CONFIG_SRCDIR(autogen.sh)
AC_CANONICAL_SYSTEM
AM_INIT_AUTOMAKE(tar-pax)
RELEASE=`date +%Y%m%d_%H%M`
AC_SUBST(RELEASE)
AM_MAINTAINER_MODE
#
# Check for a valid C# compiler
#
#AC_CHECK_PROG(CSC, csc, csc)
#test -z "$CSC" && AC_CHECK_PROG(CSC, mcs, mcs)
#test -z "$CSC" && AC_MSG_ERROR([no acceptable C Sharp compiler found in \$PATH])
#
# Check for valid C# compiler in linux
#
case $host_os in
cygwin*)
;;
*)
AC_CHECK_PROG(CSC, csc, csc)
test -z "$CSC" && AC_CHECK_PROG(CSC, mcs, mcs)
test -z "$CSC" && AC_MSG_ERROR([no acceptable C Sharp compiler found in \$PATH])
;;
esac
case $CSC in
#
# Mono-specific configuration
#
mcs)
CSC_EXEFLAG=/target:exe
CSC_LIBFLAG=/target:library
CSC_EXEFLAG=/target:exe
CSC_WINEXEFLAG=/target:winexe
CSCFLAGS='/d:MONO /warn:4 /d:TRACE -d:LINUX'
CSCFLAGS_DEBUG="/debug+ /d:DEBUG"
CSCFLAGS_OPTIMIZE="/optimize+"
MONO=mono
MONO_DEBUG='mono --debug'
MONO_PATH=
SYSTEM_XML='System.Xml.dll'
;;
#
# .NET-specific configuration
#
csc)
CSC_EXEFLAG=/target:exe
CSC_LIBFLAG=/target:library
CSC_EXEFLAG=/target:exe
CSC_WINEXEFLAG=/target:winexe
CSCFLAGS='/d:DOTNET /warn:4 /d:TRACE /nologo'
CSCFLAGS_DEBUG="/debug+ /d:DEBUG"
CSCFLAGS_OPTIMIZE="/optimize+"
MONO=
MONO_DEBUG=
MONO_PATH=
SYSTEM_XML='System.XML.dll'
;;
esac
AC_SUBST(CSC)
AC_SUBST(CSC_EXEFLAG)
AC_SUBST(CSC_LIBFLAG)
AC_SUBST(CSC_WINEXEFLAG)
AC_SUBST(CSCFLAGS)
AC_SUBST(CSCFLAGS_DEBUG)
AC_SUBST(MONO)
AC_SUBST(MONO_PATH)
AC_SUBST(SYSTEM_XML)
SRCDIR='$(top_srcdir)'
DOCDIR="$SRCDIR/doc"
TOOLDIR='$(top_srcdir)/tools'
AC_SUBST(SRCDIR)
AC_SUBST(DOCDIR)
AC_SUBST(TOOLDIR)
EMPTY=
SPACE='$(EMPTY) $(EMPTY)'
AC_SUBST(EMPTY)
AC_SUBST(SPACE)
#
# Check for operating system and set TARGET_OS
#
case $host_os in
cygwin*)
TARGET_OS='windows'
;;
*)
TARGET_OS='linux'
;;
esac
AC_SUBST(TARGET_OS)
AM_CONDITIONAL(LINUX, test "$TARGET_OS" = "linux")
AM_CONDITIONAL(WINDOWS, test "$TARGET_OS" = "windows")
#
# Check for architecture and set TARGET_ARCH
# ia64 needs to be treated as non64.
case $target_cpu in
x86_64|p*pc64|s390x)
LIB=lib64
;;
*ia64|*)
LIB=lib
;;
esac
AC_SUBST(LIB)
AM_CONDITIONAL(LIB64, test "$LIB" = lib64)
#
#
# Set platform-specific variables
#
case $TARGET_OS in
#
# Linux-specific configuration
#
linux)
#
# Set variables
#
COMMON_CLEAN_FILES=''
ICON_EXT='.ico'
ICON_FLAG='/resource:'
PLATFORM_SUBDIRS=$LINUX_SUBDIRS
SEP='/'
LINK=gcc
;;
#
# Windows-specific configuration
#
windows)
COMMON_CLEAN_FILES='*.suo */*.suo *.csproj.user */*.csproj.user bin obj */bin */obj *.xml */*.xml *.pdb */*.pdb'
ICON_EXT='.ico'
ICON_FLAG='/win32icon:'
PLATFORM_SUBDIRS=$WINDOWS_SUBDIRS
SEP='$(EMPTY)\\$(EMPTY)'
LINK=link.exe
;;
esac
AC_SUBST(COMMON_CLEAN_FILES)
AC_SUBST(ICON_EXT)
AC_SUBST(ICON_FLAG)
AC_SUBST(PLATFORM_SUBDIRS)
AC_SUBST(SEP)
AC_SUBST(LINK)
#
# Run standard macros
#
AM_PROG_CC_STDC
AC_PROG_INSTALL
AC_HEADER_STDC
#######
#
# set CFLAGS
#
case $host_os in
linux*)
CFLAGS="$CFLAGS"
;;
cygwin*)
CC=cl.exe
CFLAGS="-D WIN32 -D SSCS_WIN32_PLAT_F -D N_PLAT_CLIENT -MT -Ox"
;;
esac
#
# Handle --enable-debug
#
AC_ARG_ENABLE(debug, [
--enable-debug configure the Makefiles to build in DEBUG mode],
[case "${enableval}" in
yes) enable_debug=true ;;
no) enable_debug=false ;;
*) AC_MSG_ERROR(bad value ${enableval} for --enable-debug) ;;
esac],[enable_debug=false])
AM_CONDITIONAL(DEBUG, test x$enable_debug = xtrue)
if test "$enable_debug" = "true"
then
# Build debug version.
# CFLAGS="$CFLAGS_DEBUG $CFLAGS -DDBG -DDEBUG"
CFLAGS="$CFLAGS_DEBUG $CFLAGS -g -DDBG -DDEBUG \
-fPIC -DPIC -DSSCS_LINUX_PLAT_F -O2 -fmessage-length=0 -Wall \
-D_REENTRANT -DALIGNMENT -DN_PLAT_UNIX \
-DUNIX -DLINUX -DIAPX38"
CSCFLAGS="$CSCFLAGS_DEBUG $CSCFLAGS"
CXXFLAGS="$CXXFLAGS_DEBUG $CXXFLAGS"
DEVENV_CONFIGURATION=Debug
MONO=$MONO_DEBUG
else
# Build optimized version.
CFLAGS="$CFLAGS_OPTIMIZE $CFLAGS -g -fPIC -DPIC \
-DSSCS_LINUX_PLAT_F -O2 -fmessage-length=0 -Wall \
-D_REENTRANT -DALIGNMENT -DN_PLAT_UNIX \
-DUNIX -DLINUX -DIAPX38"
CSCFLAGS="$CSCFLAGS_OPTIMIZE $CSCFLAGS"
CXXFLAGS="$CXXFLAGS_OPTIMIZE $CXXFLAGS"
DEVENV_CONFIGURATION=Release
fi
AC_SUBST(CSCFLAGS)
AC_SUBST(DEVENV_CONFIGURATION)
##comment out due to build failure
# Check for GCC version to add fstack-protector flag
#
#GCC_VER="`gcc -dumpversion`"
#case "$GCC_VER" in
# 3*)
# ;;
# 4*)
# CFLAGS="$CFLAGS -fstack-protector"
# ;;
# *)
# ;;
#esac
AC_SUBST(GCC_VER)
#
# Configure PKG_CONFIG
#
AC_PATH_PROG(PKG_CONFIG, pkg-config, no)
if test "x$PKG_CONFIG" = "xno"; then
AC_MSG_ERROR([You need to install pkg-config])
fi
#
# Configure files
#
AC_OUTPUT([
Makefile
package/Makefile
package/linux/Makefile
package/linux/CASA_auth_token_svc.spec
package/linux/CASA_auth_token_svc_4zen.spec
package/windows/Makefile
package/windows/ClientKeystoreSetup/Makefile
package/windows/InitConfigFile/Makefile
package/windows/MungeCryptoPropertiesFilePath/Makefile
package/windows/ServerKeystoreSetup/Makefile
package/windows/SetupAsWindowsService/Makefile
package/windows/UpdateWarFile/Makefile
package/windows/server-java_msi/Makefile
Svc/Makefile
Svc/external/Makefile
Svc/src/Makefile
Svc/src/com/Makefile
Svc/src/com/novell/Makefile
Svc/src/com/novell/casa/Makefile
Svc/src/com/novell/casa/authtoksvc/Makefile
Svc/tomcat5/Makefile
Svc/tomcat5/conf/Makefile
Svc/tomcat5/conf/Catalina/Makefile
Svc/tomcat5/conf/Catalina/localhost/Makefile
Svc/tomcat5/conf/linux/Makefile
Svc/tomcat5/conf/linux/zen/Makefile
Svc/tomcat5/conf/windows/Makefile
Svc/linux/Makefile
Svc/templates/Makefile
Svc/manifest/Makefile
Svc/windows/Makefile
Jaas/Makefile
Jaas/src/Makefile
Jaas/src/com/Makefile
Jaas/src/com/novell/Makefile
Jaas/src/com/novell/casa/Makefile
Jaas/src/com/novell/casa/jaas/Makefile
Jaas/src/com/novell/casa/jaas/sample/Makefile
Jaas/linux/Makefile
Jaas/windows/Makefile
])
#######################################################################
#
# Copyright (C) 2006 Novell, Inc.
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public
# License as published by the Free Software Foundation; either
# version 2 of the License, or (at your option) any later version.
#
# This program 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
# General Public License for more details.
#
# You should have received a copy of the GNU General Public
# License along with this program; if not, write to the Free
# Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
#
#
#######################################################################
AC_INIT(CASA_auth_token_svc, 1.7.1,,CASA_auth_token_svc)
AC_CONFIG_SRCDIR(autogen.sh)
AC_CANONICAL_SYSTEM
AM_INIT_AUTOMAKE(tar-pax)
RELEASE=`date +%Y%m%d_%H%M`
AC_SUBST(RELEASE)
AM_MAINTAINER_MODE
#
# Check for a valid C# compiler
#
#AC_CHECK_PROG(CSC, csc, csc)
#test -z "$CSC" && AC_CHECK_PROG(CSC, mcs, mcs)
#test -z "$CSC" && AC_MSG_ERROR([no acceptable C Sharp compiler found in \$PATH])
#
# Check for valid C# compiler in linux
#
case $host_os in
cygwin*)
;;
*)
AC_CHECK_PROG(CSC, csc, csc)
test -z "$CSC" && AC_CHECK_PROG(CSC, mcs, mcs)
test -z "$CSC" && AC_MSG_ERROR([no acceptable C Sharp compiler found in \$PATH])
;;
esac
case $CSC in
#
# Mono-specific configuration
#
mcs)
CSC_EXEFLAG=/target:exe
CSC_LIBFLAG=/target:library
CSC_EXEFLAG=/target:exe
CSC_WINEXEFLAG=/target:winexe
CSCFLAGS='/d:MONO /warn:4 /d:TRACE -d:LINUX'
CSCFLAGS_DEBUG="/debug+ /d:DEBUG"
CSCFLAGS_OPTIMIZE="/optimize+"
MONO=mono
MONO_DEBUG='mono --debug'
MONO_PATH=
SYSTEM_XML='System.Xml.dll'
;;
#
# .NET-specific configuration
#
csc)
CSC_EXEFLAG=/target:exe
CSC_LIBFLAG=/target:library
CSC_EXEFLAG=/target:exe
CSC_WINEXEFLAG=/target:winexe
CSCFLAGS='/d:DOTNET /warn:4 /d:TRACE /nologo'
CSCFLAGS_DEBUG="/debug+ /d:DEBUG"
CSCFLAGS_OPTIMIZE="/optimize+"
MONO=
MONO_DEBUG=
MONO_PATH=
SYSTEM_XML='System.XML.dll'
;;
esac
AC_SUBST(CSC)
AC_SUBST(CSC_EXEFLAG)
AC_SUBST(CSC_LIBFLAG)
AC_SUBST(CSC_WINEXEFLAG)
AC_SUBST(CSCFLAGS)
AC_SUBST(CSCFLAGS_DEBUG)
AC_SUBST(MONO)
AC_SUBST(MONO_PATH)
AC_SUBST(SYSTEM_XML)
SRCDIR='$(top_srcdir)'
DOCDIR="$SRCDIR/doc"
TOOLDIR='$(top_srcdir)/tools'
AC_SUBST(SRCDIR)
AC_SUBST(DOCDIR)
AC_SUBST(TOOLDIR)
EMPTY=
SPACE='$(EMPTY) $(EMPTY)'
AC_SUBST(EMPTY)
AC_SUBST(SPACE)
#
# Check for operating system and set TARGET_OS
#
case $host_os in
cygwin*)
TARGET_OS='windows'
;;
*)
TARGET_OS='linux'
;;
esac
AC_SUBST(TARGET_OS)
AM_CONDITIONAL(LINUX, test "$TARGET_OS" = "linux")
AM_CONDITIONAL(WINDOWS, test "$TARGET_OS" = "windows")
#
# Check for architecture and set TARGET_ARCH
# ia64 needs to be treated as non64.
case $target_cpu in
x86_64|p*pc64|s390x)
LIB=lib64
;;
*ia64|*)
LIB=lib
;;
esac
AC_SUBST(LIB)
AM_CONDITIONAL(LIB64, test "$LIB" = lib64)
#
#
# Set platform-specific variables
#
case $TARGET_OS in
#
# Linux-specific configuration
#
linux)
#
# Set variables
#
COMMON_CLEAN_FILES=''
ICON_EXT='.ico'
ICON_FLAG='/resource:'
PLATFORM_SUBDIRS=$LINUX_SUBDIRS
SEP='/'
LINK=gcc
;;
#
# Windows-specific configuration
#
windows)
COMMON_CLEAN_FILES='*.suo */*.suo *.csproj.user */*.csproj.user bin obj */bin */obj *.xml */*.xml *.pdb */*.pdb'
ICON_EXT='.ico'
ICON_FLAG='/win32icon:'
PLATFORM_SUBDIRS=$WINDOWS_SUBDIRS
SEP='$(EMPTY)\\$(EMPTY)'
LINK=link.exe
;;
esac
AC_SUBST(COMMON_CLEAN_FILES)
AC_SUBST(ICON_EXT)
AC_SUBST(ICON_FLAG)
AC_SUBST(PLATFORM_SUBDIRS)
AC_SUBST(SEP)
AC_SUBST(LINK)
#
# Run standard macros
#
AM_PROG_CC_STDC
AC_PROG_INSTALL
AC_HEADER_STDC
#######
#
# set CFLAGS
#
case $host_os in
linux*)
CFLAGS="$CFLAGS"
;;
cygwin*)
CC=cl.exe
CFLAGS="-D WIN32 -D SSCS_WIN32_PLAT_F -D N_PLAT_CLIENT -MT -Ox"
;;
esac
#
# Handle --enable-debug
#
AC_ARG_ENABLE(debug, [
--enable-debug configure the Makefiles to build in DEBUG mode],
[case "${enableval}" in
yes) enable_debug=true ;;
no) enable_debug=false ;;
*) AC_MSG_ERROR(bad value ${enableval} for --enable-debug) ;;
esac],[enable_debug=false])
AM_CONDITIONAL(DEBUG, test x$enable_debug = xtrue)
if test "$enable_debug" = "true"
then
# Build debug version.
# CFLAGS="$CFLAGS_DEBUG $CFLAGS -DDBG -DDEBUG"
CFLAGS="$CFLAGS_DEBUG $CFLAGS -g -DDBG -DDEBUG \
-fPIC -DPIC -DSSCS_LINUX_PLAT_F -O2 -fmessage-length=0 -Wall \
-D_REENTRANT -DALIGNMENT -DN_PLAT_UNIX \
-DUNIX -DLINUX -DIAPX38"
CSCFLAGS="$CSCFLAGS_DEBUG $CSCFLAGS"
CXXFLAGS="$CXXFLAGS_DEBUG $CXXFLAGS"
DEVENV_CONFIGURATION=Debug
MONO=$MONO_DEBUG
else
# Build optimized version.
CFLAGS="$CFLAGS_OPTIMIZE $CFLAGS -g -fPIC -DPIC \
-DSSCS_LINUX_PLAT_F -O2 -fmessage-length=0 -Wall \
-D_REENTRANT -DALIGNMENT -DN_PLAT_UNIX \
-DUNIX -DLINUX -DIAPX38"
CSCFLAGS="$CSCFLAGS_OPTIMIZE $CSCFLAGS"
CXXFLAGS="$CXXFLAGS_OPTIMIZE $CXXFLAGS"
DEVENV_CONFIGURATION=Release
fi
AC_SUBST(CSCFLAGS)
AC_SUBST(DEVENV_CONFIGURATION)
##comment out due to build failure
# Check for GCC version to add fstack-protector flag
#
#GCC_VER="`gcc -dumpversion`"
#case "$GCC_VER" in
# 3*)
# ;;
# 4*)
# CFLAGS="$CFLAGS -fstack-protector"
# ;;
# *)
# ;;
#esac
AC_SUBST(GCC_VER)
#
# Configure PKG_CONFIG
#
AC_PATH_PROG(PKG_CONFIG, pkg-config, no)
if test "x$PKG_CONFIG" = "xno"; then
AC_MSG_ERROR([You need to install pkg-config])
fi
#
# Configure files
#
AC_OUTPUT([
Makefile
package/Makefile
package/linux/Makefile
package/linux/CASA_auth_token_svc.spec
package/linux/CASA_auth_token_svc_4zen.spec
package/windows/Makefile
package/windows/ClientKeystoreSetup/Makefile
package/windows/CommandLauncher/Makefile
package/windows/InitConfigFile/Makefile
package/windows/MungeCryptoPropertiesFilePath/Makefile
package/windows/ServerKeystoreSetup/Makefile
package/windows/SetupAsWindowsService/Makefile
package/windows/UpdateWarFile/Makefile
package/windows/server-java_msi/Makefile
Svc/Makefile
Svc/external/Makefile
Svc/src/Makefile
Svc/src/com/Makefile
Svc/src/com/novell/Makefile
Svc/src/com/novell/casa/Makefile
Svc/src/com/novell/casa/authtoksvc/Makefile
Svc/tomcat5/Makefile
Svc/tomcat5/conf/Makefile
Svc/tomcat5/conf/Catalina/Makefile
Svc/tomcat5/conf/Catalina/localhost/Makefile
Svc/tomcat5/conf/linux/Makefile
Svc/tomcat5/conf/linux/zen/Makefile
Svc/tomcat5/conf/windows/Makefile
Svc/linux/Makefile
Svc/templates/Makefile
Svc/manifest/Makefile
Svc/windows/Makefile
Jaas/Makefile
Jaas/src/Makefile
Jaas/src/com/Makefile
Jaas/src/com/novell/Makefile
Jaas/src/com/novell/casa/Makefile
Jaas/src/com/novell/casa/jaas/Makefile
Jaas/src/com/novell/casa/jaas/sample/Makefile
Jaas/linux/Makefile
Jaas/windows/Makefile
])

View File

@ -1,373 +1,372 @@
/***********************************************************************
*
* Copyright (C) 2006 Novell, Inc. All Rights Reserved.
*
* This library 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; version 2.1
* of the License.
*
* This library 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
* Library Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, Novell, Inc.
*
* To contact Novell about this file by physical or electronic mail,
* you may find current contact information at www.novell.com.
*
* Author: Juan Carlos Luciani <jluciani@novell.com>
*
***********************************************************************/
package ClientKeystoreSetup;
// $KEYTOOL_PATH -import -noprompt -keystore /etc/CASA/authtoken/keys/client/jks-store -alias signingCert -storepass secret -keypass secret -file /etc/CASA/authtoken/keys/casaatsdSigningCert
import java.io.*;
import java.util.*;
public class Program
{
final static int ERROR_NO_ERROR = 0;
final static int ERROR_EXEC_FAILED = -1;
final static int ERROR_INVALID_NUMBER_OF_PARAMS = -2;
final static int ERROR_BAD_INSTALL_DIR_PARAM = -3;
final static int ERROR_MISSING_INSTALL_DIR = -4;
final static int ERROR_INSTALL_DIR_NOT_A_DIR = -5;
final static int ERROR_BAD_PROPERTY_FILE_PARAM = -6;
final static int ERROR_MISSING_PROPERTIES_FILE = -7;
final static int ERROR_UNABLE_TO_READ_PROPERTIES = -8;
final static int ERROR_UNKNOWN_PARAM = -9;
final static int ERROR_MISSING_INSTALL_DIR_PARAM = -10;
final static int ERROR_REQUIRED_VALUE_MISSING = -11;
final static int ERROR_EXEC_INTERRUPTED = -12;
final static String INSTALL_DIR = "installdir=";
final static String PROPERTY_FILE = "propertyfile=";
String sInstallDir;
Properties properties;
// debug stuff
File file;
FileWriter fw;
public static void main(String[] args)
{
Program p = new Program(args);
p = null;
}
Program(String[] args)
{
int rc;
try
{
// DEBUG STUFF
file = new File("c:\\test4.log");
fw = new FileWriter(file);
log("Here we go again: " + args.length);
for (int i = 0; i < args.length; i++)
{
log("Arg " + i + " = " + args[i] + "\r\n");
}
// DEBUG STUFF
// Process the input params
if (ERROR_NO_ERROR == (rc = processArgs(args)))
{
// Make sure we got everything we need
if (ERROR_NO_ERROR == (rc = findRequiredValues()))
{
// Make sure the client keystore has been created
rc = createClientKeystore();
}
}
// DEBUG STUFF
log(rc);
fw.flush();
fw.close();
// DEBUG STUFF
}
catch (IOException e)
{
rc = -54;//ERROR_IO_EXCEPTION;
}
System.exit(rc);
}
int processArgs(String[] args)
{
String sProperties;
File fileInstallDir = null;
File fileProperties = null;
FileInputStream fisProperties = null;
int i;
// Validate the number of parameters
if (args.length < 2)
{
return ERROR_INVALID_NUMBER_OF_PARAMS;
}
for (i = 0; i < args.length; i++)
{
// is this the install dir param?
if (args[i].startsWith(INSTALL_DIR))
{
// Make sure it is more the the param tag
if (args[i].length() <= INSTALL_DIR.length())
{
return ERROR_BAD_INSTALL_DIR_PARAM;
}
sInstallDir = args[i].substring(INSTALL_DIR.length()).trim();
fileInstallDir = new File(sInstallDir);
// Make sure the install dir can be found
if (!fileInstallDir.exists())
{
return ERROR_MISSING_INSTALL_DIR;
}
// Make sure the install dir is a directory
if (!fileInstallDir.isDirectory())
{
return ERROR_INSTALL_DIR_NOT_A_DIR;
}
}
// is this the properties file param?
else if (args[i].startsWith(PROPERTY_FILE))
{
// Make sure it is more the the param tag
if (args[i].length() <= PROPERTY_FILE.length())
{
return ERROR_BAD_PROPERTY_FILE_PARAM;
}
sProperties = args[i].substring(PROPERTY_FILE.length()).trim();
fileProperties = new File(sProperties);
// Make sure the properties file can be found
if (!fileProperties.exists())
{
return ERROR_MISSING_PROPERTIES_FILE;
}
// Read the properties
try
{
fisProperties = new FileInputStream(fileProperties);
properties = new Properties();
properties.load(fisProperties);
}
catch (IOException ioe)
{
return ERROR_UNABLE_TO_READ_PROPERTIES;
}
}
// Unknown parameter
else
{
log(ERROR_UNKNOWN_PARAM, args[i]);
return ERROR_UNKNOWN_PARAM;
}
}
// Make sure we got an install dir
if (null == fileInstallDir)
{
return ERROR_MISSING_INSTALL_DIR_PARAM;
}
return ERROR_NO_ERROR;
}
int findRequiredValues()
{
String[] rgsRequired = {
"ATS_JAVA_HOME"};
int i;
String sValue;
for (i = 0; i < rgsRequired.length; i++)
{
log("look for required value: " + rgsRequired[i]);
if (!properties.containsKey(rgsRequired[i]))
{
log("look for required value in envirement: " + rgsRequired[i]);
if (null == (sValue = System.getProperty(rgsRequired[i])))
{
log("unable to find required value in envirement: " + rgsRequired[i]);
return ERROR_REQUIRED_VALUE_MISSING;
}
log("found required value in envirement: " + rgsRequired[i] + " = " + sValue);
properties.put(rgsRequired[i], sValue);
}
log("found required value: " + rgsRequired[i] + " = " + properties.get(rgsRequired[i]));
}
return ERROR_NO_ERROR;
}
int createClientKeystore()
{
int rc;
String sKeytool = properties.get("ATS_JAVA_HOME") + "\\bin\\keytool.exe";
log("keytool = " + sKeytool);
// Do not do anything if the server keystore has already been created
if (keyStoreAlreadyExists())
{
return ERROR_NO_ERROR;
}
// Import the servers certificate in the client keystore
rc = invokeCommand(sKeytool + " -import -noprompt -keystore " +
sInstallDir + "ats\\etc\\keys\\client\\jks-store -alias signingCert -storepass secret -keypass secret -file " +
sInstallDir + "ats\\etc\\keys\\casaatsdSigningCert");
return rc;
}
boolean keyStoreAlreadyExists()
{
File fileKeystore = new File(sInstallDir + "ats\\etc\\keys\\client\\jks-store");
// Why is this always returning true? exists() also always returns true.
// log("keystore (" + sInstallDir + "ats\\etc\\keys\\client\\jks-store" + ") already exists = " + (file.isFile()));
// return (file.isFile());
File fileParent = fileKeystore.getParentFile();
String[] rgChildren = fileParent.list();
if (null != rgChildren)
{
for (int i = 0; i < rgChildren.length; i++)
{
log("child " + i + " = " + rgChildren[i]);
if ("jks-store".equals(rgChildren[i]))
{
return true;
}
}
}
return false;
}
int invokeCommand(String sCommand)
{
Process p;
int rc;
log("invoke command: " + sCommand);
Runtime runtime = Runtime.getRuntime();
try
{
p = runtime.exec(sCommand);
try
{
rc = p.waitFor();
log("invoke command return code: " + rc);
}
catch (InterruptedException ie)
{
log(ERROR_EXEC_INTERRUPTED, sCommand);
return ERROR_EXEC_INTERRUPTED;
}
}
catch (IOException e)
{
log("Ioexception");
return ERROR_EXEC_FAILED;
}
return ERROR_NO_ERROR;
}
void log(int err)
{
log(err, null);
}
void log(int err, String s)
{
String sMessage = "";
switch (err)
{
case ERROR_NO_ERROR:
sMessage = "No error";
break;
case ERROR_EXEC_FAILED:
sMessage = "Execute command failed ";
break;
case ERROR_INVALID_NUMBER_OF_PARAMS:
sMessage = "Invalid number of params";
break;
case ERROR_BAD_INSTALL_DIR_PARAM:
sMessage = "Install dir parameter is bad";
break;
case ERROR_MISSING_INSTALL_DIR:
sMessage = "Missing install dir";
break;
case ERROR_INSTALL_DIR_NOT_A_DIR:
sMessage = "Install dir is not a dir";
break;
case ERROR_BAD_PROPERTY_FILE_PARAM:
sMessage = "Invalid porperty file parameter";
break;
case ERROR_MISSING_PROPERTIES_FILE:
sMessage = "Property file not found";
break;
case ERROR_UNABLE_TO_READ_PROPERTIES:
sMessage = "Unable to read property file";
break;
case ERROR_UNKNOWN_PARAM:
sMessage = "Unknown parameter: ";
break;
case ERROR_MISSING_INSTALL_DIR_PARAM:
sMessage = "Install dir parameter is missing";
break;
case ERROR_REQUIRED_VALUE_MISSING:
sMessage = "Required value is missing ";
break;
case ERROR_EXEC_INTERRUPTED:
sMessage = "Execution iinterrupted: ";
break;
default:
sMessage = "Unknown error";
break;
}
if (null != s)
{
sMessage = sMessage + s;
}
log(sMessage);
}
void log(String s)
{
try
{
fw.write(this.getClass().getName() + ": " + s + "\r\n");
}
catch (IOException ioe)
{
}
}
}
/***********************************************************************
*
* Copyright (C) 2006 Novell, Inc. All Rights Reserved.
*
* This library 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; version 2.1
* of the License.
*
* This library 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
* Library Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, Novell, Inc.
*
* To contact Novell about this file by physical or electronic mail,
* you may find current contact information at www.novell.com.
*
* Author: Juan Carlos Luciani <jluciani@novell.com>
*
***********************************************************************/
import java.io.*;
import java.util.*;
public class ClientKeystoreSetup
{
final static int ERROR_NO_ERROR = 0;
final static int ERROR_EXEC_FAILED = -1;
final static int ERROR_INVALID_NUMBER_OF_PARAMS = -2;
final static int ERROR_BAD_INSTALL_DIR_PARAM = -3;
final static int ERROR_MISSING_INSTALL_DIR = -4;
final static int ERROR_INSTALL_DIR_NOT_A_DIR = -5;
final static int ERROR_BAD_PROPERTY_FILE_PARAM = -6;
final static int ERROR_MISSING_PROPERTIES_FILE = -7;
final static int ERROR_UNABLE_TO_READ_PROPERTIES = -8;
final static int ERROR_UNKNOWN_PARAM = -9;
final static int ERROR_MISSING_INSTALL_DIR_PARAM = -10;
final static int ERROR_REQUIRED_VALUE_MISSING = -11;
final static int ERROR_EXEC_INTERRUPTED = -12;
final static int ERROR_IO_EXCEPTION = -13;
final static String INSTALL_DIR = "installdir=";
final static String PROPERTY_FILE = "propertyfile=";
String sInstallDir;
Properties properties;
// debug stuff
File file;
FileWriter fw;
public static void main(String[] args)
{
ClientKeystoreSetup p = new ClientKeystoreSetup(args);
p = null;
}
ClientKeystoreSetup(String[] args)
{
int rc;
try
{
// DEBUG STUFF
file = new File("c:\\test4.log");
fw = new FileWriter(file);
log("Here we go again: " + args.length);
for (int i = 0; i < args.length; i++)
{
log("Arg " + i + " = " + args[i] + "\r\n");
}
// DEBUG STUFF
// Process the input params
if (ERROR_NO_ERROR == (rc = processArgs(args)))
{
// Make sure we got everything we need
if (ERROR_NO_ERROR == (rc = findRequiredValues()))
{
// Make sure the client keystore has been created
rc = createClientKeystore();
}
}
// DEBUG STUFF
log(rc);
fw.flush();
fw.close();
// DEBUG STUFF
}
catch (IOException e)
{
rc = ERROR_IO_EXCEPTION;
}
System.exit(rc);
}
int processArgs(String[] args)
{
String sProperties;
File fileInstallDir = null;
File fileProperties = null;
FileInputStream fisProperties = null;
int i;
// Validate the number of parameters
if (args.length < 2)
{
return ERROR_INVALID_NUMBER_OF_PARAMS;
}
for (i = 0; i < args.length; i++)
{
// is this the install dir param?
if (args[i].startsWith(INSTALL_DIR))
{
// Make sure it is more the the param tag
if (args[i].length() <= INSTALL_DIR.length())
{
return ERROR_BAD_INSTALL_DIR_PARAM;
}
sInstallDir = args[i].substring(INSTALL_DIR.length()).trim();
fileInstallDir = new File(sInstallDir);
// Make sure the install dir can be found
if (!fileInstallDir.exists())
{
return ERROR_MISSING_INSTALL_DIR;
}
// Make sure the install dir is a directory
if (!fileInstallDir.isDirectory())
{
return ERROR_INSTALL_DIR_NOT_A_DIR;
}
}
// is this the properties file param?
else if (args[i].startsWith(PROPERTY_FILE))
{
// Make sure it is more the the param tag
if (args[i].length() <= PROPERTY_FILE.length())
{
return ERROR_BAD_PROPERTY_FILE_PARAM;
}
sProperties = args[i].substring(PROPERTY_FILE.length()).trim();
fileProperties = new File(sProperties);
// Make sure the properties file can be found
if (!fileProperties.exists())
{
return ERROR_MISSING_PROPERTIES_FILE;
}
// Read the properties
try
{
fisProperties = new FileInputStream(fileProperties);
properties = new Properties();
properties.load(fisProperties);
}
catch (IOException ioe)
{
return ERROR_UNABLE_TO_READ_PROPERTIES;
}
}
// Unknown parameter
else
{
log(ERROR_UNKNOWN_PARAM, args[i]);
return ERROR_UNKNOWN_PARAM;
}
}
// Make sure we got an install dir
if (null == fileInstallDir)
{
return ERROR_MISSING_INSTALL_DIR_PARAM;
}
return ERROR_NO_ERROR;
}
int findRequiredValues()
{
String[] rgsRequired = {
"ATS_JAVA_HOME"};
int i;
String sValue;
for (i = 0; i < rgsRequired.length; i++)
{
log("look for required value: " + rgsRequired[i]);
if (!properties.containsKey(rgsRequired[i]))
{
log("look for required value in envirement: " + rgsRequired[i]);
if (null == (sValue = System.getProperty(rgsRequired[i])))
{
log("unable to find required value in envirement: " + rgsRequired[i]);
return ERROR_REQUIRED_VALUE_MISSING;
}
log("found required value in envirement: " + rgsRequired[i] + " = " + sValue);
properties.put(rgsRequired[i], sValue);
}
log("found required value: " + rgsRequired[i] + " = " + properties.get(rgsRequired[i]));
}
return ERROR_NO_ERROR;
}
int createClientKeystore()
{
int rc;
String sKeytool = properties.get("ATS_JAVA_HOME") + "\\bin\\keytool.exe";
log("keytool = " + sKeytool);
// Do not do anything if the server keystore has already been created
if (keyStoreAlreadyExists())
{
return ERROR_NO_ERROR;
}
// Import the servers certificate in the client keystore
rc = invokeCommand(sKeytool + " -import -noprompt -keystore " +
sInstallDir + "ats\\etc\\keys\\client\\jks-store -alias signingCert -storepass secret -keypass secret -file " +
sInstallDir + "ats\\etc\\keys\\casaatsdSigningCert");
return rc;
}
boolean keyStoreAlreadyExists()
{
File fileKeystore = new File(sInstallDir + "ats\\etc\\keys\\client\\jks-store");
// Why is this always returning true? exists() also always returns true.
// log("keystore (" + sInstallDir + "ats\\etc\\keys\\client\\jks-store" + ") already exists = " + (file.isFile()));
// return (file.isFile());
File fileParent = fileKeystore.getParentFile();
String[] rgChildren = fileParent.list();
if (null != rgChildren)
{
for (int i = 0; i < rgChildren.length; i++)
{
log("child " + i + " = " + rgChildren[i]);
if ("jks-store".equals(rgChildren[i]))
{
return true;
}
}
}
return false;
}
int invokeCommand(String sCommand)
{
Process p;
int rc;
log("invoke command: " + sCommand);
Runtime runtime = Runtime.getRuntime();
try
{
p = runtime.exec(sCommand);
try
{
rc = p.waitFor();
log("invoke command return code: " + rc);
}
catch (InterruptedException ie)
{
log(ERROR_EXEC_INTERRUPTED, sCommand);
return ERROR_EXEC_INTERRUPTED;
}
}
catch (IOException e)
{
log("Ioexception");
return ERROR_EXEC_FAILED;
}
return ERROR_NO_ERROR;
}
void log(int err)
{
log(err, null);
}
void log(int err, String s)
{
String sMessage = "";
switch (err)
{
case ERROR_NO_ERROR:
sMessage = "No error";
break;
case ERROR_EXEC_FAILED:
sMessage = "Execute command failed ";
break;
case ERROR_INVALID_NUMBER_OF_PARAMS:
sMessage = "Invalid number of params";
break;
case ERROR_BAD_INSTALL_DIR_PARAM:
sMessage = "Install dir parameter is bad";
break;
case ERROR_MISSING_INSTALL_DIR:
sMessage = "Missing install dir";
break;
case ERROR_INSTALL_DIR_NOT_A_DIR:
sMessage = "Install dir is not a dir";
break;
case ERROR_BAD_PROPERTY_FILE_PARAM:
sMessage = "Invalid porperty file parameter";
break;
case ERROR_MISSING_PROPERTIES_FILE:
sMessage = "Property file not found";
break;
case ERROR_UNABLE_TO_READ_PROPERTIES:
sMessage = "Unable to read property file";
break;
case ERROR_UNKNOWN_PARAM:
sMessage = "Unknown parameter: ";
break;
case ERROR_MISSING_INSTALL_DIR_PARAM:
sMessage = "Install dir parameter is missing";
break;
case ERROR_REQUIRED_VALUE_MISSING:
sMessage = "Required value is missing ";
break;
case ERROR_EXEC_INTERRUPTED:
sMessage = "Execution iinterrupted: ";
break;
case ERROR_IO_EXCEPTION:
sMessage = "IOException ";
break;
default:
sMessage = "Unknown error";
break;
}
if (null != s)
{
sMessage = sMessage + s;
}
log(sMessage);
}
void log(String s)
{
try
{
fw.write(this.getClass().getName() + ": " + s + "\r\n");
}
catch (IOException ioe)
{
}
}
}

View File

@ -1,47 +0,0 @@
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">x86</Platform>
<ProductVersion>8.0.50727</ProductVersion>
<SchemaVersion>2.0</SchemaVersion>
<ProjectGuid>{89D5D921-A2E6-4ED9-A724-8C7DAAC09AC5}</ProjectGuid>
<OutputType>Exe</OutputType>
<RootNamespace>ClientKeystoreSetup</RootNamespace>
<AssemblyName>ClientKeystoreSetup</AssemblyName>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|x86' ">
<DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType>
<Optimize>false</Optimize>
<OutputPath>bin\Debug\</OutputPath>
<DefineConstants>DEBUG;TRACE</DefineConstants>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|x86' ">
<DebugType>pdbonly</DebugType>
<Optimize>true</Optimize>
<OutputPath>bin\Release\</OutputPath>
<DefineConstants>TRACE</DefineConstants>
</PropertyGroup>
<ItemGroup>
<Reference Include="System" />
<Reference Include="System.Data" />
<Reference Include="System.Xml" />
</ItemGroup>
<ItemGroup>
<Compile Include="Program.jsl" />
<Compile Include="Properties\AssemblyInfo.jsl" />
</ItemGroup>
<Import Project="$(MSBuildBinPath)\Microsoft.VisualJSharp.targets" />
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
Other similar extension points exist, see Microsoft.Common.targets.
<Target Name="BeforeBuild">
</Target>
<Target Name="AfterBuild">
</Target>
-->
<PropertyGroup>
<PostBuildEvent>
</PostBuildEvent>
</PropertyGroup>
</Project>

View File

@ -1,69 +1,77 @@
#######################################################################
#
# Copyright (C) 2004 Novell, Inc.
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public
# License as published by the Free Software Foundation; either
# version 2 of the License, or (at your option) any later version.
#
# This program 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
# General Public License for more details.
#
# You should have received a copy of the GNU General Public
# License along with this program; if not, write to the Free
# Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
#
# Author: Greg Richardson <grichardson@novell.com>
#
#######################################################################
SUBDIRS =
DIST_SUBDIRS =
EXTRA_DIST = ClientKeystoreSetup.vjsproj Program.jsl
if DEBUG
TARGET_CFG = Debug
else
TARGET_CFG = Release
endif
PACKAGE = ClientKeystoreSetup
TARGET_FILE = $(PACKAGE).exe
LOG_FILE = $(PACKAGE).log
.PHONY: package package-clean package-install package-uninstall devenv
package: $(TARGET_FILE)
devenv:
@if ! test -x "$(VSINSTALLDIR)/Common7/IDE/devenv.exe"; then echo "Error: Microsoft Visual Studio .NET is currently required to build MSI and MSM packages"; exit 1; fi
$(TARGET_FILE): devenv
@rm -f $(LOG_FILE) $@
@CMD='"$(VSINSTALLDIR)/Common7/IDE/devenv.exe" ../server-java_msi/server-java_msi.sln /build $(TARGET_CFG) /project $(PACKAGE) /out $(LOG_FILE)'; \
echo $$CMD; \
if eval $$CMD; then \
ls -l bin/$(TARGET_CFG)/$(TARGET_FILE); \
else \
grep -a "ERROR:" $(LOG_FILE); \
fi
package-clean clean-local:
rm -rf Release/* Release Debug/* Debug*/Release */Debug *.log *.suo
clean:
rm -rf Release/* Release Debug/* Debug */Release */Debug *.log *.suo
distclean-local: package-clean
rm -f Makefile
maintainer-clean-local:
rm -f Makefile.in
#######################################################################
#
# Copyright (C) 2004 Novell, Inc.
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public
# License as published by the Free Software Foundation; either
# version 2 of the License, or (at your option) any later version.
#
# This program 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
# General Public License for more details.
#
# You should have received a copy of the GNU General Public
# License along with this program; if not, write to the Free
# Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
#
# Author: Greg Richardson <grichardson@novell.com>
#
#######################################################################
SUBDIRS =
DIST_SUBDIRS =
EXTRA_DIST = ClientKeystoreSetup.java
if DEBUG
TARGET_CFG = Debug
DEBUG = -g
else
TARGET_CFG = Release
DEBUG = -g:none
endif
PACKAGE = ClientKeystoreSetup
TARGET_FILE = $(PACKAGE).class
LOG_FILE = $(PACKAGE).log
JAVAFILES = ClientKeystoreSetup.java
CLASSES = $(addprefix $(BUILDDIR)/, $(JAVAFILES:%.java=%.class))
BUILDDIR = bin/$(TARGET_CFG)
.PHONY: package package-clean package-install package-uninstall
all: $(BUILDDIR) $(CLASSES)
$(BUILDDIR)/%.class: %.java
@rm -f $(LOG_FILE) $@
@echo [======== Compiling $@ ========]
@javac $(DEBUG) -d $(BUILDDIR) $< 2> $(LOG_FILE)
@echo $$CMD; \
if eval $$CMD; then \
ls -l $(BUILDDIR)/$(TARGET_FILE); \
cp $(BUILDDIR)/$(TARGET_FILE) bin; \
else \
grep -a "ERROR:" $(LOG_FILE); \
fi
$(BUILDDIR):
[ -d $(BUILDDIR) ] || mkdir -p $(BUILDDIR)
package-clean clean-local:
rm -rf bin/Release/* bin/Release bin/Debug/* bin/Debug bin/* bin *.log
clean:
rm -rf bin/Release/* bin/Release bin/Debug/* bin/Debug bin/* bin *.log
distclean-local: package-clean
rm -f Makefile
maintainer-clean-local:
rm -f Makefile.in

View File

@ -1,36 +0,0 @@
import System.Reflection.*;
import System.Runtime.CompilerServices.*;
import System.Runtime.InteropServices.*;
//
// General Information about an assembly is controlled through the following
// set of attributes. Change these attribute values to modify the information
// associated with an assembly.
//
/** @assembly AssemblyTitle("ClientKeystoreSetup") */
/** @assembly AssemblyDescription("") */
/** @assembly AssemblyCompany("Novell") */
/** @assembly AssemblyProduct("ClientKeystoreSetup") */
/** @assembly AssemblyCopyright("Copyright © Novell 2006") */
/** @assembly AssemblyTrademark("") */
/** @assembly AssemblyCulture("") */
// The ComVisible attribute controls accessibility of an individual type
// or member, or of all types within this assembly, from COM. To access
// a type or member in this assembly from COM, set the ComVisible attribute
// on that type or member to true.
/** @assembly ComVisible(false) */
//
// Version information for an assembly consists of the following four values:
//
// Major Version
// Minor Version
// Build Number
// Revision
//
/** @assembly AssemblyVersion("1.0.0.0") */

View File

@ -0,0 +1,136 @@
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
#include <process.h>
#include <errno.h>
#define ERROR_NO_ERROR 0
#define ERROR_MEMORY_ALLOCATION_FAILED -1
#define ERROR_INVALID_NUMBER_OF_PARAMETERS -2
#define ERROR_EXEC_E2BIG -3
#define ERROR_EXEC_EACCES -4
#define ERROR_EXEC_EINVAL -5
#define ERROR_EXEC_EMFILE -6
#define ERROR_EXEC_ENOENT -7
#define ERROR_EXEC_ENOEXEC -8
#define ERROR_EXEC_ENOMEM -9
#define ERROR_EXEC_UNKNOWN -10
char * errorMessage(int err)
{
switch (err)
{
case ERROR_NO_ERROR:
return "No error\n";
case ERROR_MEMORY_ALLOCATION_FAILED:
return "Memory allocation failed\n";
case ERROR_INVALID_NUMBER_OF_PARAMETERS:
return "Invalid number of parameters\n";
case ERROR_EXEC_E2BIG:
return "_exec: The space required for the arguments and environment settings exceeds 32 KB.\n";
case ERROR_EXEC_EACCES:
return "_exec: The specified file has a locking or sharing violation.\n";
case ERROR_EXEC_EINVAL:
return "_exec: Invalid parameter.\n";
case ERROR_EXEC_EMFILE:
return "_exec: Too many files open (the specified file must be opened to determine whether it is executable).\n";
case ERROR_EXEC_ENOENT:
return "_exec: The file or path not found.\n";
case ERROR_EXEC_ENOEXEC:
return "_exec: The specified file is not executable or has an invalid executable-file format.\n";
case ERROR_EXEC_ENOMEM:
return "_exec: Not enough memory is available to execute the new process; the available memory has been corrupted; or an invalid block exists, indicating that the calling process was not allocated properly.\n";
case ERROR_EXEC_UNKNOWN:
return "Unknown _exec error.\n";
default:
return "Unknown error.\n";
}
}
int main( int cArg, char* rgArg[] )
{
int cArgCommand = cArg; // Take one off for the name of this exe, then add
// one for the null at the end of the arg list.
int i; // Looping variable
int rc = ERROR_NO_ERROR; // Return code
char **rgArgCommand; // An array for the command args
// Make sure we got enough parameters to execute.
if( cArg < 4)
{
fprintf(stderr, errorMessage(ERROR_MEMORY_ALLOCATION_FAILED));
fprintf( stderr, "Usage: %s <full path path to java.exe> <-cp classpath> <class> [arg1 [arg2 [...]]]\n", rgArg[0] );
return ERROR_INVALID_NUMBER_OF_PARAMETERS;
}
// Allocate room to the arglist for the cal to exec
rgArgCommand = (char **)malloc(sizeof(char *)*cArgCommand);
// Did the memory allocation succeed?
if (NULL == rgArgCommand)
{
fprintf(stderr, errorMessage(ERROR_MEMORY_ALLOCATION_FAILED));
return ERROR_MEMORY_ALLOCATION_FAILED;
}
fprintf( stderr, "Arg count = %d\n", cArg);
fprintf( stderr, "Command arg count = %d\n", cArgCommand);
// copy over the arguments for the command
for (i = 1; i < cArg; i++)
{
fprintf(stderr, "rgArgCommand[%d] = rgArg[%d] (%s)\n", (i - 1), i, rgArg[i]);
rgArgCommand[i - 1] = rgArg[i];
}
// null out the command arg array
fprintf( stderr, "null out rgArgCommand[%d]\n",i);
rgArgCommand[cArgCommand - 1] = (char *)0;
// exec the command
if (-1 == _execv( rgArg[1], rgArgCommand))
{
switch (errno)
{
case E2BIG: // The space required for the arguments and environment settings exceeds 32 KB.
rc = ERROR_EXEC_E2BIG;
break;
case EACCES: // The specified file has a locking or sharing violation.
rc = ERROR_EXEC_EACCES;
break;
case EINVAL: // Invalid parameter.
rc = ERROR_EXEC_EINVAL;
break;
case EMFILE: // Too many files open (the specified file must be opened to determine whether it is executable).
rc = ERROR_EXEC_EMFILE;
break;
case ENOENT: // The file or path not found.
rc = ERROR_EXEC_ENOENT;
break;
case ENOEXEC: // The specified file is not executable or has an invalid executable-file format.
rc = ERROR_EXEC_ENOEXEC;
break;
case ENOMEM: // Not enough memory is available to execute the new process; the available memory has been
// corrupted; or an invalid block exists, indicating that the calling process was not allocated
// properly.
rc = ERROR_EXEC_ENOMEM;
break;
default:
rc = ERROR_EXEC_UNKNOWN;
break;
}
}
free(rgArgCommand);
return rc;
}

View File

@ -0,0 +1,167 @@
<?xml version="1.0" encoding="Windows-1252"?>
<VisualStudioProject
ProjectType="Visual C++"
Version="8.00"
Name="CommandLauncher"
ProjectGUID="{B52EF84A-D745-4637-9F59-DBD6E21C179C}"
>
<Platforms>
<Platform
Name="Win32"
/>
</Platforms>
<ToolFiles>
</ToolFiles>
<Configurations>
<Configuration
Name="Debug|Win32"
OutputDirectory="./bin"
IntermediateDirectory="$(ConfigurationName)"
ConfigurationType="1"
>
<Tool
Name="VCPreBuildEventTool"
/>
<Tool
Name="VCCustomBuildTool"
/>
<Tool
Name="VCXMLDataGeneratorTool"
/>
<Tool
Name="VCWebServiceProxyGeneratorTool"
/>
<Tool
Name="VCMIDLTool"
/>
<Tool
Name="VCCLCompilerTool"
/>
<Tool
Name="VCManagedResourceCompilerTool"
/>
<Tool
Name="VCResourceCompilerTool"
/>
<Tool
Name="VCPreLinkEventTool"
/>
<Tool
Name="VCLinkerTool"
/>
<Tool
Name="VCALinkTool"
/>
<Tool
Name="VCManifestTool"
/>
<Tool
Name="VCXDCMakeTool"
/>
<Tool
Name="VCBscMakeTool"
/>
<Tool
Name="VCFxCopTool"
/>
<Tool
Name="VCAppVerifierTool"
/>
<Tool
Name="VCWebDeploymentTool"
/>
<Tool
Name="VCPostBuildEventTool"
/>
</Configuration>
<Configuration
Name="Release|Win32"
OutputDirectory="./bin"
IntermediateDirectory="$(ConfigurationName)"
ConfigurationType="1"
>
<Tool
Name="VCPreBuildEventTool"
/>
<Tool
Name="VCCustomBuildTool"
/>
<Tool
Name="VCXMLDataGeneratorTool"
/>
<Tool
Name="VCWebServiceProxyGeneratorTool"
/>
<Tool
Name="VCMIDLTool"
/>
<Tool
Name="VCCLCompilerTool"
/>
<Tool
Name="VCManagedResourceCompilerTool"
/>
<Tool
Name="VCResourceCompilerTool"
/>
<Tool
Name="VCPreLinkEventTool"
/>
<Tool
Name="VCLinkerTool"
/>
<Tool
Name="VCALinkTool"
/>
<Tool
Name="VCManifestTool"
/>
<Tool
Name="VCXDCMakeTool"
/>
<Tool
Name="VCBscMakeTool"
/>
<Tool
Name="VCFxCopTool"
/>
<Tool
Name="VCAppVerifierTool"
/>
<Tool
Name="VCWebDeploymentTool"
/>
<Tool
Name="VCPostBuildEventTool"
/>
</Configuration>
</Configurations>
<References>
</References>
<Files>
<Filter
Name="Source Files"
Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"
UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
>
<File
RelativePath=".\CommandLauncher.c"
>
</File>
</Filter>
<Filter
Name="Header Files"
Filter="h;hpp;hxx;hm;inl;inc;xsd"
UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
>
</Filter>
<Filter
Name="Resource Files"
Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav"
UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}"
>
</Filter>
</Files>
<Globals>
</Globals>
</VisualStudioProject>

View File

@ -0,0 +1,69 @@
#######################################################################
#
# Copyright (C) 2004 Novell, Inc.
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public
# License as published by the Free Software Foundation; either
# version 2 of the License, or (at your option) any later version.
#
# This program 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
# General Public License for more details.
#
# You should have received a copy of the GNU General Public
# License along with this program; if not, write to the Free
# Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
#
# Author: Greg Richardson <grichardson@novell.com>
#
#######################################################################
SUBDIRS =
DIST_SUBDIRS =
EXTRA_DIST = CommandLauncher.vcproj CommandLauncher.c
if DEBUG
TARGET_CFG = Debug
else
TARGET_CFG = Release
endif
PACKAGE = CommandLauncher
TARGET_FILE = $(PACKAGE).exe
LOG_FILE = $(PACKAGE).log
.PHONY: package package-clean package-install package-uninstall devenv
package: $(TARGET_FILE)
devenv:
@if ! test -x "$(VSINSTALLDIR)/Common7/IDE/devenv.exe"; then echo "Error: Microsoft Visual Studio .NET is currently required to build MSI and MSM packages"; exit 1; fi
$(TARGET_FILE): devenv
@rm -f $(LOG_FILE) $@
@CMD='"$(VSINSTALLDIR)/Common7/IDE/devenv.exe" ../server-java_msi/server-java_msi.sln /build $(TARGET_CFG) /project $(PACKAGE) /out $(LOG_FILE)'; \
echo $$CMD; \
if eval $$CMD; then \
ls -l bin/$(TARGET_FILE); \
else \
grep -a "ERROR:" $(LOG_FILE); \
fi
package-clean clean-local:
rm -rf Release/* Release Debug/* Debug*/Release */Debug *.log *.suo
clean:
rm -rf Release/* Release Debug/* Debug */Release */Debug *.log *.suo
distclean-local: package-clean
rm -f Makefile
maintainer-clean-local:
rm -f Makefile.in

View File

@ -22,15 +22,13 @@
*
***********************************************************************/
package InitConfigFile;
import java.io.*;
import java.util.*;
/**
* Summary description for Program
*/
public class Program
public class InitConfigFile
{
final static int ERROR_NO_ERROR = 0;
final static int ERROR_INVALID_NUMBER_OF_PARAMS = -1;
@ -76,10 +74,10 @@ public class Program
public static void main(String[] args)
{
Program p = new Program(args);
InitConfigFile p = new InitConfigFile(args);
}
Program(String[] args)
InitConfigFile(String[] args)
{
int rc = ERROR_NO_ERROR;
@ -119,7 +117,7 @@ public class Program
{
try
{
log("return code = " + rc);
log(rc);
fw.flush();
fw.close();
}
@ -399,9 +397,6 @@ public class Program
case ERROR_MISSING_TEMPLATE:
sMessage = "Template file not found";
break;
// case ERROR_TEMPLATE_PROPERTY_MISSING:
// sMessage = "Template file parameter missing";
// break;
case ERROR_OUTPUT_PROPERTY_MISSING:
sMessage = "Output file parameter missing";
break;
@ -414,6 +409,48 @@ public class Program
case ERROR_MISSING_PROPERTIES:
sMessage = "Properties file not found";
break;
case ERROR_MISSING_TEMPLATE_FILE:
sMessage = "Missing template file";
break;
case ERROR_PROPERTIES_FILE_IS_EMPTY:
sMessage = "Properties file is empty";
break;
case ERROR_MISSING_INSTALL_DIR:
sMessage = "Missing install dir";
break;
case ERROR_INSTALL_DIR_NOT_A_DIR:
sMessage = "Install directory is not a directory";
break;
case ERROR_BAD_INSTALL_DIR_PARAM:
sMessage = "Bad install directory parameter";
break;
case ERROR_BAD_PROPERTY_FILE_PARAM:
sMessage = "Bad property file parameter";
break;
case ERROR_MISSING_PROPERTIES_FILE:
sMessage = "Missing properties file";
break;
case ERROR_MISSING_INSTALL_DIR_PARAM:
sMessage = "Missing install directory parameter";
break;
case ERROR_MISSING_PROPERTY_FILE_PARAM:
sMessage = "Missing property file parameter";
break;
case ERROR_BAD_TEMPLATE_FILE_PARAM:
sMessage = "Bad template file parameter";
break;
case ERROR_BAD_OUTPUT_FILE_PARAM:
sMessage = "Bad output file parameter";
break;
case ERROR_MISSING_TEMPLATE_FILE_PARAM:
sMessage = "Missing template file parameter";
break;
case ERROR_MISSING_OUTPUT_FILE_PARAM:
sMessage = "Missing output file parameter";
break;
case ERROR_BAD_PROPERTY_PARAM:
sMessage = "Bad property parameter";
break;
case ERROR_UNABLE_TO_READ_PROPERTIES:
sMessage = "Unable to read properties file";
break;

View File

@ -1,47 +0,0 @@
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">x86</Platform>
<ProductVersion>8.0.50727</ProductVersion>
<SchemaVersion>2.0</SchemaVersion>
<ProjectGuid>{E3528B18-D4A0-4604-B2C5-8EE36E094A40}</ProjectGuid>
<OutputType>Exe</OutputType>
<RootNamespace>InitConfigFile</RootNamespace>
<AssemblyName>InitConfigFile</AssemblyName>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|x86' ">
<DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType>
<Optimize>false</Optimize>
<OutputPath>bin\Debug\</OutputPath>
<DefineConstants>DEBUG;TRACE</DefineConstants>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|x86' ">
<DebugType>pdbonly</DebugType>
<Optimize>true</Optimize>
<OutputPath>bin\Release\</OutputPath>
<DefineConstants>TRACE</DefineConstants>
</PropertyGroup>
<ItemGroup>
<Reference Include="System" />
<Reference Include="System.Data" />
<Reference Include="System.Xml" />
</ItemGroup>
<ItemGroup>
<Compile Include="Program.jsl" />
<Compile Include="Properties\AssemblyInfo.jsl" />
</ItemGroup>
<Import Project="$(MSBuildBinPath)\Microsoft.VisualJSharp.targets" />
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
Other similar extension points exist, see Microsoft.Common.targets.
<Target Name="BeforeBuild">
</Target>
<Target Name="AfterBuild">
</Target>
-->
<PropertyGroup>
<PostBuildEvent>
</PostBuildEvent>
</PropertyGroup>
</Project>

View File

@ -1,69 +1,77 @@
#######################################################################
#
# Copyright (C) 2004 Novell, Inc.
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public
# License as published by the Free Software Foundation; either
# version 2 of the License, or (at your option) any later version.
#
# This program 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
# General Public License for more details.
#
# You should have received a copy of the GNU General Public
# License along with this program; if not, write to the Free
# Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
#
# Author: Greg Richardson <grichardson@novell.com>
#
#######################################################################
SUBDIRS =
DIST_SUBDIRS =
EXTRA_DIST = InitConfigFile.vjsproj Program.jsl
if DEBUG
TARGET_CFG = Debug
else
TARGET_CFG = Release
endif
PACKAGE = InitConfigFile
TARGET_FILE = $(PACKAGE).exe
LOG_FILE = $(PACKAGE).log
.PHONY: package package-clean package-install package-uninstall devenv
package: $(TARGET_FILE)
devenv:
@if ! test -x "$(VSINSTALLDIR)/Common7/IDE/devenv.exe"; then echo "Error: Microsoft Visual Studio .NET is currently required to build MSI and MSM packages"; exit 1; fi
$(TARGET_FILE): devenv
@rm -f $(LOG_FILE) $@
@CMD='"$(VSINSTALLDIR)/Common7/IDE/devenv.exe" ../server-java_msi/server-java_msi.sln /build $(TARGET_CFG) /project $(PACKAGE) /out $(LOG_FILE)'; \
echo $$CMD; \
if eval $$CMD; then \
ls -l bin/$(TARGET_CFG)/$(TARGET_FILE); \
else \
grep -a "ERROR:" $(LOG_FILE); \
fi
package-clean clean-local:
rm -rf Release/* Release Debug/* Debug*/Release */Debug *.log *.suo
clean:
rm -rf Release/* Release Debug/* Debug */Release */Debug *.log *.suo
distclean-local: package-clean
rm -f Makefile
maintainer-clean-local:
rm -f Makefile.in
#######################################################################
#
# Copyright (C) 2004 Novell, Inc.
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public
# License as published by the Free Software Foundation; either
# version 2 of the License, or (at your option) any later version.
#
# This program 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
# General Public License for more details.
#
# You should have received a copy of the GNU General Public
# License along with this program; if not, write to the Free
# Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
#
# Author: Greg Richardson <grichardson@novell.com>
#
#######################################################################
SUBDIRS =
DIST_SUBDIRS =
EXTRA_DIST = InitConfigFile.java
if DEBUG
TARGET_CFG = Debug
DEBUG = -g
else
TARGET_CFG = Release
DEBUG = -g:none
endif
PACKAGE = InitConfigFile
TARGET_FILE = $(PACKAGE).class
LOG_FILE = $(PACKAGE).log
JAVAFILES = InitConfigFile.java
CLASSES = $(addprefix $(BUILDDIR)/, $(JAVAFILES:%.java=%.class))
BUILDDIR = bin/$(TARGET_CFG)
.PHONY: package package-clean package-install package-uninstall
all: $(BUILDDIR) $(CLASSES)
$(BUILDDIR)/%.class: %.java
@rm -f $(LOG_FILE) $@
@echo [======== Compiling $@ ========]
@javac $(DEBUG) -d $(BUILDDIR) $< 2> $(LOG_FILE)
@echo $$CMD; \
if eval $$CMD; then \
ls -l $(BUILDDIR)/$(TARGET_FILE); \
cp $(BUILDDIR)/$(TARGET_FILE) bin; \
else \
grep -a "ERROR:" $(LOG_FILE); \
fi
$(BUILDDIR):
[ -d $(BUILDDIR) ] || mkdir -p $(BUILDDIR)
package-clean clean-local:
rm -rf bin/Release/* bin/Release bin/Debug/* bin/Debug bin/* bin *.log
clean:
rm -rf bin/Release/* bin/Release bin/Debug/* bin/Debug bin/* bin *.log
distclean-local: package-clean
rm -f Makefile
maintainer-clean-local:
rm -f Makefile.in

View File

@ -1,36 +0,0 @@
import System.Reflection.*;
import System.Runtime.CompilerServices.*;
import System.Runtime.InteropServices.*;
//
// General Information about an assembly is controlled through the following
// set of attributes. Change these attribute values to modify the information
// associated with an assembly.
//
/** @assembly AssemblyTitle("InitConfigFile") */
/** @assembly AssemblyDescription("") */
/** @assembly AssemblyCompany("Novell") */
/** @assembly AssemblyProduct("InitConfigFile") */
/** @assembly AssemblyCopyright("Copyright © Novell 2006") */
/** @assembly AssemblyTrademark("") */
/** @assembly AssemblyCulture("") */
// The ComVisible attribute controls accessibility of an individual type
// or member, or of all types within this assembly, from COM. To access
// a type or member in this assembly from COM, set the ComVisible attribute
// on that type or member to true.
/** @assembly ComVisible(false) */
//
// Version information for an assembly consists of the following four values:
//
// Major Version
// Minor Version
// Build Number
// Revision
//
/** @assembly AssemblyVersion("1.0.0.0") */

View File

@ -20,15 +20,16 @@
#
#######################################################################
SUBDIRS = ClientKeystoreSetup InitConfigFile MungeCryptoPropertiesFilePath ServerKeystoreSetup SetupAsWindowsService UpdateWarFile server-java_msi
SUBDIRS = ClientKeystoreSetup CommandLauncher InitConfigFile MungeCryptoPropertiesFilePath ServerKeystoreSetup SetupAsWindowsService UpdateWarFile server-java_msi
DIST_SUBDIRS = ClientKeystoreSetup InitConfigFile MungeCryptoPropertiesFilePath ServerKeystoreSetup SetupAsWindowsService UpdateWarFile server-java_msi
DIST_SUBDIRS = ClientKeystoreSetup CommandLauncher InitConfigFile MungeCryptoPropertiesFilePath ServerKeystoreSetup SetupAsWindowsService UpdateWarFile server-java_msi
EXTRA_DIST =
.PHONY: package package-clean package-install package-uninstall
package package-clean package-install package-uninstall:
$(MAKE) -C ClientKeystoreSetup $@
$(MAKE) -C CommandLauncher $@
$(MAKE) -C InitConfigFile $@
$(MAKE) -C MungeCryptoPropertiesFilePath $@
$(MAKE) -C ServerKeystoreSetup $@

View File

@ -1,69 +1,77 @@
#######################################################################
#
# Copyright (C) 2004 Novell, Inc.
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public
# License as published by the Free Software Foundation; either
# version 2 of the License, or (at your option) any later version.
#
# This program 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
# General Public License for more details.
#
# You should have received a copy of the GNU General Public
# License along with this program; if not, write to the Free
# Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
#
# Author: Greg Richardson <grichardson@novell.com>
#
#######################################################################
SUBDIRS =
DIST_SUBDIRS =
EXTRA_DIST = MungeCryptoPropertiesFilePath.vjsproj Program.jsl
if DEBUG
TARGET_CFG = Debug
else
TARGET_CFG = Release
endif
PACKAGE = MungeCryptoPropertiesFilePath
TARGET_FILE = $(PACKAGE).exe
LOG_FILE = $(PACKAGE).log
.PHONY: package package-clean package-install package-uninstall devenv
package: $(TARGET_FILE)
devenv:
@if ! test -x "$(VSINSTALLDIR)/Common7/IDE/devenv.exe"; then echo "Error: Microsoft Visual Studio .NET is currently required to build MSI and MSM packages"; exit 1; fi
$(TARGET_FILE): devenv
@rm -f $(LOG_FILE) $@
@CMD='"$(VSINSTALLDIR)/Common7/IDE/devenv.exe" ../server-java_msi/server-java_msi.sln /build $(TARGET_CFG) /project $(PACKAGE) /out $(LOG_FILE)'; \
echo $$CMD; \
if eval $$CMD; then \
ls -l bin/$(TARGET_CFG)/$(TARGET_FILE); \
else \
grep -a "ERROR:" $(LOG_FILE); \
fi
package-clean clean-local:
rm -rf Release/* Release Debug/* Debug*/Release */Debug *.log *.suo
clean:
rm -rf Release/* Release Debug/* Debug */Release */Debug *.log *.suo
distclean-local: package-clean
rm -f Makefile
maintainer-clean-local:
rm -f Makefile.in
#######################################################################
#
# Copyright (C) 2004 Novell, Inc.
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public
# License as published by the Free Software Foundation; either
# version 2 of the License, or (at your option) any later version.
#
# This program 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
# General Public License for more details.
#
# You should have received a copy of the GNU General Public
# License along with this program; if not, write to the Free
# Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
#
# Author: Greg Richardson <grichardson@novell.com>
#
#######################################################################
SUBDIRS =
DIST_SUBDIRS =
EXTRA_DIST = MungeCryptoPropertiesFilePath.java
if DEBUG
TARGET_CFG = Debug
DEBUG = -g
else
TARGET_CFG = Release
DEBUG = -g:none
endif
PACKAGE = MungeCryptoPropertiesFilePath
TARGET_FILE = $(PACKAGE).class
LOG_FILE = $(PACKAGE).log
JAVAFILES = MungeCryptoPropertiesFilePath.java
CLASSES = $(addprefix $(BUILDDIR)/, $(JAVAFILES:%.java=%.class))
BUILDDIR = bin/$(TARGET_CFG)
.PHONY: package package-clean package-install package-uninstall
all: $(BUILDDIR) $(CLASSES)
$(BUILDDIR)/%.class: %.java
@rm -f $(LOG_FILE) $@
@echo [======== Compiling $@ ========]
@javac $(DEBUG) -d $(BUILDDIR) $< 2> $(LOG_FILE)
@echo $$CMD; \
if eval $$CMD; then \
ls -l $(BUILDDIR)/$(TARGET_FILE); \
cp $(BUILDDIR)/$(TARGET_FILE) bin; \
else \
grep -a "ERROR:" $(LOG_FILE); \
fi
$(BUILDDIR):
[ -d $(BUILDDIR) ] || mkdir -p $(BUILDDIR)
package-clean clean-local:
rm -rf bin/Release/* bin/Release bin/Debug/* bin/Debug bin/* bin *.log
clean:
rm -rf bin/Release/* bin/Release bin/Debug/* bin/Debug bin/* bin *.log
distclean-local: package-clean
rm -f Makefile
maintainer-clean-local:
rm -f Makefile.in

View File

@ -22,15 +22,13 @@
*
***********************************************************************/
package MungeCryptoPropertiesFilePath;
import java.io.*;
import java.util.*;
/**
* Summary description for Program
*/
public class Program
public class MungeCryptoPropertiesFilePath
{
final static int ERROR_NO_ERROR = 0;
final static int ERROR_INVALID_NUMBER_OF_PARAMS = -1;
@ -57,10 +55,10 @@ public class Program
public static void main(String[] args)
{
Program p = new Program(args);
MungeCryptoPropertiesFilePath p = new MungeCryptoPropertiesFilePath(args);
}
Program(String[] args)
MungeCryptoPropertiesFilePath(String[] args)
{
int rc = ERROR_NO_ERROR;
@ -94,7 +92,7 @@ public class Program
{
try
{
log("return code = " + rc);
log(rc);
fw.flush();
fw.close();
}

View File

@ -1,43 +0,0 @@
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">x86</Platform>
<ProductVersion>8.0.50727</ProductVersion>
<SchemaVersion>2.0</SchemaVersion>
<ProjectGuid>{75D8742F-4778-4978-9032-ED9649BA402D}</ProjectGuid>
<OutputType>Exe</OutputType>
<RootNamespace>MungeCryptoPropertiesFilePath</RootNamespace>
<AssemblyName>MungeCryptoPropertiesFilePath</AssemblyName>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|x86' ">
<DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType>
<Optimize>false</Optimize>
<OutputPath>bin\Debug\</OutputPath>
<DefineConstants>DEBUG;TRACE</DefineConstants>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|x86' ">
<DebugType>pdbonly</DebugType>
<Optimize>true</Optimize>
<OutputPath>bin\Release\</OutputPath>
<DefineConstants>TRACE</DefineConstants>
</PropertyGroup>
<ItemGroup>
<Reference Include="System" />
<Reference Include="System.Data" />
<Reference Include="System.Xml" />
</ItemGroup>
<ItemGroup>
<Compile Include="Program.jsl" />
<Compile Include="Properties\AssemblyInfo.jsl" />
</ItemGroup>
<Import Project="$(MSBuildBinPath)\Microsoft.VisualJSharp.targets" />
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
Other similar extension points exist, see Microsoft.Common.targets.
<Target Name="BeforeBuild">
</Target>
<Target Name="AfterBuild">
</Target>
-->
</Project>

View File

@ -1,36 +0,0 @@
import System.Reflection.*;
import System.Runtime.CompilerServices.*;
import System.Runtime.InteropServices.*;
//
// General Information about an assembly is controlled through the following
// set of attributes. Change these attribute values to modify the information
// associated with an assembly.
//
/** @assembly AssemblyTitle("MungeCryptoPropertiesFilePath") */
/** @assembly AssemblyDescription("") */
/** @assembly AssemblyCompany("Novell") */
/** @assembly AssemblyProduct("MungeCryptoPropertiesFilePath") */
/** @assembly AssemblyCopyright("Copyright © Novell 2007") */
/** @assembly AssemblyTrademark("") */
/** @assembly AssemblyCulture("") */
// The ComVisible attribute controls accessibility of an individual type
// or member, or of all types within this assembly, from COM. To access
// a type or member in this assembly from COM, set the ComVisible attribute
// on that type or member to true.
/** @assembly ComVisible(false) */
//
// Version information for an assembly consists of the following four values:
//
// Major Version
// Minor Version
// Build Number
// Revision
//
/** @assembly AssemblyVersion("1.0.0.0") */

View File

@ -1,69 +1,77 @@
#######################################################################
#
# Copyright (C) 2004 Novell, Inc.
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public
# License as published by the Free Software Foundation; either
# version 2 of the License, or (at your option) any later version.
#
# This program 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
# General Public License for more details.
#
# You should have received a copy of the GNU General Public
# License along with this program; if not, write to the Free
# Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
#
# Author: Greg Richardson <grichardson@novell.com>
#
#######################################################################
SUBDIRS =
DIST_SUBDIRS =
EXTRA_DIST = ServerKeystoreSetup.vjsproj Program.jsl
if DEBUG
TARGET_CFG = Debug
else
TARGET_CFG = Release
endif
PACKAGE = ServerKeystoreSetup
TARGET_FILE = $(PACKAGE).exe
LOG_FILE = $(PACKAGE).log
.PHONY: package package-clean package-install package-uninstall devenv
package: $(TARGET_FILE)
devenv:
@if ! test -x "$(VSINSTALLDIR)/Common7/IDE/devenv.exe"; then echo "Error: Microsoft Visual Studio .NET is currently required to build MSI and MSM packages"; exit 1; fi
$(TARGET_FILE): devenv
@rm -f $(LOG_FILE) $@
@CMD='"$(VSINSTALLDIR)/Common7/IDE/devenv.exe" ../server-java_msi/server-java_msi.sln /build $(TARGET_CFG) /project $(PACKAGE) /out $(LOG_FILE)'; \
echo $$CMD; \
if eval $$CMD; then \
ls -l bin/$(TARGET_CFG)/$(TARGET_FILE); \
else \
grep -a "ERROR:" $(LOG_FILE); \
fi
package-clean clean-local:
rm -rf Release/* Release Debug/* Debug*/Release */Debug *.log *.suo
clean:
rm -rf Release/* Release Debug/* Debug */Release */Debug *.log *.suo
distclean-local: package-clean
rm -f Makefile
maintainer-clean-local:
rm -f Makefile.in
#######################################################################
#
# Copyright (C) 2004 Novell, Inc.
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public
# License as published by the Free Software Foundation; either
# version 2 of the License, or (at your option) any later version.
#
# This program 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
# General Public License for more details.
#
# You should have received a copy of the GNU General Public
# License along with this program; if not, write to the Free
# Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
#
# Author: Greg Richardson <grichardson@novell.com>
#
#######################################################################
SUBDIRS =
DIST_SUBDIRS =
EXTRA_DIST = ServerKeystoreSetup.java
if DEBUG
TARGET_CFG = Debug
DEBUG = -g
else
TARGET_CFG = Release
DEBUG = -g:none
endif
PACKAGE = ServerKeystoreSetup
TARGET_FILE = $(PACKAGE).class
LOG_FILE = $(PACKAGE).log
JAVAFILES = ServerKeystoreSetup.java
CLASSES = $(addprefix $(BUILDDIR)/, $(JAVAFILES:%.java=%.class))
BUILDDIR = bin/$(TARGET_CFG)
.PHONY: package package-clean package-install package-uninstall
all: $(BUILDDIR) $(CLASSES)
$(BUILDDIR)/%.class: %.java
@rm -f $(LOG_FILE) $@
@echo [======== Compiling $@ ========]
@javac $(DEBUG) -d $(BUILDDIR) $< 2> $(LOG_FILE)
@echo $$CMD; \
if eval $$CMD; then \
ls -l $(BUILDDIR)/$(TARGET_FILE); \
cp $(BUILDDIR)/$(TARGET_FILE) bin; \
else \
grep -a "ERROR:" $(LOG_FILE); \
fi
$(BUILDDIR):
[ -d $(BUILDDIR) ] || mkdir -p $(BUILDDIR)
package-clean clean-local:
rm -rf bin/Release/* bin/Release bin/Debug/* bin/Debug bin/* bin *.log
clean:
rm -rf bin/Release/* bin/Release bin/Debug/* bin/Debug bin/* bin *.log
distclean-local: package-clean
rm -f Makefile
maintainer-clean-local:
rm -f Makefile.in

View File

@ -20,369 +20,367 @@
*
* Author: Juan Carlos Luciani <jluciani@novell.com>
*
***********************************************************************/
package ServerKeystoreSetup;
import java.io.*;
import java.util.*;
public class Program
{
final static int ERROR_NO_ERROR = 0;
final static int ERROR_EXEC_FAILED = -1;
final static int ERROR_INVALID_NUMBER_OF_PARAMS = -2;
final static int ERROR_BAD_INSTALL_DIR_PARAM = -3;
final static int ERROR_MISSING_INSTALL_DIR = -4;
final static int ERROR_INSTALL_DIR_NOT_A_DIR = -5;
final static int ERROR_BAD_PROPERTY_FILE_PARAM = -6;
final static int ERROR_MISSING_PROPERTIES_FILE = -7;
final static int ERROR_UNABLE_TO_READ_PROPERTIES = -8;
final static int ERROR_UNKNOWN_PARAM = -9;
final static int ERROR_MISSING_INSTALL_DIR_PARAM = -10;
final static int ERROR_REQUIRED_VALUE_MISSING = -11;
final static int ERROR_EXEC_INTERRUPTED = -12;
// final static int ERROR_MISSING_INSTALL_DIR = -4;
// final static int ERROR_MISSING_INSTALL_DIR = -4;
// final static int ERROR_MISSING_INSTALL_DIR = -4;
// final static int ERROR_MISSING_INSTALL_DIR = -4;
final static String INSTALL_DIR = "installdir=";
final static String PROPERTY_FILE = "propertyfile=";
String sInstallDir;
Properties properties;
// debug stuff
File file;
FileWriter fw;
public static void main(String[] args)
{
Program p = new Program(args);
p = null;
}
Program(String[] args)
{
int rc;
try
{
// DEBUG STUFF
file = new File("c:\\test2.log");
fw = new FileWriter(file);
log("Here we go again: " + args.length);
for (int i = 0; i < args.length; i++)
{
log("Arg " + i + " = " + args[i] + "\r\n");
}
// DEBUG STUFF
// Process the input params
if (ERROR_NO_ERROR == (rc = processArgs(args)))
{
// Make sure we got everything we need
if (ERROR_NO_ERROR == (rc = findRequiredValues()))
{
// Make sure the server keystore has been created
rc = createServerKeystore();
}
}
// DEBUG STUFF
log(rc);
fw.flush();
fw.close();
// DEBUG STUFF
}
catch (IOException e)
{
rc = -54;//ERROR_IO_EXCEPTION;
}
System.exit(rc);
}
int processArgs(String[] args)
{
String sProperties;
File fileInstallDir = null;
File fileProperties = null;
FileInputStream fisProperties = null;
int i;
// Validate the number of parameters
if (args.length < 2)
{
return ERROR_INVALID_NUMBER_OF_PARAMS;
}
for (i = 0; i < args.length; i++)
{
// is this the install dir param?
if (args[i].startsWith(INSTALL_DIR))
{
// Make sure it is more the the param tag
if (args[i].length() <= INSTALL_DIR.length())
{
return ERROR_BAD_INSTALL_DIR_PARAM;
}
sInstallDir = args[i].substring(INSTALL_DIR.length()).trim();
fileInstallDir = new File(sInstallDir);
// Make sure the install dir can be found
if (!fileInstallDir.exists())
{
return ERROR_MISSING_INSTALL_DIR;
}
// Make sure the install dir is a directory
if (!fileInstallDir.isDirectory())
{
return ERROR_INSTALL_DIR_NOT_A_DIR;
}
}
// is this the properties file param?
else if (args[i].startsWith(PROPERTY_FILE))
{
// Make sure it is more the the param tag
if (args[i].length() <= PROPERTY_FILE.length())
{
return ERROR_BAD_PROPERTY_FILE_PARAM;
}
sProperties = args[i].substring(PROPERTY_FILE.length()).trim();
fileProperties = new File(sProperties);
// Make sure the properties file can be found
if (!fileProperties.exists())
{
return ERROR_MISSING_PROPERTIES_FILE;
}
// Read the properties
try
{
fisProperties = new FileInputStream(fileProperties);
properties = new Properties();
properties.load(fisProperties);
}
catch (IOException ioe)
{
return ERROR_UNABLE_TO_READ_PROPERTIES;
}
}
// Unknown parameter
else
{
log(ERROR_UNKNOWN_PARAM, args[i]);
return ERROR_UNKNOWN_PARAM;
}
}
// Make sure we got an install dir
if (null == fileInstallDir)
{
return ERROR_MISSING_INSTALL_DIR_PARAM;
}
return ERROR_NO_ERROR;
}
int findRequiredValues()
{
String[] rgsRequired = {
"ATS_JAVA_HOME",
"COMPUTERNAME"};
int i;
String sValue;
for (i = 0; i < rgsRequired.length; i++)
{
log("look for required value: " + rgsRequired[i]);
if (!properties.containsKey(rgsRequired[i]))
{
log("look for required value in envirement: " + rgsRequired[i]);
if (null == (sValue = System.getProperty(rgsRequired[i])))
{
log("unable to find required value in envirement: " + rgsRequired[i]);
return ERROR_REQUIRED_VALUE_MISSING;
}
log("found required value in envirement: " + rgsRequired[i] + " = " + sValue);
properties.put(rgsRequired[i], sValue);
}
log("found required value: " + rgsRequired[i] + " = " + properties.get(rgsRequired[i]));
}
return ERROR_NO_ERROR;
}
int createServerKeystore()
{
int rc;
String sKeytool = properties.get("ATS_JAVA_HOME") + "\\bin\\keytool.exe";
String sHost = (String)properties.get("COMPUTERNAME");
log("keytool = " + sKeytool);
log("host = " + sHost);
// Do not do anything if the server keystore has already been created
if (keyStoreAlreadyExists())
{
return ERROR_NO_ERROR;
}
// Create the server keystore with the key that will be used for signing tokens
if (ERROR_NO_ERROR == (rc =invokeCommand(sKeytool + " -genkey -alias signingKey -keystore " +
sInstallDir + "ats\\etc\\keys\\server\\jks-store -dname \"cn=casaatsd@" + sHost +
"\" -validity 3600 -keypass secret -storepass secret")))
{
// Export self-signed certificate for the signing key
if (ERROR_NO_ERROR == (rc = invokeCommand(sKeytool + " -export -keystore " +
sInstallDir + "ats\\etc\\keys\\server\\jks-store -alias signingKey -storepass secret -keypass secret -file " +
sInstallDir + "ats\\etc\\keys\\casaatsdSigningCert")))
{
// Create a key for Tomcat to do SSL communications
rc = invokeCommand(sKeytool + " -genkey -alias tomcat -keyalg RSA -keystore " +
sInstallDir + "ats\\etc\\keys\\server\\jks-store -dname \"cn=" +
sHost + "\" -validity 3600 -keypass secret -storepass secret");
}
}
return rc;
}
boolean keyStoreAlreadyExists()
{
File fileKeystore = new File(sInstallDir + "ats\\etc\\keys\\server\\jks-store");
// Why is this always returning true? exists() also always returns true.
// log("keystore (" + sInstallDir + "ats\\etc\\keys\\server\\jks-store" + ") already exists = " + (file.isFile()));
// return (file.isFile());
File fileParent = fileKeystore.getParentFile();
String[] rgChildren = fileParent.list();
if (null != rgChildren)
{
for (int i = 0; i < rgChildren.length; i++)
{
log("child " + i + " = " + rgChildren[i]);
if ("jks-store".equals(rgChildren[i]))
{
return true;
}
}
}
return false;
}
int invokeCommand(String sCommand)
{
Process p;
int rc;
log("invoke command: " + sCommand);
Runtime runtime = Runtime.getRuntime();
try
{
p = runtime.exec(sCommand);
try
{
rc = p.waitFor();
log("invoke command return code: " + rc);
}
catch (InterruptedException ie)
{
log(ERROR_EXEC_INTERRUPTED, sCommand);
return ERROR_EXEC_INTERRUPTED;
}
}
catch (IOException e)
{
log("Ioexception");
return ERROR_EXEC_FAILED;
}
return ERROR_NO_ERROR;
}
void log(int err)
{
log(err, null);
}
void log(int err, String s)
{
String sMessage = "";
switch (err)
{
case ERROR_NO_ERROR:
sMessage = "No error";
break;
case ERROR_EXEC_FAILED:
sMessage = "Execute command failed ";
break;
case ERROR_INVALID_NUMBER_OF_PARAMS:
sMessage = "Invalid number of params";
break;
case ERROR_BAD_INSTALL_DIR_PARAM:
sMessage = "Install dir parameter is bad";
break;
case ERROR_MISSING_INSTALL_DIR:
sMessage = "Missing install dir";
break;
case ERROR_INSTALL_DIR_NOT_A_DIR:
sMessage = "Install dir is not a dir";
break;
case ERROR_BAD_PROPERTY_FILE_PARAM:
sMessage = "Invalid porperty file parameter";
break;
case ERROR_MISSING_PROPERTIES_FILE:
sMessage = "Property file not found";
break;
case ERROR_UNABLE_TO_READ_PROPERTIES:
sMessage = "Unable to read property file";
break;
case ERROR_UNKNOWN_PARAM:
sMessage = "Unknown parameter: ";
break;
case ERROR_MISSING_INSTALL_DIR_PARAM:
sMessage = "Install dir parameter is missing";
break;
case ERROR_REQUIRED_VALUE_MISSING:
sMessage = "Required value is missing ";
break;
case ERROR_EXEC_INTERRUPTED:
sMessage = "Execution iinterrupted: ";
break;
default:
sMessage = "Unknown error";
break;
}
if (null != s)
{
sMessage = sMessage + s;
}
log(sMessage);
}
void log(String s)
{
try
{
fw.write(this.getClass().getName() + ": " + s + "\r\n");
}
catch (IOException ioe)
{
}
}
}
***********************************************************************/
import java.io.*;
import java.util.*;
public class ServerKeystoreSetup
{
final static int ERROR_NO_ERROR = 0;
final static int ERROR_EXEC_FAILED = -1;
final static int ERROR_INVALID_NUMBER_OF_PARAMS = -2;
final static int ERROR_BAD_INSTALL_DIR_PARAM = -3;
final static int ERROR_MISSING_INSTALL_DIR = -4;
final static int ERROR_INSTALL_DIR_NOT_A_DIR = -5;
final static int ERROR_BAD_PROPERTY_FILE_PARAM = -6;
final static int ERROR_MISSING_PROPERTIES_FILE = -7;
final static int ERROR_UNABLE_TO_READ_PROPERTIES = -8;
final static int ERROR_UNKNOWN_PARAM = -9;
final static int ERROR_MISSING_INSTALL_DIR_PARAM = -10;
final static int ERROR_REQUIRED_VALUE_MISSING = -11;
final static int ERROR_EXEC_INTERRUPTED = -12;
final static int ERROR_IO_EXCEPTION = -13;
final static String INSTALL_DIR = "installdir=";
final static String PROPERTY_FILE = "propertyfile=";
String sInstallDir;
Properties properties;
// debug stuff
File file;
FileWriter fw;
public static void main(String[] args)
{
ServerKeystoreSetup p = new ServerKeystoreSetup(args);
p = null;
}
ServerKeystoreSetup(String[] args)
{
int rc;
try
{
// DEBUG STUFF
file = new File("c:\\test2.log");
fw = new FileWriter(file);
log("Here we go again: " + args.length);
for (int i = 0; i < args.length; i++)
{
log("Arg " + i + " = " + args[i] + "\r\n");
}
// DEBUG STUFF
// Process the input params
if (ERROR_NO_ERROR == (rc = processArgs(args)))
{
// Make sure we got everything we need
if (ERROR_NO_ERROR == (rc = findRequiredValues()))
{
// Make sure the server keystore has been created
rc = createServerKeystore();
}
}
// DEBUG STUFF
log(rc);
fw.flush();
fw.close();
// DEBUG STUFF
}
catch (IOException e)
{
rc = ERROR_IO_EXCEPTION;
}
System.exit(rc);
}
int processArgs(String[] args)
{
String sProperties;
File fileInstallDir = null;
File fileProperties = null;
FileInputStream fisProperties = null;
int i;
// Validate the number of parameters
if (args.length < 2)
{
return ERROR_INVALID_NUMBER_OF_PARAMS;
}
for (i = 0; i < args.length; i++)
{
// is this the install dir param?
if (args[i].startsWith(INSTALL_DIR))
{
// Make sure it is more the the param tag
if (args[i].length() <= INSTALL_DIR.length())
{
return ERROR_BAD_INSTALL_DIR_PARAM;
}
sInstallDir = args[i].substring(INSTALL_DIR.length()).trim();
fileInstallDir = new File(sInstallDir);
// Make sure the install dir can be found
if (!fileInstallDir.exists())
{
return ERROR_MISSING_INSTALL_DIR;
}
// Make sure the install dir is a directory
if (!fileInstallDir.isDirectory())
{
return ERROR_INSTALL_DIR_NOT_A_DIR;
}
}
// is this the properties file param?
else if (args[i].startsWith(PROPERTY_FILE))
{
// Make sure it is more the the param tag
if (args[i].length() <= PROPERTY_FILE.length())
{
return ERROR_BAD_PROPERTY_FILE_PARAM;
}
sProperties = args[i].substring(PROPERTY_FILE.length()).trim();
fileProperties = new File(sProperties);
// Make sure the properties file can be found
if (!fileProperties.exists())
{
return ERROR_MISSING_PROPERTIES_FILE;
}
// Read the properties
try
{
fisProperties = new FileInputStream(fileProperties);
properties = new Properties();
properties.load(fisProperties);
}
catch (IOException ioe)
{
return ERROR_UNABLE_TO_READ_PROPERTIES;
}
}
// Unknown parameter
else
{
log(ERROR_UNKNOWN_PARAM, args[i]);
return ERROR_UNKNOWN_PARAM;
}
}
// Make sure we got an install dir
if (null == fileInstallDir)
{
return ERROR_MISSING_INSTALL_DIR_PARAM;
}
return ERROR_NO_ERROR;
}
int findRequiredValues()
{
String[] rgsRequired = {
"ATS_JAVA_HOME",
"COMPUTERNAME"};
int i;
String sValue;
for (i = 0; i < rgsRequired.length; i++)
{
log("look for required value: " + rgsRequired[i]);
if (!properties.containsKey(rgsRequired[i]))
{
log("look for required value in envirement: " + rgsRequired[i]);
if (null == (sValue = System.getProperty(rgsRequired[i])))
{
log("unable to find required value in envirement: " + rgsRequired[i]);
return ERROR_REQUIRED_VALUE_MISSING;
}
log("found required value in envirement: " + rgsRequired[i] + " = " + sValue);
properties.put(rgsRequired[i], sValue);
}
log("found required value: " + rgsRequired[i] + " = " + properties.get(rgsRequired[i]));
}
return ERROR_NO_ERROR;
}
int createServerKeystore()
{
int rc;
String sKeytool = properties.get("ATS_JAVA_HOME") + "\\bin\\keytool.exe";
String sHost = (String)properties.get("COMPUTERNAME");
log("keytool = " + sKeytool);
log("host = " + sHost);
// Do not do anything if the server keystore has already been created
if (keyStoreAlreadyExists())
{
return ERROR_NO_ERROR;
}
// Create the server keystore with the key that will be used for signing tokens
if (ERROR_NO_ERROR == (rc =invokeCommand(sKeytool + " -genkey -alias signingKey -keystore " +
sInstallDir + "ats\\etc\\keys\\server\\jks-store -dname \"cn=casaatsd@" + sHost +
"\" -validity 3600 -keypass secret -storepass secret")))
{
// Export self-signed certificate for the signing key
if (ERROR_NO_ERROR == (rc = invokeCommand(sKeytool + " -export -keystore " +
sInstallDir + "ats\\etc\\keys\\server\\jks-store -alias signingKey -storepass secret -keypass secret -file " +
sInstallDir + "ats\\etc\\keys\\casaatsdSigningCert")))
{
// Create a key for Tomcat to do SSL communications
rc = invokeCommand(sKeytool + " -genkey -alias tomcat -keyalg RSA -keystore " +
sInstallDir + "ats\\etc\\keys\\server\\jks-store -dname \"cn=" +
sHost + "\" -validity 3600 -keypass secret -storepass secret");
}
}
return rc;
}
boolean keyStoreAlreadyExists()
{
File fileKeystore = new File(sInstallDir + "ats\\etc\\keys\\server\\jks-store");
// Why is this always returning true? exists() also always returns true.
// log("keystore (" + sInstallDir + "ats\\etc\\keys\\server\\jks-store" + ") already exists = " + (file.isFile()));
// return (file.isFile());
File fileParent = fileKeystore.getParentFile();
String[] rgChildren = fileParent.list();
if (null != rgChildren)
{
for (int i = 0; i < rgChildren.length; i++)
{
log("child " + i + " = " + rgChildren[i]);
if ("jks-store".equals(rgChildren[i]))
{
return true;
}
}
}
return false;
}
int invokeCommand(String sCommand)
{
Process p;
int rc;
log("invoke command: " + sCommand);
Runtime runtime = Runtime.getRuntime();
try
{
p = runtime.exec(sCommand);
try
{
rc = p.waitFor();
log("invoke command return code: " + rc);
}
catch (InterruptedException ie)
{
log(ERROR_EXEC_INTERRUPTED, sCommand);
return ERROR_EXEC_INTERRUPTED;
}
}
catch (IOException e)
{
log("Ioexception");
return ERROR_EXEC_FAILED;
}
return ERROR_NO_ERROR;
}
void log(int err)
{
log(err, null);
}
void log(int err, String s)
{
String sMessage = "";
switch (err)
{
case ERROR_NO_ERROR:
sMessage = "No error";
break;
case ERROR_EXEC_FAILED:
sMessage = "Execute command failed ";
break;
case ERROR_INVALID_NUMBER_OF_PARAMS:
sMessage = "Invalid number of params";
break;
case ERROR_BAD_INSTALL_DIR_PARAM:
sMessage = "Install dir parameter is bad";
break;
case ERROR_MISSING_INSTALL_DIR:
sMessage = "Missing install dir";
break;
case ERROR_INSTALL_DIR_NOT_A_DIR:
sMessage = "Install dir is not a dir";
break;
case ERROR_BAD_PROPERTY_FILE_PARAM:
sMessage = "Invalid porperty file parameter";
break;
case ERROR_MISSING_PROPERTIES_FILE:
sMessage = "Property file not found";
break;
case ERROR_UNABLE_TO_READ_PROPERTIES:
sMessage = "Unable to read property file";
break;
case ERROR_UNKNOWN_PARAM:
sMessage = "Unknown parameter: ";
break;
case ERROR_MISSING_INSTALL_DIR_PARAM:
sMessage = "Install dir parameter is missing";
break;
case ERROR_REQUIRED_VALUE_MISSING:
sMessage = "Required value is missing ";
break;
case ERROR_EXEC_INTERRUPTED:
sMessage = "Execution iinterrupted: ";
break;
case ERROR_IO_EXCEPTION:
sMessage = "IO Exception ";
break;
default:
sMessage = "Unknown error";
break;
}
if (null != s)
{
sMessage = sMessage + s;
}
log(sMessage);
}
void log(String s)
{
try
{
fw.write(this.getClass().getName() + ": " + s + "\r\n");
}
catch (IOException ioe)
{
}
}
}

View File

@ -1,47 +0,0 @@
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">x86</Platform>
<ProductVersion>8.0.50727</ProductVersion>
<SchemaVersion>2.0</SchemaVersion>
<ProjectGuid>{BAF8BCFB-1C97-4CA7-B03E-E588A67B21E0}</ProjectGuid>
<OutputType>Exe</OutputType>
<RootNamespace>ServerKeystoreSetup</RootNamespace>
<AssemblyName>ServerKeystoreSetup</AssemblyName>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|x86' ">
<DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType>
<Optimize>false</Optimize>
<OutputPath>bin\Debug\</OutputPath>
<DefineConstants>DEBUG;TRACE</DefineConstants>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|x86' ">
<DebugType>pdbonly</DebugType>
<Optimize>true</Optimize>
<OutputPath>bin\Release\</OutputPath>
<DefineConstants>TRACE</DefineConstants>
</PropertyGroup>
<ItemGroup>
<Reference Include="System" />
<Reference Include="System.Data" />
<Reference Include="System.Xml" />
</ItemGroup>
<ItemGroup>
<Compile Include="Program.jsl" />
<Compile Include="Properties\AssemblyInfo.jsl" />
</ItemGroup>
<Import Project="$(MSBuildBinPath)\Microsoft.VisualJSharp.targets" />
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
Other similar extension points exist, see Microsoft.Common.targets.
<Target Name="BeforeBuild">
</Target>
<Target Name="AfterBuild">
</Target>
-->
<PropertyGroup>
<PostBuildEvent>
</PostBuildEvent>
</PropertyGroup>
</Project>

View File

@ -24,40 +24,48 @@ SUBDIRS =
DIST_SUBDIRS =
EXTRA_DIST = SetupAsWindowsService.vjsproj Program.jsl
EXTRA_DIST = SetupAsWindowsService.java
if DEBUG
TARGET_CFG = Debug
DEBUG = -g
else
TARGET_CFG = Release
DEBUG = -g:none
endif
PACKAGE = SetupAsWindowsService
TARGET_FILE = $(PACKAGE).exe
TARGET_FILE = $(PACKAGE).class
LOG_FILE = $(PACKAGE).log
JAVAFILES = SetupAsWindowsService.java
CLASSES = $(addprefix $(BUILDDIR)/, $(JAVAFILES:%.java=%.class))
BUILDDIR = bin/$(TARGET_CFG)
.PHONY: package package-clean package-install package-uninstall devenv
.PHONY: package package-clean package-install package-uninstall
package: $(TARGET_FILE)
all: $(BUILDDIR) $(CLASSES)
devenv:
@if ! test -x "$(VSINSTALLDIR)/Common7/IDE/devenv.exe"; then echo "Error: Microsoft Visual Studio .NET is currently required to build MSI and MSM packages"; exit 1; fi
$(TARGET_FILE): devenv
$(BUILDDIR)/%.class: %.java
@rm -f $(LOG_FILE) $@
@CMD='"$(VSINSTALLDIR)/Common7/IDE/devenv.exe" ../server-java_msi/server-java_msi.sln /build $(TARGET_CFG) /project $(PACKAGE) /out $(LOG_FILE)'; \
echo $$CMD; \
@echo [======== Compiling $@ ========]
@javac $(DEBUG) -d $(BUILDDIR) $< 2> $(LOG_FILE)
@echo $$CMD; \
if eval $$CMD; then \
ls -l bin/$(TARGET_CFG)/$(TARGET_FILE); \
ls -l $(BUILDDIR)/$(TARGET_FILE); \
cp $(BUILDDIR)/$(TARGET_FILE) bin; \
else \
grep -a "ERROR:" $(LOG_FILE); \
fi
$(BUILDDIR):
[ -d $(BUILDDIR) ] || mkdir -p $(BUILDDIR)
package-clean clean-local:
rm -rf Release/* Release Debug/* Debug*/Release */Debug *.log *.suo
rm -rf bin/Release/* bin/Release bin/Debug/* bin/Debug bin/* bin *.log
clean:
rm -rf Release/* Release Debug/* Debug */Release */Debug *.log *.suo
rm -rf bin/Release/* bin/Release bin/Debug/* bin/Debug bin/* bin *.log
distclean-local: package-clean
rm -f Makefile

View File

@ -1,36 +0,0 @@
import System.Reflection.*;
import System.Runtime.CompilerServices.*;
import System.Runtime.InteropServices.*;
//
// General Information about an assembly is controlled through the following
// set of attributes. Change these attribute values to modify the information
// associated with an assembly.
//
/** @assembly AssemblyTitle("SetupAsWindowsService") */
/** @assembly AssemblyDescription("") */
/** @assembly AssemblyCompany("Novell") */
/** @assembly AssemblyProduct("SetupAsWindowsService") */
/** @assembly AssemblyCopyright("Copyright © Novell 2007") */
/** @assembly AssemblyTrademark("") */
/** @assembly AssemblyCulture("") */
// The ComVisible attribute controls accessibility of an individual type
// or member, or of all types within this assembly, from COM. To access
// a type or member in this assembly from COM, set the ComVisible attribute
// on that type or member to true.
/** @assembly ComVisible(false) */
//
// Version information for an assembly consists of the following four values:
//
// Major Version
// Minor Version
// Build Number
// Revision
//
/** @assembly AssemblyVersion("1.0.0.0") */

View File

@ -1,43 +0,0 @@
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">x86</Platform>
<ProductVersion>8.0.50727</ProductVersion>
<SchemaVersion>2.0</SchemaVersion>
<ProjectGuid>{BED4F512-4A94-4EC2-9479-43AFA8E4EAE1}</ProjectGuid>
<OutputType>Exe</OutputType>
<RootNamespace>SetupAsWindowsService</RootNamespace>
<AssemblyName>SetupAsWindowsService</AssemblyName>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|x86' ">
<DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType>
<Optimize>false</Optimize>
<OutputPath>bin\Debug\</OutputPath>
<DefineConstants>DEBUG;TRACE</DefineConstants>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|x86' ">
<DebugType>pdbonly</DebugType>
<Optimize>true</Optimize>
<OutputPath>bin\Release\</OutputPath>
<DefineConstants>TRACE</DefineConstants>
</PropertyGroup>
<ItemGroup>
<Reference Include="System" />
<Reference Include="System.Data" />
<Reference Include="System.Xml" />
</ItemGroup>
<ItemGroup>
<Compile Include="Program.jsl" />
<Compile Include="Properties\AssemblyInfo.jsl" />
</ItemGroup>
<Import Project="$(MSBuildBinPath)\Microsoft.VisualJSharp.targets" />
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
Other similar extension points exist, see Microsoft.Common.targets.
<Target Name="BeforeBuild">
</Target>
<Target Name="AfterBuild">
</Target>
-->
</Project>

View File

@ -1,69 +1,77 @@
#######################################################################
#
# Copyright (C) 2004 Novell, Inc.
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public
# License as published by the Free Software Foundation; either
# version 2 of the License, or (at your option) any later version.
#
# This program 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
# General Public License for more details.
#
# You should have received a copy of the GNU General Public
# License along with this program; if not, write to the Free
# Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
#
# Author: Greg Richardson <grichardson@novell.com>
#
#######################################################################
SUBDIRS =
DIST_SUBDIRS =
EXTRA_DIST = UpdateWarFile.vjsproj Program.jsl
if DEBUG
TARGET_CFG = Debug
else
TARGET_CFG = Release
endif
PACKAGE = UpdateWarFile
TARGET_FILE = $(PACKAGE).exe
LOG_FILE = $(PACKAGE).log
.PHONY: package package-clean package-install package-uninstall devenv
package: $(TARGET_FILE)
devenv:
@if ! test -x "$(VSINSTALLDIR)/Common7/IDE/devenv.exe"; then echo "Error: Microsoft Visual Studio .NET is currently required to build MSI and MSM packages"; exit 1; fi
$(TARGET_FILE): devenv
@rm -f $(LOG_FILE) $@
@CMD='"$(VSINSTALLDIR)/Common7/IDE/devenv.exe" ../server-java_msi/server-java_msi.sln /build $(TARGET_CFG) /project $(PACKAGE) /out $(LOG_FILE)'; \
echo $$CMD; \
if eval $$CMD; then \
ls -l bin/$(TARGET_CFG)/$(TARGET_FILE); \
else \
grep -a "ERROR:" $(LOG_FILE); \
fi
package-clean clean-local:
rm -rf Release/* Release Debug/* Debug*/Release */Debug *.log *.suo
clean:
rm -rf Release/* Release Debug/* Debug */Release */Debug *.log *.suo
distclean-local: package-clean
rm -f Makefile
maintainer-clean-local:
rm -f Makefile.in
#######################################################################
#
# Copyright (C) 2004 Novell, Inc.
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public
# License as published by the Free Software Foundation; either
# version 2 of the License, or (at your option) any later version.
#
# This program 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
# General Public License for more details.
#
# You should have received a copy of the GNU General Public
# License along with this program; if not, write to the Free
# Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
#
# Author: Greg Richardson <grichardson@novell.com>
#
#######################################################################
SUBDIRS =
DIST_SUBDIRS =
EXTRA_DIST = UpdateWarFile.java
if DEBUG
TARGET_CFG = Debug
DEBUG = -g
else
TARGET_CFG = Release
DEBUG = -g:none
endif
PACKAGE = UpdateWarFile
TARGET_FILE = $(PACKAGE).class
LOG_FILE = $(PACKAGE).log
JAVAFILES = UpdateWarFile.java
BUILDDIR = bin/$(TARGET_CFG)
CLASSES = $(addprefix $(BUILDDIR)/, $(JAVAFILES:%.java=%.class))
.PHONY: package package-clean package-install package-uninstall
all: $(BUILDDIR) $(CLASSES)
$(BUILDDIR)/%.class: %.java
@rm -f $(LOG_FILE) $@
@echo [======== Compiling $@ ========]
@javac $(DEBUG) -d $(BUILDDIR) $< 2> $(LOG_FILE)
@echo $$CMD; \
if eval $$CMD; then \
ls -l $(BUILDDIR)/$(TARGET_FILE); \
cp $(BUILDDIR)/$(TARGET_FILE) bin; \
else \
grep -a "ERROR:" $(LOG_FILE); \
fi
$(BUILDDIR):
[ -d $(BUILDDIR) ] || mkdir -p $(BUILDDIR)
package-clean clean-local:
rm -rf bin/Release/* bin/Release bin/Debug/* bin/Debug bin/* bin *.log
clean:
rm -rf bin/Release/* bin/Release bin/Debug/* bin/Debug bin/* bin *.log
distclean-local: package-clean
rm -f Makefile
maintainer-clean-local:
rm -f Makefile.in

View File

@ -1,36 +0,0 @@
import System.Reflection.*;
import System.Runtime.CompilerServices.*;
import System.Runtime.InteropServices.*;
//
// General Information about an assembly is controlled through the following
// set of attributes. Change these attribute values to modify the information
// associated with an assembly.
//
/** @assembly AssemblyTitle("UpdateWarFile") */
/** @assembly AssemblyDescription("") */
/** @assembly AssemblyCompany("Novell") */
/** @assembly AssemblyProduct("UpdateWarFile") */
/** @assembly AssemblyCopyright("Copyright © Novell 2006") */
/** @assembly AssemblyTrademark("") */
/** @assembly AssemblyCulture("") */
// The ComVisible attribute controls accessibility of an individual type
// or member, or of all types within this assembly, from COM. To access
// a type or member in this assembly from COM, set the ComVisible attribute
// on that type or member to true.
/** @assembly ComVisible(false) */
//
// Version information for an assembly consists of the following four values:
//
// Major Version
// Minor Version
// Build Number
// Revision
//
/** @assembly AssemblyVersion("1.0.0.0") */

View File

@ -22,11 +22,9 @@
*
***********************************************************************/
package UpdateWarFile;
import java.lang.Throwable;
import java.lang.NullPointerException;
import com.zerog.ia.api.pub.*;
import java.util.*;
import java.net.*;
import java.io.*;
@ -34,9 +32,9 @@ import java.util.zip.*;
import java.util.jar.*;
/**
* Summary description for Program
* Summary description for UpdateWarFile
*/
public class Program
public class UpdateWarFile
{
final static String INSTALL_DIR_PARAM = "ATS_INSTALL_DIR=";
@ -65,10 +63,10 @@ public class Program
public static void main(String[] args)
{
Program p = new Program(args);
UpdateWarFile p = new UpdateWarFile(args);
}
Program(String[] args)
UpdateWarFile(String[] args)
{
int rc = ERROR_NO_ERROR;
@ -100,7 +98,7 @@ public class Program
{
try
{
log("return code = " + rc);
log(rc);
fw.flush();
fw.close();
}

View File

@ -1,47 +0,0 @@
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">x86</Platform>
<ProductVersion>8.0.50727</ProductVersion>
<SchemaVersion>2.0</SchemaVersion>
<ProjectGuid>{38A7408E-9446-4DEA-9F76-2A901AE5F16B}</ProjectGuid>
<OutputType>Exe</OutputType>
<RootNamespace>UpdateWarFile</RootNamespace>
<AssemblyName>UpdateWarFile</AssemblyName>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|x86' ">
<DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType>
<Optimize>false</Optimize>
<OutputPath>bin\Debug\</OutputPath>
<DefineConstants>DEBUG;TRACE</DefineConstants>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|x86' ">
<DebugType>pdbonly</DebugType>
<Optimize>true</Optimize>
<OutputPath>bin\Release\</OutputPath>
<DefineConstants>TRACE</DefineConstants>
</PropertyGroup>
<ItemGroup>
<Reference Include="System" />
<Reference Include="System.Data" />
<Reference Include="System.Xml" />
</ItemGroup>
<ItemGroup>
<Compile Include="Program.jsl" />
<Compile Include="Properties\AssemblyInfo.jsl" />
</ItemGroup>
<Import Project="$(MSBuildBinPath)\Microsoft.VisualJSharp.targets" />
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
Other similar extension points exist, see Microsoft.Common.targets.
<Target Name="BeforeBuild">
</Target>
<Target Name="AfterBuild">
</Target>
-->
<PropertyGroup>
<PostBuildEvent>
</PostBuildEvent>
</PropertyGroup>
</Project>

View File

@ -1,57 +1,42 @@

Microsoft Visual Studio Solution File, Format Version 9.00
# Visual Studio 2005
Project("{E6FDF86B-F3D1-11D4-8576-0002A516ECE8}") = "UpdateWarFile", "..\UpdateWarFile\UpdateWarFile.vjsproj", "{38A7408E-9446-4DEA-9F76-2A901AE5F16B}"
EndProject
Project("{E6FDF86B-F3D1-11D4-8576-0002A516ECE8}") = "ClientKeystoreSetup", "..\ClientKeystoreSetup\ClientKeystoreSetup.vjsproj", "{89D5D921-A2E6-4ED9-A724-8C7DAAC09AC5}"
EndProject
Project("{54435603-DBB4-11D2-8724-00A0C9A8B90C}") = "server-java_msi", "server-java_msi.vdproj", "{124289E1-BD76-485B-A779-C2372332D538}"
ProjectSection(ProjectDependencies) = postProject
{BED4F512-4A94-4EC2-9479-43AFA8E4EAE1} = {BED4F512-4A94-4EC2-9479-43AFA8E4EAE1}
EndProjectSection
EndProject
Project("{E6FDF86B-F3D1-11D4-8576-0002A516ECE8}") = "InitConfigFile", "..\InitConfigFile\InitConfigFile.vjsproj", "{E3528B18-D4A0-4604-B2C5-8EE36E094A40}"
EndProject
Project("{E6FDF86B-F3D1-11D4-8576-0002A516ECE8}") = "ServerKeystoreSetup", "..\ServerKeystoreSetup\ServerKeystoreSetup.vjsproj", "{BAF8BCFB-1C97-4CA7-B03E-E588A67B21E0}"
EndProject
Project("{E6FDF86B-F3D1-11D4-8576-0002A516ECE8}") = "MungeCryptoPropertiesFilePath", "..\MungeCryptoPropertiesFilePath\MungeCryptoPropertiesFilePath.vjsproj", "{75D8742F-4778-4978-9032-ED9649BA402D}"
EndProject
Project("{E6FDF86B-F3D1-11D4-8576-0002A516ECE8}") = "SetupAsWindowsService", "..\SetupAsWindowsService\SetupAsWindowsService.vjsproj", "{BED4F512-4A94-4EC2-9479-43AFA8E4EAE1}"
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "CommandLauncher", "..\CommandLauncher\CommandLauncher.vcproj", "{B52EF84A-D745-4637-9F59-DBD6E21C179C}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Mixed Platforms = Debug|Mixed Platforms
Debug|Win32 = Debug|Win32
Debug|x86 = Debug|x86
Release|Mixed Platforms = Release|Mixed Platforms
Release|Win32 = Release|Win32
Release|x86 = Release|x86
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{38A7408E-9446-4DEA-9F76-2A901AE5F16B}.Debug|x86.ActiveCfg = Debug|x86
{38A7408E-9446-4DEA-9F76-2A901AE5F16B}.Debug|x86.Build.0 = Debug|x86
{38A7408E-9446-4DEA-9F76-2A901AE5F16B}.Release|x86.ActiveCfg = Release|x86
{38A7408E-9446-4DEA-9F76-2A901AE5F16B}.Release|x86.Build.0 = Release|x86
{89D5D921-A2E6-4ED9-A724-8C7DAAC09AC5}.Debug|x86.ActiveCfg = Debug|x86
{89D5D921-A2E6-4ED9-A724-8C7DAAC09AC5}.Debug|x86.Build.0 = Debug|x86
{89D5D921-A2E6-4ED9-A724-8C7DAAC09AC5}.Release|x86.ActiveCfg = Release|x86
{89D5D921-A2E6-4ED9-A724-8C7DAAC09AC5}.Release|x86.Build.0 = Release|x86
{124289E1-BD76-485B-A779-C2372332D538}.Debug|Mixed Platforms.ActiveCfg = Debug
{124289E1-BD76-485B-A779-C2372332D538}.Debug|Mixed Platforms.Build.0 = Debug
{124289E1-BD76-485B-A779-C2372332D538}.Debug|Win32.ActiveCfg = Debug
{124289E1-BD76-485B-A779-C2372332D538}.Debug|Win32.Build.0 = Debug
{124289E1-BD76-485B-A779-C2372332D538}.Debug|x86.ActiveCfg = Debug
{124289E1-BD76-485B-A779-C2372332D538}.Debug|x86.Build.0 = Debug
{124289E1-BD76-485B-A779-C2372332D538}.Release|Mixed Platforms.ActiveCfg = Release
{124289E1-BD76-485B-A779-C2372332D538}.Release|Mixed Platforms.Build.0 = Release
{124289E1-BD76-485B-A779-C2372332D538}.Release|Win32.ActiveCfg = Release
{124289E1-BD76-485B-A779-C2372332D538}.Release|Win32.Build.0 = Release
{124289E1-BD76-485B-A779-C2372332D538}.Release|x86.ActiveCfg = Release
{124289E1-BD76-485B-A779-C2372332D538}.Release|x86.Build.0 = Release
{E3528B18-D4A0-4604-B2C5-8EE36E094A40}.Debug|x86.ActiveCfg = Debug|x86
{E3528B18-D4A0-4604-B2C5-8EE36E094A40}.Debug|x86.Build.0 = Debug|x86
{E3528B18-D4A0-4604-B2C5-8EE36E094A40}.Release|x86.ActiveCfg = Release|x86
{E3528B18-D4A0-4604-B2C5-8EE36E094A40}.Release|x86.Build.0 = Release|x86
{BAF8BCFB-1C97-4CA7-B03E-E588A67B21E0}.Debug|x86.ActiveCfg = Debug|x86
{BAF8BCFB-1C97-4CA7-B03E-E588A67B21E0}.Debug|x86.Build.0 = Debug|x86
{BAF8BCFB-1C97-4CA7-B03E-E588A67B21E0}.Release|x86.ActiveCfg = Release|x86
{BAF8BCFB-1C97-4CA7-B03E-E588A67B21E0}.Release|x86.Build.0 = Release|x86
{75D8742F-4778-4978-9032-ED9649BA402D}.Debug|x86.ActiveCfg = Debug|x86
{75D8742F-4778-4978-9032-ED9649BA402D}.Debug|x86.Build.0 = Debug|x86
{75D8742F-4778-4978-9032-ED9649BA402D}.Release|x86.ActiveCfg = Release|x86
{75D8742F-4778-4978-9032-ED9649BA402D}.Release|x86.Build.0 = Release|x86
{BED4F512-4A94-4EC2-9479-43AFA8E4EAE1}.Debug|x86.ActiveCfg = Debug|x86
{BED4F512-4A94-4EC2-9479-43AFA8E4EAE1}.Debug|x86.Build.0 = Debug|x86
{BED4F512-4A94-4EC2-9479-43AFA8E4EAE1}.Release|x86.ActiveCfg = Release|x86
{BED4F512-4A94-4EC2-9479-43AFA8E4EAE1}.Release|x86.Build.0 = Release|x86
{B52EF84A-D745-4637-9F59-DBD6E21C179C}.Debug|Mixed Platforms.ActiveCfg = Debug|Win32
{B52EF84A-D745-4637-9F59-DBD6E21C179C}.Debug|Mixed Platforms.Build.0 = Debug|Win32
{B52EF84A-D745-4637-9F59-DBD6E21C179C}.Debug|Win32.ActiveCfg = Debug|Win32
{B52EF84A-D745-4637-9F59-DBD6E21C179C}.Debug|Win32.Build.0 = Debug|Win32
{B52EF84A-D745-4637-9F59-DBD6E21C179C}.Debug|x86.ActiveCfg = Debug|Win32
{B52EF84A-D745-4637-9F59-DBD6E21C179C}.Release|Mixed Platforms.ActiveCfg = Release|Win32
{B52EF84A-D745-4637-9F59-DBD6E21C179C}.Release|Mixed Platforms.Build.0 = Release|Win32
{B52EF84A-D745-4637-9F59-DBD6E21C179C}.Release|Win32.ActiveCfg = Release|Win32
{B52EF84A-D745-4637-9F59-DBD6E21C179C}.Release|Win32.Build.0 = Release|Win32
{B52EF84A-D745-4637-9F59-DBD6E21C179C}.Release|x86.ActiveCfg = Release|Win32
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE

View File

@ -33,6 +33,12 @@
}
"Entry"
{
"MsmKey" = "8:_1B3A4C8191564F31884500B4CE426618"
"OwnerKey" = "8:_UNDEFINED"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
"MsmKey" = "8:_1B40D00F3F624D2ABF0631F7D71EDB4B"
"OwnerKey" = "8:_UNDEFINED"
"MsmSig" = "8:_UNDEFINED"
@ -45,12 +51,6 @@
}
"Entry"
{
"MsmKey" = "8:_24EE971158ED49B38B0773EA58C33E6F"
"OwnerKey" = "8:_UNDEFINED"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
"MsmKey" = "8:_26775E30E3134CB48E98A16974BAF443"
"OwnerKey" = "8:_UNDEFINED"
"MsmSig" = "8:_UNDEFINED"
@ -63,12 +63,6 @@
}
"Entry"
{
"MsmKey" = "8:_33BD777FB0CA488F96B43C8A9D0D1638"
"OwnerKey" = "8:_UNDEFINED"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
"MsmKey" = "8:_4023D519AC024666B875F39FEE70302D"
"OwnerKey" = "8:_UNDEFINED"
"MsmSig" = "8:_UNDEFINED"
@ -93,6 +87,12 @@
}
"Entry"
{
"MsmKey" = "8:_496687043FE94A48AC4C31E22097E863"
"OwnerKey" = "8:_UNDEFINED"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
"MsmKey" = "8:_4BC8F27506B949C887592E0802F41093"
"OwnerKey" = "8:_UNDEFINED"
"MsmSig" = "8:_UNDEFINED"
@ -111,6 +111,12 @@
}
"Entry"
{
"MsmKey" = "8:_5B105FED430E4D998914B3562D4A8EA1"
"OwnerKey" = "8:_UNDEFINED"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
"MsmKey" = "8:_6B0A5DA947344EF3998B5EFC0F591F76"
"OwnerKey" = "8:_UNDEFINED"
"MsmSig" = "8:_UNDEFINED"
@ -171,12 +177,6 @@
}
"Entry"
{
"MsmKey" = "8:_9BFD505E12784C9A97B3D567C0BEB8C1"
"OwnerKey" = "8:_UNDEFINED"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
"MsmKey" = "8:_9CDF186732904E43A4D641CE90A04327"
"OwnerKey" = "8:_UNDEFINED"
"MsmSig" = "8:_UNDEFINED"
@ -189,12 +189,6 @@
}
"Entry"
{
"MsmKey" = "8:_A76F97BE8A8049FEB37D29E540FBE2F9"
"OwnerKey" = "8:_UNDEFINED"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
"MsmKey" = "8:_A775E68A569849B29B4C803FDC954E9B"
"OwnerKey" = "8:_UNDEFINED"
"MsmSig" = "8:_UNDEFINED"
@ -207,48 +201,18 @@
}
"Entry"
{
"MsmKey" = "8:_AF6A9BB074714DE9926EE019616BE3D0"
"OwnerKey" = "8:_24EE971158ED49B38B0773EA58C33E6F"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
"MsmKey" = "8:_AF6A9BB074714DE9926EE019616BE3D0"
"OwnerKey" = "8:_33BD777FB0CA488F96B43C8A9D0D1638"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
"MsmKey" = "8:_AF6A9BB074714DE9926EE019616BE3D0"
"OwnerKey" = "8:_F483B367258C4C0196BA64210B2F9050"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
"MsmKey" = "8:_AF6A9BB074714DE9926EE019616BE3D0"
"OwnerKey" = "8:_E9000CEAF5CD467E91E857EE453F7775"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
"MsmKey" = "8:_AF6A9BB074714DE9926EE019616BE3D0"
"OwnerKey" = "8:_A76F97BE8A8049FEB37D29E540FBE2F9"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
"MsmKey" = "8:_AF6A9BB074714DE9926EE019616BE3D0"
"OwnerKey" = "8:_9BFD505E12784C9A97B3D567C0BEB8C1"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
"MsmKey" = "8:_B29E25690B014C0B846CFC4698D08846"
"OwnerKey" = "8:_UNDEFINED"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
"MsmKey" = "8:_B33CF4351D5E427D9F3457929AFB1CFE"
"OwnerKey" = "8:_UNDEFINED"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
"MsmKey" = "8:_B785154416ED4BB7A00CE5860A9FDBF8"
"OwnerKey" = "8:_UNDEFINED"
"MsmSig" = "8:_UNDEFINED"
@ -267,6 +231,18 @@
}
"Entry"
{
"MsmKey" = "8:_C7412C71954041018568B8F728496265"
"OwnerKey" = "8:_UNDEFINED"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
"MsmKey" = "8:_CABCFB3A84AF483B87164D02AE147ACE"
"OwnerKey" = "8:_UNDEFINED"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
"MsmKey" = "8:_D49BFC7330DD49F0BDE8F9C2EF409405"
"OwnerKey" = "8:_UNDEFINED"
"MsmSig" = "8:_UNDEFINED"
@ -309,12 +285,6 @@
}
"Entry"
{
"MsmKey" = "8:_E9000CEAF5CD467E91E857EE453F7775"
"OwnerKey" = "8:_UNDEFINED"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
"MsmKey" = "8:_F172228591AC4B2589FE3890572BD4EA"
"OwnerKey" = "8:_UNDEFINED"
"MsmSig" = "8:_UNDEFINED"
@ -327,12 +297,6 @@
}
"Entry"
{
"MsmKey" = "8:_F483B367258C4C0196BA64210B2F9050"
"OwnerKey" = "8:_UNDEFINED"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
"MsmKey" = "8:_FC13F305B3594CB983C4CA14BDC14B4A"
"OwnerKey" = "8:_UNDEFINED"
"MsmSig" = "8:_UNDEFINED"
@ -351,44 +315,8 @@
}
"Entry"
{
"MsmKey" = "8:_UNDEFINED"
"OwnerKey" = "8:_24EE971158ED49B38B0773EA58C33E6F"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
"MsmKey" = "8:_UNDEFINED"
"OwnerKey" = "8:_33BD777FB0CA488F96B43C8A9D0D1638"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
"MsmKey" = "8:_UNDEFINED"
"OwnerKey" = "8:_F483B367258C4C0196BA64210B2F9050"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
"MsmKey" = "8:_UNDEFINED"
"OwnerKey" = "8:_E9000CEAF5CD467E91E857EE453F7775"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
"MsmKey" = "8:_UNDEFINED"
"OwnerKey" = "8:_A76F97BE8A8049FEB37D29E540FBE2F9"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
"MsmKey" = "8:_UNDEFINED"
"OwnerKey" = "8:_9BFD505E12784C9A97B3D567C0BEB8C1"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
"MsmKey" = "8:_UNDEFINED"
"OwnerKey" = "8:_AF6A9BB074714DE9926EE019616BE3D0"
"MsmKey" = "8:_FFF1B42279C84C628F41C191D5DBD50F"
"OwnerKey" = "8:_UNDEFINED"
"MsmSig" = "8:_UNDEFINED"
}
}
@ -420,7 +348,7 @@
{
"{EDC2488A-8267-493A-A98E-7D9C3B36CDF3}:Microsoft.Net.Framework.2.0"
{
"Name" = "8:Microsoft .NET Framework 2.0"
"Name" = "8:.NET Framework 2.0"
"ProductCode" = "8:Microsoft.Net.Framework.2.0"
}
}
@ -458,213 +386,199 @@
{
"CustomAction"
{
"{4AA51A2D-7D85-4A59-BA75-B0809FC8B380}:_2A9CB5BF3B0D41BBABDB8B889C63493A"
"{4AA51A2D-7D85-4A59-BA75-B0809FC8B380}:_0649C6635880499891B6B5E745610A71"
{
"Name" = "8:Primary output from InitConfigFile (Active) (jaas.conf)"
"Name" = "8:Primary Output from CommandLauncher (Active) (InitConfigFile - CasaAuthTokenSettingsEditor.bat)"
"Condition" = "8:"
"Object" = "8:_9BFD505E12784C9A97B3D567C0BEB8C1"
"Object" = "8:_CABCFB3A84AF483B87164D02AE147ACE"
"FileType" = "3:2"
"InstallAction" = "3:1"
"Arguments" = "8:ATS_INSTALL_DIR=[TARGETDIR] propertyfile=[TARGETDIR]install.properties template=[TARGETDIR]ats\\etc\\svc\\templates\\jaas.conf output=[TARGETDIR]ats\\etc\\svc\\jaas.conf"
"EntryPoint" = "8:"
"Sequence" = "3:7"
"Identifier" = "8:_D5524CA6_C0E8_4F38_AD79_08EF4DC7C653"
"InstallerClass" = "11:FALSE"
"CustomActionData" = "8:"
}
"{4AA51A2D-7D85-4A59-BA75-B0809FC8B380}:_5C7B764EE14E4F75B569752C2BE22170"
{
"Name" = "8:Primary output from InitConfigFile (Active) (crypto.properties) Must occur prior to MungeCryptoPropertiesFilePath"
"Condition" = "8:"
"Object" = "8:_9BFD505E12784C9A97B3D567C0BEB8C1"
"FileType" = "3:2"
"InstallAction" = "3:1"
"Arguments" = "8:ATS_INSTALL_DIR=[TARGETDIR] template=[TARGETDIR]ats\\etc\\svc\\templates\\crypto.properties.template output=[TARGETDIR]ats\\etc\\svc\\templates\\crypto.properties.munge"
"EntryPoint" = "8:"
"Sequence" = "3:4"
"Identifier" = "8:_3A26A679_4460_4A81_A20B_9566DBAC0A3E"
"InstallerClass" = "11:FALSE"
"CustomActionData" = "8:"
}
"{4AA51A2D-7D85-4A59-BA75-B0809FC8B380}:_63B9A50F009D43DEA301F578AE712355"
{
"Name" = "8:Primary output from InitConfigFile (Active) (CasaAuthPolicyEditor.bat)"
"Condition" = "8:"
"Object" = "8:_9BFD505E12784C9A97B3D567C0BEB8C1"
"FileType" = "3:2"
"InstallAction" = "3:1"
"Arguments" = "8:ATS_INSTALL_DIR=[TARGETDIR] propertyfile=[TARGETDIR]install.properties template=[TARGETDIR]ats\\etc\\svc\\templates\\CasaAuthPolicyEditor.bat output=[TARGETDIR]ats\\bin\\CasaAuthPolicyEditor.bat"
"Arguments" = "8:\"[ATS_JAVA_EXE]\" -cp \"[TARGETDIR]ats\\bin\" InitConfigFile ATS_INSTALL_DIR=[TARGETDIR] propertyfile=[PROPERTYFILE] template=[TARGETDIR]ats\\etc\\svc\\templates\\CasaAuthTokenSettingsEditor.bat output=[TARGETDIR]ats\\bin\\CasaAuthTokenSettingsEditor.bat"
"EntryPoint" = "8:"
"Sequence" = "3:10"
"Identifier" = "8:_5BF5119E_CA43_4187_8AE0_4B8D98A2C3AF"
"Identifier" = "8:_C9280ED9_FF85_41A1_A63F_1D5A4DE7F708"
"InstallerClass" = "11:FALSE"
"CustomActionData" = "8:"
}
"{4AA51A2D-7D85-4A59-BA75-B0809FC8B380}:_641A2854068F40CA97BB2570FCBD8646"
"{4AA51A2D-7D85-4A59-BA75-B0809FC8B380}:_0D67D4E2DF614063A6E484DA7634504E"
{
"Name" = "8:Primary output from SetupAsWindowsService (Active)"
"Name" = "8:Primary Output from CommandLauncher (Active) (ServerKeystoreSetup)"
"Condition" = "8:"
"Object" = "8:_33BD777FB0CA488F96B43C8A9D0D1638"
"Object" = "8:_CABCFB3A84AF483B87164D02AE147ACE"
"FileType" = "3:2"
"InstallAction" = "3:1"
"Arguments" = "8:installdir=[TARGETDIR] propertyfile=[PROPERTYFILE]"
"EntryPoint" = "8:"
"Sequence" = "3:15"
"Identifier" = "8:_388E4C75_9DA9_47B5_9835_364652FF75A5"
"InstallerClass" = "11:FALSE"
"CustomActionData" = "8:"
}
"{4AA51A2D-7D85-4A59-BA75-B0809FC8B380}:_7224ECF911704A2D945FC6A1E3778E98"
{
"Name" = "8:Primary output from InitConfigFile (Active) (CasaIdenTokenSettingsEditor.bat)"
"Condition" = "8:"
"Object" = "8:_9BFD505E12784C9A97B3D567C0BEB8C1"
"FileType" = "3:2"
"InstallAction" = "3:1"
"Arguments" = "8:ATS_INSTALL_DIR=[TARGETDIR] propertyfile=[TARGETDIR]install.properties template=[TARGETDIR]ats\\etc\\svc\\templates\\CasaIdenTokenSettingsEditor.bat output=[TARGETDIR]ats\\bin\\CasaIdenTokenSettingsEditor.bat"
"EntryPoint" = "8:"
"Sequence" = "3:12"
"Identifier" = "8:_CF4E38AE_8DA5_447D_9330_0DD26864178E"
"InstallerClass" = "11:FALSE"
"CustomActionData" = "8:"
}
"{4AA51A2D-7D85-4A59-BA75-B0809FC8B380}:_72B63E81413D4F81960D5DFEDB7E5CAE"
{
"Name" = "8:Primary output from InitConfigFile (Active) (server.xml)"
"Condition" = "8:"
"Object" = "8:_9BFD505E12784C9A97B3D567C0BEB8C1"
"FileType" = "3:2"
"InstallAction" = "3:1"
"Arguments" = "8:ATS_INSTALL_DIR=[TARGETDIR] template=[TARGETDIR]ats\\etc\\svc\\templates\\server-sun.xml output=[TARGETDIR]ats\\catalinabase\\conf\\server.xml"
"EntryPoint" = "8:"
"Sequence" = "3:3"
"Identifier" = "8:_04B7F2FF_ADB6_4EF9_B293_4673323CB43E"
"InstallerClass" = "11:FALSE"
"CustomActionData" = "8:"
}
"{4AA51A2D-7D85-4A59-BA75-B0809FC8B380}:_75778738D12D4F449385455F65978074"
{
"Name" = "8:Primary output from InitConfigFile (Active) (svc.setting)"
"Condition" = "8:"
"Object" = "8:_9BFD505E12784C9A97B3D567C0BEB8C1"
"FileType" = "3:2"
"InstallAction" = "3:1"
"Arguments" = "8:ATS_INSTALL_DIR=[TARGETDIR] propertyfile=[TARGETDIR]install.properties template=[TARGETDIR]ats\\etc\\svc\\templates\\svc.settings output=[TARGETDIR]ats\\etc\\svc\\svc.settings IAREALMS_FILE_PATH=[TARGETDIR]ats\\etc\\svc\\iaRealms.xml"
"EntryPoint" = "8:"
"Sequence" = "3:14"
"Identifier" = "8:_DF0105D8_6D43_4643_9E4C_36F9131DCBBA"
"InstallerClass" = "11:FALSE"
"CustomActionData" = "8:"
}
"{4AA51A2D-7D85-4A59-BA75-B0809FC8B380}:_7AC32F7EF2A5442D93B9DB5FEEA4F407"
{
"Name" = "8:Primary output from InitConfigFile (Active) (shutdown.bat)"
"Condition" = "8:"
"Object" = "8:_9BFD505E12784C9A97B3D567C0BEB8C1"
"FileType" = "3:2"
"InstallAction" = "3:1"
"Arguments" = "8:ATS_INSTALL_DIR=[TARGETDIR] propertyfile=[TARGETDIR]install.properties template=[TARGETDIR]ats\\etc\\svc\\templates\\shutdown.bat output=[TARGETDIR]ats\\bin\\shutdown.bat"
"EntryPoint" = "8:"
"Sequence" = "3:9"
"Identifier" = "8:_783B8556_08E3_4304_A23D_BE54FBC69705"
"InstallerClass" = "11:FALSE"
"CustomActionData" = "8:"
}
"{4AA51A2D-7D85-4A59-BA75-B0809FC8B380}:_8841B5390752441387C9D9694DEFAB92"
{
"Name" = "8:Primary output from InitConfigFile (Active) (startup.bat)"
"Condition" = "8:"
"Object" = "8:_9BFD505E12784C9A97B3D567C0BEB8C1"
"FileType" = "3:2"
"InstallAction" = "3:1"
"Arguments" = "8:ATS_INSTALL_DIR=[TARGETDIR] propertyfile=[TARGETDIR]install.properties template=[TARGETDIR]ats\\etc\\svc\\templates\\startup.bat output=[TARGETDIR]ats\\bin\\startup.bat"
"EntryPoint" = "8:"
"Sequence" = "3:8"
"Identifier" = "8:_A652A5B9_DE90_418E_9E3E_C803D9496C26"
"InstallerClass" = "11:FALSE"
"CustomActionData" = "8:"
}
"{4AA51A2D-7D85-4A59-BA75-B0809FC8B380}:_8D7D11687B9649C5ACC8E2C82086070A"
{
"Name" = "8:Primary output from MungeCryptoPropertiesFilePath (Active) Must occur after InitConfigFile for crypto.properties and prior to UpdateWarFile"
"Condition" = "8:"
"Object" = "8:_A76F97BE8A8049FEB37D29E540FBE2F9"
"FileType" = "3:2"
"InstallAction" = "3:1"
"Arguments" = "8:input=[TARGETDIR]ats\\etc\\svc\\templates\\crypto.properties.munge output=[TARGETDIR]ats\\etc\\svc\\templates\\crypto.properties"
"EntryPoint" = "8:"
"Sequence" = "3:5"
"Identifier" = "8:_7C957A08_A5A9_4DB1_A599_90DA693A50C9"
"InstallerClass" = "11:FALSE"
"CustomActionData" = "8:"
}
"{4AA51A2D-7D85-4A59-BA75-B0809FC8B380}:_9489DC4664D24B38A96DFB2595793753"
{
"Name" = "8:Primary output from UpdateWarFile (Active) Must occur after MungeCryptoPropertiesFilePath"
"Condition" = "8:"
"Object" = "8:_24EE971158ED49B38B0773EA58C33E6F"
"FileType" = "3:2"
"InstallAction" = "3:1"
"Arguments" = "8:ATS_INSTALL_DIR=[TARGETDIR]"
"EntryPoint" = "8:"
"Sequence" = "3:6"
"Identifier" = "8:_8E85EC88_AD21_4692_8AD4_501FF00933C0"
"InstallerClass" = "11:FALSE"
"CustomActionData" = "8:"
}
"{4AA51A2D-7D85-4A59-BA75-B0809FC8B380}:_A2BF9CF795C349B29F17C4AAB96C1152"
{
"Name" = "8:Primary output from InitConfigFile (Active) (CasaSvcSettingsEditor.bat)"
"Condition" = "8:"
"Object" = "8:_9BFD505E12784C9A97B3D567C0BEB8C1"
"FileType" = "3:2"
"InstallAction" = "3:1"
"Arguments" = "8:ATS_INSTALL_DIR=[TARGETDIR] propertyfile=[TARGETDIR]install.properties template=[TARGETDIR]ats\\etc\\svc\\templates\\CasaSvcSettingsEditor.bat output=[TARGETDIR]ats\\bin\\CasaSvcSettingsEditor.bat"
"EntryPoint" = "8:"
"Sequence" = "3:13"
"Identifier" = "8:_B3396B9F_264C_447E_86E7_18E989866C40"
"InstallerClass" = "11:FALSE"
"CustomActionData" = "8:"
}
"{4AA51A2D-7D85-4A59-BA75-B0809FC8B380}:_A647641D8B3F49BB9C8668B6D4654E56"
{
"Name" = "8:Primary output from ServerKeystoreSetup (Active)"
"Condition" = "8:"
"Object" = "8:_F483B367258C4C0196BA64210B2F9050"
"FileType" = "3:2"
"InstallAction" = "3:1"
"Arguments" = "8:installdir=[TARGETDIR] propertyfile=[PROPERTYFILE]"
"Arguments" = "8:\"[ATS_JAVA_EXE]\" -cp \"[TARGETDIR]ats\\bin\" ServerKeystoreSetup installdir=[TARGETDIR] propertyfile=[PROPERTYFILE]"
"EntryPoint" = "8:"
"Sequence" = "3:1"
"Identifier" = "8:_F7AED41A_0CC4_4E3F_9788_07B7A2111BB6"
"Identifier" = "8:_95FF5D11_14EF_4F9B_8F58_CE64CB7D4B8C"
"InstallerClass" = "11:FALSE"
"CustomActionData" = "8:"
}
"{4AA51A2D-7D85-4A59-BA75-B0809FC8B380}:_F0FA873BBF61452DA2094B90463F0398"
"{4AA51A2D-7D85-4A59-BA75-B0809FC8B380}:_1342D0740E9D4057A7A52F213A87522E"
{
"Name" = "8:Primary output from ClientKeystoreSetup (Active)"
"Name" = "8:Primary Output from CommandLauncher (Active) (InitConfigFile - shutdown.bat)"
"Condition" = "8:"
"Object" = "8:_E9000CEAF5CD467E91E857EE453F7775"
"Object" = "8:_CABCFB3A84AF483B87164D02AE147ACE"
"FileType" = "3:2"
"InstallAction" = "3:1"
"Arguments" = "8:installdir=[TARGETDIR] propertyfile=[PROPERTYFILE]"
"Arguments" = "8:\"[ATS_JAVA_EXE]\" -cp \"[TARGETDIR]ats\\bin\" InitConfigFile ATS_INSTALL_DIR=[TARGETDIR] propertyfile=[PROPERTYFILE] template=[TARGETDIR]ats\\etc\\svc\\templates\\shutdown.bat output=[TARGETDIR]ats\\bin\\shutdown.bat"
"EntryPoint" = "8:"
"Sequence" = "3:2"
"Identifier" = "8:_9528EA85_BC6A_4C4B_8815_486C867778EB"
"Sequence" = "3:8"
"Identifier" = "8:_D5A5CC5A_E7DE_4A66_8B8B_AC62B1F0E802"
"InstallerClass" = "11:FALSE"
"CustomActionData" = "8:"
}
"{4AA51A2D-7D85-4A59-BA75-B0809FC8B380}:_F7E003096E2B4D808366302D130C41DD"
"{4AA51A2D-7D85-4A59-BA75-B0809FC8B380}:_18232292AAE24AC8890F4EDC2C6CA303"
{
"Name" = "8:Primary output from InitConfigFile (Active) (CasaAuthTokenSettingsEditor.bat)"
"Name" = "8:Primary Output from CommandLauncher (Active) (InitConfigFile - svc.setting)"
"Condition" = "8:"
"Object" = "8:_9BFD505E12784C9A97B3D567C0BEB8C1"
"Object" = "8:_CABCFB3A84AF483B87164D02AE147ACE"
"FileType" = "3:2"
"InstallAction" = "3:1"
"Arguments" = "8:ATS_INSTALL_DIR=[TARGETDIR] propertyfile=[TARGETDIR]install.properties template=[TARGETDIR]ats\\etc\\svc\\templates\\CasaAuthTokenSettingsEditor.bat output=[TARGETDIR]ats\\bin\\CasaAuthTokenSettingsEditor.bat"
"Arguments" = "8:\"[ATS_JAVA_EXE]\" -cp \"[TARGETDIR]ats\\bin\" ATS_INSTALL_DIR=[TARGETDIR] propertyfile=[PROPERTYFILE] template=[TARGETDIR]ats\\etc\\svc\\templates\\svc.settings output=[TARGETDIR]ats\\etc\\svc\\svc.settings"
"EntryPoint" = "8:"
"Sequence" = "3:13"
"Identifier" = "8:_D0E0C7AD_FE1B_42BC_84CB_367FF7DA3462"
"InstallerClass" = "11:FALSE"
"CustomActionData" = "8:"
}
"{4AA51A2D-7D85-4A59-BA75-B0809FC8B380}:_29F602AEB0EE49038CF6F2FCCAB91D13"
{
"Name" = "8:Primary Output from CommandLauncher (Active) (UpdateWarFile) Must occur after MungeCryptoPropertiesFilePath"
"Condition" = "8:"
"Object" = "8:_CABCFB3A84AF483B87164D02AE147ACE"
"FileType" = "3:2"
"InstallAction" = "3:1"
"Arguments" = "8:\"[ATS_JAVA_EXE]\" -cp \"[TARGETDIR]ats\\bin\" UpdateWarFile ATS_INSTALL_DIR=[TARGETDIR]"
"EntryPoint" = "8:"
"Sequence" = "3:6"
"Identifier" = "8:_EE7DCFDC_5F7D_4CB5_A0CF_94F7FA99D5E3"
"InstallerClass" = "11:FALSE"
"CustomActionData" = "8:"
}
"{4AA51A2D-7D85-4A59-BA75-B0809FC8B380}:_4C26B01B6C7D45C1B87201E4021E5C34"
{
"Name" = "8:Primary Output from CommandLauncher (Active) (InitConfigFile - CasaSvcSettingsEditor.bat)"
"Condition" = "8:"
"Object" = "8:_CABCFB3A84AF483B87164D02AE147ACE"
"FileType" = "3:2"
"InstallAction" = "3:1"
"Arguments" = "8:\"[ATS_JAVA_EXE]\" -cp \"[TARGETDIR]ats\\bin\" InitConfigFile ATS_INSTALL_DIR=[TARGETDIR] propertyfile=[PROPERTYFILE] template=[TARGETDIR]ats\\etc\\svc\\templates\\CasaSvcSettingsEditor.bat output=[TARGETDIR]ats\\bin\\CasaSvcSettingsEditor.bat"
"EntryPoint" = "8:"
"Sequence" = "3:12"
"Identifier" = "8:_0712449A_9964_46BE_B561_3D920BEB6858"
"InstallerClass" = "11:FALSE"
"CustomActionData" = "8:"
}
"{4AA51A2D-7D85-4A59-BA75-B0809FC8B380}:_86FFE7CBBCAE482B943C1345B8A19463"
{
"Name" = "8:Primary Output from CommandLauncher (Active) (InitConfigFile - crypto.properties) Must occur prior to MungeCryptoPropertiesFilePath"
"Condition" = "8:"
"Object" = "8:_CABCFB3A84AF483B87164D02AE147ACE"
"FileType" = "3:2"
"InstallAction" = "3:1"
"Arguments" = "8:\"[ATS_JAVA_EXE]\" -cp \"[TARGETDIR]ats\\bin\" InitConfigFile ATS_INSTALL_DIR=[TARGETDIR] propertyfile=[PROPERTYFILE] template=[TARGETDIR]ats\\etc\\svc\\templates\\CasaAuthTokenSettingsEditor.bat output=[TARGETDIR]ats\\bin\\CasaAuthTokenSettingsEditor.bat"
"EntryPoint" = "8:"
"Sequence" = "3:4"
"Identifier" = "8:_DCF56A01_EC29_4577_BF02_98B5C0530733"
"InstallerClass" = "11:FALSE"
"CustomActionData" = "8:"
}
"{4AA51A2D-7D85-4A59-BA75-B0809FC8B380}:_963A40E37B0B4C4D88DF53E8857DFC55"
{
"Name" = "8:Primary Output from CommandLauncher (Active) (InitConfigFile - CasaIdenTokenSettingsEditor.bat)"
"Condition" = "8:"
"Object" = "8:_CABCFB3A84AF483B87164D02AE147ACE"
"FileType" = "3:2"
"InstallAction" = "3:1"
"Arguments" = "8:\"[ATS_JAVA_EXE]\" -cp \"[TARGETDIR]ats\\bin\" InitConfigFile ATS_INSTALL_DIR=[TARGETDIR] propertyfile=[PROPERTYFILE] template=[TARGETDIR]ats\\etc\\svc\\templates\\CasaIdenTokenSettingsEditor.bat output=[TARGETDIR]ats\\bin\\CasaIdenTokenSettingsEditor.bat"
"EntryPoint" = "8:"
"Sequence" = "3:11"
"Identifier" = "8:_18FC0D9A_DD2F_4D55_BED7_6D85A053D2E1"
"Identifier" = "8:_3A733ACF_EEB9_4CB3_AC1F_1BE0D2754801"
"InstallerClass" = "11:FALSE"
"CustomActionData" = "8:"
}
"{4AA51A2D-7D85-4A59-BA75-B0809FC8B380}:_A8313CF92A734AF496D20732762B3AC8"
{
"Name" = "8:Primary Output from CommandLauncher (Active) (InitConfigFile - CasaAuthPolicyEditor.bat)"
"Condition" = "8:"
"Object" = "8:_CABCFB3A84AF483B87164D02AE147ACE"
"FileType" = "3:2"
"InstallAction" = "3:1"
"Arguments" = "8:\"[ATS_JAVA_EXE]\" -cp \"[TARGETDIR]ats\\bin\" InitConfigFile ATS_INSTALL_DIR=[TARGETDIR] propertyfile=[PROPERTYFILE] template=[TARGETDIR]ats\\etc\\svc\\templates\\CasaAuthPolicyEditor.bat output=[TARGETDIR]ats\\bin\\CasaAuthPolicyEditor.bat"
"EntryPoint" = "8:"
"Sequence" = "3:9"
"Identifier" = "8:_A0F2A4A3_2CAF_4930_9CA7_394EBED23657"
"InstallerClass" = "11:FALSE"
"CustomActionData" = "8:"
}
"{4AA51A2D-7D85-4A59-BA75-B0809FC8B380}:_BA6223F1398F4FFDAAB8418B6CBA7254"
{
"Name" = "8:Primary Output from CommandLauncher (Active) (SetupAsWindowsService)"
"Condition" = "8:"
"Object" = "8:_CABCFB3A84AF483B87164D02AE147ACE"
"FileType" = "3:2"
"InstallAction" = "3:1"
"Arguments" = "8:\"[ATS_JAVA_EXE]\" -cp \"[TARGETDIR]ats\\bin\" SetupAsWindowsService installdir=[TARGETDIR] propertyfile=[PROPERTYFILE]"
"EntryPoint" = "8:"
"Sequence" = "3:14"
"Identifier" = "8:_7A98817C_F65F_4FA3_86D5_1CA9941CB2ED"
"InstallerClass" = "11:FALSE"
"CustomActionData" = "8:"
}
"{4AA51A2D-7D85-4A59-BA75-B0809FC8B380}:_BC29F1229F604A44B70AC43EEE347C89"
{
"Name" = "8:Primary Output from CommandLauncher (Active) (MungeCryptoPropertiesFilePath) Must occur after InitConfigFile for crypto.properties and prior to UpdateWarFile"
"Condition" = "8:"
"Object" = "8:_CABCFB3A84AF483B87164D02AE147ACE"
"FileType" = "3:2"
"InstallAction" = "3:1"
"Arguments" = "8:\"[ATS_JAVA_EXE]\" -cp \"[TARGETDIR]ats\\bin\" MungeCryptoPropertiesFilePath input=[TARGETDIR]ats\\etc\\svc\\templates\\crypto.properties.munge output=[TARGETDIR]ats\\etc\\svc\\templates\\crypto.properties"
"EntryPoint" = "8:"
"Sequence" = "3:5"
"Identifier" = "8:_0DF5E5EA_0E59_4C5A_89E9_8E215C5B65EE"
"InstallerClass" = "11:FALSE"
"CustomActionData" = "8:"
}
"{4AA51A2D-7D85-4A59-BA75-B0809FC8B380}:_CF3F745785C74730B9C621D7CA4601BE"
{
"Name" = "8:Primary Output from CommandLauncher (Active) (ClientKeystoreSetup)"
"Condition" = "8:"
"Object" = "8:_CABCFB3A84AF483B87164D02AE147ACE"
"FileType" = "3:2"
"InstallAction" = "3:1"
"Arguments" = "8:\"[ATS_JAVA_EXE]\" -cp \"[TARGETDIR]ats\\bin\" ClientKeystoreSetup installdir=[TARGETDIR] propertyfile=[PROPERTYFILE]"
"EntryPoint" = "8:"
"Sequence" = "3:2"
"Identifier" = "8:_23EDDD01_570B_4D80_BFE1_F1506C8BE5D3"
"InstallerClass" = "11:FALSE"
"CustomActionData" = "8:"
}
"{4AA51A2D-7D85-4A59-BA75-B0809FC8B380}:_E0F0B5DC44B644FEA323F054D95632EA"
{
"Name" = "8:Primary Output from CommandLauncher (Active) (InitConfigFile - startup.bat)"
"Condition" = "8:"
"Object" = "8:_CABCFB3A84AF483B87164D02AE147ACE"
"FileType" = "3:2"
"InstallAction" = "3:1"
"Arguments" = "8:\"[ATS_JAVA_EXE]\" -cp \"[TARGETDIR]ats\\bin\" InitConfigFile ATS_INSTALL_DIR=[TARGETDIR] propertyfile=[PROPERTYFILE] template=[TARGETDIR]ats\\etc\\svc\\templates\\startup.bat output=[TARGETDIR]ats\\bin\\startup.bat"
"EntryPoint" = "8:"
"Sequence" = "3:7"
"Identifier" = "8:_CA5EFB45_9474_4F04_93D5_67848CE9D58A"
"InstallerClass" = "11:FALSE"
"CustomActionData" = "8:"
}
"{4AA51A2D-7D85-4A59-BA75-B0809FC8B380}:_E7EF78190F31478F894EC953D6954F80"
{
"Name" = "8:Primary Output from CommandLauncher (Active) (InitConfigFile - server.xml)"
"Condition" = "8:"
"Object" = "8:_CABCFB3A84AF483B87164D02AE147ACE"
"FileType" = "3:2"
"InstallAction" = "3:1"
"Arguments" = "8:\"[ATS_JAVA_EXE]\" -cp \"[TARGETDIR]ats\\bin\" InitConfigFile ATS_INSTALL_DIR=[TARGETDIR] template=[TARGETDIR]ats\\etc\\svc\\templates\\server-sun.xml output=[TARGETDIR]ats\\catalinabase\\conf\\server.xml"
"EntryPoint" = "8:"
"Sequence" = "3:3"
"Identifier" = "8:_81520F3E_2A16_41C2_8617_0E2A7AE15DC3"
"InstallerClass" = "11:FALSE"
"CustomActionData" = "8:"
}
@ -751,6 +665,26 @@
"IsDependency" = "11:FALSE"
"IsolateTo" = "8:"
}
"{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_1B3A4C8191564F31884500B4CE426618"
{
"SourcePath" = "8:..\\ClientKeystoreSetup\\bin\\ClientKeystoreSetup.class"
"TargetName" = "8:ClientKeystoreSetup.class"
"Tag" = "8:"
"Folder" = "8:_62B357DC6D484761A18291FA3525320C"
"Condition" = "8:"
"Transitive" = "11:FALSE"
"Vital" = "11:TRUE"
"ReadOnly" = "11:FALSE"
"Hidden" = "11:FALSE"
"System" = "11:FALSE"
"Permanent" = "11:FALSE"
"SharedLegacy" = "11:FALSE"
"PackageAs" = "3:1"
"Register" = "3:1"
"Exclude" = "11:FALSE"
"IsDependency" = "11:FALSE"
"IsolateTo" = "8:"
}
"{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_1B40D00F3F624D2ABF0631F7D71EDB4B"
{
"SourcePath" = "8:..\\..\\..\\Svc\\external\\axis-ant.jar"
@ -911,6 +845,26 @@
"IsDependency" = "11:FALSE"
"IsolateTo" = "8:"
}
"{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_496687043FE94A48AC4C31E22097E863"
{
"SourcePath" = "8:..\\ServerKeystoreSetup\\bin\\ServerKeystoreSetup.class"
"TargetName" = "8:ServerKeystoreSetup.class"
"Tag" = "8:"
"Folder" = "8:_62B357DC6D484761A18291FA3525320C"
"Condition" = "8:"
"Transitive" = "11:FALSE"
"Vital" = "11:TRUE"
"ReadOnly" = "11:FALSE"
"Hidden" = "11:FALSE"
"System" = "11:FALSE"
"Permanent" = "11:FALSE"
"SharedLegacy" = "11:FALSE"
"PackageAs" = "3:1"
"Register" = "3:1"
"Exclude" = "11:FALSE"
"IsDependency" = "11:FALSE"
"IsolateTo" = "8:"
}
"{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_4BC8F27506B949C887592E0802F41093"
{
"SourcePath" = "8:..\\..\\..\\Svc\\templates\\startup.bat"
@ -971,6 +925,26 @@
"IsDependency" = "11:FALSE"
"IsolateTo" = "8:"
}
"{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_5B105FED430E4D998914B3562D4A8EA1"
{
"SourcePath" = "8:..\\UpdateWarFile\\bin\\UpdateWarFile.class"
"TargetName" = "8:UpdateWarFile.class"
"Tag" = "8:"
"Folder" = "8:_62B357DC6D484761A18291FA3525320C"
"Condition" = "8:"
"Transitive" = "11:FALSE"
"Vital" = "11:TRUE"
"ReadOnly" = "11:FALSE"
"Hidden" = "11:FALSE"
"System" = "11:FALSE"
"Permanent" = "11:FALSE"
"SharedLegacy" = "11:FALSE"
"PackageAs" = "3:1"
"Register" = "3:1"
"Exclude" = "11:FALSE"
"IsDependency" = "11:FALSE"
"IsolateTo" = "8:"
}
"{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_6B0A5DA947344EF3998B5EFC0F591F76"
{
"SourcePath" = "8:..\\..\\..\\Svc\\templates\\CasaIdenTokenSettingsEditor.bat"
@ -1271,6 +1245,26 @@
"IsDependency" = "11:FALSE"
"IsolateTo" = "8:"
}
"{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_B33CF4351D5E427D9F3457929AFB1CFE"
{
"SourcePath" = "8:..\\SetupAsWindowsService\\bin\\SetupAsWindowsService.class"
"TargetName" = "8:SetupAsWindowsService.class"
"Tag" = "8:"
"Folder" = "8:_62B357DC6D484761A18291FA3525320C"
"Condition" = "8:"
"Transitive" = "11:FALSE"
"Vital" = "11:TRUE"
"ReadOnly" = "11:FALSE"
"Hidden" = "11:FALSE"
"System" = "11:FALSE"
"Permanent" = "11:FALSE"
"SharedLegacy" = "11:FALSE"
"PackageAs" = "3:1"
"Register" = "3:1"
"Exclude" = "11:FALSE"
"IsDependency" = "11:FALSE"
"IsolateTo" = "8:"
}
"{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_B785154416ED4BB7A00CE5860A9FDBF8"
{
"SourcePath" = "8:..\\..\\..\\Svc\\build\\CasaSvcSettingsEditor.jar"
@ -1331,6 +1325,26 @@
"IsDependency" = "11:FALSE"
"IsolateTo" = "8:"
}
"{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_C7412C71954041018568B8F728496265"
{
"SourcePath" = "8:..\\MungeCryptoPropertiesFilePath\\bin\\MungeCryptoPropertiesFilePath.class"
"TargetName" = "8:MungeCryptoPropertiesFilePath.class"
"Tag" = "8:"
"Folder" = "8:_62B357DC6D484761A18291FA3525320C"
"Condition" = "8:"
"Transitive" = "11:FALSE"
"Vital" = "11:TRUE"
"ReadOnly" = "11:FALSE"
"Hidden" = "11:FALSE"
"System" = "11:FALSE"
"Permanent" = "11:FALSE"
"SharedLegacy" = "11:FALSE"
"PackageAs" = "3:1"
"Register" = "3:1"
"Exclude" = "11:FALSE"
"IsDependency" = "11:FALSE"
"IsolateTo" = "8:"
}
"{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_D49BFC7330DD49F0BDE8F9C2EF409405"
{
"SourcePath" = "8:..\\..\\..\\Svc\\external\\wss4j-1.5.0.jar"
@ -1571,6 +1585,26 @@
"IsDependency" = "11:FALSE"
"IsolateTo" = "8:"
}
"{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_FFF1B42279C84C628F41C191D5DBD50F"
{
"SourcePath" = "8:..\\InitConfigFile\\bin\\InitConfigFile.class"
"TargetName" = "8:InitConfigFile.class"
"Tag" = "8:"
"Folder" = "8:_62B357DC6D484761A18291FA3525320C"
"Condition" = "8:"
"Transitive" = "11:FALSE"
"Vital" = "11:TRUE"
"ReadOnly" = "11:FALSE"
"Hidden" = "11:FALSE"
"System" = "11:FALSE"
"Permanent" = "11:FALSE"
"SharedLegacy" = "11:FALSE"
"PackageAs" = "3:1"
"Register" = "3:1"
"Exclude" = "11:FALSE"
"IsDependency" = "11:FALSE"
"IsolateTo" = "8:"
}
}
"FileType"
{
@ -1920,7 +1954,7 @@
"Name" = "8:Microsoft Visual Studio"
"ProductName" = "8:server-java_msi"
"ProductCode" = "8:{A8C0CB21-B404-4B79-B076-ECA9AB23D80A}"
"PackageCode" = "8:{6E8E8138-7BA0-493D-865D-E8176969F3D6}"
"PackageCode" = "8:{C55D4877-9F39-49A6-9BA9-3ABFF15B61E7}"
"UpgradeCode" = "8:{DCF8EE94-B530-4C96-9C74-CEA1A54769AF}"
"RestartWWWService" = "11:FALSE"
"RemovePreviousVersions" = "11:FALSE"
@ -2435,26 +2469,12 @@
}
"MergeModule"
{
"{CEE29DC0-9FBA-4B99-8D47-5BC643D9B626}:_AF6A9BB074714DE9926EE019616BE3D0"
{
"UseDynamicProperties" = "11:TRUE"
"IsDependency" = "11:TRUE"
"SourcePath" = "8:vjsharpredist_x86.msm"
"Properties"
{
}
"LanguageId" = "3:0"
"Exclude" = "11:TRUE"
"Folder" = "8:"
"Feature" = "8:"
"IsolateTo" = "8:"
}
}
"ProjectOutput"
{
"{5259A561-127C-4D43-A0A1-72F10C7B3BF8}:_24EE971158ED49B38B0773EA58C33E6F"
"{5259A561-127C-4D43-A0A1-72F10C7B3BF8}:_CABCFB3A84AF483B87164D02AE147ACE"
{
"SourcePath" = "8:..\\UpdateWarFile\\obj\\x86\\Debug\\UpdateWarFile.exe"
"SourcePath" = "8:..\\CommandLauncher\\bin\\CommandLauncher.exe"
"TargetName" = "8:"
"Tag" = "8:"
"Folder" = "8:_62B357DC6D484761A18291FA3525320C"
@ -2474,147 +2494,7 @@
"ProjectOutputGroupRegister" = "3:1"
"OutputConfiguration" = "8:"
"OutputGroupCanonicalName" = "8:Built"
"OutputProjectGuid" = "8:{38A7408E-9446-4DEA-9F76-2A901AE5F16B}"
"ShowKeyOutput" = "11:TRUE"
"ExcludeFilters"
{
}
}
"{5259A561-127C-4D43-A0A1-72F10C7B3BF8}:_33BD777FB0CA488F96B43C8A9D0D1638"
{
"SourcePath" = "8:..\\SetupAsWindowsService\\obj\\x86\\Debug\\SetupAsWindowsService.exe"
"TargetName" = "8:"
"Tag" = "8:"
"Folder" = "8:_62B357DC6D484761A18291FA3525320C"
"Condition" = "8:"
"Transitive" = "11:FALSE"
"Vital" = "11:TRUE"
"ReadOnly" = "11:FALSE"
"Hidden" = "11:FALSE"
"System" = "11:FALSE"
"Permanent" = "11:FALSE"
"SharedLegacy" = "11:FALSE"
"PackageAs" = "3:1"
"Register" = "3:1"
"Exclude" = "11:FALSE"
"IsDependency" = "11:FALSE"
"IsolateTo" = "8:"
"ProjectOutputGroupRegister" = "3:1"
"OutputConfiguration" = "8:"
"OutputGroupCanonicalName" = "8:Built"
"OutputProjectGuid" = "8:{BED4F512-4A94-4EC2-9479-43AFA8E4EAE1}"
"ShowKeyOutput" = "11:TRUE"
"ExcludeFilters"
{
}
}
"{5259A561-127C-4D43-A0A1-72F10C7B3BF8}:_9BFD505E12784C9A97B3D567C0BEB8C1"
{
"SourcePath" = "8:..\\InitConfigFile\\obj\\x86\\Debug\\InitConfigFile.exe"
"TargetName" = "8:"
"Tag" = "8:"
"Folder" = "8:_62B357DC6D484761A18291FA3525320C"
"Condition" = "8:"
"Transitive" = "11:FALSE"
"Vital" = "11:TRUE"
"ReadOnly" = "11:FALSE"
"Hidden" = "11:FALSE"
"System" = "11:FALSE"
"Permanent" = "11:FALSE"
"SharedLegacy" = "11:FALSE"
"PackageAs" = "3:1"
"Register" = "3:1"
"Exclude" = "11:FALSE"
"IsDependency" = "11:FALSE"
"IsolateTo" = "8:"
"ProjectOutputGroupRegister" = "3:1"
"OutputConfiguration" = "8:"
"OutputGroupCanonicalName" = "8:Built"
"OutputProjectGuid" = "8:{E3528B18-D4A0-4604-B2C5-8EE36E094A40}"
"ShowKeyOutput" = "11:TRUE"
"ExcludeFilters"
{
}
}
"{5259A561-127C-4D43-A0A1-72F10C7B3BF8}:_A76F97BE8A8049FEB37D29E540FBE2F9"
{
"SourcePath" = "8:..\\MungeCryptoPropertiesFilePath\\obj\\x86\\Debug\\MungeCryptoPropertiesFilePath.exe"
"TargetName" = "8:"
"Tag" = "8:"
"Folder" = "8:_62B357DC6D484761A18291FA3525320C"
"Condition" = "8:"
"Transitive" = "11:FALSE"
"Vital" = "11:TRUE"
"ReadOnly" = "11:FALSE"
"Hidden" = "11:FALSE"
"System" = "11:FALSE"
"Permanent" = "11:FALSE"
"SharedLegacy" = "11:FALSE"
"PackageAs" = "3:1"
"Register" = "3:1"
"Exclude" = "11:FALSE"
"IsDependency" = "11:FALSE"
"IsolateTo" = "8:"
"ProjectOutputGroupRegister" = "3:1"
"OutputConfiguration" = "8:"
"OutputGroupCanonicalName" = "8:Built"
"OutputProjectGuid" = "8:{75D8742F-4778-4978-9032-ED9649BA402D}"
"ShowKeyOutput" = "11:TRUE"
"ExcludeFilters"
{
}
}
"{5259A561-127C-4D43-A0A1-72F10C7B3BF8}:_E9000CEAF5CD467E91E857EE453F7775"
{
"SourcePath" = "8:..\\ClientKeystoreSetup\\obj\\x86\\Debug\\ClientKeystoreSetup.exe"
"TargetName" = "8:"
"Tag" = "8:"
"Folder" = "8:_62B357DC6D484761A18291FA3525320C"
"Condition" = "8:"
"Transitive" = "11:FALSE"
"Vital" = "11:TRUE"
"ReadOnly" = "11:FALSE"
"Hidden" = "11:FALSE"
"System" = "11:FALSE"
"Permanent" = "11:FALSE"
"SharedLegacy" = "11:FALSE"
"PackageAs" = "3:1"
"Register" = "3:1"
"Exclude" = "11:FALSE"
"IsDependency" = "11:FALSE"
"IsolateTo" = "8:"
"ProjectOutputGroupRegister" = "3:1"
"OutputConfiguration" = "8:"
"OutputGroupCanonicalName" = "8:Built"
"OutputProjectGuid" = "8:{89D5D921-A2E6-4ED9-A724-8C7DAAC09AC5}"
"ShowKeyOutput" = "11:TRUE"
"ExcludeFilters"
{
}
}
"{5259A561-127C-4D43-A0A1-72F10C7B3BF8}:_F483B367258C4C0196BA64210B2F9050"
{
"SourcePath" = "8:..\\ServerKeystoreSetup\\obj\\x86\\Debug\\ServerKeystoreSetup.exe"
"TargetName" = "8:"
"Tag" = "8:"
"Folder" = "8:_62B357DC6D484761A18291FA3525320C"
"Condition" = "8:"
"Transitive" = "11:FALSE"
"Vital" = "11:TRUE"
"ReadOnly" = "11:FALSE"
"Hidden" = "11:FALSE"
"System" = "11:FALSE"
"Permanent" = "11:FALSE"
"SharedLegacy" = "11:FALSE"
"PackageAs" = "3:1"
"Register" = "3:1"
"Exclude" = "11:FALSE"
"IsDependency" = "11:FALSE"
"IsolateTo" = "8:"
"ProjectOutputGroupRegister" = "3:1"
"OutputConfiguration" = "8:"
"OutputGroupCanonicalName" = "8:Built"
"OutputProjectGuid" = "8:{BAF8BCFB-1C97-4CA7-B03E-E588A67B21E0}"
"OutputProjectGuid" = "8:{B52EF84A-D745-4637-9F59-DBD6E21C179C}"
"ShowKeyOutput" = "11:TRUE"
"ExcludeFilters"
{