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

Diff for /pegasus/doc/Attic/changelog.txt between version 1.49.2.65 and 1.83

version 1.49.2.65, 2001/12/12 20:05:42 version 1.83, 2002/03/18 19:53:16
Line 1 
Line 1 
 CHANGE LOG FOR PEGASUS CHANGE LOG FOR PEGASUS
  
   
   Version 1.07 working towards 1.1 - Started 4 Feb 2002
   Started just before cutover to the new dispatcher, etc.
   TAG: VERSION_1_07
   
   1. KS - Updated pegsusversion to 1.07  and tagged file.
   
   2. (Markus Mueller) 05 Feb 2002 - AIX support.
   
   3. (Sushma Fernandes - HP) 13 Feb 2002 Implemented FileSystemPropertyOwner
       class to support PEGASUS_HOME dependent properties like Repository
       location, Provider location and Consumer location.
       The default location for these properties continue to be the same
       as before. Added support to the Config Manager to own the
       Pegasus Home variable and implemented method (getHomedPath) to
       return absolute paths based from Pegasus Home.
   
       For more information look in to the following files:
       pegasus/src/Pegasus/Config/ConfigManager.h
       pegasus/src/Pegasus/Config/ConfigManager.cpp
       pegasus/src/Pegasus/Config/FileSystemPropertyOwner.h
       pegasus/src/Pegasus/Config/FileSystemPropertyOwner.cpp
   
   4. KS -  18 Feb 02 Add changes to test for and set the NULL value for CIMValues.
      This forces new CIMValues to have a NULL attributes that is only
      reset when a value is "set" or copied into them.  the XML and MOF
      also deliver a NULL value back when the state of the CIMValue is NULL.
      There is a remaining addition to put an exception on CIMValue gets when
      the NULL attribute is set that we will install later.
   
   5. KS - 19 Feb 2002 Extended testclient slightly and cleaned up numerous bugs.
   
   6. KS - 19 Feb 2002 - Add workpaper in doc/workpaper defining the Pegasus Qualifiers.
      Note that this version of the paper still needs work.
   
   7. (Nag Boranna - HP) 20 Feb 2002 - Modified HTTPAcceptor to optionally bind to
   loopback host. Modified CIMClient to connect to loopback host when connectLocal()
   method is used. Added a new method lookupPort() in System.h to return the system
   configured wbem port number. Modified cimuser, cimauth and cimconfig CLI's to use
   modified CIMClient connectLocal() interface.
   
   8. (KS- 21 Feb 2002) - Modified Makefile for repository load so located in
   schema directory.  The one in src/pegasus/compiler/load is deprecated and
   will be deleted.
   
   9. KS-21 Feb 2002 - Added new constructor to CIMValue and associated tests
   
   10. RK-20 Feb 2002 - Add Array reference to CIMValue and added tests
   
   11. (Sushma Fernandes - HP, Nag Boranna - HP) 22 Feb 2002 Implemented
       checks for privileged user when performing authorization.
       Added a configuration property enableRemotePrivilegedUserAccess.
       This property needs to be set to true to enable privileged user access
       for remote clients.
   
   12. (Roger Kumpf - HP) 22 Feb 2002 - Added type information to extrinsic
       method (InvokeMethod) operations.  This change involves the addition
       of PARAMTYPE attributes to PARAMVALUE and RETURNVALUE tags.  This tag
       allows the server to determine the type of a parameter value without
       having to look up the method definition in the schema.  It also allows
       the client API to do the same for output parameters as well as return
       values.
   
       PROVIDER IMPLICATIONS:
   
       Method providers ARE affected by this change.  Previously, all input
       parameters to invokeMethod were sent to the provider as String type
       regardless of what the client actually specified or how the method
       was defined.  With this change, providers will now receive input
       parameters of the type that was actually specified by the client
       application (regardless of how the method was defined in the schema).
   
       However, parameters coming from clients other than the Pegasus client
       API may omit the PARAMTYPE attribute.  In this case, the operation
       processor (currently dispatcher) will find these "typeless" parameters
       and convert them to the correct type based on the method definition.
       The result is that if the client specifies the parameter type in the
       XML encoding (as the Pegasus client API does), the method provider
       will receive the type specified by the client; if the client does not
       specify the parameter type, the method provider will see the type
       specified in the method definition.
   
       CLIENT IMPLICATIONS:
   
       Clients ARE affected by this change.  Any output parameters that are
       returned from Pegasus (or other CIM servers using the PARAMTYPE
       attribute) will now be received by Pegasus clients as the same type
       sent by the server.  Previously, they would have always been of
       String type.  In addition, the return value will be received as the
       correct type rather than as a String.
   
       Parameters coming from servers other than Pegasus may omit the
       PARAMTYPE attribute.  In this case, the client will see a
       CIMParamValue with type==CIMType::NONE, with a CIMValue of type
       String.  Similarly, return values coming from other servers that omit
       PARAMTYPE will be seen by the client as String type.  These return
       values will NOT have the CIMType::NONE hint that parameters get,
       because they are CIMValues rather than CIMParamValues.
   
       This behavior will remain for the forseeable future (through
       Pegasus version 2), as it is not possible to require that other
       implementations use the PARAMTYPE attribute.
   
       SIDE EFFECTS:
   
       In the process of implementing this functionality, I discovered
       that there was no way to set a CIMValue to be an array of
       CIMReferences.  This appeared to be an oversight, since method
       parameters are permitted to be arrays of CIMReferences.  I've
       added the necessary functionality to the CIMValue class.
   
       I also found that the CIMParamValue class needed significant
       clean-up, which I completed.
   
       SETPROPERTY CHANGES:
   
       A similar problem in SetProperty operations was addressed by
       "typing" the specified property value in the operation processor
       (currently dispatcher).  This is achieved by looking up the
       relevant schema to get the property definition, and then converting
       the specified value to that property's type.
   
       The SetProperty operation encoding has not changed to accomodate
       inclusion of type information that would obviate the need for this
       extra processing.  However, clients can avoid this overhead by using
       ModifyInstance operations (with a property list) instead of SetProperty.
   
       The GetProperty operation also has NOT been updated with type
       information.  Client applications using the Pegasus client API will
       always receive String or reference values when calling GetProperty
       against any server (Pegasus or not).  Clients that require properties
       to be returned as the correct type must use GetInstance (perhaps with
       a property list) rather than GetProperty.
   
   13. (Roger Kumpf - HP) 22 Feb 2002 - Reworked the CIMParamValue class.
       Instead of being composed of a CIMParameter and a CIMValue, this
       class is now composed of a String (parameter name) and a CIMValue.
       This change removes the redundancy of having the type, isArray,
       and arraySize members in both the CIMParameter and the CIMValue.
       The new CIMParamValue definition is more consistent with the XML
       encoding of parameter values.
   
       An isTyped member was also added to CIMParamValue to support the
       behavior outlined in item 12 above.  Clients should use the isTyped()
       method to determine whether the output parameters returned from
       InvokeMethod operations are of the correct type, or whether they
       have defaulted to String type.
   
   14. (KS) 4 March 2002 - Corrections for NULL value and the XML code.
       Corrections to compiler for Null values input (parser and valuectory)
   
   15. (Nag Boranna - HP) 04 March 2002 - Modified CIMClient API to accept
       username and password as parameters to connect() method, added a new
       method diconnect() that closes the open connection with the server
       and added code to handle HTTP Basic authentication challenges from
       the server.
   
   16  (KS) 4 March 2002 - Correct problem with array constants not picking up
       all of the entires in the array. Bugzilla bug # 6.
   
   17. (Yi Zhou - HP) 4 March 2002 - Implemented provider registration manager
       to perform efficient lookup of instance provider, method provider, and
       indication provider. Also, implemented provider registration instances
       operations.
   
       Modified registration provider to use latest provider registration schema.
   
   18  (KS) 6 March 2002 - Implemented changes to compiler and flavors to correct the
       definition of CIMFlavors.
   
   
   19. (Roger Kumpf - HP) 1 Mar 2002 - Reworked the XmlWriter class to
       eliminate many of the redundant memory copies that resulted from the
       nested method call structure.  Now, instead of having a method at
       each level that adds a begin tag, contents, and an end tag, there
       are separate methods to add the begin and end tags.  At the top
       level, each of the begin tag methods are called, then the message
       "body" is added, followed by calls to the end tag methods.
   
       The message body is currently still copied twice, once into the XML
       payload and then again when the HTTP header is added.  (Since the
       HTTP header contains a content length field, the header cannot be
       constructed until the payload is complete.)  It is possible to
       remove these extra copies as well, but that would require additional
       changes elsewhere in the code.  For example, the HTTPMessage class
       would need to hold the headers and payload separately rather than in
       a single buffer.
   
       Along with these changes, I did a lot of cleanup.  Much of the XML
       formatting code has been moved from CIMReference to XmlWriter.  Also,
       error message formatting has been consolidated in XmlWriter from the
       various encoders and decoders, etc.
   
   20. (Roger Kumpf - HP) 5 Mar 2002 - Added checks in the
       CIMOperationRequestDecoder and CIMExportRequestDecoder to validate
       that the information in the HTTP headers of a request is consistent
       with what is encoded in the XML request itself.
   
       Specifically, the CIMOperation, CIMProtocolVersion, CIMMethod,
       CIMObject, CIMBatch, CIMExport, and CIMExportBatch headers are
       validated.
   
   21. (KS) 7 March 2002 - Correct error in qualifier propagation processing in
       qualifierlist.resolve. Temporarily remove the DEFAULT setup on the
       Compiler qualifier generation. Add tests for resolve processing.
   
   22. (Roger Kumpf - HP) 8 Mar 2002 - Simplified CIMClient API construction.
       Previously, the client application constructed a client API using:
   
           Monitor* monitor = new Monitor;
           HTTPConnector* connector;
           connector = new HTTPConnector(monitor);
           Uint32 timeoutMillis = 60 * 1000;    // optional
   
           CIMClient client(monitor, connector, timeoutMillis);
   
       With this change, the client application now looks like:
   
           Uint32 timeoutMillis = 60 * 1000;    // optional
   
           CIMClient client(timeoutMillis);
   
       The old style allowed an SSL context to be specified in the HTTPConnector
       constructor.  It seems that the SSL context is really a property of a
       connection rather than of the client API.  So instead of adding an SSL
       context parameter to the CIMClient constructor, I added it to the CIMClient
       connect() method.  There are now forms of the connect() method with and
       without an SSL context.  Similar changes were made in the HTTPConnector
       class to allow specification of an SSL context in the connect() method
       rather than in the constructor.
   
       NOTE:  Client applications are affected and must be updated with this
       change.  I've already updated all the clients that are checked in and
       included in the Pegasus build.
   
   23. (KS) 8 March 2002 - Correct error in compiler that caused length field
       of fixed length arrays to be lost.
   
   24. (Jenny Yu - HP) 8 March 2002 - Modified the CIMException class to NOT
       include the source filename and line number in the exception message.
       However, for anyone who wishes to include such information in the
       CIM Exception message, a compile option DEBUG_CIMEXCEPTION can be used
       for that purpose.
   
       A couple of changes have been made to the Tracer class:
   
       - CIMException messages can now be put in a trace file using the Tracer.
         A new interface has been added to the Tracer to accept a CIMException
         as input and writes the exception message in the CIMException to the
         trace file.  This message will include the source filename and the
         line number of the CIMException originator.
   
         Tracer::traceCIMException(traceComponent, traceLevel, cimException);
   
       - Strings can now be traced using the Tracer class:
         A new interface has been added to the Tracer to accept a String as
         input and writes the String to the trace file.
   
         (ex.)
         You can issue the following method call:
            Tracer::trace(TRC_CONFIG, Tracer::LEVEL2, "Operation Failed.");
   
         or use the following new macro:
            PEG_TRACE_STRING(TRC_CONFIG, Tracer::LEVEL2, "Operation Failed.");
   
   25.  (Ramnath Ravindran - Compaq) 11 March 2002 - added IPCTru64.h and modified
           several files so that Pegasus could build and run on Tru64 unix.  Added
           one macro in ConfigUnix and ConfigWindows (PEGASUS_OR_IOS_BINARY) in
           the case where std::ios::binary is present with a bitwise OR operator.
           This macro only works when the std::ios::binary is NOT the first
           operator to be "OR"ed.
   
   26.  (Ramnath Ravindran - Compaq) 12 March 2002 - modified more files so that
           Pegasus could build and run on Tru64 unix. Finished replacing instances
           of ios::binary with the macros PEGASUS_IOS_BINARY and
           PEGASUS_OR_IOS_BINARY. Also modified some code that dealt with file
           streams.  Tru64 does not support the use of the " != " operator on a
           fstream object.  Instances of such were either modified or an ifdef
           block detecting a build on Tru64 was used.  Added cstdarg and ctime in
           pegasus/src/stdcxx/cwrappers/ directory.
   
   27.  (Mary Hinton) 16 March 2002 - fixed the CIMServer so that it could once
           again be installed as a Windows service. The repositoryRootPath could
           not be found, because the pegasusHome variable was not being set properly
           in the Windows service work thread.
   
   28.  (Bob Blair by KS) 17 March 2002 - Modified repository so there is both a
           local repository (cimmofl) and a client interface repository (cimmof)
           executable
   
   29.  (KS ) 18 March 2002 - Modified schema makefiles to use the cimomfl respository
           executable.
   -------------------------------------------------------------------
   Version 1.06 working towards 1.1 Started 13 December 2001
   
   1. Merged back to Main branch.  All general development will be in main branch
          in the future with releases in side branches. Special side developments
          may temporarily be in side branches.
          Changed cimversion to 1.06.  We will do 1.1 based on functionality.
   
   2. (Karl) 18 December 2001 - Added new directory repositories where repository
           implementations will be kept to separate them from the
           repository interface defintion. Initial implementation is genericfile
           which is the current file based repository.
   
           Added new build variable RMREPOSITORY which is a generic MAKE command
           to remove an existing repository.  It simply substitutes for the RMDIRHIER
           command at this point but we will make this a generic part of system
           in the future.
   
   3. (Roger Kumpf - HP) 18 Dec 2001 - Updated the CIMOperationRequestDecoder
      to check that all required parameters for intrinsic methods are
      present.  If a required parameter is missing, a CIM_ERR_INVALID_PARAMETER
      exception is thrown.  Also added checks for duplicate parameters in the
      intrinsic methods.  If a parameter is specified more than once, a
      CIM_ERR_INVALID_PARAMETER exception is thrown.
   
   4. (Nag Boranna - HP) 14 Jan 2002 - Created CIMOperationRequestAuthorizer queue
      and moved Authorization verification code from CIMOperationRequestDecoder
      queue to this new queue. Modified CIMServer.cpp to create
      CIMOperationRequestAuthorizer queue only when authorization is enabled.
      Also modified CIMRequestMessagesin CIMMessage.h to include userName to make
      it available to the CIMOperationRequestDispatcher.
   
   5. (Mary Hinton - Jan 17, 2002) Fixed the problem with the CIMserver when it
      runs as a Windows service. The work thread was exiting instead of running
      forever. The problem was noticed when the TestClient program and CIMserver
      service were both running. The service wasn't accessible to the TestClient
      program.
   
   6. (Nitin Upasani - Jan 25, 2002) Operations on CIM_IndicationSubscription,
       CIM_IndicationHandlerCIMXML and CIM_IndicationFilter classes will be now processed
       in new queue, IndicationService which will get invoked from dispatcher.
       CIM_CREATE_INSTANCE_REQUEST_MESSAGE
       CIM_MODIFY_INSTANCE_REQUEST_MESSAGE
       CIM_DELETE_INSTANCE_REQUEST_MESSAGE
       CIM_GET_INSTANCE_REQUEST_MESSAGE
       CIM_ENUMERATE_INSTANCES_REQUEST_MESSAGE
       CIM_ENUMERATE_INSTANCE_NAMES_REQUEST_MESSAGE
   
       This new service will also take care of processing the indications on receiving
       CIM_PROCESS_INDICATION_REQUEST_MESSAGE. This message should come from
       IndicationProvider or some other mechanism which is not yet clear.
   
       IndicationService will also receive following messages from PG_ProviderRegistration
       when a new IndicationProvider will get registered.
       CIM_NOTIFY_PROVIDER_REGISTRATION_REQUEST_MESSAGE
       CIM_NOTIFY_PROVIDER_TERMINATION_REQUEST_MESSAGE
   
       I had also defined new Indication Provider APIs, enableIndication, disableIndication
       and modifyIndication with more parameters passed and eventually planning to terminate
       old APIs (provideIndication, cancelIndication and updateIndication). Also there is a
       plan to implement one more call as startIndication and will be done soon.
   
       There are three new test programs in IndicationService directory, which will create
       Filter, Indication and Subscription instances using IndicationService.
   
       Also modified sample IndicationProvider code with the new APIs introduced.
   
   -------------------------------------------------------------------------
   
 Version 1.1.1 - 3 August 2001 -  Development Branch (Work in Progress) Version 1.1.1 - 3 August 2001 -  Development Branch (Work in Progress)
                 current working dev branch of build                 current working dev branch of build
  
   ---------------------------------------------------------------------------
   Version 1.1 - July 2001 Development branch (Work in PRogress)
   
   1. (Mike Brasher) Fixed bug with XML generation (was not generating
      PARAMETER.REFERENCE constructs for references).
   
   2. (Mike Brasher) Reworked server communication into new module scheme.
   =======
 1. (Karl) 6 Aug - extend ToMof functions. The MOF for a class can now be 1. (Karl) 6 Aug - extend ToMof functions. The MOF for a class can now be
         seen as part of CGIclient class displays.         seen as part of CGIclient class displays.
  
Line 559 
Line 928 
    When authentication framework is defined this component may need to be    When authentication framework is defined this component may need to be
    modified to integrate with the framework.    modified to integrate with the framework.
  
 8. (Sushma Fernandes - HP) Removed the ltoa() function call from Tracer.cpp.  
    Added a constant to define the maximum length of uint32.  
   
 --------------------------------------------------------------------------- ---------------------------------------------------------------------------
 Version 0.99.x (Fixes to version 0.99) in Process Version 0.99.x (Fixes to version 0.99) in Process
  


Legend:
Removed from v.1.49.2.65  
changed lines
  Added in v.1.83

No CVS admin address has been configured
Powered by
ViewCVS 0.9.2