1 karl 1.1 CHANGE LOG FOR PEGASUS
|
2 karl 1.59
3
4 Version 1.07 working towards 1.1 - Started 4 Feb 2002
5 Started just before cutover to the new dispatcher, etc.
6 TAG: VERSION_1_07
7
8 1. KS - Updated pegsusversion to 1.07 and tagged file.
9
10
11 -------------------------------------------------------------------
|
12 karl 1.52 Version 1.06 working towards 1.1 Started 13 December 2001
13
14 1. Merged back to Main branch. All general development will be in main branch
15 in the future with releases in side branches. Special side developments
16 may temporarily be in side branches.
17 Changed cimversion to 1.06. We will do 1.1 based on functionality.
|
18 karl 1.53
19 2. (Karl) 18 December 2001 - Added new directory repositories where repository
20 implementations will be kept to separate them from the
21 repository interface defintion. Initial implementation is genericfile
22 which is the current file based repository.
23
24 Added new build variable RMREPOSITORY which is a generic MAKE command
25 to remove an existing repository. It simply substitutes for the RMDIRHIER
26 command at this point but we will make this a generic part of system
27 in the future.
|
28 karl 1.52
|
29 kumpf 1.54 3. (Roger Kumpf - HP) 18 Dec 2001 - Updated the CIMOperationRequestDecoder
30 to check that all required parameters for intrinsic methods are
31 present. If a required parameter is missing, a CIM_ERR_INVALID_PARAMETER
32 exception is thrown. Also added checks for duplicate parameters in the
33 intrinsic methods. If a parameter is specified more than once, a
34 CIM_ERR_INVALID_PARAMETER exception is thrown.
35
|
36 kumpf 1.57 4. (Nag Boranna - HP) 14 Jan 2002 - Created CIMOperationRequestAuthorizer queue
|
37 kumpf 1.55 and moved Authorization verification code from CIMOperationRequestDecoder
38 queue to this new queue. Modified CIMServer.cpp to create
39 CIMOperationRequestAuthorizer queue only when authorization is enabled.
40 Also modified CIMRequestMessagesin CIMMessage.h to include userName to make
41 it available to the CIMOperationRequestDispatcher.
42
|
43 kumpf 1.57 5. (Mary Hinton - Jan 17, 2002) Fixed the problem with the CIMserver when it
|
44 mary 1.56 runs as a Windows service. The work thread was exiting instead of running
45 forever. The problem was noticed when the TestClient program and CIMserver
46 service were both running. The service wasn't accessible to the TestClient
47 program.
48
|
49 kumpf 1.58 6. (Nitin Upasani - Jan 25, 2002) Operations on CIM_IndicationSubscription,
50 CIM_IndicationHandlerCIMXML and CIM_IndicationFilter classes will be now processed
51 in new queue, IndicationService which will get invoked from dispatcher.
52 CIM_CREATE_INSTANCE_REQUEST_MESSAGE
53 CIM_MODIFY_INSTANCE_REQUEST_MESSAGE
54 CIM_DELETE_INSTANCE_REQUEST_MESSAGE
55 CIM_GET_INSTANCE_REQUEST_MESSAGE
56 CIM_ENUMERATE_INSTANCES_REQUEST_MESSAGE
57 CIM_ENUMERATE_INSTANCE_NAMES_REQUEST_MESSAGE
58
59 This new service will also take care of processing the indications on receiving
60 CIM_PROCESS_INDICATION_REQUEST_MESSAGE. This message should come from
61 IndicationProvider or some other mechanism which is not yet clear.
62
63 IndicationService will also receive following messages from PG_ProviderRegistration
64 when a new IndicationProvider will get registered.
65 CIM_NOTIFY_PROVIDER_REGISTRATION_REQUEST_MESSAGE
66 CIM_NOTIFY_PROVIDER_TERMINATION_REQUEST_MESSAGE
67
68 I had also defined new Indication Provider APIs, enableIndication, disableIndication
69 and modifyIndication with more parameters passed and eventually planning to terminate
70 kumpf 1.58 old APIs (provideIndication, cancelIndication and updateIndication). Also there is a
71 plan to implement one more call as startIndication and will be done soon.
72
73 There are three new test programs in IndicationService directory, which will create
74 Filter, Indication and Subscription instances using IndicationService.
75
76 Also modified sample IndicationProvider code with the new APIs introduced.
|
77 mary 1.56
|
78 karl 1.52 -------------------------------------------------------------------------
|
79 karl 1.1
|
80 mike 1.51 Version 1.1.1 - 3 August 2001 - Development Branch (Work in Progress)
81 current working dev branch of build
|
82 mike 1.36
|
83 karl 1.49 ---------------------------------------------------------------------------
84 Version 1.1 - July 2001 Development branch (Work in PRogress)
85
|
86 mike 1.50 1. (Mike Brasher) Fixed bug with XML generation (was not generating
87 PARAMETER.REFERENCE constructs for references).
88
89 2. (Mike Brasher) Reworked server communication into new module scheme.
|
90 mike 1.51 =======
91 1. (Karl) 6 Aug - extend ToMof functions. The MOF for a class can now be
92 seen as part of CGIclient class displays.
93
94 2. (Karl) 7 Aug - Update CIM25 Schema from the "preliminary" version
95 to the final version in Schemas\CIM25. This included minor
96 corrections, etc and a couple of file changes. This is the
97 official final CIM 25 schema relesed by the DMTF. This change
98 should not affect any current work.
99 3. (Karl) 7 Aug 2001 - Added CIM Schema 2.6 (preliminary) to the Schemas
100 directorys. Note however that today the make repository still
101 loads the 2.5 schema.
102
103 4. (Karl) 8 Aug 2001 - Change cimmofparser.cpp to put header and trailers
104 on XML output.
105
106 5. (Denise Eckstein - HP) 13 Aug 2001 - Fixed an HP-UX compile problem
107 in various src/utils/mu commands (MoveCmd.cpp, PrependCmd.cpp, RmCmd.cpp,
108 RmDirHierCmd.cpp, StripCmd.cpp, TouchCmd.cpp). aCC scopes variable
109 declarations in for loop initializers outside the loop, so multiple
110 "for (int i=0; i<10; i++);" statements cause a compile error.
111 mike 1.51
112 6. (Nag Boranna - HP) 15 Aug 2001 - Modified Config framework to remove
113 dependency on the config files at the start of the cimserver. Now the
114 cimserver will use in-memory default values in the absence of config files
115 and command line options. Fixed a few defects in the config framework that
116 were causing cimom to crash under certain conditions. Changed the config
117 provider class name to 'PG_ConfigSetting' in the mof file and modified
118 provider implementation files accordingly. Also modified the config CLI
119 to show user friendly error/status messages.
120
121 7. (Carol Ann Krug Graves - HP) 16 Aug 2001 - Fixed a bug in wbemexec CLI
122 (reported incorrect line number on error in XML request if input redirected).
123 Enhanced the -d debug command line option to allow more flexibility in
124 generating debug output.
125
126 8. Karl 17 Aug 2001) - Extended CIMMOF compiler to put pegasus comment line in
127 xml when it generates xml output.
128
129 9. (Roger Kumpf - HP) 20 Aug 2001 - Combine instances of each class into
130 a common file to reduce the number of files required by the default
131 repository implementation.
132 mike 1.51
133 10. (Mike Brasher) - Fixed minor bug in repository implementation.
134
135 11. (Mike Brasher) - Committed fix to missing PARAMETER.REFERENCE XML element.
136
137 12. (Mike Brasher) - Committed rework of server into queue approach.
138
139 13. (Mike Brasher) - New webserver and webclient examples.
140
141 14. (Sushma Fernandes - HP) 21 Aug 2001 - Fixed a bug that was creating an empty file when trace was not enabled. Changed the Tracer test program's executable file name to TracerTest instead of Tracer.
142
143 15. (Mike Brasher) - Initial work on refactorying client into modules.
144 CIMOperationRequestEncoder and partial CIMOperationResponseDecoder.
145
146 16. (Mike Brasher) - queue-based clients now complete.
147
148 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.
149
150 18. (Markus Mueller - IBM) 13 Sep 2001 - Initial support for z/OS on z/Series, the successor of OS/390 and MVS.
151
152 19. (Warren Otsuka - HP) 14 Sep 2001 - Implementation of servlet web server
153 mike 1.51 interface to CIMServer.This is for the PEGASUS CIM Server to coexist with
154 a web server. See doc/Servlet for more information.
155
156 20. (Yi Zhou - HP) 20 Sep 2001 - Added tracing in files
157 CIMOperationRequestDecoder.cpp and CIMOperationResponseEncoder.cpp so XML
158 input and output can be written in a trace file.
159
160 21. (Markus Mueller - IBM) 25 Sep 2001 - Initial Signal Handler support
161 Created new class SignalHandler that allow registration, activation and
162 deactivation of signal handler functions (Linux only !).
163
164 22. (Nitin Upasani - HP) 27 Sep 2001 - Modification of ExportServer and
165 ExportClient to support ExportIndication. DisplayConsumer, a sample
166 consumer is added which will consume (by displaying on screen) the
167 indication exported by CIMExportRequestDispatcher. This complete
168 implementation is based on CIM_EXPORT_INDICATION_REQUEST and
169 RESPONSE messages. CIMMessage.h, Message.cpp and Message.h files
170 are modified to implement above messages.
171
172 XmlIndicationDispatcher test program is modified to test complete
173 operation. It now creates a consumer, handler and indication
174 mike 1.51 instance and then calls CIMExportRequestDispatcher to export the
175 indication to consumer. This program needs
176 src/Pegasus/Server/tests/XmlIndicationDispatcher/TestSoftwarePkg.mof
177 and Schemas/Pegasus/PG_ConsumerRegistration.mof files to be loaded
178 in the repository to complete the test successfully. This test
179 program also needs Handler qualifier defined in repository and
180 modify CIM_Event25.mof for CIM_IndicationHandlerXMLHTTP class as
181 below:
182
183 //====================================================================
184 // CIM_IndicationHandlerXMLHTTP
185 //====================================================================
186 [Description (
187 "CIM_IndicationHandlerXMLHTTP describes the destination for "
188 "Indications to be delivered via HTTP, using a cimXML "
189 "representation."), Handler ("CIMxmlIndicationHandler") ]
190
191 23. (Sushma Fernandes - HP) 27 Sep 2001 - Added tracing code in
192 ProviderTable.cpp and SystemUnix.cpp to indicate progress of loading
193 a provider library.
194
195 mike 1.51 24. (Nitin Upasani - HP) 05 Oct 2001 - implementation of InvokeMethod
196 interface for the provider. InvokeMethod currently uses CIMValue as
197 type for inParameters and outParameters, which are unable to give
198 information about param name, type and value. This should be changed
199 to CIMParamValue which will help providers to know details of the
200 parameter name and type along with value passed through InvoleMethod
201 call. Current implementation uses CIMParamValue as parameters while
202 travelling through message queues and converts it back to array of
203 CIMValue before calling Provider API (which needs to be changed
204 later).
205
206 Also added are two test programs:
207
208 src/Pegasus/Common/tests/ParamValue - which demonstrate use of
209 CIMParamValue class.
210
211 src/Pegasus/Client/tests/InvokeMethod - which makes call to
212 InvokeMethod and displays the return value. Current
213 implementation assumes that provider had returned true value
214 and outParameters (which are now hard coded in
215 CIMOperationRequestDispatcher to implement functionality)
216 mike 1.51 which are passed as response of InvokeMethod to client.
217
218 25. (Nag Boranna - HP) 05 Oct 2001 - Added first level implementation of
219 authentication to the pegasus code. Created an Authentication Manager
220 and authenticator interfaces. The file based local authentication
221 module has been modified to implement the local authenticator
222 interface, to generate the challenge for the unauthorized requests
223 and to verify the authentication.
224
225 A skeleton program has been created for the Basic Authenticator.
226 This code is in the Security/Authentication directory which is not
227 yet linked into the build.
228
229 26. (Nitin Upasani - HP) 08 Oct 2001 - Changes to Operation and Export
230 Decoders. Earlier decoders were sending requests and responses
231 before finishing complete Xml parse. This was prone to send
232 request/response even the Xml is wrong after the MethodCall.
233 New changes collects the Message* as return value from the
234 appropriate functions while parsing the Xml and sends on
235 _outputQueue only when Xml is parsed successfully.
236
237 mike 1.51 27. (Nag Boranna - HP) 11 Oct 2001 - Modified ProviderModule.cpp to
238 fix the problem with constructing provider name and loading the
239 providers for unix platforms. Also moved the shared library name
240 construction (appending .sl or .so) from
241 CIMOperationRequestDispatcher.cpp/SystemUnix.cpp to
242 ProviderModule.cpp and included it in a method that returns
243 provider file path name.
244
245 28. (Nitin Upasani - HP) 12 Oct 2001 - Implementation of SNMP Indication
246 Handler. This handler extracts MappingStrings qualifier from class
247 definition and converts it into SNMP specific trap data. The trap
248 structure is defined in a abstract class in snmpDeliverTrap.h file.
249 Every one has his or her own SNMP agent, which will talk with master
250 agent to deliver the trap or may have some other mechanism.
251 Extending snmpDeliverTrap class and deliverTrap method will help to
252 implement specific trap delivery mechanism.
253
254 29. (Yi Zhou - HP) 09 Oct 2001 - Changed cimconfig to allow setting property to
255 be NULL. Also, if -u -p specified in the cimconfig, instead of updating
256 property value to be default in the plan file, remove the property from the
257 plan file. Converted ConfigSettingProvider to use provider2 library.
258 mike 1.51
259 30. (Sushma Fernandes - HP) 24 Oct 2001 - Added an interface to the tracer
260 to allow tracing of a specific number of bytes in a given
261 string. Also modified the XmlIO trace code to use the new interface.
262 Changed the config file defaults for tracing.
263
264 31. (Rudy Schuet - Compaq) 28 Oct 2001 - Added "make" support for Compaq
265 NonStop platform (NSK) in directory pegasus/mak. The following files
266 were added: platform_NSK_NONSTOP_NMCPLUS.mak, objects-nsk.mak,
267 library-nsk.mak, config-nsk.mak, program-nsk.mak, program-windows.mak,
268 program-unix.mak. The original program.mak which previously covered
269 all platforms was split into platform-specific make files, and now
270 only contains conditionals. Files config.mak, objects.mak, and
271 library.mak were changed to include the NSK files.
272 File platform_NSK_NONSTOP_NMCPLUS.mak includes config-nsk.mak.
273
274 32. (Jenny Yu - HP) 29 Oct 2001 - Fixed CIMReference constructor to allow
275 commas (,) in the string values of key properties.
276
277 33. (Karl Schopmeyer) 30 October 2001- Move the repository load to CIM schema 2.6
278
279 mike 1.51 34. (Rudy Schuet - Compaq) 30 Oct 2001 - Fixed a problem in
280 pegasus/mak/program-windows.mak that prevented program builds for
281 the windows platform (related to change from 28 Oct). Replaced
282 leading whitespace in front of commands with tabs as required
283 in make files.
284
285 35. (K Schopmeyer) 2 Nov 2001 - Temporarily moved repository back to CIM25
286 because getting an error in 26
287
288 35. (Roger Kumpf - HP) 30 Oct 2001 - Association classes have keys
289 whose types are references. These reference values must be
290 treated specially in the XML encoding, using the VALUE.REFERENCE
291 tag structure.
292
293 Pegasus had been passing reference values simply as String values.
294 For example, EnumerateInstanceNames returned KEYVALUEs of string
295 type rather than VALUE.REFERENCEs.
296
297 I've modified the XmlReader::getKeyBindingElement() and
298 CIMReference::instanceNameToXml() methods to read and write the
299 XML in the proper format. However, making that change required
300 mike 1.51 that a CIMReference object be able to distinguish between a key
301 of String type and a key of reference type.
302
303 I've modified the String format of CIMReferences slightly to
304 allow efficient processing of references whose keys are also of
305 reference type. The "official" form uses the same encoding for
306 key values of String type and of reference type, and so it
307 would be necessary to retrieve the class definition and look up
308 the types of the key properties to determine how to treat the
309 key values. This is clearly too inefficient for internal
310 transformations between CIMReferences and String values.
311
312 The workaround is to encode a 'R' at the beginning of the value
313 for a key of reference type (before the opening '"'). This allows
314 the parser to know a priori whether the key is of String or
315 reference type.
316
317 In this example:
318
319 MyClass.Key1="StringValue",Key2=R"RefClass.KeyA="StringA",KeyB=10"
320
321 mike 1.51 Property Key1 of class MyClass is of String type, and so it gets
322 the usual encoding. Key2 is a reference property, so the extra 'R'
323 is inserted before its encoded value. Note that this algorithm is
324 recursive, such that RefClass could include KeyC of reference type,
325 which would also get encoded with the 'R' notation.
326
327 The toString() method inserts the 'R' to provide symmetry. A new
328 KeyBinding type (REFERENCE) has been defined to denote keys in a
329 CIMReference that are of reference type. This KeyBinding type must
330 be used appropriately for CIMReference::ttoString() to behave
331 correctly.
332
333 The files that have been modified to make this change are
334 CIMReference.h, CIMReference.cpp, and CIMInstanceRep.cpp.
335
336 A result of this change is that instances names in the instance
337 repository will include this extra 'R' character. Thus, you will
338 need to repopulate your repository when you download the latest
339 CIMOM version.
340
341 Note that for user-facing uses of the String encoding of instance
342 mike 1.51 names (such as might appear in MOF for static association
343 instances or in the CGI client), this solution is non-standard and
344 therefore unacceptable. It is likely that these points will need
345 to process the more expensive operation of retrieving the class
346 definition to determine the key property types.
347
348 36. (Sushma Fernandes - HP) Modified tracer to return invalid components
349 in case of error in setting trace components. Modified the property owner
350 init and update methods. Submitted the pegasus/mak/Buildmakefile with
351 cleanbuild, rebuild and trace configuration options.
352
353 37. (Yi Zhou - HP) 05 Nov 2001 - Fixed createInstance to return a CIMReference
354 (instanceName).
355
356 38. (Roger Kumpf - HP) 08 Nov 2001 - Implemented encoding/decoding of
357 GetProperty/SetProperty/EnumerateInstances request/response messages.
358 Added encoding and decoding of PropertyList parameters on all
359 relevant intrinsic methods.
360
361 39. (Markus Mueller - IBM) 09 Nov 2001 - Added Associator calls to CIMBase
362 ProviderFacade.cpp; fixed Provider unloading in CIMProviderManager.cpp
363 mike 1.51
364 40. (Rudy Schuet - Compaq) 12 Nov 2001 - Common module: added the following
365 files for nsk platform support: TraceFileHandlerNsk.cpp, ThreadNsk.cpp,
366 TCPChannelNsk.cpp, SystemNsk.cpp, ServiceNsk.cpp, SelectorNsk.cpp,
367 IPCNsk.cpp, DirNsk.cpp. Most of these files (with the exception of
368 SystemNsk.cpp) contain stubs. The associated control files
369 (TraceFileHandler.cpp, Thread.cpp, etc) have been updated to include
370 nsk platform links.
371
372 41. (Roger Kumpf - HP) 14 Nov 2001 - Changed the behavior of the CIMValue
373 toString() method for CIMValues of String type. The old behavior
374 returned an XML encoding of the String with special characters
375 replaced by their UTF-8 equivalents. For example, a CIMValue of a"b
376 would be returned as a"b. The new behavior just returns the
377 String value directly with no translation. (Note that
378 CIMValue.toXml() may still be used to get the XML-encoded value.)
379
380 This change was necessary in part to correct the behavior of the
381 repository. CreateInstance stores the instance name returned by
382 CIMInstance.getInstanceName(), which is built using calls to
383 CIMValue.toString(). GetInstance searches for the instance name
384 mike 1.51 without UTF-8 encoding of special characters. For GetInstance to
385 be successful, CreateInstance must have stored the instance name
386 in that same form, without special character encoding.
387
388 42. (Roger Kumpf - HP) 15 Nov 2001 - Added a toXml(void) method to
389 the CIMValue class. Eliminated improper use of CIMValue.toString(),
390 often replacing with CIMValue.get(String&) or CIMValue.toXml().
391 Also added some error handling in the indication handlers.
392
393 43. (Sushma Fernandes - HP) 16 Nov 2001 - Added a function
394 localObjectPathtoXml(Array<Sint8>& out) to the CIMReference class
395 to handle local instance path and local classpath. Modified the
396 CIMOperationRequestDecoder to handle <LOCALCLASSPATHELEMENT ...>.
397 Changed the CIMOperationRequestEncoder to call the localObjectPathtoXml.
398
399 44. (Roger Kumpf - HP) 19 Nov 2001 - Added a CIMNamedInstance class
400 to hold the argument to ModifyInstance and the return values
401 from EnumerateInstances. The client and provider APIs need to
402 be updated to use this class.
403
404 45. (Sushma Fernandes - HP) 19 Nov 2001 - Added the cimuser command line
405 mike 1.51 source files. This CLI allows addition, modification, removal and listing
406 of CIM users. The CLI is not linked to the main makefile as the Provider
407 functionality is yet to be implemented. Added the function
408 String getPassword(char* prompt) to the System.h and cpp files.
409
410 46. (Nag Boranna - HP) 20 Nov 2001 - Implemented Authentication code on
411 the server to challenge the unauthorized requests, authenticate
412 the challenge responses, and verify the subsequent authorized requests.
413 Implemented authentication mechanism on the Client api to send
414 responses to the challenges from the server. Current implementation
415 supports only 'local' authentication mechanism.
416
417 47. (Roger Kumpf - HP) 20 Nov 2001 - Commited the following set of changes:
418
419 - Changed the return value of EnumerateInstances from Array<CIMInstance>
420 to Array<CIMNamedInstance>
421 - Changed the parameter to ModifyInstance from CIMInstance to
422 CIMNamedInstance
423 - Added an optional PropertyList parameter to ModifyInstance
424 - Changed all handling of PropertyList parameters to use the
425 CIMPropertyList class instead of Array<String>
426 mike 1.51
427 Each of these changes was required to comply with the DMTF specification.
428
429 These changes were made throughout the system except for in the provider
430 API. For now, the CIMProviderHandle and CIMBaseProviderHandle hide the
431 differences from providers, so older providers will continue to function.
432 However, this means that clients can not yet take advantage of the added
433 functionality.
434
435 When the provider API is updated, the following changes will be visible:
436
437 - Providers will get a PropertyList parameter to ModifyInstance which
438 they are required to respect. Providers that can not process the
439 PropertyList must throw a NOT_SUPPORTED exception whenever the
440 list is not null. Clients can take advantage of this change by
441 issuing a ModifyInstance request against a selected set of
442 properties in an instance, rather than being required to replace
443 the entire instance.
444
445 - Providers will be required to return instance names along with
446 instances in the EnumerateInstances method. Clients will receive
447 mike 1.51 these instance names, as the standard dictates.
448
449 - Providers will receive a CIMPropertyList argument containing the
450 PropertyList instead of an Array<String>. This change allows
451 providers to distinguish between an empty list and a null list.
452
453 Note that the repository also does not yet handle the PropertyList in
454 ModifyInstance correctly.
455
456 48. (Roger Kumpf - HP) 21 Nov 2001 - I have updated the Provider2 instance
457 provider API to match the changes made to the EnumerateInstances and
458 ModifyInstance operations. These changes were made to comply with
459 the DMTF specification.
460
461 The original Provider API has not been updated, and I have no
462 plans to do so. Providers written to the original API will
463 continue to function, but they will not have the opportunity
464 to take advantage of the features that have been added.
465
466 The significant changes to the Provider2 API are:
467
468 mike 1.51 - Providers will get a PropertyList parameter to ModifyInstance which
469 they are required to respect. Providers that can not process the
470 PropertyList must throw a NOT_SUPPORTED exception whenever the
471 list is not null. Clients can take advantage of this change by
472 issuing a ModifyInstance request against a selected set of
473 properties in an instance, rather than being required to replace
474 the entire instance.
475
476 - Providers will get an IncludeQualifiers parameter to ModifyInstance
477 which they are required to respect. If IncludeQualifiers is
478 false, the qualifiers on the modified instance provided must not
479 be used to update the instance.
480
481 - Providers will be required to return instance names along with
482 instances in the EnumerateInstances method. Clients will receive
483 these instance names, as the standard dictates.
484
485 The providers that are in the Pegasus build have all been updated.
486 However, whenever the PropertyList is not null, the providers throw
487 a NOT_SUPPORTED exception.
488
489 mike 1.51 49. (Rudy Schuet - Compaq) 25 NOV 2001 - To support the NSK platform,
490 files Platform_NSK_NONSTOP_NMCPLUS.h and ConfigNsk.h were added to
491 the Common module. File Config.h was modified to include the NSK
492 platform and a new option PEGASUS_HAVE_NO_STD that allows compilation
493 without the standard (std) namespace.
494
495 50. (Roger Kumpf - HP) 26 Nov 2001 - Added two new configuration
496 properties to support alternate behavior of the Pegasus repository:
497 repositoryIsDefaultInstanceProvider and repositoryProviderName.
498
499 Using the first one, the repository can be enabled/disabled as the
500 default provider for instance (and association) operations. The default
501 setting is "true", so the default behavior has not been changed. To
502 disable the repository as the default instance provider, issue the
503 following command before starting cimserver:
504
505 cimconfig -s repositoryIsDefaultInstanceProvider=false -p
506
507 The repositoryProviderName configuration property specifies what
508 provider name is used to explicitly register the repository as a
509 provider. This is necessary when the repository needs to serve
510 mike 1.51 instances of a class and repositoryIsDefaultInstanceProvider is set
511 to "false". The default value is "repository". To register the
512 repository as an instance provider for a class, add a
513 'Provider("repository")' qualifier to the class definition.
514
515 51. (Roger Kumpf - HP) 26 Nov 2001 - Added a new ServiceCIMOMHandle to
516 pass to providers that act as services. This handle provides
517 service providers with access to the CIMServer data structures.
518
519 52. (Roger Kumpf - HP) 28 Nov 2001 - Implemented ModifyInstance in
520 the repository so that it respects the IncludeQualifiers and
521 PropertyList parameters. Updated SetProperty in the repository
522 so that it uses ModifyInstance correctly. The repository now
523 supports GetProperty and SetProperty in addition to ModifyInstance.
524
525 Implemented GetProperty and SetProperty in the Dispatcher and
526 Provider2 so that they get translated to GetInstance and
527 ModifyInstance calls (respectively) in the provider. Providers
528 written to the Provider2 API that correctly process the new
529 ModifyInstance parameters will automatically support SetProperty
530 operations. Note that GetProperty and SetProperty currently only
531 mike 1.51 work for String properties because of an XML encoding limitation.
532
533 53. (Nag Boranna - HP, Sushma Fernandes - HP) 30 Nov 2001 - Implemented the
534 Security components for authentication and authorization.
535
536 Authentication and User Management:
537 cimuser CLI : This CLI is used for addition, modification, removal
538 and listing of CIM Users. The CIM user password is encrypted and stored
539 in a file. The password file format is compatible with Apache's htpasswd
540 generated password file.
541
542 cimauth CLI implement the authorization managment functionality by letting
543 to add/remove/list user authorizations.
544
545 User Manager and User Manager Provider components implement the user
546 management and authorization functionality.
547
548 54. (Mike Brasher - BMC) 3 Dec 2001 - Added support for WQL-1. New directory
549 under src/Pegasus/WQL which contains library and BNF.
550
551 55. (Yi Zhou - HP) 03 Dec 2001 - Implemented Pegasus registration provider
552 mike 1.51 which does provider registration, block, unblock, and stop a provider.
553 It also alert Subscription Service of any provider registration changes.
554
555 56. (Rudy Schuet - Compaq) 04 Dec 2001 - Replaced _min macro in String.h
556 and String.cpp with PEG_min. The _min macro caused problems on the
557 NSK platform because of a duplicate definition in a standard file.
558
559 57. (Carol Ann Krug Graves - HP) 04 Dec 2001 - Implemented Pegasus indication
560 subscription service provider that serves as the instance provider for the
561 CIM_IndicationSubscription, CIM_IndicationFilter and CIM_IndicationHandler
562 classes (from CIM_Events27.mof). The service also takes appropriate action
563 in response to startup, shutdown of the cimom, termination of a provider,
564 or change in provider registration.
565
566 58. (Jenny Yu - HP) 05 Dec 2001 - Implemented Pegasus Shutdown Service
567 and the command line interface for shutting down cimom gracefully.
568 For more information, refer to the CIMOM Shutdown working paper
569 in pegasus/doc/WorkPapers/CIMOMShutdown.pdf.
570
571 59. (Markus Mueller - IBM) 06 Dec 2001 - Implemented SSL support (Linux only).
572 It consists the new classes SSL_Context, SSLSocket and MP_Socket defined
573 mike 1.51 in TLS.h. HTTPAcceptor and HTTPConnector are extended with an additional
574 constructor to set a pointer to the server-, resp. client wide SSL_Context
575 structure. The Socket field in HTTPConnection is substituted with an
576 MP_Socket pointer, a class that is designed to hide the differences
577 between Socket and SSLSocket. The MP_Socket (multipurpose socket) class
578 is defined even in a non-ssl environment.
579 How to use it in a Server or Client:
580 1. Just create an SSL_Context once per Server/Client address space
581 2. Construct every HTTPConnector/Acceptor with a pointer to this
582 SSL_Context if you want to enable SSL; construct Connectors/Acceptors
583 without SSL_Context for conventional connections.
|
584 mike 1.50
|
585 mike 1.51 The Configuration data was extended with the boolean SSL property, and
586 cimserver and TestClient now understand the -SSL, resp. -ssl flag.
587
588 60. (Bapu Patil - HP) Updated makefiles to support HP-UX IA64 bits O.S.
589
590 ---------------------------------------------------------------------------
591 Version 1.1 - July 2001 Development branch
592 Tagged as version_1_01 on 3 August 2001 (sorry should have been
593 1.1
594
595 1. (Nitin Upasani - HP) Implementation of handleIndication() to deliver
596 indication by defining IndicationDispatcher, HandlerTable, CIMHandler
597 and ExportClient classes. the indication.
598
599 Also implemented CIMxmlIndicationHandler and sendmailIndicationHandler to
600 make the delivery of indications over Xml-HTTP and email respectively.
601
602 Provided examples for HandlerTable, XmlIndicationDelivery and
603 SendMailIndicationDelivery to support this implementation.
604
605 2. (Markus Mueller - IBM) Implementation of a Linux specific threading
606 mike 1.51 library and a thread-safe message queue (first stage). Classes defined
607 are Mutex, Condition, Semaphore, AtomicInt, ReadWriteSem, cleanup_handler
608 and SimpleThread.
609
610 3. (Carol Ann Krug Graves - HP) Implementation of wbemexec CLI. Please refer
611 to the man page in pegasus/src/Clients/wbemexec/doc/wbemexec.html for more
612 information on using wbemexec. A simple test script is included. Please
613 see pegasus/src/Clients/wbemexec/tests/readme for information on running
614 the test script.
615
616 4. (Sushma Fernandes - HP) Implementation of Trace Framework. Please
617 refer to the documentation in src/Pegasus/Common/doc/TracingDevGuide.pdf
618 and
619 src/Pegasus/Common/doc/TracingUserGuide.pdf for more information on using
620 the Trace framework. Classes defined are src/Pegasus/Common/Tracer.cpp and
621 src/Pegasus/Common/TraceFileHandler.cpp.
622
623 5. (Nag Boranna - HP) Implementation of Config Framework, Config Provider and
624 Config CLI. Please refer to the documentation
625 in pegasus/doc/WorkPapers/CIMOMConfigurationWorkPaper.pdf and the man page
626 in pegasus/src/Clients/cimconfig/doc/cimconfig.html for more information on
627 mike 1.51 using the config framework and cimconfig CLI. Make sure to load the config
628 mof (src/gmake config) before starting the cimserver. A simple test script
629 is included. Please see pegasus/src/Clients/wbemexec/tests/readme for
630 information on running the test script.
631
632 6. (Karl Schopmeyer 31 July 2001) - Add toMof functions to the CIM objects
633 (changed the H and CPP files for the major CIM objects. These
634 functions generate CIM MOF output for the objects.
635
636 7. (Bapu Patil - HP) Implementation of Local Channel Authentication. Local
637 Authentication provides security mechanism to authenticates CIM clients
638 that
639 connect to CIM Server on the same system without having to specify a
640 password.
641 Please refer to "doc/LocalCIMSecurity.pdf" for more information on design.
642 This component only works on unix and it's not linked in with the main
643 build.
644 When authentication framework is defined this component may need to be
645 modified to integrate with the framework.
|
646 karl 1.49
647 ---------------------------------------------------------------------------
648 Version 0.99.x (Fixes to version 0.99) in Process
|
649 mike 1.51
|
650 karl 1.49 NOTE: Please do not input anything to this branch except for critical
651 fixes. This is, in effect, 1.0 and we do not want to use it for
652 development.
653
654 ----------------------------------------------------------------------------
655
656 Version 0.98.0 - Work in progress (This number skipped)
|
657 karl 1.48 Version -.99.0 - Tagged as version 0.99,17 July 8:00 am - KS
|
658 mike 1.36
|
659 karl 1.38 1. (Mike Brasher) Added support for class association operations
|
660 mike 1.37 (references(), associators(), referenceNames(), associatorNames()).
661
|
662 kumpf 1.39 2. (Jenny Yu - HP) Fixed problem in CGIClient.cpp to handle double quotes
663 in the HTML URL reference for passing instance names.
664
|
665 mike 1.41 3. (Mike Brasher) Mass substitution to prepend CIM_ERR to CIM Status Codes.
666
667 4. (Mike Brasher) Added CIM Message types in preparation for qeueing.
668
|
669 kumpf 1.40 3. (Denise E. - HP) HP-UX specific changes to lslp-perl-linux,h and slp.h to
670 allow slp to compile.
671
|
672 mike 1.42 4. (Mike Brasher) - Finalized CIM messages.
673
674 5. (Mike Brasher) - Added queue ids concept (using hash table which maps
675 ids to queue pointers).
676
|
677 mike 1.43 6. (Mike Brasher) - Started integration of message queues with ServerHandler
678 and Dispatcher.
679
|
680 karl 1.48 7. (Chip Vincent) - Update Provider2 interfaces. Made changes to Dispatcher
681 and
682 CIMProvider to support both interfaces. Added CIMOMHandle and sample
|
683 chip 1.44 ResponseHandler for Provider2 interface.
|
684 mike 1.45
685 8. (Mike Brasher) - Replaced dispatcher with a queue-based dispatcher.
686
687 9. (Mike Brasher) - Retrofited CIMOMHandle to be queue-based.
688
|
689 mike 1.46 10. (Mike Brasher) - Changed CIMOMHandle to carry repository pointer.
690
|
691 mike 1.47 11. (Mike Brasher) - Ported to TRU64.
692
693 12. (Mike Brasher) - Fixed compiler error on Linux.
694
|
695 karl 1.38 ------------------------------------------------------------------------------
696 --
|
697 mike 1.26
|
698 karl 1.35 Version 0.97.4 - Tag Created for 0.97.4 and snapshot 7 July 2001
|
699 karl 1.16
700 1. Deamonizaiton added to CIMServer.cpp by Mike Day. This includes code bothe
701 for NT and Linux platforms.
|
702 mike 1.26
|
703 karl 1.17 2. KS Changed the namespace cimv20 to cimv2 and the default port from 888 to
704 5988.
705 NOTE: 5988 is now the officially recognized preferred port for a CIMServer by
706 the DMTF.
|
707 mike 1.26
|
708 karl 1.17 3. KS Corrected some errors found in interoperability testing during the DMTF
709 Fusion event. THis included a) extended the test for end of HTTP header from
710 CR/LF/CR/LF to also allow LF/LF. Not strictly legal but widely used. b).
711 Extended the HTTP message ID to allow for non-numeric message IDs.
|
712 mike 1.26
|
713 bob 1.18 4. Broke out RepositoryDeclContext class from Repository/CIMRepository.cpp
714 and created RepositoryDeclContext.{cpp,h}. This is the first step in
715 revamping the compiler to work independently of the repository (grb).
|
716 mike 1.26
|
717 bob 1.19 5. Created new makefile Compiler/Makefile.grammar and modified
718 Compiler/Makefile; and added cimmof_tab.{cpp,h} and cimmof_lex.cpp.
719 Now when you build normally, you will get the committed grammar and parser
720 files instead of generating your own for a particular platform. This should
721 prevent back-level lex and yacc implementations from generating troublesome
722 code. The committed files are generated from flex 2.5.4 and bison 1,28.
|
723 bob 1.20 (grb)
|
724 mike 1.26
|
725 bob 1.20 6. Added Compiler/compilerDeclContext.{cpp,h} and makefile changes.
726 This change paves the way for upcoming changes that will allow the compiler
727 to work indepently of the repository. (grb)
|
728 mike 1.26
|
729 karl 1.21 7. Extend testclient (clients/testclient) tests and functions. ks 19 June 2001
|
730 mike 1.26
|
731 karl 1.25 8. CV added const to CIMOperations modifyInstance, createInstance,
732 modifyClass,
|
733 chip 1.22 createClass to protect caller's object.
|
734 mike 1.26
|
735 karl 1.25 9. CV added CIMQueryProvider and CIMAssociationProvider to the Provider2
736 directory. These
737 interfaces allow very smart providers to perform advances operations.
738 CIMProviderStub has
|
739 chip 1.23 been updated to support the new interfaces. Needs testing.
|
740 mike 1.26
|
741 sage 1.24 10. Added rpm packaging support and shell script based build process. MM
|
742 mike 1.26
|
743 karl 1.25 11. Changed Make so make tests no longer rebuilds repository. To rebuild
744 repository you make world, make rebuild or make repository. ks
|
745 mike 1.26
746 12. Added associators() and associatorNames() operations to CIM repository.
|
747 mike 1.27 (MEB)
748
749 13. More on association implementation (all four operations supported).
750 Need to handle deletion of associations and protocol stubs still.
751 Need to test class associations (rather than just instance associations).
752 Need to handle deleteInstance().
753 (MEB)
|
754 mike 1.26
|
755 mday 1.28 14. slp client code integrated as pegasus-style c++ library. (MDD)
756
|
757 karl 1.30 15. (Karl)Update CGI Client to correct number of errors and install
758 AssociationName
|
759 karl 1.29 and ReferenceName functions. This included extensive update to the HTML
760 pages.
761
|
762 karl 1.30 16. (Denise E.) Changes to slp client support code for HPUX (
|
763 sage 1.31
764 17. (Markus Mueller) Additional changes to support dynamic libraries. Fixed
765 ProviderTable tests. Fixed build process (slp with PEGASUS_SUPPORTS_DYNLIB).
766 Made cimserver accept the -D flag to eliminate the need for environment
767 variables.
|
768 mike 1.32
769 18. (Mike Brasher) Added support for Associators(), AssociatorNames(),
770 References() and ReferenceNames() CIM operations. These only operate
771 on instances at this time. They will operate on classes soon.
|
772 kumpf 1.34
773 19. (Mike Glantz) Extended and modified dynamic support
774 changes to (1) work on HP-UX and (2) have all images and libraries
775 buildable per the value of PEGASUS_SUPPORTS_DYNLIB. The biggest
776 change is to program.mak and library-unix.mak, removing specific
777 lists of dynamic library specs and putting them in the Makefile
778 and libraries.mak files that build the actual targets (lots of
779 these now have DYNAMIC_LIBRARIES defined).
|
780 karl 1.35
781 20. (Karl) added basic Queue function to common (based on array) and added
782 tests for stack and queue.
|
783 karl 1.38
784 ------------------------------------------------------------------------------
785 --
|
786 mike 1.36
|
787 karl 1.16 Version 0.97.3 - Released 5 June 2001
|
788 karl 1.11
|
789 karl 1.12 1. (KS)OptionManager (CPP and H), Logger (CPP and H), Handler (CPP and H),
790 CIMServer (both)
|
791 karl 1.11 Functions added include:
792 a. Enable trace to log file.
|
793 karl 1.12 b. Add option so that you can trace to console or trace to logfile (-l
794 is
|
795 karl 1.11 trace to log, -t is trace to console).
796 c. add parameter in optionsrow for help message and enable the capture
|
797 karl 1.12 of these messages in Options class. Also added help print that
798 prints these things out. However, format not to beautiful.
|
799 karl 1.11 d. Eliminate a couple of messages coming from __Namespace provider.
800 e. Extend the Clients\testclient so he does tests on Namespace.
|
801 karl 1.15 2. (KS)Extended Log to show time, severity.
|
802 mike 1.33
|
803 karl 1.15 3. (KS)Added getCurrentASCIITime functions to System.x
|
804 mike 1.33
|
805 karl 1.15 4. (KS)Extended options on CIMServer including 1. option to determine where
806 logs
|
807 karl 1.12 are put
|
808 mike 1.33
|
809 karl 1.15 5. (KS)Added TestClient that executes a series of tests against a server.
810 This is a preliminary version.
|
811 mike 1.33
|
812 karl 1.15 6. (KS)Corrected problem with acceptor.bind where failure was being lost. Now
|
813 karl 1.13 throws CannotBind exception.
|
814 mike 1.33
|
815 karl 1.15 7. (KS)Added logger entry to XMLParser for errors. NOTE: At this point it may
816 not
|
817 karl 1.14 print out all of the message. At the least it prints out the error message
818 and components of the message causing the problem.
|
819 mike 1.33
|
820 karl 1.15 8. (KS)Added clean option to server but temprarily disabled.
|
821 mike 1.33
|
822 karl 1.15 9. (KS)Fixed problem where logs were not created unless logs directory already
|
823 karl 1.14 existed.
|
824 mike 1.33
825 10. (Mike Brasher) Added "Test" prefix to all test program names.
|
826 karl 1.15
|
827 karl 1.29 ------------------------------------------------------------------------------
828 --
|
829 karl 1.6 Version 0.97.2
830
831 1. Extend HP UX port to correctly load Dynamic Load Libraries.
832 2. Extend Formatter for Boolean and Uint32 types.
833 3. Change CIM Server to use Trace (-t) flag. This also changed
834 Handler.h to work off of flag.
835 4. Minor corrections to __Namespace Provider.
836 5. Extend tests for Formatter, String, and other modules.
837 6. Correct errors in documentation.
838 7. New working papers (provider interface).
|
839 karl 1.8 8. Add Providerreg.exe tool.
840 9. Add trace output for messages sent from the Server.
|
841 mike 1.26
|
842 karl 1.29 ------------------------------------------------------------------------------
843 --
|
844 mike 1.26
|
845 karl 1.6 23 May 2001 Version 0.97.1 Tags as version_0_971
|
846 karl 1.5
|
847 karl 1.3 1. Add PEG_NOT_FOUND symbol to replace Uint32(-1) in any of the object
848 find functions. Note: This symbol is defined in config.h. (ks).
849
|
850 karl 1.5 2. Port To HP UX. This required a number of changes particularly in the area
851 of dynamic lib loaading.
|
852 karl 1.1
853
|
854 karl 1.29 ------------------------------------------------------------------------------
855 --
|
856 mike 1.26
|
857 karl 1.3 21 May 2001 Version 0.97 - Tagged as version_0_97
|
858 karl 1.1
859 1. Added methods in CIMClass, CIMInstance, for existance of properties,
860 qualifiers, methods.
861 2. Add methods in CIMClass, CIMInstance to remove properties, qualifier,
862 methods.
863 3. Added CIMmethod and CIMProperty in CIMMethod to text for existance of
864 qualifiers and to
865 remove qualifiers.
866 4. Ported to AIX. NOTE: This port was done using an earlier version of the AIX
867 compiler. It probably imposed more limitations than would be required with
|
868 karl 1.2 the current compiler. This version of the port produces an excessively large
869 common module due to template bloat. That problem will be fixed in a future
870 change to the port. Also there are a log of duplicate symbol warnings generate
871 by the AIC compiler but these cause no problems. The port has been tested
872 with the complete unit test and client/server test successfully.
|
873 karl 1.1
874 --------------------------------------------------------------------------
|
875 karl 1.2
|
876 mike 1.4 23 May 2001
|
877 karl 1.1
|
878 mike 1.9 1. Ported to HPUX
|
879 karl 1.5
|
880 mike 1.9 --------------------------------------------------------------------------
881
882 29 May 2001
883
884 1. Implemented CIMRepository::setProperty() and CIMRepository::getProperty().
|
885 mike 1.51
886
887
888
|
889 karl 1.48
|
890 karl 1.38
|
891 karl 1.30
|
892 karl 1.29
|
893 mike 1.10
|