Compare commits

...

No commits in common. "vmware" and "master" have entirely different histories.

3220 changed files with 1236 additions and 76127 deletions

6646
FILES

File diff suppressed because it is too large Load Diff

67
INSTALL
View File

@ -1,67 +0,0 @@
Copyright (c) 1998-2015 VMware, Inc. All rights reserved.
Please visit http://www.vmware.com/info?id=99 for help on getting started
installing VMware Tools.
_____________________________________________________________________________
INSTALLING/UPGRADING
To install/upgrade VMware Tools for Linux,
run the program "vmware-install.pl" from a command prompt, either in text
mode or from a terminal inside an X session. You must have super user
privileges (i.e. be logged as root) to run it.
./vmware-install.pl
If you are installing VMware Tools for the first time,
you can hit the <enter> key each time you are prompted to select the
factory default answer. By default,
the installation program installs:
the executables in /usr/bin,
the server executables in /usr/sbin,
the library files in /usr/lib/vmware-tools,
and the documentation files in /usr/share/doc/vmware-tools.
If you have previously installed VMware Tools,
you can hit the <enter> key each time you are prompted to keep your previous
answer, or you can decide to submit a new answer.
Once the installation/upgrade is complete, you can safely remove the
vmware-tools-distrib directory from your system.
CONFIGURING
In order to run correctly, VMware Tools must first be configured.
To configure VMware Tools, run the program "vmware-config-tools.pl" (this is
automatically done for you at the end of the installation/upgrade
process if you answer "yes" to the last question). You must have super user
privileges (i.e. be logged as root) to run it.
vmware-config-tools.pl
This will teach VMware Tools how to run on your current Linux kernel.
If you reboot your machine with a new kernel that VMware Tools
doesn't know yet (because, let's say, you have upgraded your Linux system),
you will have to run this configuration program again.
Then, VMware Tools will know this new kernel once and for all.
______________________________________________________________________________
UNINSTALLING
To remove an existing installation, run the program
"vmware-uninstall-tools.pl".
You must have super user privileges (i.e. be logged as root) to run it.
vmware-uninstall-tools.pl
The uninstall process will delete all installed files, and will backup the
files that have been modified since they have been installed.
______________________________________________________________________________
We hope you will enjoy this product,
--The VMware team.

View File

@ -1,379 +0,0 @@
#!/bin/sh
##########################################################################
# Copyright (c) 2006-2015 VMware, Inc. All rights reserved.
##########################################################################
#
# VMware Tools Support Script
#
# Collects various configuration and log files for use when troubleshooting
# UNIX guests.
#
# usage(): prints how to use this script
usage()
{
echo ""
echo "Usage: $0 [-h]"
echo " -h prints this usage statement"
exit 1
}
# banner(): prints any number of strings padded with
# newlines before and after.
banner()
{
echo
for option in "$@"
do
echo $option
done
echo
}
# The status constants are important and have to be kept
# in sync with VMware Workstation implementation
# vm-support script is not running
VMSUPPORT_NOT_RUNNING=0
# vm-support script is beginning
VMSUPPORT_BEGINNING=1
# vm-support script running in progress
VMSUPPORT_RUNNING=2
# vm-support script is ending
VMSUPPORT_ENDING=3
# vm-support script failed
VMSUPPORT_ERROR=10
# vm-support collection not supported
VMSUPPORT_UNKNOWN=100
#internal state machine state for update
update=0
# UpdateState($state): Updates the VM with the given state.
UpdateState()
{
if [ $update -eq 1 ]; then
vmware-xferlogs upd $1
fi
}
# checkOutputDir(): checks for a self contained output
# directory for later tar'ing and creates it if needed
checkOutputDir()
{
dir="$1"
if [ ! -d "${OUTPUT_DIR}$dir" ]; then
mkdir -p "${OUTPUT_DIR}$dir"
if [ $? != 0 ]; then
banner "Could not create ${OUTPUT_DIR}$dir... " \
"Have you run out of disk space?" "Continuing"
return -1
fi
fi
return 0
}
# addfile(): copies whatever files and directories you give it to
# a self contained output directory for later tar'ing
# Working on copies could slow this down with VERY large files but:
# 1) We don't expect VERY large files
# 2) Since /proc files can be copied this preserves the tree without
# having to cat them all into a file.
# 3) tar barfs on open files like logs if it changes while it's tar'ing.
# Copying file first makes sure tar doesn't complain
addfile()
{
file="$1"
if [ ! -e "$file" ]; then
return 2
fi
dir=`dirname "$file"`
checkOutputDir "$dir"
if [ $? != 0 ]; then
return $?
fi
# Ignore stdout and handle errors.
cp -pRP "$file" "${OUTPUT_DIR}$dir" 2>/dev/null
if [ $? != 0 ]; then
banner "Could not copy '$file' to the tar area."
fi
}
# addfiles(): adds a list of files to the archive.
addfiles()
{
for i in "$@"; do
addfile $i
done
}
# addGrubFile(): adds a grub file to the archive after
# replacing password hash with 'xxxxxx'
addGrubFile()
{
file="$1"
addfile "$file"
if [ $? != 0 ]; then
return
fi
# Avoid tempering with links
if [ ! -L "${OUTPUT_DIR}$file" ]; then
cat "${OUTPUT_DIR}$file" | \
sed 's/password[[:space:]]\+\(.*\)[[:space:]]\+\(.*\)$/password \1 xxxxxx/g' > \
"${OUTPUT_DIR}$file.modified"
mv "${OUTPUT_DIR}$file.modified" "${OUTPUT_DIR}$file"
fi
}
# runcmd($out, $cmd): executes the command redirected to a file
runcmd()
{
outFileRelPath="$1"
shift # The command arguments are in "$@".
dir=`dirname "$outFileRelPath"`
checkOutputDir "$dir"
if [ $? != 0 ]; then
return
fi
"$@" > "$OUTPUT_DIR$outFileRelPath" 2>/dev/null
if [ $? != 0 ]; then
echo 3
banner "Either could not run $@ or could not write to" \
"${OUTPUT_DIR}$outFileRelPath" \
"Do you have a full disk? Continuing..."
fi
}
# stageLinux(): gather information for troubleshooting Linux guests.
stageLinux()
{
# Try to collect bootloader config.
addfile /etc/lilo.conf
# And for grub we are not sure about the exact default location so collect them
# all.
addGrubFile /boot/grub/grub.conf
addGrubFile /boot/grub/menu.lst
addGrubFile /etc/grub.conf
# Old linux kernel use modules.conf while new kernel use modprobe.conf and modprobe.d
addfile /etc/modules.conf
addfile /etc/modprobe.conf
addfile /etc/modprobe.d
addfile /etc/cron.daily
addfile /etc/cron.hourly
addfile /etc/cron.monthly
addfile /etc/cron.weekly
addfile /etc/crontab
addfile /etc/ntp.conf
addfile /etc/security
addfile /etc/services
addfile /proc/interrupts
addfile /proc/irq
# Commands to run ($2) and redirect to logs ($1) for inclusion.
runcmd "/tmp/ps-auwwx.txt" ps auwwx
runcmd "/tmp/lspci1.txt" lspci -M -vvv -nn -xxxx
runcmd "/tmp/lspci2.txt" lspci -t -v -nn -F "${OUTPUT_DIR}/tmp/lspci1.txt"
runcmd "/tmp/lspci3.txt" lspci -vvv -nn
runcmd "/tmp/modules.txt" /sbin/lsmod
runcmd "/tmp/uname.txt" uname -a
runcmd "/tmp/issue.txt" cat /etc/issue
if which rpm &> /dev/null; then
runcmd "/tmp/rpm-qa.txt" rpm -qa
fi
runcmd "/tmp/netstat-lan.txt" netstat -lan
runcmd "/tmp/route.txt" route
runcmd "/tmp/free.txt" free
}
# stageFreeBSD(): gather information for troubleshooting FreeBSD guests.
stageFreeBSD()
{
runcmd "/tmp/ps-auwwx.txt" ps auwwx
}
# stageSolaris(): gather information for troubleshooting Solaris guests.
stageSolaris()
{
runcmd "/tmp/ps-eaf.txt" ps -eaf
}
# error(): prints an error message using the "banner" funtion and quits.
error()
{
banner "$@"
UpdateState $VMSUPPORT_ERROR
exit 1
}
# Cleanup our temp folder and optionally exit.
cleanup()
{
exitCode="$1"
rm -rf "$OUTPUT_DIR"
if [ $? != 0 ]; then
banner "$OUTPUT_DIR was not successfully removed." \
"Please remove manually."
fi
if [ "$exitCode" ]; then
exit "$exitCode"
fi
}
# This executable may run with root privileges, so hardcode a PATH where
# unprivileged users cannot write.
export PATH=/bin:/sbin:/usr/bin:/usr/sbin
TARFILE=vm-`date +%Y-%m-%d`.$$.tar.gz
VER=0.92
# Parse args
for option in $@
do
case $option in
"-h")
usage
;;
"-u")
update=1
;;
*)
usage
;;
esac
done
# Start message
UpdateState $VMSUPPORT_BEGINNING
banner "VMware UNIX Support Script $VER"
# Check for root privledge
if [ `whoami` != 'root' ]; then
error "Please re-run this program as root. "
fi
# Source /etc/profile. If we can't find it, it's the users problem to get
# their paths straight.
if [ -f /etc/profile ]; then
. /etc/profile
fi
# Protect against non-default values of $IFS (Not all scripts in /etc/profile.d/
# are good citizens).
if [ `uname` != 'SunOS' ]; then
unset IFS 2>/dev/null
fi
# Create a temporary directory to place the files to archive.
#
# o mktemp creates a new directory, with a random name, and gives it
# permissions 700 so only the current user (and root) can access the
# contents of the directory. This prevents a rogue user from:
# 1) Guessing the name of the directory.
# 2) Performing a symlink attack inside the directory.
# 3) Reading data inside the directory, that only the current user (and root)
# are supposed to access.
# o The directory is created inside /tmp, so only the current user (and root)
# can delete the directory. This prevents a rogue user from wholesale
# replacing the directory after we have created it, with a directory that has
# more lenient permissions.
OUTPUT_DIR="`mktemp -d /tmp/vm-support.XXXXXX`"
if [ $? != 0 ]; then
banner "Could not create a secure temporary directory. Exiting..."
exit 1
fi
# Cleanup our temp folder if the process is signalled midway.
trap "cleanup 1" HUP INT QUIT TERM ABRT
banner "Collecting support information..."
# Common stuff that we gather for all OSes.
runcmd "/tmp/vm-support-version.txt" echo vm-support version: $VER
addfiles /etc/vmware-tools
addfiles /var/log/boot*
addfiles /var/log/secure*
addfiles /var/log/messages*
addfiles /var/log/syslog*
addfiles /var/log/vmware-*
addfiles /var/run/vmware-*
runcmd "/tmp/df.txt" df
runcmd "/tmp/ifconfig.txt" ifconfig -a
runcmd "/tmp/mount.txt" mount
runcmd "/tmp/dmesg.txt" dmesg
runcmd "/tmp/ulimit-a.txt" ulimit -a
runcmd "/tmp/uptime.txt" uptime
runcmd "/tmp/date.txt" date
runcmd "/tmp/umask.txt" umask
case `uname` in
Linux)
stageLinux
# tar options: 'S' for sparse core files.
TAR_OPTS=-czSf
;;
FreeBSD)
stageFreeBSD
TAR_OPTS=-czf
;;
SunOS)
stageSolaris
TAR_OPTS=-czf
;;
esac
UpdateState $VMSUPPORT_RUNNING
banner "Creating tar archive..."
# Set umask to make diagnostic information unreadable to other users to avoid
# possible information leakage.
(umask 0077 && tar $TAR_OPTS $TARFILE $OUTPUT_DIR)
if [ $? != 0 ]; then
banner "The tar process did not successfully complete!" \
"If tar reports that a file changed while reading, please attempt " \
"to rerun this script."
fi
# Clean up temporary files
trap - HUP INT QUIT TERM ABRT; cleanup
banner "Uploading archive to host..."
vmware-xferlogs enc $TARFILE 2>/dev/null
if [ $? != 0 ]; then
banner "Could not transmit logs successfully: either the vmware-xferlogs " \
"binary is not in the path, or you are not in a virtual machine."
fi
UpdateState $VMSUPPORT_ENDING
banner "Done, support data available in '$TARFILE'."

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -1,97 +0,0 @@
[globals]
input_dir=${env:CAF_INPUT_DIR}
output_dir=${env:CAF_OUTPUT_DIR}
config_dir=${env:CAF_CONFIG_DIR}
log_dir=${env:CAF_LOG_DIR}
response_dir=${output_dir}/responses
event_dir=${output_dir}/events
request_dir=${output_dir}/requests
tmp_dir=${output_dir}/tmp
certs_dir=${input_dir}/certs
log_config_file=${config_dir}/CommAmqpListener-log4cpp_config
thread_stack_size_kb=0
pme_id=${env:CAF_PME_ID}
schema_namespace_root=http://schemas.vmware.com/caf/schema
schema_location_root=http://10.25.57.32/caf-downloads/schema
[communication_amqp]
working_dir=${output_dir}/comm-wrk
context_file=${env:CAF_COMMAMQPLISTENER_CONTEXT}
reactive_request_queue_id=${env:CAF_REACTIVE_REQUEST_AMQP_QUEUEID}
startup_timeout=5000
shutdown_timeout=5000
connection_retry_interval=5000
# Temporarily set to 60MB for Hyperic Agent POC
# 1024 Bytes/KB * 1024 KB/MB * 60
max_part_size=62976000
amqp_protocol=amqp
amqp_port=5672
amqp_broker=${env:CAF_BROKER_ADDRESS}
amqps_protocol=amqps
amqps_port=5671
amqps_broker=${env:CAF_BROKER_ADDRESS}
tunnel_protocol=tunnel
tunnel_port=6672
tunnel_broker=localhost
tunnel_username=agentId1
tunnel_password=not_a_real_password
vhost=caf
connection_timeout=5000
connection_retry_interval=5000
channel_cache_size=4
reply_timeout=5000
[security]
public_key_path=${certs_dir}/publicKey.pem
private_key_path=${certs_dir}/privateKey.pem
cms_ca_certificate_path=${certs_dir}/cacert.pem
ca_certificate_path=${env:CAF_CA_CERT}
cms_policy=CAF_Encrypted_And_Signed
is_signing_enforced=true
is_encryption_enforced=true
protocol=TLSv1
ciphers=SRP-RSA-AES-128-CBC-SHA
[subsystems]
# Integration System Beans
com.vmware.commonagent.integration.objectfactory=IntegrationSubsys
com.vmware.commonagent.integration.channels.errorchannel=IntegrationSubsys
com.vmware.commonagent.integration.channels.nullchannel=IntegrationSubsys
com.vmware.commonagent.integration.headerexpressioninvoker=IntegrationSubsys
# Communication Integration Beans
com.vmware.caf.comm.integration.cmsmessagetransformer=CommIntegrationSubsys
com.vmware.caf.comm.integration.cmsmessagetransformerinstance=CommIntegrationSubsys
com.vmware.caf.comm.integration.eventtopiccalculator=CommIntegrationSubsys
com.vmware.caf.comm.integration.replytoresolver=CommIntegrationSubsys
com.vmware.caf.comm.integration.incomingmessagehandler=CommIntegrationSubsys
com.vmware.caf.comm.integration.incomingmessagehandlerinstance=CommIntegrationSubsys
com.vmware.caf.comm.integration.outgoingmessagehandler=CommIntegrationSubsys
com.vmware.caf.comm.integration.protocolheaderenricher=CommIntegrationSubsys
com.vmware.caf.comm.integration.protocolheaderenricherinstance=CommIntegrationSubsys
com.vmware.caf.comm.integration.replytocacher=CommIntegrationSubsys
com.vmware.caf.comm.integration.replytocacherinstance=CommIntegrationSubsys
com.vmware.caf.comm.integration.replytoresolver=CommIntegrationSubsys
com.vmware.caf.comm.integration.objects=CommAmqpIntegrationSubsys
# Amqp Listener Context Beans
com.vmware.caf.comm.integration.amqp.caching.connection.factory=CommAmqpIntegrationSubsys
com.vmware.caf.comm.integration.amqp.secure.caching.connection.factory=CommAmqpIntegrationSubsys
# CAF Integration System Beans
com.vmware.commonagent.cafintegration.errortoresponsetransformerinstance=CafIntegrationSubsys
com.vmware.commonagent.cafintegration.errortoresponsetransformer=CafIntegrationSubsys
com.vmware.commonagent.cafintegration.payloadheaderenricherinstance=CafIntegrationSubsys
com.vmware.commonagent.cafintegration.payloadheaderenricher=CafIntegrationSubsys

View File

@ -1,73 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<caf:beans
xmlns:caf="http://schemas.vmware.com/caf/schema/fx"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://schemas.vmware.com/caf/schema/fx http://10.25.57.32/caf-downloads/schema/fx/CafIntegration.xsd">
<import resource="IntBeanConfigFile.xml"/>
<import resource="CommAmqpListener-context-common.xml"/>
<bean
id="amqpConnectionFactory"
class="com.vmware.caf.comm.integration.amqp.caching.connection.factory">
<property name="protocol" value="${var:communication_amqp:amqp_protocol}"/>
<property name="host" value="${var:communication_amqp:amqp_broker}"/>
<property name="port" value="${var:communication_amqp:amqp_port}"/>
<property name="virtualHost" value="${var:communication_amqp:vhost}"/>
<property name="username" value="${var:communication_amqp:amqp_username}"/>
<property name="password" value="${var:communication_amqp:amqp_password}"/>
<property name="connectionTimeout" value="${var:communication_amqp:connection_timeout}"/>
<property name="channelCacheSize" value="3"/>
</bean>
<rabbit-outbound-channel-adapter
id="amqpResponseOutboundChannel"
channel="managementMessageOutboundAmqp"
amqp-template="amqpTemplate"
exchange-name="client.mgmt.direct"
routing-key-expression="@headerExprInvoker.toString('replyTo')"
mapped-request-headers="caf.msg.*|amqp*" />
<rabbit-outbound-channel-adapter
id="amqpEventOutboundChannel"
channel="eventOutFileChannel"
amqp-template="amqpTemplate"
exchange-name="client.mgmt.event"
routing-key="caf.event" />
<rabbit-inbound-channel-adapter
id="amqpRequestInboundChannel"
channel="managementInboundAmqp"
queue-name="#{managementMessageQ}"
connection-factory="amqpConnectionFactory"
error-channel="errorChannel"
mapped-request-headers="caf.msg.*|amqp*" />
<rabbit-template
id="amqpTemplate"
connection-factory="amqpConnectionFactory"/>
<rabbit-admin
connection-factory="amqpConnectionFactory" />
<rabbit-queue
id="managementMessageQ"
name="${var:communication_amqp:reactive_request_queue_id}.mgmt"
auto-delete="true"
durable="false"/>
<rabbit-direct-exchange
name="agent.mgmt.direct">
<rabbit-bindings>
<rabbit-binding
queue="managementMessageQ"
key="${var:communication_amqp:reactive_request_queue_id}.mgmt" />
</rabbit-bindings>
</rabbit-direct-exchange>
<rabbit-direct-exchange
name="client.mgmt.direct" />
<rabbit-topic-exchange
name="client.mgmt.event" />
</caf:beans>

View File

@ -1,224 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<caf:beans
xmlns:caf="http://schemas.vmware.com/caf/schema/fx"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://schemas.vmware.com/caf/schema/fx http://10.25.57.32/caf-downloads/schema/fx/CafIntegration.xsd">
<import resource="IntBeanConfigFile.xml"/>
<!-- <channel id="logger"/> -->
<!-- <int:logging-channel-adapter channel="logger" log-full-message="true" level="INFO"/> -->
<!-- <int:wire-tap channel="logger" pattern="*"/> -->
<!-- Listener Infrastructure -->
<bean
id="amqpIntegrationObjects"
class="com.vmware.caf.comm.integration.objects" />
<bean
id="replyToResolver"
class="com.vmware.caf.comm.integration.replytoresolver"/>
<bean
id="eventTopicCalculator"
class="com.vmware.caf.comm.integration.eventtopiccalculator"/>
<bean
id="outgoingMessageHandler"
class="com.vmware.caf.comm.integration.outgoingmessagehandler"/>
<bean
id="headerExprInvoker"
class="com.vmware.commonagent.integration.headerexpressioninvoker" />
<bean
id="cmsMessageTransformerBean"
class="com.vmware.caf.comm.integration.cmsmessagetransformer">
<property name="encryptPublicKeyPath" value="${var:security:public_key_path}"/>
<property name="encryptPrivateKeyPath" value="${var:security:private_key_path}"/>
<property name="signPublicKeyPath" value="${var:security:public_key_path}"/>
<property name="signPrivateKeyPath" value="${var:security:private_key_path}"/>
<property name="caCertificatePath" value="${var:security:cms_ca_certificate_path}"/>
<property name="cmsPolicy" value="${var:security:cms_policy}"/>
<property name="isSigningEnforced" value="${var:security:is_signing_enforced}"/>
<property name="isEncryptionEnforced" value="${var:security:is_encryption_enforced}"/>
<property name="protocol" value="${var:security:protocol}"/>
<property name="ciphers" value="${var:security:ciphers}"/>
</bean>
<bean
id="incomingMessageHandlerBean"
class="com.vmware.caf.comm.integration.incomingmessagehandler"/>
<bean
id="replyToCacherBean"
class="com.vmware.caf.comm.integration.replytocacher"/>
<bean
id="payloadHeaderEnricherBean"
class="com.vmware.commonagent.cafintegration.payloadheaderenricher" >
<property name="includeFilename" value="false"/>
</bean>
<!-- Outbound messages -->
<channel id="responseFileChannel" />
<channel id="managementMessageOutboundAmqp" />
<file-inbound-channel-adapter
id="responseInboundChannel"
auto-create-directory="true"
filename-regex=".*\.xml"
directory="${var:globals:response_dir}"
channel="responseFileChannel" />
<chain
id="responseChain"
input-channel="responseFileChannel"
output-channel="managementMessageOutboundAmqp" >
<file-to-string-transformer
id="responseFileToString"
charset="UTF-8"
delete-files="true" />
<transformer
id="payloadHeaderEnricher"
ref="payloadHeaderEnricherBean"/>
<header-enricher
id="responseHeaderEnricher">
<header
name="replyTo"
expression="@replyToResolver.lookupReplyTo()"/>
<header
name="cafcomm.internal.msgflow"
value="OUTGOING"/>
</header-enricher>
<transformer
id="outgoingCmsMessageTransformerId"
ref="cmsMessageTransformerBean"/>
<service-activator
id="outgoingMessageServiceActivator"
ref="outgoingMessageHandler"/>
</chain>
<!-- proactive messages -->
<channel id="eventFileChannel" />
<channel id="eventOutFileChannel" />
<file-inbound-channel-adapter
id="eventInboundChannel"
auto-create-directory="true"
filename-regex=".*\.xml"
directory="${var:globals:event_dir}"
channel="eventFileChannel" />
<chain
id="eventChain"
input-channel="eventFileChannel"
output-channel="eventOutFileChannel">
<file-to-string-transformer
id="eventFileToString"
charset="UTF-8"
delete-files="true" />
<transformer
id="payloadHeaderEnricher"
ref="payloadHeaderEnricherBean"/>
<header-enricher
id="eventHeaderEnricher">
<header
name="cafcomm.internal.msgflow"
value="OUTGOING"/>
</header-enricher>
<transformer
id="outgoingCmsMessageTransformerId"
ref="cmsMessageTransformerBean"/>
</chain>
<!-- Inbound messages -->
<channel id="managementInboundAmqp" />
<channel id="managementInboundChannel" />
<chain
id="requestChain"
input-channel="managementInboundAmqp"
output-channel="managementInboundChannel">
<header-enricher
id="requestEnricher">
<header
name="cafcomm.internal.msgflow"
value="INCOMING"/>
</header-enricher>
<transformer
id="requestIncomingMessageHandler"
ref="incomingMessageHandlerBean"/>
<transformer
id="payloadHeaderEnricher"
ref="payloadHeaderEnricherBean"/>
<transformer
id="requestReplyToCacher"
ref="replyToCacherBean"
reply-to-resolver="replyToResolver"/>
<transformer
id="incomingCmsMessageTransformerId"
ref="cmsMessageTransformerBean"/>
</chain>
<file-outbound-channel-adapter
id="requestOutboundChannel"
channel="managementInboundChannel"
auto-create-directory="true"
delete-source-files="true"
charset="UTF-8"
directory="${var:globals:request_dir}"
temporary-file-suffix=".tmp" />
<!-- Stores the error information from the default error channel into the respose directory. -->
<channel id="fileSenderErrChannel"/>
<bean
id="errorToResponseTransformerBean"
class="com.vmware.commonagent.cafintegration.errortoresponsetransformer" />
<chain
id="responseErrorChain"
input-channel="errorChannel"
output-channel="fileSenderErrChannel">
<!-- Convert the error information into an error response message. -->
<transformer
id="errorToResponseTransformer"
ref="errorToResponseTransformerBean"/>
</chain>
<!-- Store the response into the responses directory. In normal processing, the responses
directory is monitored by the listener process, which sends the responses back to
the client. -->
<file-outbound-channel-adapter
id="responseErrFileOutbound"
channel="fileSenderErrChannel"
directory="${var:globals:response_dir}"
delete-source-files="true" />
<!-- AMQP Infrastructure -->
<!-- SSL
<bean id="amqps-conn-factory" class="com.vmware.caf.commapi.integration.SslConnectionFactory">
<property name="uri" value="amqps://${brokerAddress}/${brokerVhost}"/>
<property name="connectionTimeout" value="10000"/>
<property name="clientCertPath" value="${brokerClientCertPath}"/>
<property name="clientKeyPath" value="${brokerClientKeyPath}"/>
<property name="caCertPath" value="${brokerCaCertPath}"/>
<property name="ciphers" value="${sslCiphers}"/>
<property name="protocol" value="${sslProtocol}"/>
</bean>
<bean id="connectionFactory" class="org.springframework.amqp.rabbit.connection.CachingConnectionFactory">
<constructor-arg ref="amqps-conn-factory"/>
</bean>
-->
</caf:beans>

View File

