version 1.49.2.44, 2001/11/09 10:21:20
|
version 1.60, 2002/02/05 10:39:02
|
|
|
CHANGE LOG FOR PEGASUS | CHANGE LOG FOR PEGASUS |
| |
|
|
|
Version 1.07 working towards 1.1 - Started 4 Feb 2002 |
|
Started just before cutover to the new dispatcher, etc. |
|
TAG: VERSION_1_07 |
|
|
|
1. KS - Updated pegsusversion to 1.07 and tagged file. |
|
|
|
2. (Markus Mueller) 05 Feb 2002 - AIX support. |
|
|
|
------------------------------------------------------------------- |
|
Version 1.06 working towards 1.1 Started 13 December 2001 |
|
|
|
1. Merged back to Main branch. All general development will be in main branch |
|
in the future with releases in side branches. Special side developments |
|
may temporarily be in side branches. |
|
Changed cimversion to 1.06. We will do 1.1 based on functionality. |
|
|
|
2. (Karl) 18 December 2001 - Added new directory repositories where repository |
|
implementations will be kept to separate them from the |
|
repository interface defintion. Initial implementation is genericfile |
|
which is the current file based repository. |
|
|
|
Added new build variable RMREPOSITORY which is a generic MAKE command |
|
to remove an existing repository. It simply substitutes for the RMDIRHIER |
|
command at this point but we will make this a generic part of system |
|
in the future. |
|
|
|
3. (Roger Kumpf - HP) 18 Dec 2001 - Updated the CIMOperationRequestDecoder |
|
to check that all required parameters for intrinsic methods are |
|
present. If a required parameter is missing, a CIM_ERR_INVALID_PARAMETER |
|
exception is thrown. Also added checks for duplicate parameters in the |
|
intrinsic methods. If a parameter is specified more than once, a |
|
CIM_ERR_INVALID_PARAMETER exception is thrown. |
|
|
|
4. (Nag Boranna - HP) 14 Jan 2002 - Created CIMOperationRequestAuthorizer queue |
|
and moved Authorization verification code from CIMOperationRequestDecoder |
|
queue to this new queue. Modified CIMServer.cpp to create |
|
CIMOperationRequestAuthorizer queue only when authorization is enabled. |
|
Also modified CIMRequestMessagesin CIMMessage.h to include userName to make |
|
it available to the CIMOperationRequestDispatcher. |
|
|
|
5. (Mary Hinton - Jan 17, 2002) Fixed the problem with the CIMserver when it |
|
runs as a Windows service. The work thread was exiting instead of running |
|
forever. The problem was noticed when the TestClient program and CIMserver |
|
service were both running. The service wasn't accessible to the TestClient |
|
program. |
|
|
|
6. (Nitin Upasani - Jan 25, 2002) Operations on CIM_IndicationSubscription, |
|
CIM_IndicationHandlerCIMXML and CIM_IndicationFilter classes will be now processed |
|
in new queue, IndicationService which will get invoked from dispatcher. |
|
CIM_CREATE_INSTANCE_REQUEST_MESSAGE |
|
CIM_MODIFY_INSTANCE_REQUEST_MESSAGE |
|
CIM_DELETE_INSTANCE_REQUEST_MESSAGE |
|
CIM_GET_INSTANCE_REQUEST_MESSAGE |
|
CIM_ENUMERATE_INSTANCES_REQUEST_MESSAGE |
|
CIM_ENUMERATE_INSTANCE_NAMES_REQUEST_MESSAGE |
|
|
|
This new service will also take care of processing the indications on receiving |
|
CIM_PROCESS_INDICATION_REQUEST_MESSAGE. This message should come from |
|
IndicationProvider or some other mechanism which is not yet clear. |
|
|
|
IndicationService will also receive following messages from PG_ProviderRegistration |
|
when a new IndicationProvider will get registered. |
|
CIM_NOTIFY_PROVIDER_REGISTRATION_REQUEST_MESSAGE |
|
CIM_NOTIFY_PROVIDER_TERMINATION_REQUEST_MESSAGE |
|
|
|
I had also defined new Indication Provider APIs, enableIndication, disableIndication |
|
and modifyIndication with more parameters passed and eventually planning to terminate |
|
old APIs (provideIndication, cancelIndication and updateIndication). Also there is a |
|
plan to implement one more call as startIndication and will be done soon. |
|
|
|
There are three new test programs in IndicationService directory, which will create |
|
Filter, Indication and Subscription instances using IndicationService. |
|
|
|
Also modified sample IndicationProvider code with the new APIs introduced. |
|
|
|
------------------------------------------------------------------------- |
|
|
Version 1.1.1 - 3 August 2001 - Development Branch (Work in Progress) | Version 1.1.1 - 3 August 2001 - Development Branch (Work in Progress) |
current working dev branch of build | current working dev branch of build |
| |
|
--------------------------------------------------------------------------- |
|
Version 1.1 - July 2001 Development branch (Work in PRogress) |
|
|
|
1. (Mike Brasher) Fixed bug with XML generation (was not generating |
|
PARAMETER.REFERENCE constructs for references). |
|
|
|
2. (Mike Brasher) Reworked server communication into new module scheme. |
|
======= |
1. (Karl) 6 Aug - extend ToMof functions. The MOF for a class can now be | 1. (Karl) 6 Aug - extend ToMof functions. The MOF for a class can now be |
seen as part of CGIclient class displays. | seen as part of CGIclient class displays. |
| |
|
|
leading whitespace in front of commands with tabs as required | leading whitespace in front of commands with tabs as required |
in make files. | in make files. |
| |
35. (K Schopmeyer 2 Nov 2001)Temporarily moved repository back to CIM25 |
35. (K Schopmeyer) 2 Nov 2001 - Temporarily moved repository back to CIM25 |
because getting an error in 26 | because getting an error in 26 |
| |
35. (Roger Kumpf - HP) 30 Oct 2001 - Association classes have keys | 35. (Roger Kumpf - HP) 30 Oct 2001 - Association classes have keys |
|
|
init and update methods. Submitted the pegasus/mak/Buildmakefile with | init and update methods. Submitted the pegasus/mak/Buildmakefile with |
cleanbuild, rebuild and trace configuration options. | cleanbuild, rebuild and trace configuration options. |
| |
37. (Yi Zhou - HP) 05 Nov 2001 Fixed createInstance to return a CIMReference |
37. (Yi Zhou - HP) 05 Nov 2001 - Fixed createInstance to return a CIMReference |
(instanceName). | (instanceName). |
| |
38. (Roger Kumpf - HP) 08 Nov 2001 Implemented encoding/decoding of |
38. (Roger Kumpf - HP) 08 Nov 2001 - Implemented encoding/decoding of |
GetProperty/SetProperty/EnumerateInstances request/response messages. | GetProperty/SetProperty/EnumerateInstances request/response messages. |
Added encoding and decoding of PropertyList parameters on all | Added encoding and decoding of PropertyList parameters on all |
relevant intrinsic methods. | relevant intrinsic methods. |
| |
39. (Markus Mueller - IBM) 09 Nov 2001 Added Associator calls to CIMBase |
39. (Markus Mueller - IBM) 09 Nov 2001 - Added Associator calls to CIMBase |
ProviderFacade.cpp; fixed Provider unloading in CIMProviderManager.cpp | 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. |
|
|
|
56. (Rudy Schuet - Compaq) 04 Dec 2001 - Replaced _min macro in String.h |
|
and String.cpp with PEG_min. The _min macro caused problems on the |
|
NSK platform because of a duplicate definition in a standard file. |
|
|
|
57. (Carol Ann Krug Graves - HP) 04 Dec 2001 - Implemented Pegasus indication |
|
subscription service provider that serves as the instance provider for the |
|
CIM_IndicationSubscription, CIM_IndicationFilter and CIM_IndicationHandler |
|
classes (from CIM_Events27.mof). The service also takes appropriate action |
|
in response to startup, shutdown of the cimom, termination of a provider, |
|
or change in provider registration. |
|
|
|
58. (Jenny Yu - HP) 05 Dec 2001 - Implemented Pegasus Shutdown Service |
|
and the command line interface for shutting down cimom gracefully. |
|
For more information, refer to the CIMOM Shutdown working paper |
|
in pegasus/doc/WorkPapers/CIMOMShutdown.pdf. |
|
|
|
59. (Markus Mueller - IBM) 06 Dec 2001 - Implemented SSL support (Linux only). |
|
It consists the new classes SSL_Context, SSLSocket and MP_Socket defined |
|
in TLS.h. HTTPAcceptor and HTTPConnector are extended with an additional |
|
constructor to set a pointer to the server-, resp. client wide SSL_Context |
|
structure. The Socket field in HTTPConnection is substituted with an |
|
MP_Socket pointer, a class that is designed to hide the differences |
|
between Socket and SSLSocket. The MP_Socket (multipurpose socket) class |
|
is defined even in a non-ssl environment. |
|
How to use it in a Server or Client: |
|
1. Just create an SSL_Context once per Server/Client address space |
|
2. Construct every HTTPConnector/Acceptor with a pointer to this |
|
SSL_Context if you want to enable SSL; construct Connectors/Acceptors |
|
without SSL_Context for conventional connections. |
|
|
|
The Configuration data was extended with the boolean SSL property, and |
|
cimserver and TestClient now understand the -SSL, resp. -ssl flag. |
|
|
|
60. (Bapu Patil - HP) Updated makefiles to support HP-UX IA64 bits O.S. |
|
|
--------------------------------------------------------------------------- | --------------------------------------------------------------------------- |
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 |
|
|
When authentication framework is defined this component may need to be | When authentication framework is defined this component may need to be |
modified to integrate with the framework. | modified to integrate with the framework. |
| |
8. (Sushma Fernandes - HP) Removed the ltoa() function call from Tracer.cpp. |
|
Added a constant to define the maximum length of uint32. |
|
|
|
--------------------------------------------------------------------------- | --------------------------------------------------------------------------- |
Version 0.99.x (Fixes to version 0.99) in Process | Version 0.99.x (Fixes to version 0.99) in Process |
| |