pax_global_header00006660000000000000000000000064132072174170014516gustar00rootroot0000000000000052 comment=e90e5c96e3006c372bf45e0185e33c9250e67df6 openwsman-2.6.5/000077500000000000000000000000001320721741700135375ustar00rootroot00000000000000openwsman-2.6.5/.cvsignore000066400000000000000000000004541320721741700155420ustar00rootroot00000000000000Makefile Makefile.am Makefile.in aclocal.m4 autom4te.cache config.cache config.guess config.h config.h.in config.log config.status config.sub configure configure.in depcomp install-sh libtool ltconfig ltmain.sh missing mkinstalldirs stamp-h* *.pc *.pc.in Doxyfile .project .cdtproject openwsman.spec openwsman-2.6.5/.gitignore000066400000000000000000000026141320721741700155320ustar00rootroot00000000000000core *~ Makefile Makefile.am Makefile.in aclocal.m4 autom4te.cache config.cache config.guess config.h config.h.in config.log config.status config.sub configure configure.in depcomp install-sh libtool ltconfig ltmain.sh missing mkinstalldirs stamp-h* *.pc *.pc.in Doxyfile .project .cdtproject wsman_config.h wsman_config.h.in openwsman.spec build *.bz2 m4 *.o *.lo *.la *.class .deps .libs bindings/perl/openwsman.pm bindings/perl/openwsman_wrap.c bindings/python/openwsman_wrap.c bindings/python/pywsman.py bindings/ruby/openwsman_wrap.c bindings/ruby/html bindings/ruby/mkmf.log bindings/java/openwsman_wrap.c bindings/java/*.java etc/init/openwsmand.sh etc/owsmangencert.sh src/server/openwsmand CMakeFiles CMakeCache.txt DartConfiguration.tcl bindings/python/pywsman/COPYING bindings/python/pywsman/dist/ bindings/python/pywsman/openwsman.c bindings/python/pywsman/openwsman.h bindings/python/pywsman/openwsman.i bindings/python/pywsman/python/ bindings/python/pywsman/version.i bindings/python/pywsman/version.i.in bindings/python/pywsman/version.py bindings/python/pywsman/version.pyc bindings/python/pywsman/wsman-client.i bindings/python/pywsman/wsman-client_opt.i bindings/python/pywsman/wsman-epr.i bindings/python/pywsman/wsman-filter.i bindings/python/pywsman/wsman-names.i bindings/python/pywsman/wsman-soap.i bindings/python/pywsman/wsman-transport.i bindings/python/pywsman/wsman-xml.i bindings/version.i openwsman-2.6.5/AUTHORS000066400000000000000000000016271320721741700146150ustar00rootroot00000000000000Maintainer: Klaus Kaempf, SUSE, Developers: Anas Nashif, Intel Corp., Hou Liang, Intel Corp. Vadim Revyakin, Intel Corp., Denis Sadykov, Intel Corp., Code originally from: Eugene Yarmosh, Intel Corp. Contributions and Patches by: Jan Blunck, Novell, Matthias Bolte Vitezslav Crhonek, Redhat, Klaus Kaempf, Novell, Viktor Mihajlovski, IBM, Praveen Paladugu, Dell, Chris Poblete, Dell, Till Steinbach Suresh Sundriyal, VMware, Srinivas Thirumalaa Peter Hatina If you think your name should be here and I forgot it, please let me know. openwsman-2.6.5/CMakeLists.txt000066400000000000000000000475601320721741700163130ustar00rootroot00000000000000# # CMakeLists.txt for openwsman/ # PROJECT(openwsman) cmake_minimum_required(VERSION 2.4) include(CTest) enable_testing() # # cmake2.6: backward compatibility to cmake 2.4 # if(COMMAND cmake_policy) cmake_policy(SET CMP0003 NEW) # add_definitions escape behavior: old # setting cmp0005 to NEW adds another \" around gcc -D defines cmake_policy(SET CMP0005 OLD) if ( POLICY CMP0042 ) cmake_policy(SET CMP0042 NEW) endif ( POLICY CMP0042 ) if ( POLICY CMP0046 ) cmake_policy(SET CMP0046 OLD) endif ( POLICY CMP0046 ) endif(COMMAND cmake_policy) # where to look first for cmake modules, before ${CMAKE_ROOT}/Modules/ is checked SET(CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/cmake/modules ${CMAKE_MODULE_PATH}) INCLUDE( ${CMAKE_SOURCE_DIR}/VERSION.cmake ) SET(VERSION "${OPENWSMAN_MAJOR}.${OPENWSMAN_MINOR}.${OPENWSMAN_PATCH}") MESSAGE(STATUS "Version ${VERSION}") SET(PACKAGE_VERSION \"${OPENWSMAN_MAJOR}.${OPENWSMAN_MINOR}\") MESSAGE(STATUS "Package Version ${PACKAGE_VERSION}") SET(OPENWSMAN_PLUGIN_API_VERSION \"${OPENWSMAN_PLUGIN_API_MAJOR}.${OPENWSMAN_PLUGIN_API_MINOR}\") MESSAGE(STATUS "Plugin API Version ${OPENWSMAN_PLUGIN_API_VERSION}") # Package architecture IF ( NOT DEFINED PACKAGE_ARCHITECTURE ) EXECUTE_PROCESS(COMMAND "uname" "-m" OUTPUT_VARIABLE UNAME_M) # strip trailing newline STRING(REPLACE "\n" "" PACKAGE_ARCHITECTURE ${UNAME_M}) ENDIF ( NOT DEFINED PACKAGE_ARCHITECTURE ) MESSAGE(STATUS "Building for ${PACKAGE_ARCHITECTURE}" ) # Library path (lib / lib64 ) IF ( DEFINED LIB ) SET ( LIB_INSTALL_DIR "${CMAKE_INSTALL_PREFIX}/${LIB}" ) ELSE ( DEFINED LIB ) IF (APPLE) SET(LIB_SUFFIX "") ELSE (APPLE) IF (CMAKE_SIZEOF_VOID_P MATCHES "8") SET( LIB_SUFFIX "64" ) ENDIF(CMAKE_SIZEOF_VOID_P MATCHES "8") ENDIF (APPLE) SET ( LIB_INSTALL_DIR "${CMAKE_INSTALL_PREFIX}/lib${LIB_SUFFIX}" ) ENDIF ( DEFINED LIB ) MESSAGE(STATUS "Libraries will be installed in ${LIB_INSTALL_DIR}" ) SET( BIN_INSTALL_DIR "${CMAKE_INSTALL_PREFIX}/bin" ) SET( INCLUDE_DIR "${CMAKE_INSTALL_PREFIX}/include" ) IF( "${CMAKE_INSTALL_PREFIX}" STREQUAL "/usr") SET( SYSCONFDIR "/etc" ) ELSE( "${CMAKE_INSTALL_PREFIX}" STREQUAL "/usr") SET( SYSCONFDIR "${CMAKE_INSTALL_PREFIX}/etc" ) ENDIF( "${CMAKE_INSTALL_PREFIX}" STREQUAL "/usr") SET( WSMANCONF_DIR "${SYSCONFDIR}/openwsman" ) MESSAGE(STATUS "Configuration will be installed in ${WSMANCONF_DIR}" ) SET( DEFAULT_CONFIG_FILE "\"${WSMANCONF_DIR}/openwsman.conf\"") SET( DEFAULT_CLIENT_CONFIG_FILE "\"${WSMANCONF_DIR}/openwsman_client.conf\"") SET( PACKAGE_SUBSCRIPTION_DIR "/var/lib/openwsman/subscriptions" ) SET( PACKAGE_PLUGIN_DIR "${LIB_INSTALL_DIR}/openwsman/plugins" ) SET( PACKAGE_AUTH_DIR "${LIB_INSTALL_DIR}/openwsman/authenticators" ) # Macro for error message when header files not present, but build option # explicitly declared MACRO(NO_HEADERS_WARNING_EXPL optionName pkgName) MESSAGE(STATUS "************ WARNING *************") MESSAGE(STATUS "Didn't Find ${pkgName} Headers... ") MESSAGE(STATUS "${optionName} explicitly requested.") MESSAGE(STATUS "Make sure ${pkgName} header files are available and run cmake again.") MESSAGE(STATUS "************************************") SET(HAVE_WARNINGS YES) ENDMACRO(NO_HEADERS_WARNING_EXPL) # Macro for error message when header files not present, but build option # not explicitly declared MACRO(NO_HEADERS_WARNING optionName pkgName) SET(${optionName} NO) SET(HAVE_WARNINGS YES) MESSAGE(STATUS "************ WARNING *************") MESSAGE(STATUS "Didn't Find ${pkgName} Headers... Not Building ${pkgName} Bindings") MESSAGE(STATUS "************************************") ENDMACRO(NO_HEADERS_WARNING) # For binding options, see if it is explicitly set on the command line, # before defining the option with a default. Then if we don't find # the headers: if it was explicitly set then fail, otherwise # just give a warning message SET( BUILD_PYTHON_EXPLICIT ${BUILD_PYTHON}) SET( BUILD_RUBY_EXPLICIT ${BUILD_RUBY}) SET( BUILD_PERL_EXPLICIT ${BUILD_PERL}) SET( BUILD_JAVA_EXPLICIT ${BUILD_JAVA}) SET( BUILD_SWIG_PLUGIN_EXPLICIT ${BUILD_SWIG_PLUGIN}) # options OPTION( BUILD_LIBCIM "Build CIM plugin" YES ) OPTION( BUILD_EXAMPLES "Build examples" YES ) OPTION( BUILD_BINDINGS "Build client bindings and swig server plugin" YES ) OPTION( BUILD_PYTHON "Build Python bindings" YES ) OPTION( BUILD_RUBY "Build Ruby bindings" YES ) IF( BUILD_RUBY ) OPTION( BUILD_RUBY_GEM "Build Ruby GEM" YES ) ENDIF( BUILD_RUBY ) OPTION( BUILD_PERL "Build Perl bindings" YES ) OPTION( BUILD_JAVA "Build Java bindings" YES ) OPTION( BUILD_CSHARP "Build C# bindings" YES) OPTION( BUILD_CUNIT_TESTS "Build serialization tests" NO ) OPTION( DISABLE_PLUGINS "Do not build plugins" NO ) OPTION( BUILD_SWIG_PLUGIN "Build SWIG plugin" YES ) OPTION( DISABLE_SERVER "Do not build server component" NO ) OPTION( ENABLE_EVENTING_SUPPORT "WS-Eventing wanted" YES ) OPTION( WSMAN_DEBUG_VERBOSE "Verbose debug logging" NO ) OPTION( ENABLE_IPV6 "Enable IPv6 support" YES ) OPTION( BUILD_TESTS "Build tests" YES ) IF (ENABLE_EVENTING_SUPPORT) SET(ENABLE_EVENTING_SUPPORT 1) ELSE (ENABLE_EVENTING_SUPPORT) SET(ENABLE_EVENTING_SUPPORT 0) ENDIF (ENABLE_EVENTING_SUPPORT) IF(WSMAN_DEBUG_VERBOSE) SET(WSMAN_DEBUG_VERBOSE 1) ELSE(WSMAN_DEBUG_VERBOSE) SET(WSMAN_DEBUG_VERBOSE 0) ENDIF(WSMAN_DEBUG_VERBOSE) OPTION( USE_PAM "Use PAM authentication" YES ) IF( USE_PAM ) FIND_LIBRARY( HAVE_LIBPAM "pam" ) IF(HAVE_LIBPAM) SET( HAVE_PAM 1 ) MESSAGE(STATUS "building PAM authentication" ) ELSE(HAVE_LIBPAM) MESSAGE(WARNING " libpam not found, disabling PAM authentication" ) SET( HAVE_PAM 1 ) ENDIF(HAVE_LIBPAM) ELSE( USE_PAM ) SET( HAVE_PAM 0 ) MESSAGE(STATUS "Disabling PAM authentication" ) ENDIF( USE_PAM ) INCLUDE(FindOpenSSL) IF(OPENSSL_FOUND) SET(HAVE_SSL 1) SET(USE_OPENSSL 1) ENDIF(OPENSSL_FOUND) IF( BUILD_RUBY ) INCLUDE(FindRuby) MESSAGE(STATUS "Ruby: ${RUBY_EXECUTABLE}" ) EXECUTE_PROCESS(COMMAND ${RUBY_EXECUTABLE} -r rbconfig -e "print RbConfig::CONFIG['sitearchdir']" OUTPUT_VARIABLE RUBY_SITEARCH_DIR) MESSAGE(STATUS "Ruby Library: ${RUBY_LIBRARY}" ) MESSAGE(STATUS "Ruby Include: ${RUBY_INCLUDE_PATH}" ) MESSAGE(STATUS "Building Ruby bindings" ) IF(NOT RUBY_INCLUDE_PATH) IF(BUILD_RUBY_EXPLICIT) NO_HEADERS_WARNING_EXPL(BUILD_RUBY Ruby) ELSE(BUILD_RUBY_EXPLICIT) NO_HEADERS_WARNING(BUILD_RUBY Ruby) ENDIF(BUILD_RUBY_EXPLICIT) ENDIF(NOT RUBY_INCLUDE_PATH ) ENDIF( BUILD_RUBY ) IF( BUILD_PERL ) INCLUDE(FindPerl) IF(PERL_EXECUTABLE) MESSAGE(STATUS "Building Perl bindings" ) ELSE(PERL_EXECUTABLE) MESSAGE(WARNING "Perl not found" ) ENDIF(PERL_EXECUTABLE) ENDIF( BUILD_PERL ) IF( BUILD_JAVA ) INCLUDE(FindJava) IF(JAVA_COMPILE) INCLUDE(FindJNI) IF(JNI_INCLUDE_DIRS) MESSAGE(STATUS "Building Java bindings" ) ELSE(JNI_INCLUDE_DIRS) MESSAGE(WARNING " Java jni.h not found" ) SET( BUILD_JAVA "NO" ) ENDIF(JNI_INCLUDE_DIRS) ELSE(JAVA_COMPILE) MESSAGE(WARNING " Java compiler not found" ) SET( BUILD_JAVA "NO" ) ENDIF(JAVA_COMPILE) ENDIF( BUILD_JAVA ) # swig IF( BUILD_BINDINGS ) FIND_PACKAGE(SWIG) IF( NOT SWIG_EXECUTABLE) FIND_PROGRAM(SWIG_EXECUTABLE NAMES swig PATHS ${SWIG_DIR} ${SWIG_DIR}/.. ${SWIG_DIR}/../../bin /usr/bin /usr/local/bin ${CMAKE_INSTALL_PREFIX}/bin ) SET(SWIG_VERSION "(unknown version)") ELSE ( NOT SWIG_EXECUTABLE) # FIND_PACKAGE(SWIG) succeeded, now check the version # swig 2.0.4 and lower is known to be broken IF (SWIG_VERSION) IF(${SWIG_VERSION} VERSION_LESS "2.0.5") MESSAGE( FATAL_ERROR "Found SWIG version ${SWIG_VERSION}, please upgrade SWIG to 2.0.5 or later" ) ENDIF(${SWIG_VERSION} VERSION_LESS "2.0.5") ENDIF (SWIG_VERSION) ENDIF( NOT SWIG_EXECUTABLE) ENDIF( BUILD_BINDINGS ) IF ( NOT SWIG_EXECUTABLE ) MESSAGE( STATUS "SWIG not found, skipping bindings and swig server plugin." ) IF (BUILD_SWIG_PLUGIN_EXPLICIT) MESSAGE( FATAL "Cannot build SWIG server plugin" ) ENDIF (BUILD_SWIG_PLUGIN_EXPLICIT) SET( BUILD_SWIG_PLUGIN NO ) IF( BUILD_PYTHON_EXPLICIT OR BUILD_RUBY_EXPLICIT OR BUILD_PERL_EXPLICIT OR BUILD_JAVA_EXPLICIT) MESSAGE( ERROR "Cannot build client bindings" ) ENDIF( BUILD_PYTHON_EXPLICIT OR BUILD_RUBY_EXPLICIT OR BUILD_PERL_EXPLICIT OR BUILD_JAVA_EXPLICIT) ELSE ( NOT SWIG_EXECUTABLE ) MESSAGE( STATUS "SWIG ${SWIG_VERSION} found at ${SWIG_EXECUTABLE}" ) ADD_SUBDIRECTORY(bindings) ENDIF ( NOT SWIG_EXECUTABLE ) # curl INCLUDE(FindCURL) IF ( NOT CURL_FOUND) MESSAGE( FATAL_ERROR " curl not found" ) ELSE ( NOT CURL_FOUND) INCLUDE_DIRECTORIES(${CURL_INCLUDE_DIR}) IF(CURL_VERSION_STRING) STRING(COMPARE LESS ${CURL_VERSION_STRING} "7.12.0" result) IF(result LESS 0) MESSAGE( FATAL_ERROR " curl version ${CURL_VERSION_STRING} is too low, need 7.12.0 or greater" ) ENDIF(result LESS 0) ENDIF(CURL_VERSION_STRING) ENDIF( NOT CURL_FOUND) # xml2 INCLUDE(FindLibXml2) IF ( NOT LIBXML2_FOUND) MESSAGE( FATAL_ERROR " libxml2 not found" ) ELSE ( NOT LIBXML2_FOUND) INCLUDE_DIRECTORIES(${LIBXML2_INCLUDE_DIR}) ENDIF( NOT LIBXML2_FOUND) # pthreads INCLUDE(FindThreads) IF( NOT CMAKE_USE_PTHREADS_INIT ) MESSAGE( FATAL_ERROR " openwsman needs pthread" ) ELSE( NOT CMAKE_USE_PTHREADS_INIT ) SET(USE_PTHREAD TRUE) ENDIF( NOT CMAKE_USE_PTHREADS_INIT ) # dl FIND_LIBRARY( HAVE_LIBDL "dl" ) IF(HAVE_LIBDL) SET(DL_LIBRARIES ${HAVE_LIBDL}) SET(HAVE_LIBDL 1) ELSE(HAVE_LIBDL) SET(HAVE_LIBDL 0) ENDIF(HAVE_LIBDL) # crypt FIND_LIBRARY( HAVE_LIBCRYPT "crypt" ) IF(HAVE_LIBCRYPT) SET(CRYPT_LIBRARIES ${HAVE_LIBCRYPT}) SET(HAVE_LIBCRYPT 1) ELSE(HAVE_LIBCRYPT) SET(HAVE_LIBCRYPT 0) ENDIF(HAVE_LIBCRYPT) # nsl FIND_LIBRARY( HAVE_LIBNSL "nsl" ) IF(HAVE_LIBNSL) SET(HAVE_LIBNSL 1) ELSE(HAVE_LIBNSL) SET(HAVE_LIBNSL 0) ENDIF(HAVE_LIBNSL) # socket FIND_LIBRARY( HAVE_LIBSOCKET "socket" ) IF(HAVE_LIBSOCKET) SET(HAVE_LIBSOCKET 1) ELSE(HAVE_LIBSOCKET) SET(HAVE_LIBSOCKET 0) ENDIF(HAVE_LIBSOCKET) # cmpisfcc IF(BUILD_LIBCIM) FIND_LIBRARY( SFCC_LIBRARIES "cmpisfcc" REQUIRED ) ENDIF(BUILD_LIBCIM) # Various include files INCLUDE(CheckIncludeFile) # # The wsman_config file checks include file existance via "#if", # requiring a 0/1 argument # However CHECK_INCLUDE_FILE , returns ""/"1" resulting in # an empty argument to "#if" in the 'false' case # The code below ensures that "HAVE_xxx" is set to "0" or "1" # SET (FILES_TO_TEST "crypt.h" "ctype.h" "CUnit/Basic.h" "dirent.h" "dlfcn.h" "ifaddrs.h" "inttypes.h" "memory.h" "netinet/in.h" "net/if_dl.h" "net/if.h" "pam/pam_appl.h" "pam/pam_misc.h" "pthread.h" "security/pam_appl.h" "security/pam_misc.h" "stdarg.h" "stdint.h" "stdlib.h" "strings.h" "string.h" "sys/ioctl.h" "sys/resource.h" "sys/select.h" "sys/sendfile.h" "sys/signal.h" "sys/socket.h" "sys/sockio.h" "sys/stat.h" "sys/types.h" "unistd.h" "vararg.h" ) #SET(FILES_TO_TEST "crypt.h") FOREACH( FILE ${FILES_TO_TEST}) STRING(REGEX REPLACE "\\." "_" FILEDOT ${FILE}) STRING(REGEX REPLACE "/" "_" FILESLASH ${FILEDOT}) STRING(TOUPPER ${FILESLASH} UPNAME) # MESSAGE(STATUS "Looking for ${FILE} as ${UPNAME}") SET(HAVENAME "HAVE_${UPNAME}") CHECK_INCLUDE_FILE( "${FILE}" HAVE_${FILE}_FILE ) IF(HAVE_${FILE}_FILE) SET(${HAVENAME} 1) ELSE(HAVE_${FILE}_FILE) SET(${HAVENAME} 0) ENDIF(HAVE_${FILE}_FILE) ENDFOREACH( FILE ${FILES_TO_TEST}) #/* Define to 1 if you can safely include both and . */ CHECK_INCLUDE_FILE( "sys/time.h" TIME_WITH_SYS_TIME ) IF(NOT TIME_WITH_SYS_TIME) SET(TIME_WITH_SYS_TIME 0) ENDIF(NOT TIME_WITH_SYS_TIME) #/* Define ssize_t to int' if does not define. */ SET(SSIZE_T_MISSING 0) # library functions INCLUDE(CheckFunctionExists) CHECK_FUNCTION_EXISTS("getifaddrs" HAVE_GETIFADDRS) #SIOCGIFHWADDR #SIOCGARP SET( CRAY_STACKSEG_END 0 ) CHECK_FUNCTION_EXISTS( "alloca" HAVE_ALLOCA ) IF (NOT HAVE_ALLOCA) SET(HAVE_ALLOCA 0) SET(C_ALLOCA 0) CHECK_INCLUDE_FILE( "alloca.h" HAVE_ALLOCA_H ) ELSE (NOT HAVE_ALLOCA) SET(HAVE_ALLOCA 1) SET(C_ALLOCA 1) SET(HAVE_ALLOCA_H 0) ENDIF (NOT HAVE_ALLOCA) # # The wsman_config file checks functions existance via "#if", # requiring a 0/1 argument # CHECK_FUNCTION_EXISTS however, returns ""/"1" resulting in # an empty argument to "#if" in the 'false' case # The code below ensures that "HAVE_xxx" is set to "0" or "1" # SET (FUNCS_TO_TEST "bcopy" "crypt" "daemon" "fnmatch" "getaddrinfo" "getnameinfo" "getpid" "gettimeofday" "gmtime_r" "inet_aton" "inet_ntop" "inet_pton" "sleep" "srandom" "strsep" "strtok_r" "syslog" "timegm" "memmove" "unlink" "va_copy" ) FOREACH( FUNC ${FUNCS_TO_TEST}) STRING(TOUPPER ${FUNC} UPNAME) SET(HAVENAME "HAVE_${UPNAME}") CHECK_FUNCTION_EXISTS( "${FUNC}" HAVE_FUNC ) IF(HAVE_FUNC) SET(${HAVENAME} 1) ELSE(HAVE_FUNC) SET(${HAVENAME} 0) ENDIF(HAVE_FUNC) ENDFOREACH( FUNC ${FUNCS_TO_TEST}) # types INCLUDE(CheckTypeSize) SET( CMAKE_REQUIRED_IUNCLUDE "/usr/include/netinet" ) # # The wsman_config file checks type existance via "#if", # requiring a 0/1 argument # CHECK_TYPE_SIZE however, returns ""/"1" resulting in # an empty argument to "#if" in the 'false' case # The code below ensures that "HAVE_xxx" is set to "0" or "1" # SET (TYPES_TO_TEST "in_addr_t" "in_port_t" "sa_family_t" "int" "long" "long long" "short") FOREACH( TYPE ${TYPES_TO_TEST}) STRING(TOUPPER ${TYPE} UPNAME) STRING(REGEX REPLACE " " "_" UPNAME ${UPNAME}) SET(HAVENAME "HAVE_${UPNAME}") CHECK_TYPE_SIZE( "${TYPE}" HAVE_TYPE ) MESSAGE(STATUS "Check type ${TYPE} as ${HAVENAME}") IF(HAVE_TYPE) SET(${HAVENAME} 1) ELSE(HAVE_TYPE) SET(${HAVENAME} 0) ENDIF(HAVE_TYPE) ENDFOREACH( TYPE ${TYPES_TO_TEST}) INCLUDE(CheckStructHasMember) # Check if struct sockaddr contains sa_len CHECK_STRUCT_HAS_MEMBER("struct sockaddr" sa_len sys/socket.h HAVE_SA_LEN) IF(HAVE_SA_LEN) SET(HAVE_SA_LEN 1) ELSE(HAVE_SA_LEN) SET(HAVE_SA_LEN 0) ENDIF(HAVE_SA_LEN) IF (ENABLE_IPV6) # Check if struct sockaddr_in6 contains sin6 CHECK_STRUCT_HAS_MEMBER("struct sockaddr_in6" sin6_addr netinet/in.h HAVE_IPV6) IF (HAVE_IPV6) SET(ENABLE_IPV6 1) ELSE (HAVE_IPV6) MESSAGE( SEND_ERROR " IPv6 not supported by system, disabling" ) SET(ENABLE_IPV6 0) ENDIF (HAVE_IPV6) ELSE (ENABLE_IPV6) SET(ENABLE_IPV6 0) ENDIF (ENABLE_IPV6) # #/* Define to 1 if you have the ANSI C header files. */ # STDC_HEADERS SET(STDC_HEADERS 1) #################################################################### # CONFIGURATION # #################################################################### ADD_DEFINITIONS( -DHAVE_CONFIG_H ) SET(PACKAGE "openwsman") SET(PACKAGE_BUGREPORT "\"www.openwsman.org\"") SET(PACKAGE_NAME "\"${PACKAGE}\"") SET(PACKAGE_STRING "\"WS-Management for all\"") SET(PACKAGE_TARNAME "\"openwsman-${VERSION}.tar.bz2\"") SET("prefix" ${CMAKE_INSTALL_PREFIX}) SET("includedir" ${CMAKE_INSTALL_PREFIX}/include) SET("libdir" ${LIB_INSTALL_DIR}) # Library names ! SET(WSMAN_PKG wsman) SET(WSMAN_SERVER_PKG wsman_server) SET(WSMAN_CLIENT_PKG wsman_client) SET(WSMAN_CLIENTPP_PKG wsman_clientpp) SET(WSMAN_CLIENT_TRANSPORT_PKG wsman_curl_client_transport) configure_file(${CMAKE_CURRENT_SOURCE_DIR}/wsman_config.h.cmake ${CMAKE_CURRENT_BINARY_DIR}/wsman_config.h) configure_file(${CMAKE_CURRENT_SOURCE_DIR}/Doxyfile.in ${CMAKE_CURRENT_BINARY_DIR}/Doxyfile) configure_file(${CMAKE_CURRENT_SOURCE_DIR}/openwsman.pc.in ${CMAKE_CURRENT_BINARY_DIR}/openwsman.pc) configure_file(${CMAKE_CURRENT_SOURCE_DIR}/openwsman++.pc.in ${CMAKE_CURRENT_BINARY_DIR}/openwsman++.pc) configure_file(${CMAKE_CURRENT_SOURCE_DIR}/openwsman-server.pc.in ${CMAKE_CURRENT_BINARY_DIR}/openwsman-server.pc) configure_file(${CMAKE_CURRENT_SOURCE_DIR}/package/openwsman.spec.in ${CMAKE_CURRENT_BINARY_DIR}/package/openwsman.spec) configure_file(${CMAKE_CURRENT_SOURCE_DIR}/package/openwsman.service.in ${CMAKE_CURRENT_BINARY_DIR}/package/openwsman.service) INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/openwsman.pc ${CMAKE_CURRENT_BINARY_DIR}/openwsman++.pc ${CMAKE_CURRENT_BINARY_DIR}/openwsman-server.pc DESTINATION ${LIB_INSTALL_DIR}/pkgconfig) add_subdirectory(include) add_subdirectory(src) add_subdirectory(doc) add_subdirectory(etc) IF ( BUILD_TESTS ) add_subdirectory(tests) ENDIF ( BUILD_TESTS ) IF ( BUILD_EXAMPLES ) add_subdirectory(examples) ENDIF ( BUILD_EXAMPLES ) INCLUDE_DIRECTORIES( ${CMAKE_SOURCE_DIR}/include ) SET( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -g -Wall -Woverloaded-virtual -Wstrict-prototypes -Wmissing-declarations -Wmissing-prototypes -Wnested-externs -Wpointer-arith -Wunused -Werror" ) SET( CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -g -Wall -Wstrict-prototypes -Wmissing-declarations -Wmissing-prototypes -Wnested-externs -Wpointer-arith -Wunused -Werror" ) SET( CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS} -O3" ) SET( CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS} -O3" ) #################################################################### # PACKAGING # #################################################################### SET(CPACK_INCLUDE_TOPLEVEL_DIRECTORY 1) SET(CPACK_PACKAGE_DESCRIPTION_SUMMARY "Web Services for Management") SET(CPACK_PACKAGE_VENDOR "openwsman.org") SET(CPACK_PACKAGE_VERSION_MAJOR ${OPENWSMAN_MAJOR}) SET(CPACK_PACKAGE_VERSION_MINOR ${OPENWSMAN_MINOR}) SET(CPACK_PACKAGE_VERSION_PATCH ${OPENWSMAN_PATCH}) SET(CPACK_GENERATOR "TBZ2") SET(CPACK_SOURCE_GENERATOR "TBZ2") SET(CPACK_SOURCE_PACKAGE_FILE_NAME "${PACKAGE}-${VERSION}" ) MESSAGE(STATUS "Package file ${CPACK_SOURCE_PACKAGE_FILE_NAME}") # The following components are regex's to match anywhere (unless anchored) # in absolute path + filename to find files or directories to be excluded # from source tarball. SET (CPACK_SOURCE_IGNORE_FILES #git files "/.git" "\\\\.gitignore$" #svn files "\\\\.svn/" "\\\\.cvsignore$" # temporary files "\\\\.swp$" # backup files "~$" # eclipse files "\\\\.cdtproject$" "\\\\.cproject$" "\\\\.project$" "\\\\.settings/" # others "\\\\.#" "/#" "/build/" "/_build/" "/\\\\.git/" # used before "/CVS/" "/\\\\.libs/" "/\\\\.deps/" "\\\\.o$" "\\\\.lo$" "\\\\.la$" "Makefile\\\\.in$" "Makefile$" # autotool "/m4/" "autom4te.cache" "config.log" "./config.h" "configure$" "config.status" "depcomp" "config.guess" "install.sh" "libtool" # generated "\\\\.bz2$" "\\\\.class$" "/bindings/ruby/rdoc/" ) INCLUDE(CPack) #################################################################### SET( DOC_INSTALL_DIR "${CMAKE_INSTALL_PREFIX}/share/doc/packages/${PACKAGE}" CACHE PATH "The install dir for documentation (default prefix/share/doc/packages/${PACKAGE})" FORCE ) IF(HAVE_WARNINGS) MESSAGE(STATUS " ************ NOTE: ************") MESSAGE(STATUS " Warnings occurred during cmake configuration... Please see output") MESSAGE(STATUS " *******************************") ENDIF(HAVE_WARNINGS) #################################################################### # RPM SPEC # #################################################################### SET( AUTOBUILD_COMMAND COMMAND ${CMAKE_COMMAND} -E remove ${CMAKE_BINARY_DIR}/package/*.tar.bz2 COMMAND mkdir -p _CPack_Packages/${CPACK_TOPLEVEL_TAG} COMMAND ${CMAKE_MAKE_PROGRAM} package_source COMMAND ${CMAKE_COMMAND} -E copy ${CPACK_SOURCE_PACKAGE_FILE_NAME}.tar.bz2 ${CMAKE_BINARY_DIR}/package COMMAND ${CMAKE_COMMAND} -E remove ${CPACK_SOURCE_PACKAGE_FILE_NAME}.tar.bz2 COMMAND ${CMAKE_COMMAND} -E copy "${CMAKE_SOURCE_DIR}/package/openwsman-initscript.patch" "${CMAKE_BINARY_DIR}/package" COMMAND ${CMAKE_COMMAND} -E copy "${CMAKE_SOURCE_DIR}/package/openwsman.pam" "${CMAKE_BINARY_DIR}/package" COMMAND ${CMAKE_COMMAND} -E copy "${CMAKE_SOURCE_DIR}/package/openwsman.pam.rh" "${CMAKE_BINARY_DIR}/package" COMMAND ${CMAKE_COMMAND} -E copy "${CMAKE_SOURCE_DIR}/package/openwsman.rpmlintrc" "${CMAKE_BINARY_DIR}/package" COMMAND ${CMAKE_COMMAND} -E copy "${CMAKE_SOURCE_DIR}/package/openwsman.SuSEfirewall2" "${CMAKE_BINARY_DIR}/package" ) ADD_CUSTOM_TARGET( srcpackage_local ${AUTOBUILD_COMMAND} ) ADD_CUSTOM_TARGET( srcpackage ${AUTOBUILD_COMMAND} ) openwsman-2.6.5/CONFORMANCE000066400000000000000000000000011320721741700152030ustar00rootroot00000000000000 openwsman-2.6.5/COPYING000066400000000000000000000027311320721741700145750ustar00rootroot00000000000000Copyright (C) 2004-2006 Intel Corp. All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: - Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. - Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. - Neither the name of Intel Corp. nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL Intel Corp. OR THE CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. openwsman-2.6.5/ChangeLog000066400000000000000000000670021320721741700153160ustar00rootroot000000000000002.6.5 - Bugfixes - Replace obsolete pam modules with standard ones (kukuk@suse.de) - Include shttpd_config.h in tarball (olaf@aepfle.de) - Build with Python 3 - Build with Ruby 2.5 2.6.4 - Bugfixes - setup ECDHE to allow Perfect Forward Secrecy, using the p256 NIST prime curve (CVE-2016-2183) 2.6.3 - Bugfixes - Prevent buffer overflow if digest realm too long - Ensure path starts with '/' in client data endpoint - Java bindings build fix - Fix SSL library, usage is not thread safe (vcrhonek) - Improve NetBSD and OSX builds (apjanke) - Install winrs with correct name and permissions 2.6.2 - Features - Install winrs.rb (Windows Remote Shell) to /usr/bin - New package: winrs - Bugfixes - Make iniparser thread-safe (Emil Bartczak) - Fix excessive RPM rebuilds (Olaf Hering) - Fix selector extraction from URI query (Markus Kolb) - Fix RPM building on older distributions - Fix RPM building on Fedora 22 2.6.1 - Features - Add curlopt_nosignal option to openwsman_client.conf to prevent CURL crashes in multithreaded client applications - Limit EnvelopeSize to 32767 if wsman:MaxEnvelopeSize not set in request (WS-Man 1.2 compatibility) (Prabhakar Pujeri) - Bugfixes - fix memory leaks (Vitezslav Crhonek) - honor client:agent from openwsman_client.conf - fix possible crash in dictionary_get() 2.6.0 - Features - Implement DSP 0226 Section 6.3 wsman:Locale (wsmc_set_locale, wsmc_get_locale) - set transport timeout for c++ binding (prabhakar_pujeri@dell.com) - print CIMError code in HTTP header (prabhakar_pujeri@dell.com) 2.5.2 - Features - build native Python package (Ahmad Jagot) - Cleanup - remove (unused) 'min_threads' config option (Vitezslav Crhonek) 2.5.1 - Features - Allow ';' as separator for URI selectors (RFC 1866 section 8.2.1) - Warn if ',' is used as selector separator 2.5.0 - Features - Rewrite selector and property handling to keep them in order (#49) Selectors and properties can now handle EndpointReferences as values. This increases compatibility with Intel AMT 7.0 and later. - ABI change, .so version 3 - Ruby: Add EndPointReference#to_s 2.4.15 - Features - Ruby: Add Fault#to_s - Ruby: Enable ClientOptions#properties= - Cim: New config option "cim_client_cql' to select CQL query identifier ('CQL' - default, 'DMTF:CQL' - standards-compliant) - Bugfixes - Fix segfault in wsmc_add_property - Fix memleak in xpath handling - Fix typo in parsing max_connections_per_thread (vcrhonek) - Ruby: ClientOptions#properties= 2.4.14 - Features - Improved C++ bindings (Peter Hatina) - Bugfixes - Build fixes for Fedora21, RHEL7, and CentOS7 - option parser accepts '-?' and '--help' as valid 2.4.13 - Features - Support Ruby 2.2 - Bugfixes - Parsing of vendor namespaces (#48, #38) - Client getters memory leaks (#47) - Keep order of 'invoke' parameters (#49) 2.4.12 - Features - New config option 'ssl_disable_protocols'. Pre-set to disable SSLv2 and v3 in SSL mode - Ruby: support Ruby 2.1 threading API - Bugfixes - Fix memory corruption due to a malloc made with the wrong size - iniparser: dictionary_set' must return a value (David Holm) 2.4.11 - Features - Bindings: EndPointReference.selector_names() for Python - Bugfixes - URI parsing: Disallow comma to separate selectors in resource uri, only ampersand is allowed. (issue #38) - Bindings: Fix Ruby doc generation 2.4.10 - Features - Allow to pass EndPointReference instances as invoke() parameters via ClientOptions.add_property 2.4.9 - Bugfixes - make finding libssl.so.* more robust 2.4.8 - Features - Add Fujitsu namespace, cim schema SVS - Bugfixes - client: copy key/value data for options, selectors, and properties - fix .spec file for RHEL/Fedora builds 2.4.7 - Bugfixes - file authenticator: allow password hash of up to 128 characters - libu: don't exit() on malloc errors 2.4.6 - Features - Support large hashes (like SHA512) in file authentication - use constant-time password compare to prevent brute-force attacks - Create server-plugin-ruby as separate RPM - Add Unisys namespace and CIM class prefix 'SPAR' - Alias openwsman and openwsmand systemd services - Also create respective rc-commands: rcopenwsman, rcopenwsmand (SUSE only) - Bugfixes - Fix crash on invalide resource URI - Fix resource namespace for DCIM_ classes 2.4.5 - Features - enforce SSL operation in systemd service - Add /usr/sbin/rcopenwsman for systemd environments - New environment variable 'OPENWSMAN_CURL_TRANSPORT_SSLVERSION' to select SSL protocol version. Set it to 'tlsv1.2' for TLS-v1.2 (anstein) - Bugfixes - Fix memory leaks in redirect plugin (Praveen K Paladugu) - shttpd: Improve error reporting if SSL context fails - Builds on Fedora 20 now 2.4.4 - Security update - ws_xml_make_default_prefix() can overflow buf parameter via sprintf() - ws_xml_make_default_prefix() can overflow buf parameter via sprintf() - wsmc_create_request() potential buf[20] overflow via WSMAN_ACTION_RENEW - LocalSubscriptionOpUpdate() unchecked fopen() - Incorrect order of sanity guards in wsman_get_fault_status_from_doc() - Unchecked memory allocation in wsman_init_plugins(), p->ifc - Unchecked memory allocation in mem_double(), newptr - Unchecked memory allocation in dictionary_new(), d, d->val, d->key, d->hash - Unchecked memory allocation in u_error_new(), *error - sighup_handler() in wsmand.c uses unsafe functions in a signal handler - Features - add rcopenwsman command to systemd environments - add rcopenwsmand command for backwards compatibility - Bindings - support rdoc 2.1 in Ruby bindings - cmake: use PYTHON_INCLUDE_DIRS 2.4.3 - Bugfixes - Fix bindings for Java 1.5 - Raise exception if client creation fails (bindings) 2.4.2 - Standards compliance - Honor WS-Management 1.1.1 standard (line 739) Disable multiple MessageID checks - Bugfixes - Fix crash in redirect module (typo) 2.4.1 - Build fixes - Builds now on SLES11 (cmake 2.4), Fedora 18 - Fedora 19 - needs rubypick package - has empty ruby_version in CONFIG - fix Ruby gem, include version.rb 2.4.0 - Features - Add support for OptionSet in SOAP header (breaks ABI) - Increase soversion of libwsman_client to 2.0.0 - new function wsmc_add_option - Redirect plugin: Added facilities to import the redirection details from an included file (Praveen K Paladugu) - Bugfixes - wsman_transport_set_verify_host passed wrong values to CURL - recognize 'Msvc' (Hyper V) and 'DCIM' (Dell Drac) CIM schemata - xml_parser_element_dump: fix pointer (github issue #8) - Bindings - Ruby: Fix Ruby 1.9 threading locks for wsmc_action_* functions - Ruby: API change: Transport.verify_{host,peer}? return Boolean now Transport.verify_peer -> Transport.verify_peer? Transport.verify_host -> Transport.verify_host? - Support for OptionSet - ClientOptions#add_option - ClientOptions#options= (Ruby) - XmlDoc#to_s returns non-indented xml representation - Ruby: Accessors for OptionSet, Selectors, and Properties - ClientOptions#options - ClientOptions#properties - ClientOptions#selectors - Define security delivery modes (WSMAN_DELIVERY_SEC_*) - Vastly improved bindings documentation - Generate documenation with rdoc 1.9 - Windows Remote Shell client implementation (see ruby/tests/winrs.rb) 2.3.7 - Bugfixes - Generate pkgconfig (.pc) files correctly - Require SWIG > 2.0.4 for building 2.3.6 - Features - Plugins: Ability to redirect requests to a different WS-Management server (Praveen Paladugu) - Bugfixes - Fix xml namespace in Fault message (Praveen Paladugu) - Pass correct key values when creating a Cim_IndicationSubscription (Santosh Bidaralli) - verify_class_namespace: properly check for 'CIM' class schema (Mayur Bhosle) - Fix MaxElements namespace in Pull context (Praveen Paladugu) - Bindings - Ruby: fix crash in Options destructor - Ruby: mark passing arrays via invoke as unsupported - Building - new cmake option: BUILD_BINDINGS (defaults to yes) - honor BUILD_TESTS for all test directories - fix MaxcOS build (Dan Villiom Podlaski Christiansen) 2.3.5 - Bugfixes - Release serializer lock only after use (Satya Chittidi) 2.3.4 - Bugfixes - Adapt to Swig 2.0.5 bugfix for renamed construtors/destructors. - Bindings - SwigClass.. variables are static now 2.3.3 - Bugfixes - Assume 'XPath' as default filter dialect, not 'WQL' (Zoltan Micskei) - Fixed enumeration with selector filter returning only one instance. (Zoltan Micskei) - mark XPath filtering as not supported (in sfcc) - Bindings - Adapt to Ruby 1.9 - Disable RDoc for Ruby 1.9 - WsXmlDoc.to_xml - enforce utf-8 encoding - Properly create AssociationInstances(CIM References) / AssociatedInstances(CIM Associations) filter 2.3.2 - Bugfixes - Assume 'XPath' as default filter dialect, not 'WQL' (Zoltan Micskei) - Bindings - Add ClientOptions#flags() (read) and ClientOptions#reset_flags() - Add Openwsman#uri_prefix - Add Openwsman#create_doc_from_string - Provide full EndPointReference handling 2.3.1 - Features - switch default CIMOM connection to https on port 5989 with PAM authentication (this now reflects the default sfcb config) - Bindings - Ruby: Add Openwsman#epr_uri_for - Bugfixes - Fix build issues in .spec file 2.3.0 - Features - openSUSE: support systemd - provider getter functions for all client and client option string values - Add ssl-related config options in [cim] section, see openwsman.conf ssl = yes/no verify_cert = yes/no trust_store = /etc/ssl/certs - Bugfixes - Enum/Pull: Fix envelope maxsize handling, return partial result - Fix memleaks in client and client option string setters (Matthias Bolte) - All string value getters (for client and client_opt) return copies now (found by Matthias Bolte) - Define and use PLUGIN_API_VERSION for the server-side plugins - Handle optional arguments propertly during client endpoint URI creation (Matthias Bolte) - Make calls to 'identify' repeatable - Destroy serializer lock and client mutex at exit (Bing Liu) - Fix leak in wsmc_release (Sanjeev Putta) - Allow to reset transport credentials to NULL (Matthias Bolte) - Plug memory leaks in wsman-client-transport (Found by Suneet Chandok, improved by Matthias Bolte) - print warning if event delivery fails - Bindings - Provide Ruby bindings also as GEM (-> https://rubygems.org/gems/openwsman) - Add Openwsman#create_doc_from_file to read xml files - Add XmlNode#next to iterate over children with identical name - Add Openwsman#erb_prefix_for to return EPR uri prefixes for different CIM schema - Ruby: Provide a default implementation of auth_request_callback - Ruby: Support Ruby 1.9 - Expose Openwsman version as OPENWSMAN_VERSION, OPENWSMAN_MAJOR, OPENWSMAN_MINOR, OPENWSMAN_PATCH - Ruby: expand XmlNode#each to iterate over multiple children of same name - new test tool: winenum.rb, to enumerate WINRM instances - update documentation: Add note about escaping selector values 2.2.7 - Features - Rename openwsman-client to libwsman_clientpp since it only includes C++ bindings. Split off libwsman_clientpp-devel. Move openwsman_client.conf to libwsman1. - Performance improvements for Enum (optimized) and Pull requests (Srinivas Thirumalaa) - Bindings - Fix all tests - Enhance client function documentation - Add max_elements, max_envelope_size, fragment, and timeout to Options - Use optimized enumeration in tests - Bugfixes - Fix memory leaks in wsmc_action_enumerate_and_pull and wsmc_release (Matthias Bolte) - Fix possible corruption in ws_serializer_free_mem (Matthias Bolte) - Fix recognition of ntlm and gss-negotiate auth methods when checking server-requested vs. client-offered methods. - Developer - Enable client tests - Improve Windows build (Matthias Bolte) - Reduce libu exposure in the public API (Matthias Bolte) 2.2.6 - Features - Add array support for indications (Suresh Sundriyal) - Add indication_baseclass_namespace (Till Steinbach, Suresh Sundriyal) - Bugfix - Correctly prefix /etc when CMAKE_INSTALL_PREFIX is not /usr (Chris Poblete) 2.2.5 - Features - Clean up cmake variable names (kkaempf) - Add --version option to display version and build timestamp (Chris Poblete) - Support array representation in XML bindings (multiple children with same name) (kkaempf) - Support array type in PUT operation (Chris Poblete) - Bindings - more Ruby examples to access winrm (kkaempf) - replace to_s with to_xml when a XML representation is returned (kkaempf) - Bugfixes - Always return the current instance representation after PUT (Chris Poblete) - Issue wsman:MaxElements only for Enumerate and OptimizeEnumeration (Chris Poblete) - Ensure all array elements have same type on invoke (Chris Poblete) - Compile with -DNO_SSL_CALLBACK on Fedora [curl-Bugs-1924441] (Vitezslav Crhonek) 2.2.4 - Features - Build with cmake (kkaempf) building with 'autotools' is now deprecated and will be removed in future versions - Java client bindings (kkaempf) - enforce manual creation of certificate (to get sufficient entropy for randomness) (Praveen Paladugu) - Bugfixes - fix pam config on RHEL/Fedora (kkaempf 2.2.3.9 - Bugfix release: - bindings (kkaempf) - make all constants uppercase - optionally pass code, code_detail, and message to WsmanStatus() constructor - Pass XmlDoc to Fault() constructor - Fix exceptions for Perl and Python - Ruby: Alias XmlDoc.foo to XmlDoc.body.foo - Ruby: Create bindings documentation - Java: Enable and fix for jdk 1.6.0 (unpackaged) - fix pam config on RHEL/Fedora - Fix Fedora/RH build (kkaempf) - Use floor() instead of round() (Suresh Sundriyal) - Reuse username/password if auth_request_func is not set (Arun Venkatachalam) - Catch invalid reference parameters (report bad EPR values) (kkaempf) - fix Windows build (Trevor Witten) - fix ssl (certificate thumbprint) callback check (Arun Venkatachalam) 2.2.3 final - Bugfix release: - cleanup: access CMPIString by macro, not by casted direct member access - fix connection error msg: rc.msg is a CMPIString, not a char* (kkaempf) - fix for OperationTimeout parsing (Chris Poblete) 2.2.3pre - Bugfix release: - fix Windows build (forum.openwsman.org) - fix to build with non-standard subscriptions dir (Chris Poblete) - accept OperationTimeout values as outlined in Section 3.2.6.1 of http://www.w3.org/TR/xmlschema-2 (Chris Poblete) - fall back to IPv4 if IPv6 unsupported (Arun Venkatachalam) - make IPv4 vs. IPv6 configurable (kkaempf) - support invoking a method with array type parameter/arguments (Chris Poblete, bnc#581414) - include instance namespace in the EPR response (Chris Poblete) - fix crash in (unhandled) Array argument (Suresh Sundriyal) - handle MaxElements in Pull operations (Chris Poblete, kkaempf, bnc#581731) - fix building with ssl when openssl/ssl.h is available (Chris Poblete) - make plugin directory configurable (Chris Poblete) - fix "WXF Invalid Representation" error when sending a Create instance request using the WinRm client (Trevor Witten) - add ExcludeNilProperties option to suppress nil properties per request (Chris Poblete, kkaempf) 2.2.2 - Bugfix release: - fix init.d script to run on non-LSB systems (bnc#571873, Chandrasekhar_R@Dell.com) - Clean up CMake build (kkaempf) - Fix build for RHEL5, Fedora 11+12, CentOS 5 - Fix host certificate check in eventing, enable only if the verify_host flag is set (bnc#569611, A_Venkatachalam@Dell.com) - adapt bindings/ruby/helpers.c to Swig 1.3.40 class variable name change - fix bindings to accept ints (enums can't be expressed) 2.2.1-1 - fix NULL pointer dereference in PullResponse (bnc#572553, Suresh Sundriyal) 2.2.1 - Major changes: - Enumeration timeout fixed, resulting in --enum-idle-timeout option to openwsmand taking seconds (instead of miliseconds) now - Client side CRL (certificate revocation list) support (Arun Venkatachalam) - split off client config as /etc/openwsman/openwsman_client.conf - Fix upper limit check for threads and their stack usage (Suresh Sundriyal) (Allowing to confine memory usage in the 10-20MB range!) Reintroduce max_thread config file parameter and two new parameters * max_connections_per_thread * thread_stack_size - Minor changes: - require swig 1.3.30 or later (rhel5 users: upgrade !) - clean up fault generation in CIM backend (Suresh Sundriyal) - fix various memory leaks (Suresh Sundriyal) - fix Python bindings build (kkaempf) - Fix security risk when listing indication subscriptions (Suresh Sundriyal) - Fix xml namespace for enumeration and subscription filters (kkaempf) - Fix class names for swig bindings, makes Python bindings operational (kkaempf) - Use same encoding for faults as in incoming msg (bug305, kkaempf) - Make WS-Enumeration pull response comply to WS-Enumeration sequence ordering (Suresh Sundriyal) 2.2.0 - Major changes: - Adapt IANA ports of 5985 (http) and 5986 (https) - Change the Ruby bindings module name to 'Openwsman' - Change the Ruby plugin module name to 'Openwsman' - IPv6 support (A_Venkatachalam@Dell.com) - preliminary support for wbem intrinsic operations 'EnumerateClassNames' and 'GetClass' (kkaempf@suse.de) (needs fixed sblim-sfcc, see www.openwsman.org for details) - Minor changes: - Perl example code added (by warptrosse@gmail.com) - Fixes to the CMake build environment - Fixes to the sfcc backend (argument handling, xml escaping) - Fix segfault when HTTP Content-Type not set (ssundriy@vmware.com) - Many other bug fixes, e.g. 297: More detailed http status codes 309: Use correct namespace for detecting Filter node 288: CIM Provider Faults not getting propagated to client 279: Openwsman server is adding extra CRLF 2.1.1 - Support SUNpro C compiler - Add SWIG server-side plugin support (Klaus Kaempf) - Add Perl client bindings (Klaus Kaempf) - Client bindings cleanup and improvements (Klaus Kaempf) 2.1.0 - Security related fixes - Many bug fixes related to http stack - GSSAPI support (thanks to Paul Moore) 2.0.1 - Added Java bindings - Set proxy in C++ bindings - Fixed SelectorSet Filter - Added SelectorSet filter support to C++ interface - SelecorFilter does not need __cimnamespace 2.0.0 - minor bug fixes 2.0.0b2 * Support SelectorSet Dialect * Improved Filter API * Improved EPR API * Enahnced bindings to support filters * Initial cmake support (Thanks to Klaus Kaempf) * Many other bug fixes 2.0.0b1 * Use latest shttpd code base * Fixed SSL related issues with shttpd. * Ruby bindings using swig now and part of openwsman * Python bindings update * serialize/de-serialize APIs updated. Make serialize/de-serialize APIs independent of server related structure; New APIs of do_serialize_real32, do_serialize_real64, do_serialize_int8 , do_serialize_int16, do_serialize_int32 and do_serialize_int64 added. * secure eventing delivery support in WS-Eventing server code and related options added in client code. * WS-Eventing client interfaces updated to make it more general. * Source indication namespace configuration supported so that the namespace of subscription related classes can be different from that of indication class. * Anonymous identify and custom identify file supported. * Many other bug fixings. 1.5.1 * Fixed compilation client library on windows * Fixed crash in CIM plugin * Fixed serialization in client library 1.5.0 Openwsman 1.5 is an interim stable release toward 2.0 with all completed features since 1.0. This release serves as a checkpoint to evaluate implemented and outstanding features and to take care of bugs instead of waiting until the beta phase of 2.0. * Structure Improvements o New file structure. Header files separated from source file o wsman_util library integrated into main library o CIM client library (relying on SFCC) is part of the CIM plugin now * Openwsman Server: o Rename server binary to openwsmand to avoid conflicts (wsmand is very generic) o Accept indications * Openwsman Client: o Added --encoding options to choose encoding type of sent and received messages o Added options to support eventing o Load custom method parameters from external file * WS-Eventing Phase 1 o Subscribe, Unsubscribe, Renew commands supported o Heartbeat message supported. The granularity is 1 second. o Four kinds of delivery modes supported: Push, PushWithAck, Pull, Events o Extensible subscription storage mechanism and local subscription storage implemented o If the delivery mode is PushWithAck or Events and there is no acknowledgment response from the event sink, the subscription will be terminated. o Expired subscription will be deleted from the storage. o Subscription with no expiry time will be kept until the service restarts. When the service restarts, all expired and non-expiry subscriptions will be deleted. o If the delivery mode is set to Pull, the number of events kept in the service is limited. Any events over that limit will be discarded. o Initial CIM indication support in the CIM plugin * XML abstraction layer and parser improvements * Language Bindings: o Python * Better support for windows authentication and client API support on windows * Windows Client-side WS-Eventing support: * C++ Bindings (Interface use mostly on windows) o Connect using proxy server. o Support replacing user name without the need to call constructor. Added api - void SetUserName?(const char *user_name) o Support replacing password without the need to call constructor. Added api - void SetPassword?(const char *password) o Add mechanism to extract error message (as string) using the error code inside the GeneralWsmanExeption?. o Fixed bugs related to Kerberos communication in windows transport client * Integration with CIMOMs: o Sfc Broker (Support local and CIMXML communication): Now it is possible to choose backend in the configuration file o Openwbem (External Request handler) * Many many other fixes and improvements 1.2.0 * Fixed memory leaks in client, cpp client * cleanup API to support external plugins and openwbem request handler * General cleanup and minor fixes 1.1.0 Thread saftey: Moved static variables to client struct TLS Support: Support mutual authentication on Linux and Windows C++ client improvements API changes: Fixed long names and modified prefix of client API function Filtering: Assoc./References Support improved 1.0.0 First major release 0.7.5 Bug fix release 0.7.4 Bug fix release 0.7.3 Bug fix release 0.7.2 Bug fix release 0.7.1 Bug fix release 0.7.0 * Enumeration Expiry support and timeout handler added * C++ Wrapper library added * Enhanced low-level API to support different types of data, now operations and actions requiring input (payload) accept: o Text o XML o Serialized data * Simple C API with Sessions support added * Serialization, Reworked and enhanced, added the following: o Date/Time Serialization o EPR Serialization * Create and Delete are now supported on the server level and the CIM plugin * Namespace and resource URI handling is now stricter now allowing the use of random namespaces (they have to be defined in the configuration file) * Transport using native interface on windows (not curl) * Unified error handling for Windows and Linux * Enahncements to make client compile and work on Windows * Single Client API header * Many bugs and spec conformance issues fixed 0.6.1 The updates in this version of Openwsman have been focused on WS-CIM and WS-Management specification compliance. Interoperability with other WS-Management implementations was done at the Management Developers Conference (MDC) 2006. The issues found at the MDC have been corrected in this release. 0.6.0 0.5.1 0.5.0 0.4.2 * Removed env_t and replaced it with SoapH * removing iWsDoc. Using WsXmlDocH everywhere * improved create request routine for transfer put 0.4.1 * 0.4.0 * Standalone http server (replace libsoup), libsoup server still available using config options, however it will no longer be supported * Support for both Basic and Diegst at the same time * Command line client * Client now uses curl * Added additional debuging options( save output to file, step operatings) * WS-CIM Compliance - Added support for namespaces as selectors - Full polymorphism support * CIM Plugin - Authentication with CIMOM using basic authentication - Multiple vendor namespace now supported - Vendor namespaces are configured in master config file - Default CIM namespace configurable in master config file * PAM Support * Removed dependency on Glib2 * New command line parser for client and server * Improved client interface * Test clients added * CUnit testing added (more tests to follow) * Functional testing scripts added (more comliance tests to follow) * Compliance with WS-Management specification - Authenticate with same credentials when enumerating - More Header checks * Updated Fault table * Many memory leak fixes * Plugin reads configuration data from master config file 0.3.2 * Parse SSL port correctly * Invoke CIM methods with right variables. 0.3.1 * fixed bug with null array value in cim access library: #24 0.3.0 * Code Cleanup * Optimize code size * RPM Support using SUSE build services * Further modularization * More WS-Management specification conformance * Utility Library (glib replacement in core library) * Basic CIM Binding support (Polymorphism) * Many bug fixes, see report for more details. 0.2.0 * This is a cleanup release with many bug fixes and the following additional features: * RPM support * Core library split into functional sub libraries for server, client and utility functions. 0.1.0 * This is the first release defaulting to support the WS-management specification from the DMTF (version 1.0, currently draft). Support for the June 2005 specification has been disabled. You will not be able to send requests to Windows 2003 R2 or Vista with WS-Man support unless those have the new WS-Management stack from Microsoft. * This release also added some new options to the client and removed many command line options from the service. Those options are now part of the configuration file used for the service. 0.09: * Support DMTF draft specification (Work in Progress) * Optimized enumeration * EPR enumeration * EPR And Object Enumeration * Estimate Item Count in Enumeration 0.07: * Various fixes to generic CIM plugin * Eliminated memory leaks in various location * Removed obsolete code which was inherited from the reference implementation this project is based on * Added support for custom methods: It is now possible to invoke custom methods (Extrinsic CIM operations). * Capture errors and status codes from the CIM library as WS-Management faults * Moved all CIM client library dependencies to the cim client interface library to be able to support other client libraries (i.e. OpenWBEM client interface ) in the future. * Changed command line options for the client to accomodate new actions and custom methods. openwsman-2.6.5/Doxyfile.in000066400000000000000000000155671320721741700156700ustar00rootroot00000000000000# Doxyfile 0.1 #--------------------------------------------------------------------------- # General configuration options #--------------------------------------------------------------------------- PROJECT_NAME = OpenWSMAN PROJECT_NUMBER = @VERSION@ OUTPUT_DIRECTORY = doc/autodocs OUTPUT_LANGUAGE = English EXTRACT_ALL = NO EXTRACT_PRIVATE = NO EXTRACT_STATIC = NO HIDE_UNDOC_MEMBERS = NO HIDE_UNDOC_CLASSES = NO BRIEF_MEMBER_DESC = YES REPEAT_BRIEF = YES ALWAYS_DETAILED_SEC = NO FULL_PATH_NAMES = NO STRIP_FROM_PATH = INTERNAL_DOCS = NO STRIP_CODE_COMMENTS = YES CASE_SENSE_NAMES = YES SHORT_NAMES = NO HIDE_SCOPE_NAMES = NO VERBATIM_HEADERS = YES SHOW_INCLUDE_FILES = YES JAVADOC_AUTOBRIEF = YES INHERIT_DOCS = YES INLINE_INFO = YES SORT_MEMBER_DOCS = YES DISTRIBUTE_GROUP_DOC = NO TAB_SIZE = 8 GENERATE_TODOLIST = YES GENERATE_TESTLIST = YES GENERATE_BUGLIST = YES ALIASES = ENABLED_SECTIONS = MAX_INITIALIZER_LINES = 30 OPTIMIZE_OUTPUT_FOR_C = YES SHOW_USED_FILES = YES #--------------------------------------------------------------------------- # configuration options related to warning and progress messages #--------------------------------------------------------------------------- QUIET = YES WARNINGS = YES WARN_IF_UNDOCUMENTED = YES WARN_FORMAT = WARN_LOGFILE = #--------------------------------------------------------------------------- # configuration options related to the input files #--------------------------------------------------------------------------- INPUT = src FILE_PATTERNS = *.c *.h RECURSIVE = YES #EXCLUDE = test # If the value of the INPUT tag contains directories, you can use the # EXCLUDE_PATTERNS tag to specify one or more wildcard patterns to exclude # certain files from those directories. EXCLUDE_PATTERNS = Makefile.* ChangeLog CHANGES CHANGES.* README \ README.* *.png AUTHORS DESIGN DESIGN.* *.desktop \ DESKTOP* COMMENTS HOWTO magic NOTES TODO THANKS # The EXAMPLE_PATH tag can be used to specify one or more files or # directories that contain example code fragments that are included (see # the \include command). EXAMPLE_PATH = EXAMPLE_PATTERNS = EXAMPLE_RECURSIVE = NO IMAGE_PATH = INPUT_FILTER = FILTER_SOURCE_FILES = NO #--------------------------------------------------------------------------- # configuration options related to source browsing #--------------------------------------------------------------------------- SOURCE_BROWSER = YES INLINE_SOURCES = NO REFERENCED_BY_RELATION = YES REFERENCES_RELATION = YES #--------------------------------------------------------------------------- # configuration options related to the alphabetical class index #--------------------------------------------------------------------------- ALPHABETICAL_INDEX = NO COLS_IN_ALPHA_INDEX = 5 IGNORE_PREFIX = #--------------------------------------------------------------------------- # configuration options related to the HTML output #--------------------------------------------------------------------------- GENERATE_HTML = YES HTML_OUTPUT = HTML_HEADER = HTML_FOOTER = HTML_STYLESHEET = HTML_ALIGN_MEMBERS = YES GENERATE_HTMLHELP = NO GENERATE_CHI = NO BINARY_TOC = NO TOC_EXPAND = NO DISABLE_INDEX = NO ENUM_VALUES_PER_LINE = 4 GENERATE_TREEVIEW = NO TREEVIEW_WIDTH = 250 #--------------------------------------------------------------------------- # configuration options related to the LaTeX output #--------------------------------------------------------------------------- GENERATE_LATEX = NO LATEX_OUTPUT = COMPACT_LATEX = NO PAPER_TYPE = a4wide EXTRA_PACKAGES = LATEX_HEADER = PDF_HYPERLINKS = NO USE_PDFLATEX = NO LATEX_BATCHMODE = NO #--------------------------------------------------------------------------- # configuration options related to the RTF output #--------------------------------------------------------------------------- GENERATE_RTF = NO RTF_OUTPUT = COMPACT_RTF = NO RTF_HYPERLINKS = NO RTF_STYLESHEET_FILE = RTF_EXTENSIONS_FILE = #--------------------------------------------------------------------------- # configuration options related to the man page output #--------------------------------------------------------------------------- GENERATE_MAN = YES MAN_OUTPUT = man MAN_EXTENSION = .3wsman MAN_LINKS = YES #--------------------------------------------------------------------------- # configuration options related to the XML output #--------------------------------------------------------------------------- GENERATE_XML = NO #--------------------------------------------------------------------------- # Configuration options related to the preprocessor #--------------------------------------------------------------------------- ENABLE_PREPROCESSING = YES MACRO_EXPANSION = YES EXPAND_ONLY_PREDEF = YES SEARCH_INCLUDES = YES INCLUDE_PATH = INCLUDE_FILE_PATTERNS = PREDEFINED = "OWSMAN_BEGIN_DECLS=" \ "OWSMAN_END_DECLS=" \ "DOXYGEN_SHOULD_SKIP_THIS" \ "_OWSMAN_DEFINE_GLOBAL_LOCK(name)=" \ "_OWSMAN_GNUC_PRINTF(from,to)=" SKIP_FUNCTION_MACROS = YES #--------------------------------------------------------------------------- # Configuration::addtions related to external references #--------------------------------------------------------------------------- TAGFILES = GENERATE_TAGFILE = ALLEXTERNALS = NO PERL_PATH = #--------------------------------------------------------------------------- # Configuration options related to the dot tool #--------------------------------------------------------------------------- CLASS_DIAGRAMS = YES HAVE_DOT = NO CLASS_GRAPH = YES COLLABORATION_GRAPH = YES TEMPLATE_RELATIONS = YES HIDE_UNDOC_RELATIONS = YES INCLUDE_GRAPH = YES INCLUDED_BY_GRAPH = YES GRAPHICAL_HIERARCHY = YES DOT_PATH = DOTFILE_DIRS = MAX_DOT_GRAPH_WIDTH = 640 MAX_DOT_GRAPH_HEIGHT = 1024 GENERATE_LEGEND = YES DOT_CLEANUP = YES #--------------------------------------------------------------------------- # Configuration::addtions related to the search engine #--------------------------------------------------------------------------- SEARCHENGINE = NO openwsman-2.6.5/Makefile.am000066400000000000000000000023571320721741700156020ustar00rootroot00000000000000# # Makefile.am for openwsman # ACLOCAL_AMFLAGS = -I m4 SUBDIRS = include src doc etc bindings if BUILD_EXAMPLES SUBDIRS += examples endif if BUILD_TESTS SUBDIRS += tests endif AUTOMAKE_OPTIONS = no-dist-gzip dist-bzip2 wsmanincludedir = $(includedir)/openwsman #wsmaninclude_HEADERS = wsman_config.h package: dist cp openwsman.spec /usr/src/packages/SPEC cp openwsman-*.tar.bz2 /usr/src/packages/SOURCES cp package/openwsman.rpmlintrc /usr/src/packages/SOURCES cp package/openwsman-pam-auth.patch /usr/src/packages/SOURCES rpmbuild -ba openwsman.spec etags: TAGS find . -name "*.[chCH]" -print | etags - install-data-local: openwsman.pc $(mkinstalldirs) $(DESTDIR)$(libdir)/pkgconfig $(INSTALL_DATA) openwsman.pc $(DESTDIR)$(libdir)/pkgconfig $(INSTALL_DATA) openwsman++.pc $(DESTDIR)$(libdir)/pkgconfig $(INSTALL_DATA) openwsman-server.pc $(DESTDIR)$(libdir)/pkgconfig uninstall-local: rm $(DESTDIR)$(libdir)/pkgconfig/openwsman.pc rm $(DESTDIR)$(libdir)/pkgconfig/openwsman++.pc rm $(DESTDIR)$(libdir)/pkgconfig/openwsman-server.pc EXTRA_DIST = OpenWsmanLib.vcproj OpenWsmanLib.sln autoconfiscate.sh \ package/openwsman.rpmlintrc package/openwsman.spec.in \ package/openwsman-pam-auth.patch \ m4 dist-hook: -rm $(distdir)/m4/*.m4 openwsman-2.6.5/NEWS000066400000000000000000000000001320721741700142240ustar00rootroot00000000000000openwsman-2.6.5/OpenWsmanLib.sln000066400000000000000000000025471320721741700166230ustar00rootroot00000000000000 Microsoft Visual Studio Solution File, Format Version 9.00 # Visual Studio 2005 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "OpenWsmanLib", "OpenWsmanLib.vcproj", "{B94E87ED-EB72-4C2F-A6A6-951219B13141}" EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "testOpenWsmanClient", "testOpenWsmanClient\testOpenWsmanClient.vcproj", "{28815462-7624-4FF5-8467-E5517556B9CF}" EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Win32 = Debug|Win32 Release|Win32 = Release|Win32 EndGlobalSection GlobalSection(ProjectConfigurationPlatforms) = postSolution {B94E87ED-EB72-4C2F-A6A6-951219B13141}.Debug|Win32.ActiveCfg = Debug|Win32 {B94E87ED-EB72-4C2F-A6A6-951219B13141}.Debug|Win32.Build.0 = Debug|Win32 {B94E87ED-EB72-4C2F-A6A6-951219B13141}.Release|Win32.ActiveCfg = Release|Win32 {B94E87ED-EB72-4C2F-A6A6-951219B13141}.Release|Win32.Build.0 = Release|Win32 {28815462-7624-4FF5-8467-E5517556B9CF}.Debug|Win32.ActiveCfg = Debug|Win32 {28815462-7624-4FF5-8467-E5517556B9CF}.Debug|Win32.Build.0 = Debug|Win32 {28815462-7624-4FF5-8467-E5517556B9CF}.Release|Win32.ActiveCfg = Release|Win32 {28815462-7624-4FF5-8467-E5517556B9CF}.Release|Win32.Build.0 = Release|Win32 EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE EndGlobalSection EndGlobal openwsman-2.6.5/OpenWsmanLib.vcproj000066400000000000000000000220611320721741700173230ustar00rootroot00000000000000 openwsman-2.6.5/README.md000066400000000000000000000203541320721741700150220ustar00rootroot00000000000000# How to compile and run openwsman from GIT ? After checking out the project from git, create a build directory with mkdir build cd into it cd build cmake .. make See `package/openwsman.spec.in` for running cmake in 'release' mode Most likely you will need to install some of the packages, depending on the distribution you are running. Pre-build (RPM) packages for many distributions are available at [the openSUSE build service](https://build.opensuse.org/project/show?project=Openwsman) ## Packages and other software needed: * libxml2 * sblim-sfcc (from the sblim project) * swig and python for python binding support * other development packages like cmake, gcc, etc. After all packages are installed, compile everything and install. The server can run as a daemon, which would require root access; But it can be run in the foreground with debugging messages printed to stdout as well. This the help output when you run: /usr/sbin/openwsmand --help Usage: openwsmand [OPTION...] WS-Management Server Help Options: -?, --help Show help options Application Options: -n, --no-plugins Do not load any plugins -d, --debug Start daemon in foreground and turn on debugging -s, --syslog=0-6 Set the verbosity of syslog output. -c, --config-file= Alternate configuration file Starting from version 0.1.1 a configuration file is needed. you can find an example in the `./etc` directory. The configuration file has the following syntax: [server] port = 5985 #ssl_port = 5986 ssl_cert_file = /etc/openwsman/servercert.pem ssl_key_file = /etc/openwsman/serverkey.pem #digest_password_file = /etc/openwsman/digest_auth.passwd basic_password_file = /etc/openwsman/simple_auth.passwd enum_idle_timeout = 5000 max_threads = 1 #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 [client] port = 5988 agent = openwsman 2.2.4 [cim] default_cim_namespace = root/cimv2 # 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,Reef=http://reef.sblim.sf.net/wbem/wscim/1/cim-schema/2,CWS=http://cws.sblim.sf.net/wbem/wscim/1/cim-schema/2 To run in SSL mode you need to enable the SSL port and create certificates and adapt the configuration with the correct path to the files. To start the server in the foreground, run: /usr/sbin/openwsmand -d You can also specify the configuration file to be used on the command line using the -c option. On the client side, which has the following options /usr/bin/wsman --help-all Usage: wsman [Option...] Help Options -?, --help --help-all Show help options --help-enumeration Enumeration Options --help-tests Test Cases --help-cim CIM Options --help-flags Request Flags --help-event Subscription Options Enumeration -m, --max-elements= Max Elements Per Pull/Optimized Enumeration -o, --optimize Optimize enumeration results -E, --estimate-count Return estimation of total items -M, --enum-mode=epr|objepr Enumeration Mode -U, --enum-context= Enumeration Context (For use with Pull and Release) Tests -f, --from-file= Send request from file -R, --print-request print request on stdout -Q, --request Only output reqest. Not send it. -S, --step Do not perform multiple operations (do not pull data when enumerating) CIM -N, --namespace= CIM Namespace (default is root/cimv2) -B, --binding-enum-mode=none|include|exclude CIM binding Enumeration Mode -T, --cim-extensions Show CIM Extensions -W, --references CIM References -w, --associators CIM Associators Flags -x, --filter= Filter -D, --dialect= Filter Dialect -t, --operation-timeout=