@ -1,55 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<caf:beans
xmlns:caf="http://schemas.vmware.com/caf/schema/fx"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://schemas.vmware.com/caf/schema/fx http://10.25.57.32/caf-downloads/schema/fx/CafIntegration.xsd">
<import resource="IntBeanConfigFile.xml"/>
<import resource="CommAmqpListener-context-common.xml"/>
<bean
id="tunnelConnectionFactory"
class="com.vmware.caf.comm.integration.amqp.secure.caching.connection.factory">
<property name="protocol" value="${var:communication_amqp:tunnel_protocol}"/>
<property name="host" value="${var:communication_amqp:tunnel_broker}"/>
<property name="port" value="${var:communication_amqp:tunnel_port}"/>
<property name="virtualHost" value="${var:communication_amqp:vhost}"/>
<property name="username" value="${var:communication_amqp:tunnel_username}"/>
<property name="password" value="${var:communication_amqp:tunnel_password}"/>
<property name="caCertPath" value="${var:security:ca_certificate_path}"/>
<property name="clientCertPath" value="${var:security:public_key_path}"/>
<property name="clientKeyPath" value="${var:security:private_key_path}"/>
<property name="connectionTimeout" value="${var:communication_amqp:connection_timeout}"/>
<property name="channelCacheSize" value="3"/>
</bean>
<rabbit-outbound-channel-adapter
id="tunnelResponseOutboundChannel"
channel="managementMessageOutboundAmqp"
amqp-template="amqpTemplate"
exchange-name="client.mgmt.direct"
routing-key-expression="@headerExprInvoker.toString('replyTo')"
mapped-request-headers="caf.msg.*|amqp*" />
<rabbit-outbound-channel-adapter
id="tunnelEventOutboundChannel"
channel="eventOutFileChannel"
amqp-template="amqpTemplate"
exchange-name="client.mgmt.event"
routing-key="caf.event" />
<rabbit-inbound-channel-adapter
id="tunnelRequestInboundChannel"
channel="managementInboundAmqp"
queue-name="${var:communication_amqp:reactive_request_queue_id}.mgmt"
connection-factory="tunnelConnectionFactory"
error-channel="errorChannel"
mapped-request-headers="caf.msg.*|amqp*" />
<rabbit-template
id="amqpTemplate"
connection-factory="tunnelConnectionFactory"/>
<rabbit-admin
connection-factory="tunnelConnectionFactory" />
</caf:beans>

View File

@ -1,18 +0,0 @@
#log4j.rootCategory=DEBUG, console
log4j.rootCategory=WARN, rolling
log4j.appender.console=org.apache.log4j.ConsoleAppender
log4j.appender.console.layout=org.apache.log4j.PatternLayout
log4j.appender.console.layout.ConversionPattern=%p|%d{ISO8601}|%t|%c|%m%n
log4j.appender.logfile=org.apache.log4j.FileAppender
log4j.appender.logfile.fileName=CommAmqpListener-log4cpp.log
log4j.appender.logfile.layout=org.apache.log4j.PatternLayout
log4j.appender.logfile.layout.ConversionPattern=%p|%d{ISO8601}|%t|%c|%m%n
log4j.appender.rolling=org.apache.log4j.RollingFileAppender
log4j.appender.rolling.fileName=CommAmqpListener-log4cpp_rolling.log
log4j.appender.rolling.layout=org.apache.log4j.PatternLayout
log4j.appender.rolling.layout.ConversionPattern=%p|%d{ISO8601}|%t|%c|%m%n
log4j.appender.rolling.MaxFileSize=1024KB
log4j.appender.rolling.MaxBackupIndex=5

View File

@ -1,19 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<caf:beans
xmlns:caf="http://schemas.vmware.com/caf/schema/fx"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://schemas.vmware.com/caf/schema/fx http://10.25.57.32/caf-downloads/schema/fx/CafIntegration.xsd">
<bean
id="integrationObjectFactory"
class="com.vmware.commonagent.integration.objectfactory" />
<bean
id="errorChannelBean"
class="com.vmware.commonagent.integration.channels.errorchannel" />
<bean
id="nullChannelBean"
class="com.vmware.commonagent.integration.channels.nullchannel" />
</caf:beans>

View File

@ -1,61 +0,0 @@
#!/bin/sh
#######################################################
#
# Purpose: Sets install variables.
#
#######################################################
# Specifies the PME ID (UUID) of this machine.
tunnelPort=$(netstat -ldn | egrep ":6672 ")
if [ -f /etc/vmware-tools/GuestProxyData/VmVcUuid/vm.vc.uuid -a "$tunnelPort" != "" ]; then
export CAF_REACTIVE_REQUEST_AMQP_QUEUEID=$(cat /etc/vmware-tools/GuestProxyData/VmVcUuid/vm.vc.uuid)-agentId1
export CAF_PME_ID=$CAF_REACTIVE_REQUEST_AMQP_QUEUEID
export CAF_COMMAMQPLISTENER_CONTEXT=@configDir@/CommAmqpListener-context-tunnel.xml
export CAF_BROKER_ADDRESS=localhost
export CAF_CA_CERT=/etc/vmware-tools/GuestProxyData/server/cert.pem
else
export CAF_REACTIVE_REQUEST_AMQP_QUEUEID=@pmeId@
export CAF_PME_ID=$CAF_REACTIVE_REQUEST_AMQP_QUEUEID
export CAF_COMMAMQPLISTENER_CONTEXT=@configDir@/CommAmqpListener-context-amqp.xml
# Specifies the hostname or IP4 address of the RabbitMQ broker handling
# communication between the application server and this PME.
export CAF_BROKER_ADDRESS=@brokerAddr@
export CAF_CA_CERT="@inputDir@/certs/cacert.pem"
fi
# Specifies where python is located.
export CAF_PYTHON_DIR=/opt/vmware/caf/python
# Substitute @binDir@ for the value passed in during install
# Maps to 'bin' in the build output
export CAF_BIN_DIR="@binDir@"
# Substitute @libDir@ for the value passed in during install
# Maps to 'lib' in the build output
export CAF_LIB_DIR="@libDir@"
# Substitute @configDir@ for the value passed in during install
# Maps to 'config' in the build output
export CAF_CONFIG_DIR="@configDir@"
# Substitute @inputDir@ for the value passed in during install
# Maps to 'data/input' in the build output
export CAF_INPUT_DIR="@inputDir@"
# Substitute @outputDir@ for the value passed in during install
# No mapping in the build output since the output files are created at run-time
export CAF_OUTPUT_DIR="@outputDir@"
# Substitute @invokersDir@ for the value passed in during install
# Maps to 'invokers' in the build output - Used by the internal providers
export CAF_INVOKERS_DIR="@invokersDir@"
# Substitute @providersDir@ for the value passed in during install
# Maps to 'providers' in the build output - Used by the internal providers
export CAF_PROVIDERS_DIR="@providersDir@"
# Substitute @logDir@ for the value passed in during install
# No mapping in the build output since the log files are created at run-time
export CAF_LOG_DIR="@logDir@"

View File

@ -1,96 +0,0 @@
[globals]
input_dir=${env:CAF_INPUT_DIR}
output_dir=${env:CAF_OUTPUT_DIR}
config_dir=${env:CAF_CONFIG_DIR}
log_dir=${env:CAF_LOG_DIR}
response_dir=${output_dir}/responses
request_dir=${output_dir}/requests
tmp_dir=${output_dir}/tmp
bean_config_file=${config_dir}/ma-context.xml
log_config_file=${config_dir}/ma-log4cpp_config
thread_stack_size_kb=0
schema_namespace_root=http://schemas.vmware.com/caf/schema
schema_location_root=http://10.25.57.32/caf-downloads/schema
[security]
cms_policy=CAF_Encrypted_And_Signed
[managementAgent]
host_delay_sec=5
host_integration_timeout_ms=5000
use_impersonation=false
remap_logging_location=true
[providerHost]
formatter_moniker_CMDL=com.vmware.commonagent.providerfx.providercdifformatter
install_dir=${config_dir}/../install
invokers_dir=${env:CAF_INVOKERS_DIR}
providers_dir=${env:CAF_PROVIDERS_DIR}
schema_cache_dir=${output_dir}/schemaCache
provider_reg_dir=${input_dir}/providerReg
common_packages_dir=${input_dir}/commonPackages
[provider]
diagFileAliases=ma-appconfig:ma-log4cpp_config:ma-context:CommAmqpListener-appconfig:CommAmqpListener-log4cpp_config:CommAmqpListener-context:IntBeanConfigFile
diagFileAlias_ma-appconfig=file://${root_dir}/config/ma-appconfig?encoding=iniFile
diagFileAlias_ma-log4cpp_config=file://${root_dir}/config/ma-log4cpp_config?encoding=iniFileWithoutSection
diagFileAlias_ma-context=file://${root_dir}/config/ma-context.xml?encoding=xmlFile
diagFileAlias_CommAmqpListener-appconfig=file://${root_dir}/config/CommAmqpListener-appconfig?encoding=iniFile
diagFileAlias_CommAmqpListener-log4cpp_config=file://${root_dir}/config/CommAmqpListener-log4cpp_config?encoding=iniFileWithoutSection
diagFileAlias_CommAmqpListener-context=file://${root_dir}/config/CommAmqpListener-context.xml?encoding=xmlFile
diagFileAlias_IntBeanConfigFile=file://${root_dir}/config/IntBeanConfigFile.xml?encoding=xmlFile
[subsystems]
# Integration System Beans
com.vmware.commonagent.integration.objectfactory=IntegrationSubsys
com.vmware.commonagent.integration.channels.errorchannel=IntegrationSubsys
com.vmware.commonagent.integration.channels.nullchannel=IntegrationSubsys
# CAF Integration
com.vmware.commonagent.cafintegration.errortoresponsetransformerinstance=CafIntegrationSubsys
com.vmware.commonagent.cafintegration.errortoresponsetransformer=CafIntegrationSubsys
com.vmware.commonagent.cafintegration.payloadheaderenricherinstance=CafIntegrationSubsys
com.vmware.commonagent.cafintegration.payloadheaderenricher=CafIntegrationSubsys
com.vmware.commonagent.cafintegration.envelopetopayloadtransformerinstance=CafIntegrationSubsys
com.vmware.commonagent.cafintegration.envelopetopayloadtransformer=CafIntegrationSubsys
# Management Agent
com.vmware.commonagent.managementagent.mareqaddin1=MaIntegrationSubsys
com.vmware.commonagent.managementagent.mareqaddin2=MaIntegrationSubsys
com.vmware.commonagent.managementagent.marspaddin1=MaIntegrationSubsys
com.vmware.commonagent.managementagent.marspaddin2=MaIntegrationSubsys
com.vmware.commonagent.maintegration.guestauthenticatorinstance=VgAuthIntegrationSubsys
com.vmware.commonagent.maintegration.guestauthenticator=VgAuthIntegrationSubsys
# Provider Fx
com.vmware.commonagent.providerfx.providerdriver=ProviderFxSubsys
com.vmware.commonagent.providerfx.providercdifformatter=ProviderFxSubsys
# MA Integration
com.vmware.commonagent.maintegration.collectschemaexecutor=MaIntegrationSubsys
com.vmware.commonagent.maintegration.providercollectschemaexecutor=MaIntegrationSubsys
com.vmware.commonagent.maintegration.providerexecutor=MaIntegrationSubsys
com.vmware.commonagent.maintegration.singlepmerequestsplitterinstance=MaIntegrationSubsys
com.vmware.commonagent.maintegration.singlepmerequestsplitter=MaIntegrationSubsys
com.vmware.commonagent.maintegration.diagtomgmtrequesttransformerinstance=MaIntegrationSubsys
com.vmware.commonagent.maintegration.diagtomgmtrequesttransformer=MaIntegrationSubsys
com.vmware.commonagent.maintegration.installtomgmtrequesttransformerinstance=MaIntegrationSubsys
com.vmware.commonagent.maintegration.installtomgmtrequesttransformer=MaIntegrationSubsys
com.vmware.commonagent.maintegration.versiontransformerinstance=MaIntegrationSubsys
com.vmware.commonagent.maintegration.versiontransformer=MaIntegrationSubsys
com.vmware.commonagent.maintegration.attachmentrequesttransformerinstance=MaIntegrationSubsys
com.vmware.commonagent.maintegration.attachmentrequesttransformer=MaIntegrationSubsys
# Providers
com.vmware.commonagent.providers.configprovider=ConfigProviderSubsys
com.vmware.commonagent.providers.configproviderimpl=ConfigProviderSubsys
com.vmware.commonagent.providers.installprovider=InstallProviderSubsys
com.vmware.commonagent.providers.installproviderimpl=InstallProviderSubsys
com.vmware.commonagent.providers.installpackagenix=InstallProviderSubsys
com.vmware.commonagent.providers.testinfraprovider=TestInfraProviderSubsys
com.vmware.commonagent.providers.testinfraproviderimpl=TestInfraProviderSubsys
com.vmware.commonagent.providers.remotecommandprovider=RemoteCommandProviderSubsys
com.vmware.commonagent.providers.remotecommandproviderimpl=RemoteCommandProviderSubsys

View File

@ -1,358 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<caf:beans
xmlns:caf="http://schemas.vmware.com/caf/schema/fx"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://schemas.vmware.com/caf/schema/fx http://10.25.57.32/caf-downloads/schema/fx/CafIntegration.xsd">
<import resource="IntBeanConfigFile.xml"/>
<!-- Channel wire tap to log -->
<!--
<channel id="wireTapChannel"/>
<logging-channel-adapter
id="logger"
level="info"
log-full-message="false"
input-channel="wireTapChannel"/>
<wire-tap
id="wireTap"
order="1"
channel="wireTapChannel"
pattern=".*" />
-->
<!-- Management Agent Request Processing -->
<channel id="requestToStringTransformerChannel"/>
<channel id="payloadXmlRootRouterChannel"/>
<channel id="payloadHeaderEnricherChannel"/>
<channel id="diagToMgmtRequestTransformerChannel"/>
<channel id="installToMgmtRequestTransformerChannel"/>
<channel id="headerValueRouterChannel"/>
<channel id="collectSchemaExecutorChannel"/>
<channel id="providerExecutorChannel"/>
<channel id="providerExecutorNoImpersonationChannel"/>
<channel id="providerExecutorImpersonationChannel"/>
<channel id="providerExecutorImpersonationErrorChannel"/>
<channel id="providerExecutorImpersonationGoodChannel"/>
<channel id="maRspAddIn1Channel"/>
<!-- Read the request from the agreed-upon directory. In most cases, the request is
written to this directory by the communication component. -->
<file-inbound-channel-adapter
id="receiveGoodRequest"
channel="requestToStringTransformerChannel"
directory="${var:globals:request_dir}"/>
<bean
id="payloadHeaderEnricherBean"
class="com.vmware.commonagent.cafintegration.payloadheaderenricher" />
<bean
id="envelopeToPayloadTransformerBean"
class="com.vmware.commonagent.cafintegration.envelopetopayloadtransformer"/>
<bean
id="attachmentRequestTransformerBean"
class="com.vmware.commonagent.maintegration.attachmentrequesttransformer"/>
<bean
id="versionTransformerBean"
class="com.vmware.commonagent.maintegration.versiontransformer"/>
<chain
id="requestChain1"
input-channel="requestToStringTransformerChannel"
output-channel="payloadXmlRootRouterChannel">
<!-- Read the request file into memory and pass it through the
system as the canonical in-memory message. -->
<file-to-string-transformer
id="requestToStringTransformer"
delete-files="false"/>
<!-- Store the indentifying request information into the message headers, which
lets some of the downstream processing be more request-independent. -->
<transformer
id="payloadHeaderEnricher"
ref="payloadHeaderEnricherBean"/>
<!-- Either throws an unsupported version exception or converts the
old version into the latest version or passes the untouched supported
version through. -->
<transformer
id="versionTransformerId"
ref="versionTransformerBean"/>
<header-enricher
id="responseHeaderEnricher">
<header
name="cafma.internal.useImpersonation"
value="${var:managementAgent:use_impersonation}"/>
</header-enricher>
<!-- Moves the attachments into the input directory and touches up the attachment
URI's in the request. -->
<transformer
id="attachmentRequestTransformerId"
ref="attachmentRequestTransformerBean"/>
<!-- Transforms the envelope back into the normal payload -->
<transformer
id="envelopeToPayloadTransformerId"
ref="envelopeToPayloadTransformerBean"/>
</chain>
<!-- Route the request based on its type. The logic to come simply transforms the specific
request type (e.g. diag, install) into the standard request format. -->
<payload-content-router
id="payloadXmlRootRouter"
input-channel="payloadXmlRootRouterChannel">
<mapping value="caf:mgmtRequest " channel="payloadHeaderEnricherChannel" />
<mapping value="caf:diagRequest " channel="diagToMgmtRequestTransformerChannel" />
<mapping value="caf:installRequest " channel="installToMgmtRequestTransformerChannel" />
</payload-content-router>
<!-- Transform the diag request into the standard request format. -->
<bean
id="diagToMgmtRequestTransformerBean"
class="com.vmware.commonagent.maintegration.diagtomgmtrequesttransformer" />
<transformer
id="diagToMgmtRequestTransformer"
input-channel="diagToMgmtRequestTransformerChannel"
output-channel="payloadHeaderEnricherChannel"
ref="diagToMgmtRequestTransformerBean"/>
<!-- Transform the install request into the standard request format. -->
<bean
id="installToMgmtRequestTransformerBean"
class="com.vmware.commonagent.maintegration.installtomgmtrequesttransformer" />
<transformer
id="installToMgmtRequestTransformer"
input-channel="installToMgmtRequestTransformerChannel"
output-channel="payloadHeaderEnricherChannel"
ref="installToMgmtRequestTransformerBean"/>
<bean
id="maReqAddIn1Bean"
class="com.vmware.commonagent.managementagent.mareqaddin1"/>
<bean
id="maReqAddIn2Bean"
class="com.vmware.commonagent.managementagent.mareqaddin2"/>
<bean
id="singlePmeRequestSplitterBean"
class="com.vmware.commonagent.maintegration.singlepmerequestsplitter"/>
<chain
id="requestChain2"
input-channel="payloadHeaderEnricherChannel"
output-channel="headerValueRouterChannel">
<!-- Placeholders that illustrate how to add request processing into the stream. -->
<service-activator
id="maReqAddIn1"
ref="maReqAddIn1Bean"/>
<service-activator
id="maReqAddIn2"
ref="maReqAddIn2Bean"/>
<!-- Splits the single request into the processing components that require very different
processing; collect schema vs. collect instances / invoke method. -->
<splitter
id="phReqSplitter"
ref="singlePmeRequestSplitterBean"/>
</chain>
<!-- Routes the collect schema request and regular request processing down different paths. -->
<header-value-router
id="headerValuePayloadTypeRouter"
input-channel="headerValueRouterChannel"
header-name="payloadType">
<mapping value="providerCollectSchemaRequest" channel="collectSchemaExecutorChannel" />
<mapping value="providerRequest" channel="providerExecutorChannel" />
</header-value-router>
<!-- Collects the schema information, which basically just copies the cached schema into the
response directories. -->
<bean
id="collectSchemaExecutorBean"
class="com.vmware.commonagent.maintegration.collectschemaexecutor"/>
<service-activator
id="collectSchemaExecutor"
input-channel="collectSchemaExecutorChannel"
output-channel="maRspAddIn1Channel"
ref="collectSchemaExecutorBean"/>
<!-- Routes the provider request to use VgAuth for impersonation if requested -->
<header-value-router
id="headerValueImpersonationRouter"
input-channel="providerExecutorChannel"
header-name="cafma.internal.useImpersonation"
default-output-channel="providerExecutorImpersonationChannel">
<mapping value="true" channel="providerExecutorImpersonationChannel" />
<mapping value="false" channel="providerExecutorNoImpersonationChannel" />
</header-value-router>
<bean
id="providerExecutorBean"
class="com.vmware.commonagent.maintegration.providerexecutor"/>
<bean
id="guestAuthenticatorBeginImpersonationBean"
class="com.vmware.commonagent.maintegration.guestauthenticator">
<property name="beginImpersonation" value="true"/>
</bean>
<bean
id="guestAuthenticatorEndImpersonationBean"
class="com.vmware.commonagent.maintegration.guestauthenticator">
<property name="endImpersonation" value="true"/>
</bean>
<chain
id="providerExecutorNoImpersonationChain"
input-channel="providerExecutorNoImpersonationChannel"
output-channel="maRspAddIn1Channel">
<!-- Uses the class namespace/name/version information in the request to locate and call the
appropriate provider. -->
<service-activator
id="providerExecutor"
ref="providerExecutorBean"/>
</chain>
<chain
id="providerExecutorImpersonationChain"
input-channel="providerExecutorImpersonationChannel"
output-channel="providerExecutorImpersonationGoodChannel">
<header-enricher
id="providerExecutorImpersonationErrorChannelSetter">
<error-channel ref="providerExecutorImpersonationErrorChannel"/>
</header-enricher>
<!-- Start impersonation -->
<transformer
id="guestAuthenticatorBeginImpersonationId"
ref="guestAuthenticatorBeginImpersonationBean"/>
<!-- Uses the class namespace/name/version information in the request to locate and call the
appropriate provider. -->
<service-activator
id="providerExecutor"
ref="providerExecutorBean"/>
</chain>
<!-- End impersonation from error path -->
<transformer
id="guestAuthenticatorEndImpersonationErrorId"
input-channel="providerExecutorImpersonationErrorChannel"
output-channel="errorChannel"
ref="guestAuthenticatorEndImpersonationBean"/>
<!-- End impersonation from success path -->
<transformer
id="guestAuthenticatorEndImpersonationGoodId"
input-channel="providerExecutorImpersonationGoodChannel"
output-channel="maRspAddIn1Channel"
ref="guestAuthenticatorEndImpersonationBean"/>
<!-- Runs the response processing and then stores the message in the agreed-upon output
directory. In most cases, the communication will monitor this directory and send
the request back to the client. -->
<channel id="fileSenderGoodChannel"/>
<bean
id="maRspAddIn1Bean"
class="com.vmware.commonagent.managementagent.marspaddin1"/>
<bean
id="maRspAddIn2Bean"
class="com.vmware.commonagent.managementagent.marspaddin2"/>
<chain
id="responseGoodChain"
input-channel="maRspAddIn1Channel"
output-channel="fileSenderGoodChannel">
<!-- Placeholders that illustrate how to add response processing into the stream. -->
<service-activator
id="maRspAddIn1"
ref="maRspAddIn1Bean"/>
<service-activator
id="maRspAddIn2"
ref="maRspAddIn2Bean"/>
</chain>
<!-- Stores the response information into the respose directory. -->
<file-outbound-channel-adapter
id="responseFileOutbound"
channel="fileSenderGoodChannel"
directory="${var:globals:response_dir}"
delete-source-files="true" />
<!-- Stores the error information from the default error channel into the respose directory. -->
<channel id="fileSenderErrChannel"/>
<bean
id="errorToResponseTransformerBean"
class="com.vmware.commonagent.cafintegration.errortoresponsetransformer" />
<chain
id="responseErrorChain"
input-channel="errorChannel"
output-channel="fileSenderErrChannel">
<!-- Convert the error information into an error response message. -->
<transformer
id="errorToResponseTransformer"
ref="errorToResponseTransformerBean"/>
</chain>
<!-- Store the response into the responses directory. In normal processing, the responses
directory is monitored by the listener process, which sends the responses back to
the client. -->
<file-outbound-channel-adapter
id="responseErrFileOutbound"
channel="fileSenderErrChannel"
directory="${var:globals:response_dir}"
delete-source-files="true" />
<!-- Provider Registration -->
<channel id="providerRegErrorChannelSetterChannel"/>
<channel id="providerRegToStringTransformerChannel"/>
<publish-subscribe-channel id="providerRegErrorChannel"/>
<!-- Read the provider registration files -->
<file-inbound-channel-adapter
id="receiveProviderReg"
channel="providerRegErrorChannelSetterChannel"
directory="${var:providerHost:provider_reg_dir}"/>
<!-- Redirect the default error channel because provider registration takes
a different error path than request execution -->
<header-enricher
id="providerRegErrorChannelSetter"
input-channel="providerRegErrorChannelSetterChannel"
output-channel="providerRegToStringTransformerChannel">
<error-channel ref="providerRegErrorChannel"/>
</header-enricher>
<bean
id="providerCollectSchemaExecutorBean"
class="com.vmware.commonagent.maintegration.providercollectschemaexecutor"/>
<chain
id="providerRegChain"
input-channel="providerRegToStringTransformerChannel"
output-channel="nullChannel">
<!-- Read the provider registration file into memory and pass it through the
system as the canonical in-memory message. -->
<file-to-string-transformer
id="providerRegToStringTransformer"
delete-files="false"/>
<!-- Collect and cache the schema for the provider specified in the message. -->
<service-activator
id="providerCollectSchemaExecutor"
ref="providerCollectSchemaExecutorBean"/>
</chain>
<!-- Because the provider registration processing runs independently of request execution,
it currently just logs the error messages. -->
<transformer
id="providerRegErrorToResponseTransformer"
input-channel="providerRegErrorChannel"
output-channel="nullChannel"
ref="errorToResponseTransformerBean"/>
</caf:beans>

View File

@ -1,18 +0,0 @@
#log4j.rootCategory=WARN, console
log4j.rootCategory=WARN, rolling
log4j.appender.console=org.apache.log4j.ConsoleAppender
log4j.appender.console.layout=org.apache.log4j.PatternLayout
log4j.appender.console.layout.ConversionPattern=%p|%d{ISO8601}|%t|%c|%m%n
log4j.appender.logfile=org.apache.log4j.FileAppender
log4j.appender.logfile.fileName=ma-log4cpp.log
log4j.appender.logfile.layout=org.apache.log4j.PatternLayout
log4j.appender.logfile.layout.ConversionPattern=%p|%d{ISO8601}|%t|%c|%m%n
log4j.appender.rolling=org.apache.log4j.RollingFileAppender
log4j.appender.rolling.fileName=ma-log4cpp_rolling.log
log4j.appender.rolling.layout=org.apache.log4j.PatternLayout
log4j.appender.rolling.layout.ConversionPattern=%p|%d{ISO8601}|%t|%c|%m%n
log4j.appender.rolling.MaxFileSize=1024KB
log4j.appender.rolling.MaxBackupIndex=5

