##################################
#
# Service side settings
#
##################################
[server]
# port to accept http requests
port = 5985

#
# ipv4 and ipv6 are only checked if openwsman was compiled with ENABLE_IPV6
#
# Possible combinations of ipv4 and ipv6
#
# ipv4  ipv6  behaviour
# ----------------------
# no    no    error
# yes   no    ipv4-only
# no    yes   ipv6-only
# yes   yes   try ipv6, fallback to ipv4 on error
#
# (yes, true, 1 are synonyms; no, false, 0 are synonyms)
#
# Both settings default to 'yes'
#

ipv4 = yes
ipv6 = yes

# port to accept https requests
#ssl_port = 5986

# the openwsman server certificate file, in .pem format
ssl_cert_file = /etc/openwsman/servercert.pem
# the openwsman server private key, in .pem format
ssl_key_file = /etc/openwsman/serverkey.pem

# space-separated list of SSL protocols to *dis*able
# possible values: SSLv2 SSLv3 TLSv1 TLSv1_1 TLSv1_2
ssl_disabled_protocols = SSLv2 SSLv3

# SSL cipher list
# see 'ciphers' in the OpenSSL documentation
#ssl_cipher_list = 

# set these to enable digest authentication against a local datbase
#digest_password_file = /etc/openwsman/digest_auth.passwd

# set these to enable basic authentication against a local datbase
#basic_password_file = /etc/openwsman/simple_auth.passwd

max_threads = 0
max_connections_per_thread = 20
#thread_stack_size=262144

#use_digest is OBSOLETED, see below.

#
# Authentication backend for BASIC authentication. Default is to read a configuration file defined with 'basic_password_file'
#

basic_authenticator = libwsman_pam_auth.so
basic_authenticator_arg = openwsman

#
# WS-Management unauthenticated wsmid:Identify file
#
#anon_identify_file = /etc/openwsman/anon_identify.xml

#
# WS-Management authenticated wsmid:Identify file
#
#identify_file = /etc/openwsman/identify.xml

#
# Location of plugins
#  defaults to /usr/lib(64)/openwsman/plugins
#
# plugin_dir = /usr/lib/openwsman/plugins


##################################
#
# settings for the CIM plugin
# (CIMOM connection)
#
##################################

[cim]
default_cim_namespace = root/cimv2

# set to SfcbLocal for local connection with sfcb CIMOM running on same system
# cim_client_frontend = SfcbLocal
cim_client_frontend = XML

# The identifier string for the CQL language
# defaults to: CQL
#
# DSP0202 says 'DMTF:CQL' and tog-pegasus needs this
# But sblim-sfcb < 1.4 only accepts 'CQL' or 'CIM:CQL'
#
#cim_client_cql = DMTF:CQL

#indication_profile_implementation source namespace is used to define namespace where the
#CIMOM implemnts it's indication profile. For SFCB this is root/interop.
#indication_profile_implementation_ns = root/interop

# The following are in part fake namespaces for some publicly available CIM implementations.
vendor_namespaces = OpenWBEM=http://schema.openwbem.org/wbem/wscim/1/cim-schema/2,Linux=http://sblim.sf.net/wbem/wscim/1/cim-schema/2,OMC=http://schema.omc-project.org/wbem/wscim/1/cim-schema/2,PG=http://schema.openpegasus.org/wbem/wscim/1/cim-schema/2,RCP=http://schema.suse.com/wbem/wscim/1/cim-schema/2,DCIM=http://schemas.dell.com/wbem/wscim/1/cim-schema/2,SPAR=http://schema.unisys.com/wbem/wscim/1/cim-schema/2,SVS=http://schemas.ts.fujitsu.com/wbem/wscim/1/cim-schema/2

# CIMOM host, default is localhost
# host = localhost

# CIMOM port, default is 5988, use 5989 for SSL
port = 5989

# Use SSL for CIMOM connection, default is no
ssl = yes

# Verify CIMOM server cert ?, default is yes
verify_cert = no

# Path to cert trust store with CIMOM server cert, default is /etc/ssl/certs
# trust_store = /etc/ssl/certs

# boolean
# omit_schema_optional = 0

# Redirect module, see redirect.conf for details
#[redirect]
#include='/etc/openwsman/redirect.conf'
