(file) Return to changelog.txt CVS log (file) (dir) Up to [Pegasus] / pegasus / doc

   1 karl  1.1 CHANGE LOG FOR PEGASUS
   2 karl  1.59 
   3 karl  1.95 Version 1.09 - Started 5 April 2002
   4            TAG: Version_1_09.
   5            
   6            1. 5 April 2002 (KS) Update version to 1.09. TAG, and took snapshot.
   7            
   8 kumpf 1.96 2. (Roger Kumpf - HP) 5 Apr 2002 - Modified the CIMOperationResponseMessage
   9               class and its subclasses to contain a CIMException instead of a
  10               CIMStatusCode and String description.  This allows extra information in
  11               a CIMException, such as file name and line number, to be carried
  12               internally throughout the system.
  13            
  14               This change creates a single place where CIMExceptions are converted
  15               to an error code and description to be written out in XML.  This
  16               single place controls the ability to tune what gets included in the
  17               error description, as well as providing a convenient place to trace
  18               errors that get returned to clients.  In particular, client applications
  19               currently see messages that contain redundant error code information,
  20               such as:
  21            
  22                   CIM_ERR_INVALID_PARAMETER: One or more parameter values passed
  23                   to the method were invalid: "CIM_ERR_INVALID_PARAMETER: One
  24                   or more parameter values passed to the method were invalid:
  25                   "Unrecognized parameter "Bogus"""
  26            
  27               The CIMOperationResponseMessage change will allow the redundant
  28               information to be eliminated from the messages.
  29 karl  1.97    
  30            3. (KS) 7 April 2002- Minor really bad hack to systemwindows.cpp getcurrenttime
  31               after roger fixed timevalue.
  32 kumpf 1.96 
  33 kumpf 1.98 4. (DME) 7 April 2002 Added support for HPUX running on IA64 hardware. 
  34            
  35 kumpf 1.99 5. (DME) 7 April 2002 Update master result file for MOF Compiler CLI tests.
  36 kumpf 1.100                       Update master result file of wbemexec CLI tests.
  37 kumpf 1.99  
  38 karl  1.95  ========================================================================
  39             
  40 karl  1.93  Version 1.08 working towards 1.1 - Started 27 March 2002
  41 karl  1.94  TAG: Version_1_08. Note that the tagging was not all simultaneous because
  42             of problems with the CVS repository
  43 karl  1.93  
  44 karl  1.95  1. KS 27 March 2002 - Updaded pegasus version to 1.08. Took snapshot.
  45 karl  1.93     Tagged CVS 1_08.
  46                
  47 karl  1.94  2. KS 2 April 2002 -Add better qualifier testfunctions to cimclass, 
  48                qualifierlist, etc. and start to add specific qualifier tests on creates.
  49 karl  1.93  ========================================================================
  50 karl  1.59  
  51             Version 1.07 working towards 1.1 - Started 4 Feb 2002
  52             Started just before cutover to the new dispatcher, etc.
  53             TAG: VERSION_1_07
  54             
  55             1. KS - Updated pegsusversion to 1.07  and tagged file.
  56             
  57 sage  1.60  2. (Markus Mueller) 05 Feb 2002 - AIX support.
  58 karl  1.59  
  59 kumpf 1.67  3. (Sushma Fernandes - HP) 13 Feb 2002 Implemented FileSystemPropertyOwner
  60                 class to support PEGASUS_HOME dependent properties like Repository
  61                 location, Provider location and Consumer location.
  62                 The default location for these properties continue to be the same
  63                 as before. Added support to the Config Manager to own the
  64                 Pegasus Home variable and implemented method (getHomedPath) to
  65                 return absolute paths based from Pegasus Home.
  66             
  67                 For more information look in to the following files:
  68                 pegasus/src/Pegasus/Config/ConfigManager.h
  69                 pegasus/src/Pegasus/Config/ConfigManager.cpp
  70                 pegasus/src/Pegasus/Config/FileSystemPropertyOwner.h
  71                 pegasus/src/Pegasus/Config/FileSystemPropertyOwner.cpp
  72             
  73             4. KS -  18 Feb 02 Add changes to test for and set the NULL value for CIMValues.
  74 karl  1.62     This forces new CIMValues to have a NULL attributes that is only
  75                reset when a value is "set" or copied into them.  the XML and MOF
  76                also deliver a NULL value back when the state of the CIMValue is NULL.
  77                There is a remaining addition to put an exception on CIMValue gets when
  78                the NULL attribute is set that we will install later.
  79 karl  1.63     
  80 kumpf 1.67  5. KS - 19 Feb 2002 Extended testclient slightly and cleaned up numerous bugs.
  81 karl  1.62  
  82 kumpf 1.67  6. KS - 19 Feb 2002 - Add workpaper in doc/workpaper defining the Pegasus Qualifiers.
  83 karl  1.64     Note that this version of the paper still needs work.
  84             
  85 kumpf 1.67  7. (Nag Boranna - HP) 20 Feb 2002 - Modified HTTPAcceptor to optionally bind to 
  86 kumpf 1.65  loopback host. Modified CIMClient to connect to loopback host when connectLocal() 
  87             method is used. Added a new method lookupPort() in System.h to return the system 
  88             configured wbem port number. Modified cimuser, cimauth and cimconfig CLI's to use 
  89             modified CIMClient connectLocal() interface.
  90             
  91 kumpf 1.67  8. (KS- 21 Feb 2002) - Modified Makefile for repository load so located in
  92 karl  1.66  schema directory.  The one in src/pegasus/compiler/load is deprecated and
  93             will be deleted.
  94             
  95 kumpf 1.67  9. KS-21 Feb 2002 - Added new constructor to CIMValue and associated tests
  96             
  97             10. RK-20 Feb 2002 - Add Array reference to CIMValue and added tests
  98 karl  1.66  
  99 kumpf 1.67  11. (Sushma Fernandes - HP, Nag Boranna - HP) 22 Feb 2002 Implemented
 100                 checks for privileged user when performing authorization.
 101                 Added a configuration property enableRemotePrivilegedUserAccess.
 102                 This property needs to be set to true to enable privileged user access
 103                 for remote clients.
 104 karl  1.66  
 105 kumpf 1.68  12. (Roger Kumpf - HP) 22 Feb 2002 - Added type information to extrinsic
 106                 method (InvokeMethod) operations.  This change involves the addition
 107                 of PARAMTYPE attributes to PARAMVALUE and RETURNVALUE tags.  This tag
 108                 allows the server to determine the type of a parameter value without
 109                 having to look up the method definition in the schema.  It also allows
 110                 the client API to do the same for output parameters as well as return
 111                 values.
 112             
 113                 PROVIDER IMPLICATIONS:
 114             
 115                 Method providers ARE affected by this change.  Previously, all input
 116                 parameters to invokeMethod were sent to the provider as String type
 117                 regardless of what the client actually specified or how the method
 118                 was defined.  With this change, providers will now receive input
 119                 parameters of the type that was actually specified by the client
 120                 application (regardless of how the method was defined in the schema).
 121             
 122                 However, parameters coming from clients other than the Pegasus client
 123                 API may omit the PARAMTYPE attribute.  In this case, the operation
 124                 processor (currently dispatcher) will find these "typeless" parameters
 125                 and convert them to the correct type based on the method definition.
 126 kumpf 1.68      The result is that if the client specifies the parameter type in the
 127                 XML encoding (as the Pegasus client API does), the method provider
 128                 will receive the type specified by the client; if the client does not
 129                 specify the parameter type, the method provider will see the type
 130                 specified in the method definition.
 131             
 132                 CLIENT IMPLICATIONS:
 133             
 134                 Clients ARE affected by this change.  Any output parameters that are
 135                 returned from Pegasus (or other CIM servers using the PARAMTYPE
 136                 attribute) will now be received by Pegasus clients as the same type
 137                 sent by the server.  Previously, they would have always been of
 138                 String type.  In addition, the return value will be received as the
 139                 correct type rather than as a String.
 140             
 141                 Parameters coming from servers other than Pegasus may omit the
 142                 PARAMTYPE attribute.  In this case, the client will see a
 143                 CIMParamValue with type==CIMType::NONE, with a CIMValue of type
 144                 String.  Similarly, return values coming from other servers that omit
 145                 PARAMTYPE will be seen by the client as String type.  These return
 146                 values will NOT have the CIMType::NONE hint that parameters get,
 147 kumpf 1.68      because they are CIMValues rather than CIMParamValues.
 148             
 149                 This behavior will remain for the forseeable future (through
 150                 Pegasus version 2), as it is not possible to require that other
 151                 implementations use the PARAMTYPE attribute.
 152             
 153                 SIDE EFFECTS:
 154             
 155                 In the process of implementing this functionality, I discovered
 156                 that there was no way to set a CIMValue to be an array of
 157                 CIMReferences.  This appeared to be an oversight, since method
 158                 parameters are permitted to be arrays of CIMReferences.  I've
 159                 added the necessary functionality to the CIMValue class.
 160             
 161                 I also found that the CIMParamValue class needed significant
 162                 clean-up, which I completed.
 163             
 164                 SETPROPERTY CHANGES:
 165             
 166                 A similar problem in SetProperty operations was addressed by
 167                 "typing" the specified property value in the operation processor
 168 kumpf 1.68      (currently dispatcher).  This is achieved by looking up the
 169                 relevant schema to get the property definition, and then converting
 170                 the specified value to that property's type.
 171             
 172                 The SetProperty operation encoding has not changed to accomodate
 173                 inclusion of type information that would obviate the need for this
 174                 extra processing.  However, clients can avoid this overhead by using
 175                 ModifyInstance operations (with a property list) instead of SetProperty.
 176             
 177                 The GetProperty operation also has NOT been updated with type
 178                 information.  Client applications using the Pegasus client API will
 179                 always receive String or reference values when calling GetProperty
 180                 against any server (Pegasus or not).  Clients that require properties
 181                 to be returned as the correct type must use GetInstance (perhaps with
 182                 a property list) rather than GetProperty.
 183             
 184 kumpf 1.69  13. (Roger Kumpf - HP) 22 Feb 2002 - Reworked the CIMParamValue class.
 185                 Instead of being composed of a CIMParameter and a CIMValue, this
 186                 class is now composed of a String (parameter name) and a CIMValue.
 187                 This change removes the redundancy of having the type, isArray,
 188                 and arraySize members in both the CIMParameter and the CIMValue.
 189                 The new CIMParamValue definition is more consistent with the XML
 190                 encoding of parameter values.
 191             
 192                 An isTyped member was also added to CIMParamValue to support the
 193                 behavior outlined in item 12 above.  Clients should use the isTyped()
 194                 method to determine whether the output parameters returned from
 195                 InvokeMethod operations are of the correct type, or whether they
 196                 have defaulted to String type.
 197 karl  1.70      
 198             14. (KS) 4 March 2002 - Corrections for NULL value and the XML code.
 199                 Corrections to compiler for Null values input (parser and valuectory)
 200 karl  1.72    
 201 kumpf 1.71  15. (Nag Boranna - HP) 04 March 2002 - Modified CIMClient API to accept 
 202                 username and password as parameters to connect() method, added a new 
 203                 method diconnect() that closes the open connection with the server 
 204                 and added code to handle HTTP Basic authentication challenges from 
 205                 the server.
 206 karl  1.72      
 207             16  (KS) 4 March 2002 - Correct problem with array constants not picking up
 208                 all of the entires in the array. Bugzilla bug # 6.
 209                
 210 kumpf 1.73  17. (Yi Zhou - HP) 4 March 2002 - Implemented provider registration manager 
 211                 to perform efficient lookup of instance provider, method provider, and 
 212                 indication provider. Also, implemented provider registration instances
 213                 operations.
 214             
 215                 Modified registration provider to use latest provider registration schema.
 216 karl  1.74      
 217             18  (KS) 6 March 2002 - Implemented changes to compiler and flavors to correct the
 218                 definition of CIMFlavors.
 219 karl  1.76      
 220 kumpf 1.68  
 221 kumpf 1.75  19. (Roger Kumpf - HP) 1 Mar 2002 - Reworked the XmlWriter class to
 222                 eliminate many of the redundant memory copies that resulted from the
 223                 nested method call structure.  Now, instead of having a method at
 224                 each level that adds a begin tag, contents, and an end tag, there
 225                 are separate methods to add the begin and end tags.  At the top
 226                 level, each of the begin tag methods are called, then the message
 227                 "body" is added, followed by calls to the end tag methods.
 228             
 229                 The message body is currently still copied twice, once into the XML
 230                 payload and then again when the HTTP header is added.  (Since the
 231                 HTTP header contains a content length field, the header cannot be
 232                 constructed until the payload is complete.)  It is possible to
 233                 remove these extra copies as well, but that would require additional
 234                 changes elsewhere in the code.  For example, the HTTPMessage class
 235                 would need to hold the headers and payload separately rather than in
 236                 a single buffer.
 237             
 238                 Along with these changes, I did a lot of cleanup.  Much of the XML
 239                 formatting code has been moved from CIMReference to XmlWriter.  Also,
 240                 error message formatting has been consolidated in XmlWriter from the
 241                 various encoders and decoders, etc.
 242 kumpf 1.75  
 243             20. (Roger Kumpf - HP) 5 Mar 2002 - Added checks in the
 244                 CIMOperationRequestDecoder and CIMExportRequestDecoder to validate
 245                 that the information in the HTTP headers of a request is consistent
 246                 with what is encoded in the XML request itself.
 247             
 248                 Specifically, the CIMOperation, CIMProtocolVersion, CIMMethod,
 249                 CIMObject, CIMBatch, CIMExport, and CIMExportBatch headers are
 250                 validated.
 251 karl  1.76  
 252             21. (KS) 7 March 2002 - Correct error in qualifier propagation processing in
 253                 qualifierlist.resolve. Temporarily remove the DEFAULT setup on the
 254                 Compiler qualifier generation. Add tests for resolve processing.
 255 karl  1.78      
 256 kumpf 1.77  22. (Roger Kumpf - HP) 8 Mar 2002 - Simplified CIMClient API construction.
 257                 Previously, the client application constructed a client API using:
 258             
 259                     Monitor* monitor = new Monitor;
 260                     HTTPConnector* connector;
 261                     connector = new HTTPConnector(monitor);
 262                     Uint32 timeoutMillis = 60 * 1000;    // optional
 263             
 264                     CIMClient client(monitor, connector, timeoutMillis);
 265             
 266                 With this change, the client application now looks like:
 267             
 268                     Uint32 timeoutMillis = 60 * 1000;    // optional
 269             
 270                     CIMClient client(timeoutMillis);
 271             
 272                 The old style allowed an SSL context to be specified in the HTTPConnector
 273                 constructor.  It seems that the SSL context is really a property of a
 274                 connection rather than of the client API.  So instead of adding an SSL
 275                 context parameter to the CIMClient constructor, I added it to the CIMClient
 276                 connect() method.  There are now forms of the connect() method with and
 277 kumpf 1.77      without an SSL context.  Similar changes were made in the HTTPConnector
 278                 class to allow specification of an SSL context in the connect() method
 279                 rather than in the constructor.
 280             
 281                 NOTE:  Client applications are affected and must be updated with this
 282                 change.  I've already updated all the clients that are checked in and
 283                 included in the Pegasus build.
 284 kumpf 1.79  
 285 karl  1.78  23. (KS) 8 March 2002 - Correct error in compiler that caused length field
 286                 of fixed length arrays to be lost.
 287 kumpf 1.75  
 288 kumpf 1.79  24. (Jenny Yu - HP) 8 March 2002 - Modified the CIMException class to NOT
 289                 include the source filename and line number in the exception message.
 290                 However, for anyone who wishes to include such information in the 
 291                 CIM Exception message, a compile option DEBUG_CIMEXCEPTION can be used
 292                 for that purpose.   
 293             
 294                 A couple of changes have been made to the Tracer class:
 295             
 296                 - CIMException messages can now be put in a trace file using the Tracer.
 297                   A new interface has been added to the Tracer to accept a CIMException
 298                   as input and writes the exception message in the CIMException to the
 299                   trace file.  This message will include the source filename and the
 300                   line number of the CIMException originator.
 301             
 302                   Tracer::traceCIMException(traceComponent, traceLevel, cimException);
 303             
 304                 - Strings can now be traced using the Tracer class:
 305                   A new interface has been added to the Tracer to accept a String as
 306                   input and writes the String to the trace file.
 307             
 308                   (ex.)
 309 kumpf 1.79        You can issue the following method call:
 310                      Tracer::trace(TRC_CONFIG, Tracer::LEVEL2, "Operation Failed.");
 311             
 312                   or use the following new macro:
 313                      PEG_TRACE_STRING(TRC_CONFIG, Tracer::LEVEL2, "Operation Failed.");
 314                 
 315 ramnath 1.81  25.  (Ramnath Ravindran - Compaq) 11 March 2002 - added IPCTru64.h and modified
 316 ramnath 1.80  	several files so that Pegasus could build and run on Tru64 unix.  Added
 317               	one macro in ConfigUnix and ConfigWindows (PEGASUS_OR_IOS_BINARY) in 
 318               	the case where std::ios::binary is present with a bitwise OR operator.
 319               	This macro only works when the std::ios::binary is NOT the first 
 320               	operator to be "OR"ed.
 321 ramnath 1.81  
 322               26.  (Ramnath Ravindran - Compaq) 12 March 2002 - modified more files so that 
 323               	Pegasus could build and run on Tru64 unix. Finished replacing instances
 324               	of ios::binary with the macros PEGASUS_IOS_BINARY and 
 325               	PEGASUS_OR_IOS_BINARY. Also modified some code that dealt with file 
 326               	streams.  Tru64 does not support the use of the " != " operator on a
 327               	fstream object.  Instances of such were either modified or an ifdef 
 328               	block detecting a build on Tru64 was used.  Added cstdarg and ctime in
 329               	pegasus/src/stdcxx/cwrappers/ directory.
 330 ramnath 1.80  
 331 mary    1.82  27.  (Mary Hinton) 16 March 2002 - fixed the CIMServer so that it could once
 332               	again be installed as a Windows service. The repositoryRootPath could 
 333               	not be found, because the pegasusHome variable was not being set properly 
 334               	in the Windows service work thread.
 335               
 336 karl    1.83  28.  (Bob Blair by KS) 17 March 2002 - Modified repository so there is both a
 337                       local repository (cimmofl) and a client interface repository (cimmof) 
 338               	executable
 339                      
 340               29.  (KS ) 18 March 2002 - Modified schema makefiles to use the cimomfl respository
 341                       executable. 
 342 kumpf   1.84  
 343               30. (Roger Kumpf - HP) 19 Mar 2002 - Added range checking for Uint* and
 344                   Sint* values in XmlReader.cpp.  Previously, values that were out of
 345                   range were simply truncated to fit the given integer size.  An
 346                   exception is now thrown when the given string can not be parsed into
 347                   an integer of the specified size.
 348               
 349 kumpf   1.85  31. (Roger Kumpf - HP) 20 Mar 2002 - Added support for hexadecimal integers
 350                   in XmlReader.cpp.
 351               
 352 kumpf   1.86  32. (Nag Boranna - HP) 21 March 2002 - Implemented server side Basic 
 353                   Authentication handling code and cleaned up ATTN's in the authentication 
 354                   releated files. Implemented a new AuthenticationInfoRep class and modified 
 355                   the related files. Added more test cases to test the authentication classes.
 356               
 357 karl    1.88  33. (Ramnath Ravindran - Compaq) 21 March 2002 - replaced instances of "| ios::binary"
 358                   with PEGASUS_OR_IOS_BINARY in 3 files: System.cpp, InstanceIndexFile.cpp, and
 359 ramnath 1.87  	InstanceDataFile.cpp
 360 karl    1.88  	
 361               34. (KS) 25 March 2002 - Extended qualifier resolution to correctly handle Flavors nad
 362                   enabled the scope and flavors testing.  Had been pretty much blocked before.
 363                   
 364 kumpf   1.89  35. (Roger Kumpf - HP) 26 Mar 2002 - Created a class to map CIM operation
 365                   request messages to provider API calls.  Cleaned up the dispatcher and
 366                   added the ability to pass requests to control providers through the
 367                   ModuleController.  Integrated the ConfigSettingProvider with the
 368                   ModuleController and set up the structure for getting the control
 369                   providers working.  Moved the ConfigSettingProvider from the
 370                   Providers tree to the Pegasus tree, since it really is statically
 371                   linked into the server.
 372 karl    1.88  
 373 kumpf   1.90  36. (Roger Kumpf - HP) 27 Mar 2002 - Integrated the UserAuthProvider with
 374                   the ModuleController as a control provider.  Moved the UserAuthProvider
 375                   from the Providers tree to the Pegasus tree.
 376               
 377 kumpf   1.91  37. (Roger Kumpf - HP) 27 Mar 2002 - Integrated the
 378                   ProviderRegistrationProvider with the ModuleController as a control
 379                   provider.  Moved the ProviderRegistrationProvider to the Pegasus
 380                   ControlProviders directory.  Obsoleted and removed the
 381                   Server/ConfigurationManager class and files.
 382 karl    1.92      
 383               38. (KS) 27 march 2002 - Modifications to common functions and the compiler to
 384                   extend the processing of class creation and correct the flavors and their
 385                   use.  This allows flavors to be inherited with rules for override, etc.
 386                   
 387 kumpf   1.91  
 388 karl    1.59  -------------------------------------------------------------------
 389 karl    1.52  Version 1.06 working towards 1.1 Started 13 December 2001
 390               
 391               1. Merged back to Main branch.  All general development will be in main branch 
 392                      in the future with releases in side branches. Special side developments
 393                      may temporarily be in side branches.
 394                      Changed cimversion to 1.06.  We will do 1.1 based on functionality.
 395 karl    1.53         
 396               2. (Karl) 18 December 2001 - Added new directory repositories where repository 
 397               	implementations will be kept to separate them from the 
 398               	repository interface defintion. Initial implementation is genericfile
 399               	which is the current file based repository.
 400               	
 401               	Added new build variable RMREPOSITORY which is a generic MAKE command
 402               	to remove an existing repository.  It simply substitutes for the RMDIRHIER
 403               	command at this point but we will make this a generic part of system
 404               	in the future.
 405 karl    1.52  
 406 kumpf   1.54  3. (Roger Kumpf - HP) 18 Dec 2001 - Updated the CIMOperationRequestDecoder
 407                  to check that all required parameters for intrinsic methods are
 408                  present.  If a required parameter is missing, a CIM_ERR_INVALID_PARAMETER
 409                  exception is thrown.  Also added checks for duplicate parameters in the
 410                  intrinsic methods.  If a parameter is specified more than once, a
 411                  CIM_ERR_INVALID_PARAMETER exception is thrown.
 412               
 413 kumpf   1.57  4. (Nag Boranna - HP) 14 Jan 2002 - Created CIMOperationRequestAuthorizer queue
 414 kumpf   1.55     and moved Authorization verification code from CIMOperationRequestDecoder
 415                  queue to this new queue. Modified CIMServer.cpp to create
 416                  CIMOperationRequestAuthorizer queue only when authorization is enabled.
 417                  Also modified CIMRequestMessagesin CIMMessage.h to include userName to make
 418                  it available to the CIMOperationRequestDispatcher.
 419               
 420 kumpf   1.57  5. (Mary Hinton - Jan 17, 2002) Fixed the problem with the CIMserver when it 
 421 mary    1.56     runs as a Windows service. The work thread was exiting instead of running 
 422                  forever. The problem was noticed when the TestClient program and CIMserver 
 423                  service were both running. The service wasn't accessible to the TestClient 
 424                  program.
 425               
 426 kumpf   1.58  6. (Nitin Upasani - Jan 25, 2002) Operations on CIM_IndicationSubscription, 
 427                   CIM_IndicationHandlerCIMXML and CIM_IndicationFilter classes will be now processed
 428                   in new queue, IndicationService which will get invoked from dispatcher.
 429                   CIM_CREATE_INSTANCE_REQUEST_MESSAGE
 430                   CIM_MODIFY_INSTANCE_REQUEST_MESSAGE
 431                   CIM_DELETE_INSTANCE_REQUEST_MESSAGE
 432                   CIM_GET_INSTANCE_REQUEST_MESSAGE
 433                   CIM_ENUMERATE_INSTANCES_REQUEST_MESSAGE
 434                   CIM_ENUMERATE_INSTANCE_NAMES_REQUEST_MESSAGE
 435               
 436                   This new service will also take care of processing the indications on receiving
 437                   CIM_PROCESS_INDICATION_REQUEST_MESSAGE. This message should come from 
 438                   IndicationProvider or some other mechanism which is not yet clear. 
 439               
 440                   IndicationService will also receive following messages from PG_ProviderRegistration
 441                   when a new IndicationProvider will get registered.
 442                   CIM_NOTIFY_PROVIDER_REGISTRATION_REQUEST_MESSAGE
 443                   CIM_NOTIFY_PROVIDER_TERMINATION_REQUEST_MESSAGE
 444               
 445                   I had also defined new Indication Provider APIs, enableIndication, disableIndication
 446                   and modifyIndication with more parameters passed and eventually planning to terminate
 447 kumpf   1.58      old APIs (provideIndication, cancelIndication and updateIndication). Also there is a 
 448                   plan to implement one more call as startIndication and will be done soon.
 449               
 450                   There are three new test programs in IndicationService directory, which will create 
 451                   Filter, Indication and Subscription instances using IndicationService.
 452               
 453                   Also modified sample IndicationProvider code with the new APIs introduced.
 454 mary    1.56  
 455 karl    1.52  -------------------------------------------------------------------------
 456 karl    1.1   
 457 mike    1.51  Version 1.1.1 - 3 August 2001 -  Development Branch (Work in Progress)
 458               		current working dev branch of build
 459 mike    1.36  
 460 karl    1.49  ---------------------------------------------------------------------------
 461               Version 1.1 - July 2001 Development branch (Work in PRogress)
 462               
 463 mike    1.50  1. (Mike Brasher) Fixed bug with XML generation (was not generating
 464                  PARAMETER.REFERENCE constructs for references).
 465               
 466               2. (Mike Brasher) Reworked server communication into new module scheme.
 467 mike    1.51  =======
 468               1. (Karl) 6 Aug - extend ToMof functions. The MOF for a class can now be
 469               	seen as part of CGIclient class displays.
 470               	
 471               2. (Karl) 7 Aug - Update CIM25 Schema from the "preliminary" version
 472               	to the final version in Schemas\CIM25.  This included minor
 473               	corrections, etc and a couple of file changes. This is the
 474               	official final CIM 25 schema relesed by the DMTF.  This change
 475               	should not affect any current work.
 476               3. (Karl) 7 Aug 2001 - Added CIM Schema 2.6 (preliminary) to the Schemas
 477               	directorys.  Note however that today the make repository still
 478               	loads the 2.5 schema.
 479               	
 480               4. (Karl) 8 Aug 2001 - Change cimmofparser.cpp to put header and trailers
 481                       on XML output.
 482                       
 483               5. (Denise Eckstein - HP) 13 Aug 2001 - Fixed an HP-UX compile problem
 484               in various src/utils/mu commands (MoveCmd.cpp, PrependCmd.cpp, RmCmd.cpp,
 485               RmDirHierCmd.cpp, StripCmd.cpp, TouchCmd.cpp).  aCC scopes variable
 486               declarations in for loop initializers outside the loop, so multiple
 487               "for (int i=0; i<10; i++);" statements cause a compile error.
 488 mike    1.51  
 489               6. (Nag Boranna - HP) 15 Aug 2001 - Modified Config framework to remove 
 490               dependency on the config files at the start of the cimserver. Now the 
 491               cimserver will use in-memory default values in the absence of config files 
 492               and command line options. Fixed a few defects in the config framework that 
 493               were causing cimom to crash under certain conditions. Changed the config 
 494               provider class name to 'PG_ConfigSetting' in the mof file and modified 
 495               provider implementation files accordingly. Also modified the config CLI 
 496               to show user friendly error/status messages.
 497                       
 498               7. (Carol Ann Krug Graves - HP) 16 Aug 2001 - Fixed a bug in wbemexec CLI 
 499               (reported incorrect line number on error in XML request if input redirected).  
 500               Enhanced the -d debug command line option to allow more flexibility in 
 501               generating debug output.
 502               
 503               8. Karl 17 Aug 2001) - Extended CIMMOF compiler to put pegasus comment line in
 504               xml when it generates xml output.
 505               
 506               9. (Roger Kumpf - HP) 20 Aug 2001 - Combine instances of each class into
 507               a common file to reduce the number of files required by the default
 508               repository implementation.
 509 mike    1.51  
 510               10. (Mike Brasher) - Fixed minor bug in repository implementation.
 511               
 512               11. (Mike Brasher) - Committed fix to missing PARAMETER.REFERENCE XML element.
 513               
 514               12. (Mike Brasher) - Committed rework of server into queue approach.
 515               
 516               13. (Mike Brasher) - New webserver and webclient examples.
 517               
 518               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.
 519               
 520               15. (Mike Brasher) - Initial work on refactorying client into modules.
 521                   CIMOperationRequestEncoder and partial CIMOperationResponseDecoder.
 522               
 523               16. (Mike Brasher) - queue-based clients now complete.
 524               
 525               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.
 526               
 527               18. (Markus Mueller - IBM) 13 Sep 2001 - Initial support for z/OS on z/Series, the successor of OS/390 and MVS.
 528               
 529               19. (Warren Otsuka - HP) 14 Sep 2001 - Implementation of servlet web server
 530 mike    1.51      interface to CIMServer.This is for the PEGASUS CIM Server to coexist with
 531                   a web server. See doc/Servlet for more information.
 532               
 533               20. (Yi Zhou - HP) 20 Sep 2001 - Added tracing in files
 534                   CIMOperationRequestDecoder.cpp and CIMOperationResponseEncoder.cpp so XML 
 535                   input and output can be written in a trace file.
 536               
 537               21. (Markus Mueller - IBM) 25 Sep 2001 - Initial Signal Handler support
 538                   Created new class SignalHandler that allow registration, activation and
 539                   deactivation of signal handler functions (Linux only !).
 540               
 541               22. (Nitin Upasani - HP) 27 Sep 2001 - Modification of ExportServer and
 542                   ExportClient to support ExportIndication. DisplayConsumer, a sample
 543                   consumer is added which will consume (by displaying on screen) the
 544                   indication exported by CIMExportRequestDispatcher. This complete
 545                   implementation is based on CIM_EXPORT_INDICATION_REQUEST and
 546                   RESPONSE messages. CIMMessage.h, Message.cpp and Message.h files
 547                   are modified to implement above messages. 
 548               
 549                   XmlIndicationDispatcher test program is modified to test complete
 550                   operation. It now creates a consumer, handler and indication
 551 mike    1.51      instance and then calls CIMExportRequestDispatcher to export the
 552                   indication to consumer. This program needs
 553                   src/Pegasus/Server/tests/XmlIndicationDispatcher/TestSoftwarePkg.mof 
 554                   and Schemas/Pegasus/PG_ConsumerRegistration.mof files to be loaded
 555                   in the repository to complete the test successfully. This test
 556                   program also needs Handler qualifier defined in repository and
 557                   modify CIM_Event25.mof for CIM_IndicationHandlerXMLHTTP class as
 558                   below:
 559               
 560                   //====================================================================
 561                   //  CIM_IndicationHandlerXMLHTTP
 562                   //====================================================================
 563                   [Description (
 564                     "CIM_IndicationHandlerXMLHTTP describes the destination for "
 565                     "Indications to be delivered via HTTP, using a cimXML "
 566                     "representation."), Handler ("CIMxmlIndicationHandler") ]
 567               
 568               23. (Sushma Fernandes - HP) 27 Sep 2001 - Added tracing code in
 569                   ProviderTable.cpp and SystemUnix.cpp to indicate progress of loading
 570                   a provider library.
 571               
 572 mike    1.51  24. (Nitin Upasani - HP) 05 Oct 2001 - implementation of InvokeMethod
 573                   interface for the provider. InvokeMethod currently uses CIMValue as
 574                   type for inParameters and outParameters, which are unable to give
 575                   information about param name, type and value. This should be changed
 576                   to CIMParamValue which will help providers to know details of the
 577                   parameter name and type along with value passed through InvoleMethod
 578                   call. Current implementation uses CIMParamValue as parameters while
 579                   travelling through message queues and converts it back to array of
 580                   CIMValue before calling Provider API (which needs to be changed
 581                   later). 
 582               
 583                   Also added are two test programs: 
 584               	
 585                   src/Pegasus/Common/tests/ParamValue - which demonstrate use of
 586                       CIMParamValue class.
 587               	
 588                   src/Pegasus/Client/tests/InvokeMethod - which makes call to
 589                       InvokeMethod and displays the return value. Current
 590                       implementation assumes that provider had returned true value
 591                       and outParameters (which are now hard coded in
 592                       CIMOperationRequestDispatcher to implement functionality)
 593 mike    1.51          which are passed as response of InvokeMethod to client.
 594               
 595               25. (Nag Boranna - HP) 05 Oct 2001 - Added first level implementation of
 596                   authentication to the pegasus code. Created an Authentication Manager
 597                   and authenticator interfaces. The file based local authentication
 598                   module has been modified to implement the local authenticator
 599                   interface, to generate the challenge for the unauthorized requests
 600                   and to verify the authentication.
 601               
 602                   A skeleton program has been created for the Basic Authenticator.
 603                   This code is in the Security/Authentication directory which is not
 604                   yet linked into the build.
 605               
 606               26. (Nitin Upasani - HP) 08 Oct 2001 - Changes to Operation and Export
 607                   Decoders. Earlier decoders were sending requests and responses
 608                   before finishing complete Xml parse. This was prone to send
 609                   request/response even the Xml is wrong after the MethodCall.
 610                   New changes collects the Message* as return value from the
 611                   appropriate functions while parsing the Xml and sends on
 612                   _outputQueue only when Xml is parsed successfully.
 613               
 614 mike    1.51  27. (Nag Boranna - HP) 11 Oct 2001 - Modified ProviderModule.cpp to
 615                   fix the problem with constructing provider name and loading the
 616                   providers for unix platforms. Also moved the shared library name
 617                   construction (appending .sl or .so) from
 618                   CIMOperationRequestDispatcher.cpp/SystemUnix.cpp to
 619                   ProviderModule.cpp and included it in a method that returns
 620                   provider file path name.
 621               
 622               28. (Nitin Upasani - HP) 12 Oct 2001 - Implementation of SNMP Indication
 623                   Handler. This handler extracts MappingStrings qualifier from class
 624                   definition and converts it into SNMP specific trap data. The trap
 625                   structure is defined in a abstract class in snmpDeliverTrap.h file.
 626                   Every one has his or her own SNMP agent, which will talk with master
 627                   agent to deliver the trap or may have some other mechanism.
 628                   Extending snmpDeliverTrap class and deliverTrap method will help to
 629                   implement specific trap delivery mechanism. 
 630               
 631               29. (Yi Zhou - HP) 09 Oct 2001 - Changed cimconfig to allow setting property to
 632                   be NULL. Also, if -u -p specified in the cimconfig, instead of updating
 633                   property value to be default in the plan file, remove the property from the
 634                   plan file. Converted ConfigSettingProvider to use provider2 library.
 635 mike    1.51  
 636               30. (Sushma Fernandes - HP) 24 Oct 2001 - Added an interface to the tracer 
 637                   to allow tracing of a specific number of bytes in a given
 638                   string. Also modified the XmlIO trace code to use the new interface. 
 639                   Changed the config file defaults for tracing.
 640               
 641               31. (Rudy Schuet - Compaq) 28 Oct 2001 - Added "make" support for Compaq
 642                   NonStop platform (NSK) in directory pegasus/mak. The following files
 643                   were added:  platform_NSK_NONSTOP_NMCPLUS.mak, objects-nsk.mak,
 644                   library-nsk.mak, config-nsk.mak, program-nsk.mak, program-windows.mak, 
 645                   program-unix.mak. The original program.mak which previously covered
 646                   all platforms was split into platform-specific make files, and now
 647                   only contains conditionals. Files config.mak, objects.mak, and
 648                   library.mak were changed to include the NSK files. 
 649                   File platform_NSK_NONSTOP_NMCPLUS.mak includes config-nsk.mak.
 650               
 651               32. (Jenny Yu - HP) 29 Oct 2001 - Fixed CIMReference constructor to allow
 652                   commas (,) in the string values of key properties.
 653                   
 654               33. (Karl Schopmeyer) 30 October 2001- Move the repository load to CIM schema 2.6
 655               
 656 mike    1.51  34. (Rudy Schuet - Compaq) 30 Oct 2001 - Fixed a problem in
 657                   pegasus/mak/program-windows.mak that prevented program builds for
 658                   the windows platform (related to change from 28 Oct). Replaced
 659                   leading whitespace in front of commands with tabs as required
 660                   in make files.
 661                  
 662               35. (K Schopmeyer) 2 Nov 2001 - Temporarily moved repository back to CIM25 
 663                   because getting an error in 26
 664               
 665               35. (Roger Kumpf - HP) 30 Oct 2001 - Association classes have keys
 666                   whose types are references.  These reference values must be
 667                   treated specially in the XML encoding, using the VALUE.REFERENCE
 668                   tag structure.
 669               
 670                   Pegasus had been passing reference values simply as String values.
 671                   For example, EnumerateInstanceNames returned KEYVALUEs of string
 672                   type rather than VALUE.REFERENCEs.
 673               
 674                   I've modified the XmlReader::getKeyBindingElement() and
 675                   CIMReference::instanceNameToXml() methods to read and write the
 676                   XML in the proper format.  However, making that change required
 677 mike    1.51      that a CIMReference object be able to distinguish between a key
 678                   of String type and a key of reference type.
 679               
 680                   I've modified the String format of CIMReferences slightly to
 681                   allow efficient processing of references whose keys are also of
 682                   reference type.  The "official" form uses the same encoding for
 683                   key values of String type and of reference type, and so it
 684                   would be necessary to retrieve the class definition and look up
 685                   the types of the key properties to determine how to treat the
 686                   key values.  This is clearly too inefficient for internal
 687                   transformations between CIMReferences and String values.
 688               
 689                   The workaround is to encode a 'R' at the beginning of the value
 690                   for a key of reference type (before the opening '"').  This allows
 691                   the parser to know a priori whether the key is of String or
 692                   reference type.
 693               
 694                   In this example:
 695               
 696                       MyClass.Key1="StringValue",Key2=R"RefClass.KeyA="StringA",KeyB=10"
 697               
 698 mike    1.51      Property Key1 of class MyClass is of String type, and so it gets
 699                   the usual encoding.  Key2 is a reference property, so the extra 'R'
 700                   is inserted before its encoded value.  Note that this algorithm is
 701                   recursive, such that RefClass could include KeyC of reference type,
 702                   which would also get encoded with the 'R' notation.
 703               
 704                   The toString() method inserts the 'R' to provide symmetry.  A new
 705                   KeyBinding type (REFERENCE) has been defined to denote keys in a
 706                   CIMReference that are of reference type.  This KeyBinding type must
 707                   be used appropriately for CIMReference::ttoString() to behave
 708                   correctly.
 709               
 710                   The files that have been modified to make this change are
 711                   CIMReference.h, CIMReference.cpp, and CIMInstanceRep.cpp.
 712               
 713                   A result of this change is that instances names in the instance
 714                   repository will include this extra 'R' character.  Thus, you will
 715                   need to repopulate your repository when you download the latest
 716                   CIMOM version.
 717               
 718                   Note that for user-facing uses of the String encoding of instance
 719 mike    1.51      names (such as might appear in MOF for static association
 720                   instances or in the CGI client), this solution is non-standard and
 721                   therefore unacceptable.  It is likely that these points will need
 722                   to process the more expensive operation of retrieving the class
 723                   definition to determine the key property types.
 724               
 725               36. (Sushma Fernandes - HP) Modified tracer to return invalid components 
 726                   in case of error in setting trace components. Modified the property owner
 727                   init and update methods. Submitted the pegasus/mak/Buildmakefile with 
 728                   cleanbuild, rebuild and trace configuration options.
 729               
 730               37. (Yi Zhou - HP) 05 Nov 2001 - Fixed createInstance to return a CIMReference 
 731                   (instanceName).
 732               
 733               38. (Roger Kumpf - HP) 08 Nov 2001 - Implemented encoding/decoding of
 734                   GetProperty/SetProperty/EnumerateInstances request/response messages.
 735                   Added encoding and decoding of PropertyList parameters on all
 736                   relevant intrinsic methods.
 737               
 738               39. (Markus Mueller - IBM) 09 Nov 2001 - Added Associator calls to CIMBase
 739                   ProviderFacade.cpp; fixed Provider unloading in CIMProviderManager.cpp
 740 mike    1.51  
 741               40. (Rudy Schuet - Compaq) 12 Nov 2001 - Common module: added the following
 742                   files for nsk platform support: TraceFileHandlerNsk.cpp, ThreadNsk.cpp,
 743                   TCPChannelNsk.cpp, SystemNsk.cpp, ServiceNsk.cpp, SelectorNsk.cpp,
 744                   IPCNsk.cpp, DirNsk.cpp. Most of these files (with the exception of
 745                   SystemNsk.cpp) contain stubs. The associated control files
 746                   (TraceFileHandler.cpp, Thread.cpp, etc) have been updated to include
 747                   nsk platform links. 
 748               
 749               41. (Roger Kumpf - HP) 14 Nov 2001 - Changed the behavior of the CIMValue
 750                   toString() method for CIMValues of String type.  The old behavior
 751                   returned an XML encoding of the String with special characters
 752                   replaced by their UTF-8 equivalents.  For example, a CIMValue of a"b
 753                   would be returned as a&quot;b.  The new behavior just returns the
 754                   String value directly with no translation.  (Note that
 755                   CIMValue.toXml() may still be used to get the XML-encoded value.)
 756               
 757                   This change was necessary in part to correct the behavior of the
 758                   repository.  CreateInstance stores the instance name returned by
 759                   CIMInstance.getInstanceName(), which is built using calls to
 760                   CIMValue.toString().  GetInstance searches for the instance name
 761 mike    1.51      without UTF-8 encoding of special characters.  For GetInstance to
 762                   be successful, CreateInstance must have stored the instance name
 763                   in that same form, without special character encoding.
 764               
 765               42. (Roger Kumpf - HP) 15 Nov 2001 - Added a toXml(void) method to
 766                   the CIMValue class.  Eliminated improper use of CIMValue.toString(),
 767                   often replacing with CIMValue.get(String&) or CIMValue.toXml().
 768                   Also added some error handling in the indication handlers.
 769               
 770               43. (Sushma Fernandes - HP) 16 Nov 2001 - Added a function 
 771                   localObjectPathtoXml(Array<Sint8>& out) to the CIMReference class 
 772                   to handle local instance path and local classpath. Modified the 
 773                   CIMOperationRequestDecoder to handle <LOCALCLASSPATHELEMENT ...>. 
 774                   Changed the CIMOperationRequestEncoder to call the localObjectPathtoXml.
 775               
 776               44. (Roger Kumpf - HP) 19 Nov 2001 - Added a CIMNamedInstance class
 777                   to hold the argument to ModifyInstance and the return values
 778                   from EnumerateInstances.  The client and provider APIs need to
 779                   be updated to use this class.
 780               
 781               45. (Sushma Fernandes - HP) 19 Nov 2001 - Added the cimuser command line 
 782 mike    1.51      source files. This CLI allows addition, modification, removal and listing 
 783                   of CIM users. The CLI is not linked to the main makefile as the Provider 
 784                   functionality is yet to be implemented. Added the function 
 785                   String getPassword(char* prompt) to the System.h and cpp files.
 786               
 787               46. (Nag Boranna - HP) 20 Nov 2001 - Implemented Authentication code on
 788                   the server to challenge the unauthorized requests, authenticate
 789                   the challenge responses, and verify the subsequent authorized requests.
 790                   Implemented authentication mechanism on the Client api to send
 791                   responses to the challenges from the server. Current implementation
 792                   supports only 'local' authentication mechanism.
 793               
 794               47. (Roger Kumpf - HP) 20 Nov 2001 - Commited the following set of changes:
 795               
 796                     - Changed the return value of EnumerateInstances from Array<CIMInstance>
 797                         to Array<CIMNamedInstance>
 798                     - Changed the parameter to ModifyInstance from CIMInstance to
 799                         CIMNamedInstance
 800                     - Added an optional PropertyList parameter to ModifyInstance
 801                     - Changed all handling of PropertyList parameters to use the
 802                         CIMPropertyList class instead of Array<String>
 803 mike    1.51  
 804                   Each of these changes was required to comply with the DMTF specification.
 805               
 806                   These changes were made throughout the system except for in the provider
 807                   API.  For now, the CIMProviderHandle and CIMBaseProviderHandle hide the
 808                   differences from providers, so older providers will continue to function.
 809                   However, this means that clients can not yet take advantage of the added
 810                   functionality.
 811               
 812                   When the provider API is updated, the following changes will be visible:
 813               
 814                     - Providers will get a PropertyList parameter to ModifyInstance which
 815                         they are required to respect.  Providers that can not process the
 816                         PropertyList must throw a NOT_SUPPORTED exception whenever the
 817                         list is not null.  Clients can take advantage of this change by
 818                         issuing a ModifyInstance request against a selected set of
 819                         properties in an instance, rather than being required to replace
 820                         the entire instance.
 821               
 822                     - Providers will be required to return instance names along with
 823                         instances in the EnumerateInstances method.  Clients will receive
 824 mike    1.51            these instance names, as the standard dictates.
 825               
 826                     - Providers will receive a CIMPropertyList argument containing the
 827                         PropertyList instead of an Array<String>.  This change allows
 828                         providers to distinguish between an empty list and a null list.
 829               
 830                   Note that the repository also does not yet handle the PropertyList in
 831                   ModifyInstance correctly.
 832               
 833               48. (Roger Kumpf - HP) 21 Nov 2001 - I have updated the Provider2 instance
 834                   provider API to match the changes made to the EnumerateInstances and
 835                   ModifyInstance operations.  These changes were made to comply with
 836                   the DMTF specification.
 837               
 838                   The original Provider API has not been updated, and I have no
 839                   plans to do so.  Providers written to the original API will
 840                   continue to function, but they will not have the opportunity
 841                   to take advantage of the features that have been added.
 842               
 843                   The significant changes to the Provider2 API are:
 844               
 845 mike    1.51        - Providers will get a PropertyList parameter to ModifyInstance which
 846                         they are required to respect.  Providers that can not process the
 847                         PropertyList must throw a NOT_SUPPORTED exception whenever the
 848                         list is not null.  Clients can take advantage of this change by
 849                         issuing a ModifyInstance request against a selected set of
 850                         properties in an instance, rather than being required to replace
 851                         the entire instance.
 852               
 853                     - Providers will get an IncludeQualifiers parameter to ModifyInstance
 854                         which they are required to respect.  If IncludeQualifiers is
 855                         false, the qualifiers on the modified instance provided must not
 856                         be used to update the instance.
 857               
 858                     - Providers will be required to return instance names along with
 859                         instances in the EnumerateInstances method.  Clients will receive
 860                         these instance names, as the standard dictates.
 861               
 862                   The providers that are in the Pegasus build have all been updated.
 863                   However, whenever the PropertyList is not null, the providers throw
 864                   a NOT_SUPPORTED exception.
 865               
 866 mike    1.51  49. (Rudy Schuet - Compaq) 25 NOV 2001 - To support the NSK platform,
 867                   files Platform_NSK_NONSTOP_NMCPLUS.h and ConfigNsk.h were added to
 868                   the Common module. File Config.h was modified to include the NSK
 869                   platform and a new option PEGASUS_HAVE_NO_STD that allows compilation
 870                   without the standard (std) namespace.
 871               
 872               50. (Roger Kumpf - HP) 26 Nov 2001 - Added two new configuration
 873                   properties to support alternate behavior of the Pegasus repository:
 874                   repositoryIsDefaultInstanceProvider and repositoryProviderName.
 875               
 876                   Using the first one, the repository can be enabled/disabled as the
 877                   default provider for instance (and association) operations.  The default
 878                   setting is "true", so the default behavior has not been changed.  To
 879                   disable the repository as the default instance provider, issue the
 880                   following command before starting cimserver:
 881               
 882                       cimconfig -s repositoryIsDefaultInstanceProvider=false -p
 883               
 884                   The repositoryProviderName configuration property specifies what
 885                   provider name is used to explicitly register the repository as a
 886                   provider.  This is necessary when the repository needs to serve
 887 mike    1.51      instances of a class and repositoryIsDefaultInstanceProvider is set
 888                   to "false".  The default value is "repository".  To register the
 889                   repository as an instance provider for a class, add a
 890                   'Provider("repository")' qualifier to the class definition.
 891               
 892               51. (Roger Kumpf - HP) 26 Nov 2001 - Added a new ServiceCIMOMHandle to
 893                   pass to providers that act as services.  This handle provides
 894                   service providers with access to the CIMServer data structures.
 895               
 896               52. (Roger Kumpf - HP) 28 Nov 2001 - Implemented ModifyInstance in
 897                   the repository so that it respects the IncludeQualifiers and
 898                   PropertyList parameters.  Updated SetProperty in the repository
 899                   so that it uses ModifyInstance correctly.  The repository now
 900                   supports GetProperty and SetProperty in addition to ModifyInstance.
 901               
 902                   Implemented GetProperty and SetProperty in the Dispatcher and
 903                   Provider2 so that they get translated to GetInstance and
 904                   ModifyInstance calls (respectively) in the provider.  Providers
 905                   written to the Provider2 API that correctly process the new
 906                   ModifyInstance parameters will automatically support SetProperty
 907                   operations.  Note that GetProperty and SetProperty currently only
 908 mike    1.51      work for String properties because of an XML encoding limitation.
 909               
 910               53. (Nag Boranna - HP, Sushma Fernandes - HP) 30 Nov 2001 - Implemented the
 911                   Security components for authentication and authorization. 
 912               
 913                   Authentication and User Management:
 914                   cimuser CLI : This CLI is used for addition, modification, removal
 915                   and listing of CIM Users. The CIM user password is encrypted and stored
 916                   in a file. The password file format is compatible with Apache's htpasswd 
 917                   generated password file. 
 918               
 919                   cimauth CLI implement the authorization managment functionality by letting
 920                   to add/remove/list user authorizations.
 921                   
 922                   User Manager and  User Manager Provider  components implement the user 
 923                   management and authorization functionality.   
 924               
 925               54. (Mike Brasher - BMC) 3 Dec 2001 - Added support for WQL-1. New directory
 926                   under src/Pegasus/WQL which contains library and BNF.
 927               
 928               55. (Yi Zhou - HP) 03 Dec 2001 - Implemented Pegasus registration provider
 929 mike    1.51      which does provider registration, block, unblock, and stop a provider.
 930                   It also alert Subscription Service of any provider registration changes.
 931               
 932               56. (Rudy Schuet - Compaq) 04 Dec 2001 - Replaced _min macro in String.h
 933                   and String.cpp with PEG_min. The _min macro caused problems on the
 934                   NSK platform because of a duplicate definition in a standard file.
 935                 
 936               57. (Carol Ann Krug Graves - HP) 04 Dec 2001 - Implemented Pegasus indication
 937                   subscription service provider that serves as the instance provider for the 
 938                   CIM_IndicationSubscription, CIM_IndicationFilter and CIM_IndicationHandler 
 939                   classes (from CIM_Events27.mof).  The service also takes appropriate action
 940                   in response to startup, shutdown of the cimom, termination of a provider, 
 941                   or change in provider registration.  
 942               
 943               58. (Jenny Yu - HP) 05 Dec 2001 - Implemented Pegasus Shutdown Service
 944                   and the command line interface for shutting down cimom gracefully.
 945                   For more information, refer to the CIMOM Shutdown working paper 
 946                   in pegasus/doc/WorkPapers/CIMOMShutdown.pdf.
 947               
 948               59. (Markus Mueller - IBM) 06 Dec 2001 - Implemented SSL support (Linux only).
 949                   It consists the new classes SSL_Context, SSLSocket and MP_Socket defined
 950 mike    1.51      in TLS.h. HTTPAcceptor and HTTPConnector are extended with an additional
 951                   constructor to set a pointer to the server-, resp. client wide SSL_Context
 952                   structure. The Socket field in HTTPConnection is substituted with an
 953                   MP_Socket pointer, a class that is designed to hide the differences
 954                   between Socket and SSLSocket. The MP_Socket (multipurpose socket) class
 955                   is defined even in a non-ssl environment.
 956                   How to use it in a Server or Client:
 957                   1. Just create an SSL_Context once per Server/Client address space
 958                   2. Construct every HTTPConnector/Acceptor with a pointer to this
 959                      SSL_Context if you want to enable SSL; construct Connectors/Acceptors
 960                      without SSL_Context for conventional connections.
 961 mike    1.50  
 962 mike    1.51      The Configuration data was extended with the boolean SSL property, and
 963                   cimserver and TestClient now understand the -SSL, resp. -ssl flag.
 964               
 965               60. (Bapu Patil - HP) Updated makefiles to support HP-UX IA64 bits O.S.
 966 kumpf   1.61  
 967 mike    1.51  ---------------------------------------------------------------------------
 968               Version 1.1 - July 2001 Development branch
 969                             Tagged as version_1_01 on 3 August 2001 (sorry should have been
 970                             1.1
 971               
 972               1. (Nitin Upasani - HP) Implementation of handleIndication() to deliver
 973                  indication by defining IndicationDispatcher, HandlerTable, CIMHandler
 974                  and ExportClient classes. the indication.
 975               
 976                  Also implemented CIMxmlIndicationHandler and sendmailIndicationHandler to
 977                  make the delivery of indications over Xml-HTTP and email respectively.
 978               
 979                  Provided examples for HandlerTable, XmlIndicationDelivery and
 980                  SendMailIndicationDelivery to support this implementation.
 981               
 982               2. (Markus Mueller - IBM) Implementation of a Linux specific threading
 983                  library and a thread-safe message queue (first stage). Classes defined
 984                  are Mutex, Condition, Semaphore, AtomicInt, ReadWriteSem, cleanup_handler
 985                  and SimpleThread.
 986               
 987               3. (Carol Ann Krug Graves - HP)  Implementation of wbemexec CLI.  Please refer
 988 mike    1.51     to the man page in pegasus/src/Clients/wbemexec/doc/wbemexec.html for more
 989                  information on using wbemexec.  A simple test script is included.  Please
 990                  see pegasus/src/Clients/wbemexec/tests/readme for information on running
 991                  the test script.
 992               
 993               4. (Sushma Fernandes - HP)  Implementation of Trace Framework.  Please
 994                  refer to the documentation in src/Pegasus/Common/doc/TracingDevGuide.pdf
 995                  and
 996                  src/Pegasus/Common/doc/TracingUserGuide.pdf for more information on using
 997                  the Trace framework. Classes defined are src/Pegasus/Common/Tracer.cpp and
 998                  src/Pegasus/Common/TraceFileHandler.cpp.
 999               
1000               5. (Nag Boranna - HP)  Implementation of Config Framework, Config Provider and
1001                  Config CLI. Please refer to the documentation
1002                  in pegasus/doc/WorkPapers/CIMOMConfigurationWorkPaper.pdf and the man page
1003                  in pegasus/src/Clients/cimconfig/doc/cimconfig.html for more information on
1004                  using the config framework and cimconfig CLI. Make sure to load the config
1005                  mof (src/gmake config) before starting the cimserver. A simple test script
1006                  is included. Please see pegasus/src/Clients/wbemexec/tests/readme for
1007                  information on running the test script.
1008               
1009 mike    1.51  6. (Karl Schopmeyer 31 July 2001) - Add toMof functions to the CIM objects
1010                  (changed the H and CPP files for the major CIM objects. These
1011                  functions generate CIM MOF output for the objects.
1012               
1013               7. (Bapu Patil - HP)  Implementation of Local Channel Authentication. Local
1014                  Authentication provides security mechanism to authenticates CIM clients
1015                  that
1016                  connect to CIM Server on the same system without having to specify a
1017                  password.
1018                  Please refer to "doc/LocalCIMSecurity.pdf" for more information on design.
1019                  This component only works on unix and it's not linked in with the main
1020                  build.
1021                  When authentication framework is defined this component may need to be
1022                  modified to integrate with the framework.
1023 karl    1.49  
1024               ---------------------------------------------------------------------------
1025               Version 0.99.x (Fixes to version 0.99) in Process
1026 mike    1.51  
1027 karl    1.49  NOTE: Please do not input anything to this branch except for critical
1028               fixes.  This is, in effect, 1.0 and we do not want to use it for
1029               development.
1030               
1031               ----------------------------------------------------------------------------
1032               
1033               Version 0.98.0 - Work in progress (This number skipped)
1034 karl    1.48  Version -.99.0 - Tagged as version 0.99,17 July 8:00 am - KS
1035 mike    1.36  
1036 karl    1.38  1. (Mike Brasher) Added support for class association operations
1037 mike    1.37      (references(), associators(), referenceNames(), associatorNames()).
1038               
1039 kumpf   1.39  2. (Jenny Yu - HP) Fixed problem in CGIClient.cpp to handle double quotes
1040                  in the HTML URL reference for passing instance names.
1041               
1042 mike    1.41  3. (Mike Brasher) Mass substitution to prepend CIM_ERR to CIM Status Codes.
1043               
1044               4. (Mike Brasher) Added CIM Message types in preparation for qeueing.
1045               
1046 kumpf   1.40  3. (Denise E. - HP) HP-UX specific changes to lslp-perl-linux,h and slp.h to
1047                  allow slp to compile.
1048               
1049 mike    1.42  4. (Mike Brasher) - Finalized CIM messages.
1050               
1051               5. (Mike Brasher) - Added queue ids concept (using hash table which maps
1052                  ids to queue pointers).
1053               
1054 mike    1.43  6. (Mike Brasher) - Started integration of message queues with ServerHandler
1055                  and Dispatcher.
1056               
1057 karl    1.48  7. (Chip Vincent) - Update Provider2 interfaces. Made changes to Dispatcher
1058               and
1059                  CIMProvider to support both interfaces. Added CIMOMHandle and sample
1060 chip    1.44     ResponseHandler for Provider2 interface.
1061 mike    1.45  
1062               8. (Mike Brasher) - Replaced dispatcher with a queue-based dispatcher.
1063               
1064               9. (Mike Brasher) - Retrofited CIMOMHandle to be queue-based.
1065               
1066 mike    1.46  10. (Mike Brasher) - Changed CIMOMHandle to carry repository pointer.
1067               
1068 mike    1.47  11. (Mike Brasher) - Ported to TRU64.
1069               
1070               12. (Mike Brasher) - Fixed compiler error on Linux.
1071               
1072 karl    1.38  ------------------------------------------------------------------------------
1073               --
1074 mike    1.26  
1075 karl    1.35  Version 0.97.4 - Tag Created for 0.97.4 and snapshot 7 July 2001
1076 karl    1.16  
1077               1. Deamonizaiton added to CIMServer.cpp by Mike Day.  This includes code bothe
1078               for NT and Linux platforms.
1079 mike    1.26  
1080 karl    1.17  2. KS Changed the namespace cimv20 to cimv2 and the default port from 888 to
1081               5988.
1082               NOTE: 5988 is now the officially recognized preferred port for a CIMServer by
1083               the DMTF.
1084 mike    1.26  
1085 karl    1.17  3. KS Corrected some errors found in interoperability testing during the DMTF
1086               Fusion event.  THis included a) extended the test for end of HTTP header from
1087               CR/LF/CR/LF to also allow LF/LF.  Not strictly legal but widely used. b).
1088               Extended the HTTP message ID to allow for non-numeric message IDs.
1089 mike    1.26  
1090 bob     1.18  4. Broke out RepositoryDeclContext class from Repository/CIMRepository.cpp
1091               and created RepositoryDeclContext.{cpp,h}.  This is the first step in
1092               revamping the compiler to work independently of the repository (grb).
1093 mike    1.26  
1094 bob     1.19  5. Created new makefile Compiler/Makefile.grammar and modified
1095               Compiler/Makefile; and added cimmof_tab.{cpp,h} and cimmof_lex.cpp.
1096               Now when you build normally, you will get the committed grammar and parser
1097               files instead of generating your own for a particular platform.  This should
1098               prevent back-level lex and yacc implementations from generating troublesome
1099               code.  The committed files are generated from flex 2.5.4 and bison 1,28.
1100 bob     1.20  (grb)
1101 mike    1.26  
1102 bob     1.20  6.  Added Compiler/compilerDeclContext.{cpp,h} and makefile changes.
1103               This change paves the way for upcoming changes that will allow the compiler
1104               to work indepently of the repository. (grb)
1105 mike    1.26  
1106 karl    1.21  7. Extend testclient (clients/testclient) tests and functions. ks 19 June 2001
1107 mike    1.26  
1108 karl    1.25  8. CV added const to CIMOperations modifyInstance, createInstance,
1109               modifyClass,
1110 chip    1.22  createClass to protect caller's object.
1111 mike    1.26  
1112 karl    1.25  9. CV added CIMQueryProvider and CIMAssociationProvider to the Provider2
1113               directory. These
1114               interfaces allow very smart providers to perform advances operations.
1115               CIMProviderStub has
1116 chip    1.23  been updated to support the new interfaces. Needs testing.
1117 mike    1.26  
1118 sage    1.24  10. Added rpm packaging support and shell script based build process. MM
1119 mike    1.26  
1120 karl    1.25  11. Changed Make so make tests no longer rebuilds repository.  To rebuild
1121               repository you make world, make rebuild or make repository. ks
1122 mike    1.26  
1123               12. Added associators() and associatorNames() operations to CIM repository.
1124 mike    1.27      (MEB)
1125               
1126               13. More on association implementation (all four operations supported).
1127                   Need to handle deletion of associations and protocol stubs still.
1128                   Need to test class associations (rather than just instance associations).
1129                   Need to handle deleteInstance().
1130                   (MEB)
1131 mike    1.26  
1132 mday    1.28  14. slp client code integrated as pegasus-style c++ library. (MDD)
1133               
1134 karl    1.30  15. (Karl)Update CGI Client to correct number of errors and install
1135               AssociationName
1136 karl    1.29  and ReferenceName functions.  This included extensive update to the HTML
1137               pages.
1138               
1139 karl    1.30  16. (Denise E.) Changes to slp client support code for HPUX (
1140 sage    1.31  
1141               17. (Markus Mueller) Additional changes to support dynamic libraries. Fixed
1142               ProviderTable tests. Fixed build process (slp with PEGASUS_SUPPORTS_DYNLIB).
1143               Made cimserver accept the -D flag to eliminate the need for environment
1144               variables.
1145 mike    1.32  
1146               18. (Mike Brasher) Added support for Associators(), AssociatorNames(),
1147                   References() and ReferenceNames() CIM operations. These only operate
1148                   on instances at this time. They will operate on classes soon.
1149 kumpf   1.34  
1150               19. (Mike Glantz) Extended and modified dynamic support
1151                   changes to (1) work on HP-UX and (2) have all images and libraries
1152                   buildable per the value of PEGASUS_SUPPORTS_DYNLIB. The biggest
1153                   change is to program.mak and library-unix.mak, removing specific
1154                   lists of dynamic library specs and putting them in the Makefile
1155                   and libraries.mak files that build the actual targets (lots of
1156                   these now have DYNAMIC_LIBRARIES defined).
1157 karl    1.35  
1158               20. (Karl) added basic Queue function to common (based on array) and added
1159                   tests for stack and queue.
1160 karl    1.38  
1161               ------------------------------------------------------------------------------
1162               --
1163 mike    1.36  
1164 karl    1.16  Version 0.97.3 - Released 5 June 2001
1165 karl    1.11  
1166 karl    1.12  1. (KS)OptionManager (CPP and H), Logger (CPP and H), Handler (CPP and H),
1167               CIMServer (both)
1168 karl    1.11  Functions added include:
1169               	a. Enable trace to log file.
1170 karl    1.12  	b. Add option so that you can trace to console or trace to logfile (-l
1171               	is
1172 karl    1.11  	   trace to log, -t is trace to console).
1173               	c. add parameter in optionsrow for help message and enable the capture
1174 karl    1.12  	   of these messages in Options class.  Also added help print that
1175               	   prints these things out.  However, format not to beautiful.
1176 karl    1.11  	d. Eliminate a couple of messages coming from __Namespace provider.
1177               	e. Extend the Clients\testclient so he does tests on Namespace.
1178 karl    1.15  2. (KS)Extended Log to show time, severity.
1179 mike    1.33  
1180 karl    1.15  3. (KS)Added getCurrentASCIITime functions to System.x
1181 mike    1.33  
1182 karl    1.15  4. (KS)Extended options on CIMServer including 1. option to determine where
1183               logs
1184 karl    1.12  are put
1185 mike    1.33  
1186 karl    1.15  5. (KS)Added TestClient that executes a series of tests against a server.
1187               This is a preliminary version.
1188 mike    1.33  
1189 karl    1.15  6. (KS)Corrected problem with acceptor.bind where failure was being lost. Now
1190 karl    1.13  throws CannotBind exception.
1191 mike    1.33  
1192 karl    1.15  7. (KS)Added logger entry to XMLParser for errors.  NOTE: At this point it may
1193               not
1194 karl    1.14  print out all of the message.  At the least it prints out the error message
1195               and components of the message causing the problem.
1196 mike    1.33  
1197 karl    1.15  8. (KS)Added clean option to server but temprarily disabled.
1198 mike    1.33  
1199 karl    1.15  9. (KS)Fixed problem where logs were not created unless logs directory already
1200 karl    1.14  existed.
1201 mike    1.33  
1202               10. (Mike Brasher) Added "Test" prefix to all test program names.
1203 karl    1.15  
1204 karl    1.29  ------------------------------------------------------------------------------
1205               --
1206 karl    1.6   Version 0.97.2
1207               
1208               1. Extend HP UX port to correctly load Dynamic Load Libraries.
1209               2. Extend Formatter for Boolean and Uint32 types.
1210               3. Change CIM Server to use Trace (-t) flag.  This also changed
1211                  Handler.h to work off of flag.
1212               4. Minor corrections to __Namespace Provider.
1213               5. Extend tests for Formatter, String, and other modules.
1214               6. Correct errors in documentation.
1215               7. New working papers (provider interface).
1216 karl    1.8   8. Add Providerreg.exe tool.
1217               9. Add trace output for messages sent from the Server.
1218 mike    1.26  
1219 karl    1.29  ------------------------------------------------------------------------------
1220               --
1221 mike    1.26  
1222 karl    1.6   23 May 2001 Version 0.97.1 Tags as version_0_971
1223 karl    1.5   
1224 karl    1.3   1. Add PEG_NOT_FOUND symbol to replace Uint32(-1) in any of the object
1225               find functions.  Note: This symbol is defined in config.h. (ks).
1226               
1227 karl    1.5   2. Port To HP UX.  This required a number of changes particularly in the area
1228               of dynamic lib loaading.
1229 karl    1.1   
1230               
1231 karl    1.29  ------------------------------------------------------------------------------
1232               --
1233 mike    1.26  
1234 karl    1.3   21 May 2001  Version 0.97 - Tagged as version_0_97
1235 karl    1.1   
1236               1. Added methods in CIMClass, CIMInstance, for existance of properties,
1237               qualifiers, methods.
1238               2. Add methods in CIMClass, CIMInstance to remove properties, qualifier,
1239               methods.
1240               3. Added CIMmethod and CIMProperty in CIMMethod to text for existance of
1241               qualifiers and to
1242               remove qualifiers.
1243               4. Ported to AIX. NOTE: This port was done using an earlier version of the AIX
1244               compiler.  It probably imposed more limitations than would be required with
1245 karl    1.2   the current compiler.  This version of the port produces an excessively large
1246               common module due to template bloat.  That problem will be fixed in a future
1247               change to the port. Also there are a log of duplicate symbol warnings generate
1248               by the AIC compiler but these cause no problems.  The port has been tested
1249               with the complete unit test and client/server test successfully.
1250 karl    1.1   
1251               --------------------------------------------------------------------------
1252 karl    1.2   
1253 mike    1.4   23 May 2001
1254 karl    1.1   
1255 mike    1.9   1.  Ported to HPUX
1256 karl    1.5   
1257 mike    1.9   --------------------------------------------------------------------------
1258               
1259               29 May 2001
1260               
1261               1.  Implemented CIMRepository::setProperty() and CIMRepository::getProperty().
1262 mike    1.51  
1263               
1264               
1265               
1266 karl    1.48  
1267 karl    1.38  
1268 karl    1.30  
1269 karl    1.29  
1270 mike    1.10  

No CVS admin address has been configured
Powered by
ViewCVS 0.9.2