View File

@ -1,9 +0,0 @@
[service]
logfile=@logDir@/vgauth.log
loglevel=verbose
enableLogging=true
enableCoreDumps=true
samlSchemaDir=@installDir@schemas
[auditing]
auditSuccessEvents=true

View File

@ -1,81 +0,0 @@
#!/bin/bash
#
# Init file for the VMware CAF Communication Service
#
# chkconfig: 35 95 20
# description: VMware Common Agent Framework Communication Service daemon
#
# processname: CommAmqpListener
if [ -f /etc/rc.d/init.d/functions ]; then
. /etc/rc.d/init.d/functions
elif [ -f /lib/lsb/init-functions ]; then
. /lib/lsb/init-functions
type success >/dev/null 2>/dev/null
if [ $? -ne 0 ]; then
success() {
echo -en "$@"
echo -e "$rc_done"
}
failure() {
echo -en "$@"
echo -e "$rc_failed"
}
fi
fi
progName="VMware CAF Communication Service (C Version)"
listenerName=CommAmqpListener
prog="@binDir@/$listenerName"
startScript="@scriptDir@/start-listener"
stopScript="@scriptDir@/stop-listener"
lockFile=/var/lock/subsys/caf-communication-service
start()
{
[ -x $startScript ] || exit 0
echo -n $"Starting $progName:"
msg="$progBase daemon startup"
"$startScript" && success "$msg" || failure "$msg"
rc=$?
[ $rc -eq 0 ] && touch $lockFile
echo
return $rc
}
stop()
{
echo -n $"Stoppping $progName:"
killproc $prog -TERM
rc=$?
[ -x $stopScript ] && $stopScript &&
[ $rc -ne 0 ] && [ -z "`pidof -x $prog`" ] && rc=0
[ $rc -eq 0 ] && rm -f $lockFile
echo
return $rc
}
restart()
{
stop
sleep 2
start
}
condrestart()
{
[ -e $lockFile ] && restart || :
}
case "$1" in
start) start ;;
stop) stop ;;
status) status $prog ;;
restart) restart ;;
condrestart) condrestart ;;
*)
echo $"Usage: $0 {start|stop|status|condrestart|restart}"
exit 1
esac
exit $?

View File

@ -1,81 +0,0 @@
#!/bin/bash
#
# Init file for the VMware CAF Management Agent
#
# chkconfig: 35 95 20
# description: VMware Common Agent Framework Management Agent daemon
#
# processname: ManagementAgentHost
if [ -f /etc/rc.d/init.d/functions ]; then
. /etc/rc.d/init.d/functions
elif [ -f /lib/lsb/init-functions ]; then
. /lib/lsb/init-functions
type success >/dev/null 2>/dev/null
if [ $? -ne 0 ]; then
success() {
echo -en "$@"
echo -e "$rc_done"
}
failure() {
echo -en "$@"
echo -e "$rc_failed"
}
fi
fi
progName="VMware CAF Management Agent (C Version)"
progBase=ManagementAgentHost
prog="@binDir@/$progBase"
startScript="@scriptDir@/start-ma"
stopScript="@scriptDir@/stop-ma"
lockFile=/var/lock/subsys/caf-management-agent
start()
{
[ -x $startScript ] || exit 0
echo -n $"Starting $progName:"
msg="$progBase daemon startup"
"$startScript" && success "$msg" || failure "$msg"
rc=$?
[ $rc -eq 0 ] && touch $lockFile
echo
return $rc
}
stop()
{
echo -n $"Stoppping $progName:"
killproc $prog -TERM
rc=$?
[ -x $stopScript ] && $stopScript &&
[ $rc -ne 0 ] && [ -z "`pidof -x $prog`" ] && rc=0
[ $rc -eq 0 ] && rm -f $lockFile
echo
return $rc
}
restart()
{
stop
sleep 2
start
}
condrestart()
{
[ -e $lockFile ] && restart || :
}
case "$1" in
start) start ;;
stop) stop ;;
status) status $prog ;;
restart) restart ;;
condrestart) condrestart ;;
*)
echo $"Usage: $0 {start|stop|status|condrestart|restart}"
exit 1
esac
exit $?

View File

