blob: d04d4dfd43900f25bd32cbf87888d6f4786c3edf [file] [log] [blame]
- 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()
- Features
- Implement DSP 0226 Section 6.3 wsman:Locale
(wsmc_set_locale, wsmc_get_locale)
- set transport timeout for c++ binding (
- print CIMError code in HTTP header (
- Features
- build native Python package (Ahmad Jagot)
- Cleanup
- remove (unused) 'min_threads' config option (Vitezslav Crhonek)
- Features
- Allow ';' as separator for URI selectors
(RFC 1866 section 8.2.1)
- Warn if ',' is used as selector separator
- 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
- 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=
- Features
- Improved C++ bindings (Peter Hatina)
- Bugfixes
- Build fixes for Fedora21, RHEL7, and CentOS7
- option parser accepts '-?' and '--help' as valid
- Features
- Support Ruby 2.2
- Bugfixes
- Parsing of vendor namespaces (#48, #38)
- Client getters memory leaks (#47)
- Keep order of 'invoke' parameters (#49)
- 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)
- 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
- Features
- Allow to pass EndPointReference instances as invoke() parameters
via ClientOptions.add_property
- Bugfixes
- make finding* more robust
- 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
- Bugfixes
- file authenticator: allow password hash of up to 128 characters
- libu: don't exit() on malloc errors
- 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
- 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
- Bugfixes
- Fix memory leaks in redirect plugin (Praveen K Paladugu)
- shttpd: Improve error reporting if SSL context fails
- Builds on Fedora 20 now
- 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
- Bugfixes
- Fix bindings for Java 1.5
- Raise exception if client creation fails (bindings)
- Standards compliance
- Honor WS-Management 1.1.1 standard (line 739)
Disable multiple MessageID checks
- Bugfixes
- Fix crash in redirect module (typo)
- 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
- 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)
- Bugfixes
- Generate pkgconfig (.pc) files correctly
- Require SWIG > 2.0.4 for building
- 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)
- Bugfixes
- Release serializer lock only after use (Satya Chittidi)
- Bugfixes
- Adapt to Swig 2.0.5 bugfix for renamed construtors/destructors.
- Bindings
- SwigClass.. variables are static now
- 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
- 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
- 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
- Features
- openSUSE: support systemd
- provider getter functions for all client and client option string
- 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
- 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,
- 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
- 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)
- 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)
- 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)
- 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
- Bugfix release:
- bindings (kkaempf)
- make all constants uppercase
- optionally pass code, code_detail, and message to WsmanStatus()
- Pass XmlDoc to Fault() constructor
- Fix exceptions for Perl and Python
- Ruby: Alias to
- 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)
- Bugfix release:
- fix Windows build (
- fix to build with non-standard subscriptions dir (Chris Poblete)
- accept OperationTimeout values as outlined in Section
of (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)
- Bugfix release:
- fix init.d script to run on non-LSB systems (bnc#571873,
- 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,
- adapt bindings/ruby/helpers.c to Swig 1.3.40 class variable name
- fix bindings to accept ints (enums can't be expressed)
- fix NULL pointer dereference in PullResponse (bnc#572553, Suresh Sundriyal)
- 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)
- 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 (
- preliminary support for wbem intrinsic operations
'EnumerateClassNames' and 'GetClass' (
(needs fixed sblim-sfcc, see for details)
- Minor changes:
- Perl example code added (by
- Fixes to the CMake build environment
- Fixes to the sfcc backend (argument handling, xml escaping)
- Fix segfault when HTTP Content-Type not set (
- 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
- 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)
- Security related fixes
- Many bug fixes related to http stack
- GSSAPI support (thanks to Paul Moore)
- Added Java bindings
- Set proxy in C++ bindings
- Fixed SelectorSet Filter
- Added SelectorSet filter support to C++ interface
- SelecorFilter does not need __cimnamespace
- minor bug fixes
* 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
* 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_int8 ,
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.
* Fixed compilation client library on windows
* Fixed crash in CIM plugin
* Fixed serialization in client library
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
* Fixed memory leaks in client, cpp client
* cleanup API to support external plugins and openwbem request handler
* General cleanup and minor fixes
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
First major release
Bug fix release
Bug fix release
Bug fix release
Bug fix release
Bug fix release
* 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 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
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.
* Removed env_t and replaced it with SoapH
* removing iWsDoc. Using WsXmlDocH everywhere
* improved create request routine for transfer put
* 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
* Parse SSL port correctly
* Invoke CIM methods with right variables.
* fixed bug with null array value in cim access library: #24
* 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.
* 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.
* 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.
* Support DMTF draft specification (Work in Progress)
* Optimized enumeration
* EPR enumeration
* EPR And Object Enumeration
* Estimate Item Count in Enumeration
* 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.