Home | History | Annotate | Download | only in cimserver
      1 --- old/pegasus/mak/SDKMakefile	2008-11-12 15:37:11.780365000 -0500
      2 +++ new/pegasus/mak/SDKMakefile	2008-11-12 15:37:11.312376000 -0500
      3 @@ -120,6 +120,14 @@
      4     Pegasus/Provider/Linkage.h \
      5     Pegasus/Provider/ProviderException.h
      6  
      7 +## Common Platform Include for SOLARIS platform.
      8 +## Add Platform_SOLARIS_CC.h file
      9 +ifdef PEGASUS_OS_SOLARIS
     10 +    ifeq ($(findstring _CC, $(PEGASUS_PLATFORM)), _CC)
     11 +        INCLUDE_FILES += Pegasus/Common/Platform_SOLARIS_CC.h
     12 +    endif
     13 +endif
     14 +
     15  # CMPI header files
     16  INCLUDE_FILES += \
     17     Pegasus/Provider/CMPI/cmpift.h \
     18 --- old/pegasus/mak/config.mak	2008-11-12 15:37:36.825556000 -0500
     19 +++ new/pegasus/mak/config.mak	2008-11-12 15:37:36.326815000 -0500
     20 @@ -838,15 +838,12 @@
     21  #
     22  # PEGASUS_ENABLE_SLP and PEGASUS_DISABLE_SLP
     23  #
     24 -# PEGASUS_DISABLE_SLP has been depracated. New use model is:
     25 +# PEGASUS_DISABLE_SLP has been deprecated. New use model is:
     26  #
     27  # Use PEGASUS_ENABLE_SLP=true  to enable  compilation of SLP functions.
     28  #
     29  # Use PEGASUS_ENABLE_SLP=false to disable compilation of SLP functions.
     30  #
     31 -# Currently (Aug. 12, 2005) Windows is the only platform that enables SLP
     32 -# by default.
     33 -#
     34  # NOTE. Effective with Bug # 2633 some platforms enable SLP.
     35  # To see which platforms look for platform make files that set
     36  # the variable PEGASUS_ENABLE_SLP.
     37 @@ -881,6 +878,14 @@
     38  #
     39  # PEGASUS_USE_OPENSLP
     40  #
     41 +## NOTE:  This variable has been deprecated and superceded by the use of
     42 +## PEGASUS_USE_EXTERNAL_SLP.  The use of this variable may be
     43 +## removed from PEgasus in future releases.  It is converted to the
     44 +## PEGASUS_USE_EXTERNAL_SLP variable in the following function.
     45 +## Do not allow PEGASUS_USE_EXTERNAL_SLP if PEGASUS_ENABLE_SLP not set and
     46 +## insure that PEGASUS_USE_OPENSLP and PEGASUS_USE_EXTERNAL_SLP are not used
     47 +## simultaneously.
     48 +#
     49  # Environment variable to set openslp as SLP environment to use
     50  # for SLP Directory and User Agents.
     51  #
     52 @@ -888,10 +893,7 @@
     53  # internal pegasus slp agent.  Note that this does not disable the
     54  # compilation of the internal agent code, etc.  However, it assumes
     55  # openslp is installed on the platform and changes the interfaces
     56 -# to match this.  At this moment, this is a change specifically for
     57 -# adaptec but we expect to generalize it to provide openslp as a
     58 -# generalized alternative to ldapslp.
     59 -# to use this. To set this function up,
     60 +# to match this.
     61  #
     62  # Use this variable in conjunction with PEGASUS_OPENSLP_HOME
     63  # to enable OpenSlp as the slp implementation.
     64 @@ -900,11 +902,19 @@
     65  #
     66  
     67  ifdef PEGASUS_USE_OPENSLP
     68 +  ifdef PEGASUS_USE_EXTERNAL_SLP
     69 +      $(error Both PEGASUS_USE_OPENSLP and PEGASUS_USE_EXTERNAL_SLP defined. \
     70 +          Please use PEGASUS_USE_EXTERNAL_SLP)
     71 +  endif
     72 +  ## if PEGASUS_USE_OPENSLP used, convert to EXTERNAL_SLP variables
     73 +  ## as defined for openslp
     74    ifeq ($(PEGASUS_USE_OPENSLP),true)
     75      ifeq ($(PEGASUS_ENABLE_SLP),true)
     76 -      DEFINES += -DPEGASUS_USE_OPENSLP
     77 +      PEGASUS_USE_EXTERNAL_SLP=openslp
     78 +      PEGASUS_USE_OPENSLP=
     79      else
     80 -      $(error PEGASUS_USE_OPENSLP defined but PEGASUS_ENABLE_SLP is not true. Please correct this inconsistency)
     81 +      $(error PEGASUS_USE_OPENSLP defined but PEGASUS_ENABLE_SLP is not true. 
     82 +        Please correct this inconsistency)
     83      endif
     84    else
     85      ifneq ($(PEGASUS_USE_OPENSLP), false)
     86 @@ -915,22 +925,72 @@
     87    endif
     88  endif
     89  
     90 +#########################################################################
     91  # PEP 267
     92  # SLP reregistration support.
     93  # PEGASUS_SLP_REG_TIMEOUT is defined as the SLP registration timeout
     94  # interval, in minutes.
     95  ifdef PEGASUS_SLP_REG_TIMEOUT
     96      ifeq ($(PEGASUS_ENABLE_SLP),true)
     97 -       DEFINES += -DPEGASUS_SLP_REG_TIMEOUT=$(PEGASUS_SLP_REG_TIMEOUT)
     98 -     else
     99 -       $(error PEGASUS_SLP_REG_TIMEOUT defined but PEGASUS_ENABLE_SLP is not true. Please correct this inconsistency)
    100 -     endif
    101 - endif
    102 +        DEFINES += -DPEGASUS_SLP_REG_TIMEOUT=$(PEGASUS_SLP_REG_TIMEOUT)
    103 +    else
    104 +        $(error PEGASUS_SLP_REG_TIMEOUT defined but PEGASUS_ENABLE_SLP is not true. \
    105 +          Please correct this inconsistency)
    106 +    endif
    107 +endif
    108 +
    109 +############################################################################
    110 +#
    111 +# PEGASUS_USE_EXTERNAL_SLP
    112 +
    113 +# Environment variable to set an external slp implementation as the SLP
    114 +# environment to use for SLP Directory Agents.
    115 +
    116 +# This allows setting any one of several possible external SLP SAs as the
    117 +# interface for the SLP provider to communicate with in managing SLP templates
    118 +# in place of the internal SLP agent provided with Pegasus.
    119 +# Note: This does not disable the compilation of the internal agent code since
    120 +# this is used for the SLP UA defined with the pegasus client.
    121 +# Pegasus assumes that the external SLP defined is installed on the platform
    122 +# and running when pegasus is started. It changes the interfaces from the SLP
    123 +# provider to match the defined SLP implementation.
    124 +
    125 +# This environment variable superceedes the use of PEGASUS_USE_OPENSLP since
    126 +# openslp is considered one of the valid external SLP environments usable by
    127 +# pegasus.
    128 +
    129 +# The variable uses the value component to define a name for the external SLP
    130 +# environment that must match one of the names defined below.
    131 +
    132 +# This variable is not allowed if the PEGASUS_ENABLE_SLP flag is not set.
    133 +
    134 +# Allow only predefined string values for the variable corresponding
    135 +# to external slp types that pegasus knows.
    136 +# Valid types are openslp (1) and solarisslp (2)
    137 +EXTERNAL_SLP_TYPES = openslp solarisslp
    138 +
    139 +ifdef PEGASUS_USE_EXTERNAL_SLP
    140 +  ifeq ($(PEGASUS_ENABLE_SLP),true)
    141 +    ifeq ($(PEGASUS_USE_EXTERNAL_SLP),openslp)
    142 +	DEFINES += -DPEGASUS_USE_EXTERNAL_SLP_TYPE=1
    143 +    else
    144 +	ifeq ($(PEGASUS_USE_EXTERNAL_SLP),solarisslp)
    145 +	  DEFINES += -DPEGASUS_USE_EXTERNAL_SLP_TYPE=2
    146 +	else
    147 +	 $(error PEGASUS_USE_EXTERNAL_SLP value ($(PEGASUS_USE_EXTERNAL_SLP)) \
    148 +	   invalid. It must be one of valid SLP external types \
    149 +	   ($(EXTERNAL_SLP_TYPES)) )
    150 +	endif
    151 +    endif
    152 +  endif
    153 +endif
    154  
    155  ############################################################################
    156  #
    157  # PEGASUS_OPENSLP_HOME
    158  #
    159 +# PEGASUS_OPENSLP_HOME superceeded by PEGASUS_OPEN_EXTERNAL_SLP_HOME. If
    160 +# PEGASUS_OPENSLP_HOME is encountered it will create PEGASUS_OPEN_EXTERNAL_SLP_HOME
    161  # Environment variable to set home location for OpenSLP include and library
    162  # files if they are located somewhere other than /usr/include and /usr/lib.
    163  #
    164 @@ -944,7 +1004,36 @@
    165  #     then this environment variable should be set to /opt/OpenSLP.
    166  #
    167  
    168 +ifdef PEGASUS_OPENSLP_HOME
    169 +  ifdef PEGASUS_OPEN_EXTERNAL_SLP_HOME
    170 +    $(error Both PEGASUS_OPENSLP_HOME and PEGASUS_OPEN_EXTERNAL_SLP_HOME defined. \
    171 +	Please use PEGASUS_OPEN_EXTERNAL_SLP_HOME)
    172 +  else
    173 +	PEGASUS_EXTERNAL_SLP_HOME=$(PEGASUS_OPENSLP_HOME)
    174 +  endif
    175 +endif
    176  
    177 +############################################################################
    178 +#
    179 +# PEGASUS_EXTERNAL_SLP_HOME
    180 +#
    181 +# Environment variable to set home location for External SLP include and library
    182 +# files if they are located somewhere other than /usr/include and /usr/lib.
    183 +#
    184 +# This variable superceeds PEGASUS_OPENSLP_HOME to match the use of
    185 +# PEGASUS_USE_EXTERNAL_SLP variable.
    186 +#
    187 +# PEGASUS_USE_EXTERNAL_SLP must also be defined for this environment variable
    188 +# to have any effect.
    189 +#
    190 +# This is the directory level within which both the include and lib
    191 +# directories holding the OpenSLP files will be found.
    192 +#
    193 +# EG: If the are located in /opt/OpenSLP/include and /opt/OpenSLP/lib
    194 +#	then this environment variable should be set to /opt/OpenSLP.
    195 +#
    196 +
    197 +############################################################################
    198  #
    199  # Enable this flag to allow the handshake to continue regardless of verification result
    200  #
    201 --- old/pegasus/mak/platform_SOLARIS_SPARC_CC.mak	2008-11-12 15:37:43.792993000 -0500
    202 +++ new/pegasus/mak/platform_SOLARIS_SPARC_CC.mak	2008-11-12 15:37:43.519023000 -0500
    203 @@ -27,137 +27,13 @@
    204  #// ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
    205  #// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
    206  #//
    207 -#//==============================================================================
    208 -include $(ROOT)/mak/config-unix.mak
    209 +#//=============================================================================
    210  
    211 -OS = solaris
    212 +#PEGASUS_SOLARIS_NEED_PTO=1
    213  
    214 -ARCHITECTURE = sparc
    215 -
    216 -COMPILER = CC
    217 -
    218 -CC = cc
    219 -
    220 -#
    221 -# This is a hack because the Pegasus build system doesn't have a way to specify
    222 -# flags just for the C compiler or just for the C++ compiler.
    223 -#
    224 -CXX = CC -pto
    225 -
    226 -SH = sh
    227 -
    228 -YACC = yacc
    229 -
    230 -RM = rm -f
    231 -
    232 -DIFF = diff
    233 -
    234 -SORT = sort
    235 -
    236 -COPY = cp
    237 -
    238 -MOVE = mv
    239 -
    240 -LIB_SUFFIX = .so
    241 -
    242 -PEGASUS_SUPPORTS_DYNLIB = yes
    243 -
    244 -SYS_INCLUDES = 
    245 -
    246 -DEFINES = -DPEGASUS_PLATFORM_$(PEGASUS_PLATFORM) -D_POSIX_PTHREAD_SEMANTICS
    247 -
    248 -DEFINES += -DPEGASUS_OS_SOLARIS
    249 +LIBBASE=lib
    250  
    251 -# PEGASUS_SNIA_INTEROP_TEST is currently (1/27/06) tested  and set in these 
    252 -# platform files:
    253 -#
    254 -#    platform_SOLARIS_SPARC_CC.mak
    255 -#    platform_WIN32_IX86_MSVC.mak
    256 -#
    257 -ifdef PEGASUS_SNIA_INTEROP_TEST
    258 -DEFINES += -DPEGASUS_SNIA_INTEROP_TEST
    259 -endif
    260 +include $(ROOT)/mak/platform_SOLARIS_CC.mak
    261  
    262 -#
    263 -# This is needed for SPARC.  It shouldn't be needed for x86
    264 -# or x86-64 if a port is ever done for Solaris on those
    265 -# platforms.
    266 -#
    267 -DEFINES += -DTYPE_CONV
    268 -
    269 -# "READBUG" forces fstream.read to read 1 char at a time to
    270 -# overcome a bug in Wshop 6.2
    271 -# There are patches for this now.
    272 -#
    273 -# DEFINES += -DPEGASUS_OS_SOLARIS_READBUG
    274 -
    275 -SUNOS_VERSION = $(shell uname -r)
    276 -
    277 -
    278 -# Pegasus requires the kernel LWP thread model.
    279 -# It doesn't exist on SunOS 5.6 or 5.7 so thery are no longer supported.
    280 -#
    281 -ifeq ($(SUNOS_VERSION), 5.6)
    282 -DEFINES += -DSUNOS_5_6
    283 -    $(error SunOS version 5.6 is not supportted)
    284 -endif
    285 -
    286 -# Pegasus requires the kernel LWP thread model.
    287 -# It doesn't exist on SunOS 5.6 or 5.7 so thery are no longer supported.
    288 -#
    289 -ifeq ($(SUNOS_VERSION), 5.7)
    290 -DEFINES += -DSUNOS_5_7
    291 -    $(error SunOS version 5.7 is not supportted)
    292 -endif
    293 -
    294 -ifeq ($(SUNOS_VERSION), 5.8)
    295 -DEFINES += -DSUNOS_5_8
    296 -endif
    297 -
    298 -ifdef PEGASUS_USE_DEBUG_BUILD_OPTIONS 
    299 -FLAGS = -g -KPIC -mt -xs -xildoff
    300 -else
    301 -FLAGS = -O4 -KPIC -mt -xildoff -s -xipo=1
    302 -endif
    303 -
    304 -# Need warnings:
    305 -FLAGS += +w
    306 -
    307 -##==============================================================================
    308 -##
    309 -## COMMON_SYS_LIBS
    310 -##
    311 -##     Build the common list of libraries used in linking both libraries and
    312 -##     programs.
    313 -##
    314 -##==============================================================================
    315 -
    316 -COMMON_SYS_LIBS = -lpthread -ldl -lsocket -lnsl -lxnet -lCstd
    317 -
    318 -ifeq ($(SUNOS_VERSION), 5.6)
    319 -COMMON_SYS_LIBS += -lposix4
    320 -else
    321 -COMMON_SYS_LIBS += -lrt
    322 -endif
    323 -
    324 -# on SunOS 5.8 use the alternate (kernel LWP) thread model that is standard on 
    325 -# SunOS 5.9 and 5.10
    326 -# 
    327 -ifeq ($(SUNOS_VERSION), 5.8)
    328 -COMMON_SYS_LIBS += -R /usr/lib/lwp
    329 -endif
    330 -
    331 -##==============================================================================
    332 -##
    333 -## SYS_LIBS (system libraries needed to build programs)
    334 -##
    335 -##==============================================================================
    336 -SYS_LIBS = $(COMMON_SYS_LIBS) $(EXTRA_LIBRARIES)
    337 -
    338 -##==============================================================================
    339 -##
    340 -## LIBRARY_SYS_LIBS (system libraries needed to build other libraries)
    341 -##
    342 -##==============================================================================
    343 -LIBRARY_SYS_LIBS = $(COMMON_SYS_LIBS)
    344 +ARCHITECTURE = sparc
    345  
    346 --- /dev/null	2008-11-12 15:37:48.000000000 -0500
    347 +++ new/pegasus/mak/platform_SOLARIS_IX86_CC.mak	2008-11-12 15:37:48.596863000 -0500
    348 @@ -0,0 +1,37 @@
    349 +#//%2006////////////////////////////////////////////////////////////////////////
    350 +#//
    351 +#// Copyright (c) 2000, 2001, 2002 BMC Software; Hewlett-Packard Development
    352 +#// Company, L.P.; IBM Corp.; The Open Group; Tivoli Systems.
    353 +#// Copyright (c) 2003 BMC Software; Hewlett-Packard Development Company, L.P.;
    354 +#// IBM Corp.; EMC Corporation, The Open Group.
    355 +#// Copyright (c) 2004 BMC Software; Hewlett-Packard Development Company, L.P.;
    356 +#// IBM Corp.; EMC Corporation; VERITAS Software Corporation; The Open Group.
    357 +#// Copyright (c) 2005 Hewlett-Packard Development Company, L.P.; IBM Corp.;
    358 +#// EMC Corporation; VERITAS Software Corporation; The Open Group.
    359 +#// Copyright (c) 2006 Hewlett-Packard Development Company, L.P.; IBM Corp.;
    360 +#// EMC Corporation; Symantec Corporation; The Open Group.
    361 +#//
    362 +#// Permission is hereby granted, free of charge, to any person obtaining a copy
    363 +#// of this software and associated documentation files (the "Software"), to
    364 +#// deal in the Software without restriction, including without limitation the
    365 +#// rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
    366 +#// sell copies of the Software, and to permit persons to whom the Software is
    367 +#// furnished to do so, subject to the following conditions:
    368 +#//
    369 +#// THE ABOVE COPYRIGHT NOTICE AND THIS PERMISSION NOTICE SHALL BE INCLUDED IN
    370 +#// ALL COPIES OR SUBSTANTIAL PORTIONS OF THE SOFTWARE. THE SOFTWARE IS PROVIDED
    371 +#// "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT
    372 +#// LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
    373 +#// PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
    374 +#// HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
    375 +#// ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
    376 +#// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
    377 +#//
    378 +#//=============================================================================
    379 +
    380 +LIBBASE=lib
    381 +
    382 +include $(ROOT)/mak/platform_SOLARIS_CC.mak
    383 +
    384 +ARCHITECTURE = ix86
    385 +
    386 --- /dev/null	2008-11-12 15:37:59.000000000 -0500
    387 +++ new/pegasus/mak/platform_SOLARIS_SPARC_64_CC.mak	2008-11-12 15:37:58.901241000 -0500
    388 @@ -0,0 +1,43 @@
    389 +#//%2006////////////////////////////////////////////////////////////////////////
    390 +#//
    391 +#// Copyright (c) 2000, 2001, 2002 BMC Software; Hewlett-Packard Development
    392 +#// Company, L.P.; IBM Corp.; The Open Group; Tivoli Systems.
    393 +#// Copyright (c) 2003 BMC Software; Hewlett-Packard Development Company, L.P.;
    394 +#// IBM Corp.; EMC Corporation, The Open Group.
    395 +#// Copyright (c) 2004 BMC Software; Hewlett-Packard Development Company, L.P.;
    396 +#// IBM Corp.; EMC Corporation; VERITAS Software Corporation; The Open Group.
    397 +#// Copyright (c) 2005 Hewlett-Packard Development Company, L.P.; IBM Corp.;
    398 +#// EMC Corporation; VERITAS Software Corporation; The Open Group.
    399 +#// Copyright (c) 2006 Hewlett-Packard Development Company, L.P.; IBM Corp.;
    400 +#// EMC Corporation; Symantec Corporation; The Open Group.
    401 +#//
    402 +#// Permission is hereby granted, free of charge, to any person obtaining a copy
    403 +#// of this software and associated documentation files (the "Software"), to
    404 +#// deal in the Software without restriction, including without limitation the
    405 +#// rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
    406 +#// sell copies of the Software, and to permit persons to whom the Software is
    407 +#// furnished to do so, subject to the following conditions:
    408 +#//
    409 +#// THE ABOVE COPYRIGHT NOTICE AND THIS PERMISSION NOTICE SHALL BE INCLUDED IN
    410 +#// ALL COPIES OR SUBSTANTIAL PORTIONS OF THE SOFTWARE. THE SOFTWARE IS PROVIDED
    411 +#// "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT
    412 +#// LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
    413 +#// PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
    414 +#// HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
    415 +#// ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
    416 +#// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
    417 +#//
    418 +#//=============================================================================
    419 +
    420 +#PEGASUS_SOLARIS_NEED_PTO=1
    421 +
    422 +LIBBASE=lib/64
    423 +
    424 +include $(ROOT)/mak/platform_SOLARIS_CC.mak
    425 +
    426 +ARCHITECTURE = sparc
    427 +
    428 +LINK_MACHINE_OPTIONS += -m64
    429 +
    430 +FLAGS += -m64
    431 +
    432 --- /dev/null	2008-11-12 15:38:04.000000000 -0500
    433 +++ new/pegasus/mak/platform_SOLARIS_CC.mak	2008-11-12 15:38:04.647310000 -0500
    434 @@ -0,0 +1,190 @@
    435 +#//%2006////////////////////////////////////////////////////////////////////////
    436 +#//
    437 +#// Copyright (c) 2000, 2001, 2002 BMC Software; Hewlett-Packard Development
    438 +#// Company, L.P.; IBM Corp.; The Open Group; Tivoli Systems.
    439 +#// Copyright (c) 2003 BMC Software; Hewlett-Packard Development Company, L.P.;
    440 +#// IBM Corp.; EMC Corporation, The Open Group.
    441 +#// Copyright (c) 2004 BMC Software; Hewlett-Packard Development Company, L.P.;
    442 +#// IBM Corp.; EMC Corporation; VERITAS Software Corporation; The Open Group.
    443 +#// Copyright (c) 2005 Hewlett-Packard Development Company, L.P.; IBM Corp.;
    444 +#// EMC Corporation; VERITAS Software Corporation; The Open Group.
    445 +#// Copyright (c) 2006 Hewlett-Packard Development Company, L.P.; IBM Corp.;
    446 +#// EMC Corporation; Symantec Corporation; The Open Group.
    447 +#//
    448 +#// Permission is hereby granted, free of charge, to any person obtaining a copy
    449 +#// of this software and associated documentation files (the "Software"), to
    450 +#// deal in the Software without restriction, including without limitation the
    451 +#// rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
    452 +#// sell copies of the Software, and to permit persons to whom the Software is
    453 +#// furnished to do so, subject to the following conditions:
    454 +#//
    455 +#// THE ABOVE COPYRIGHT NOTICE AND THIS PERMISSION NOTICE SHALL BE INCLUDED IN
    456 +#// ALL COPIES OR SUBSTANTIAL PORTIONS OF THE SOFTWARE. THE SOFTWARE IS PROVIDED
    457 +#// "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT
    458 +#// LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
    459 +#// PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
    460 +#// HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
    461 +#// ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
    462 +#// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
    463 +#//
    464 +#//=============================================================================
    465 +
    466 +include $(ROOT)/mak/config-unix.mak
    467 +
    468 +OS = solaris
    469 +
    470 +ifdef CXX_COMPILER_COMMAND
    471 +	CXX = $(CXX_COMPILER_COMMAND)
    472 +else
    473 +	CXX = CC
    474 +endif
    475 +
    476 +ifdef C_COMPILER_COMMAND
    477 +	CC = $(C_COMPILER_COMMAND)
    478 +else
    479 +	CC = cc
    480 +endif
    481 +
    482 +COMPILER = CC
    483 +
    484 +SH = sh
    485 +
    486 +YACC = yacc
    487 +
    488 +RM = rm -f
    489 +
    490 +DIFF = diff
    491 +
    492 +SORT = sort
    493 +
    494 +COPY = cp
    495 +
    496 +MOVE = mv
    497 +
    498 +LIB_SUFFIX = .so
    499 +
    500 +PEGASUS_SUPPORTS_DYNLIB = yes
    501 +
    502 +SYS_INCLUDES =
    503 +
    504 +EXTRA_LINK_FLAGS =
    505 +
    506 +EXTRA_LIBRARIES =
    507 +
    508 +##==============================================================================
    509 +##
    510 +## DEFINES
    511 +##
    512 +##==============================================================================
    513 +
    514 +DEFINES += -DPEGASUS_PLATFORM_$(PEGASUS_PLATFORM)
    515 +DEFINES += -D_POSIX_PTHREAD_SEMANTICS
    516 +DEFINES += -DPEGASUS_OS_SOLARIS
    517 +
    518 +ifndef PEGASUS_ARCH_LIB
    519 +  PEGASUS_ARCH_LIB = "lib"
    520 +endif
    521 +
    522 +DEFINES += -DPEGASUS_ARCH_LIB=\"$(PEGASUS_ARCH_LIB)\"
    523 +
    524 +##==============================================================================
    525 +##
    526 +## FLAGS
    527 +##
    528 +##==============================================================================
    529 +
    530 +ifdef PEGASUS_USE_DEBUG_BUILD_OPTIONS
    531 +  FLAGS = -g -xs
    532 +else
    533 +  FLAGS = -O2 -s
    534 +  EXTRA_LINK_FLAGS += -norunpath
    535 +endif
    536 +
    537 +ifdef PEGASUS_SOLARIS_NEED_PTO
    538 +  FLAGS += -pto
    539 +endif
    540 +
    541 +FLAGS += -KPIC -mt -xildoff -norunpath
    542 +
    543 +##==============================================================================
    544 +##
    545 +## COMMON_SYS_LIBS
    546 +##
    547 +##==============================================================================
    548 +
    549 +COMMON_SYS_LIBS = -lpthread -ldl -lsocket -lnsl -lxnet -lCstd -lrt
    550 +
    551 +##==============================================================================
    552 +##
    553 +## SYS_LIBS (system libraries needed to build programs)
    554 +##
    555 +##==============================================================================
    556 +
    557 +SYS_LIBS = $(COMMON_SYS_LIBS) $(EXTRA_LIBRARIES)
    558 +
    559 +##==============================================================================
    560 +##
    561 +## LIBRARY_SYS_LIBS (system libraries needed to build other libraries)
    562 +##
    563 +##==============================================================================
    564 +
    565 +LIBRARY_SYS_LIBS = $(COMMON_SYS_LIBS)
    566 +
    567 +##==============================================================================
    568 +# Enable OOP by default if preference not already set in the environment
    569 +##==============================================================================
    570 +ifndef PEGASUS_DEFAULT_ENABLE_OOP
    571 +  PEGASUS_DEFAULT_ENABLE_OOP = true
    572 +endif
    573 +
    574 +##==============================================================================
    575 +##
    576 +## OpenSSL Settings
    577 +##
    578 +##	To build for SSL, add PEGASUS_HAS_SSL=1 to environment
    579 +##
    580 +##==============================================================================
    581 +
    582 +ifndef OPENSSL_HOME
    583 +  OPENSSL_HOME=/usr/sfw
    584 +endif
    585 +
    586 +ifndef OPENSSL_BIN
    587 +  OPENSSL_BIN=/usr/sfw/bin
    588 +endif
    589 +
    590 +ifndef OPENSSL_COMMAND
    591 +  OPENSSL_COMMAND=/usr/sfw/bin/openssl
    592 +endif
    593 +
    594 +ifndef PEGASUS_ENABLE_SSL_CRL_VERIFICATION
    595 +  PEGASUS_ENABLE_SSL_CRL_VERIFICATION=true
    596 +endif
    597 +
    598 +ifndef PEGASUS_USE_SSL_RANDOMFILE
    599 +  PEGASUS_USE_SSL_RANDOMFILE=true
    600 +endif
    601 +
    602 +ifdef PEGASUS_HAS_SSL
    603 +  FLAGS += -L$(OPENSSL_HOME)/$(LIBBASE)
    604 +  EXTRA_LIBRARIES += -L$(OPENSSL_HOME)/$(LIBBASE)
    605 +  EXTRA_LINK_FLAGS += -R$(OPENSSL_HOME)/$(LIBBASE)
    606 +endif
    607 +
    608 +##==============================================================================
    609 +##
    610 +## OpenSPL Settings
    611 +##
    612 +##	Build for either OpenSlp or SolarisSLP.
    613 +##
    614 +##==============================================================================
    615 +
    616 +ifndef PEGASUS_EXTERNAL_SLP_HOME
    617 +  PEGASUS_EXTERNAL_SLP_HOME=/usr
    618 +endif
    619 +
    620 +ifeq ($(PEGASUS_USE_EXTERNAL_SLP),openslp)
    621 +  FLAGS += -L$(PEGASUS_EXTERNAL_SLP_HOME)/$(LIBBASE)
    622 +  EXTRA_LINK_FLAGS += -R$(PEGASUS_EXTERNAL_SLP_HOME)/$(LIBBASE)
    623 +endif
    624 +
    625 --- /dev/null	2008-11-12 15:38:10.000000000 -0500
    626 +++ new/pegasus/mak/platform_SOLARIS_X86_64_CC.mak	2008-11-12 15:38:10.537965000 -0500
    627 @@ -0,0 +1,41 @@
    628 +#//%2006////////////////////////////////////////////////////////////////////////
    629 +#//
    630 +#// Copyright (c) 2000, 2001, 2002 BMC Software; Hewlett-Packard Development
    631 +#// Company, L.P.; IBM Corp.; The Open Group; Tivoli Systems.
    632 +#// Copyright (c) 2003 BMC Software; Hewlett-Packard Development Company, L.P.;
    633 +#// IBM Corp.; EMC Corporation, The Open Group.
    634 +#// Copyright (c) 2004 BMC Software; Hewlett-Packard Development Company, L.P.;
    635 +#// IBM Corp.; EMC Corporation; VERITAS Software Corporation; The Open Group.
    636 +#// Copyright (c) 2005 Hewlett-Packard Development Company, L.P.; IBM Corp.;
    637 +#// EMC Corporation; VERITAS Software Corporation; The Open Group.
    638 +#// Copyright (c) 2006 Hewlett-Packard Development Company, L.P.; IBM Corp.;
    639 +#// EMC Corporation; Symantec Corporation; The Open Group.
    640 +#//
    641 +#// Permission is hereby granted, free of charge, to any person obtaining a copy
    642 +#// of this software and associated documentation files (the "Software"), to
    643 +#// deal in the Software without restriction, including without limitation the
    644 +#// rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
    645 +#// sell copies of the Software, and to permit persons to whom the Software is
    646 +#// furnished to do so, subject to the following conditions:
    647 +#//
    648 +#// THE ABOVE COPYRIGHT NOTICE AND THIS PERMISSION NOTICE SHALL BE INCLUDED IN
    649 +#// ALL COPIES OR SUBSTANTIAL PORTIONS OF THE SOFTWARE. THE SOFTWARE IS PROVIDED
    650 +#// "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT
    651 +#// LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
    652 +#// PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
    653 +#// HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
    654 +#// ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
    655 +#// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
    656 +#//
    657 +#//=============================================================================
    658 +
    659 +LIBBASE=lib/64
    660 +
    661 +include $(ROOT)/mak/platform_SOLARIS_CC.mak
    662 +
    663 +ARCHITECTURE = ix86
    664 +
    665 +LINK_MACHINE_OPTIONS += -m64
    666 +
    667 +FLAGS += -m64
    668 +
    669 --- old/pegasus/mak/shared-library-unix.mak	2008-11-12 15:38:14.731290000 -0500
    670 +++ new/pegasus/mak/shared-library-unix.mak	2008-11-12 15:38:13.728613000 -0500
    671 @@ -154,8 +154,12 @@
    672  ##==============================================================================
    673  
    674  ifeq ($(COMPILER),CC)
    675 -  LINK_COMMAND = CC
    676 -  LINK_ARGUMENTS = -G -KPIC -mt -h lib$(LIBRARY).so
    677 +  ifdef CXX_COMPILER_COMMAND
    678 +    LINK_COMMAND = $(CXX_COMPILER_COMMAND)
    679 +  else
    680 +    LINK_COMMAND = CC
    681 +  endif
    682 +  LINK_ARGUMENTS = -G -KPIC -mt -h lib$(LIBRARY).so $(LINK_MACHINE_OPTIONS)
    683    LINK_OUT = -o
    684    EXTRA_LIBRARIES += $(LIBRARY_SYS_LIBS)
    685  endif
    686 --- old/pegasus/src/Pegasus/Client/tests/slp/Makefile	2008-11-12 15:38:23.707089000 -0500
    687 +++ new/pegasus/src/Pegasus/Client/tests/slp/Makefile	2008-11-12 15:38:23.152757000 -0500
    688 @@ -28,7 +28,7 @@
    689  #// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
    690  #//
    691  #//==============================================================================
    692 -ROOT = $(PEGASUS_ROOT)
    693 +ROOT = ../../../../..
    694  DIRCLIENT = Pegasus/Client
    695  DIR = Pegasus/Client/tests/slp
    696  include $(ROOT)/mak/config.mak
    697 --- old/pegasus/src/Pegasus/Common/tests/Abstract/Makefile	2008-11-12 15:38:30.503004000 -0500
    698 +++ new/pegasus/src/Pegasus/Common/tests/Abstract/Makefile	2008-11-12 15:38:29.956850000 -0500
    699 @@ -28,7 +28,7 @@
    700  #// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
    701  #//
    702  #//==============================================================================
    703 -ROOT = $(PEGASUS_ROOT)
    704 +ROOT = ../../../../..
    705  DIR = Pegasus/Common/tests/Abstract
    706  include $(ROOT)/mak/config.mak
    707  include ../libraries.mak
    708 --- old/pegasus/src/Pegasus/Common/tests/AsyncQueue/TestAsyncQueue.cpp	2008-11-12 15:38:45.389272000 -0500
    709 +++ new/pegasus/src/Pegasus/Common/tests/AsyncQueue/TestAsyncQueue.cpp	2008-11-12 15:38:45.054487000 -0500
    710 @@ -68,14 +68,19 @@
    711              printf("iterations: %05u\n", message->x);
    712          }
    713  
    714 -#ifdef PEGASUS_OS_SOLARIS
    715 +// The following was a noted issue for earlier versions of
    716 +// Solaris (ex. 5.8) It has been commented out for later
    717 +// version (ex. 10 and 11). NOTE: if we are to guarantee
    718 +// compatibility with earlier versions this may have to be
    719 +// reinstated for those versions.
    720 +//#ifdef PEGASUS_OS_SOLARIS
    721          // special dish of the day for Sun Solaris
    722          // reports say that running as root causes
    723          // the thread not being scheduled-out
    724          // until this is resolved the yield()
    725          // will stay here just for Solaris
    726 -        Threads::yield();
    727 -#endif
    728 +//        Threads::yield();
    729 +//#endif
    730  
    731          delete message;
    732      }
    733 @@ -91,14 +96,19 @@
    734      for (Uint32 i = 0; i < ITERATIONS; i++)
    735      {
    736          queue->enqueue_wait(new TestMessage(i));
    737 +// The following was a noted issue for earlier versions of
    738 +// Solaris (ex. 5.8) It has been commented out for later
    739 +// version (ex. 10 and 11). NOTE: if we are to guarantee
    740 +// compatibility with earlier versions this may have to be
    741 +// reinstated for those versions.
    742  // special dish of the day for Sun Solaris
    743  // reports say that running as root causes
    744  // the thread not being scheduled-out
    745  // until this is resolved the yield()
    746  // will stay here just for Solaris
    747 -#ifdef PEGASUS_OS_SOLARIS
    748 -        Threads::yield();
    749 -#endif
    750 +//#ifdef PEGASUS_OS_SOLARIS
    751 +//        Threads::yield();
    752 +//#endif
    753      }
    754  
    755      return ThreadReturnType(0);
    756 --- old/pegasus/src/Pegasus/Common/tests/IPC/IPC.cpp	2008-11-12 15:38:52.592066000 -0500
    757 +++ new/pegasus/src/Pegasus/Common/tests/IPC/IPC.cpp	2008-11-12 15:38:52.174533000 -0500
    758 @@ -125,10 +125,8 @@
    759      while (type != CLOSE_CONNECTION_MESSAGE)
    760      {
    761          message = mq->dequeue();
    762 -        while (!message) {
    763 -#if defined PEGASUS_OS_SOLARIS && defined SUNOS_5_6
    764 -        Threads::sleep(1);
    765 -#endif
    766 +        while (!message)
    767 +	{
    768              message = mq->dequeue();
    769          }
    770  
    771 --- old/pegasus/src/Pegasus/Common/tests/FileSystem/FileSystem.cpp	2008-11-12 15:38:59.057270000 -0500
    772 +++ new/pegasus/src/Pegasus/Common/tests/FileSystem/FileSystem.cpp	2008-11-12 15:38:58.704202000 -0500
    773 @@ -113,9 +113,10 @@
    774      // files in the directory.
    775      Array<String> globList;
    776  
    777 -    PEGASUS_TEST_ASSERT(FileSystem::glob(path ,  "*", globList));
    778 -    _printArray("glob 1 . *" , globList);
    779 -    PEGASUS_TEST_ASSERT(globList.size() >= 4);
    780 +    // Bad test -- assumes the presence of the CVS tree
    781 +    // PEGASUS_TEST_ASSERT(FileSystem::glob(path ,  "*", globList));
    782 +    // _printArray("glob 1 . *" , globList);
    783 +    // PEGASUS_TEST_ASSERT(globList.size() >= 4);
    784  
    785      PEGASUS_TEST_ASSERT(FileSystem::glob( ".",  "*.cpp", globList));
    786      PEGASUS_TEST_ASSERT(globList.size() == 1);
    787 --- old/pegasus/src/Pegasus/Common/tests/TimeValue/TimeValue.cpp	2008-11-12 15:39:05.892695000 -0500
    788 +++ new/pegasus/src/Pegasus/Common/tests/TimeValue/TimeValue.cpp	2008-11-12 15:39:05.508229000 -0500
    789 @@ -50,7 +50,7 @@
    790      verbose = getenv("PEGASUS_TEST_VERBOSE") ? true : false;
    791  
    792      TimeValue tv0( 3, 100000);   // set to 3 sec, 100,000 microseconds
    793 -    Uint32 ms = tv0.toMilliseconds();
    794 +    Uint64 ms = tv0.toMilliseconds();
    795      if (verbose)
    796      {
    797          cout << "milliseconds=" << ms << endl;
    798 @@ -91,7 +91,7 @@
    799               << " total milliseconds" <<  endl;
    800      }
    801  
    802 -    Uint32 milliseconds = tv2.toMilliseconds() - tv1.toMilliseconds();
    803 +    Uint64 milliseconds = tv2.toMilliseconds() - tv1.toMilliseconds();
    804  
    805      if (verbose)
    806          cout << "milliseconds=" << milliseconds << endl;
    807 --- old/pegasus/src/Pegasus/Common/AtomicInt.h	2008-11-12 15:39:11.453560000 -0500
    808 +++ new/pegasus/src/Pegasus/Common/AtomicInt.h	2008-11-12 15:39:11.084580000 -0500
    809 @@ -842,10 +842,74 @@
    810  
    811  //==============================================================================
    812  //
    813 -// Generic Implementation
    814 +// PEGASUS_OS_SOLARIS
    815  //
    816  //==============================================================================
    817  
    818 +#if defined(PEGASUS_OS_SOLARIS)
    819 +# define PEGASUS_ATOMIC_INT_DEFINED
    820 +
    821 +#include <atomic.h>
    822 +
    823 +PEGASUS_NAMESPACE_BEGIN
    824 +
    825 +struct AtomicType
    826 +{
    827 +    volatile uint32_t n;
    828 +};
    829 +
    830 +PEGASUS_TEMPLATE_SPECIALIZATION
    831 +inline AtomicIntTemplate<AtomicType>::AtomicIntTemplate(Uint32 n)
    832 +{
    833 +    _rep.n = n;
    834 +}
    835 +
    836 +PEGASUS_TEMPLATE_SPECIALIZATION
    837 +inline AtomicIntTemplate<AtomicType>::~AtomicIntTemplate()
    838 +{
    839 +}
    840 +
    841 +PEGASUS_TEMPLATE_SPECIALIZATION
    842 +inline Uint32 AtomicIntTemplate<AtomicType>::get() const
    843 +{
    844 +    return _rep.n;
    845 +}
    846 +
    847 +PEGASUS_TEMPLATE_SPECIALIZATION
    848 +inline void AtomicIntTemplate<AtomicType>::set(Uint32 n)
    849 +{
    850 +    _rep.n = n;
    851 +}
    852 +
    853 +PEGASUS_TEMPLATE_SPECIALIZATION
    854 +inline void AtomicIntTemplate<AtomicType>::inc()
    855 +{
    856 +    atomic_inc_32(&_rep.n);
    857 +}
    858 +
    859 +PEGASUS_TEMPLATE_SPECIALIZATION
    860 +inline void AtomicIntTemplate<AtomicType>::dec()
    861 +{
    862 +    atomic_dec_32(&_rep.n);
    863 +}
    864 +
    865 +PEGASUS_TEMPLATE_SPECIALIZATION
    866 +inline bool AtomicIntTemplate<AtomicType>::decAndTestIfZero()
    867 +{
    868 +    return atomic_dec_32_nv(&_rep.n) == 0;
    869 +}
    870 +
    871 +typedef AtomicIntTemplate<AtomicType> AtomicInt;
    872 +
    873 +PEGASUS_NAMESPACE_END
    874 +
    875 +#endif
    876 +
    877 +//==============================================================================
    878 +//
    879 +// Generic Implementation
    880 +// //==============================================================================
    881 +
    882  #if !defined(PEGASUS_ATOMIC_INT_DEFINED)
    883  # define PEGASUS_ATOMIC_INT_DEFINED
    884  
    885 --- old/pegasus/src/Pegasus/Common/AuditLoggerToLog.cpp	2008-11-12 15:39:18.908717000 -0500
    886 +++ new/pegasus/src/Pegasus/Common/AuditLoggerToLog.cpp	2008-11-12 15:39:18.214126000 -0500
    887 @@ -56,6 +56,10 @@
    888  
    889  #ifdef PEGASUS_ENABLE_AUDIT_LOGGER
    890  
    891 +#if defined(PEGASUS_OS_SOLARIS)
    892 +extern char** environ;
    893 +#endif
    894 +
    895  PEGASUS_USING_STD;
    896  
    897  PEGASUS_NAMESPACE_BEGIN
    898 --- old/pegasus/src/Pegasus/Common/Config.h	2008-11-12 15:39:29.565679000 -0500
    899 +++ new/pegasus/src/Pegasus/Common/Config.h	2008-11-12 15:39:28.728257000 -0500
    900 @@ -60,6 +60,12 @@
    901  # include <Pegasus/Common/Platform_SOLARIS_SPARC_GNU.h>
    902  #elif defined (PEGASUS_PLATFORM_SOLARIS_SPARC_CC)
    903  # include <Pegasus/Common/Platform_SOLARIS_SPARC_CC.h>
    904 +#elif defined (PEGASUS_PLATFORM_SOLARIS_SPARC_64_CC)
    905 +# include <Pegasus/Common/Platform_SOLARIS_SPARC_CC_64.h>
    906 +#elif defined (PEGASUS_PLATFORM_SOLARIS_IX86_CC)
    907 +# include <Pegasus/Common/Platform_SOLARIS_IX86_CC.h>
    908 +#elif defined (PEGASUS_PLATFORM_SOLARIS_X86_64_CC)
    909 +# include <Pegasus/Common/Platform_SOLARIS_X86_64_CC.h>
    910  #elif defined (PEGASUS_PLATFORM_ZOS_ZSERIES_IBM)
    911  # include <Pegasus/Common/Platform_ZOS_ZSERIES_IBM.h>
    912  #elif defined (PEGASUS_PLATFORM_LINUX_IA64_GNU)
    913 --- old/pegasus/src/Pegasus/Common/Constants.h	2008-11-12 15:39:36.822342000 -0500
    914 +++ new/pegasus/src/Pegasus/Common/Constants.h	2008-11-12 15:39:36.345039000 -0500
    915 @@ -281,6 +281,21 @@
    916  #  define PEGASUS_PAM_STANDALONE_PROC_NAME  "/opt/tog-pegasus/sbin/cimservera"
    917  #  define PEGASUS_PROVIDER_AGENT_PROC_NAME  "/opt/tog-pegasus/sbin/cimprovagt"
    918  #  undef PEGASUS_DEFAULT_MESSAGE_SOURCE     /* Not defined */
    919 +# elif defined(PEGASUS_OS_SOLARIS)
    920 +#  define PEGASUS_CIMSERVER_START_FILE      "/var/Pegasus/cimserver.pid"
    921 +#  define PEGASUS_CIMSERVER_START_LOCK_FILE "/var/Pegasus/cimserver_start.lock"
    922 +#  define PEGASUS_REPOSITORY_DIR            "/var/Pegasus/repository"
    923 +#  define PEGASUS_CURRENT_CONFIG_FILE_PATH  "/var/Pegasus/cimserver_current.conf"
    924 +#  define PEGASUS_PLANNED_CONFIG_FILE_PATH  "/var/Pegasus/cimserver_planned.conf"
    925 +#  define PEGASUS_SSLCLIENT_CERTIFICATEFILE "/etc/Pegasus/ssl/client.pem"
    926 +#  define PEGASUS_SSLCLIENT_RANDOMFILE      "/var/Pegasus/ssl.rnd"
    927 +#  define PEGASUS_SSLSERVER_RANDOMFILE      "/var/Pegasus/cimserver.rnd"
    928 +#  define PEGASUS_LOCAL_AUTH_DIR            "/var/Pegasus/localauth"
    929 +#  define PEGASUS_LOCAL_DOMAIN_SOCKET_PATH  "/var/Pegasus/cimxml.socket"
    930 +#  define PEGASUS_CORE_DIR                  "/var/Pegasus"
    931 +#  define PEGASUS_PAM_STANDALONE_PROC_NAME  "/usr/sbin/cimservera"
    932 +#  define PEGASUS_PROVIDER_AGENT_PROC_NAME  "/usr/sbin/cimprovagt"
    933 +#  undef PEGASUS_DEFAULT_MESSAGE_SOURCE     /* Not defined */
    934  # elif defined(PEGASUS_OS_VMS)
    935  #  define PEGASUS_CIMSERVER_START_FILE      \
    936      "/wbem_var/opt/wbem/cimserver_start.conf"
    937 @@ -336,6 +351,8 @@
    938  #else  // Not PEGASUS_USE_RELEASE_DIRS
    939  # if defined(PEGASUS_OS_LINUX)
    940  #  define PEGASUS_CIMSERVER_STARTFILES_DIR "/var/tmp"
    941 +# elif defined(PEGASUS_OS_SOLARIS)
    942 +#  define PEGASUS_CIMSERVER_STARTFILES_DIR "/var/Pegasus"
    943  # else
    944  #  define PEGASUS_CIMSERVER_STARTFILES_DIR "/tmp"
    945  # endif
    946 --- old/pegasus/src/Pegasus/Common/FileSystem.cpp	2008-11-12 15:39:42.875699000 -0500
    947 +++ new/pegasus/src/Pegasus/Common/FileSystem.cpp	2008-11-12 15:39:42.345527000 -0500
    948 @@ -522,7 +522,7 @@
    949      PEG_METHOD_ENTER(TRC_AUTHENTICATION, "FileSystem::changeFileOwner()");
    950  
    951      struct passwd* userPasswd;
    952 -#if defined(PEGASUS_PLATFORM_SOLARIS_SPARC_CC) || \
    953 +#if defined(PEGASUS_OS_SOLARIS) || \
    954      defined(PEGASUS_OS_HPUX) || \
    955      defined(PEGASUS_OS_LINUX) || \
    956      defined (PEGASUS_OS_VMS)
    957 --- old/pegasus/src/Pegasus/Common/Network.h	2008-11-12 15:39:50.887872000 -0500
    958 +++ new/pegasus/src/Pegasus/Common/Network.h	2008-11-12 15:39:50.489451000 -0500
    959 @@ -250,7 +250,7 @@
    960  //
    961  //------------------------------------------------------------------------------
    962  
    963 -#if defined(PEGASUS_PLATFORM_SOLARIS_SPARC_GNU) || \
    964 +#if defined(PEGASUS_OS_SOLARIS) || \
    965      defined(PEGASUS_PLATFORM_TRU64_ALPHA_DECCXX) || \
    966      defined(PEGASUS_PLATFORM_WIN64_IA64_MSVC) || \
    967      defined(PEGASUS_PLATFORM_WIN64_X86_64_MSVC) || \
    968 @@ -266,9 +266,6 @@
    969  #elif defined(PEGASUS_PLATFORM_HPUX_PARISC_ACC) && \
    970      !defined(_XOPEN_SOURCE_EXTENDED)
    971      typedef int SocketLength;
    972 -#elif defined(PEGASUS_PLATFORM_SOLARIS_SPARC_CC) && \
    973 -    defined(SUNOS_5_6)
    974 -    typedef int SocketLength;
    975  #else
    976      typedef socklen_t SocketLength;
    977  #endif
    978 --- old/pegasus/src/Pegasus/Common/OrderedSet.h	2008-11-12 15:39:56.426967000 -0500
    979 +++ new/pegasus/src/Pegasus/Common/OrderedSet.h	2008-11-12 15:39:56.139214000 -0500
    980 @@ -111,7 +111,7 @@
    981  
    982      void reserveCapacity(Uint32 capacity)
    983      {
    984 -        _array.reserveCapacity(capacity * sizeof(Node));
    985 +        _array.reserveCapacity(capacity * Uint32(sizeof(Node)));
    986      }
    987  
    988      Uint32 find(const CIMName& name, Uint32 nameTag) const;
    989 @@ -257,7 +257,7 @@
    990      // which following have to be _reorganized
    991      Boolean reOrg = (_array.capacity() < sizeof(Node) + _array.size());
    992      if (reOrg)
    993 -        reserveCapacity((_size + 1) << 1);
    994 +        reserveCapacity(Uint32((_size + 1) << 1));
    995  
    996      // First append to _array(dynamic, ordered list):
    997      {
    998 @@ -266,7 +266,7 @@
    999          node.index = _size;
   1000          node.next = (*_table)[code];
   1001  
   1002 -        _array.append((const char*) &node, sizeof(node));
   1003 +        _array.append((const char*) &node, Uint32(sizeof(node)));
   1004      }
   1005          
   1006      // Now add to hash table
   1007 @@ -296,7 +296,7 @@
   1008          Node* node = (Node*) _array.getData() + index;
   1009          node->rep->decreaseOwnerCount();
   1010          Dec(node->rep);
   1011 -        _array.remove(index * sizeof(Node), sizeof(Node));
   1012 +        _array.remove(index * sizeof(Node), Uint32(sizeof(Node)));
   1013          _size--;
   1014      }
   1015  
   1016 @@ -335,7 +335,8 @@
   1017          Node node;
   1018          node.rep = layout->rep;
   1019          node.index = _size;
   1020 -        _array.insert(index * sizeof(Node), (const char*) &node, sizeof(node));
   1021 +        _array.insert(index * Uint32(sizeof(Node)), (const char*) &node,
   1022 +	    Uint32(sizeof(node)));
   1023          layout->rep->increaseOwnerCount();
   1024          Inc(layout->rep);
   1025          _size++;
   1026 --- old/pegasus/src/Pegasus/Common/Platform_SOLARIS_SPARC_CC.h	2008-11-12 15:40:02.240590000 -0500
   1027 +++ new/pegasus/src/Pegasus/Common/Platform_SOLARIS_SPARC_CC.h	2008-11-12 15:40:01.881598000 -0500
   1028 @@ -34,43 +34,8 @@
   1029  #ifndef Pegasus_Platform_SOLARIS_SPARC_CC_h
   1030  #define Pegasus_Platform_SOLARIS_SPARC_CC_h
   1031  
   1032 -//++EMC Solaris Port
   1033 -#include <limits.h>
   1034 -#ifdef __cplusplus
   1035 -#include <cstdio>
   1036 -//--EMC Solaris Port
   1037 -
   1038 -#include <cstddef>
   1039 -
   1040 -#ifdef PEGASUS_INTERNALONLY 
   1041 -using namespace std;
   1042 -#endif
   1043 -
   1044 -#endif
   1045 -
   1046 -#define PEGASUS_OS_TYPE_UNIX
   1047 +#include <Pegasus/Common/Platform_SOLARIS_CC.h>
   1048  
   1049  #define PEGASUS_ARCHITECTURE_SPARC
   1050  
   1051 -#define PEGASUS_COMPILER_CC
   1052 -
   1053 -#define PEGASUS_UINT64 unsigned long long
   1054 -
   1055 -#define PEGASUS_SINT64 long long
   1056 -
   1057 -#define SEM_VALUE_MAX _POSIX_SEM_VALUE_MAX
   1058 -
   1059 -#define PEGASUS_HAVE_NAMESPACES
   1060 -
   1061 -#define PEGASUS_HAVE_FOR_SCOPE
   1062 -
   1063 -#define PEGASUS_HAVE_TEMPLATE_SPECIALIZATION
   1064 -
   1065 -#define PEGASUS_DISABLE_INTERNAL_INLINES
   1066 -
   1067 -
   1068 -#define PEGASUS_HAVE_PTHREADS
   1069 -
   1070 -#define PEGASUS_HAS_SIGNALS
   1071 -
   1072  #endif /* Pegasus_Platform_SOLARIS_SPARC_CC_h */
   1073 --- old/pegasus/src/Pegasus/Common/Platform_SOLARIS_SPARC_GNU.h	2008-11-12 15:40:09.840382000 -0500
   1074 +++ new/pegasus/src/Pegasus/Common/Platform_SOLARIS_SPARC_GNU.h	2008-11-12 15:40:09.515336000 -0500
   1075 @@ -34,6 +34,10 @@
   1076  #ifndef Pegasus_Platform_SOLARIS_SPARC_GNU_h
   1077  #define Pegasus_Platform_SOLARIS_SPARC_GNU_h
   1078  
   1079 +#ifndef PEGASUS_OS_SOLARIS
   1080 +# define PEGASUS_OS_SOLARIS
   1081 +#endif
   1082 +
   1083  #include <limits.h>
   1084  #ifdef __cplusplus
   1085  #include <cstdio>
   1086 --- old/pegasus/src/Pegasus/Common/ReadWriteSem.h	2008-11-12 15:40:14.946168000 -0500
   1087 +++ new/pegasus/src/Pegasus/Common/ReadWriteSem.h	2008-11-12 15:40:14.673422000 -0500
   1088 @@ -60,7 +60,7 @@
   1089  # define PEGASUS_USE_POSIX_RWLOCK
   1090  #elif defined(PEGASUS_PLATFORM_HPUX_ACC)
   1091  # define PEGASUS_USE_POSIX_RWLOCK
   1092 -#elif defined(PEGASUS_PLATFORM_SOLARIS_SPARC_CC)
   1093 +#elif defined(PEGASUS_OS_SOLARIS)
   1094  # define PEGASUS_USE_POSIX_RWLOCK
   1095  #elif defined(PEGASUS_PLATFORM_TRU64_ALPHA_DECCXX)
   1096  # define PEGASUS_USE_POSIX_RWLOCK
   1097 --- old/pegasus/src/Pegasus/Common/System.cpp	2008-11-12 15:40:20.521972000 -0500
   1098 +++ new/pegasus/src/Pegasus/Common/System.cpp	2008-11-12 15:40:20.139887000 -0500
   1099 @@ -596,8 +596,14 @@
   1100              return !memcmp(&ip6, binIPAddress, sizeof (ip6));
   1101  #endif
   1102          case AF_INET:
   1103 -            Uint32 n = ntohl( *(Uint32*)binIPAddress);
   1104 -            return !memcmp(&ip4, &n, sizeof (ip4));       
   1105 +	{
   1106 +		Uint32 tmp;
   1107 +		Uint32 n;
   1108 +
   1109 +		memcpy(&tmp, binIPAddress, sizeof(Uint32));
   1110 +		n = ntohl(tmp);
   1111 +		return !memcmp(&ip4, &n, sizeof (ip4));
   1112 +	}
   1113      }
   1114  
   1115      return false;
   1116 @@ -898,7 +904,7 @@
   1117      int rc = 0;
   1118      unsigned int maxTries = 5; 
   1119  
   1120 -#ifdef PEGASUS_OS_PASE
   1121 +#if defined(PEGASUS_OS_PASE) || defined(PEGASUS_OS_SOLARIS)
   1122      CString hostNameCString;
   1123      if (String::equalNoCase(hostname, "localhost"))
   1124      {
   1125 --- old/pegasus/src/Pegasus/Common/ThreadPool.cpp	2008-11-12 15:40:27.135206000 -0500
   1126 +++ new/pegasus/src/Pegasus/Common/ThreadPool.cpp	2008-11-12 15:40:26.822604000 -0500
   1127 @@ -466,7 +466,8 @@
   1128      struct timeval now, finish, remaining;
   1129      Uint32 usec;
   1130      Time::gettimeofday(&now);
   1131 -    Time::gettimeofday(&remaining);     // Avoid valgrind error
   1132 +
   1133 +    memset(&remaining, 0, sizeof (remaining));
   1134  
   1135      finish.tv_sec = start->tv_sec + interval->tv_sec;
   1136      usec = start->tv_usec + interval->tv_usec;
   1137 --- old/pegasus/src/Pegasus/Common/Threads.cpp	2008-11-12 15:40:34.484438000 -0500
   1138 +++ new/pegasus/src/Pegasus/Common/Threads.cpp	2008-11-12 15:40:34.082409000 -0500
   1139 @@ -44,6 +44,10 @@
   1140  # include <unistd.h>
   1141  #endif
   1142  
   1143 +#if defined(PEGASUS_OS_SOLARIS)
   1144 +# include <unistd.h>
   1145 +#endif
   1146 +
   1147  PEGASUS_NAMESPACE_BEGIN
   1148  
   1149  void Threads::sleep(int msec)
   1150 @@ -199,14 +203,9 @@
   1151  
   1152      // Scheduling policy:
   1153  
   1154 -#if defined(PEGASUS_PLATFORM_SOLARIS_SPARC_GNU) || \
   1155 -    defined(PEGASUS_PLATFORM_SOLARIS_SPARC_CC)
   1156 -# if defined SUNOS_5_7
   1157 -    pthread_attr_setschedpolicy(&attr, SCHED_RR);
   1158 -# else
   1159 +#if defined(PEGASUS_OS_SOLARIS)
   1160      pthread_attr_setschedpolicy(&attr, SCHED_OTHER);
   1161 -# endif
   1162 -#endif // PEGASUS_PLATFORM_SOLARIS_SPARC_GNU
   1163 +#endif
   1164  
   1165      // Create thread:
   1166  
   1167 --- old/pegasus/src/Pegasus/Common/Threads.h	2008-11-12 15:40:40.438948000 -0500
   1168 +++ new/pegasus/src/Pegasus/Common/Threads.h	2008-11-12 15:40:40.130082000 -0500
   1169 @@ -56,6 +56,11 @@
   1170  # error "<Pegasus/Common/Threads.h>: not implemented"
   1171  #endif
   1172  
   1173 +#if defined(PEGASUS_OS_SOLARIS)
   1174 +# include <string.h>
   1175 +# include <stdio.h>
   1176 +#endif
   1177 +
   1178  PEGASUS_NAMESPACE_BEGIN
   1179  
   1180  //==============================================================================
   1181 @@ -241,7 +246,7 @@
   1182  
   1183  inline ThreadId Threads::id(const ThreadType& x)
   1184  {
   1185 -    ThreadId tid;
   1186 +    ThreadId tid = { { 0 } };
   1187  
   1188  #if defined(PEGASUS_PLATFORM_ZOS_ZSERIES_IBM)
   1189      const char* s = x.thread.__;
   1190 --- /dev/null	2008-11-12 15:40:45.000000000 -0500
   1191 +++ new/pegasus/src/Pegasus/Common/Platform_SOLARIS_CC.h	2008-11-12 15:40:45.317809000 -0500
   1192 @@ -0,0 +1,76 @@
   1193 +//%2006//////////////////////////////////////////////////////////////////////// 
   1194 +//
   1195 +// Copyright (c) 2000, 2001, 2002 BMC Software; Hewlett-Packard Development
   1196 +// Company, L.P.; IBM Corp.; The Open Group; Tivoli Systems.
   1197 +// Copyright (c) 2003 BMC Software; Hewlett-Packard Development Company, L.P.;
   1198 +// IBM Corp.; EMC Corporation, The Open Group.
   1199 +// Copyright (c) 2004 BMC Software; Hewlett-Packard Development Company, L.P.;
   1200 +// IBM Corp.; EMC Corporation; VERITAS Software Corporation; The Open Group.
   1201 +// Copyright (c) 2005 Hewlett-Packard Development Company, L.P.; IBM Corp.;
   1202 +// EMC Corporation; VERITAS Software Corporation; The Open Group.
   1203 +// Copyright (c) 2006 Hewlett-Packard Development Company, L.P.; IBM Corp.;
   1204 +// EMC Corporation; Symantec Corporation; The Open Group.
   1205 +//
   1206 +// Permission is hereby granted, free of charge, to any person obtaining a copy
   1207 +// of this software and associated documentation files (the "Software"), to
   1208 +// deal in the Software without restriction, including without limitation the
   1209 +// rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
   1210 +// sell copies of the Software, and to permit persons to whom the Software is
   1211 +// furnished to do so, subject to the following conditions:
   1212 +//
   1213 +// THE ABOVE COPYRIGHT NOTICE AND THIS PERMISSION NOTICE SHALL BE INCLUDED IN
   1214 +// ALL COPIES OR SUBSTANTIAL PORTIONS OF THE SOFTWARE. THE SOFTWARE IS PROVIDED
   1215 +// "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT
   1216 +// LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
   1217 +// PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
   1218 +// HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
   1219 +// ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
   1220 +// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
   1221 +//
   1222 +//==============================================================================
   1223 +//
   1224 +//%/////////////////////////////////////////////////////////////////////////////
   1225 +
   1226 +#ifndef Pegasus_Platform_SOLARIS_CC_h
   1227 +#define Pegasus_Platform_SOLARIS_CC_h
   1228 +
   1229 +#ifndef PEGASUS_OS_SOLARIS
   1230 +# define PEGASUS_OS_SOLARIS
   1231 +#endif
   1232 +
   1233 +#include <limits.h>
   1234 +
   1235 +#ifdef __cplusplus
   1236 +# include <cstdio>
   1237 +# include <cstddef>
   1238 +# ifdef PEGASUS_INTERNALONLY
   1239 +  using namespace std;
   1240 +# endif
   1241 +#endif
   1242 +
   1243 +#define PEGASUS_OS_TYPE_UNIX
   1244 +
   1245 +#define PEGASUS_COMPILER_CC
   1246 +
   1247 +#define PEGASUS_UINT64 unsigned long long
   1248 +
   1249 +#define PEGASUS_SINT64 long long
   1250 +
   1251 +#define SEM_VALUE_MAX _POSIX_SEM_VALUE_MAX
   1252 +
   1253 +#define PEGASUS_HAVE_NAMESPACES
   1254 +
   1255 +#define PEGASUS_HAVE_FOR_SCOPE
   1256 +
   1257 +#define PEGASUS_HAVE_TEMPLATE_SPECIALIZATION
   1258 +
   1259 +#define PEGASUS_DISABLE_INTERNAL_INLINES
   1260 +
   1261 +#define PEGASUS_HAVE_PTHREADS
   1262 +
   1263 +#define PEGASUS_HAS_SIGNALS
   1264 +
   1265 +/* use POSIX read-write locks on this platform */
   1266 +#define PEGASUS_USE_POSIX_RWLOCK
   1267 +
   1268 +#endif /* Pegasus_Platform_SOLARIS_CC_h */
   1269 --- /dev/null	2008-11-12 15:40:46.000000000 -0500
   1270 +++ new/pegasus/src/Pegasus/Common/Platform_SOLARIS_IX86_CC.h	2008-11-12 15:40:46.766496000 -0500
   1271 @@ -0,0 +1,41 @@
   1272 +//%2006////////////////////////////////////////////////////////////////////////
   1273 +//
   1274 +// Copyright (c) 2000, 2001, 2002 BMC Software; Hewlett-Packard Development
   1275 +// Company, L.P.; IBM Corp.; The Open Group; Tivoli Systems.
   1276 +// Copyright (c) 2003 BMC Software; Hewlett-Packard Development Company, L.P.;
   1277 +// IBM Corp.; EMC Corporation, The Open Group.
   1278 +// Copyright (c) 2004 BMC Software; Hewlett-Packard Development Company, L.P.;
   1279 +// IBM Corp.; EMC Corporation; VERITAS Software Corporation; The Open Group.
   1280 +// Copyright (c) 2005 Hewlett-Packard Development Company, L.P.; IBM Corp.;
   1281 +// EMC Corporation; VERITAS Software Corporation; The Open Group.
   1282 +// Copyright (c) 2006 Hewlett-Packard Development Company, L.P.; IBM Corp.;
   1283 +// EMC Corporation; Symantec Corporation; The Open Group.
   1284 +//
   1285 +// Permission is hereby granted, free of charge, to any person obtaining a copy
   1286 +// of this software and associated documentation files (the "Software"), to
   1287 +// deal in the Software without restriction, including without limitation the
   1288 +// rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
   1289 +// sell copies of the Software, and to permit persons to whom the Software is
   1290 +// furnished to do so, subject to the following conditions:
   1291 +//
   1292 +// THE ABOVE COPYRIGHT NOTICE AND THIS PERMISSION NOTICE SHALL BE INCLUDED IN
   1293 +// ALL COPIES OR SUBSTANTIAL PORTIONS OF THE SOFTWARE. THE SOFTWARE IS PROVIDED
   1294 +// "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT
   1295 +// LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
   1296 +// PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
   1297 +// HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
   1298 +// ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
   1299 +// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
   1300 +//
   1301 +//==============================================================================
   1302 +//
   1303 +//%/////////////////////////////////////////////////////////////////////////////
   1304 +
   1305 +#ifndef Pegasus_Platform_SOLARIS_IX86_CC_h
   1306 +#define Pegasus_Platform_SOLARIS_IX86_CC_h
   1307 +
   1308 +#include <Pegasus/Common/Platform_SOLARIS_CC.h>
   1309 +
   1310 +#define PEGASUS_ARCHITECTURE_IX86
   1311 +
   1312 +#endif /* Pegasus_Platform_SOLARIS_IX86_CC_h */
   1313 --- /dev/null	2008-11-12 15:40:49.000000000 -0500
   1314 +++ new/pegasus/src/Pegasus/Common/Platform_SOLARIS_SPARC_CC_64.h	2008-11-12 15:40:48.962146000 -0500
   1315 @@ -0,0 +1,43 @@
   1316 +//%2006////////////////////////////////////////////////////////////////////////
   1317 +//
   1318 +// Copyright (c) 2000, 2001, 2002 BMC Software; Hewlett-Packard Development
   1319 +// Company, L.P.; IBM Corp.; The Open Group; Tivoli Systems.
   1320 +// Copyright (c) 2003 BMC Software; Hewlett-Packard Development Company, L.P.;
   1321 +// IBM Corp.; EMC Corporation, The Open Group.
   1322 +// Copyright (c) 2004 BMC Software; Hewlett-Packard Development Company, L.P.;
   1323 +// IBM Corp.; EMC Corporation; VERITAS Software Corporation; The Open Group.
   1324 +// Copyright (c) 2005 Hewlett-Packard Development Company, L.P.; IBM Corp.;
   1325 +// EMC Corporation; VERITAS Software Corporation; The Open Group.
   1326 +// Copyright (c) 2006 Hewlett-Packard Development Company, L.P.; IBM Corp.;
   1327 +// EMC Corporation; Symantec Corporation; The Open Group.
   1328 +//
   1329 +// Permission is hereby granted, free of charge, to any person obtaining a copy
   1330 +// of this software and associated documentation files (the "Software"), to
   1331 +// deal in the Software without restriction, including without limitation the
   1332 +// rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
   1333 +// sell copies of the Software, and to permit persons to whom the Software is
   1334 +// furnished to do so, subject to the following conditions:
   1335 +//
   1336 +// THE ABOVE COPYRIGHT NOTICE AND THIS PERMISSION NOTICE SHALL BE INCLUDED IN
   1337 +// ALL COPIES OR SUBSTANTIAL PORTIONS OF THE SOFTWARE. THE SOFTWARE IS PROVIDED
   1338 +// "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT
   1339 +// LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
   1340 +// PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
   1341 +// HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
   1342 +// ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
   1343 +// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
   1344 +//
   1345 +//==============================================================================
   1346 +//
   1347 +//%/////////////////////////////////////////////////////////////////////////////
   1348 +
   1349 +#ifndef Pegasus_Platform_SOLARIS_SPARC_CC_64_h
   1350 +#define Pegasus_Platform_SOLARIS_SPARC_CC_64_h
   1351 +
   1352 +#include <Pegasus/Common/Platform_SOLARIS_CC.h>
   1353 +
   1354 +#define PEGASUS_ARCHITECTURE_SPARC
   1355 +
   1356 +#define PEGASUS_POINTER_64BIT
   1357 +
   1358 +#endif /* Pegasus_Platform_SOLARIS_SPARC_CC_64_h */
   1359 --- /dev/null	2008-11-12 15:40:50.000000000 -0500
   1360 +++ new/pegasus/src/Pegasus/Common/Platform_SOLARIS_X86_64_CC.h	2008-11-12 15:40:50.442344000 -0500
   1361 @@ -0,0 +1,43 @@
   1362 +//%2006////////////////////////////////////////////////////////////////////////
   1363 +//
   1364 +// Copyright (c) 2000, 2001, 2002 BMC Software; Hewlett-Packard Development
   1365 +// Company, L.P.; IBM Corp.; The Open Group; Tivoli Systems.
   1366 +// Copyright (c) 2003 BMC Software; Hewlett-Packard Development Company, L.P.;
   1367 +// IBM Corp.; EMC Corporation, The Open Group.
   1368 +// Copyright (c) 2004 BMC Software; Hewlett-Packard Development Company, L.P.;
   1369 +// IBM Corp.; EMC Corporation; VERITAS Software Corporation; The Open Group.
   1370 +// Copyright (c) 2005 Hewlett-Packard Development Company, L.P.; IBM Corp.;
   1371 +// EMC Corporation; VERITAS Software Corporation; The Open Group.
   1372 +// Copyright (c) 2006 Hewlett-Packard Development Company, L.P.; IBM Corp.;
   1373 +// EMC Corporation; Symantec Corporation; The Open Group.
   1374 +//
   1375 +// Permission is hereby granted, free of charge, to any person obtaining a copy
   1376 +// of this software and associated documentation files (the "Software"), to
   1377 +// deal in the Software without restriction, including without limitation the
   1378 +// rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
   1379 +// sell copies of the Software, and to permit persons to whom the Software is
   1380 +// furnished to do so, subject to the following conditions:
   1381 +//
   1382 +// THE ABOVE COPYRIGHT NOTICE AND THIS PERMISSION NOTICE SHALL BE INCLUDED IN
   1383 +// ALL COPIES OR SUBSTANTIAL PORTIONS OF THE SOFTWARE. THE SOFTWARE IS PROVIDED
   1384 +// "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT
   1385 +// LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
   1386 +// PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
   1387 +// HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
   1388 +// ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
   1389 +// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
   1390 +//
   1391 +//==============================================================================
   1392 +//
   1393 +//%/////////////////////////////////////////////////////////////////////////////
   1394 +
   1395 +#ifndef Pegasus_Platform_SOLARIS_X86_64_CC_h
   1396 +#define Pegasus_Platform_SOLARIS_X86_64_CC_h
   1397 +
   1398 +#include <Pegasus/Common/Platform_SOLARIS_CC.h>
   1399 +
   1400 +#define PEGASUS_ARCHITECTURE_IX86
   1401 +
   1402 +#define PEGASUS_POINTER_64BIT
   1403 +
   1404 +#endif /* Pegasus_Platform_SOLARIS_X86_64_CC_h */
   1405 --- old/pegasus/src/Pegasus/Config/DefaultPropertyTable.h	2008-11-12 15:40:53.676137000 -0500
   1406 +++ new/pegasus/src/Pegasus/Config/DefaultPropertyTable.h	2008-11-12 15:40:53.321676000 -0500
   1407 @@ -39,6 +39,8 @@
   1408      {"idleConnectionTimeout", "0", IS_STATIC, 0, 0, IS_VISIBLE},
   1409  #if defined(PEGASUS_PLATFORM_LINUX_GENERIC_GNU)
   1410  # include "DefaultPropertyTableLinux.h"
   1411 +#elif defined(PEGASUS_OS_SOLARIS)
   1412 +# include "DefaultPropertyTableSolaris.h"
   1413  #elif PEGASUS_PLATFORM_HPUX_ACC
   1414  # include "DefaultPropertyTableHpux.h"
   1415  #elif defined(PEGASUS_PLATFORM_PASE_ISERIES_IBMCXX)
   1416 --- old/pegasus/src/Pegasus/Config/FixedPropertyTable.h	2008-11-12 15:40:58.860285000 -0500
   1417 +++ new/pegasus/src/Pegasus/Config/FixedPropertyTable.h	2008-11-12 15:40:58.596546000 -0500
   1418 @@ -38,6 +38,8 @@
   1419  
   1420  #if defined(PEGASUS_PLATFORM_LINUX_GENERIC_GNU)
   1421  #include "FixedPropertyTableLinux.h"
   1422 +#elif defined(PEGASUS_OS_SOLARIS)
   1423 +# include "FixedPropertyTableSolaris.h"
   1424  #elif PEGASUS_PLATFORM_HPUX_ACC
   1425  #include "FixedPropertyTableHpux.h"
   1426  #elif defined(PEGASUS_PLATFORM_PASE_ISERIES_IBMCXX)
   1427 --- /dev/null	2008-11-12 15:41:04.000000000 -0500
   1428 +++ new/pegasus/src/Pegasus/Config/DefaultPropertyTableSolaris.h	2008-11-12 15:41:03.966843000 -0500
   1429 @@ -0,0 +1,77 @@
   1430 +//%2006////////////////////////////////////////////////////////////////////////
   1431 +//
   1432 +// Copyright (c) 2000, 2001, 2002 BMC Software; Hewlett-Packard Development
   1433 +// Company, L.P.; IBM Corp.; The Open Group; Tivoli Systems.
   1434 +// Copyright (c) 2003 BMC Software; Hewlett-Packard Development Company, L.P.;
   1435 +// IBM Corp.; EMC Corporation, The Open Group.
   1436 +// Copyright (c) 2004 BMC Software; Hewlett-Packard Development Company, L.P.;
   1437 +// IBM Corp.; EMC Corporation; VERITAS Software Corporation; The Open Group.
   1438 +// Copyright (c) 2005 Hewlett-Packard Development Company, L.P.; IBM Corp.;
   1439 +// EMC Corporation; VERITAS Software Corporation; The Open Group.
   1440 +// Copyright (c) 2006 Hewlett-Packard Development Company, L.P.; IBM Corp.;
   1441 +// EMC Corporation; Symantec Corporation; The Open Group.
   1442 +//
   1443 +// Permission is hereby granted, free of charge, to any person obtaining a copy
   1444 +// of this software and associated documentation files (the "Software"), to
   1445 +// deal in the Software without restriction, including without limitation the
   1446 +// rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
   1447 +// sell copies of the Software, and to permit persons to whom the Software is
   1448 +// furnished to do so, subject to the following conditions:
   1449 +//
   1450 +// THE ABOVE COPYRIGHT NOTICE AND THIS PERMISSION NOTICE SHALL BE INCLUDED IN
   1451 +// ALL COPIES OR SUBSTANTIAL PORTIONS OF THE SOFTWARE. THE SOFTWARE IS PROVIDED
   1452 +// "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT
   1453 +// LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
   1454 +// PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
   1455 +// HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
   1456 +// ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
   1457 +// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
   1458 +//
   1459 +//==============================================================================
   1460 +//
   1461 +//%/////////////////////////////////////////////////////////////////////////////
   1462 +
   1463 +#ifndef Pegasus_DefaultPropertyTableSolaris_h
   1464 +#define Pegasus_DefaultPropertyTableSolaris_h
   1465 +
   1466 +#ifdef PEGASUS_USE_RELEASE_CONFIG_OPTIONS
   1467 +    {"httpPort", "", IS_STATIC, 0, 0, IS_VISIBLE},
   1468 +    {"httpsPort", "", IS_STATIC, 0, 0, IS_VISIBLE},
   1469 +    {"enableHttpConnection", "false", IS_STATIC, 0, 0, IS_VISIBLE},
   1470 +    {"enableHttpsConnection", "true", IS_STATIC, 0, 0, IS_VISIBLE},
   1471 +   {"home", "", IS_STATIC, 0, 0, IS_VISIBLE},
   1472 +    {"daemon", "true", IS_STATIC, 0, 0, IS_HIDDEN},
   1473 +    {"slp", "false", IS_STATIC, 0, 0, IS_VISIBLE},
   1474 +    {"enableAssociationTraversal", "true", IS_STATIC, 0, 0, IS_VISIBLE},
   1475 +    {"enableIndicationService", "true", IS_STATIC, 0, 0, IS_VISIBLE},
   1476 +# ifdef PEGASUS_DEFAULT_ENABLE_OOP
   1477 +    {"forceProviderProcesses", "true", IS_STATIC, 0, 0, IS_VISIBLE},
   1478 +# else
   1479 +    {"forceProviderProcesses", "false", IS_STATIC, 0, 0, IS_VISIBLE},
   1480 +# endif
   1481 +# ifdef PEGASUS_ENABLE_AUDIT_LOGGER
   1482 +    {"enableAuditLog", "false", IS_DYNAMIC, 0, 0, IS_VISIBLE},
   1483 +# endif
   1484 +    {"maxProviderProcesses", "0", IS_STATIC, 0, 0, IS_VISIBLE}
   1485 +#else
   1486 +    {"httpPort", "", IS_STATIC, 0, 0, IS_VISIBLE},
   1487 +    {"httpsPort", "", IS_STATIC, 0, 0, IS_VISIBLE},
   1488 +    {"enableHttpConnection", "true", IS_STATIC, 0, 0, IS_VISIBLE},
   1489 +    {"enableHttpsConnection", "true", IS_STATIC, 0, 0, IS_VISIBLE},
   1490 +    {"home", "./", IS_STATIC, 0, 0, IS_VISIBLE},
   1491 +    {"daemon", "true", IS_STATIC, 0, 0, IS_VISIBLE},
   1492 +    {"slp", "false", IS_STATIC, 0, 0, IS_VISIBLE},
   1493 +    {"enableAssociationTraversal", "true", IS_STATIC, 0, 0, IS_VISIBLE},
   1494 +    {"enableIndicationService", "true", IS_STATIC, 0, 0, IS_VISIBLE},
   1495 +# ifdef PEGASUS_DEFAULT_ENABLE_OOP
   1496 +    {"forceProviderProcesses", "true", IS_STATIC, 0, 0, IS_VISIBLE},
   1497 +# else
   1498 +    {"forceProviderProcesses", "false", IS_STATIC, 0, 0, IS_VISIBLE},
   1499 +# endif
   1500 +# ifdef PEGASUS_ENABLE_AUDIT_LOGGER
   1501 +    {"enableAuditLog", "false", IS_DYNAMIC, 0, 0, IS_VISIBLE},
   1502 +# endif
   1503 +    {"maxProviderProcesses", "0", IS_STATIC, 0, 0, IS_VISIBLE}
   1504 +#endif
   1505 +
   1506 +#endif /* Pegasus_DefaultPropertyTableSolaris_h */
   1507 --- /dev/null	2008-11-12 15:41:05.000000000 -0500
   1508 +++ new/pegasus/src/Pegasus/Config/FixedPropertyTableSolaris.h	2008-11-12 15:41:05.699363000 -0500
   1509 @@ -0,0 +1,89 @@
   1510 +/*
   1511 +//%2006////////////////////////////////////////////////////////////////////////
   1512 +//
   1513 +// Copyright (c) 2000, 2001, 2002 BMC Software; Hewlett-Packard Development
   1514 +// Company, L.P.; IBM Corp.; The Open Group; Tivoli Systems.
   1515 +// Copyright (c) 2003 BMC Software; Hewlett-Packard Development Company, L.P.;
   1516 +// IBM Corp.; EMC Corporation, The Open Group.
   1517 +// Copyright (c) 2004 BMC Software; Hewlett-Packard Development Company, L.P.;
   1518 +// IBM Corp.; EMC Corporation; VERITAS Software Corporation; The Open Group.
   1519 +// Copyright (c) 2005 Hewlett-Packard Development Company, L.P.; IBM Corp.;
   1520 +// EMC Corporation; VERITAS Software Corporation; The Open Group.
   1521 +// Copyright (c) 2006 Hewlett-Packard Development Company, L.P.; IBM Corp.;
   1522 +// EMC Corporation; Symantec Corporation; The Open Group.
   1523 +//
   1524 +// Permission is hereby granted, free of charge, to any person obtaining a copy
   1525 +// of this software and associated documentation files (the "Software"), to
   1526 +// deal in the Software without restriction, including without limitation the
   1527 +// rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
   1528 +// sell copies of the Software, and to permit persons to whom the Software is
   1529 +// furnished to do so, subject to the following conditions:
   1530 +//
   1531 +// THE ABOVE COPYRIGHT NOTICE AND THIS PERMISSION NOTICE SHALL BE INCLUDED IN
   1532 +// ALL COPIES OR SUBSTANTIAL PORTIONS OF THE SOFTWARE. THE SOFTWARE IS PROVIDED
   1533 +// "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT
   1534 +// LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
   1535 +// PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
   1536 +// HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
   1537 +// ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
   1538 +// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
   1539 +//
   1540 +//==============================================================================
   1541 +//
   1542 +//%/////////////////////////////////////////////////////////////////////////////
   1543 +*/
   1544 +
   1545 +#if defined(PEGASUS_USE_RELEASE_DIRS) && \
   1546 +    defined(PEGASUS_OVERRIDE_DEFAULT_RELEASE_DIRS)
   1547 +# include <Pegasus/Config/ProductDirectoryStructure.h>
   1548 +#endif
   1549 +
   1550 +#ifdef PEGASUS_USE_RELEASE_CONFIG_OPTIONS
   1551 +    {"httpPort",	  "5988"},
   1552 +    {"httpsPort",	  "5989"},
   1553 +    {"home",		  ""},
   1554 +    {"slp",		  "false"},
   1555 +    {"enableAuthentication", "true"},
   1556 +    {"httpAuthType",	  "Basic"},
   1557 +    {"enableBinaryRepository", "false"},
   1558 +#endif
   1559 +#if defined(PEGASUS_USE_RELEASE_DIRS)
   1560 +# if defined(PEGASUS_OVERRIDE_DEFAULT_RELEASE_DIRS)
   1561 +    {"traceFilePath",	  PEGASUS_TRACE_FILE_PATH},
   1562 +#  if !defined(PEGASUS_USE_SYSLOGS)
   1563 +    {"logdir",		  PEGASUS_LOG_DIR},
   1564 +#  endif
   1565 +    {"passwordFilePath", PEGASUS_CONFIG_DIR"/cimserver.passwd"},
   1566 +    {"sslCertificateFilePath", PEGASUS_SSL_CERT_FILE_PATH},
   1567 +    {"sslKeyFilePath",	  PEGASUS_SSL_KEY_FILE_PATH},
   1568 +    {"sslTrustStore",	  PEGASUS_SSL_SERVER_TRUSTSTORE},
   1569 +#  ifdef PEGASUS_ENABLE_SSL_CRL_VERIFICATION
   1570 +    {"crlStore",	  PEGASUS_SSL_SERVER_CRL},
   1571 +#  endif
   1572 +    {"repositoryDir",	  PEGASUS_REPOSITORY_DIR},
   1573 +    {"providerDir", PEGASUS_PROVIDER_LIB_DIR ":/usr/" PEGASUS_ARCH_LIB},
   1574 +    {"providerManagerDir",   PEGASUS_PROVIDER_MANAGER_LIB_DIR},
   1575 +# else /* PEGASUS_OVERRIDE_DEFAULT_RELEASE_DIRS */
   1576 +    {"traceFilePath",	  "/var/Pegasus/cimserver.trc"},
   1577 +#  if !defined(PEGASUS_USE_SYSLOGS)
   1578 +    {"logdir",		  "/var/Pegasus/log"},
   1579 +#  endif
   1580 +    {"passwordFilePath",    "/etc/Pegasus/cimserver.passwd"},
   1581 +    {"sslCertificateFilePath", "/etc/Pegasus/ssl/server.pem"},
   1582 +    {"sslKeyFilePath",	  "/etc/Pegasus/ssl/file.pem"},
   1583 +    {"sslTrustStore",	  "/etc/Pegasus/ssl/client.pem"},
   1584 +    {"crlStore",	  "/etc/Pegasus/ssl/crl"},
   1585 +    {"repositoryDir",	  PEGASUS_REPOSITORY_DIR},
   1586 +#  if defined(PEGASUS_ENABLE_CMPI_PROVIDER_MANAGER)
   1587 +    {"providerDir",	  "/usr/" PEGASUS_ARCH_LIB},
   1588 +#  else
   1589 +    {"providerDir",	  "/usr/" PEGASUS_ARCH_LIB},
   1590 +#  endif
   1591 +    {"providerManagerDir",  "/usr/" PEGASUS_ARCH_LIB},
   1592 +    {"messageDir",	  "/usr/share/locale/ICU_Messages"},
   1593 +# endif /* PEGASUS_OVERRIDE_DEFAULT_RELEASE_DIRS */
   1594 +#endif /* defined(PEGASUS_USE_RELEASE_DIRS) */
   1595 +#if !defined(PEGASUS_USE_RELEASE_CONFIG_OPTIONS) && \
   1596 +    !defined(PEGASUS_USE_RELEASE_DIRS)
   1597 +    {"bogus", "MyBogusValue"} /* Remove this line if others are added */
   1598 +#endif
   1599 --- old/pegasus/src/Pegasus/Security/Authentication/PAMBasicAuthenticator.cpp	2008-11-12 15:41:08.587065000 -0500
   1600 +++ new/pegasus/src/Pegasus/Security/Authentication/PAMBasicAuthenticator.cpp	2008-11-12 15:41:08.058066000 -0500
   1601 @@ -44,6 +44,8 @@
   1602  #  include "PAMBasicAuthenticatorUnix.cpp"
   1603  # elif defined(PEGASUS_OS_PASE)
   1604  #  include "PAMBasicAuthenticatorUnix.cpp"
   1605 +# elif defined(PEGASUS_OS_SOLARIS)
   1606 +#  include "PAMBasicAuthenticatorUnix.cpp"
   1607  # else
   1608  #  include "PAMBasicAuthenticatorStub.cpp"
   1609  # endif
   1610 --- old/pegasus/src/Pegasus/Server/tests/Makefile	2008-11-12 15:41:15.606232000 -0500
   1611 +++ new/pegasus/src/Pegasus/Server/tests/Makefile	2008-11-12 15:41:15.167968000 -0500
   1612 @@ -40,11 +40,13 @@
   1613  MASTERRESULTFILE = $(ROOT)/src/$(DIR)/result.master
   1614  
   1615  tests:
   1616 -ifdef PEGASUS_HAS_SSL
   1617 -	- cimserver "enableHttpsConnection=true" "sslTrustStore=" "sslClientVerificationMode=optional" 2>$(RESULTFILE) 
   1618 -	$(DIFF) $(MASTERRESULTFILE) $(RESULTFILE)
   1619 -	$(RM) $(RESULTFILE)
   1620 -endif
   1621 +#  BAD TEST - 'sslTrustStore' is not a valid config op in 2.8.0
   1622 +#ifdef PEGASUS_HAS_SSL
   1623 +#	- cimserver "enableHttpsConnection=true" "sslTrustStore=" "sslClientVerificationMode=optional" 2>$(RESULTFILE) 
   1624 +#	$(DIFF) $(MASTERRESULTFILE) $(RESULTFILE)
   1625 +#	$(RM) $(RESULTFILE)
   1626 +#endif
   1627 +
   1628  poststarttests:
   1629  
   1630  depend:
   1631 --- old/pegasus/src/Pegasus/Server/CIMServer.cpp	2008-11-12 15:41:21.131538000 -0500
   1632 +++ new/pegasus/src/Pegasus/Server/CIMServer.cpp	2008-11-12 15:41:20.730250000 -0500
   1633 @@ -224,7 +224,8 @@
   1634  {
   1635      _monitor.reset(new Monitor());
   1636  
   1637 -#if (defined(PEGASUS_OS_HPUX) || defined(PEGASUS_OS_LINUX)) \
   1638 +#if (defined(PEGASUS_OS_HPUX) || defined(PEGASUS_OS_LINUX) || \
   1639 +    defined(PEGASUS_OS_SOLARIS)) \
   1640      && defined(PEGASUS_USE_RELEASE_DIRS)
   1641      if (chdir(PEGASUS_CORE_DIR) != 0)
   1642      {
   1643 --- old/pegasus/src/Providers/ManagedSystem/OperatingSystem/tests/Makefile	2008-11-12 15:41:28.407063000 -0500
   1644 +++ new/pegasus/src/Providers/ManagedSystem/OperatingSystem/tests/Makefile	2008-11-12 15:41:27.893178000 -0500
   1645 @@ -38,13 +38,13 @@
   1646  PORT = -p 5988
   1647  HTTPMETHOD = -m M-POST
   1648  HTTPVERSION = -v 1.1
   1649 -USER = -u $(PEGASUS_TEST_USER_ID)
   1650 +PUSER = -u $(PEGASUS_TEST_USER_ID)
   1651  PASSWORD = -w $(PEGASUS_TEST_USER_PASS)
   1652  
   1653  XMLREQUESTS = $(foreach i, $(XMLSCRIPTS), $i.xml)
   1654  XMLRESPONSES = $(XMLREQUESTS:.xml=.rsp)
   1655  
   1656 -WBEMEXECOPTIONS = $(HOSTNAME) $(PORT) $(HTTPMETHOD) $(HTTPVERSION) $(USER) $(PASSWORD)
   1657 +WBEMEXECOPTIONS = $(HOSTNAME) $(PORT) $(HTTPMETHOD) $(HTTPVERSION) $(PUSER) $(PASSWORD)
   1658  
   1659  %.rsp: %.xml
   1660  
   1661 --- old/pegasus/src/Providers/sample/CMPI/TestCMPI_CXX/TestCMPI_CXX.cpp	2008-11-12 15:41:34.846035000 -0500
   1662 +++ new/pegasus/src/Providers/sample/CMPI/TestCMPI_CXX/TestCMPI_CXX.cpp	2008-11-12 15:41:34.314337000 -0500
   1663 @@ -416,7 +416,13 @@
   1664          L;CMPIReal32     r32Data1   = 10;
   1665          L;CMPIReal64     r64Data1   = 11;
   1666          L;CmpiString     strData1   = "12";
   1667 -        L;const char     achData1[] = { '1', '3', '\0' };
   1668 +        union
   1669 +	{
   1670 +	    CMPIUint64 alignment;
   1671 +	    char achData1[3];
   1672 +	};
   1673 +	strcpy(achData1, "13");
   1674 +
   1675          L;CmpiDateTime   dtData1;
   1676          L;CmpiObjectPath copData1 ("root/SampleProvider", "CWS_PlainFile_CXX");
   1677          L;CmpiInstance   ciData1 (copData1);
   1678 --- old/pegasus/src/Providers/slp/SLPProvider.cpp	2008-11-12 15:41:40.652838000 -0500
   1679 +++ new/pegasus/src/Providers/slp/SLPProvider.cpp	2008-11-12 15:41:40.180896000 -0500
   1680 @@ -109,7 +109,7 @@
   1681  
   1682  PEGASUS_NAMESPACE_BEGIN
   1683  
   1684 -    PEGASUS_USING_PEGASUS;
   1685 +PEGASUS_USING_PEGASUS;
   1686  PEGASUS_USING_STD;
   1687  
   1688  //******************************************************************
   1689 @@ -1324,8 +1324,9 @@
   1690  
   1691      // Test the registration
   1692  
   1693 -    CDEBUG("TEST_REG: " << (const char *)CServiceID 
   1694 -                        << " serviceName: " << serviceName);
   1695 +    CDEBUG("TEST_REG: ServiceId " << (const char *)CServiceID
   1696 +		<< "\n serviceName: " << (const char *) serviceName
   1697 +		<< "\n TEMPLATE = " << (const char *) CstrRegistration);
   1698  
   1699      Uint32 errorCode = slp_agent.test_registration((const char *)CServiceID ,
   1700          (const char *)CstrRegistration,
   1701 @@ -1340,13 +1341,13 @@
   1702          return(false);
   1703      }
   1704  
   1705 -    CDEBUG("Tested Registration of instancd Good");
   1706 +    CDEBUG("Tested Registration of instance Good");
   1707      // register this information.
   1708      Boolean goodRtn = slp_agent.srv_register((const char *)CServiceID ,
   1709          (const char *)CstrRegistration,
   1710          (const char *)CfullServiceName,
   1711          "DEFAULT",
   1712 -#if defined( PEGASUS_USE_OPENSLP ) && defined ( PEGASUS_SLP_REG_TIMEOUT )
   1713 +#if defined( PEGASUS_USE_EXTERNAL_SLP ) && defined ( PEGASUS_SLP_REG_TIMEOUT )
   1714          PEGASUS_SLP_REG_TIMEOUT  * 60);
   1715  #else
   1716          0xffff);
   1717 @@ -1360,11 +1361,14 @@
   1718          return(false);
   1719      }
   1720      
   1721 -    // register for service-agent on each ip interface with Embedded SA
   1722 +    // register for service-agent on each ip interface with SA
   1723  #ifndef PEGASUS_SLP_REG_TIMEOUT
   1724      HostLocator locator(IPAddress);
   1725      String agentURL = "service:service-agent://";
   1726      agentURL.append(locator.getHost());
   1727 +
   1728 +    CDEBUG("REGISTER SVC " << (const char *) agentURL.getCString());
   1729 +
   1730      slp_agent.srv_register((const char *)agentURL.getCString(),
   1731          (const char *)"(service-type=*)",
   1732          (const char *)"service:service-agent",
   1733 @@ -1721,7 +1725,7 @@
   1734                  {
   1735                  // PEP 267 ifdef is added to allow reregistrations.
   1736                  // issueRegistration sets initFlag to true.   
   1737 -#if defined( PEGASUS_USE_OPENSLP ) && defined ( PEGASUS_SLP_REG_TIMEOUT )
   1738 +#if defined( PEGASUS_USE_EXTERNAL_SLP ) && defined ( PEGASUS_SLP_REG_TIMEOUT )
   1739                     initFlag = false;
   1740  #endif
   1741                      response = 0;
   1742 --- old/pegasus/src/SDK/samples/mak/config.mak	2008-11-12 15:41:47.519430000 -0500
   1743 +++ new/pegasus/src/SDK/samples/mak/config.mak	2008-11-12 15:41:47.140599000 -0500
   1744 @@ -30,6 +30,10 @@
   1745  #//==============================================================================
   1746  
   1747  VALID_PLATFORMS = \
   1748 +    SOLARIS_X86_CC \
   1749 +    SOLARIS_X86_64_CC \
   1750 +    SOLARIS_SPARC_CC \
   1751 +    SOLARIS_SPARC_64_CC \
   1752      WIN32_IX86_MSVC \
   1753      WIN64_IA64_MSVC \
   1754      WIN64_X86_64_MSVC \
   1755 @@ -49,6 +53,22 @@
   1756          one of the following:$(VALID_PLATFORMS))
   1757  endif
   1758  
   1759 +ifeq ($(PEGASUS_PLATFORM),SOLARIS_X86_CC)
   1760 +  include $(ROOT)/mak/$(PEGASUS_PLATFORM).mak
   1761 +endif
   1762 +
   1763 +ifeq ($(PEGASUS_PLATFORM),SOLARIS_X86_64_CC)
   1764 +  include $(ROOT)/mak/$(PEGASUS_PLATFORM).mak
   1765 +endif
   1766 +
   1767 +ifeq ($(PEGASUS_PLATFORM),SOLARIS_SPARC_CC)
   1768 +  include $(ROOT)/mak/$(PEGASUS_PLATFORM).mak
   1769 +endif
   1770 +
   1771 +ifeq ($(PEGASUS_PLATFORM),SOLARIS_SPARC_64_CC)
   1772 +  include $(ROOT)/mak/$(PEGASUS_PLATFORM).mak
   1773 +endif
   1774 +
   1775  ifeq ($(PEGASUS_PLATFORM),WIN32_IX86_MSVC)
   1776    include $(ROOT)/mak/$(PEGASUS_PLATFORM).mak
   1777  endif
   1778 --- /dev/null	2008-11-12 15:41:52.000000000 -0500
   1779 +++ new/pegasus/src/SDK/samples/mak/SOLARIS_IX86_CC.mak	2008-11-12 15:41:52.879787000 -0500
   1780 @@ -0,0 +1,65 @@
   1781 +#//%2006////////////////////////////////////////////////////////////////////////
   1782 +#//
   1783 +#// Copyright (c) 2000, 2001, 2002 BMC Software; Hewlett-Packard Development
   1784 +#// Company, L.P.; IBM Corp.; The Open Group; Tivoli Systems.
   1785 +#// Copyright (c) 2003 BMC Software; Hewlett-Packard Development Company, L.P.;
   1786 +#// IBM Corp.; EMC Corporation, The Open Group.
   1787 +#// Copyright (c) 2004 BMC Software; Hewlett-Packard Development Company, L.P.;
   1788 +#// IBM Corp.; EMC Corporation; VERITAS Software Corporation; The Open Group.
   1789 +#// Copyright (c) 2005 Hewlett-Packard Development Company, L.P.; IBM Corp.;
   1790 +#// EMC Corporation; VERITAS Software Corporation; The Open Group.
   1791 +#// Copyright (c) 2006 Hewlett-Packard Development Company, L.P.; IBM Corp.;
   1792 +#// EMC Corporation; Symantec Corporation; The Open Group.
   1793 +#//
   1794 +#// Permission is hereby granted, free of charge, to any person obtaining a copy
   1795 +#// of this software and associated documentation files (the "Software"), to
   1796 +#// deal in the Software without restriction, including without limitation the
   1797 +#// rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
   1798 +#// sell copies of the Software, and to permit persons to whom the Software is
   1799 +#// furnished to do so, subject to the following conditions:
   1800 +#//
   1801 +#// THE ABOVE COPYRIGHT NOTICE AND THIS PERMISSION NOTICE SHALL BE INCLUDED IN
   1802 +#// ALL COPIES OR SUBSTANTIAL PORTIONS OF THE SOFTWARE. THE SOFTWARE IS PROVIDED
   1803 +#// "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT
   1804 +#// LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
   1805 +#// PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
   1806 +#// HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
   1807 +#// ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
   1808 +#// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
   1809 +#//
   1810 +#//=============================================================================
   1811 +
   1812 +ECHO = echo
   1813 +MKDIRHIER = mkdir -p
   1814 +RM = rm -f
   1815 +TOUCH = touch
   1816 +
   1817 +
   1818 +SYM_LINK_LIB = $(PEGASUS_PROVIDER_LIB_DIR)/lib$(LIBRARY)
   1819 +
   1820 +SYS_LIBS = -lpthread -lrt
   1821 +
   1822 +OBJ_SUFFIX = .o
   1823 +LINK_OUT = -o
   1824 +PLATFORM_LIB_SUFFIX = so
   1825 +
   1826 +ifdef PEGASUS_DEBUG
   1827 +FLAGS = -g -KPIC -mt -xs -xildoff +w
   1828 +else
   1829 +FLAGS = -O4 -KPIC -mt -xildoff -s -xipo=1 +w
   1830 +endif
   1831 +
   1832 +DEFINES = -DPEGASUS_PLATFORM_$(PEGASUS_PLATFORM)
   1833 +
   1834 +PROGRAM_COMPILE_OPTIONS = $(FLAGS)
   1835 +
   1836 +PROGRAM_LINK_OPTIONS = $(PROGRAM_COMPILE_OPTIONS)
   1837 +
   1838 +COMPILE_CXX_COMMAND = CC
   1839 +COMPILE_C_COMMAND = cc
   1840 +LIBRARY_LINK_COMMAND = $(COMPILE_CXX_COMMAND)
   1841 +PROGRAM_LINK_COMMAND =	 $(COMPILE_CXX_COMMAND)
   1842 +
   1843 +LIBRARY_COMPILE_OPTIONS = $(PROGRAM_COMPILE_OPTIONS)
   1844 +LIBRARY_LINK_OPTIONS = $(PROGRAM_LINK_OPTIONS) -G
   1845 +
   1846 --- /dev/null	2008-11-12 15:41:55.000000000 -0500
   1847 +++ new/pegasus/src/SDK/samples/mak/SOLARIS_SPARC_64_CC.mak	2008-11-12 15:41:55.091932000 -0500
   1848 @@ -0,0 +1,65 @@
   1849 +#//%2006////////////////////////////////////////////////////////////////////////
   1850 +#//
   1851 +#// Copyright (c) 2000, 2001, 2002 BMC Software; Hewlett-Packard Development
   1852 +#// Company, L.P.; IBM Corp.; The Open Group; Tivoli Systems.
   1853 +#// Copyright (c) 2003 BMC Software; Hewlett-Packard Development Company, L.P.;
   1854 +#// IBM Corp.; EMC Corporation, The Open Group.
   1855 +#// Copyright (c) 2004 BMC Software; Hewlett-Packard Development Company, L.P.;
   1856 +#// IBM Corp.; EMC Corporation; VERITAS Software Corporation; The Open Group.
   1857 +#// Copyright (c) 2005 Hewlett-Packard Development Company, L.P.; IBM Corp.;
   1858 +#// EMC Corporation; VERITAS Software Corporation; The Open Group.
   1859 +#// Copyright (c) 2006 Hewlett-Packard Development Company, L.P.; IBM Corp.;
   1860 +#// EMC Corporation; Symantec Corporation; The Open Group.
   1861 +#//
   1862 +#// Permission is hereby granted, free of charge, to any person obtaining a copy
   1863 +#// of this software and associated documentation files (the "Software"), to
   1864 +#// deal in the Software without restriction, including without limitation the
   1865 +#// rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
   1866 +#// sell copies of the Software, and to permit persons to whom the Software is
   1867 +#// furnished to do so, subject to the following conditions:
   1868 +#//
   1869 +#// THE ABOVE COPYRIGHT NOTICE AND THIS PERMISSION NOTICE SHALL BE INCLUDED IN
   1870 +#// ALL COPIES OR SUBSTANTIAL PORTIONS OF THE SOFTWARE. THE SOFTWARE IS PROVIDED
   1871 +#// "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT
   1872 +#// LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
   1873 +#// PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
   1874 +#// HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
   1875 +#// ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
   1876 +#// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
   1877 +#//
   1878 +#//=============================================================================
   1879 +
   1880 +ECHO = echo
   1881 +MKDIRHIER = mkdir -p
   1882 +RM = rm -f
   1883 +TOUCH = touch
   1884 +
   1885 +
   1886 +SYM_LINK_LIB = $(PEGASUS_PROVIDER_LIB_DIR)/lib$(LIBRARY)
   1887 +
   1888 +SYS_LIBS = -lpthread -lrt
   1889 +
   1890 +OBJ_SUFFIX = .o
   1891 +LINK_OUT = -o
   1892 +PLATFORM_LIB_SUFFIX = so
   1893 +
   1894 +ifdef PEGASUS_DEBUG
   1895 +FLAGS = -g -KPIC -mt -xs -xildoff +w -m64
   1896 +else
   1897 +FLAGS = -O4 -KPIC -mt -xildoff -s -xipo=1 +w -m64
   1898 +endif
   1899 +
   1900 +DEFINES = -DPEGASUS_PLATFORM_$(PEGASUS_PLATFORM)
   1901 +
   1902 +PROGRAM_COMPILE_OPTIONS = $(FLAGS)
   1903 +
   1904 +PROGRAM_LINK_OPTIONS = $(PROGRAM_COMPILE_OPTIONS)
   1905 +
   1906 +COMPILE_CXX_COMMAND = CC
   1907 +COMPILE_C_COMMAND = cc
   1908 +LIBRARY_LINK_COMMAND = $(COMPILE_CXX_COMMAND)
   1909 +PROGRAM_LINK_COMMAND =	 $(COMPILE_CXX_COMMAND)
   1910 +
   1911 +LIBRARY_COMPILE_OPTIONS = $(PROGRAM_COMPILE_OPTIONS)
   1912 +LIBRARY_LINK_OPTIONS = $(PROGRAM_LINK_OPTIONS) -G
   1913 +
   1914 --- /dev/null	2008-11-12 15:41:56.000000000 -0500
   1915 +++ new/pegasus/src/SDK/samples/mak/SOLARIS_X86_64_CC.mak	2008-11-12 15:41:56.684246000 -0500
   1916 @@ -0,0 +1,65 @@
   1917 +#//%2006////////////////////////////////////////////////////////////////////////
   1918 +#//
   1919 +#// Copyright (c) 2000, 2001, 2002 BMC Software; Hewlett-Packard Development
   1920 +#// Company, L.P.; IBM Corp.; The Open Group; Tivoli Systems.
   1921 +#// Copyright (c) 2003 BMC Software; Hewlett-Packard Development Company, L.P.;
   1922 +#// IBM Corp.; EMC Corporation, The Open Group.
   1923 +#// Copyright (c) 2004 BMC Software; Hewlett-Packard Development Company, L.P.;
   1924 +#// IBM Corp.; EMC Corporation; VERITAS Software Corporation; The Open Group.
   1925 +#// Copyright (c) 2005 Hewlett-Packard Development Company, L.P.; IBM Corp.;
   1926 +#// EMC Corporation; VERITAS Software Corporation; The Open Group.
   1927 +#// Copyright (c) 2006 Hewlett-Packard Development Company, L.P.; IBM Corp.;
   1928 +#// EMC Corporation; Symantec Corporation; The Open Group.
   1929 +#//
   1930 +#// Permission is hereby granted, free of charge, to any person obtaining a copy
   1931 +#// of this software and associated documentation files (the "Software"), to
   1932 +#// deal in the Software without restriction, including without limitation the
   1933 +#// rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
   1934 +#// sell copies of the Software, and to permit persons to whom the Software is
   1935 +#// furnished to do so, subject to the following conditions:
   1936 +#//
   1937 +#// THE ABOVE COPYRIGHT NOTICE AND THIS PERMISSION NOTICE SHALL BE INCLUDED IN
   1938 +#// ALL COPIES OR SUBSTANTIAL PORTIONS OF THE SOFTWARE. THE SOFTWARE IS PROVIDED
   1939 +#// "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT
   1940 +#// LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
   1941 +#// PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
   1942 +#// HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
   1943 +#// ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
   1944 +#// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
   1945 +#//
   1946 +#//=============================================================================
   1947 +
   1948 +ECHO = echo
   1949 +MKDIRHIER = mkdir -p
   1950 +RM = rm -f
   1951 +TOUCH = touch
   1952 +
   1953 +
   1954 +SYM_LINK_LIB = $(PEGASUS_PROVIDER_LIB_DIR)/lib$(LIBRARY)
   1955 +
   1956 +SYS_LIBS = -lpthread -lrt
   1957 +
   1958 +OBJ_SUFFIX = .o
   1959 +LINK_OUT = -o
   1960 +PLATFORM_LIB_SUFFIX = so
   1961 +
   1962 +ifdef PEGASUS_DEBUG
   1963 +FLAGS = -g -KPIC -mt -xs -xildoff +w -m64
   1964 +else
   1965 +FLAGS = -O4 -KPIC -mt -xildoff -s -xipo=1 +w -m64
   1966 +endif
   1967 +
   1968 +DEFINES = -DPEGASUS_PLATFORM_$(PEGASUS_PLATFORM)
   1969 +
   1970 +PROGRAM_COMPILE_OPTIONS = $(FLAGS)
   1971 +
   1972 +PROGRAM_LINK_OPTIONS = $(PROGRAM_COMPILE_OPTIONS)
   1973 +
   1974 +COMPILE_CXX_COMMAND = CC
   1975 +COMPILE_C_COMMAND = cc
   1976 +LIBRARY_LINK_COMMAND = $(COMPILE_CXX_COMMAND)
   1977 +PROGRAM_LINK_COMMAND =	 $(COMPILE_CXX_COMMAND)
   1978 +
   1979 +LIBRARY_COMPILE_OPTIONS = $(PROGRAM_COMPILE_OPTIONS)
   1980 +LIBRARY_LINK_OPTIONS = $(PROGRAM_LINK_OPTIONS) -G
   1981 +
   1982 --- old/pegasus/src/Service/ServerProcessUnix.cpp	2008-11-12 15:41:58.843159000 -0500
   1983 +++ new/pegasus/src/Service/ServerProcessUnix.cpp	2008-11-12 15:41:58.542360000 -0500
   1984 @@ -80,7 +80,7 @@
   1985      errno = 0;
   1986      do
   1987      {
   1988 -#if defined(PEGASUS_OS_ZOS) || defined(PEGASUS_OS_SOLARIS)
   1989 +#if defined(PEGASUS_OS_ZOS)
   1990          sig = sigwait(&set);
   1991  #else // else for platforms = LINUX, HPUX, AIX
   1992          sigwait(&set, &sig);
   1993 --- old/pegasus/src/slp/slp_agent/Makefile	2008-11-12 15:42:04.707304000 -0500
   1994 +++ new/pegasus/src/slp/slp_agent/Makefile	2008-11-12 15:42:04.331138000 -0500
   1995 @@ -37,11 +37,11 @@
   1996  EXTRA_INCLUDES = $(SYS_INCLUDES)
   1997  
   1998  ########################################################################
   1999 -ifeq ($(PEGASUS_USE_OPENSLP), true)
   2000 -ifdef PEGASUS_OPENSLP_HOME
   2001 -	EXTRA_INCLUDES += -I$(PEGASUS_OPENSLP_HOME)/include
   2002 +ifdef PEGASUS_USE_EXTERNAL_SLP
   2003 +ifdef PEGASUS_EXTERNAL_SLP_HOME
   2004 +	EXTRA_INCLUDES += -I$(PEGASUS_EXTERNAL_SLP_HOME)/include
   2005  
   2006 -	EXTRA_LIBRARIES += -L$(PEGASUS_OPENSLP_HOME)/lib
   2007 +	EXTRA_LIBRARIES += -L$(PEGASUS_EXTERNAL_SLP_HOME)/lib
   2008  endif
   2009  	EXTRA_LIBRARIES += -lslp
   2010  endif
   2011 --- old/pegasus/src/slp/slp_agent/peg_slp_agent.cpp	2008-11-12 15:42:09.528728000 -0500
   2012 +++ new/pegasus/src/slp/slp_agent/peg_slp_agent.cpp	2008-11-12 15:42:09.235818000 -0500
   2013 @@ -35,13 +35,33 @@
   2014  #include <Pegasus/Common/FileSystem.h>
   2015  #include "peg_slp_agent.h"
   2016  
   2017 -#ifdef PEGASUS_USE_OPENSLP
   2018 +#ifdef PEGASUS_USE_EXTERNAL_SLP_TYPE
   2019  #include <slp.h>
   2020 -#endif  /* PEGASUS_USE_OPENSLP */
   2021 +#endif  /* PEGASUS_USE_EXTERNAL_SLP_TYPE */
   2022  
   2023  PEGASUS_USING_STD;
   2024  PEGASUS_NAMESPACE_BEGIN
   2025  
   2026 +// The Solaris version of  external SLP requires the locale parameter to be set.
   2027 +// OpenSLP allows NULL so that it can select the locale.
   2028 +
   2029 +#ifdef PEGASUS_USE_EXTERNAL_SLP_TYPE
   2030 +// language typing for slp call only applies to SOLARIS
   2031 +#ifdef PEGASUS_OS_SOLARIS
   2032 +	 // If 2 (i.e. solarisslp). Set language.
   2033 +#if	 PEGASUS_USE_EXTERNAL_SLP_TYPE == 2
   2034 +	 const char* slp_service_agent::slp_lang = "en";
   2035 +	 // if 1, openslp and let slp set language
   2036 +#elif PEGASUS_USE_EXTERNAL_SLP_TYPE == 1
   2037 +    _	 const char* slp_serviceagent::slp_lang = NULL;
   2038 +#else	 // Some other implementation
   2039 +	 const char* slp_service_agent::slp_lang = NULL;
   2040 +#endif	 // End PEGASUS_USE_EXTERNAL_SLP_TYPE
   2041 +#else	 // NOT PEGASUS_OS_SOLARIS
   2042 +    const char* slp_service_agent::slp_lang = NULL;
   2043 +#endif
   2044 +#endif	 // PEGASUS_USE_EXTERNAL_SLP_TYPE
   2045 +
   2046  class sa_reg_params
   2047  {
   2048  public:
   2049 @@ -118,7 +138,7 @@
   2050      }
   2051  }
   2052  
   2053 -#ifdef PEGASUS_USE_OPENSLP
   2054 +#ifdef PEGASUS_USE_EXTERNAL_SLP_TYPE
   2055  void SLPRegCallback(SLPHandle slp_handle, SLPError errcode, void* cookie)
   2056  {
   2057      /* return the error code in the cookie */
   2058 @@ -132,7 +152,7 @@
   2059          reading slp packets from the wire.
   2060      */
   2061  }
   2062 -#endif /* PEGASUS_USE_OPENSLP */
   2063 +#endif /* PEGASUS_USE_EXTERNAL_SLP_TYPE */
   2064  
   2065  
   2066  slp_service_agent::slp_service_agent()
   2067 @@ -342,11 +362,11 @@
   2068  
   2069      _internal_regs.insert(url, rp);
   2070  
   2071 -#if defined(PEGASUS_USE_OPENSLP) && !defined(PEGASUS_SLP_REG_TIMEOUT)
   2072 +#if defined(PEGASUS_USE_EXTERNAL_SLP_TYPE) && !defined(PEGASUS_SLP_REG_TIMEOUT)
   2073      SLPHandle slp_handle = 0;
   2074      SLPError  slpErr = SLP_OK;
   2075      SLPError  callbackErr = SLP_OK;
   2076 -    if ((slpErr = SLPOpen(NULL, SLP_FALSE, &slp_handle)) == SLP_OK)
   2077 +    if ((slpErr = SLPOpen(slp_lang, SLP_FALSE, &slp_handle)) == SLP_OK)
   2078      {
   2079          slpErr = SLPReg(
   2080              slp_handle,
   2081 @@ -368,7 +388,7 @@
   2082      {
   2083          return false;
   2084      }
   2085 -#endif /* PEGASUS_USE_OPENSLP */
   2086 +#endif /* PEGASUS_USE_EXTERNAL_SLP_TYPE */
   2087  
   2088      return true;
   2089  }
   2090 @@ -392,13 +412,13 @@
   2091          throw UninitializedObjectException();
   2092      }
   2093  
   2094 -#ifndef PEGASUS_USE_OPENSLP
   2095 +#ifndef PEGASUS_USE_EXTERNAL_SLP_TYPE
   2096      _should_listen = 0;
   2097  #ifdef PEGASUS_SLP_REG_TIMEOUT
   2098      _update_reg_semaphore.signal();
   2099  #endif
   2100      _listen_thread.join();
   2101 -#endif  /* PEGASUS_USE_OPENSLP */
   2102 +#endif  /* PEGASUS_USE_EXTERNAL_SLP_TYPE */
   2103  
   2104      while (slp_reg_table::Iterator i = _internal_regs.start())
   2105      {
   2106 @@ -407,7 +427,7 @@
   2107          SLPHandle slp_handle = 0;
   2108          SLPError slpErr = SLP_OK;
   2109          SLPError callbackErr=SLP_OK;
   2110 -        if ((slpErr = SLPOpen(NULL, SLP_FALSE, &slp_handle)) == SLP_OK)
   2111 +        if ((slpErr = SLPOpen(slp_lang, SLP_FALSE, &slp_handle)) == SLP_OK)
   2112          {
   2113              slpErr = SLPDereg(
   2114                  slp_handle,
   2115 @@ -501,12 +521,12 @@
   2116      {
   2117          throw UninitializedObjectException();
   2118      }
   2119 -#ifndef PEGASUS_USE_OPENSLP
   2120 +#ifndef PEGASUS_USE_EXTERNAL_SLP_TYPE
   2121      _using_das = _find_das(_rep, NULL, "DEFAULT");
   2122  
   2123      _should_listen = 1;
   2124      _listen_thread.run();
   2125 -#endif /* PEGASUS_USE_OPENSLP */
   2126 +#endif /* PEGASUS_USE_EXTERNAL_SLP_TYPE */
   2127  
   2128  }
   2129  
   2130 @@ -519,8 +539,8 @@
   2131  ThreadReturnType
   2132  PEGASUS_THREAD_CDECL slp_service_agent::service_listener(void *parm)
   2133  {
   2134 -#if !defined(PEGASUS_USE_OPENSLP) ||  \
   2135 -    (defined(PEGASUS_USE_OPENSLP) && defined(PEGASUS_SLP_REG_TIMEOUT))
   2136 +#if !defined(PEGASUS_USE_EXTERNAL_SLP_TYPE) ||  \
   2137 +    (defined(PEGASUS_USE_EXTERNAL_SLP_TYPE) && defined(PEGASUS_SLP_REG_TIMEOUT))
   2138      Thread *myself = (Thread *)parm;
   2139      if (myself == 0)
   2140      {
   2141 @@ -544,11 +564,11 @@
   2142          {
   2143              sa_reg_params *rp = i.value();
   2144  
   2145 -#ifdef PEGASUS_USE_OPENSLP
   2146 +#ifdef PEGASUS_USE_EXTERNAL_SLP_TYPE
   2147              SLPHandle slp_handle = 0;
   2148              SLPError slpErr = SLP_OK;
   2149              SLPError callbackErr=SLP_OK;
   2150 -            if ((slpErr = SLPOpen(NULL, SLP_FALSE, &slp_handle)) == SLP_OK)
   2151 +            if ((slpErr = SLPOpen(slp_lang, SLP_FALSE, &slp_handle)) == SLP_OK)
   2152              {
   2153                  slpErr = SLPReg(
   2154                      slp_handle,
   2155 @@ -631,7 +651,7 @@
   2156          }
   2157  #endif
   2158      }
   2159 -#endif /* PEGASUS_USE_OPENSLP */
   2160 +#endif /* PEGASUS_USE_EXTERNAL_SLP_TYPE */
   2161      return ThreadReturnType(0);
   2162  }
   2163  
   2164 --- old/pegasus/src/slp/slp_agent/peg_slp_agent.h	2008-11-12 15:42:14.999138000 -0500
   2165 +++ new/pegasus/src/slp/slp_agent/peg_slp_agent.h	2008-11-12 15:42:14.697213000 -0500
   2166 @@ -196,6 +196,7 @@
   2167  #else
   2168      AtomicInt _update_reg_count;
   2169  #endif
   2170 +    static const char* slp_lang;
   2171  };
   2172  
   2173  PEGASUS_NAMESPACE_END
   2174 --- old/pegasus/src/slp/slp_client/src/cmd-utils/slp_client/lslp-solaris.h	2008-11-12 15:42:21.415027000 -0500
   2175 +++ new/pegasus/src/slp/slp_client/src/cmd-utils/slp_client/lslp-solaris.h	2008-11-12 15:42:20.908887000 -0500
   2176 @@ -69,11 +69,7 @@
   2177  /*** unix include files ***/
   2178  #include <sys/sockio.h>
   2179  
   2180 -/*** typedefs ***/
   2181 -typedef size_t socklen_t;
   2182 -
   2183  /*** defines ***/
   2184 -#define INADDR_NONE ((in_addr_t) -1)
   2185  #define _LSLP_SETSOCKOPT(a, b, c, d, e) \
   2186      setsockopt((int)(a), (int)(b), (int)(c), (const char *)(d), (socklen_t)(e))
   2187  #define _LSLP_SENDTO(a, b, c, d, e, f) \
   2188 --- old/pegasus/src/utils/chksrc/Makefile	2008-11-12 15:42:29.071948000 -0500
   2189 +++ new/pegasus/src/utils/chksrc/Makefile	2008-11-12 15:42:28.714345000 -0500
   2190 @@ -34,6 +34,14 @@
   2191  
   2192  include $(ROOT)/mak/config.mak
   2193  
   2194 +ifeq ($(PEGASUS_PLATFORM), SOLARIS_IX86_CC)
   2195 +  CC=CC
   2196 +endif
   2197 +
   2198 +ifeq ($(PEGASUS_PLATFORM), SOLARIS_X86_64_CC)
   2199 +  CC=CC
   2200 +endif
   2201 +
   2202  PROGRAM = chksrc
   2203  SOURCES = chksrc.c
   2204  
   2205 --- old/pegasus/test/config.mak	2008-11-12 15:42:34.625910000 -0500
   2206 +++ new/pegasus/test/config.mak	2008-11-12 15:42:34.313423000 -0500
   2207 @@ -34,7 +34,7 @@
   2208  PORT =
   2209  HTTPMETHOD = -m M-POST
   2210  HTTPVERSION = -v 1.1
   2211 -USER = -u $(PEGASUS_TEST_USER_ID)
   2212 +PUSER = -u $(PEGASUS_TEST_USER_ID)
   2213  PASSWORD = -w $(PEGASUS_TEST_USER_PASS)
   2214  SSL =
   2215  
   2216 @@ -45,7 +45,7 @@
   2217  XMLRESPONSES_DS = $(XMLREQUESTS_DS:.xml=.rsp_ds)
   2218  
   2219  
   2220 -WBEMEXECOPTIONS = $(HOSTNAME) $(PORT) $(HTTPMETHOD) $(HTTPVERSION) $(USER) $(PASSWORD) $(SSL)
   2221 +WBEMEXECOPTIONS = $(HOSTNAME) $(PORT) $(HTTPMETHOD) $(HTTPVERSION) $(PUSER) $(PASSWORD) $(SSL)
   2222  
   2223  %.rsp: %.xml
   2224  	@ wbemexec $(WBEMEXECOPTIONS) $*.xml > $(TMP_DIR)/$*.rsp || cd .
   2225