@ -1,243 +0,0 @@
#!/bin/bash
function prtHeader() {
local header=$1
echo "*************************"
echo "***"
echo "*** $header"
echo "***"
echo "*************************"
}
function setCafRootDir() {
if [ "$CAF_CONFIG_DIR" = "" ]; then
if [ -f "/etc/vmware-caf/pme/config/cafenv.config" ]; then
. "/etc/vmware-caf/pme/config/cafenv.config"
else
if [ -f "/etc/vmware-caf/client/config/cafenv.config" ]; then
. "/etc/vmware-caf/client/config/cafenv.config"
else
echo "Failed to resolve cafenv.config"
exit 1
fi
fi
fi
}
function validateNotEmpty() {
local value=$1
local name=$2
if [ "$value" = "" ]; then
echo "Value cannot be empty - $name"
exit 1
fi
}
function enableCaf() {
local username="$1"
local password="$2"
validateNotEmpty "$username" "username"
validateNotEmpty "$password" "password"
setCafRootDir
egrep -qw "amqp_username|amqp_password" "$CAF_CONFIG_DIR/CommAmqpListener-appconfig"; isFnd="$?"
if [ "$isFnd" = "1" ]; then
sed -i "s/\[communication_amqp\]/[communication_amqp]\namqp_username=${username}\namqp_password=${password}/g" "$CAF_CONFIG_DIR/CommAmqpListener-appconfig"
fi
}
function prtHelp() {
echo "*** $0 cmd <args>"
echo " Runs various CAF commands"
echo " cmd: The CAF command to run:"
echo " * enableCaf brokerUsername brokerPassword Enables CAF"
echo ""
echo " * checkTunnel Checks the AMQP Tunnel "
echo " * checkCerts Checks the certificates"
echo " * checkCertsVerbose Checks the certificates"
echo ""
echo " * validateXml Validates the XML files against the published schema"
echo " * checkFsPerms Checks the permissions, owner and group of the major CAF directories and files"
echo ""
echo " * clearCaches Clears the CAF caches"
echo " args: The arguments to the command"
}
function validateXml() {
local schemaArea="$1"
local schemaPrefix="$2"
validateNotEmpty "$schemaArea" "schemaArea"
validateNotEmpty "$schemaPrefix" "schemaPrefix"
setCafRootDir
local schemaRoot="http://10.25.57.32/caf-downloads"
for file in $(find "$CAF_OUTPUT_DIR" -name '*.xml' -print0 2>/dev/null | xargs -0 egrep -IH -lw "${schemaPrefix}.xsd"); do
prtHeader "Validating $schemaArea/$schemaPrefix - $file"
xmllint --schema "${schemaRoot}/schema/${schemaArea}/${schemaPrefix}.xsd" "$file"; rc=$?
if [ "$rc" != "0" ]; then
exit $rc
fi
done
}
function checkCerts() {
setCafRootDir
local certDir="$CAF_INPUT_DIR/certs"
pushd $certDir > /dev/null
prtHeader "Checking certs - $certDir"
openssl rsa -in privateKey.pem -check -noout
openssl verify -check_ss_sig -x509_strict -CAfile cacert.pem publicKey.pem
local clientCertMd5=$(openssl x509 -noout -modulus -in publicKey.pem | openssl md5 | cut -d' ' -f2)
local clientKeyMd5=$(openssl rsa -noout -modulus -in privateKey.pem | openssl md5 | cut -d' ' -f2)
if [ "$clientCertMd5" == "$clientKeyMd5" ]; then
echo "Public and Private Key md5's match"
else
echo "*** Public and Private Key md5's do not match"
exit 1
fi
popd > /dev/null
}
function checkCertsVerbose() {
setCafRootDir
local certDir="$CAF_INPUT_DIR/certs"
pushd $certDir > /dev/null
prtHeader "Checking $certDir/cacert.pem"
openssl x509 -in cacert.pem -text -noout
prtHeader "Checking $certDir/publicKey.pem"
openssl x509 -in publicKey.pem -text -noout
prtHeader "Checking /etc/vmware-tools/GuestProxyData/server/cert.pem"
openssl x509 -in /etc/vmware-tools/GuestProxyData/server/cert.pem -text -noout
popd > /dev/null
}
function checkTunnel() {
setCafRootDir
local certDir="$CAF_INPUT_DIR/certs"
pushd $certDir > /dev/null
prtHeader "Connecting to tunnel"
openssl s_client -connect localhost:6672 -key privateKey.pem -cert publicKey.pem -CAfile cacert.pem -verify 10
popd > /dev/null
}
function checkFsPerms() {
local dirOrFile="$1"
local permExp="$2"
local userExp="$3"
local groupExp="$4"
validateNotEmpty "$dirOrFile" "dirOrFile"
validateNotEmpty "$permExp" "permExp"
if [ "$userExp" = "" ]; then
userExp="root"
fi
if [ "$groupExp" = "" ]; then
groupExp="root"
fi
local statInfo=( $(stat -c "%a %U %G" $dirOrFile) )
local permFnd=${statInfo[0]}
local userFnd=${statInfo[1]}
local groupFnd=${statInfo[2]}
if [ "$permExp" != "$permFnd" ]; then
echo "*** Perm check failed - expected: $permExp, found: $permFnd, dir/file: $dirOrFile"
exit 1
fi
if [ "$userExp" != "$userFnd" ]; then
echo "*** User check failed - expected: $userExp, found: $userFnd, dir/file: $dirOrFile"
exit 1
fi
if [ "$groupExp" != "$groupFnd" ]; then
echo "*** Group check failed - expected: $groupExp, found: $groupFnd, dir/file: $dirOrFile"
exit 1
fi
}
function clearCaches() {
setCafRootDir
validateNotEmpty "$CAF_OUTPUT_DIR" "CAF_OUTPUT_DIR"
validateNotEmpty "$CAF_LOG_DIR" "CAF_LOG_DIR"
prtHeader "Clearing the CAF caches"
rm -rf \
$CAF_OUTPUT_DIR/schemaCache/* \
$CAF_OUTPUT_DIR/comm-wrk/* \
$CAF_OUTPUT_DIR/providerHost/* \
$CAF_OUTPUT_DIR/responses/* \
$CAF_OUTPUT_DIR/requests/* \
$CAF_OUTPUT_DIR/request_state/* \
$CAF_OUTPUT_DIR/events/* \
$CAF_OUTPUT_DIR/errorResponse.xml \
$CAF_LOG_DIR/*
}
if [ $# -lt 1 -o "$1" = "--help" ]; then
prtHelp
exit 1
fi
cmd=$1
shift
case "$cmd" in
"validateXml")
validateXml "fx" "CafInstallRequest"
validateXml "fx" "DiagRequest"
validateXml "fx" "Message"
validateXml "fx" "MgmtRequest"
validateXml "fx" "MultiPmeMgmtRequest"
validateXml "fx" "ProviderInfra"
validateXml "fx" "ProviderRequest"
validateXml "fx" "Response"
validateXml "cmdl" "ProviderResults"
;;
"checkCerts")
checkCerts "$certDir"
;;
"checkCertsVerbose")
checkCertsVerbose "$certDir"
;;
"checkTunnel")
checkTunnel "$certDir"
;;
"clearCaches")
clearCaches
;;
"enableCaf")
enableCaf "$1" "$2"
;;
"checkFsPerms")
checkFsPerms "$CAF_INPUT_DIR" "755"
checkFsPerms "$CAF_OUTPUT_DIR" "770"
checkFsPerms "$CAF_CONFIG_DIR" "775"
checkFsPerms "$CAF_LOG_DIR" "770"
checkFsPerms "$CAF_BIN_DIR" "755"
checkFsPerms "$CAF_LIB_DIR" "755"
;;
*)
echo "Bad command - $cmd"
prtHelp
exit 1
esac

View File

@ -1,81 +0,0 @@
#!/bin/bash
#
# Init file for the VMware CAF VgAuth Service
#
# chkconfig: 35 95 20
# description: VMware Common Agent Framework VgAuth daemon
#
# processname: VGAuthService
if [ -f /etc/rc.d/init.d/functions ]; then
. /etc/rc.d/init.d/functions
elif [ -f /lib/lsb/init-functions ]; then
. /lib/lsb/init-functions
type success >/dev/null 2>/dev/null
if [ $? -ne 0 ]; then
success() {
echo -en "$@"
echo -e "$rc_done"
}
failure() {
echo -en "$@"
echo -e "$rc_failed"
}
fi
fi
progName="VMware CAF VgAuth"
listenerName=VGAuthService
prog="@binDir@/$listenerName"
startScript="@scriptDir@/start-VGAuthService"
stopScript="@scriptDir@/stop-VGAuthService"
lockFile=/var/lock/subsys/caf-vgauth-service
start()
{
[ -x $startScript ] || exit 0
echo -n $"Starting $progName:"
msg="$progBase daemon startup"
"$startScript" && success "$msg" || failure "$msg"
rc=$?
[ $rc -eq 0 ] && touch $lockFile
echo
return $rc
}
stop()
{
echo -n $"Stoppping $progName:"
killproc $prog -TERM
rc=$?
[ -x $stopScript ] && $stopScript &&
[ $rc -ne 0 ] && [ -z "`pidof -x $prog`" ] && rc=0
[ $rc -eq 0 ] && rm -f $lockFile
echo
return $rc
}
restart()
{
stop
sleep 2
start
}
condrestart()
{
[ -e $lockFile ] && restart || :
}
case "$1" in
start) start ;;
stop) stop ;;
status) status $prog ;;
restart) restart ;;
condrestart) condrestart ;;
*)
echo $"Usage: $0 {start|stop|status|condrestart|restart}"
exit 1
esac
exit $?

View File

@ -1 +0,0 @@
cafServices="caf-c-communication-service caf-c-management-agent"

View File

@ -1,194 +0,0 @@
#!/bin/bash
#Args
#brokerAddr
# - default:
#baseLibDir
# - default: /usr/lib
# - expand to "$baseLibDir"/vmware-caf/pme
#
#baseInputDir
# - default: /var/lib
# - expand to "$baseInputDir"/vmware-caf/pme/data/input
#
#baseOutputDir
# - default: /var/lib
# - expand to "$baseOutputDir"/vmware-caf/pme/data/output
#Standard env
SCRIPT=`basename "$0"`
THIS_DIR=$(cd -P -- "$(dirname -- "$0")" && pwd -P)
#Set defaults
baseLibDir='/usr/lib'
baseInputDir='/var/lib'
baseOutputDir='/var/lib'
installType='pme'
brokerAddr=''
#Help function
function HELP {
echo -e \\n"Help documentation for ${SCRIPT}."\\n
echo -e "Basic usage: $SCRIPT"\\n
echo "Command line switches are optional. The following switches are recognized."
echo "b --Sets the value for the broker address. Default is '$brokerAddr'."
echo "i --Sets the base location for the input data. Default is '$baseInputDir'."
echo "l --Sets the base location for the libraries. Default is '$baseLibDir'."
echo "o --Sets the base location for the output data. Default is '$baseOutputDir'."
echo -e "c --Configures for client."\\n
echo -e "h --Displays this help message. No further functions are performed."\\n
echo -e "p --Configures for PME (default)"\\n
echo -e "Example: $SCRIPT -b 10.25.57.249 -i \"/usr/lib\" -i \"/var/lib\" -o \"/var/lib\""\\n
exit 1
}
#Replace tokens with install values
setupCafConfig() {
pattern="$1"
value="$2"
rconfigDir="$3"
rscriptDir="$4"
if [ ! -n "$pattern" ]; then
echo 'The pattern cannot be empty!'
exit 1
fi
if [ -n "$value" ]; then
if [ -d "$rconfigDir" ]; then
for file in $(egrep -rl "$pattern" "$rconfigDir"/*); do
basefile=$(basename "$file")
#echo "Replacing $pattern with $value - $basefile"
sed -i "s?$pattern?$value?g" "$file"
done
fi
if [ -d "$rscriptDir" ]; then
for file in $(egrep -rl "$pattern" "$rscriptDir"/*); do
basefile=$(basename "$file")
#echo "Replacing $pattern with $value - $basefile"
sed -i "s?$pattern?$value?g" "$file"
done
fi
else
#echo "$pattern is empty, skipping"
:
fi
}
##BEGIN Main
#Get Optional overrides
while getopts ":b:i:l:o:h" opt; do
case $opt in
b)
brokerAddr="$OPTARG"
;;
i)
baseInputDir="$OPTARG"
;;
l)
baseLibDir="$OPTARG"
;;
o)
baseOutputDir="$OPTARG"
;;
c)
HELP
;;
h)
installType='client'
;;
p)
installType='pme'
;;
\?)
echo "Invalid option: -$OPTARG" >&2
HELP
;;
esac
done
#Expand variables
stdQuals="vmware-caf/$installType"
libDir="$baseLibDir"/"$stdQuals"
inputDir="$baseInputDir"/"$stdQuals"/data/input
outputDir="$baseOutputDir"/"$stdQuals"/data/output
cafInstallDir="$baseLibDir/vmware-caf"
baseEtcDir="/etc/$stdQuals"
installScriptDir="$baseEtcDir/install"
scriptDir="$baseEtcDir/scripts"
configDir="$baseEtcDir/config"
cafProvidersDir="$inputDir/providers"
cafInvokersDir="$inputDir/invokers"
cafLogDir="/var/log/$stdQuals"
pmeId=`uuidgen`
#Ensure directories exist
mkdir -p "$cafInvokersDir"
mkdir -p "$cafProvidersDir"
mkdir -p "$cafLogDir"
#Substitute values into config files
setupCafConfig '@installDir@' "$cafInstallDir" "$configDir" "$scriptDir"
setupCafConfig '@brokerAddr@' "$brokerAddr" "$configDir" "$scriptDir"
setupCafConfig '@libDir@' "$libDir/lib" "$configDir" "$scriptDir"
setupCafConfig '@binDir@' "$libDir/bin" "$configDir" "$scriptDir"
setupCafConfig '@configDir@' "$configDir" "$configDir" "$scriptDir"
setupCafConfig '@inputDir@' "$inputDir" "$configDir" "$scriptDir"
setupCafConfig '@outputDir@' "$outputDir" "$configDir" "$scriptDir"
setupCafConfig '@providersDir@' "$cafProvidersDir" "$configDir" "$scriptDir"
setupCafConfig '@invokersDir@' "$cafInvokersDir" "$configDir" "$scriptDir"
setupCafConfig '@logDir@' "$cafLogDir" "$configDir" "$scriptDir"
setupCafConfig '@pmeId@' "$pmeId" "$configDir" "$scriptDir"
setupCafConfig '@scriptDir@' "$scriptDir" "$configDir" "$scriptDir"
. "$configDir"/cafenv.config
#Set default permissions
if [ -d "$libDir" ]; then
for directory in $(find "$libDir" -type d); do
chmod 755 "$directory"
done
for file in $(find "$libDir" -type f); do
chmod 555 "$file"
done
fi
if [ -d "$inputDir" ]; then
for file in $(find "$inputDir" -type f); do
chmod 644 "$file"
done
if [ -d "$inputDir/certs" ]; then
for file in $(find "$inputDir/certs" -type f); do
chmod 440 "$file"
done
fi
fi
if [ -d "$scriptDir" ]; then
chmod 555 "$directory"/*
fi
#Set up links
cd "$CAF_LIB_DIR"
ln -sf libglib-2.0.so.0.3400.3 libglib-2.0.so
ln -sf libglib-2.0.so.0.3400.3 libglib-2.0.so.0
ln -sf libgthread-2.0.so.0.3400.3 libgthread-2.0.so
ln -sf libgthread-2.0.so.0.3400.3 libgthread-2.0.so.0
ln -sf liblog4cpp.so.5.0.6 liblog4cpp.so
ln -sf liblog4cpp.so.5.0.6 liblog4cpp.so.5
ln -sf librabbitmq.so.4.1.2 librabbitmq.so
ln -sf librabbitmq.so.4.1.2 librabbitmq.so.4
#Run provider install logic
installPProviders="$installScriptDir"/installPythonProviders.sh
if [ -e "$installPProviders" ]; then
"$installPProviders"
fi
#if previous CAF installation
#migrate config
#migrate other state

View File

@ -1,35 +0,0 @@
#!/bin/sh
#Get info on how the installation was configured
. /etc/vmware-caf/pme/config/cafenv.config
#Set a safety check string
VALIDATE_STRING='vmware-caf'
safe_rm() {
#Only remove directory paths that contain the validate string
if test "${1#*$VALIDATE_STRING}" != "$1"; then
rm -rf "$1"
fi
}
#The default of this should be /usr/lib/vmware-caf
#base_binary_dir=$(dirname $(dirname $CAF_BIN_DIR))
#safe_rm "$base_binary_dir"
#The default of this should be /var/lib/vmware-caf
#base_data_dir=$(dirname $(dirname $(dirname $CAF_INPUT_DIR)))
#safe_rm "$base_data_dir"
#The default of this should be /var/log/vmware-caf
base_log_dir=$(dirname $CAF_LOG_DIR)
safe_rm "$base_log_dir"
#07/21/2015
#Remove some log files that get put into the CAF bin dir.
#This is a hack until we fix the code to prevent this from happening.
base_binary_dir="$CAF_BIN_DIR"
safe_rm "$base_binary_dir/CommAmqpListener-log4cpp.log"
safe_rm "$base_binary_dir/CommAmqpListener-log4cpp_rolling.log"
safe_rm "$base_binary_dir/ma-log4cpp.log"
safe_rm "$base_binary_dir/ma-log4cpp_rolling.log"

View File

@ -1,11 +0,0 @@
#!/bin/sh
dir=$(cd -P -- "$(dirname -- "$0")" && pwd -P)
configDir=/etc/vmware-caf/pme/config
#Preserve config
mkdir -p "$configDir"/_previous_
cp -pf "$configDir"/* "$configDir"/_previous_/ 2>/dev/null
#preserve state

View File

@ -1,13 +0,0 @@
#!/bin/sh
dir=$(cd -P -- "$(dirname -- "$0")" && pwd -P)
. "$dir"/commonenv.sh
#Stop configured services
for cafService in $cafServices; do
/sbin/chkconfig $cafService
if [ $? -eq 0 ]; then
/sbin/service $cafService restart
fi
done

View File

@ -1,14 +0,0 @@
#!/bin/sh
dir=$(cd -P -- "$(dirname -- "$0")" && pwd -P)
. "$dir"/commonenv.sh
#Stop configured services
for cafService in $cafServices; do
/sbin/chkconfig $cafService
if [ $? -eq 0 ]; then
/sbin/service $cafService stop
chkconfig --del $cafService
fi
done

View File

@ -1,29 +0,0 @@
#!/bin/sh
dir=$(cd -P -- "$(dirname -- "$0")" && pwd -P)
configDir=/etc/vmware-caf/pme/config
#Restore previous config
if [ -d "$configDir"/_previous_ ]; then
mv -f "$configDir"/_previous_/* "$configDir"
rmdir "$configDir"/_previous_
fi
# Make newer systemd systems (OpenSuSE 13.2) happy
#if [ -x /usr/bin/systemctl ]; then
# /usr/bin/systemctl daemon-reload
#fi
#"$dir"/restartServices.sh
. $configDir/cafenv.config
cd $CAF_LIB_DIR
ln -sf libglib-2.0.so.0.3400.3 libglib-2.0.so
ln -sf libglib-2.0.so.0.3400.3 libglib-2.0.so.0
ln -sf libgthread-2.0.so.0.3400.3 libgthread-2.0.so
ln -sf libgthread-2.0.so.0.3400.3 libgthread-2.0.so.0
ln -sf liblog4cpp.so.5.0.6 liblog4cpp.so
ln -sf liblog4cpp.so.5.0.6 liblog4cpp.so.5
ln -sf librabbitmq.so.4.1.2 librabbitmq.so
ln -sf librabbitmq.so.4.1.2 librabbitmq.so.4

View File

@ -1,174 +0,0 @@
#!/bin/sh
getCurrentDir() {
return $(dirname $(readlink -f $0))
}
startCafProcess() {
local startType="$1"
local startDir="$2"
local processDir="$3"
local processName="$4"
local processPath="$processDir/$processName"
verifyProcessNotRunning "$processPath"
setUtf8Locale
mkdir -p "$startDir"
cd "$startDir"
case "$startType" in
"daemon")
$processPath
;;
"foreground")
$processPath -n
;;
"valgrindMemChecks")
G_SLICE=always-malloc G_DEBUG=gc-friendly valgrind -v --tool=memcheck --leak-check=full --num-callers=40 --log-file=${processPath}-valgrind.log $processPath -n
;;
"valgrindProfiling")
valgrind --tool=callgrind $processPath -n
;;
*)
echo "Unknown startType - $startType"; exit 1
;;
esac
}
startVgAuthProcess() {
local startType="$1"
local startDir="$2"
local processDir="$3"
local processName="$4"
local processPath="$processDir/$processName"
verifyProcessNotRunning "$processPath"
setUtf8Locale
mkdir -p "$startDir"
cd "$startDir"
# Run the processes using -s rather than -d if you want the logging to go the file instead of the console
case "$startType" in
"daemon")
# This is supposed to start the service as a daemon, but it's failing... perhaps because the service
# hasn't been registered - see above.
#./$processName -b
# -s tells it to log to a file, -d to the console
nohup $processPath -s > ${processPath}.out 2>&1 &
;;
"foreground")
$processPath -d
;;
"valgrindMemChecks")
G_SLICE=always-malloc G_DEBUG=gc-friendly valgrind -v --tool=memcheck --leak-check=full --num-callers=40 --log-file=${processPath}-valgrind.log $processPath -d
;;
"valgrindProfiling")
valgrind --tool=callgrind $processPath -d
;;
*)
echo "Unknown startType - $startType"; exit 1
;;
esac
}
#The best locale is UTF8, and prefereably matches the
#desired language and region
getBestLocale() {
# Only find one best
if [ -z $best_locale ]; then
echo "Looking for best match for <$1>"
#If no language or region is defined, default to US English
if [ "$1" = "C" -o "$1" = "" -o "$1" = "POSIX" ]; then
echo "Generic starting point, defaulting"
getBestLocale "en_US"
return
fi
available_utf8_locales=`locale -a | egrep -i '.utf8|.utf-8' | egrep -vi '^c.utf'`
for loc in $available_utf8_locales; do
best_locale=$loc
#echo "Trying $loc"
if test "${loc#*$1}" != "$loc"; then
echo "$loc is best match for $1"
return
fi
done
if [ -z $best_locale ]; then
echo "No UTF8 locale found"
exit 1
fi
#If no match was found, use any valid UTF8
echo "Found no best, using $best_locale"
fi
}
#Set the locale to something UTF8
setUtf8Locale() {
# Only change if the current locale is not UTF8
locale_list=`locale | egrep -vi '.utf8|.utf-8|=$|LANGUAGE'`
if [ $? -eq 0 ]; then
echo "The locale is not UTF8, looking for a better one"
#LC_ALL takes precedence
if [ ! -z $LC_ALL ]; then
echo "Initializing locale search with LC_ALL:$LC_ALL"
initial_local=$LC_ALL
else
echo "Initializing locale search with LANG:$LANG"
initial_local=$LANG
fi
locale_prefix=`echo $initial_local | sed 's/\.[^.]*$//'`
getBestLocale $locale_prefix
#For now, we'll just set LANG and LC_ALL, we may need to cycle
#through the entire locale_list in the future
export LANG=$best_locale
export LC_ALL=$best_locale
fi
}
verifyProcessNotRunning() {
local processPath=$1
pid=$(ps aux | egrep "${processPath}" | egrep -v "color=auto|grep" | awk '{print $2}')
if [ ! -z "$pid" ]; then
echo "$processPath is already running - $pid"; exit 0
fi
}
stopProcess() {
local processDir=$1
local processName=$2
local processPath="$processDir/$processName"
pid=$(ps aux | egrep "${processPath}" | egrep -v "color=auto|grep" | awk '{print $2}')
if [ -z "$pid" ]; then
echo "$processPath not found"
else
echo "Stopping $processPath - $pid"
counter=0
while [ ! -z "$pid" ]; do
if [ $counter -lt 20 ]; then
kill $pid
else
echo "Killing $processPath with prejudice- $pid"
kill -9 $pid
fi
counter=`expr $counter + 1`;
#echo "counter=$counter"
sleep 1
pid=$(ps aux | egrep "${processPath}" | egrep -v "color=auto|grep" | awk '{print $2}')
done
fi
}
enableCoreFiles() {
ulimit -c unlimited
}

View File

@ -1,191 +0,0 @@
#!/bin/bash
function setCafRootDir() {
if [ "$CAF_CONFIG_DIR" = "" ]; then
if [ -f "/etc/vmware-caf/pme/config/cafenv.config" ]; then
. "/etc/vmware-caf/pme/config/cafenv.config"
else
if [ -f "/etc/vmware-caf/client/config/cafenv.config" ]; then
. "/etc/vmware-caf/client/config/cafenv.config"
else
echo "Failed to resolve cafenv.config"
exit 1
fi
fi
fi
}
function prtHeader() {
local header=$1
echo "*************************"
echo "***"
echo "*** $header"
echo "***"
echo "*************************"
}
function prtHelp() {
echo "*** $0 cmd <args>"
echo " Runs various CAF commands"
echo " cmd: The CAF command to run:"
echo " * listServices Lists the CAF Services"
echo " * startServices Starts the Services"
echo " * stopServices Stops the Services"
echo " * killServices Kills the Services"
echo ""
echo " * startListener Starts the Listener Service"
echo " * startListenerForeground Starts the Listener in the foreground"
echo " * startListenerValgrindMemChecks Starts the Listener with Valgrind Mem Checks"
echo " * stopListener Stops the Listener Service"
echo " * killListener Kills the Listener Service"
echo ""
echo " * startMa Starts the Management Agent Service"
echo " * startMaForeground Starts the Management Agent in the foreground"
echo " * startMaValgrindMemChecks Starts the Management Agent with Valgrind Mem Checks"
echo " * stopMa Stops the Management Agent Service"
echo " * killMa Kills the Management Agent Service"
}
function startProcess() {
local process="$1"
local enableConsoleLogging="$2"
local cmd="$3"
case "$process" in
"listener")
if [ -f "$scriptsDir/start-listener" ]; then
prtHeader "Starting Listener - $cmd"
if [ "$enableConsoleLogging" = "true" ]; then
enableConsoleLogging "CommAmqpListener"
else
disableConsoleLogging "CommAmqpListener"
fi
$scriptsDir/start-listener "$cmd"
fi
;;
"ma")
if [ -f "$scriptsDir/start-ma" ]; then
prtHeader "Starting Management Agent - $cmd"
if [ "$enableConsoleLogging" = "true" ]; then
enableConsoleLogging "ma"
else
disableConsoleLogging "ma"
fi
$scriptsDir/start-ma "$cmd"
fi
;;
*)
echo "Unknown process - $process"
prtHelp
exit 1
esac
}
function stopListener() {
if [ -f "$scriptsDir/stop-listener" ]; then
$scriptsDir/stop-listener
fi
}
function stopMa() {
if [ -f "$scriptsDir/stop-ma" ]; then
$scriptsDir/stop-ma
fi
}
function killListener() {
pid=$(ps -eo pid,cmd | egrep "CommAmqpListener" | egrep -v "egrep" | awk '{print $1}')
if [ "$pid" != "" ]; then
echo "Killing Listener - $pid"
kill -9 $pid
fi
}
function killMa() {
pid=$(ps -eo pid,cmd | egrep "ManagementAgentHost" | egrep -v "egrep" | awk '{print $1}')
if [ "$pid" != "" ]; then
echo "Killing Management Agent - $pid"
kill -9 $pid
fi
}
function enableConsoleLogging() {
component="$1"
sed -i 's/^#log4j.rootCategory=DEBUG, console/log4j.rootCategory=DEBUG, console/g' "$CAF_CONFIG_DIR/${component}-log4cpp_config"
sed -i 's/^log4j.rootCategory=DEBUG, logfile/#log4j.rootCategory=DEBUG, logfile/g' "$CAF_CONFIG_DIR/${component}-log4cpp_config"
}
function disableConsoleLogging() {
component="$1"
sed -i 's/^log4j.rootCategory=DEBUG, console/#log4j.rootCategory=DEBUG, console/g' "$CAF_CONFIG_DIR/${component}-log4cpp_config"
sed -i 's/^#log4j.rootCategory=DEBUG, logfile/log4j.rootCategory=DEBUG, logfile/g' "$CAF_CONFIG_DIR/${component}-log4cpp_config"
}
if [ $# -lt 1 -o "$1" = "--help" ]; then
prtHelp
exit 1
fi
cmd=$1
shift
cmd_params=$@
setCafRootDir
scriptsDir="$CAF_CONFIG_DIR/../scripts"
case "$cmd" in
"listServices")
prtHeader "Listing services"
ps -ef | egrep "CommAmqpListener|ManagementAgentHost|VGAuthService" | egrep -v "egrep"
;;
"startListener")
startProcess "listener" "false" "daemon"
;;
"startMa")
startProcess "ma" "false" "daemon"
;;
"startServices")
startProcess "listener" "false" "daemon"
startProcess "ma" "false" "daemon"
;;
"startListenerForeground")
startProcess "listener" "true" "foreground"
;;
"startMaForeground")
startProcess "ma" "true" "foreground"
;;
"startListenerValgrindMemChecks")
startProcess "listener" "true" "valgrindMemChecks"
;;
"startMaValgrindMemChecks")
startProcess "ma" "true" "valgrindMemChecks"
;;
"stopListener")
stopListener
;;
"stopMa")
stopMa
;;
"stopServices")
stopListener
stopMa
;;
"killListener")
killListener
;;
"killMa")
killMa
;;
"killServices")
killListener
killMa
;;
*)
echo "Bad command - $cmd"
prtHelp
exit 1
esac

View File

@ -1,39 +0,0 @@
#!/bin/sh
helpMessage() {
echo "*** $0 {userName} {certPath} {subject}"
echo " Starts the VgAuth service and optionally adds the user and user->subject mapping"
echo " userName: The name of the user to be added [default: $userName]"
echo " certPath: Path to the certificate [default: $certPath]"
echo " subject: Subject that maps to the userName in the SAML [default: $subject]"
exit 1
}
scriptsDir=$(dirname $(readlink -f $0))
certsDir=$scriptsDir/../data/input/certs
userName=""
certPath=$certsDir/selfSignedCert.pem
subject="samlTestSubject"
if [ $# -gt 3 -o "$1" = "--help" ]; then
helpMessage
fi
if [ $# -ge 1 ]; then
userName=$1
fi
if [ $# -ge 2 ]; then
certPath=$2
fi
if [ $# -ge 3 ]; then
subject=$3
fi
$scriptsDir/start-VGAuthService
if [ $userName != "" ]; then
/usr/sbin/useradd $userName
sleep 1
$scriptsDir/vgAuth addUser $userName $certPath $subject
fi

View File

@ -1,31 +0,0 @@
#!/bin/sh
helpMessage() {
local defStartType=$1
echo "*** $0 {startType}"
echo " Starts VgAuth"
echo " startType: How to start the listener (daemon, foreground, valgrindMemChecks, valgrindProfiling) [default: $defStartType]"
exit 1
}
startType="daemon"
if [ $# -gt 1 -o "$1" = "--help" ]; then
helpMessage "$startType"
fi
if [ $# -ge 1 ]; then
startType=$1
fi
scriptsDir=$(dirname $(readlink -f $0))
configDir=$scriptsDir/../config
. $configDir/cafenv.config
. $scriptsDir/caf-common
processName="VGAuthService"
export LD_LIBRARY_PATH=$CAF_ROOT_DIR/lib
#enableCoreFiles
startVgAuthProcess "$startType" "$CAF_LOG_DIR" "$CAF_BIN_DIR" "$processName"

View File

@ -1,32 +0,0 @@
#!/bin/sh
helpMessage() {
local defStartType=$1
echo "*** $0 {startType}"
echo " Starts the listener"
echo " startType: How to start the listener (daemon, foreground, valgrindMemChecks, valgrindProfiling) [default: $defStartType]"
exit 1
}
startType="daemon"
if [ $# -gt 1 -o "$1" = "--help" ]; then
helpMessage "$startType"
fi
if [ $# -ge 1 ]; then
startType=$1
fi
scriptsDir=$(dirname $(readlink -f $0))
configDir=$scriptsDir/../config
. $configDir/cafenv.config
. $scriptsDir/caf-common
processName="CommAmqpListener"
export CAF_APPCONFIG=$CAF_CONFIG_DIR/CommAmqpListener-appconfig
export LD_LIBRARY_PATH="$CAF_LIB_DIR"
#enableCoreFiles
startCafProcess "$startType" "$CAF_LOG_DIR" "$CAF_BIN_DIR" "$processName"

View File

@ -1,32 +0,0 @@
#!/bin/sh
helpMessage() {
local defStartType=$1
echo "*** $0 {startType}"
echo " Starts the Management Agent"
echo " startType: How to start the listener (daemon, foreground, valgrindMemChecks, valgrindProfiling) [default: $defStartType]"
exit 1
}
startType="daemon"
if [ $# -gt 1 -o "$1" = "--help" ]; then
helpMessage "$startType"
fi
if [ $# -ge 1 ]; then
startType=$1
fi
scriptsDir=$(dirname $(readlink -f $0))
configDir=$scriptsDir/../config
. $configDir/cafenv.config
. $scriptsDir/caf-common
processName="ManagementAgentHost"
export CAF_APPCONFIG=$CAF_CONFIG_DIR/ma-appconfig
export LD_LIBRARY_PATH="$CAF_LIB_DIR"
#enableCoreFiles
startCafProcess "$startType" "$CAF_LOG_DIR" "$CAF_BIN_DIR" "$processName"

View File

@ -1,6 +0,0 @@
#!/bin/bash
echo $$
while true; do
sleep 1000
done

View File

@ -1,7 +0,0 @@
#!/bin/sh
scriptsDir=$(dirname $(readlink -f $0))
. $scriptsDir/caf-common
processName="VGAuthService"
stopProcess "$processName"

View File

@ -1,9 +0,0 @@
#!/bin/sh
scriptsDir=$(dirname $(readlink -f $0))
configDir=$scriptsDir/../config
. $configDir/cafenv.config
. $scriptsDir/caf-common
processName="CommAmqpListener"
stopProcess "$CAF_BIN_DIR" "$processName"

View File

@ -1,9 +0,0 @@
#!/bin/sh
scriptsDir=$(dirname $(readlink -f $0))
configDir=$scriptsDir/../config
. $configDir/cafenv.config
. $scriptsDir/caf-common
processName="ManagementAgentHost"
stopProcess "$CAF_BIN_DIR" "$processName"

View File

@ -1,39 +0,0 @@
#!/bin/bash
helpMessage() {
echo "*** $0 {userName} {certPath} {subject}"
echo " Stops the VgAuth service and optionally removes the user and user->subject mapping"
echo " userName: The name of the user to be removed [default: $userName]"
echo " certPath: Path to the certificate [default: $certPath]"
echo " subject: Subject that maps to the userName in the SAML [default: $subject]"
exit 1
}
scriptsDir=$(dirname $(readlink -f $0))
certsDir=$scriptsDir/../data/input/certs
userName=""
certPath=$certsDir/selfSignedCert.pem
subject="samlTestSubject"
if [ $# -gt 3 -o "$1" = "--help" ]; then
helpMessage
fi
if [ $# -ge 1 ]; then
userName=$1
fi
if [ $# -ge 2 ]; then
certPath=$2
fi
if [ $# -ge 3 ]; then
subject=$3
fi
if [ $userName != "" ]; then
$scriptsDir/vgAuth removeUser $userName $certPath $subject
sleep 1
/usr/sbin/userdel -r $userName
fi
$scriptsDir/stop-VGAuthService

View File

@ -1,79 +0,0 @@
#!/bin/bash
helpMessage() {
echo "*** $0 Action {Username} {CertPath} {Subject}"
echo " Manages the VGAuth alias store"
echo " Action: help, addUser, removeUser, listAll, listUser"
echo " Username: The name of the user to add to the alias store [default: $username]"
echo " CertPath: Path to the cert [default: $cert]"
echo " Subject: Subject of the cert [default: $subject]"
exit 1
}
rootDir=$(dirname $(readlink -f $0))/..
. $rootDir/config/cafenv.config
vgAuthCliName=vmware-vgauth-cmd
if [ -f /usr/lib/vmware-vgauth/$vgAuthCliName ]; then
vgAuthCliPath=/usr/lib/vmware-vgauth/$vgAuthCliName
else
if [ -f $CAF_BIN_DIR/$vgAuthCliName ]; then
vgAuthCliPath=$CAF_BIN_DIR/$vgAuthCliName
export LD_LIBRARY_PATH=$CAF_LIB_DIR
else
echo "*** $vgAuthCliName not found"
exit 1
fi
fi
action=$1
username="testuser"
cert=$CAF_INPUT_DIR/certs/selfSignedCert.pem
subject="samlTestSubject"
if [ $# -lt 1 -o $# -gt 4 -o "$1" = "--help" ]; then
helpMessage
fi
if [ $# -ge 2 ]; then
username=$2
fi
if [ $# -ge 3 ]; then
cert=$3
fi
if [ $# -ge 4 ]; then
subject=$4
fi
case "$action" in
"addUser")
userLineCnt=$($vgAuthCli list --username=$username | wc -l)
if [ $userLineCnt = 0 ]; then
echo "*** Addding $username ***"
$vgAuthCli add --global --username=$username --file $cert --subject=$subject
else
echo "*** User already exists... Doing nothing - $username"
fi
;;
"removeUser")
userLineCnt=$($vgAuthCli list --username=$username | wc -l)
if [ $userLineCnt = 0 ]; then
echo "*** User already gone... Doing nothing - $username"
else
echo "*** Removing $username ***"
$vgAuthCli remove --username=$username --file $cert --subject=$subject
fi
;;
"listAll")
$vgAuthCli list
;;
"listUser")
echo "*** Listing $username ***"
$vgAuthCli list --username=$username
;;
"help")
helpMessage
;;
*)
helpMessage
;;
esac

View File

@ -1,142 +0,0 @@
<?xml version='1.0'?>
<!DOCTYPE schema PUBLIC "-//W3C//DTD XMLSCHEMA 200102//EN" "XMLSchema.dtd" [
<!ENTITY % s ''>
<!ENTITY % p ''>
<!-- keep this XML 1.0 correct -->
<!ATTLIST schema xmlns:hfp CDATA #IMPLIED
xmlns:xhtml CDATA #IMPLIED
xmlns:xsi CDATA #IMPLIED
xsi:schemaLocation CDATA #IMPLIED>
<!ELEMENT xhtml:p ANY>
<!ELEMENT xhtml:em ANY>
]>
<schema xmlns="http://www.w3.org/2001/XMLSchema" targetNamespace="http://www.w3.org/2001/XMLSchema-hasFacetAndProperty" xmlns:hfp="http://www.w3.org/2001/XMLSchema-hasFacetAndProperty" xmlns:xhtml="http://www.w3.org/1999/xhtml"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.w3.org/1999/xhtml http://www.w3.org/1999/xhtml.xsd">
<annotation>
<documentation>
<xhtml:p> This schema defines 2 elements for use in the
appinfo portion section of (potentially) all builtin datatypes in the schema
for XML Schema Part 2: Datatypes. </xhtml:p>
<xhtml:p> One intended use of
this appinfo is in the generation of the HTML version of the XML Schema Part 2:
Datatypes specification itself. All portions of the HTML text which describe
the facets and/or properties of each datatype is generated by an XSLT
transformation which keys off of this appinfo. </xhtml:p>
<xhtml:p> Schema
processors may have another use for this appinfo (although one certainly not
required in any way by the specification). The information may be useful in
dynamically building validation modules/classes and/or user-interfaces for
schema creation. </xhtml:p>
</documentation>
</annotation>
<element name="hasFacet">
<annotation>
<documentation>
<xhtml:p>
hasFacet is used to signal that the contraining facet
given in the name attribute is applicable to a primitive
datatype (and all types derived from it).
</xhtml:p>
<xhtml:p>
Note: this element will only appear in the appinfo of
primitive types or built-in types derived by "list".
</xhtml:p>
<xhtml:p>
A schema processor (or the XSLT which generates the
HTML version of the XML Schema Part 2: Datatypes
specification) which reads a derived simpleType
definition should walk up the base type chain until
it reaches the primitive type at the top of the chain
and "push" all facets found their down to all derived
types in the chain.
</xhtml:p>
</documentation>
</annotation>
<complexType>
<attribute name="name" use="required">
<simpleType>
<annotation>
<documentation>
<xhtml:p>
This datatype names all existing contraining facets.
</xhtml:p>
<xhtml:p>
Question: should each of the enumerations below be
given a documentation annotation, which would contain
the text to be used in the definition of the facet
in the XML Schema Part 2: Datatypes specification?
Might be nice to try to collect all of that information
together here.
</xhtml:p>
</documentation>
</annotation>
<restriction base="NMTOKEN">
<enumeration value="length"/>
<enumeration value="minLength"/>
<enumeration value="maxLength"/>
<enumeration value="pattern"/>
<enumeration value="enumeration"/>
<enumeration value="maxInclusive"/>
<enumeration value="maxExclusive"/>
<enumeration value="minInclusive"/>
<enumeration value="minExclusive"/>
<enumeration value="totalDigits"/>
<enumeration value="fractionDigits"/>
<enumeration value="whiteSpace"/>
<enumeration value="maxScale"/>
<enumeration value="minScale"/>
</restriction>
</simpleType>
</attribute>
</complexType>
</element>
<element name="hasProperty">
<annotation>
<documentation>
<xhtml:p> hasProperty is used to signal that the property
given in the name attribute has the value given in the value attribute for the
datatype in which it occurs (and all types derived from it, which do not
override the value of the property). </xhtml:p>
<xhtml:p> Note: this element
may appear in the appinfo of primitive and built-in derived types. </xhtml:p>
<xhtml:p> A schema processor (or the XSLT which generates the HTML version of
the XML Schema Part 2: Datatypes specification) which reads a simpleType
definition should gather the information from any occurances of hasProperty in
that simpleType definition, and then walk up the base type chain gathering
information from any occurances of hasProperty (unless a value was given to the
name in a dervied type) until either it reaches the primitive type at the top
of the chain or it has gathered values for all existing properties. </xhtml:p>
</documentation>
</annotation>
<complexType>
<attribute name="name" use="required">
<simpleType>
<annotation>
<documentation>
<xhtml:p> This datatype names all existing fundamental
facets, otherwise known as properties (with the exception of
<xhtml:em>equality</xhtml:em>, a property which has no
<xhtml:em>value</xhtml:em>). </xhtml:p>
<xhtml:p> Question: should each of
the enumerations below be given a documentation annotation, which would contain
the text to be used in the definition of the properties in the XML Schema Part
2: Datatypes specification? Might be nice to try to collect all of that
information together here. </xhtml:p>
</documentation>
</annotation>
<restriction base="NMTOKEN">
<enumeration value="ordered"/>
<enumeration value="bounded"/>
<enumeration value="cardinality"/>
<enumeration value="numeric"/>
</restriction>
</simpleType>
</attribute>
<attribute name="value" type="normalizedString" use="required"/>
</complexType>
</element>
</schema>

View File

@ -1,37 +0,0 @@
<?xml version='1.0'?>
<!DOCTYPE xs:schema SYSTEM "XMLSchema.dtd" [
<!ELEMENT p ANY>
<!ELEMENT a ANY>
<!ATTLIST a href CDATA #IMPLIED>
<!ELEMENT hr ANY>
<!ELEMENT h1 ANY>
<!ELEMENT br ANY>
]>
<xs:schema targetNamespace="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns="http://www.w3.org/1999/xhtml">
<xs:annotation>
<xs:documentation>
<h1>XML Schema instance namespace</h1>
<p>See <a href="http://www.w3.org/TR/xmlschema-1/">the XML Schema
Recommendation</a> for an introduction</p>
<hr />
$Date: 2001/03/16 20:25:57 $<br />
$Id: XMLSchema-instance.xsd,v 1.4 2001/03/16 20:25:57 ht Exp $
</xs:documentation>
</xs:annotation>
<xs:annotation>
<xs:documentation><p>This schema should never be used as such:
<a href="http://www.w3.org/TR/xmlschema-1/#no-xsi">the XML
Schema Recommendation</a> forbids the declaration of
attributes in this namespace</p>
</xs:documentation>
</xs:annotation>
<xs:attribute name="nil"/>
<xs:attribute name="type"/>
<xs:attribute name="schemaLocation"/>
<xs:attribute name="noNamespaceSchemaLocation"/>
</xs:schema>

View File

@ -1,402 +0,0 @@
<!-- DTD for XML Schemas: Part 1: Structures
Public Identifier: "-//W3C//DTD XMLSCHEMA 200102//EN"
Official Location: http://www.w3.org/2001/XMLSchema.dtd -->
<!-- $Id: XMLSchema.dtd,v 1.31 2001/10/24 15:50:16 ht Exp $ -->
<!-- Note this DTD is NOT normative, or even definitive. --> <!--d-->
<!-- prose copy in the structures REC is the definitive version --> <!--d-->
<!-- (which shouldn't differ from this one except for this --> <!--d-->
<!-- comment and entity expansions, but just in case) --> <!--d-->
<!-- With the exception of cases with multiple namespace
prefixes for the XML Schema namespace, any XML document which is
not valid per this DTD given redefinitions in its internal subset of the
'p' and 's' parameter entities below appropriate to its namespace
declaration of the XML Schema namespace is almost certainly not
a valid schema. -->
<!-- The simpleType element and its constituent parts
are defined in XML Schema: Part 2: Datatypes -->
<!ENTITY % xs-datatypes PUBLIC 'datatypes' 'datatypes.dtd' >
<!ENTITY % p 'xs:'> <!-- can be overriden in the internal subset of a
schema document to establish a different
namespace prefix -->
<!ENTITY % s ':xs'> <!-- if %p is defined (e.g. as foo:) then you must
also define %s as the suffix for the appropriate
namespace declaration (e.g. :foo) -->
<!ENTITY % nds 'xmlns%s;'>
<!-- Define all the element names, with optional prefix -->
<!ENTITY % schema "%p;schema">
<!ENTITY % complexType "%p;complexType">
<!ENTITY % complexContent "%p;complexContent">
<!ENTITY % simpleContent "%p;simpleContent">
<!ENTITY % extension "%p;extension">
<!ENTITY % element "%p;element">
<!ENTITY % unique "%p;unique">
<!ENTITY % key "%p;key">
<!ENTITY % keyref "%p;keyref">
<!ENTITY % selector "%p;selector">
<!ENTITY % field "%p;field">
<!ENTITY % group "%p;group">
<!ENTITY % all "%p;all">
<!ENTITY % choice "%p;choice">
<!ENTITY % sequence "%p;sequence">
<!ENTITY % any "%p;any">
<!ENTITY % anyAttribute "%p;anyAttribute">
<!ENTITY % attribute "%p;attribute">
<!ENTITY % attributeGroup "%p;attributeGroup">
<!ENTITY % include "%p;include">
<!ENTITY % import "%p;import">
<!ENTITY % redefine "%p;redefine">
<!ENTITY % notation "%p;notation">
<!-- annotation elements -->
<!ENTITY % annotation "%p;annotation">
<!ENTITY % appinfo "%p;appinfo">
<!ENTITY % documentation "%p;documentation">
<!-- Customisation entities for the ATTLIST of each element type.
Define one of these if your schema takes advantage of the
anyAttribute='##other' in the schema for schemas -->
<!ENTITY % schemaAttrs ''>
<!ENTITY % complexTypeAttrs ''>
<!ENTITY % complexContentAttrs ''>
<!ENTITY % simpleContentAttrs ''>
<!ENTITY % extensionAttrs ''>
<!ENTITY % elementAttrs ''>
<!ENTITY % groupAttrs ''>
<!ENTITY % allAttrs ''>
<!ENTITY % choiceAttrs ''>
<!ENTITY % sequenceAttrs ''>
<!ENTITY % anyAttrs ''>
<!ENTITY % anyAttributeAttrs ''>
<!ENTITY % attributeAttrs ''>
<!ENTITY % attributeGroupAttrs ''>
<!ENTITY % uniqueAttrs ''>
<!ENTITY % keyAttrs ''>
<!ENTITY % keyrefAttrs ''>
<!ENTITY % selectorAttrs ''>
<!ENTITY % fieldAttrs ''>
<!ENTITY % includeAttrs ''>
<!ENTITY % importAttrs ''>
<!ENTITY % redefineAttrs ''>
<!ENTITY % notationAttrs ''>
<!ENTITY % annotationAttrs ''>
<!ENTITY % appinfoAttrs ''>
<!ENTITY % documentationAttrs ''>
<!ENTITY % complexDerivationSet "CDATA">
<!-- #all or space-separated list drawn from derivationChoice -->
<!ENTITY % blockSet "CDATA">
<!-- #all or space-separated list drawn from
derivationChoice + 'substitution' -->
<!ENTITY % mgs '%all; | %choice; | %sequence;'>
<!ENTITY % cs '%choice; | %sequence;'>
<!ENTITY % formValues '(qualified|unqualified)'>
<!ENTITY % attrDecls '((%attribute;| %attributeGroup;)*,(%anyAttribute;)?)'>
<!ENTITY % particleAndAttrs '((%mgs; | %group;)?, %attrDecls;)'>
<!-- This is used in part2 -->
<!ENTITY % restriction1 '((%mgs; | %group;)?)'>
%xs-datatypes;
<!-- the duplication below is to produce an unambiguous content model
which allows annotation everywhere -->
<!ELEMENT %schema; ((%include; | %import; | %redefine; | %annotation;)*,
((%simpleType; | %complexType;
| %element; | %attribute;
| %attributeGroup; | %group;
| %notation; ),
(%annotation;)*)* )>
<!ATTLIST %schema;
targetNamespace %URIref; #IMPLIED
version CDATA #IMPLIED
%nds; %URIref; #FIXED 'http://www.w3.org/2001/XMLSchema'
xmlns CDATA #IMPLIED
finalDefault %complexDerivationSet; ''
blockDefault %blockSet; ''
id ID #IMPLIED
elementFormDefault %formValues; 'unqualified'
attributeFormDefault %formValues; 'unqualified'
xml:lang CDATA #IMPLIED
%schemaAttrs;>
<!-- Note the xmlns declaration is NOT in the Schema for Schemas,
because at the Infoset level where schemas operate,
xmlns(:prefix) is NOT an attribute! -->
<!-- The declaration of xmlns is a convenience for schema authors -->
<!-- The id attribute here and below is for use in external references
from non-schemas using simple fragment identifiers.
It is NOT used for schema-to-schema reference, internal or
external. -->
<!-- a type is a named content type specification which allows attribute
declarations-->
<!-- -->
<!ELEMENT %complexType; ((%annotation;)?,
(%simpleContent;|%complexContent;|
%particleAndAttrs;))>
<!ATTLIST %complexType;
name %NCName; #IMPLIED
id ID #IMPLIED
abstract %boolean; #IMPLIED
final %complexDerivationSet; #IMPLIED
block %complexDerivationSet; #IMPLIED
mixed (true|false) 'false'
%complexTypeAttrs;>
<!-- particleAndAttrs is shorthand for a root type -->
<!-- mixed is disallowed if simpleContent, overriden if complexContent
has one too. -->
<!-- If anyAttribute appears in one or more referenced attributeGroups
and/or explicitly, the intersection of the permissions is used -->
<!ELEMENT %complexContent; ((%annotation;)?, (%restriction;|%extension;))>
<!ATTLIST %complexContent;
mixed (true|false) #IMPLIED
id ID #IMPLIED
%complexContentAttrs;>
<!-- restriction should use the branch defined above, not the simple
one from part2; extension should use the full model -->
<!ELEMENT %simpleContent; ((%annotation;)?, (%restriction;|%extension;))>
<!ATTLIST %simpleContent;
id ID #IMPLIED
%simpleContentAttrs;>
<!-- restriction should use the simple branch from part2, not the
one defined above; extension should have no particle -->
<!ELEMENT %extension; ((%annotation;)?, (%particleAndAttrs;))>
<!ATTLIST %extension;
base %QName; #REQUIRED
id ID #IMPLIED
%extensionAttrs;>
<!-- an element is declared by either:
a name and a type (either nested or referenced via the type attribute)
or a ref to an existing element declaration -->
<!ELEMENT %element; ((%annotation;)?, (%complexType;| %simpleType;)?,
(%unique; | %key; | %keyref;)*)>
<!-- simpleType or complexType only if no type|ref attribute -->
<!-- ref not allowed at top level -->
<!ATTLIST %element;
name %NCName; #IMPLIED
id ID #IMPLIED
ref %QName; #IMPLIED
type %QName; #IMPLIED
minOccurs %nonNegativeInteger; #IMPLIED
maxOccurs CDATA #IMPLIED
nillable %boolean; #IMPLIED
substitutionGroup %QName; #IMPLIED
abstract %boolean; #IMPLIED
final %complexDerivationSet; #IMPLIED
block %blockSet; #IMPLIED
default CDATA #IMPLIED
fixed CDATA #IMPLIED
form %formValues; #IMPLIED
%elementAttrs;>
<!-- type and ref are mutually exclusive.
name and ref are mutually exclusive, one is required -->
<!-- In the absence of type AND ref, type defaults to type of
substitutionGroup, if any, else the ur-type, i.e. unconstrained -->
<!-- default and fixed are mutually exclusive -->
<!ELEMENT %group; ((%annotation;)?,(%mgs;)?)>
<!ATTLIST %group;
name %NCName; #IMPLIED
ref %QName; #IMPLIED
minOccurs %nonNegativeInteger; #IMPLIED
maxOccurs CDATA #IMPLIED
id ID #IMPLIED
%groupAttrs;>
<!ELEMENT %all; ((%annotation;)?, (%element;)*)>
<!ATTLIST %all;
minOccurs (1) #IMPLIED
maxOccurs (1) #IMPLIED
id ID #IMPLIED
%allAttrs;>
<!ELEMENT %choice; ((%annotation;)?, (%element;| %group;| %cs; | %any;)*)>
<!ATTLIST %choice;
minOccurs %nonNegativeInteger; #IMPLIED
maxOccurs CDATA #IMPLIED
id ID #IMPLIED
%choiceAttrs;>
<!ELEMENT %sequence; ((%annotation;)?, (%element;| %group;| %cs; | %any;)*)>
<!ATTLIST %sequence;
minOccurs %nonNegativeInteger; #IMPLIED
maxOccurs CDATA #IMPLIED
id ID #IMPLIED
%sequenceAttrs;>
<!-- an anonymous grouping in a model, or
a top-level named group definition, or a reference to same -->
<!-- Note that if order is 'all', group is not allowed inside.
If order is 'all' THIS group must be alone (or referenced alone) at
the top level of a content model -->
<!-- If order is 'all', minOccurs==maxOccurs==1 on element/any inside -->
<!-- Should allow minOccurs=0 inside order='all' . . . -->
<!ELEMENT %any; (%annotation;)?>
<!ATTLIST %any;
namespace CDATA '##any'
processContents (skip|lax|strict) 'strict'
minOccurs %nonNegativeInteger; '1'
maxOccurs CDATA '1'
id ID #IMPLIED
%anyAttrs;>
<!-- namespace is interpreted as follows:
##any - - any non-conflicting WFXML at all
##other - - any non-conflicting WFXML from namespace other
than targetNamespace
##local - - any unqualified non-conflicting WFXML/attribute
one or - - any non-conflicting WFXML from
more URI the listed namespaces
references
##targetNamespace ##local may appear in the above list,
with the obvious meaning -->
<!ELEMENT %anyAttribute; (%annotation;)?>
<!ATTLIST %anyAttribute;
namespace CDATA '##any'
processContents (skip|lax|strict) 'strict'
id ID #IMPLIED
%anyAttributeAttrs;>
<!-- namespace is interpreted as for 'any' above -->
<!-- simpleType only if no type|ref attribute -->
<!-- ref not allowed at top level, name iff at top level -->
<!ELEMENT %attribute; ((%annotation;)?, (%simpleType;)?)>
<!ATTLIST %attribute;
name %NCName; #IMPLIED
id ID #IMPLIED
ref %QName; #IMPLIED
type %QName; #IMPLIED
use (prohibited|optional|required) #IMPLIED
default CDATA #IMPLIED
fixed CDATA #IMPLIED
form %formValues; #IMPLIED
%attributeAttrs;>
<!-- type and ref are mutually exclusive.
name and ref are mutually exclusive, one is required -->
<!-- default for use is optional when nested, none otherwise -->
<!-- default and fixed are mutually exclusive -->
<!-- type attr and simpleType content are mutually exclusive -->
<!-- an attributeGroup is a named collection of attribute decls, or a
reference thereto -->
<!ELEMENT %attributeGroup; ((%annotation;)?,
(%attribute; | %attributeGroup;)*,
(%anyAttribute;)?) >
<!ATTLIST %attributeGroup;
name %NCName; #IMPLIED
id ID #IMPLIED
ref %QName; #IMPLIED
%attributeGroupAttrs;>
<!-- ref iff no content, no name. ref iff not top level -->
<!-- better reference mechanisms -->
<!ELEMENT %unique; ((%annotation;)?, %selector;, (%field;)+)>
<!ATTLIST %unique;
name %NCName; #REQUIRED
id ID #IMPLIED
%uniqueAttrs;>
<!ELEMENT %key; ((%annotation;)?, %selector;, (%field;)+)>
<!ATTLIST %key;
name %NCName; #REQUIRED
id ID #IMPLIED
%keyAttrs;>
<!ELEMENT %keyref; ((%annotation;)?, %selector;, (%field;)+)>
<!ATTLIST %keyref;
name %NCName; #REQUIRED
refer %QName; #REQUIRED
id ID #IMPLIED
%keyrefAttrs;>
<!ELEMENT %selector; ((%annotation;)?)>
<!ATTLIST %selector;
xpath %XPathExpr; #REQUIRED
id ID #IMPLIED
%selectorAttrs;>
<!ELEMENT %field; ((%annotation;)?)>
<!ATTLIST %field;
xpath %XPathExpr; #REQUIRED
id ID #IMPLIED
%fieldAttrs;>
<!-- Schema combination mechanisms -->
<!ELEMENT %include; (%annotation;)?>
<!ATTLIST %include;
schemaLocation %URIref; #REQUIRED
id ID #IMPLIED
%includeAttrs;>
<!ELEMENT %import; (%annotation;)?>
<!ATTLIST %import;
namespace %URIref; #IMPLIED
schemaLocation %URIref; #IMPLIED
id ID #IMPLIED
%importAttrs;>
<!ELEMENT %redefine; (%annotation; | %simpleType; | %complexType; |
%attributeGroup; | %group;)*>
<!ATTLIST %redefine;
schemaLocation %URIref; #REQUIRED
id ID #IMPLIED
%redefineAttrs;>
<!ELEMENT %notation; (%annotation;)?>
<!ATTLIST %notation;
name %NCName; #REQUIRED
id ID #IMPLIED
public CDATA #REQUIRED
system %URIref; #IMPLIED
%notationAttrs;>
<!-- Annotation is either application information or documentation -->
<!-- By having these here they are available for datatypes as well
as all the structures elements -->
<!ELEMENT %annotation; (%appinfo; | %documentation;)*>
<!ATTLIST %annotation; %annotationAttrs;>
<!-- User must define annotation elements in internal subset for this
to work -->
<!ELEMENT %appinfo; ANY> <!-- too restrictive -->
<!ATTLIST %appinfo;
source %URIref; #IMPLIED
id ID #IMPLIED
%appinfoAttrs;>
<!ELEMENT %documentation; ANY> <!-- too restrictive -->
<!ATTLIST %documentation;
source %URIref; #IMPLIED
id ID #IMPLIED
xml:lang CDATA #IMPLIED
%documentationAttrs;>
<!NOTATION XMLSchemaStructures PUBLIC
'structures' 'http://www.w3.org/2001/XMLSchema.xsd' >
<!NOTATION XML PUBLIC
'REC-xml-1998-0210' 'http://www.w3.org/TR/1998/REC-xml-19980210' >

File diff suppressed because it is too large Load Diff

View File

@ -1,203 +0,0 @@
<!--
DTD for XML Schemas: Part 2: Datatypes
$Id: datatypes.dtd,v 1.23 2001/03/16 17:36:30 ht Exp $
Note this DTD is NOT normative, or even definitive. - - the
prose copy in the datatypes REC is the definitive version
(which shouldn't differ from this one except for this comment
and entity expansions, but just in case)
-->
<!--
This DTD cannot be used on its own, it is intended
only for incorporation in XMLSchema.dtd, q.v.
-->
<!-- Define all the element names, with optional prefix -->
<!ENTITY % simpleType "%p;simpleType">
<!ENTITY % restriction "%p;restriction">
<!ENTITY % list "%p;list">
<!ENTITY % union "%p;union">
<!ENTITY % maxExclusive "%p;maxExclusive">
<!ENTITY % minExclusive "%p;minExclusive">
<!ENTITY % maxInclusive "%p;maxInclusive">
<!ENTITY % minInclusive "%p;minInclusive">
<!ENTITY % totalDigits "%p;totalDigits">
<!ENTITY % fractionDigits "%p;fractionDigits">
<!ENTITY % length "%p;length">
<!ENTITY % minLength "%p;minLength">
<!ENTITY % maxLength "%p;maxLength">
<!ENTITY % enumeration "%p;enumeration">
<!ENTITY % whiteSpace "%p;whiteSpace">
<!ENTITY % pattern "%p;pattern">
<!--
Customisation entities for the ATTLIST of each element
type. Define one of these if your schema takes advantage
of the anyAttribute='##other' in the schema for schemas
-->
<!ENTITY % simpleTypeAttrs "">
<!ENTITY % restrictionAttrs "">
<!ENTITY % listAttrs "">
<!ENTITY % unionAttrs "">
<!ENTITY % maxExclusiveAttrs "">
<!ENTITY % minExclusiveAttrs "">
<!ENTITY % maxInclusiveAttrs "">
<!ENTITY % minInclusiveAttrs "">
<!ENTITY % totalDigitsAttrs "">
<!ENTITY % fractionDigitsAttrs "">
<!ENTITY % lengthAttrs "">
<!ENTITY % minLengthAttrs "">
<!ENTITY % maxLengthAttrs "">
<!ENTITY % enumerationAttrs "">
<!ENTITY % whiteSpaceAttrs "">
<!ENTITY % patternAttrs "">
<!-- Define some entities for informative use as attribute
types -->
<!ENTITY % URIref "CDATA">
<!ENTITY % XPathExpr "CDATA">
<!ENTITY % QName "NMTOKEN">
<!ENTITY % QNames "NMTOKENS">
<!ENTITY % NCName "NMTOKEN">
<!ENTITY % nonNegativeInteger "NMTOKEN">
<!ENTITY % boolean "(true|false)">
<!ENTITY % simpleDerivationSet "CDATA">
<!--
#all or space-separated list drawn from derivationChoice
-->
<!--
Note that the use of 'facet' below is less restrictive
than is really intended: There should in fact be no
more than one of each of minInclusive, minExclusive,
maxInclusive, maxExclusive, totalDigits, fractionDigits,
length, maxLength, minLength within datatype,
and the min- and max- variants of Inclusive and Exclusive
are mutually exclusive. On the other hand, pattern and
enumeration may repeat.
-->
<!ENTITY % minBound "(%minInclusive; | %minExclusive;)">
<!ENTITY % maxBound "(%maxInclusive; | %maxExclusive;)">
<!ENTITY % bounds "%minBound; | %maxBound;">
<!ENTITY % numeric "%totalDigits; | %fractionDigits;">
<!ENTITY % ordered "%bounds; | %numeric;">
<!ENTITY % unordered
"%pattern; | %enumeration; | %whiteSpace; | %length; |
%maxLength; | %minLength;">
<!ENTITY % facet "%ordered; | %unordered;">
<!ENTITY % facetAttr
"value CDATA #REQUIRED
id ID #IMPLIED">
<!ENTITY % fixedAttr "fixed %boolean; #IMPLIED">
<!ENTITY % facetModel "(%annotation;)?">
<!ELEMENT %simpleType;
((%annotation;)?, (%restriction; | %list; | %union;))>
<!ATTLIST %simpleType;
name %NCName; #IMPLIED
final %simpleDerivationSet; #IMPLIED
id ID #IMPLIED
%simpleTypeAttrs;>
<!-- name is required at top level -->
<!ELEMENT %restriction; ((%annotation;)?,
(%restriction1; |
((%simpleType;)?,(%facet;)*)),
(%attrDecls;))>
<!ATTLIST %restriction;
base %QName; #IMPLIED
id ID #IMPLIED
%restrictionAttrs;>
<!--
base and simpleType child are mutually exclusive,
one is required.
restriction is shared between simpleType and
simpleContent and complexContent (in XMLSchema.xsd).
restriction1 is for the latter cases, when this
is restricting a complex type, as is attrDecls.
-->
<!ELEMENT %list; ((%annotation;)?,(%simpleType;)?)>
<!ATTLIST %list;
itemType %QName; #IMPLIED
id ID #IMPLIED
%listAttrs;>
<!--
itemType and simpleType child are mutually exclusive,
one is required
-->
<!ELEMENT %union; ((%annotation;)?,(%simpleType;)*)>
<!ATTLIST %union;
id ID #IMPLIED
memberTypes %QNames; #IMPLIED
%unionAttrs;>
<!--
At least one item in memberTypes or one simpleType
child is required
-->
<!ELEMENT %maxExclusive; %facetModel;>
<!ATTLIST %maxExclusive;
%facetAttr;
%fixedAttr;
%maxExclusiveAttrs;>
<!ELEMENT %minExclusive; %facetModel;>
<!ATTLIST %minExclusive;
%facetAttr;
%fixedAttr;
%minExclusiveAttrs;>
<!ELEMENT %maxInclusive; %facetModel;>
<!ATTLIST %maxInclusive;
%facetAttr;
%fixedAttr;
%maxInclusiveAttrs;>
<!ELEMENT %minInclusive; %facetModel;>
<!ATTLIST %minInclusive;
%facetAttr;
%fixedAttr;
%minInclusiveAttrs;>
<!ELEMENT %totalDigits; %facetModel;>
<!ATTLIST %totalDigits;
%facetAttr;
%fixedAttr;
%totalDigitsAttrs;>
<!ELEMENT %fractionDigits; %facetModel;>
<!ATTLIST %fractionDigits;
%facetAttr;
%fixedAttr;
%fractionDigitsAttrs;>
<!ELEMENT %length; %facetModel;>
<!ATTLIST %length;
%facetAttr;
%fixedAttr;
%lengthAttrs;>
<!ELEMENT %minLength; %facetModel;>
<!ATTLIST %minLength;
%facetAttr;
%fixedAttr;
%minLengthAttrs;>
<!ELEMENT %maxLength; %facetModel;>
<!ATTLIST %maxLength;
%facetAttr;
%fixedAttr;
%maxLengthAttrs;>
<!-- This one can be repeated -->
<!ELEMENT %enumeration; %facetModel;>
<!ATTLIST %enumeration;
%facetAttr;
%enumerationAttrs;>
<!ELEMENT %whiteSpace; %facetModel;>
<!ATTLIST %whiteSpace;
%facetAttr;
%fixedAttr;
%whiteSpaceAttrs;>
<!-- This one can be repeated -->
<!ELEMENT %pattern; %facetModel;>
<!ATTLIST %pattern;
%facetAttr;
%patternAttrs;>

View File

@ -1,283 +0,0 @@
<?xml version="1.0" encoding="US-ASCII"?>
<schema
targetNamespace="urn:oasis:names:tc:SAML:2.0:assertion"
xmlns="http://www.w3.org/2001/XMLSchema"
xmlns:saml="urn:oasis:names:tc:SAML:2.0:assertion"
xmlns:ds="http://www.w3.org/2000/09/xmldsig#"
xmlns:xenc="http://www.w3.org/2001/04/xmlenc#"
elementFormDefault="unqualified"
attributeFormDefault="unqualified"
blockDefault="substitution"
version="2.0">
<import namespace="http://www.w3.org/2000/09/xmldsig#"
schemaLocation="http://www.w3.org/TR/2002/REC-xmldsig-core-20020212/xmldsig-core-schema.xsd"/>
<import namespace="http://www.w3.org/2001/04/xmlenc#"
schemaLocation="http://www.w3.org/TR/2002/REC-xmlenc-core-20021210/xenc-schema.xsd"/>
<annotation>
<documentation>
Document identifier: saml-schema-assertion-2.0
Location: http://docs.oasis-open.org/security/saml/v2.0/
Revision history:
V1.0 (November, 2002):
Initial Standard Schema.
V1.1 (September, 2003):
Updates within the same V1.0 namespace.
V2.0 (March, 2005):
New assertion schema for SAML V2.0 namespace.
</documentation>
</annotation>
<attributeGroup name="IDNameQualifiers">
<attribute name="NameQualifier" type="string" use="optional"/>
<attribute name="SPNameQualifier" type="string" use="optional"/>
</attributeGroup>
<element name="BaseID" type="saml:BaseIDAbstractType"/>
<complexType name="BaseIDAbstractType" abstract="true">
<attributeGroup ref="saml:IDNameQualifiers"/>
</complexType>
<element name="NameID" type="saml:NameIDType"/>
<complexType name="NameIDType">
<simpleContent>
<extension base="string">
<attributeGroup ref="saml:IDNameQualifiers"/>
<attribute name="Format" type="anyURI" use="optional"/>
<attribute name="SPProvidedID" type="string" use="optional"/>
</extension>
</simpleContent>
</complexType>
<complexType name="EncryptedElementType">
<sequence>
<element ref="xenc:EncryptedData"/>
<element ref="xenc:EncryptedKey" minOccurs="0" maxOccurs="unbounded"/>
</sequence>
</complexType>
<element name="EncryptedID" type="saml:EncryptedElementType"/>
<element name="Issuer" type="saml:NameIDType"/>
<element name="AssertionIDRef" type="NCName"/>
<element name="AssertionURIRef" type="anyURI"/>
<element name="Assertion" type="saml:AssertionType"/>
<complexType name="AssertionType">
<sequence>
<element ref="saml:Issuer"/>
<element ref="ds:Signature" minOccurs="0"/>
<element ref="saml:Subject" minOccurs="0"/>
<element ref="saml:Conditions" minOccurs="0"/>
<element ref="saml:Advice" minOccurs="0"/>
<choice minOccurs="0" maxOccurs="unbounded">
<element ref="saml:Statement"/>
<element ref="saml:AuthnStatement"/>
<element ref="saml:AuthzDecisionStatement"/>
<element ref="saml:AttributeStatement"/>
</choice>
</sequence>
<attribute name="Version" type="string" use="required"/>
<attribute name="ID" type="ID" use="required"/>
<attribute name="IssueInstant" type="dateTime" use="required"/>
</complexType>
<element name="Subject" type="saml:SubjectType"/>
<complexType name="SubjectType">
<choice>
<sequence>
<choice>
<element ref="saml:BaseID"/>
<element ref="saml:NameID"/>
<element ref="saml:EncryptedID"/>
</choice>
<element ref="saml:SubjectConfirmation" minOccurs="0" maxOccurs="unbounded"/>
</sequence>
<element ref="saml:SubjectConfirmation" maxOccurs="unbounded"/>
</choice>
</complexType>
<element name="SubjectConfirmation" type="saml:SubjectConfirmationType"/>
<complexType name="SubjectConfirmationType">
<sequence>
<choice minOccurs="0">
<element ref="saml:BaseID"/>
<element ref="saml:NameID"/>
<element ref="saml:EncryptedID"/>
</choice>
<element ref="saml:SubjectConfirmationData" minOccurs="0"/>
</sequence>
<attribute name="Method" type="anyURI" use="required"/>
</complexType>
<element name="SubjectConfirmationData" type="saml:SubjectConfirmationDataType"/>
<complexType name="SubjectConfirmationDataType" mixed="true">
<complexContent>
<restriction base="anyType">
<sequence>
<any namespace="##any" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
</sequence>
<attribute name="NotBefore" type="dateTime" use="optional"/>
<attribute name="NotOnOrAfter" type="dateTime" use="optional"/>
<attribute name="Recipient" type="anyURI" use="optional"/>
<attribute name="InResponseTo" type="NCName" use="optional"/>
<attribute name="Address" type="string" use="optional"/>
<anyAttribute namespace="##other" processContents="lax"/>
</restriction>
</complexContent>
</complexType>
<complexType name="KeyInfoConfirmationDataType" mixed="false">
<complexContent>
<restriction base="saml:SubjectConfirmationDataType">
<sequence>
<element ref="ds:KeyInfo" maxOccurs="unbounded"/>
</sequence>
</restriction>
</complexContent>
</complexType>
<element name="Conditions" type="saml:ConditionsType"/>
<complexType name="ConditionsType">
<choice minOccurs="0" maxOccurs="unbounded">
<element ref="saml:Condition"/>
<element ref="saml:AudienceRestriction"/>
<element ref="saml:OneTimeUse"/>
<element ref="saml:ProxyRestriction"/>
</choice>
<attribute name="NotBefore" type="dateTime" use="optional"/>
<attribute name="NotOnOrAfter" type="dateTime" use="optional"/>
</complexType>
<element name="Condition" type="saml:ConditionAbstractType"/>
<complexType name="ConditionAbstractType" abstract="true"/>
<element name="AudienceRestriction" type="saml:AudienceRestrictionType"/>
<complexType name="AudienceRestrictionType">
<complexContent>
<extension base="saml:ConditionAbstractType">
<sequence>
<element ref="saml:Audience" maxOccurs="unbounded"/>
</sequence>
</extension>
</complexContent>
</complexType>
<element name="Audience" type="anyURI"/>
<element name="OneTimeUse" type="saml:OneTimeUseType" />
<complexType name="OneTimeUseType">
<complexContent>
<extension base="saml:ConditionAbstractType"/>
</complexContent>
</complexType>
<element name="ProxyRestriction" type="saml:ProxyRestrictionType"/>
<complexType name="ProxyRestrictionType">
<complexContent>
<extension base="saml:ConditionAbstractType">
<sequence>
<element ref="saml:Audience" minOccurs="0" maxOccurs="unbounded"/>
</sequence>
<attribute name="Count" type="nonNegativeInteger" use="optional"/>
</extension>
</complexContent>
</complexType>
<element name="Advice" type="saml:AdviceType"/>
<complexType name="AdviceType">
<choice minOccurs="0" maxOccurs="unbounded">
<element ref="saml:AssertionIDRef"/>
<element ref="saml:AssertionURIRef"/>
<element ref="saml:Assertion"/>
<element ref="saml:EncryptedAssertion"/>
<any namespace="##other" processContents="lax"/>
</choice>
</complexType>
<element name="EncryptedAssertion" type="saml:EncryptedElementType"/>
<element name="Statement" type="saml:StatementAbstractType"/>
<complexType name="StatementAbstractType" abstract="true"/>
<element name="AuthnStatement" type="saml:AuthnStatementType"/>
<complexType name="AuthnStatementType">
<complexContent>
<extension base="saml:StatementAbstractType">
<sequence>
<element ref="saml:SubjectLocality" minOccurs="0"/>
<element ref="saml:AuthnContext"/>
</sequence>
<attribute name="AuthnInstant" type="dateTime" use="required"/>
<attribute name="SessionIndex" type="string" use="optional"/>
<attribute name="SessionNotOnOrAfter" type="dateTime" use="optional"/>
</extension>
</complexContent>
</complexType>
<element name="SubjectLocality" type="saml:SubjectLocalityType"/>
<complexType name="SubjectLocalityType">
<attribute name="Address" type="string" use="optional"/>
<attribute name="DNSName" type="string" use="optional"/>
</complexType>
<element name="AuthnContext" type="saml:AuthnContextType"/>
<complexType name="AuthnContextType">
<sequence>
<choice>
<sequence>
<element ref="saml:AuthnContextClassRef"/>
<choice minOccurs="0">
<element ref="saml:AuthnContextDecl"/>
<element ref="saml:AuthnContextDeclRef"/>
</choice>
</sequence>
<choice>
<element ref="saml:AuthnContextDecl"/>
<element ref="saml:AuthnContextDeclRef"/>
</choice>
</choice>
<element ref="saml:AuthenticatingAuthority" minOccurs="0" maxOccurs="unbounded"/>
</sequence>
</complexType>
<element name="AuthnContextClassRef" type="anyURI"/>
<element name="AuthnContextDeclRef" type="anyURI"/>
<element name="AuthnContextDecl" type="anyType"/>
<element name="AuthenticatingAuthority" type="anyURI"/>
<element name="AuthzDecisionStatement" type="saml:AuthzDecisionStatementType"/>
<complexType name="AuthzDecisionStatementType">
<complexContent>
<extension base="saml:StatementAbstractType">
<sequence>
<element ref="saml:Action" maxOccurs="unbounded"/>
<element ref="saml:Evidence" minOccurs="0"/>
</sequence>
<attribute name="Resource" type="anyURI" use="required"/>
<attribute name="Decision" type="saml:DecisionType" use="required"/>
</extension>
</complexContent>
</complexType>
<simpleType name="DecisionType">
<restriction base="string">
<enumeration value="Permit"/>
<enumeration value="Deny"/>
<enumeration value="Indeterminate"/>
</restriction>
</simpleType>
<element name="Action" type="saml:ActionType"/>
<complexType name="ActionType">
<simpleContent>
<extension base="string">
<attribute name="Namespace" type="anyURI" use="required"/>
</extension>
</simpleContent>
</complexType>
<element name="Evidence" type="saml:EvidenceType"/>
<complexType name="EvidenceType">
<choice maxOccurs="unbounded">
<element ref="saml:AssertionIDRef"/>
<element ref="saml:AssertionURIRef"/>
<element ref="saml:Assertion"/>
<element ref="saml:EncryptedAssertion"/>
</choice>
</complexType>
<element name="AttributeStatement" type="saml:AttributeStatementType"/>
<complexType name="AttributeStatementType">
<complexContent>
<extension base="saml:StatementAbstractType">
<choice maxOccurs="unbounded">
<element ref="saml:Attribute"/>
<element ref="saml:EncryptedAttribute"/>
</choice>
</extension>
</complexContent>
</complexType>
<element name="Attribute" type="saml:AttributeType"/>
<complexType name="AttributeType">
<sequence>
<element ref="saml:AttributeValue" minOccurs="0" maxOccurs="unbounded"/>
</sequence>
<attribute name="Name" type="string" use="required"/>
<attribute name="NameFormat" type="anyURI" use="optional"/>
<attribute name="FriendlyName" type="string" use="optional"/>
<anyAttribute namespace="##other" processContents="lax"/>
</complexType>
<element name="AttributeValue" type="anyType" nillable="true"/>
<element name="EncryptedAttribute" type="saml:EncryptedElementType"/>
</schema>

View File

@ -1,135 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE schema PUBLIC "-//W3C//DTD XMLSchema 200102//EN" "XMLSchema.dtd" [
<!ATTLIST schema
xmlns:xenc CDATA #FIXED 'http://www.w3.org/2001/04/xmlenc#'
xmlns:ds CDATA #FIXED 'http://www.w3.org/2000/09/xmldsig#'>
<!ENTITY xenc 'http://www.w3.org/2001/04/xmlenc#'>
<!ENTITY % p ''>
<!ENTITY % s ''>
]>
<schema xmlns="http://www.w3.org/2001/XMLSchema" version="1.0" xmlns:xenc="http://www.w3.org/2001/04/xmlenc#" xmlns:ds="http://www.w3.org/2000/09/xmldsig#" targetNamespace="http://www.w3.org/2001/04/xmlenc#" elementFormDefault="qualified">
<import namespace="http://www.w3.org/2000/09/xmldsig#" schemaLocation="http://www.w3.org/TR/2002/REC-xmldsig-core-20020212/xmldsig-core-schema.xsd"/>
<complexType name="EncryptedType" abstract="true">
<sequence>
<element name="EncryptionMethod" type="xenc:EncryptionMethodType" minOccurs="0"/>
<element ref="ds:KeyInfo" minOccurs="0"/>
<element ref="xenc:CipherData"/>
<element ref="xenc:EncryptionProperties" minOccurs="0"/>
</sequence>
<attribute name="Id" type="ID" use="optional"/>
<attribute name="Type" type="anyURI" use="optional"/>
<attribute name="MimeType" type="string" use="optional"/>
<attribute name="Encoding" type="anyURI" use="optional"/>
</complexType>
<complexType name="EncryptionMethodType" mixed="true">
<sequence>
<element name="KeySize" minOccurs="0" type="xenc:KeySizeType"/>
<element name="OAEPparams" minOccurs="0" type="base64Binary"/>
<any namespace="##other" minOccurs="0" maxOccurs="unbounded"/>
</sequence>
<attribute name="Algorithm" type="anyURI" use="required"/>
</complexType>
<simpleType name="KeySizeType">
<restriction base="integer"/>
</simpleType>
<element name="CipherData" type="xenc:CipherDataType"/>
<complexType name="CipherDataType">
<choice>
<element name="CipherValue" type="base64Binary"/>
<element ref="xenc:CipherReference"/>
</choice>
</complexType>
<element name="CipherReference" type="xenc:CipherReferenceType"/>
<complexType name="CipherReferenceType">
<choice>
<element name="Transforms" type="xenc:TransformsType" minOccurs="0"/>
</choice>
<attribute name="URI" type="anyURI" use="required"/>
</complexType>
<complexType name="TransformsType">
<sequence>
<element ref="ds:Transform" maxOccurs="unbounded"/>
</sequence>
</complexType>
<element name="EncryptedData" type="xenc:EncryptedDataType"/>
<complexType name="EncryptedDataType">
<complexContent>
<extension base="xenc:EncryptedType">
</extension>
</complexContent>
</complexType>
<!-- Children of ds:KeyInfo -->
<element name="EncryptedKey" type="xenc:EncryptedKeyType"/>
<complexType name="EncryptedKeyType">
<complexContent>
<extension base="xenc:EncryptedType">
<sequence>
<element ref="xenc:ReferenceList" minOccurs="0"/>
<element name="CarriedKeyName" type="string" minOccurs="0"/>
</sequence>
<attribute name="Recipient" type="string" use="optional"/>
</extension>
</complexContent>
</complexType>
<element name="AgreementMethod" type="xenc:AgreementMethodType"/>
<complexType name="AgreementMethodType" mixed="true">
<sequence>
<element name="KA-Nonce" minOccurs="0" type="base64Binary"/>
<!-- <element ref="ds:DigestMethod" minOccurs="0"/> -->
<any namespace="##other" minOccurs="0" maxOccurs="unbounded"/>
<element name="OriginatorKeyInfo" minOccurs="0" type="ds:KeyInfoType"/>
<element name="RecipientKeyInfo" minOccurs="0" type="ds:KeyInfoType"/>
</sequence>
<attribute name="Algorithm" type="anyURI" use="required"/>
</complexType>
<!-- End Children of ds:KeyInfo -->
<element name="ReferenceList">
<complexType>
<choice minOccurs="1" maxOccurs="unbounded">
<element name="DataReference" type="xenc:ReferenceType"/>
<element name="KeyReference" type="xenc:ReferenceType"/>
</choice>
</complexType>
</element>
<complexType name="ReferenceType">
<sequence>
<any namespace="##other" minOccurs="0" maxOccurs="unbounded"/>
</sequence>
<attribute name="URI" type="anyURI" use="required"/>
</complexType>
<element name="EncryptionProperties" type="xenc:EncryptionPropertiesType"/>
<complexType name="EncryptionPropertiesType">
<sequence>
<element ref="xenc:EncryptionProperty" maxOccurs="unbounded"/>
</sequence>
<attribute name="Id" type="ID" use="optional"/>
</complexType>
<element name="EncryptionProperty" type="xenc:EncryptionPropertyType"/>
<complexType name="EncryptionPropertyType" mixed="true">
<choice maxOccurs="unbounded">
<any namespace="##other" processContents="lax"/>
</choice>
<attribute name="Target" type="anyURI" use="optional"/>
<attribute name="Id" type="ID" use="optional"/>
<anyAttribute namespace="http://www.w3.org/XML/1998/namespace"/>
</complexType>
</schema>

View File

@ -1,287 +0,0 @@
<?xml version='1.0'?>
<?xml-stylesheet href="../2008/09/xsd.xsl" type="text/xsl"?>
<xs:schema targetNamespace="http://www.w3.org/XML/1998/namespace"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns ="http://www.w3.org/1999/xhtml"
xml:lang="en">
<xs:annotation>
<xs:documentation>
<div>
<h1>About the XML namespace</h1>
<div class="bodytext">
<p>
This schema document describes the XML namespace, in a form
suitable for import by other schema documents.
</p>
<p>
See <a href="http://www.w3.org/XML/1998/namespace.html">
http://www.w3.org/XML/1998/namespace.html</a> and
<a href="http://www.w3.org/TR/REC-xml">
http://www.w3.org/TR/REC-xml</a> for information
about this namespace.
</p>
<p>
Note that local names in this namespace are intended to be
defined only by the World Wide Web Consortium or its subgroups.
The names currently defined in this namespace are listed below.
They should not be used with conflicting semantics by any Working
Group, specification, or document instance.
</p>
<p>
See further below in this document for more information about <a
href="#usage">how to refer to this schema document from your own
XSD schema documents</a> and about <a href="#nsversioning">the
namespace-versioning policy governing this schema document</a>.
</p>
</div>
</div>
</xs:documentation>
</xs:annotation>
<xs:attribute name="lang">
<xs:annotation>
<xs:documentation>
<div>
<h3>lang (as an attribute name)</h3>
<p>
denotes an attribute whose value
is a language code for the natural language of the content of
any element; its value is inherited. This name is reserved
by virtue of its definition in the XML specification.</p>
</div>
<div>
<h4>Notes</h4>
<p>
Attempting to install the relevant ISO 2- and 3-letter
codes as the enumerated possible values is probably never
going to be a realistic possibility.
</p>
<p>
See BCP 47 at <a href="http://www.rfc-editor.org/rfc/bcp/bcp47.txt">
http://www.rfc-editor.org/rfc/bcp/bcp47.txt</a>
and the IANA language subtag registry at
<a href="http://www.iana.org/assignments/language-subtag-registry">
http://www.iana.org/assignments/language-subtag-registry</a>
for further information.
</p>
<p>
The union allows for the 'un-declaration' of xml:lang with
the empty string.
</p>
</div>
</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:union memberTypes="xs:language">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value=""/>
</xs:restriction>
</xs:simpleType>
</xs:union>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="space">
<xs:annotation>
<xs:documentation>
<div>
<h3>space (as an attribute name)</h3>
<p>
denotes an attribute whose
value is a keyword indicating what whitespace processing
discipline is intended for the content of the element; its
value is inherited. This name is reserved by virtue of its
definition in the XML specification.</p>
</div>
</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:NCName">
<xs:enumeration value="default"/>
<xs:enumeration value="preserve"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="base" type="xs:anyURI"> <xs:annotation>
<xs:documentation>
<div>
<h3>base (as an attribute name)</h3>
<p>
denotes an attribute whose value
provides a URI to be used as the base for interpreting any
relative URIs in the scope of the element on which it
appears; its value is inherited. This name is reserved
by virtue of its definition in the XML Base specification.</p>
<p>
See <a
href="http://www.w3.org/TR/xmlbase/">http://www.w3.org/TR/xmlbase/</a>
for information about this attribute.
</p>
</div>
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="id" type="xs:ID">
<xs:annotation>
<xs:documentation>
<div>
<h3>id (as an attribute name)</h3>
<p>
denotes an attribute whose value
should be interpreted as if declared to be of type ID.
This name is reserved by virtue of its definition in the
xml:id specification.</p>
<p>
See <a
href="http://www.w3.org/TR/xml-id/">http://www.w3.org/TR/xml-id/</a>
for information about this attribute.
</p>
</div>
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attributeGroup name="specialAttrs">
<xs:attribute ref="xml:base"/>
<xs:attribute ref="xml:lang"/>
<xs:attribute ref="xml:space"/>
<xs:attribute ref="xml:id"/>
</xs:attributeGroup>
<xs:annotation>
<xs:documentation>
<div>
<h3>Father (in any context at all)</h3>
<div class="bodytext">
<p>
denotes Jon Bosak, the chair of
the original XML Working Group. This name is reserved by
the following decision of the W3C XML Plenary and
XML Coordination groups:
</p>
<blockquote>
<p>
In appreciation for his vision, leadership and
dedication the W3C XML Plenary on this 10th day of
February, 2000, reserves for Jon Bosak in perpetuity
the XML name "xml:Father".
</p>
</blockquote>
</div>
</div>
</xs:documentation>
</xs:annotation>
<xs:annotation>
<xs:documentation>
<div xml:id="usage" id="usage">
<h2><a name="usage">About this schema document</a></h2>
<div class="bodytext">
<p>
This schema defines attributes and an attribute group suitable
for use by schemas wishing to allow <code>xml:base</code>,
<code>xml:lang</code>, <code>xml:space</code> or
<code>xml:id</code> attributes on elements they define.
</p>
<p>
To enable this, such a schema must import this schema for
the XML namespace, e.g. as follows:
</p>
<pre>
&lt;schema . . .>
. . .
&lt;import namespace="http://www.w3.org/XML/1998/namespace"
schemaLocation="http://www.w3.org/2001/xml.xsd"/>
</pre>
<p>
or
</p>
<pre>
&lt;import namespace="http://www.w3.org/XML/1998/namespace"
schemaLocation="http://www.w3.org/2009/01/xml.xsd"/>
</pre>
<p>
Subsequently, qualified reference to any of the attributes or the
group defined below will have the desired effect, e.g.
</p>
<pre>
&lt;type . . .>
. . .
&lt;attributeGroup ref="xml:specialAttrs"/>
</pre>
<p>
will define a type which will schema-validate an instance element
with any of those attributes.
</p>
</div>
</div>
</xs:documentation>
</xs:annotation>
<xs:annotation>
<xs:documentation>
<div id="nsversioning" xml:id="nsversioning">
<h2><a name="nsversioning">Versioning policy for this schema document</a></h2>
<div class="bodytext">
<p>
In keeping with the XML Schema WG's standard versioning
policy, this schema document will persist at
<a href="http://www.w3.org/2009/01/xml.xsd">
http://www.w3.org/2009/01/xml.xsd</a>.
</p>
<p>
At the date of issue it can also be found at
<a href="http://www.w3.org/2001/xml.xsd">
http://www.w3.org/2001/xml.xsd</a>.
</p>
<p>
The schema document at that URI may however change in the future,
in order to remain compatible with the latest version of XML
Schema itself, or with the XML namespace itself. In other words,
if the XML Schema or XML namespaces change, the version of this
document at <a href="http://www.w3.org/2001/xml.xsd">
http://www.w3.org/2001/xml.xsd
</a>
will change accordingly; the version at
<a href="http://www.w3.org/2009/01/xml.xsd">
http://www.w3.org/2009/01/xml.xsd
</a>
will not change.
</p>
<p>
Previous dated (and unchanging) versions of this schema
document are at:
</p>
<ul>
<li><a href="http://www.w3.org/2009/01/xml.xsd">
http://www.w3.org/2009/01/xml.xsd</a></li>
<li><a href="http://www.w3.org/2007/08/xml.xsd">
http://www.w3.org/2007/08/xml.xsd</a></li>
<li><a href="http://www.w3.org/2004/10/xml.xsd">
http://www.w3.org/2004/10/xml.xsd</a></li>
<li><a href="http://www.w3.org/2001/03/xml.xsd">
http://www.w3.org/2001/03/xml.xsd</a></li>
</ul>
</div>
</div>
</xs:documentation>
</xs:annotation>
</xs:schema>

View File

@ -1,308 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE schema PUBLIC "-//W3C//DTD XMLSchema 200102//EN" "XMLSchema.dtd" [
<!ATTLIST schema
xmlns:ds CDATA #FIXED "http://www.w3.org/2000/09/xmldsig#">
<!ENTITY dsig 'http://www.w3.org/2000/09/xmldsig#'>
<!ENTITY % p ''>
<!ENTITY % s ''>
]>
<!-- Schema for XML Signatures
http://www.w3.org/2000/09/xmldsig#
$Revision: 1.1 $ on $Date: 2002/02/08 20:32:26 $ by $Author: reagle $
Copyright 2001 The Internet Society and W3C (Massachusetts Institute
of Technology, Institut National de Recherche en Informatique et en
Automatique, Keio University). All Rights Reserved.
http://www.w3.org/Consortium/Legal/
This document is governed by the W3C Software License [1] as described
in the FAQ [2].
[1] http://www.w3.org/Consortium/Legal/copyright-software-19980720
[2] http://www.w3.org/Consortium/Legal/IPR-FAQ-20000620.html#DTD
-->
<schema xmlns="http://www.w3.org/2001/XMLSchema" xmlns:ds="http://www.w3.org/2000/09/xmldsig#" targetNamespace="http://www.w3.org/2000/09/xmldsig#" version="0.1" elementFormDefault="qualified">
<!-- Basic Types Defined for Signatures -->
<simpleType name="CryptoBinary">
<restriction base="base64Binary">
</restriction>
</simpleType>
<!-- Start Signature -->
<element name="Signature" type="ds:SignatureType"/>
<complexType name="SignatureType">
<sequence>
<element ref="ds:SignedInfo"/>
<element ref="ds:SignatureValue"/>
<element ref="ds:KeyInfo" minOccurs="0"/>
<element ref="ds:Object" minOccurs="0" maxOccurs="unbounded"/>
</sequence>
<attribute name="Id" type="ID" use="optional"/>
</complexType>
<element name="SignatureValue" type="ds:SignatureValueType"/>
<complexType name="SignatureValueType">
<simpleContent>
<extension base="base64Binary">
<attribute name="Id" type="ID" use="optional"/>
</extension>
</simpleContent>
</complexType>
<!-- Start SignedInfo -->
<element name="SignedInfo" type="ds:SignedInfoType"/>
<complexType name="SignedInfoType">
<sequence>
<element ref="ds:CanonicalizationMethod"/>
<element ref="ds:SignatureMethod"/>
<element ref="ds:Reference" maxOccurs="unbounded"/>
</sequence>
<attribute name="Id" type="ID" use="optional"/>
</complexType>
<element name="CanonicalizationMethod" type="ds:CanonicalizationMethodType"/>
<complexType name="CanonicalizationMethodType" mixed="true">
<sequence>
<any namespace="##any" minOccurs="0" maxOccurs="unbounded"/>
<!-- (0,unbounded) elements from (1,1) namespace -->
</sequence>
<attribute name="Algorithm" type="anyURI" use="required"/>
</complexType>
<element name="SignatureMethod" type="ds:SignatureMethodType"/>
<complexType name="SignatureMethodType" mixed="true">
<sequence>
<element name="HMACOutputLength" minOccurs="0" type="ds:HMACOutputLengthType"/>
<any namespace="##other" minOccurs="0" maxOccurs="unbounded"/>
<!-- (0,unbounded) elements from (1,1) external namespace -->
</sequence>
<attribute name="Algorithm" type="anyURI" use="required"/>
</complexType>
<!-- Start Reference -->
<element name="Reference" type="ds:ReferenceType"/>
<complexType name="ReferenceType">
<sequence>
<element ref="ds:Transforms" minOccurs="0"/>
<element ref="ds:DigestMethod"/>
<element ref="ds:DigestValue"/>
</sequence>
<attribute name="Id" type="ID" use="optional"/>
<attribute name="URI" type="anyURI" use="optional"/>
<attribute name="Type" type="anyURI" use="optional"/>
</complexType>
<element name="Transforms" type="ds:TransformsType"/>
<complexType name="TransformsType">
<sequence>
<element ref="ds:Transform" maxOccurs="unbounded"/>
</sequence>
</complexType>
<element name="Transform" type="ds:TransformType"/>
<complexType name="TransformType" mixed="true">
<choice minOccurs="0" maxOccurs="unbounded">
<any namespace="##other" processContents="lax"/>
<!-- (1,1) elements from (0,unbounded) namespaces -->
<element name="XPath" type="string"/>
</choice>
<attribute name="Algorithm" type="anyURI" use="required"/>
</complexType>
<!-- End Reference -->
<element name="DigestMethod" type="ds:DigestMethodType"/>
<complexType name="DigestMethodType" mixed="true">
<sequence>
<any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
</sequence>
<attribute name="Algorithm" type="anyURI" use="required"/>
</complexType>
<element name="DigestValue" type="ds:DigestValueType"/>
<simpleType name="DigestValueType">
<restriction base="base64Binary"/>
</simpleType>
<!-- End SignedInfo -->
<!-- Start KeyInfo -->
<element name="KeyInfo" type="ds:KeyInfoType"/>
<complexType name="KeyInfoType" mixed="true">
<choice maxOccurs="unbounded">
<element ref="ds:KeyName"/>
<element ref="ds:KeyValue"/>
<element ref="ds:RetrievalMethod"/>
<element ref="ds:X509Data"/>
<element ref="ds:PGPData"/>
<element ref="ds:SPKIData"/>
<element ref="ds:MgmtData"/>
<any processContents="lax" namespace="##other"/>
<!-- (1,1) elements from (0,unbounded) namespaces -->
</choice>
<attribute name="Id" type="ID" use="optional"/>
</complexType>
<element name="KeyName" type="string"/>
<element name="MgmtData" type="string"/>
<element name="KeyValue" type="ds:KeyValueType"/>
<complexType name="KeyValueType" mixed="true">
<choice>
<element ref="ds:DSAKeyValue"/>
<element ref="ds:RSAKeyValue"/>
<any namespace="##other" processContents="lax"/>
</choice>
</complexType>
<element name="RetrievalMethod" type="ds:RetrievalMethodType"/>
<complexType name="RetrievalMethodType">
<sequence>
<element ref="ds:Transforms" minOccurs="0"/>
</sequence>
<attribute name="URI" type="anyURI"/>
<attribute name="Type" type="anyURI" use="optional"/>
</complexType>
<!-- Start X509Data -->
<element name="X509Data" type="ds:X509DataType"/>
<complexType name="X509DataType">
<sequence maxOccurs="unbounded">
<choice>
<element name="X509IssuerSerial" type="ds:X509IssuerSerialType"/>
<element name="X509SKI" type="base64Binary"/>
<element name="X509SubjectName" type="string"/>
<element name="X509Certificate" type="base64Binary"/>
<element name="X509CRL" type="base64Binary"/>
<any namespace="##other" processContents="lax"/>
</choice>
</sequence>
</complexType>
<complexType name="X509IssuerSerialType">
<sequence>
<element name="X509IssuerName" type="string"/>
<element name="X509SerialNumber" type="integer"/>
</sequence>
</complexType>
<!-- End X509Data -->
<!-- Begin PGPData -->
<element name="PGPData" type="ds:PGPDataType"/>
<complexType name="PGPDataType">
<choice>
<sequence>
<element name="PGPKeyID" type="base64Binary"/>
<element name="PGPKeyPacket" type="base64Binary" minOccurs="0"/>
<any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
</sequence>
<sequence>
<element name="PGPKeyPacket" type="base64Binary"/>
<any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
</sequence>
</choice>
</complexType>
<!-- End PGPData -->
<!-- Begin SPKIData -->
<element name="SPKIData" type="ds:SPKIDataType"/>
<complexType name="SPKIDataType">
<sequence maxOccurs="unbounded">
<element name="SPKISexp" type="base64Binary"/>
<any namespace="##other" processContents="lax" minOccurs="0"/>
</sequence>
</complexType>
<!-- End SPKIData -->
<!-- End KeyInfo -->
<!-- Start Object (Manifest, SignatureProperty) -->
<element name="Object" type="ds:ObjectType"/>
<complexType name="ObjectType" mixed="true">
<sequence minOccurs="0" maxOccurs="unbounded">
<any namespace="##any" processContents="lax"/>
</sequence>
<attribute name="Id" type="ID" use="optional"/>
<attribute name="MimeType" type="string" use="optional"/> <!-- add a grep facet -->
<attribute name="Encoding" type="anyURI" use="optional"/>
</complexType>
<element name="Manifest" type="ds:ManifestType"/>
<complexType name="ManifestType">
<sequence>
<element ref="ds:Reference" maxOccurs="unbounded"/>
</sequence>
<attribute name="Id" type="ID" use="optional"/>
</complexType>
<element name="SignatureProperties" type="ds:SignaturePropertiesType"/>
<complexType name="SignaturePropertiesType">
<sequence>
<element ref="ds:SignatureProperty" maxOccurs="unbounded"/>
</sequence>
<attribute name="Id" type="ID" use="optional"/>
</complexType>
<element name="SignatureProperty" type="ds:SignaturePropertyType"/>
<complexType name="SignaturePropertyType" mixed="true">
<choice maxOccurs="unbounded">
<any namespace="##other" processContents="lax"/>
<!-- (1,1) elements from (1,unbounded) namespaces -->
</choice>
<attribute name="Target" type="anyURI" use="required"/>
<attribute name="Id" type="ID" use="optional"/>
</complexType>
<!-- End Object (Manifest, SignatureProperty) -->
<!-- Start Algorithm Parameters -->
<simpleType name="HMACOutputLengthType">
<restriction base="integer"/>
</simpleType>
<!-- Start KeyValue Element-types -->
<element name="DSAKeyValue" type="ds:DSAKeyValueType"/>
<complexType name="DSAKeyValueType">
<sequence>
<sequence minOccurs="0">
<element name="P" type="ds:CryptoBinary"/>
<element name="Q" type="ds:CryptoBinary"/>
</sequence>
<element name="G" type="ds:CryptoBinary" minOccurs="0"/>
<element name="Y" type="ds:CryptoBinary"/>
<element name="J" type="ds:CryptoBinary" minOccurs="0"/>
<sequence minOccurs="0">
<element name="Seed" type="ds:CryptoBinary"/>
<element name="PgenCounter" type="ds:CryptoBinary"/>
</sequence>
</sequence>
</complexType>
<element name="RSAKeyValue" type="ds:RSAKeyValueType"/>
<complexType name="RSAKeyValueType">
<sequence>
<element name="Modulus" type="ds:CryptoBinary"/>
<element name="Exponent" type="ds:CryptoBinary"/>
</sequence>
</complexType>
<!-- End KeyValue Element-types -->
<!-- End Signature -->
</schema>

View File

@ -1,23 +0,0 @@
-----BEGIN CERTIFICATE-----
MIIDpjCCAo6gAwIBAgIJAO/dumwp42faMA0GCSqGSIb3DQEBCwUAMG8xCzAJBgNV
BAMMAkNBMRcwFQYKCZImiZPyLGQBGRYHdnNwaGVyZTEVMBMGCgmSJomT8ixkARkW
BWxvY2FsMQswCQYDVQQGEwJVUzEjMCEGA1UECgwaY2MtdmNlbnRlcjEuZW5nLnZt
d2FyZS5jb20wHhcNMTUwNzI0MTYzMjM1WhcNMjUwNzIxMTYzMjM1WjBvMQswCQYD
VQQDDAJDQTEXMBUGCgmSJomT8ixkARkWB3ZzcGhlcmUxFTATBgoJkiaJk/IsZAEZ
FgVsb2NhbDELMAkGA1UEBhMCVVMxIzAhBgNVBAoMGmNjLXZjZW50ZXIxLmVuZy52
bXdhcmUuY29tMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAtF0wUEI7
b7nTBUmL2afHHsHgoAGD3vPLSwjkQKWZhtjf/9PnBbQa2Qvt+AfUawAs9jZSUytg
VxyAVttTT1/trH6cj8eeAA9/P69h/qwYxJr+O01QK8VdKHkdK+Ec+C0oBrbscU25
tTq+pM57iQ5XD5qw/fGfkwvqSe3vfcDnbd1rbSDGjQ7sGxeR0AfFdclhOo/NnxfD
Tl4/yx9fnCv1BYKNkg3M5t57WI2+nxPa5BVTOt65csBSOTSjRfCbySad0N3gRD11
P3p4p7lyia/fMKyuQ2wYo89Mc3asOv6jOyZBaKzYD//a0GCBDDmI5LinH35p/JlC
hWWJ+Bldr9rLZQIDAQABo0UwQzAdBgNVHQ4EFgQUuFbh291cPl9Iko2AuhzJCr65
jyAwDgYDVR0PAQH/BAQDAgEGMBIGA1UdEwEB/wQIMAYBAf8CAQAwDQYJKoZIhvcN
AQELBQADggEBAGQpGV0a9GkXtxY0ezPFvBU/JYjKznNkoaeLMB4ZHJRdOBJdAsqN
BOx5t1pBZIwVFDMUlgkbHCOOh9vVzaAuDGTRSsVWTc5jt2eZGNypr1Cj2ylIfsMO
w7X0DdmDbVeQCe3y9TRER6F/jNu2UZp37xn8/UWHYENC4Bem/u/OSUM59bxvJClc
N+q+S7L0Y81EmErzZQW7xmK2eieRIntkH6upPcteaWYwpSjRU9gXkAKzeYCt11xU
H/ZT9iqjnrVGOooHwNna+c2oFGlGYNKyvneU2ATA9JnY39JXLfav6Az8VE9nLPRt
S7LEvnemwSyx+Y7xlraR2Qwq0Em+TMgahbI=
-----END CERTIFICATE-----

View File

@ -1,28 +0,0 @@
-----BEGIN PRIVATE KEY-----
MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQDGba5Upqo6t9ko
JakmTYgGEqVgRhlWT/54S9KzooudPG6tu91/uGewDtYfsDlhnI3hK4iSbxJHR+Yq
DAmaqiY55m0G126n+omg3XNkP5atN8BtzLGyhe/XM7lOg4/njX2rAoZjKKMZUO9+
9WM8WaeIV+nEgF97grcEjwqQ7fRecjdlkpWsOTMXasX6wfU2AIHOr3OGbMRj7FCr
07pyP22ojTsiMdefVu2O8A2r003El+fohrODuq430tEbEJKc1eke+qRHD+vjm/Ze
WrftTp0thgLD4qW0itctMGfzvAaH13saFU2AurhClcs8sTfZBH+x0x0jcbuWvnL5
t4GL/Xu5AgMBAAECggEABxW7d8JLqbUOx+QwWfHCvZTE2t8l4HMSvvDWIRvYqFCU
Exf2HK1U5nBhLNh59AZG+pc3VSMqH+ltSmsLnL4eh0q28duXU+AaMeg2SooKszye
Xk1Euv8VRTXPlAIWjUn8BrMcYUX+LNU69+mDFZCN7sxUyHNc9WgBaORCmFImu4iA
YTjynqBncGtD+KjfXzYij7RlrT9FdfSuHLn8/MsaLFi2RgSMWWomfwpvGPnihh1F
oHLfw3DtuqOPJHGGt8QQ5FFTXN3aJTNQzmJmOQa3Wl3aTUDtafSND+8rkxKbm7w8
1+8R/Skp3RzThqU4QErPya+dARCrmi2mKA8qOFboQQKBgQDkU4YwGnqSbhasipu6
GD2zhUwSbPo8fD3jofSRhNwi99uIl4o+ixrcptxjL7/AuxHfLxmXSg+kRW2jBo0C
5P40WrwjI23/Lbwh5fxsVuP4MbvepUW2BsiaSImb98nEgxTD/5sDWiGe/gi35VPb
CjoLkwLLR2FvJB1xHxN25C7JlQKBgQDeen3BE2IRCU5eJooAd748XMHAUVt6pH5I
IC292M9+Y1wT1E0xJsc8GWy0LTMdAotQTbha/MPau42uvHtWsBlGcptP4yvg/6uJ
BA1Fhh9VqIMs+DAeL/NbePmO6VP9DteoNL5YkQd7evUn93J9BngsvGrwMvbYK5mI
AzGTrj+IlQKBgQCfc9UacuN2r3sWNBZc9+DfJg/iLkjzRLDT756koWw6321pDqt0
0iCIR99RRV9ccUgh3Pq6NPaHehT+7Ow9QT5lwZfx0iRXONFRuxN1dZjvE4xoCHOO
k140oMO5MGqv2fr+hdrzlFY2eqIMCxNsvM+claY14DujKk2FWnZ1aRVjoQKBgH4O
L2SPY/g9Kp8j/PtI3Yv8Dne2YTu7KiYZvXEdAGwfRhOiLd6UlzyRN0tbdOOSBneI
odVD9IDh1eRUvRmgC6Ij26ZHFByXII0ws4hZ9zUklraLJVBlYODKSbRUthbjKwQO
Zm9uNSwcvf1YMhFu8fZ/B6Rza/ONuJ8dGCESEMOFAoGAK/zBzimPMnoDKjN1TDk+
QSQC41rCnXEcqH8Z7FBVkkruZ5E27aJaOwRwUeir8C959wMg0F+rH36WjXemBmw8
6NFO5AO0EwXe7nFInsLzWAL+fDtFHxCnopsINlYvMnfqd07+xeW9U4sZAVHWs51O
BlAbiw1JV/X+xgvPK4pQxcM=
-----END PRIVATE KEY-----

View File

@ -1,24 +0,0 @@
-----BEGIN CERTIFICATE-----
MIID6TCCAtGgAwIBAgIJAOiEjI8ODqZCMA0GCSqGSIb3DQEBCwUAMG8xCzAJBgNV
BAMMAkNBMRcwFQYKCZImiZPyLGQBGRYHdnNwaGVyZTEVMBMGCgmSJomT8ixkARkW
BWxvY2FsMQswCQYDVQQGEwJVUzEjMCEGA1UECgwaY2MtdmNlbnRlcjEuZW5nLnZt
d2FyZS5jb20wHhcNMTUwODEyMTkzMDQ4WhcNMjUwNzIxMTYzMjM1WjB1MQ0wCwYD
VQQDDARBY21lMQswCQYDVQQGEwJVUzETMBEGA1UECAwKQ2FsaWZvcm5pYTESMBAG
A1UEBwwJUGFsbyBBbHRvMRAwDgYDVQQKDAdBY21lT3JnMRwwGgYDVQQLDBNBY21l
T3JnIEVuZ2luZWVyaW5nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA
xm2uVKaqOrfZKCWpJk2IBhKlYEYZVk/+eEvSs6KLnTxurbvdf7hnsA7WH7A5YZyN
4SuIkm8SR0fmKgwJmqomOeZtBtdup/qJoN1zZD+WrTfAbcyxsoXv1zO5ToOP5419
qwKGYyijGVDvfvVjPFmniFfpxIBfe4K3BI8KkO30XnI3ZZKVrDkzF2rF+sH1NgCB
zq9zhmzEY+xQq9O6cj9tqI07IjHXn1btjvANq9NNxJfn6Iazg7quN9LRGxCSnNXp
HvqkRw/r45v2Xlq37U6dLYYCw+KltIrXLTBn87wGh9d7GhVNgLq4QpXLPLE32QR/
sdMdI3G7lr5y+beBi/17uQIDAQABo4GBMH8wCwYDVR0PBAQDAgXgMDAGA1UdEQQp
MCeBDmVtYWlsQGFjbWUuY29thwR/AAABgg9zZXJ2ZXIuYWNtZS5jb20wHQYDVR0O
BBYEFFjaImJnGok8y/plG+ZOH0aw38WrMB8GA1UdIwQYMBaAFLhW4dvdXD5fSJKN
gLocyQq+uY8gMA0GCSqGSIb3DQEBCwUAA4IBAQAcdOvU9DqeN9XfaFHt7bTC/mHx
l7SZfdozsfFoO8WJg2MLl1dwN6Iq7iKGWr9bWfwxJHz3VR0hoLIh54D2jUqn8R7b
eDoJW5/Zua+aC84pqqpjVKbrzEsUDgysFYRr+ALLlVW8+GTizHkr7FiLJ7tV1sSz
qT4roldYLwNcUkGHF9L77RZGvuDr9g7pcHTxSq+ApHVHeRTJHBJfs5z7JB7yFqdG
27fMl0GwxCLEigGbIOeoqS796dy20Tg6XLasUnVwgCoumvzn1XUmAJIvosjvXB0N
ABh6HN/Cf1lTnYanRPch7fJ2TerhPw5JkDQYLmL7ltQGCWWPXYYwAqvcm9Uv
-----END CERTIFICATE-----

View File

@ -1,9 +0,0 @@
#!/bin/sh
export CAF_TMP_DIR=$CAF_OUTPUT_DIR/tmp
export CAF_INPUT_DIR=$CAF_INPUT_DIR
export CAF_OUTPUT_DIR=$CAF_OUTPUT_DIR
export CAF_PROVIDERREG_DIR=$CAF_OUTPUT_DIR/providerReg
export CAF_INVOKERS_DIR=$CAF_OUTPUT_DIR/invokers
export CAF_PROVIDERS_DIR=$CAF_OUTPUT_DIR/providers
export CAF_COMMONPACKAGES_DIR=$CAF_OUTPUT_DIR/commonPackages

View File

@ -1,12 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<caf:providerReg
xmlns:caf="http://schemas.vmware.com/caf/schema/fx"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://schemas.vmware.com/caf/schema/fx http://10.25.57.32/caf-downloads/schema/fx/ProviderInfra.xsd"
providerNamespace="cafTestInfra"
providerName="CafTestInfraProvider"
providerVersion="1.0.0"
inProcMoniker="com.vmware.commonagent.providers.testinfraprovider"
staleSec="1000"
isSchemaVisible="true"/>

View File

@ -1,12 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<caf:providerReg
xmlns:caf="http://schemas.vmware.com/caf/schema/fx"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://schemas.vmware.com/caf/schema/fx http://10.25.57.32/caf-downloads/schema/fx/ProviderInfra.xsd"
providerNamespace="caf"
providerName="ConfigProvider"
providerVersion="1.0.0"
inProcMoniker="com.vmware.commonagent.providers.configprovider"
staleSec="1000"
isSchemaVisible="false"/>

View File

@ -1,12 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<caf:providerReg
xmlns:caf="http://schemas.vmware.com/caf/schema/fx"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://schemas.vmware.com/caf/schema/fx http://10.25.57.32/caf-downloads/schema/fx/ProviderInfra.xsd"
providerNamespace="caf"
providerName="InstallProvider"
providerVersion="1.0.0"
inProcMoniker="com.vmware.commonagent.providers.installprovider"
staleSec="1000"
isSchemaVisible="false"/>

View File

@ -1,12 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<caf:providerReg
xmlns:caf="http://schemas.vmware.com/caf/schema/fx"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://schemas.vmware.com/caf/schema/fx http://10.25.57.32/caf-downloads/schema/fx/ProviderInfra.xsd"
providerNamespace="caf"
providerName="RemoteCommandProvider"
providerVersion="1.0.0"
inProcMoniker="com.vmware.commonagent.providers.remotecommandprovider"
staleSec="1000"
isSchemaVisible="false"/>

4
challenge2.sql Normal file
View File

@ -0,0 +1,4 @@
drop database if exists bookstore;
create database bookstore;

17
challenge3.sql Normal file
View File

@ -0,0 +1,17 @@
drop database if exists bookstore;
create database bookstore;
use bookstore;
create table book(
id int(11) not NULL,
title VARCHAR(255),
author VARCHAR(255),
publisher VARCHAR(255),
publishYear int(11)
)DEFAULT CHARSET=utf8;
Insert into book (id,title,author,publisher,publishYear) values
(1002,'平凡的世界', '路遥','新世界出版社',2011),
(1026,'活着', '余华','东方出版社',2016),
(1204,'围城', '钱钟书','人名文学出版社',1991),
(1208,'围城', '钱钟书','文艺出版社',2012);

18
challenge4.sql Normal file
View File

@ -0,0 +1,18 @@
drop database if exists bookstore;
create database bookstore;
use bookstore;
create table book(
id int(11) not NULL,
title VARCHAR(255),
author VARCHAR(255),
publisher VARCHAR(255),
publishYear int(11)
)DEFAULT CHARSET=utf8;
Insert into book (id,title,author,publisher,publishYear) values
(1002,'平凡的世界', '路遥','新世界出版社',2011),
(1026,'活着', '余华','东方出版社',2016),
(1204,'围城', '钱钟书','人名文学出版社',1991),
(1208,'围城', '钱钟书','文艺出版社',2012),
(1004,'平凡的世界', '路遥','文艺出版社',2012),
(1010,'人生', '路遥','文艺出版社',2005),
(1024,'活着', '余华','作家出版社',2012);

16
challenge5.sql Normal file
View File

@ -0,0 +1,16 @@
drop database if exists bookstore;
create database bookstore;
use bookstore;
create table book(
id int(11) not NULL,
title VARCHAR(255),
author VARCHAR(255),
publisher VARCHAR(255),
publishYear int(11)
)DEFAULT CHARSET=utf8;
Insert into book (id,title,author,publisher,publishYear) values
(1002,'平凡的世界', '路遥','新世界出版社',2011),
(1204,'围城', '钱钟书','人名文学出版社',1991),
(1208,'围城', '钱钟书','文艺出版社',2012),
(1004,'平凡的世界', '路遥','文艺出版社',2012),
(1010,'人生', '路遥','文艺出版社',2005);

16
challenge6.sql Normal file
View File

@ -0,0 +1,16 @@
drop database if exists bookstore;
create database bookstore;
use bookstore;
create table book(
id int(11) not NULL,
title VARCHAR(255),
author VARCHAR(255),
publisher VARCHAR(255),
publishYear int(11)
)DEFAULT CHARSET=utf8;
Insert into book (id,title,author,publisher,publishYear) values
(1002,'平凡的世界', '路遥','新世界出版社',2011),
(1204,'围城', '钱钟书','人名文学出版社',1991),
(1208,'围城', '钱钟书','文艺出版社',2012),
(1004,'平凡的世界', '路遥','文艺出版社',2012),
(1010,'人生', '路遥','文艺出版社',2005);

18
challenge7.sql Normal file
View File

@ -0,0 +1,18 @@
drop database if exists bookstore;
create database bookstore;
use bookstore;
create table step7(
id int(11) not NULL,
title VARCHAR(255),
author VARCHAR(255),
publisher VARCHAR(255),
publishYear int(11)
)DEFAULT CHARSET=utf8;
Insert into step7 (id,title,author,publisher,publishYear) values
(1002,'平凡的世界', null,'新世界出版社',null),
(1208,null, '钱钟书',null,null);
create table transformedBook(
id int(11),
column_name VARCHAR(255),
value VARCHAR(255)
)DEFAULT CHARSET=utf8;

View File

@ -1,67 +0,0 @@
Copyright (c) 1998-2015 VMware, Inc. All rights reserved.
Please visit http://www.vmware.com/info?id=99 for help on getting started
installing VMware Tools.
_____________________________________________________________________________
INSTALLING/UPGRADING
To install/upgrade VMware Tools for Linux,
run the program "vmware-install.pl" from a command prompt, either in text
mode or from a terminal inside an X session. You must have super user
privileges (i.e. be logged as root) to run it.
./vmware-install.pl
If you are installing VMware Tools for the first time,
you can hit the <enter> key each time you are prompted to select the
factory default answer. By default,
the installation program installs:
the executables in /usr/bin,
the server executables in /usr/sbin,
the library files in /usr/lib/vmware-tools,
and the documentation files in /usr/share/doc/vmware-tools.
If you have previously installed VMware Tools,
you can hit the <enter> key each time you are prompted to keep your previous
answer, or you can decide to submit a new answer.
Once the installation/upgrade is complete, you can safely remove the
vmware-tools-distrib directory from your system.
CONFIGURING
In order to run correctly, VMware Tools must first be configured.
To configure VMware Tools, run the program "vmware-config-tools.pl" (this is
automatically done for you at the end of the installation/upgrade
process if you answer "yes" to the last question). You must have super user
privileges (i.e. be logged as root) to run it.
vmware-config-tools.pl
This will teach VMware Tools how to run on your current Linux kernel.
If you reboot your machine with a new kernel that VMware Tools
doesn't know yet (because, let's say, you have upgraded your Linux system),
you will have to run this configuration program again.
Then, VMware Tools will know this new kernel once and for all.
______________________________________________________________________________
UNINSTALLING
To remove an existing installation, run the program
"vmware-uninstall-tools.pl".
You must have super user privileges (i.e. be logged as root) to run it.
vmware-uninstall-tools.pl
The uninstall process will delete all installed files, and will backup the
files that have been modified since they have been installed.
______________________________________________________________________________
We hope you will enjoy this product,
--The VMware team.

View File

@ -1,2 +0,0 @@
For complete VMware(TM) product documentation, please use the product
Help menu or refer to http://www.vmware.com/support.

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -1,64 +0,0 @@
.encoding = "UTF-8"
monolithic.version = "10.0.5"
svga33.version = "10.3.0.0"
svga4.version = "10.4.0.0"
vmmouse42.version = "1.0.0.0"
svga42.version = "10.10.2.0"
vmmouse43.version = "12.6.4.0"
svga43.version = "10.16.7.0"
vmmouse43_64.version = "12.6.4.0"
svga43_64.version = "10.16.7.0"
vmmouse67.version = "12.6.4.0"
svga67.version = "10.16.7.0"
vmmouse67_64.version = "12.6.4.0"
svga67_64.version = "10.16.7.0"
vmmouse68.version = "12.6.4.0"
svga68.version = "10.16.7.0"
vmmouse68_64.version = "12.6.4.0"
svga68_64.version = "10.16.7.0"
vmmouse70.version = "12.7.0.0"
svga70.version = "11.0.99.4"
vmmouse70_64.version = "12.7.0.0"
svga70_64.version = "11.0.99.4"
vmmouse71.version = "12.7.0.0"
svga71.version = "11.0.99.4"
vmmouse71_64.version = "12.7.0.0"
svga71_64.version = "11.0.99.4"
vmmouse73.version = "12.7.0.0"
svga73.version = "11.0.99.4"
vmmouse73_64.version = "12.7.0.0"
svga73_64.version = "11.0.99.4"
vmmouse73_99.version = "12.7.0.0"
svga73_99.version = "11.0.99.4"
vmmouse73_99_64.version = "12.7.0.0"
svga73_99_64.version = "11.0.99.4"
vmmouse74.version = "12.7.0.0"
svga74.version = "11.0.99.4"
vmmouse74_64.version = "12.7.0.0"
svga74_64.version = "11.0.99.4"
vmmouse75.version = "12.7.0.0"
svga75.version = "11.0.99.4"
vmmouse75_64.version = "12.7.0.0"
svga75_64.version = "11.0.99.4"
vmmouse76.version = "12.7.0.0"
svga76.version = "11.0.99.4"
vmmouse76_64.version = "12.7.0.0"
svga76_64.version = "11.0.99.4"
checkvm.version = "10.0.5.520"
vmtoolsd.version = "10.0.5.520"
upgrader.version = "10.0.5.520"
hgfsclient.version = "10.0.5.520"
hgfsmounter.version = "10.0.5.520"
vmguestlib.version = "10.0.5.520"
vmguestlibjava.version = "10.0.5.520"
toolbox-cmd.version = "10.0.5.520"
guestproxycerttool.version = "10.0.5.520"
vmci.version = "9.8.1.0"
vmhgfs.version = "2.0.17.1"
vmmemctl.version = "1.3.2.0"
vmsync.version = "1.1.0.1"
vmxnet.version = "2.1.0.0"
vmxnet3.version = "1.4.2.0"
vmblock.version = "1.1.2.0"
vsock.version = "9.8.1.0"
pvscsi.version = "1.2.3.0"

View File

@ -1,70 +0,0 @@
##############################################################
# Copyright (c) 2011-2015 VMware, Inc. All rights reserved.
##############################################################
#
# German translation catalog.
#
# Please follow a few guidelines when editing this file:
# . Try to maintain formatting (e.g., indentation and line breaks).
# . Avoid long lines by breaking them into multiple lines.
# . Catalogs *must* be in UTF-8.
# . Try to keep the file sorted by message id.
#
addsubj.fail = "%1$s: Das Hinzufügen des Alias für den Benutzer '%2$s': %3$s ist fehlgeschlagen.\n"
addsubj.success = "%1$s: Alias hinzugefügt\n"
addoptions.comment = "Inhaberkommentar"
addoptions.file = "PEM-Dateiname"
addoptions.global = "Zertifikat der globalen Zuordnungsdatei hinzufügen"
addoptions.subject = "Der SAML-Inhaber"
addoptions.username = "Benutzer, dessen Zertifikatsspeicher hinzugefügt wird zu"
addoptions.verbose = "Detaillierter Vorgang"
cmdline.parse = "Die Analyse der Befehlszeile ist fehlgeschlagen"
cmdline.summary.pemfile = "PEM-Datei"
cmdline.summary.subject = "Inhaber"
cmdline.summary.username = "Benutzername"
cmdline.summary.comm = "Kommentar"
list.comment = "Kommentar"
list.count = "%1$s: Es wurden %2$d Aliase für den Benutzer '%3$s' gefunden.\n"
list.error = "%1$s: Die Auflistung der Aliase für den Benutzer '%2$s': %3$s ist fehlgeschlagen.\n"
list.subject = "Inhaber"
listmapped.count = "%1$s: Es wurden %2$d zugeordnete Aliase gefunden.\n"
listmapped.error = "%1$s: Die Auflistung der zugeordneten Aliase %2$s ist fehlgeschlagen.\n"
listmapped.subject = "Inhaber"
listmapped.username = "Benutzername"
listoptions.username = "Benutzer, dessen Zertifikatsspeicher abgefragt wird"
listoptions.verbose = "Detaillierter Vorgang"
loadfile.fail = "%1$s: PEM-Datei '%2$s' kann nicht gelesen werden\n"
name.any = "<ALLE>"
removesubj.fail = "%1$s: Das Entfernen des Alias für den Benutzer '%2$s': %3$s ist fehlgeschlagen.\n"
removesubj.success = "%1$s: Alias entfernt\n"
removeoptions.file = "PEM-Dateiname"
removeoptions.subject = "Der SAML-Inhaber"
removeoptions.username = "Benutzer, dessen Zertifikatsspeicher entfernt wurde aus"
removeoptions.verbose = "Detaillierter Vorgang"
vgauth.init.failed = "Die Initialisierung von VGAuth ist fehlgeschlagen"

View File

@ -1,16 +0,0 @@
##############################################################
# Copyright (c) 2011-2015 VMware, Inc. All rights reserved.
##############################################################
#
# German translation catalog.
#
# Please follow a few guidelines when editing this file:
# . Try to maintain formatting (e.g., indentation and line breaks).
# . Avoid long lines by breaking them into multiple lines.
# . Catalogs *must* be in UTF-8.
# . Try to keep the file sorted by message id.
# . ids use the form filename.object.messagetype
auth.password.invalid = "Benutzername und Kennwort für '%1$s' stimmen nicht überein"
auth.password.valid = "Benutzername und Kennwort wurden erfolgreich für '%1$s' bestätigt"
auth.sspi.badid = "Versuch der Authentifizierung mithilfe einer ungültigen oder abgelaufenen SSPI-Anfrage-ID: %1$u"

View File

@ -1,41 +0,0 @@
##############################################################
# Copyright (c) 2011-2015 VMware, Inc. All rights reserved.
##############################################################
#
# German translation catalog.
#
# Please follow a few guidelines when editing this file:
# . Try to maintain formatting (e.g., indentation and line breaks).
# . Avoid long lines by breaking them into multiple lines.
# . Catalogs *must* be in UTF-8.
# . Try to keep the file sorted by message id.
# . ids use the form filename.object.messagetype
proto.attack = "Möglicher Sicherheitsangriff! Der Anfragetyp %1$d verfügt über einen Benutzernamen (%2$s), der nicht mit dem Pipe-Eigentümer (%3$s) übereinstimmt!"
validate.samlBearer.fail = "Die Überprüfung des SAML-Träger-Token ist fehlgeschlagen: %1$d"
validate.samlBearer.success = "Überprüfter SAML-Träger-Token für den Benutzer '%1$s'"
alias.addid = "Dem Aliasspeicher im Eigentum von '%1$s' durch den Benutzer '%2$s' hinzugefügtes Alias"
alias.dir.badperm = "Das Aliasspeicherverzeichnis '%1$s' verfügt über unzulässige Eigentümer oder Berechtigungen. Alle aktuell in '%2$s' gespeicherte Aliase stehen für die Authentifizierung nicht zur Verfügung"
alias.dir.notadir = "Das Aliasspeicherverzeichnis '%1$s' ist vorhanden, ist aber kein Verzeichnis"
alias.dir.renamefail = "Das Umbenennen des verdächtigen Aliasspeicherverzeichnisses '%1$s' in '%2$s' ist fehlgeschlagen"
alias.alias.badfile = "Der Aliasspeicher '%1$s' ist vorhanden, ist aber keine ordnungsgemäße Datei. Die Aliase für den Benutzer '%2$s' stehen für die Authentifizierung nicht zur Verfügung"
alias.alias.badperm = "Der Aliasspeicher '%1$s' verfügt über unzulässige Eigentümer oder Berechtigungen. Die Aliase für den Benutzer '%2$s' stehen für die Authentifizierung nicht zur Verfügung"
alias.alias.rename = "Der verdächtige Aliasspeicher '%1$s' wurde in '%2$s' umbenannt"
alias.alias.renamefail = "Das Umbenennen des verdächtigen Aliasspeichers '%1$s' in '%2$s' ist fehlgeschlagen"
alias.mapfile.badperm = "Die Zuordungsdatei '%1$s' des Aliasspeichers verfügt über unzulässige Eigentümer oder Berechtigungen. Die Aliase in der Zuordnungsdatei stehen für eine Authentifizierung nicht zur Verfügung"
alias.mapping.badfile = "Die Zuordnungsdatei '%1$s' ist vorhanden, ist aber keine ordnungsgemäße Datei. Die Aliase in der Zuordnungsdatei stehen für eine Authentifizierung nicht zur Verfügung"
alias.removeid = "Das Alias wurde aus dem Aliasspeicher im Eigentum von '%1$s' durch den Benutzer '%2$s' entfernt"

View File

@ -1,20 +0,0 @@
##############################################################
# Copyright (c) 2010-2015 VMware, Inc. All rights reserved.
##############################################################
#
# German translation catalog.
#
# Please follow a few guidelines when editing this file:
# . Try to maintain formatting (e.g., indentation and line breaks).
# . Avoid long lines by breaking them into multiple lines.
# . Catalogs *must* be in UTF-8.
# . Try to keep the file sorted by message id.
#
displayDPI.logout.caption = "VMware Tools"
displayDPI.logout.message = "VMware Tools verfügt über veränderte Größeneinstellungen für die Benutzeroberfläche. Für die Übernahme dieser Änderungen müssen Sie sich abmelden. Schließen Sie alle Anwendungen und klicken Sie auf 'OK', um sich jetzt abzumelden, oder klicken Sie auf 'Abbrechen', um sich später abzumelden."
pmtimer.warning.caption = "Konfigurationsfehler des Gastbetriebssystems"
pmtimer.warning.text = "Der VMware Tools-Dienst hat einen Fehler bei der Konfiguration des Betriebssystems dieser virtuellen Maschine erkannt. In der Datei 'Boot.ini' ist der Parameter „/usepmtimer“ boot angegeben. Dieser Parameter führt zu einer schwerwiegenden Beeinträchtigung der VM-Leistung bei bestimmten Arbeitslasten.\n\nEntfernen Sie den „usepmtimer“-Parameter aus der Datei 'Boot.ini' und starten Sie die VM neu, um die VM-Leistung zu verbessern.\n\nZusätzliche Details finden Sie im VMware Knowledgebase-Artikel KB 1011714."

View File

@ -1,19 +0,0 @@
##############################################################
# Copyright (c) 2010-2015 VMware, Inc. All rights reserved.
##############################################################
#
# German translation catalog.
#
# Please follow a few guidelines when editing this file:
# . Try to maintain formatting (e.g., indentation and line breaks).
# . Avoid long lines by breaking them into multiple lines.
# . Catalogs *must* be in UTF-8.
# . Try to keep the file sorted by message id.
#
redirect.logout.message = "VMware Tools hat die Einstellungen zum Aktiveren der gemeinsamen Nutzung von Daten mit dem Host geändert. Sie müssen sich abmelden, damit die Einstellungen übernommen werden. Klicken Sie auf 'OK', um sich jetzt abzumelden. Klicken Sie auf 'Abbrechen', um sich später abzumelden."
redirect.logout.title = "VMware Tools"
sharedfolders.name = "VMware-Ordnerfreigaben"

View File

@ -1,161 +0,0 @@
##############################################################
# Copyright (c) 2010-2015 VMware, Inc. All rights reserved.
##############################################################
#
# German translation catalog.
#
# Please follow a few guidelines when editing this file:
# . Try to maintain formatting (e.g., indentation and line breaks).
# . Avoid long lines by breaking them into multiple lines.
# . Catalogs *must* be in UTF-8.
# . Try to keep the file sorted by message id.
#
arg.command = "Befehl"
arg.devicename = "Gerätename"
arg.logging.level = "Ebene der Protokollierung"
arg.logging.service = "Dienstname der Protokollierung"
arg.logging.subcommand = "Vorgang der Protokollierung"
arg.mountpoint = "Mount-Punkt"
arg.scriptpath = "Skriptpfad"
arg.scripttype = "Skripttyp"
arg.subcommand = "Unterbefehl"
device.connect.error = "Gerät '%1$s' kann nicht angeschlossen werden.\n"
device.disconnect.error = "Das Gerät '%1$s' kann nicht getrennt werden.\n"
device.notfound = "Fehler beim Abrufen der Schnittstelleninformationen: Gerät nicht gefunden.\n"
disk.shrink.canceled = "Vorgang zum Verkleinern der Festplatte abgebrochen.\n"
disk.shrink.complete = "Vorgang zum Verkleinern der Festplatte abgeschlossen.\n"
disk.shrink.conflict = "Fehler: Die Toolbox betrachtet die Festplattenverkleinerung als aktiviert, während der Host die Funktion als deaktiviert behandelt.\n\n Schließen Sie die Toolbox und öffnen Sie sie erneut, um eine Synchronisierung mit dem Host vorzunehmen.\n"
disk.shrink.disabled = "Das Verkleinern von Festplatten ist für diese virtuelle Maschine deaktiviert.\n\nDie Verkleinerung ist für verknüpfte Klone, übergeordnete Elemente verknüpfter Klone, \nFestplatten mit vorab zugewiesenem Speicherplatz, Snapshots oder aufgrund weiterer Faktoren deaktiviert. \nWeitere Informationen finden Sie im Benutzerhandbuch.\n"
disk.shrink.error = "Fehler beim Verkleinern der Festplatte: %1$s\n"
disk.shrink.incomplete = "Vorgang zum Verkleinern der Festplatte nicht abgeschlossen.\n"
disk.shrink.partition.error = "Partitionsdaten konnten nicht erfasst werden.\n"
disk.shrink.partition.notfound = "Die Partition %1$s wurde nicht gefunden\n"
disk.shrink.partition.unsupported = "Die Partition %1$s kann nicht verkleinert werden\n"
disk.shrink.unavailable = "Die Verkleinerungsfunktion ist nicht verfügbar,\n\nweil Sie entweder eine alte Version eines VMware-Produkts ausführen oder weil zu viele Kommunikationskanäle offen sind.\n\nWenn Sie eine alte Version eines VMware-Produkts ausführen, sollten Sie ein Upgrade in Erwägung ziehen.\n\nWenn zu viele Kommunikationskanäle geöffnet sind, sollten Sie Ihre virtuelle Maschine aus- und anschließend wieder einschalten.\n"
disk.shrink.ignoreFreeSpaceWarnings = "Ignorieren Sie während des Verkleinerungsvorgangs etwaige Warnungen bezüglich des Speicherplatzes.\n"
disk.wipe.ignoreFreeSpaceWarnings = "Ignorieren Sie während des Wiper-Vorgangs etwaige Warnungen bezüglich des Speicherplatzes.\n"
disk.wiper.error = "Fehler: %1$s"
disk.wiper.file.error = "Fehler, Erstellen der Wiper-Datei nicht möglich.\n"
disk.wiper.progress = "\rProgress: %1$d"
error.missing = "%1$s: %2$s fehlt\n"
error.noadmin.posix = "%1$s: Sie müssen root-Benutzer sein, um die %2$s-Vorgänge auszuführen.\n"
error.noadmin.win = "%1$s: Zum Ausführen der %2$s-Vorgänge sind Administratorberechtigungen erforderlich.\nVerwenden Sie eine Administrator-Eingabeaufforderung, um diese Aufgaben abzuschließen.\n"
error.novirtual = "%1$s muss innerhalb einer virtuellen Maschine ausgeführt werden.\n"
error.unknown = "%1$s: %2$s '%3$s' unbekannt\n"
help.device = "%1$s: Funktionen für die Hardwaregeräte der virtuellen Maschine\nNutzung: %2$s %3$s <Unterbefehl> [Argumente]\n'dev' ist der Name des Geräts.\n\nUnterbefehle:\n enable <dev>: Aktivieren des Geräts 'dev' \n disable <dev>: Deaktivieren des Geräts 'dev'\n list: Auflisten aller verfügbaren Geräte\n status <dev>: Ausgeben des Status eines Geräts\n"
help.disk = "%1$s: Führt Verkleinerungen von Festplatten durch\nNutzung: %2$s %3$s <Unterbefehl> [Argumente]\n\nUnterbefehle:\n list: Auflisten der verfügbaren Speicherorte\n shrink <Speicherort>: Löschen und Verkleinern eines Dateisystems am angegebenen Speicherort\n shrinkonly: Verkleinern alle Festplatten\n wipe <Speicherort>: Löschen eines Dateisystems am angegebenen Speicherort\n"
help.hint = "Siehe '%1$s %2$s%3$s%4$s' für weitere Informationen.\n"
help.logging = "%1$s: Toolsprotokollierung verändern\nNutzung: %2$s %3$s level <Unterbefehl> <Dienstname> <Ebene>\n\nUnterbefehle:\n get <Dienstname>: Anzeige der aktuellen Ebene\n set <Dienstname> <Ebene>: Einrichten der aktuellen Ebene\n\n<Dienstname> kann jeder unterstützte Dienst sein wie vmsvc oder vmusr\n<Ebene> kann für einen Fehler, ein kritisches Ereignis, eine Warnung, Info, Meldung oder ein Debugging stehen \n Standard ist %4$s\n"
help.main = "Nutzung: %1$s <Befehl> [Optionen] [Unterbefehl]<\nGeben> Sie '%2$s %3$s <Befehl>' für die Hilfe zu einem bestimmten Befehl ein.\Geben Sie '%4$s -v' für die Anzeige der Version von VMware Tools ein.\nVerwenden Sie den Parameter'-q' zur Ausblendung der stdout-Ausgabe.\nDie meisten Befehle verwenden einen Unterbefehl.\n\nVerfügbare Befehle:\n device\n disk\n logging\n script\n stat\n timesync\n upgrade (nicht für alle Betriebssysteme verfügbar)\n"
help.script = "%1$s: Steuerung der Skripts, die als Reaktion auf Betriebsvorgänge ausgeführt werden\nNutzung: %2$s %3$s <power|resume|suspend|shutdown> <Unterbefehl> [Argumente]\n\nUnterbefehle:\n enable: Aktivieren des angegebenen Skripts und Wiederherstellen dessen Pfads auf den Standardpfad\n disable: Deaktivieren des vorhandenen Skripts\n set <Vollständiger Pfad>: Festlegen des angegebenen Skripts auf den angegebenen Pfad\n default: Ausgeben des Standardpfads des angegebenen Skripts\n current: Ausgeben des aktuellen Pfads des angegebenen Skripts\n"
help.stat = "%1$s: Drucken von hilfreichen Gast- und Hostinformationen\nNutzung: %2$s %3$s <Unterbefehl>\n\nUnterbefehle:\n hosttime: Ausgeben der Hostuhrzeit\n speed: Ausgeben der CPU-Geschwindigkeit in MHz\nUnterbefehle nur für ESX-Gäste:\n sessionid: Ausgeben der aktuellen Sitzungs-ID\n balloon: Ausgeben der Balloon-Arbeitsspeicher-Informationen\n swap: Ausgeben der Auslagerungsinformationen für den Arbeitsspeicher\n memlimit: Ausgeben des Arbeitsspeicher-Limits\n memres: Ausgeben der Arbeitsspeicherreservierung\n cpures: Ausgeben der CPU-Reservierung\n cpulimit: Ausgeben des CPU-Limits\n"
help.timesync = "%1$s: Funktionen für die Steuerung der Zeitsynchronisierung auf dem Gastbetriebssystem\Nutzung: %2$s %3$s <Unterbefehl>\n\nUnterbefehle:\n enable: Aktivieren der Zeitsynchronisierung\n disable: Deaktivieren der Zeitsynchronisierung\n status: Ausgeben des Status der Zeitsynchronisierung\n"
help.upgrade = "%1$s: Funktionen für das Upgrade von VMware Tools.\nNutzung: %2$s %3$s <Unterbefehl> [Argumente]\nUnterbefehle:\n status: Überprüfen des Upgrade-Status für VMware Tools.\n start: Starten eines automatischen Upgrade von VMware Tools.\n\nDamit die Upgrades funktionieren, muss der VMware Tools-Dienst ausgeführt werden.\n"
option.disabled = "Deaktiviert"
option.enabled = "Aktiviert"
script.notfound = "%1$s ist nicht vorhanden.\n"
script.operation = "Vorgang"
script.unknownop = "Kein Skript für den Vorgang %1$s.\n"
script.write.error = "Fehler beim Schreiben der Konfiguration: %1$s\n"
stat.balloon.failed = "Balloon-Arbeitsspeicher konnte nicht abgerufen werden: %1$s\n"
stat.cpumax.failed = "CPU-Limit konnte nicht abgerufen werden: %1$s\n"
stat.cpumin.failed = "CPU-Mindestwert konnte nicht abgerufen werden: %1$s\n"
stat.formattime.failed = "Hostuhrzeit kann nicht formatiert werden.\n"
stat.get.failed = "Statistiken konnten nicht abgerufen werden: %1$s\n"
stat.getsession.failed = "Sitzungs-ID konnte nicht abgerufen werden: %1$s\n"
stat.getspeed.failed = "Prozessorgeschwindigkeit nicht abrufbar.\n"
stat.gettime.failed = "Hostuhrzeit konnte nicht abgerufen werden.\n"
stat.maxmem.failed = "Arbeitsspeicher-Limit konnte nicht abgerufen werden: %1$s\n"
stat.memres.failed = "Arbeitsspeicherreservierung konnte nicht abgerufen werden: %1$s\n"
stat.memswap.failed = "Ausgelagerter Arbeitsspeicher konnte nicht abgerufen werden: %1$s\n"
stat.openhandle.failed = "OpenHandle fehlgeschlagen: %1$s\n"
stat.update.failed = "UpdateInfo fehlgeschlagen: %1$s\n"
stat.processorSpeed.info = "%1$u MHz\n"
stat.memoryBalloon.info = "%1$u MB\n"
stat.memoryReservation.info = "%1$u MB\n"
stat.memorySwapped.info = "%1$u MB\n"
stat.memoryLimit.info = "%1$u MB\n"
stat.cpuReservation.info = "%1$u MHz\n"
stat.cpuLimit.info = "%1$u MHz\n"
upgrade.available = "Eine neue Version von VMware Tools steht zur Verfügung.\n"
upgrade.error.check_error = "Fehler beim Überprüfen der Verfügbarkeit von Upgrades.\n"
upgrade.error.error = "Fehler beim Starten des Upgrades von VMware Tools.\n"
upgrade.error.not_supported = "Der Host unterstützt kein automatisches Upgrade von VMware Tools.\n"
upgrade.error.unknown_reply = "Unerwartete Antwort vom Host: %1$s\n"
upgrade.started = "Das Upgrade wird durchgeführt.\n"
upgrade.uptodate = "VMware Tools ist auf dem neuesten Stand.\n"

View File

@ -1,59 +0,0 @@
##############################################################
# Copyright (c) 2010-2015 VMware, Inc. All rights reserved.
##############################################################
#
# German translation catalog.
#
# Please follow a few guidelines when editing this file:
# . Try to maintain formatting (e.g., indentation and line breaks).
# . Avoid long lines by breaking them into multiple lines.
# . Catalogs *must* be in UTF-8.
# . Try to keep the file sorted by message id.
#
cmdline.background = "Wird im Hintergrund ausgeführt und erstellt eine pid-Datei."
cmdline.background.pidfile = "pidfile"
cmdline.blockfd = "Dateideskriptor für das Dateisystem, das VMware blockiert."
cmdline.blockfd.fd = "fd"
cmdline.commonpath = "Pfad zum Plug-In-Verzeichnis."
cmdline.config = "Verwendet die Konfigurationsdatei im angegebenen Pfad."
cmdline.debug = "Wird unter Verwendung des angegebenen Plug-Ins im Debug-Modus ausgeführt."
cmdline.displayname = "Anzeigename des Dienstes (wird nur mit -i verwendet)."
cmdline.displayname.argument = "Name"
cmdline.install = "Installiert den Dienst mit dem Service Control Manager (SCM)."
cmdline.install.args = "args"
cmdline.kill = "Stoppt eine laufende Instanz eines Tools-Dienstes."
cmdline.log = "Ignoriert; für Abwärtskompatibilität beibehalten."
cmdline.name = "Name des Dienstes, der gestartet wird."
cmdline.name.argument = "svcname"
cmdline.path = "Pfad"
cmdline.pluginpath = "Pfad des Plug-In-Verzeichnisses."
cmdline.rpc = "Sendet einen RPC-Befehl an den Host und wird beendet."
cmdline.rpc.command = "Befehl"
cmdline.rpcerror = "Befehl konnte nicht an VMware-Hypervisor gesendet werden."
cmdline.state = "Führt einen Dump des internen Zustands der Instanz eines laufenden Dienstes in die Protokolle aus."
cmdline.uninstall = "Deinstalliert den Dienst vom Service Control Manager (SCM)."
cmdline.version = "Druckt die Version des Daemons und wird beendet."

View File

@ -1,72 +0,0 @@
##############################################################
# Copyright (c) 2011-2015 VMware, Inc. All rights reserved.
##############################################################
#
# English translation catalog.
#
# Please follow a few guidelines when editing this file:
# . Try to maintain formatting (e.g., indentation and line breaks).
# . Avoid long lines by breaking them into multiple lines.
# . Catalogs *must* be in UTF-8.
# . Try to keep the file sorted by message id.
#
addsubj.fail = "%1$s: Failed to add alias for user '%2$s': %3$s.\n"
addsubj.success = "%1$s: alias added\n"
addoptions.comment = "subject comment"
addoptions.file = "PEM file name"
addoptions.global = "Add the certificate to the global mapping file"
addoptions.subject = "The SAML subject"
addoptions.username = "User whose certificate store is being added to"
addoptions.verbose = "Verbose operation"
cmdline.parse = "Command line parsing failed"
cmdline.summary.pemfile = "PEM-file"
cmdline.summary.subject = "subject"
cmdline.summary.username = "username"
cmdline.summary.comm = "comment"
list.comment = "Comment"
list.count = "%1$s Found %2$d aliases for user '%3$s'\n"
list.error = "%1$s: Failed to list aliases for user '%2$s': %3$s.\n"
list.subject = "Subject"
listmapped.count = "%1$s Found %2$d mapped aliases\n"
listmapped.error = "%1$s: Failed to list mapped aliases: %2$s.\n"
listmapped.subject = "Subject"
listmapped.username = "Username"
listoptions.username =
"User whose certificate store is being queried"
listoptions.verbose = "Verbose operation"
loadfile.fail = "%1$s: Unable to read PEM file '%2$s'\n"
name.any = "<ANY>"
removesubj.fail = "%1$s: Failed to remove alias for user '%2$s': %3$s.\n"
removesubj.success = "%1$s: alias removed\n"
removeoptions.file = "PEM file name"
removeoptions.subject = "The SAML subject"
removeoptions.username =
"User whose certificate store is being removed from"
removeoptions.verbose = "Verbose operation"
vgauth.init.failed = "Failed to init VGAuth"

View File

@ -1,16 +0,0 @@
##############################################################
# Copyright (c) 2011-2015 VMware, Inc. All rights reserved.
##############################################################
#
# English translation catalog.
#
# Please follow a few guidelines when editing this file:
# . Try to maintain formatting (e.g., indentation and line breaks).
# . Avoid long lines by breaking them into multiple lines.
# . Catalogs *must* be in UTF-8.
# . Try to keep the file sorted by message id.
# . ids use the form filename.object.messagetype
auth.password.invalid = "Username and password mismatch for '%1$s'"
auth.password.valid = "Username and password successfully validated for '%1$s'"
auth.sspi.badid = "Attempt to authenticate using an invalid or expired SSPI challenge ID: %1$u"

View File

@ -1,41 +0,0 @@
##############################################################
# Copyright (c) 2011-2015 VMware, Inc. All rights reserved.
##############################################################
#
# English translation catalog.
#
# Please follow a few guidelines when editing this file:
# . Try to maintain formatting (e.g., indentation and line breaks).
# . Avoid long lines by breaking them into multiple lines.
# . Catalogs *must* be in UTF-8.
# . Try to keep the file sorted by message id.
# . ids use the form filename.object.messagetype
proto.attack = "Possible security attack! Request type %1$d has a userName (%2$s) which doesn't match the pipe owner (%3$s)!"
validate.samlBearer.fail = "Validation of SAML bearer token failed: %1$d"
validate.samlBearer.success = "Validated SAML bearer token for user '%1$s'"
alias.addid = "Alias added to Alias store owned by '%1$s' by user '%2$s'"
alias.dir.badperm = "Alias store directory '%1$s' has incorrect owner or permissions. Any Aliases currently stored in '%2$s' will not be available for authentication"
alias.dir.notadir = "Alias store directory '%1$s' exists but is not a directory"
alias.dir.renamefail = "Failed to rename suspect Alias store directory '%1$s' to '%2$s'"
alias.alias.badfile = "Alias store '%1$s' exists but is not a regular file. The Aliases for user '%2$s' will not be available for authentication"
alias.alias.badperm = "Alias store '%1$s' has incorrect owner or permissions. The Aliases for user '%2$s' will not be available for authentication"
alias.alias.rename = "Suspect Alias store '%1$s' renamed to '%2$s'"
alias.alias.renamefail = "Failed to rename suspect Alias store '%1$s' to '%2$s'"
alias.mapfile.badperm = "Alias store mapping file '%1$s' has incorrect owner or permissions. The Aliases in the mapping file will not be available for authentication"
alias.mapping.badfile = "Mapping file '%1$s' exists but is not a regular file. The Aliases in the mapping file will not be available for authentication"
alias.removeid = "Alias removed from Alias store owned by '%1$s' by user '%2$s'"

View File

@ -1,20 +0,0 @@
##############################################################
# Copyright (c) 2010-2015 VMware, Inc. All rights reserved.
##############################################################
#
# English translation catalog.
#
# Please follow a few guidelines when editing this file:
# . Try to maintain formatting (e.g., indentation and line breaks).
# . Avoid long lines by breaking them into multiple lines.
# . Catalogs *must* be in UTF-8.
# . Try to keep the file sorted by message id.
#
displayDPI.logout.caption = "VMware Tools"
displayDPI.logout.message = "VMware Tools has modified the user interface size settings. You must log off to apply these changes. Close all applications and press OK to log off now, or press Cancel to log off later."
pmtimer.warning.caption = "Operating System Configuration Error"
pmtimer.warning.text = "The VMware Tools Service detected an error with this virtual machine's operating system configuration. The Boot.ini file specifies the |22/usepmtimer|22 boot parameter. This parameter severely degrades VM performance under certain workloads.\n\nRemove the |22usepmtimer|22 parameter from the Boot.ini file and restart the VM, to improve VM performance.\n\nSee VMware Knowledge Base (KB) article KB 1011714 for additional details."

View File

@ -1,19 +0,0 @@
##############################################################
# Copyright (c) 2010-2015 VMware, Inc. All rights reserved.
##############################################################
#
# English translation catalog.
#
# Please follow a few guidelines when editing this file:
# . Try to maintain formatting (e.g., indentation and line breaks).
# . Avoid long lines by breaking them into multiple lines.
# . Catalogs *must* be in UTF-8.
# . Try to keep the file sorted by message id.
#
redirect.logout.message = "VMware Tools has modified settings to enable sharing data with the host. You must log off to apply these settings. Press OK to log off now. Press Cancel to log off later."
redirect.logout.title = "VMware Tools"
sharedfolders.name = "VMware Shared Folders"

Some files were not shown because too many files have changed in this diff Show More