version 1.49.2.20, 2001/09/01 23:21:36
|
version 1.49.2.60, 2001/12/04 02:35:08
|
|
|
| |
16. (Mike Brasher) - queue-based clients now complete. | 16. (Mike Brasher) - queue-based clients now complete. |
| |
|
17. (Jim Chou - HP) 12 Sep 2001 - Initial contribution of wbemexec test directory and make infrastructure. This submittal also includes an initial set of test scripts. |
|
|
|
18. (Markus Mueller - IBM) 13 Sep 2001 - Initial support for z/OS on z/Series, the successor of OS/390 and MVS. |
|
|
|
19. (Warren Otsuka - HP) 14 Sep 2001 - Implementation of servlet web server |
|
interface to CIMServer.This is for the PEGASUS CIM Server to coexist with |
|
a web server. See doc/Servlet for more information. |
|
|
|
20. (Yi Zhou - HP) 20 Sep 2001 - Added tracing in files |
|
CIMOperationRequestDecoder.cpp and CIMOperationResponseEncoder.cpp so XML |
|
input and output can be written in a trace file. |
|
|
|
21. (Markus Mueller - IBM) 25 Sep 2001 - Initial Signal Handler support |
|
Created new class SignalHandler that allow registration, activation and |
|
deactivation of signal handler functions (Linux only !). |
|
|
|
22. (Nitin Upasani - HP) 27 Sep 2001 - Modification of ExportServer and |
|
ExportClient to support ExportIndication. DisplayConsumer, a sample |
|
consumer is added which will consume (by displaying on screen) the |
|
indication exported by CIMExportRequestDispatcher. This complete |
|
implementation is based on CIM_EXPORT_INDICATION_REQUEST and |
|
RESPONSE messages. CIMMessage.h, Message.cpp and Message.h files |
|
are modified to implement above messages. |
|
|
|
XmlIndicationDispatcher test program is modified to test complete |
|
operation. It now creates a consumer, handler and indication |
|
instance and then calls CIMExportRequestDispatcher to export the |
|
indication to consumer. This program needs |
|
src/Pegasus/Server/tests/XmlIndicationDispatcher/TestSoftwarePkg.mof |
|
and Schemas/Pegasus/PG_ConsumerRegistration.mof files to be loaded |
|
in the repository to complete the test successfully. This test |
|
program also needs Handler qualifier defined in repository and |
|
modify CIM_Event25.mof for CIM_IndicationHandlerXMLHTTP class as |
|
below: |
|
|
|
//==================================================================== |
|
// CIM_IndicationHandlerXMLHTTP |
|
//==================================================================== |
|
[Description ( |
|
"CIM_IndicationHandlerXMLHTTP describes the destination for " |
|
"Indications to be delivered via HTTP, using a cimXML " |
|
"representation."), Handler ("CIMxmlIndicationHandler") ] |
|
|
|
23. (Sushma Fernandes - HP) 27 Sep 2001 - Added tracing code in |
|
ProviderTable.cpp and SystemUnix.cpp to indicate progress of loading |
|
a provider library. |
|
|
|
24. (Nitin Upasani - HP) 05 Oct 2001 - implementation of InvokeMethod |
|
interface for the provider. InvokeMethod currently uses CIMValue as |
|
type for inParameters and outParameters, which are unable to give |
|
information about param name, type and value. This should be changed |
|
to CIMParamValue which will help providers to know details of the |
|
parameter name and type along with value passed through InvoleMethod |
|
call. Current implementation uses CIMParamValue as parameters while |
|
travelling through message queues and converts it back to array of |
|
CIMValue before calling Provider API (which needs to be changed |
|
later). |
|
|
|
Also added are two test programs: |
|
|
|
src/Pegasus/Common/tests/ParamValue - which demonstrate use of |
|
CIMParamValue class. |
|
|
|
src/Pegasus/Client/tests/InvokeMethod - which makes call to |
|
InvokeMethod and displays the return value. Current |
|
implementation assumes that provider had returned true value |
|
and outParameters (which are now hard coded in |
|
CIMOperationRequestDispatcher to implement functionality) |
|
which are passed as response of InvokeMethod to client. |
|
|
|
25. (Nag Boranna - HP) 05 Oct 2001 - Added first level implementation of |
|
authentication to the pegasus code. Created an Authentication Manager |
|
and authenticator interfaces. The file based local authentication |
|
module has been modified to implement the local authenticator |
|
interface, to generate the challenge for the unauthorized requests |
|
and to verify the authentication. |
|
|
|
A skeleton program has been created for the Basic Authenticator. |
|
This code is in the Security/Authentication directory which is not |
|
yet linked into the build. |
|
|
|
26. (Nitin Upasani - HP) 08 Oct 2001 - Changes to Operation and Export |
|
Decoders. Earlier decoders were sending requests and responses |
|
before finishing complete Xml parse. This was prone to send |
|
request/response even the Xml is wrong after the MethodCall. |
|
New changes collects the Message* as return value from the |
|
appropriate functions while parsing the Xml and sends on |
|
_outputQueue only when Xml is parsed successfully. |
|
|
|
27. (Nag Boranna - HP) 11 Oct 2001 - Modified ProviderModule.cpp to |
|
fix the problem with constructing provider name and loading the |
|
providers for unix platforms. Also moved the shared library name |
|
construction (appending .sl or .so) from |
|
CIMOperationRequestDispatcher.cpp/SystemUnix.cpp to |
|
ProviderModule.cpp and included it in a method that returns |
|
provider file path name. |
|
|
|
28. (Nitin Upasani - HP) 12 Oct 2001 - Implementation of SNMP Indication |
|
Handler. This handler extracts MappingStrings qualifier from class |
|
definition and converts it into SNMP specific trap data. The trap |
|
structure is defined in a abstract class in snmpDeliverTrap.h file. |
|
Every one has his or her own SNMP agent, which will talk with master |
|
agent to deliver the trap or may have some other mechanism. |
|
Extending snmpDeliverTrap class and deliverTrap method will help to |
|
implement specific trap delivery mechanism. |
|
|
|
29. (Yi Zhou - HP) 09 Oct 2001 - Changed cimconfig to allow setting property to |
|
be NULL. Also, if -u -p specified in the cimconfig, instead of updating |
|
property value to be default in the plan file, remove the property from the |
|
plan file. Converted ConfigSettingProvider to use provider2 library. |
|
|
|
30. (Sushma Fernandes - HP) 24 Oct 2001 - Added an interface to the tracer |
|
to allow tracing of a specific number of bytes in a given |
|
string. Also modified the XmlIO trace code to use the new interface. |
|
Changed the config file defaults for tracing. |
|
|
|
31. (Rudy Schuet - Compaq) 28 Oct 2001 - Added "make" support for Compaq |
|
NonStop platform (NSK) in directory pegasus/mak. The following files |
|
were added: platform_NSK_NONSTOP_NMCPLUS.mak, objects-nsk.mak, |
|
library-nsk.mak, config-nsk.mak, program-nsk.mak, program-windows.mak, |
|
program-unix.mak. The original program.mak which previously covered |
|
all platforms was split into platform-specific make files, and now |
|
only contains conditionals. Files config.mak, objects.mak, and |
|
library.mak were changed to include the NSK files. |
|
File platform_NSK_NONSTOP_NMCPLUS.mak includes config-nsk.mak. |
|
|
|
32. (Jenny Yu - HP) 29 Oct 2001 - Fixed CIMReference constructor to allow |
|
commas (,) in the string values of key properties. |
|
|
|
33. (Karl Schopmeyer) 30 October 2001- Move the repository load to CIM schema 2.6 |
|
|
|
34. (Rudy Schuet - Compaq) 30 Oct 2001 - Fixed a problem in |
|
pegasus/mak/program-windows.mak that prevented program builds for |
|
the windows platform (related to change from 28 Oct). Replaced |
|
leading whitespace in front of commands with tabs as required |
|
in make files. |
|
|
|
35. (K Schopmeyer) 2 Nov 2001 - Temporarily moved repository back to CIM25 |
|
because getting an error in 26 |
|
|
|
35. (Roger Kumpf - HP) 30 Oct 2001 - Association classes have keys |
|
whose types are references. These reference values must be |
|
treated specially in the XML encoding, using the VALUE.REFERENCE |
|
tag structure. |
|
|
|
Pegasus had been passing reference values simply as String values. |
|
For example, EnumerateInstanceNames returned KEYVALUEs of string |
|
type rather than VALUE.REFERENCEs. |
|
|
|
I've modified the XmlReader::getKeyBindingElement() and |
|
CIMReference::instanceNameToXml() methods to read and write the |
|
XML in the proper format. However, making that change required |
|
that a CIMReference object be able to distinguish between a key |
|
of String type and a key of reference type. |
|
|
|
I've modified the String format of CIMReferences slightly to |
|
allow efficient processing of references whose keys are also of |
|
reference type. The "official" form uses the same encoding for |
|
key values of String type and of reference type, and so it |
|
would be necessary to retrieve the class definition and look up |
|
the types of the key properties to determine how to treat the |
|
key values. This is clearly too inefficient for internal |
|
transformations between CIMReferences and String values. |
|
|
|
The workaround is to encode a 'R' at the beginning of the value |
|
for a key of reference type (before the opening '"'). This allows |
|
the parser to know a priori whether the key is of String or |
|
reference type. |
|
|
|
In this example: |
|
|
|
MyClass.Key1="StringValue",Key2=R"RefClass.KeyA="StringA",KeyB=10" |
|
|
|
Property Key1 of class MyClass is of String type, and so it gets |
|
the usual encoding. Key2 is a reference property, so the extra 'R' |
|
is inserted before its encoded value. Note that this algorithm is |
|
recursive, such that RefClass could include KeyC of reference type, |
|
which would also get encoded with the 'R' notation. |
|
|
|
The toString() method inserts the 'R' to provide symmetry. A new |
|
KeyBinding type (REFERENCE) has been defined to denote keys in a |
|
CIMReference that are of reference type. This KeyBinding type must |
|
be used appropriately for CIMReference::ttoString() to behave |
|
correctly. |
|
|
|
The files that have been modified to make this change are |
|
CIMReference.h, CIMReference.cpp, and CIMInstanceRep.cpp. |
|
|
|
A result of this change is that instances names in the instance |
|
repository will include this extra 'R' character. Thus, you will |
|
need to repopulate your repository when you download the latest |
|
CIMOM version. |
|
|
|
Note that for user-facing uses of the String encoding of instance |
|
names (such as might appear in MOF for static association |
|
instances or in the CGI client), this solution is non-standard and |
|
therefore unacceptable. It is likely that these points will need |
|
to process the more expensive operation of retrieving the class |
|
definition to determine the key property types. |
|
|
|
36. (Sushma Fernandes - HP) Modified tracer to return invalid components |
|
in case of error in setting trace components. Modified the property owner |
|
init and update methods. Submitted the pegasus/mak/Buildmakefile with |
|
cleanbuild, rebuild and trace configuration options. |
|
|
|
37. (Yi Zhou - HP) 05 Nov 2001 - Fixed createInstance to return a CIMReference |
|
(instanceName). |
|
|
|
38. (Roger Kumpf - HP) 08 Nov 2001 - Implemented encoding/decoding of |
|
GetProperty/SetProperty/EnumerateInstances request/response messages. |
|
Added encoding and decoding of PropertyList parameters on all |
|
relevant intrinsic methods. |
|
|
|
39. (Markus Mueller - IBM) 09 Nov 2001 - Added Associator calls to CIMBase |
|
ProviderFacade.cpp; fixed Provider unloading in CIMProviderManager.cpp |
|
|
|
40. (Rudy Schuet - Compaq) 12 Nov 2001 - Common module: added the following |
|
files for nsk platform support: TraceFileHandlerNsk.cpp, ThreadNsk.cpp, |
|
TCPChannelNsk.cpp, SystemNsk.cpp, ServiceNsk.cpp, SelectorNsk.cpp, |
|
IPCNsk.cpp, DirNsk.cpp. Most of these files (with the exception of |
|
SystemNsk.cpp) contain stubs. The associated control files |
|
(TraceFileHandler.cpp, Thread.cpp, etc) have been updated to include |
|
nsk platform links. |
|
|
|
41. (Roger Kumpf - HP) 14 Nov 2001 - Changed the behavior of the CIMValue |
|
toString() method for CIMValues of String type. The old behavior |
|
returned an XML encoding of the String with special characters |
|
replaced by their UTF-8 equivalents. For example, a CIMValue of a"b |
|
would be returned as a"b. The new behavior just returns the |
|
String value directly with no translation. (Note that |
|
CIMValue.toXml() may still be used to get the XML-encoded value.) |
|
|
|
This change was necessary in part to correct the behavior of the |
|
repository. CreateInstance stores the instance name returned by |
|
CIMInstance.getInstanceName(), which is built using calls to |
|
CIMValue.toString(). GetInstance searches for the instance name |
|
without UTF-8 encoding of special characters. For GetInstance to |
|
be successful, CreateInstance must have stored the instance name |
|
in that same form, without special character encoding. |
|
|
|
42. (Roger Kumpf - HP) 15 Nov 2001 - Added a toXml(void) method to |
|
the CIMValue class. Eliminated improper use of CIMValue.toString(), |
|
often replacing with CIMValue.get(String&) or CIMValue.toXml(). |
|
Also added some error handling in the indication handlers. |
|
|
|
43. (Sushma Fernandes - HP) 16 Nov 2001 - Added a function |
|
localObjectPathtoXml(Array<Sint8>& out) to the CIMReference class |
|
to handle local instance path and local classpath. Modified the |
|
CIMOperationRequestDecoder to handle <LOCALCLASSPATHELEMENT ...>. |
|
Changed the CIMOperationRequestEncoder to call the localObjectPathtoXml. |
|
|
|
44. (Roger Kumpf - HP) 19 Nov 2001 - Added a CIMNamedInstance class |
|
to hold the argument to ModifyInstance and the return values |
|
from EnumerateInstances. The client and provider APIs need to |
|
be updated to use this class. |
|
|
|
45. (Sushma Fernandes - HP) 19 Nov 2001 - Added the cimuser command line |
|
source files. This CLI allows addition, modification, removal and listing |
|
of CIM users. The CLI is not linked to the main makefile as the Provider |
|
functionality is yet to be implemented. Added the function |
|
String getPassword(char* prompt) to the System.h and cpp files. |
|
|
|
46. (Nag Boranna - HP) 20 Nov 2001 - Implemented Authentication code on |
|
the server to challenge the unauthorized requests, authenticate |
|
the challenge responses, and verify the subsequent authorized requests. |
|
Implemented authentication mechanism on the Client api to send |
|
responses to the challenges from the server. Current implementation |
|
supports only 'local' authentication mechanism. |
|
|
|
47. (Roger Kumpf - HP) 20 Nov 2001 - Commited the following set of changes: |
|
|
|
- Changed the return value of EnumerateInstances from Array<CIMInstance> |
|
to Array<CIMNamedInstance> |
|
- Changed the parameter to ModifyInstance from CIMInstance to |
|
CIMNamedInstance |
|
- Added an optional PropertyList parameter to ModifyInstance |
|
- Changed all handling of PropertyList parameters to use the |
|
CIMPropertyList class instead of Array<String> |
|
|
|
Each of these changes was required to comply with the DMTF specification. |
|
|
|
These changes were made throughout the system except for in the provider |
|
API. For now, the CIMProviderHandle and CIMBaseProviderHandle hide the |
|
differences from providers, so older providers will continue to function. |
|
However, this means that clients can not yet take advantage of the added |
|
functionality. |
|
|
|
When the provider API is updated, the following changes will be visible: |
|
|
|
- Providers will get a PropertyList parameter to ModifyInstance which |
|
they are required to respect. Providers that can not process the |
|
PropertyList must throw a NOT_SUPPORTED exception whenever the |
|
list is not null. Clients can take advantage of this change by |
|
issuing a ModifyInstance request against a selected set of |
|
properties in an instance, rather than being required to replace |
|
the entire instance. |
|
|
|
- Providers will be required to return instance names along with |
|
instances in the EnumerateInstances method. Clients will receive |
|
these instance names, as the standard dictates. |
|
|
|
- Providers will receive a CIMPropertyList argument containing the |
|
PropertyList instead of an Array<String>. This change allows |
|
providers to distinguish between an empty list and a null list. |
|
|
|
Note that the repository also does not yet handle the PropertyList in |
|
ModifyInstance correctly. |
|
|
|
48. (Roger Kumpf - HP) 21 Nov 2001 - I have updated the Provider2 instance |
|
provider API to match the changes made to the EnumerateInstances and |
|
ModifyInstance operations. These changes were made to comply with |
|
the DMTF specification. |
|
|
|
The original Provider API has not been updated, and I have no |
|
plans to do so. Providers written to the original API will |
|
continue to function, but they will not have the opportunity |
|
to take advantage of the features that have been added. |
|
|
|
The significant changes to the Provider2 API are: |
|
|
|
- Providers will get a PropertyList parameter to ModifyInstance which |
|
they are required to respect. Providers that can not process the |
|
PropertyList must throw a NOT_SUPPORTED exception whenever the |
|
list is not null. Clients can take advantage of this change by |
|
issuing a ModifyInstance request against a selected set of |
|
properties in an instance, rather than being required to replace |
|
the entire instance. |
|
|
|
- Providers will get an IncludeQualifiers parameter to ModifyInstance |
|
which they are required to respect. If IncludeQualifiers is |
|
false, the qualifiers on the modified instance provided must not |
|
be used to update the instance. |
|
|
|
- Providers will be required to return instance names along with |
|
instances in the EnumerateInstances method. Clients will receive |
|
these instance names, as the standard dictates. |
|
|
|
The providers that are in the Pegasus build have all been updated. |
|
However, whenever the PropertyList is not null, the providers throw |
|
a NOT_SUPPORTED exception. |
|
|
|
49. (Rudy Schuet - Compaq) 25 NOV 2001 - To support the NSK platform, |
|
files Platform_NSK_NONSTOP_NMCPLUS.h and ConfigNsk.h were added to |
|
the Common module. File Config.h was modified to include the NSK |
|
platform and a new option PEGASUS_HAVE_NO_STD that allows compilation |
|
without the standard (std) namespace. |
|
|
|
50. (Roger Kumpf - HP) 26 Nov 2001 - Added two new configuration |
|
properties to support alternate behavior of the Pegasus repository: |
|
repositoryIsDefaultInstanceProvider and repositoryProviderName. |
|
|
|
Using the first one, the repository can be enabled/disabled as the |
|
default provider for instance (and association) operations. The default |
|
setting is "true", so the default behavior has not been changed. To |
|
disable the repository as the default instance provider, issue the |
|
following command before starting cimserver: |
|
|
|
cimconfig -s repositoryIsDefaultInstanceProvider=false -p |
|
|
|
The repositoryProviderName configuration property specifies what |
|
provider name is used to explicitly register the repository as a |
|
provider. This is necessary when the repository needs to serve |
|
instances of a class and repositoryIsDefaultInstanceProvider is set |
|
to "false". The default value is "repository". To register the |
|
repository as an instance provider for a class, add a |
|
'Provider("repository")' qualifier to the class definition. |
|
|
|
51. (Roger Kumpf - HP) 26 Nov 2001 - Added a new ServiceCIMOMHandle to |
|
pass to providers that act as services. This handle provides |
|
service providers with access to the CIMServer data structures. |
|
|
|
52. (Roger Kumpf - HP) 28 Nov 2001 - Implemented ModifyInstance in |
|
the repository so that it respects the IncludeQualifiers and |
|
PropertyList parameters. Updated SetProperty in the repository |
|
so that it uses ModifyInstance correctly. The repository now |
|
supports GetProperty and SetProperty in addition to ModifyInstance. |
|
|
|
Implemented GetProperty and SetProperty in the Dispatcher and |
|
Provider2 so that they get translated to GetInstance and |
|
ModifyInstance calls (respectively) in the provider. Providers |
|
written to the Provider2 API that correctly process the new |
|
ModifyInstance parameters will automatically support SetProperty |
|
operations. Note that GetProperty and SetProperty currently only |
|
work for String properties because of an XML encoding limitation. |
|
|
|
53. (Nag Boranna - HP, Sushma Fernandes - HP) 30 Nov 2001 - Implemented the |
|
Security components for authentication and authorization. |
|
|
|
Authentication and User Management: |
|
cimuser CLI : This CLI is used for addition, modification, removal |
|
and listing of CIM Users. The CIM user password is encrypted and stored |
|
in a file. The password file format is compatible with Apache's htpasswd |
|
generated password file. |
|
|
|
cimauth CLI implement the authorization managment functionality by letting |
|
to add/remove/list user authorizations. |
|
|
|
User Manager and User Manager Provider components implement the user |
|
management and authorization functionality. |
|
|
|
54. (Mike Brasher - BMC) 3 Dec 2001 - Added support for WQL-1. New directory |
|
under src/Pegasus/WQL which contains library and BNF. |
|
|
|
55. (Yi Zhou - HP) 03 Dec 2001 - Implemented Pegasus registration provider |
|
which does provider registration, block, unblock, and stop a provider. |
|
It also alert Subscription Service of any provider registration changes. |
|
|
--------------------------------------------------------------------------- | --------------------------------------------------------------------------- |
Version 1.1 - July 2001 Development branch | Version 1.1 - July 2001 Development branch |
Tagged as version_1_01 on 3 August 2001 (sorry should have been | Tagged as version_1_01 on 3 August 2001 (sorry should have been |