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