commit 1624533c69c8ca2f29b5c9cdcd08b748afdf99f2 Author: CentOS Sources Date: Tue May 17 05:05:30 2022 -0400 import tog-pegasus-2.14.1-64.el9 diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..cee39e7 --- /dev/null +++ b/.gitignore @@ -0,0 +1,3 @@ +SOURCES/cim_schema_2.38.0Experimental-MOFs.zip +SOURCES/pegasus-2.14.1.tar.gz +SOURCES/repupgrade.1.gz diff --git a/.tog-pegasus.metadata b/.tog-pegasus.metadata new file mode 100644 index 0000000..9204391 --- /dev/null +++ b/.tog-pegasus.metadata @@ -0,0 +1,3 @@ +151955bd95cefac21c67996b59910d61461e2132 SOURCES/cim_schema_2.38.0Experimental-MOFs.zip +c832eaf240f6dfba843c4937f7a935382d48b9be SOURCES/pegasus-2.14.1.tar.gz +2d9a12d6983385fe75b06103fd032eec05353085 SOURCES/repupgrade.1.gz diff --git a/SOURCES/README.RedHat.SSL b/SOURCES/README.RedHat.SSL new file mode 100644 index 0000000..cd8eeaa --- /dev/null +++ b/SOURCES/README.RedHat.SSL @@ -0,0 +1,65 @@ + Red Hat SSL configuration for tog-pegasus + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + The Red Hat tog-pegasus package is built with support for SSL + (the Secure Socket Layer). + Note: the upstream documentation for SSL is located here: + /usr/share/doc/tog-pegasus/PegasusSSLGuidelines.htm + However, because the upstream documentation for SSL is not up-to-date + (it was last updated in March, 2006, around the time of the + OpenPegasus-2.5.1 release), nor accurate, we are providing this short + description of how to configure SSL, as well as how it should be used. + + Hard-Coded Build-Time Constants: + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + Here is the list of constants which are hard-coded during build time: + + PEGASUS_CONFIG_DIR = /etc/Pegasus + + PEGASUS_PEM_DIR = /etc/pki/Pegasus + + PEGASUS_SSL_KEY_FILE = file.pem + PEGASUS_SSL_KEY_FILE_PATH = $(PEGASUS_PEM_DIR)/$(PEGASUS_SSL_KEY_FILE) + (= /etc/pki/Pegasus/file.pem) + o Contains the private key for the CIM Server SSL Certificate. + + PEGASUS_SSL_CERT_FILE = server.pem + PEGASUS_SSL_CERT_FILE_PATH = $(PEGASUS_PEM_DIR)/$(PEGASUS_SSL_CERT_FILE) + (= /etc/pki/Pegasus/server.pem) + o Contains the CIM Server SSL Certificate. + + PEGASUS_SSL_TRUSTSTORE = client.pem + PEGASUS_SSL_CLIENT_TRUSTSTORE = $(PEGASUS_PEM_DIR)/$(PEGASUS_SSL_TRUSTSTORE) + (= /etc/pki/Pegasus/client.pem) + PEGASUS_SSL_SERVER_TRUSTSTORE = $(PEGASUS_PEM_DIR)/cimserver_trust + (= /etc/pki/Pegasus/cimserver_trust) + o Specifies the location of the OpenSSL truststore. Consistent with the + OpenSSL implementation, a truststore can be either a file or directory. + If the truststore is a directory, then all certificates within the + directory are considered trusted. + + PEGASUS_SSL_SERVER_CRL = $(PEGASUS_PEM_DIR)/crl + (= /etc/pki/Pegasus/crl) + o This is where the CRL (Certificate Revocation List) store resides. + + Tips Following Package Installation: + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + o CIM Server default SSL certificates are generated when you run the + tog-pegasus daemon (for example, by issuing the command + "systemctl start tog-pegasus") for the first time, which includes the + following files, which are created in /etc/pki/Pegasus: ca.crt, ca.srl, + client.pem, file.pem, server.pem and in /etc/Pegasus: ssl-ca.cnf, + ssl-service.cnf. + Important: simply running the "cimserver" binary (/usr/sbin/cimserver) + does NOT create the certificates or abovementioned files. + Note: if you want to use your own certificates, simply overwrite the ones + in /etc/pki/Pegasus. + + o to enable/disable HTTPS port 5989 (the official WBEM secure port), + use cimconfig. + + o the wbemcli command (from the sblim-wbemcli package) + uses /etc/pki/Pegasus/client.pem by default (see man wbemcli). + diff --git a/SOURCES/README.RedHat.Security b/SOURCES/README.RedHat.Security new file mode 100644 index 0000000..9bc19c0 --- /dev/null +++ b/SOURCES/README.RedHat.Security @@ -0,0 +1,84 @@ + Red Hat Security Enhancements for tog-pegasus + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + Access to the Pegasus services: + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + By default, with the configuration as shipped, the upstream Open Group Pegasus + release allowed any user with an account on the machine (including root) to + use the network HTTPS port 5989 (by default) and HTTP port 5988 services. + On authentication failures, though there was the standard PAM authentication + failure delay, no messages were logged to syslog. This meant that potentially + a long-running cracker process could try millions of root passwords over the + network and could possibly discover the root password . If users were unwise + enough to enable the HTTP service on port 5988, then root passwords could be + sent unencrypted over the network. + + This situation was deemed unacceptable by Red Hat RHEL QA test and Security + Response team engineers. + + So for the Red Hat tog-pegasus release, PAM access control was enabled, to + remove these vulnerabilities. There is now a "pegasus" user created during + install, and users are recommended to use only that user to invoke CIM + operations over the network. + + By default: + + o root password authentication for CIM operations invoked over the network + HTTPS/HTTP services is denied - the root user is unable to invoke pegasus + services over the network - only the "pegasus" user may do so. + + o the root user may invoke CIM operations over the HTTPS/HTTP ports on the + local machine. + + o any user other than "pegasus" or "root" may not invoke pegasus services + over the HTTPS/HTTP ports at all. + + o any PAM authentication failure will be logged to syslog + + NOTE: after installation, you must set the password for the pegasus user - + issue this command as root : + # passwd pegasus + - to enable CIM operation network service, if the pegasus user is + a local system user. + + Note also that even though a non-root user's password is used to authenticate + with the cimserver, the cimserver and all CIM Operation Providers run as root. + This was another reason to restrict use of CIM Operations to only one user. + + The "pegasus" user may of course be a NIS, Kerberos, or LDAP user, which + could be used as configured in /etc/nsswitch.conf or with the PAM stack. + + You may configure this differently, and at your own risk, by modifying the + pam_access configuration file /etc/Pegasus/access.conf, or by removing the + line: + account required pam_access.so accessfile=/etc/Pegasus/access.conf + from /etc/pam.d/wbem - then tog-pegasus' authentication behaviour would + be the same as that of the upstream release. + + SELinux + ~~~~~~~ + There is an SELinux policy for tog-pegasus shipped in selinux-policy-targeted-1.17.30-2.110+ . + When SELinux is enabled in enforcing mode, the cimserver and providers are restricted to the + operations allowed to the 'pegasus_t' security context. Also only the pegasus_exec_t context + may modify the repository, and only the pegasus_exec_conf_t context may modify the pegasus + configuration files which are of pegasus_conf_t file context. + + It is also possible to have separate SELinux policy for each provider. Create wrapper + in '/usr/libexec/pegasus' with its own specific SELinux label for each confined provider. + The wrapper file name has to be in specific format '$MODULE-cimprovagt' (where $MODULE is + value of PG_ProviderModule.ModuleGroupName as set during registration of the provider). + + Original Pegasus's cimprovagt binary was moved to '/usr/libexec/pegasus/cimprovagt', + '/usr/sbin/cimprovagt' is simple shell script now, which passes all arguments to provider specific + wrapper if it exists or directly to original cimprovagt in other cases. + + See example wrapper for Operating System Provider from sblim-cmpi-base package (which instruments + Linux_OperatingSystem class): + cmpiOSBase_OperatingSystemProvider-cimprovagt.example + + ExecShield + ~~~~~~~~~~ + All tog-pegasus binary executables are compiled with ExecShield enabled, which make it nearly + impossible to modify them or to poke executable code into them. + diff --git a/SOURCES/access.conf b/SOURCES/access.conf new file mode 100644 index 0000000..aa93fd6 --- /dev/null +++ b/SOURCES/access.conf @@ -0,0 +1,43 @@ +############################################################################## +# Pegasus WBEM HTTP/HTTPS Network Service User Access Control Table: +# +# This file controls access to the Pegasus WBEM Network services by users +# with the PAM pam_access module . +# +# The format of the access control table is three fields separated by a +# ":" character: +# +# permission : users : origins +# +# The first field should be a "+" (access granted) or "-" (access denied) +# character. +# +# The second field should be a list of one or more login names, group +# names, or ALL (always matches). A pattern of the form user@host is +# matched when the login name matches the "user" part, and when the +# "host" part matches the local machine name. +# +# If you run NIS you can use @netgroupname in host or user patterns; this +# even works for @usergroup@@hostgroup patterns. Weird. +# +# The EXCEPT operator makes it possible to write very compact rules. +# +# The group file is searched only when a name does not match that of the +# logged-in user. Both the user's primary group is matched, as well as +# groups in which users are explicitly listed. +# +# The third field must be 'wbemNetwork', to control access by users from +# remote hosts, or 'wbemLocal', to control access by users from the local host. +############################################################################## +# +# Pegasus PAM Access Rules: +# 1. The Remote host user access rule: +# By default, ONLY the pegasus user can use remote network HTTP/S service: +# +-: ALL EXCEPT pegasus:wbemNetwork +# +# +# 2. The Local host user access rule: +# By default, ONLY the pegasus and root users can use pegasus local HTTP/S service: +# +-: ALL EXCEPT pegasus root:wbemLocal diff --git a/SOURCES/cimprovagt-wrapper.sh b/SOURCES/cimprovagt-wrapper.sh new file mode 100644 index 0000000..f6648f0 --- /dev/null +++ b/SOURCES/cimprovagt-wrapper.sh @@ -0,0 +1,15 @@ +#!/bin/bash + +# simple wrapper for Pegasus's cimprovagt +# which allows providers to have separate +# SELinux policy +# see README.RedHat.Security for more info + +provcimprovagt=/usr/libexec/pegasus/"$5"-cimprovagt + +if [[ -x "$provcimprovagt" ]] +then + "$provcimprovagt" "$@" +else + /usr/libexec/pegasus/cimprovagt "$@" +fi diff --git a/SOURCES/cmpiOSBase_OperatingSystemProvider-cimprovagt.example b/SOURCES/cmpiOSBase_OperatingSystemProvider-cimprovagt.example new file mode 100755 index 0000000..68a2000 --- /dev/null +++ b/SOURCES/cmpiOSBase_OperatingSystemProvider-cimprovagt.example @@ -0,0 +1,3 @@ +#!/bin/bash + +/usr/libexec/pegasus/cimprovagt "$@" diff --git a/SOURCES/generate-certs b/SOURCES/generate-certs new file mode 100755 index 0000000..ca02982 --- /dev/null +++ b/SOURCES/generate-certs @@ -0,0 +1,14 @@ +#!/bin/bash +cd /etc/Pegasus + +if [ ! -e /etc/Pegasus/ssl-ca.cnf ] || [ ! -e /etc/Pegasus/ssl-service.cnf ] || [ ! -e /etc/pki/Pegasus/server.pem ] || + [ ! -e /etc/pki/Pegasus/file.pem ] || [ ! -e /etc/pki/Pegasus/client.pem ]; then + if [ -x /usr/share/Pegasus/scripts/genOpenPegasusSSLCerts ]; then + # Create self-signed certificates for initial usage + /usr/share/Pegasus/scripts/genOpenPegasusSSLCerts + # Add the self-signed certificate to the local trust store + cp /etc/pki/Pegasus/ca.crt \ + /etc/pki/ca-trust/source/anchors/localhost-pegasus.pem + /usr/bin/update-ca-trust extract + fi; + fi; diff --git a/SOURCES/pegasus-2.10.0-dont-strip.patch b/SOURCES/pegasus-2.10.0-dont-strip.patch new file mode 100644 index 0000000..e485ade --- /dev/null +++ b/SOURCES/pegasus-2.10.0-dont-strip.patch @@ -0,0 +1,11 @@ +diff -up pegasus/mak/config-linux.mak.orig pegasus/mak/config-linux.mak +--- pegasus/mak/config-linux.mak.orig 2015-03-31 15:25:23.735154221 +0200 ++++ pegasus/mak/config-linux.mak 2015-03-31 15:26:29.349434918 +0200 +@@ -127,6 +127,7 @@ else + # appeared in the 3.0 series of compilers. + # + ifeq ($(COMPILER), gnu) ++ FLAGS += -g + # disable the strict aliasing + ifeq ($(shell expr $(GCC_VERSION) '>=' 3.0), 1) + PEGASUS_EXTRA_CXX_FLAGS += -fno-enforce-eh-specs -fno-strict-aliasing diff --git a/SOURCES/pegasus-2.10.0-sparc-posix-lock.patch b/SOURCES/pegasus-2.10.0-sparc-posix-lock.patch new file mode 100644 index 0000000..ca5b447 --- /dev/null +++ b/SOURCES/pegasus-2.10.0-sparc-posix-lock.patch @@ -0,0 +1,22 @@ +diff -up pegasus/src/Pegasus/Common/Platform_LINUX_SPARC64_GNU.h.orig pegasus/src/Pegasus/Common/Platform_LINUX_SPARC64_GNU.h +--- pegasus/src/Pegasus/Common/Platform_LINUX_SPARC64_GNU.h.orig 2013-08-27 15:26:50.593740210 +0200 ++++ pegasus/src/Pegasus/Common/Platform_LINUX_SPARC64_GNU.h 2013-08-27 15:27:12.543825109 +0200 +@@ -90,4 +90,7 @@ + # define PEGASUS_HAS_GETIFADDRS + #endif + ++/* use POSIX read-write locks on this platform */ ++#define PEGASUS_USE_POSIX_RWLOCK ++ + #endif /* Pegasus_Platform_LINUX_SPARC64_GNU_h */ +diff -up pegasus/src/Pegasus/Common/Platform_LINUX_SPARCV9_GNU.h.orig pegasus/src/Pegasus/Common/Platform_LINUX_SPARCV9_GNU.h +--- pegasus/src/Pegasus/Common/Platform_LINUX_SPARCV9_GNU.h.orig 2013-08-27 15:25:59.601542527 +0200 ++++ pegasus/src/Pegasus/Common/Platform_LINUX_SPARCV9_GNU.h 2013-08-27 15:26:33.232672955 +0200 +@@ -90,4 +90,7 @@ + # define PEGASUS_HAS_GETIFADDRS + #endif + ++/* use POSIX read-write locks on this platform */ ++#define PEGASUS_USE_POSIX_RWLOCK ++ + #endif /* Pegasus_Platform_LINUX_SPARCV9_GNU_h */ diff --git a/SOURCES/pegasus-2.12.0-cimmofl-allow-experimental.patch b/SOURCES/pegasus-2.12.0-cimmofl-allow-experimental.patch new file mode 100644 index 0000000..2da15c2 --- /dev/null +++ b/SOURCES/pegasus-2.12.0-cimmofl-allow-experimental.patch @@ -0,0 +1,514 @@ +diff -up pegasus/Schemas/Pegasus/Internal/Makefile.orig pegasus/Schemas/Pegasus/Internal/Makefile +--- pegasus/Schemas/Pegasus/Internal/Makefile.orig 2015-04-02 12:28:55.974227490 +0200 ++++ pegasus/Schemas/Pegasus/Internal/Makefile 2015-04-02 12:47:48.912641222 +0200 +@@ -48,12 +48,13 @@ all: + + repository: + @ $(ECHO) +++++ Loading Core$(CIM_SCHEMA_VER)_Qualifiers.mof into $(INTERNALNS) namespace ... +- @ $(CIMMOFCLI) "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-n$(INTERNALNS)" "$(CIM_SCHEMA_DIR)/Core$(CIM_SCHEMA_VER)_Qualifiers.mof" ++ @ $(CIMMOFCLI) "-aE" "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-n$(INTERNALNS)" "$(CIM_SCHEMA_DIR)/Core$(CIM_SCHEMA_VER)_Qualifiers.mof" + @ $(ECHO) +++++ Loading PG_InternalSchema$(PG_SCHEMA_VER).mof into $(INTERNALNS) namespace... +- @ $(CIMMOFCLI) "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-I$(PG_MOF_PATH)" "-n$(INTERNALNS)" "$(PG_MOF_PATH)/PG_InternalSchema$(PG_SCHEMA_VER).mof" ++ @ $(CIMMOFCLI) "-aE" "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-I$(PG_MOF_PATH)" "-n$(INTERNALNS)" "$(PG_MOF_PATH)/PG_InternalSchema$(PG_SCHEMA_VER).mof" + ifeq ($(PEGASUS_ENABLE_SLP),true) + @ $(ECHO) +++++ Loading PG_SLPTemplate.mof into $(INTERNALNS) namespace... +- @ $(CIMMOFCLI) "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-I$(PG_MOF_PATH)" "-n$(INTERNALNS)" "$(PG_MOF_PATH)/PG_SLPTemplate.mof" ++ @ $(CIMMOFCLI) "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-I$(PG_MOF_PATH)" "-n$(INTERNALNS)" "$(PG_MOF_PATH)/PG_SLPTemplate.mof" ++ @ $(CIMMOFCLI) "-aE" "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-I$(PG_MOF_PATH)" "-n$(INTERNALNS)" "$(PG_MOF_PATH)/PG_SLPTemplate.mof" + endif + + +diff -up pegasus/Schemas/Pegasus/InterOp/Makefile.orig pegasus/Schemas/Pegasus/InterOp/Makefile +--- pegasus/Schemas/Pegasus/InterOp/Makefile.orig 2015-04-02 12:48:17.347745936 +0200 ++++ pegasus/Schemas/Pegasus/InterOp/Makefile 2015-04-02 12:51:35.167484347 +0200 +@@ -44,30 +44,30 @@ all: + + repository: + @$(ECHO) +++++ Loading CIM_Core$(CIM_SCHEMA_VER) into $(INTEROPNS) namespace ... +- @$(CIMMOFCLI) "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-I$(CIM_SCHEMA_DIR)" "-n$(INTEROPNS)" $(ALLOW_EXPERIMENTAL) "$(CIM_SCHEMA_DIR)/CIM_Core$(CIM_SCHEMA_VER).mof" ++ @$(CIMMOFCLI) "-aE" "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-I$(CIM_SCHEMA_DIR)" "-n$(INTEROPNS)" $(ALLOW_EXPERIMENTAL) "$(CIM_SCHEMA_DIR)/CIM_Core$(CIM_SCHEMA_VER).mof" + @$(ECHO) +++++ Loading CIM_Event$(CIM_SCHEMA_VER) into $(INTEROPNS) namespace ... +- @$(CIMMOFCLI) "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-I$(CIM_SCHEMA_DIR)" "-n$(INTEROPNS)" $(ALLOW_EXPERIMENTAL) "$(CIM_SCHEMA_DIR)/CIM_Event$(CIM_SCHEMA_VER).mof" ++ @$(CIMMOFCLI) "-aE" "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-I$(CIM_SCHEMA_DIR)" "-n$(INTEROPNS)" $(ALLOW_EXPERIMENTAL) "$(CIM_SCHEMA_DIR)/CIM_Event$(CIM_SCHEMA_VER).mof" + # + ifeq ($(PEGASUS_ENABLE_INTEROP_PROVIDER),true) + @$(ECHO) +++++ Loading CIM_Interop$(CIM_SCHEMA_VER) into $(INTEROPNS) namespace ... +- @$(CIMMOFCLI) "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-I$(CIM_SCHEMA_DIR)" "-n$(INTEROPNS)" $(ALLOW_EXPERIMENTAL) "$(CIM_SCHEMA_DIR)/CIM_Interop$(CIM_SCHEMA_VER).mof" ++ @$(CIMMOFCLI) "-aE" "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-I$(CIM_SCHEMA_DIR)" "-n$(INTEROPNS)" $(ALLOW_EXPERIMENTAL) "$(CIM_SCHEMA_DIR)/CIM_Interop$(CIM_SCHEMA_VER).mof" + endif + # + @$(ECHO) +++++ Loading PG_InterOpSchema$(PG_INTEROP_SCHEMA_VER).mof into $(INTEROPNS) namespace... +- @$(CIMMOFCLI) "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-I$(PG_INTEROP_MOF_PATH)" "-n$(INTEROPNS)" "$(PG_INTEROP_MOF_PATH)/PG_InterOpSchema$(PG_INTEROP_SCHEMA_VER).mof" ++ @$(CIMMOFCLI) "-aE" "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-I$(PG_INTEROP_MOF_PATH)" "-n$(INTEROPNS)" "$(PG_INTEROP_MOF_PATH)/PG_InterOpSchema$(PG_INTEROP_SCHEMA_VER).mof" + # + # Bug 1222 + # The following code is temporary. These classes should be incorporated into PG_InteropSchema + # however, this cannot be done now because we cannot conditionally compile MOF. + ifeq ($(PEGASUS_ENABLE_INTEROP_PROVIDER),true) + @$(ECHO) +++++ Loading PG_CIMXMLCommunicationMechanism$(PG_INTEROP_SCHEMA_VER) into $(INTEROPNS) namespace ... +- @$(CIMMOFCLI) "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-I$(PG_INTEROP_MOF_PATH)" "-n$(INTEROPNS)" $(ALLOW_EXPERIMENTAL) "$(PG_INTEROP_MOF_PATH)/PG_CIMXMLCommunicationMechanism$(PG_INTEROP_SCHEMA_VER).mof" ++ @$(CIMMOFCLI) "-aE" "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-I$(PG_INTEROP_MOF_PATH)" "-n$(INTEROPNS)" $(ALLOW_EXPERIMENTAL) "$(PG_INTEROP_MOF_PATH)/PG_CIMXMLCommunicationMechanism$(PG_INTEROP_SCHEMA_VER).mof" + @$(ECHO) +++++ Loading PG_Namespace$(PG_INTEROP_SCHEMA_VER) into $(INTEROPNS) namespace ... +- @$(CIMMOFCLI) "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-I$(PG_INTEROP_MOF_PATH)" "-n$(INTEROPNS)" $(ALLOW_EXPERIMENTAL) "$(PG_INTEROP_MOF_PATH)/PG_Namespace$(PG_INTEROP_SCHEMA_VER).mof" ++ @$(CIMMOFCLI) "-aE" "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-I$(PG_INTEROP_MOF_PATH)" "-n$(INTEROPNS)" $(ALLOW_EXPERIMENTAL) "$(PG_INTEROP_MOF_PATH)/PG_Namespace$(PG_INTEROP_SCHEMA_VER).mof" + @$(ECHO) +++++ Loading Computer System schema into $(INTEROPNS) namespace ... +- @$(CIMMOFCLI) "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-I$(PG_COMPUTERSYSTEM_MOF_PATH)" "-n$(INTEROPNS)" $(ALLOW_EXPERIMENTAL) "$(PG_COMPUTERSYSTEM_MOF_PATH)/PG_ComputerSystem$(PG_SCHEMA_VER).mof" ++ @$(CIMMOFCLI) "-aE" "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-I$(PG_COMPUTERSYSTEM_MOF_PATH)" "-n$(INTEROPNS)" $(ALLOW_EXPERIMENTAL) "$(PG_COMPUTERSYSTEM_MOF_PATH)/PG_ComputerSystem$(PG_SCHEMA_VER).mof" + @$(ECHO) +++++ Loading PG_ServerProfile schema into $(INTEROPNS) namespace ... +- @$(CIMMOFCLI) "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-I$(PG_INTEROP_MOF_PATH)" "-n$(INTEROPNS)" $(ALLOW_EXPERIMENTAL) "$(PG_INTEROP_MOF_PATH)/PG_ServerProfile$(PG_INTEROP_SCHEMA_VER).mof" ++ @$(CIMMOFCLI) "-aE" "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-I$(PG_INTEROP_MOF_PATH)" "-n$(INTEROPNS)" $(ALLOW_EXPERIMENTAL) "$(PG_INTEROP_MOF_PATH)/PG_ServerProfile$(PG_INTEROP_SCHEMA_VER).mof" + + endif + +diff -up pegasus/Schemas/Pegasus/ManagedSystem/Makefile.orig pegasus/Schemas/Pegasus/ManagedSystem/Makefile +--- pegasus/Schemas/Pegasus/ManagedSystem/Makefile.orig 2015-04-02 12:51:58.257571054 +0200 ++++ pegasus/Schemas/Pegasus/ManagedSystem/Makefile 2015-04-02 12:54:31.759930745 +0200 +@@ -66,33 +66,33 @@ endif + ifeq ($(MANAGEDSYSTEM_NS_SUPPORTED),true) + repository: + @ $(ECHO) +++++ Loading CIM_Schema$(CIM_SCHEMA_VER) into $(MANAGEDSYSTEMNS) namespace ... +- @ $(CIMMOFCLI) "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-I$(CIM_SCHEMA_DIR)" "-n$(MANAGEDSYSTEMNS)" $(ALLOW_EXPERIMENTAL) "$(CIM_SCHEMA_DIR)/CIM_Schema$(CIM_SCHEMA_VER).mof" ++ @ $(CIMMOFCLI) "-aE" "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-I$(CIM_SCHEMA_DIR)" "-n$(MANAGEDSYSTEMNS)" $(ALLOW_EXPERIMENTAL) "$(CIM_SCHEMA_DIR)/CIM_Schema$(CIM_SCHEMA_VER).mof" + @ $(ECHO) +++++ Loading PG_Events$(PG_INTEROP_SCHEMA_VER) into $(MANAGEDSYSTEMNS) namespace ... +- @ $(CIMMOFCLI) "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-I$(PG_INTEROP_MOF_PATH)" "-n$(MANAGEDSYSTEMNS)" "$(PG_INTEROP_MOF_PATH)/PG_Events$(PG_INTEROP_SCHEMA_VER).mof" ++ @ $(CIMMOFCLI) "-aE" "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-I$(PG_INTEROP_MOF_PATH)" "-n$(MANAGEDSYSTEMNS)" "$(PG_INTEROP_MOF_PATH)/PG_Events$(PG_INTEROP_SCHEMA_VER).mof" + @ $(ECHO) +++++ Loading PG_ManagedSystemSchema$(PG_SCHEMA_VER) into $(MANAGEDSYSTEMNS) namespace ... +- @ $(CIMMOFCLI) "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-I$(PG_MOF_PATH)" "-n$(MANAGEDSYSTEMNS)" "$(PG_MOF_PATH)/PG_ManagedSystemSchema$(PG_SCHEMA_VER).mof" ++ @ $(CIMMOFCLI) "-aE" "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-I$(PG_MOF_PATH)" "-n$(MANAGEDSYSTEMNS)" "$(PG_MOF_PATH)/PG_ManagedSystemSchema$(PG_SCHEMA_VER).mof" + ifndef SET_USER_CONTEXT_TO_REQUESTOR + @ $(ECHO) +++++ Registering Providers for PG_ManagedSystemSchema$(PG_SCHEMA_VER) ... +- @ $(CIMMOFCLI) "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-I$(PG_MOF_PATH)" "-n$(INTEROPNS)" "$(PG_MOF_PATH)/PG_ManagedSystemSchema$(PG_SCHEMA_VER)R.mof" ++ @ $(CIMMOFCLI) "-aE" "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-I$(PG_MOF_PATH)" "-n$(INTEROPNS)" "$(PG_MOF_PATH)/PG_ManagedSystemSchema$(PG_SCHEMA_VER)R.mof" + else + @ $(ECHO) +++++ Registering Providers for PG_ManagedSystemSchema21R ... +- @ $(CIMMOFCLI) "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-I$(PG_MOF_PATH)" "-n$(INTEROPNS)" "$(PG_MOF_PATH)/PG_ManagedSystemSchema21R.mof" ++ @ $(CIMMOFCLI) "-aE" "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-I$(PG_MOF_PATH)" "-n$(INTEROPNS)" "$(PG_MOF_PATH)/PG_ManagedSystemSchema21R.mof" + endif + ifeq ($(PEGASUS_USE_RELEASE_CONFIG_OPTIONS),false) + @ $(ECHO) +++++ Loading PG_ManagedSystemTestSchema$(PG_SCHEMA_VER) into $(MANAGEDSYSTEMNS) namespace ... +- @ $(CIMMOFCLI) "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-I$(PG_MOF_PATH)" "-n$(MANAGEDSYSTEMNS)" "$(PG_MOF_PATH)/PG_ManagedSystemTestSchema$(PG_SCHEMA_VER).mof" ++ @ $(CIMMOFCLI) "-aE" "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-I$(PG_MOF_PATH)" "-n$(MANAGEDSYSTEMNS)" "$(PG_MOF_PATH)/PG_ManagedSystemTestSchema$(PG_SCHEMA_VER).mof" + @ $(ECHO) +++++ Registering Providers for PG_ManagedSystemTestSchema$(PG_SCHEMA_VER) ... +- @ $(CIMMOFCLI) "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-I$(PG_MOF_PATH)" "-n$(INTEROPNS)" "$(PG_MOF_PATH)/PG_ManagedSystemTestSchema$(PG_SCHEMA_VER)R.mof" ++ @ $(CIMMOFCLI) "-aE" "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-I$(PG_MOF_PATH)" "-n$(INTEROPNS)" "$(PG_MOF_PATH)/PG_ManagedSystemTestSchema$(PG_SCHEMA_VER)R.mof" + endif + ifeq ($(EXTENDED_MANAGEDSYSTEM_NS_SUPPORTED),true) + @ $(ECHO) +++++ Loading platform specific class definitions in $(MANAGEDSYSTEMNS) namespace ... +- @ $(CIMMOFCLI) "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-I$(PG_MOF_PATH)" "-n$(MANAGEDSYSTEMNS)" "$(PG_MOF_PATH)/$(FILE_PREFIX)_ManagedSystemSchema$(PG_SCHEMA_VER).mof" ++ @ $(CIMMOFCLI) "-aE" "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-I$(PG_MOF_PATH)" "-n$(MANAGEDSYSTEMNS)" "$(PG_MOF_PATH)/$(FILE_PREFIX)_ManagedSystemSchema$(PG_SCHEMA_VER).mof" + @ $(ECHO) +++++ Registering Providers for platform specific classes in $(MANAGEDSYSTEMNS) namespace ... +- @ $(CIMMOFCLI) "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-I$(PG_MOF_PATH)" "-n$(INTEROPNS)" "$(PG_MOF_PATH)/$(FILE_PREFIX)_ManagedSystemSchema$(PG_SCHEMA_VER)R.mof" ++ @ $(CIMMOFCLI) "-aE" "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-I$(PG_MOF_PATH)" "-n$(INTEROPNS)" "$(PG_MOF_PATH)/$(FILE_PREFIX)_ManagedSystemSchema$(PG_SCHEMA_VER)R.mof" + endif + ifeq ($(PEGASUS_ENABLE_SLP),true) + @ $(ECHO) +++++ Registering the SLPProvider in $(MANAGEDSYSTEMNS) namespace ... +- @ $(CIMMOFCLI) "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-I$(PG_MOF_PATH)" "-n$(INTEROPNS)" "$(PG_MOF_PATH)/PG_SLPProvider$(PG_SCHEMA_VER)R.mof" ++ @ $(CIMMOFCLI) "-aE" "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-I$(PG_MOF_PATH)" "-n$(INTEROPNS)" "$(PG_MOF_PATH)/PG_SLPProvider$(PG_SCHEMA_VER)R.mof" + endif + + repositoryServer: +diff -up pegasus/src/Clients/benchmarkTest/Load/Makefile.orig pegasus/src/Clients/benchmarkTest/Load/Makefile +--- pegasus/src/Clients/benchmarkTest/Load/Makefile.orig 2015-04-02 12:54:48.848927271 +0200 ++++ pegasus/src/Clients/benchmarkTest/Load/Makefile 2015-04-02 12:56:27.679228240 +0200 +@@ -46,12 +46,12 @@ CIMMOFL = cimmofl + + repository: + @ $(ECHO) +++++ Loading CIM_Core$(CIM_SCHEMA_VER) into $(PROVIDERNS) namespace ... +- @ $(CIMMOFL) "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-I$(CIM_SCHEMA_DIR)" \ ++ @ $(CIMMOFL) "-aE" "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-I$(CIM_SCHEMA_DIR)" \ + "-n$(PROVIDERNS)" $(ALLOW_EXPERIMENTAL) $(CIM_SCHEMA_DIR)/CIM_Core$(CIM_SCHEMA_VER).mof + @ $(ECHO) +++++ Loading $(BenchmarkMOF_NAME) class definitions into $(PROVIDERNS) namespace ... +- @ $(CIMMOFL) "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-n$(PROVIDERNS)" $(BenchmarkMOF_NAME).mof ++ @ $(CIMMOFL) "-aE" "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-n$(PROVIDERNS)" $(BenchmarkMOF_NAME).mof + @ $(ECHO) +++++ Registering benchmark Provider ... +- @ $(CIMMOFL) "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-n$(INTEROPNS)" $(BenchmarkMOF_NAME)R.mof ++ @ $(CIMMOFL) "-aE" "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-n$(INTEROPNS)" $(BenchmarkMOF_NAME)R.mof + + repositoryServer: + @ $(ECHO) +++++ Loading CIM_Core$(CIM_SCHEMA_VER) into $(PROVIDERNS) namespace ... +diff -up pegasus/src/Providers/sample/Load/Makefile.orig pegasus/src/Providers/sample/Load/Makefile +--- pegasus/src/Providers/sample/Load/Makefile.orig 2015-04-02 12:56:41.488278412 +0200 ++++ pegasus/src/Providers/sample/Load/Makefile 2015-04-02 13:01:24.078286449 +0200 +@@ -44,52 +44,52 @@ SAMPLEPROVIDERNS=root/SampleProvider + # Load the sample MOF with the local compiler. + repository: + @ $(ECHO) +++++ Loading CIM_Core$(CIM_SCHEMA_VER) into $(SAMPLEPROVIDERNS) namespace ... +- @ cimmofl "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-I$(CIM_SCHEMA_DIR)" "-n$(SAMPLEPROVIDERNS)" $(ALLOW_EXPERIMENTAL) $(CIM_SCHEMA_DIR)/CIM_Core$(CIM_SCHEMA_VER).mof ++ @ cimmofl "-aE" "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-I$(CIM_SCHEMA_DIR)" "-n$(SAMPLEPROVIDERNS)" $(ALLOW_EXPERIMENTAL) $(CIM_SCHEMA_DIR)/CIM_Core$(CIM_SCHEMA_VER).mof + @ $(ECHO) +++++ Loading CIM_Event$(CIM_SCHEMA_VER) into $(SAMPLEPROVIDERNS) namespace ... +- @ cimmofl "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-I$(CIM_SCHEMA_DIR)" "-n$(SAMPLEPROVIDERNS)" $(ALLOW_EXPERIMENTAL) $(CIM_SCHEMA_DIR)/CIM_Event$(CIM_SCHEMA_VER).mof ++ @ cimmofl "-aE" "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-I$(CIM_SCHEMA_DIR)" "-n$(SAMPLEPROVIDERNS)" $(ALLOW_EXPERIMENTAL) $(CIM_SCHEMA_DIR)/CIM_Event$(CIM_SCHEMA_VER).mof + @ $(ECHO) +++++ Loading CIM_Physical$(CIM_SCHEMA_VER) into $(SAMPLEPROVIDERNS) namespace ... +- @ cimmofl "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-I$(CIM_SCHEMA_DIR)" "-n$(SAMPLEPROVIDERNS)" $(ALLOW_EXPERIMENTAL) $(CIM_SCHEMA_DIR)/CIM_Physical$(CIM_SCHEMA_VER).mof ++ @ cimmofl "-aE" "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-I$(CIM_SCHEMA_DIR)" "-n$(SAMPLEPROVIDERNS)" $(ALLOW_EXPERIMENTAL) $(CIM_SCHEMA_DIR)/CIM_Physical$(CIM_SCHEMA_VER).mof + @ $(ECHO) +++++ Loading CIM_System$(CIM_SCHEMA_VER) into $(SAMPLEPROVIDERNS) namespace ... +- @ cimmofl "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-I$(CIM_SCHEMA_DIR)" "-n$(SAMPLEPROVIDERNS)" $(ALLOW_EXPERIMENTAL) $(CIM_SCHEMA_DIR)/CIM_System$(CIM_SCHEMA_VER).mof ++ @ cimmofl "-aE" "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-I$(CIM_SCHEMA_DIR)" "-n$(SAMPLEPROVIDERNS)" $(ALLOW_EXPERIMENTAL) $(CIM_SCHEMA_DIR)/CIM_System$(CIM_SCHEMA_VER).mof + @ $(ECHO) +++++ Loading PG_Events$(PG_INTEROP_SCHEMA_VER) into $(SAMPLEPROVIDERNS) namespace ... +- @ cimmofl "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-I$(PG_INTEROP_MOF_PATH)" "-n$(SAMPLEPROVIDERNS)" $(ALLOW_EXPERIMENTAL) $(PG_INTEROP_MOF_PATH)/PG_Events$(PG_INTEROP_SCHEMA_VER).mof ++ @ cimmofl "-aE" "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-I$(PG_INTEROP_MOF_PATH)" "-n$(SAMPLEPROVIDERNS)" $(ALLOW_EXPERIMENTAL) $(PG_INTEROP_MOF_PATH)/PG_Events$(PG_INTEROP_SCHEMA_VER).mof + @ $(ECHO) +++++ Loading SampleProvider class definitions into $(SAMPLEPROVIDERNS) namespace ... +- @ cimmofl "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-n$(SAMPLEPROVIDERNS)" SampleProviderSchema.mof +- @ cimmofl "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-n$(SAMPLEPROVIDERNS)" AssociationProvider.mof +- @ cimmofl "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-n$(SAMPLEPROVIDERNS)" ClientTest.mof ++ @ cimmofl "-aE" "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-n$(SAMPLEPROVIDERNS)" SampleProviderSchema.mof ++ @ cimmofl "-aE" "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-n$(SAMPLEPROVIDERNS)" AssociationProvider.mof ++ @ cimmofl "-aE" "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-n$(SAMPLEPROVIDERNS)" ClientTest.mof + @ $(ECHO) +++++ Registering Sample Providers ... +- @ cimmofl "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-n$(INTEROPNS)" SampleProviderSchemaR.mof ++ @ cimmofl "-aE" "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-n$(INTEROPNS)" SampleProviderSchemaR.mof + ifdef PEGASUS_ENABLE_EXECQUERY +- @ cimmofl "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-n$(INTEROPNS)" InstanceQueryProviderR.mof ++ @ cimmofl "-aE" "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-n$(INTEROPNS)" InstanceQueryProviderR.mof + endif + ifeq ($(PEGASUS_ENABLE_CMPI_PROVIDER_MANAGER), true) + @ $(ECHO) +++++ Installing the MOF file for CMPI Providers +- @ cimmofl "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-n$(SAMPLEPROVIDERNS)" CWS_FilesAndDir.mof ++ @ cimmofl "-aE" "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-n$(SAMPLEPROVIDERNS)" CWS_FilesAndDir.mof + @ $(ECHO) +++++ Registering FilesAndDir schema Providers ... +- @ cimmofl "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-n$(INTEROPNS)" CWS_FilesAndDirR.mof ++ @ cimmofl "-aE" "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-n$(INTEROPNS)" CWS_FilesAndDirR.mof + + @ $(ECHO) +++++ Installing the MOF file for CMPI ProcessIndication Provider +- @ cimmofl "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-n$(SAMPLEPROVIDERNS)" RT_Sample.mof ++ @ cimmofl "-aE" "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-n$(SAMPLEPROVIDERNS)" RT_Sample.mof + @ $(ECHO) +++++ Registering CMPI ProcessIndication Provider ... +- @ cimmofl "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-n$(INTEROPNS)" RT_SampleR.mof ++ @ cimmofl "-aE" "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-n$(INTEROPNS)" RT_SampleR.mof + + @ $(ECHO) +++++ Registering FilesAndDir CXX schema Providers ... +- @ cimmofl "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-n$(INTEROPNS)" CWS_FilesAndDir_CXX_R.mof ++ @ cimmofl "-aE" "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-n$(INTEROPNS)" CWS_FilesAndDir_CXX_R.mof + + @ $(ECHO) +++++ Registering TestCMPI_CXX schema Providers ... +- @ cimmofl "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-n$(SAMPLEPROVIDERNS)" TestCMPI_CXX.mof +- @ cimmofl "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-n$(INTEROPNS)" TestCMPI_CXX_R.mof ++ @ cimmofl "-aE" "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-n$(SAMPLEPROVIDERNS)" TestCMPI_CXX.mof ++ @ cimmofl "-aE" "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-n$(INTEROPNS)" TestCMPI_CXX_R.mof + + @ $(ECHO) +++++ Installing the MOF file for SampleClass CMPI Provider +- @ cimmofl "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-n$(SAMPLEPROVIDERNS)" CMPISampleClass.mof ++ @ cimmofl "-aE" "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-n$(SAMPLEPROVIDERNS)" CMPISampleClass.mof + @ $(ECHO) +++++ Registering CMPI SampleClass Provider ... +- @ cimmofl "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-n$(INTEROPNS)" CMPISampleClassR.mof ++ @ cimmofl "-aE" "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-n$(INTEROPNS)" CMPISampleClassR.mof + + @ $(ECHO) +++++ Loading CMPI Sample Provider class definitions into $(SAMPLEPROVIDERNS) namespace ... +- @ cimmofl "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-n$(SAMPLEPROVIDERNS)" CMPISampleProviderSchema.mof ++ @ cimmofl "-aE" "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-n$(SAMPLEPROVIDERNS)" CMPISampleProviderSchema.mof + + @ $(ECHO) +++++ Registering CMPI Sample Providers ... +- @ cimmofl "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-n$(INTEROPNS)" CMPISampleProviderSchemaR.mof ++ @ cimmofl "-aE" "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-n$(INTEROPNS)" CMPISampleProviderSchemaR.mof + endif + + # Load the sample mof through the Client interface compiler. +diff -up pegasus/src/Providers/TestProviders/Load/Makefile.orig pegasus/src/Providers/TestProviders/Load/Makefile +--- pegasus/src/Providers/TestProviders/Load/Makefile.orig 2015-04-02 13:01:53.265389867 +0200 ++++ pegasus/src/Providers/TestProviders/Load/Makefile 2015-04-02 13:18:57.613079600 +0200 +@@ -67,160 +67,160 @@ EI_STATIC_TEST_NAMESPACE = test/Embedded + ## + repository: + @ $(ECHO) +++++ Loading Core$(CIM_SCHEMA_VER)_Qualifiers.mof into $(TESTPROVIDERNS) namespace ... +- @ cimmofl "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" -n$(TESTPROVIDERNS) $(CIM_SCHEMA_DIR)/Core$(CIM_SCHEMA_VER)_Qualifiers.mof ++ @ cimmofl "-aE" "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" -n$(TESTPROVIDERNS) $(CIM_SCHEMA_DIR)/Core$(CIM_SCHEMA_VER)_Qualifiers.mof + @ $(ECHO) +++++ Loading CIM_Core$(CIM_SCHEMA_VER) into $(TESTPROVIDERNS) namespace ... +- @ cimmofl "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-I$(CIM_SCHEMA_DIR)" "-n$(TESTPROVIDERNS)" $(ALLOW_EXPERIMENTAL) $(CIM_SCHEMA_DIR)/CIM_Core$(CIM_SCHEMA_VER).mof ++ @ cimmofl "-aE" "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-I$(CIM_SCHEMA_DIR)" "-n$(TESTPROVIDERNS)" $(ALLOW_EXPERIMENTAL) $(CIM_SCHEMA_DIR)/CIM_Core$(CIM_SCHEMA_VER).mof + @ $(ECHO) +++++ Loading CIM_Event$(CIM_SCHEMA_VER) into $(TESTPROVIDERNS) namespace ... +- @ cimmofl "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-I$(CIM_SCHEMA_DIR)" "-n$(TESTPROVIDERNS)" $(ALLOW_EXPERIMENTAL) $(CIM_SCHEMA_DIR)/CIM_Event$(CIM_SCHEMA_VER).mof ++ @ cimmofl "-aE" "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-I$(CIM_SCHEMA_DIR)" "-n$(TESTPROVIDERNS)" $(ALLOW_EXPERIMENTAL) $(CIM_SCHEMA_DIR)/CIM_Event$(CIM_SCHEMA_VER).mof + @ $(ECHO) +++++ Loading CIM_Physical$(CIM_SCHEMA_VER) into $(TESTPROVIDERNS) namespace ... +- @ cimmofl "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-I$(CIM_SCHEMA_DIR)" "-n$(TESTPROVIDERNS)" $(ALLOW_EXPERIMENTAL) $(CIM_SCHEMA_DIR)/CIM_Physical$(CIM_SCHEMA_VER).mof ++ @ cimmofl "-aE" "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-I$(CIM_SCHEMA_DIR)" "-n$(TESTPROVIDERNS)" $(ALLOW_EXPERIMENTAL) $(CIM_SCHEMA_DIR)/CIM_Physical$(CIM_SCHEMA_VER).mof + @ $(ECHO) +++++ Loading CIM_System$(CIM_SCHEMA_VER) into $(TESTPROVIDERNS) namespace ... +- @ cimmofl "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-I$(CIM_SCHEMA_DIR)" "-n$(TESTPROVIDERNS)" $(ALLOW_EXPERIMENTAL) $(CIM_SCHEMA_DIR)/CIM_System$(CIM_SCHEMA_VER).mof ++ @ cimmofl "-aE" "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-I$(CIM_SCHEMA_DIR)" "-n$(TESTPROVIDERNS)" $(ALLOW_EXPERIMENTAL) $(CIM_SCHEMA_DIR)/CIM_System$(CIM_SCHEMA_VER).mof + @ $(ECHO) +++++ Loading CIM_Interop$(CIM_SCHEMA_VER) into $(TESTPROVIDERNS) namespace ... +- @ cimmofl "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-I$(CIM_SCHEMA_DIR)" "-n$(TESTPROVIDERNS)" $(ALLOW_EXPERIMENTAL) $(CIM_SCHEMA_DIR)/CIM_Interop$(CIM_SCHEMA_VER).mof ++ @ cimmofl "-aE" "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-I$(CIM_SCHEMA_DIR)" "-n$(TESTPROVIDERNS)" $(ALLOW_EXPERIMENTAL) $(CIM_SCHEMA_DIR)/CIM_Interop$(CIM_SCHEMA_VER).mof + + @ $(ECHO) +++++ Loading PG_Events$(PG_INTEROP_SCHEMA_VER) into $(TESTPROVIDERNS) namespace ... +- @ cimmofl "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-I$(PG_INTEROP_MOF_PATH)" "-n$(TESTPROVIDERNS)" $(ALLOW_EXPERIMENTAL) $(PG_INTEROP_MOF_PATH)/PG_Events$(PG_INTEROP_SCHEMA_VER).mof ++ @ cimmofl "-aE" "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-I$(PG_INTEROP_MOF_PATH)" "-n$(TESTPROVIDERNS)" $(ALLOW_EXPERIMENTAL) $(PG_INTEROP_MOF_PATH)/PG_Events$(PG_INTEROP_SCHEMA_VER).mof + @ $(ECHO) +++++ Loading TestInstanceProvider class definitions into $(TESTPROVIDERNS) namespace ... +- @ cimmofl "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-n$(TESTPROVIDERNS)" TestInstanceProviderSchema.mof ++ @ cimmofl "-aE" "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-n$(TESTPROVIDERNS)" TestInstanceProviderSchema.mof + @ $(ECHO) +++++ Loading TestChunkingStressProvider class definitions into $(TESTPROVIDERNS) namespace ... +- @ cimmofl "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-n$(TESTPROVIDERNS)" TestChunkingStressProviderSchema.mof ++ @ cimmofl "-aE" "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-n$(TESTPROVIDERNS)" TestChunkingStressProviderSchema.mof + @ $(ECHO) +++++ Loading IndicationStressTest class definitions into $(TESTPROVIDERNS) namespace ... +- @ cimmofl "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-n$(TESTPROVIDERNS)" IndicationStressTestProviderSchema.mof ++ @ cimmofl "-aE" "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-n$(TESTPROVIDERNS)" IndicationStressTestProviderSchema.mof + @ $(ECHO) +++++ Loading TestFaultyProvider class definitions into $(TESTPROVIDERNS) namespace ... +- @ cimmofl "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-n$(TESTPROVIDERNS)" TestFaultyProviderSchema.mof ++ @ cimmofl "-aE" "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-n$(TESTPROVIDERNS)" TestFaultyProviderSchema.mof + + @ $(ECHO) +++++ Registering TestInstanceProvider ... +- @ cimmofl "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-n$(INTEROPNS)" TestInstanceProviderRegistration.mof ++ @ cimmofl "-aE" "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-n$(INTEROPNS)" TestInstanceProviderRegistration.mof + @ $(ECHO) +++++ Registering TestChunkingStressProvider ... +- @ cimmofl "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-n$(INTEROPNS)" TestChunkingStressProviderRegistration.mof ++ @ cimmofl "-aE" "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-n$(INTEROPNS)" TestChunkingStressProviderRegistration.mof + @ $(ECHO) +++++ Registering IndicationStressTest Provider ... +- @ cimmofl "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-n$(INTEROPNS)" IndicationStressTestProviderR.mof ++ @ cimmofl "-aE" "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-n$(INTEROPNS)" IndicationStressTestProviderR.mof + @ $(ECHO) +++++ Registering IndicationStressTestConsumer Provider ... +- @ cimmofl "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-n$(INTEROPNS)" IndicationStressTestConsumerR.mof ++ @ cimmofl "-aE" "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-n$(INTEROPNS)" IndicationStressTestConsumerR.mof + @ $(ECHO) +++++ Registering ProviderLifecycleIndicationConsumer Provider ... +- @ cimmofl "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-n$(INTEROPNS)" ProviderLifecycleIndicationConsumerR.mof ++ @ cimmofl "-aE" "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-n$(INTEROPNS)" ProviderLifecycleIndicationConsumerR.mof + @ $(ECHO) +++++ Registering TestFaultyProvider ... +- @ cimmofl "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-n$(INTEROPNS)" TestFaultyProviderRegistration.mof ++ @ cimmofl "-aE" "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-n$(INTEROPNS)" TestFaultyProviderRegistration.mof + @ $(ECHO) +++++ Registering TestGoodInstanceProvider ... +- @ cimmofl "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-n$(INTEROPNS)" TestGoodInstanceProviderRegistration.mof ++ @ cimmofl "-aE" "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-n$(INTEROPNS)" TestGoodInstanceProviderRegistration.mof + + @ $(ECHO) +++++ Loading DeliveryRetryTest class definitions into $(TESTPROVIDERNS) namespace ... +- @ cimmofl "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-n$(TESTPROVIDERNS)" DeliveryRetryTestProviderSchema.mof ++ @ cimmofl "-aE" "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-n$(TESTPROVIDERNS)" DeliveryRetryTestProviderSchema.mof + + @ $(ECHO) +++++ Registering DeliveryRetryTest Provider ... +- @ cimmofl "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-n$(INTEROPNS)" DeliveryRetryTestProviderR.mof ++ @ cimmofl "-aE" "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-n$(INTEROPNS)" DeliveryRetryTestProviderR.mof + + @ $(ECHO) +++++ Registering IndicationStressTestConsumer Provider ... + @ $(ECHO) +++++ Loading IndicationTestProvider class definitions into $(TESTPROVIDERNS) namespace ... +- @ cimmofl "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-n$(TESTPROVIDERNS)" IndicationTestProvider.mof ++ @ cimmofl "-aE" "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-n$(TESTPROVIDERNS)" IndicationTestProvider.mof + @ $(ECHO) +++++ Registering IndicationTestProvider ... +- @ cimmofl "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-n$(INTEROPNS)" IndicationTestProviderR.mof ++ @ cimmofl "-aE" "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-n$(INTEROPNS)" IndicationTestProviderR.mof + + @ $(ECHO) +++++ Loading MethodTestProvider class definitions into $(TESTPROVIDERNS) namespace ... +- @ cimmofl "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-n$(TESTPROVIDERNS)" MethodTestProvider.mof ++ @ cimmofl "-aE" "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-n$(TESTPROVIDERNS)" MethodTestProvider.mof + @ $(ECHO) +++++ Loading GroupMethodProvider class definitions into $(TESTPROVIDERNS) namespace ... +- @ cimmofl "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-n$(TESTPROVIDERNS)" GroupMethodProvider.mof ++ @ cimmofl "-aE" "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-n$(TESTPROVIDERNS)" GroupMethodProvider.mof + @ $(ECHO) +++++ Loading ProviderLifecycleIndicationProvider class definitions into $(TESTPROVIDERNS) namespace ... +- @ cimmofl "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-n$(TESTPROVIDERNS)" ProviderLifecycleIndicationProvider.mof ++ @ cimmofl "-aE" "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-n$(TESTPROVIDERNS)" ProviderLifecycleIndicationProvider.mof + @ $(ECHO) +++++ Registering MethodTestProvider ... +- @ cimmofl "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-n$(INTEROPNS)" MethodTestProviderR.mof ++ @ cimmofl "-aE" "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-n$(INTEROPNS)" MethodTestProviderR.mof + + @ $(ECHO) +++++ Loading CLITestProvider class definitions into $(TESTPROVIDERNS) namespace ... +- @ cimmofl "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-n$(TESTPROVIDERNS)" CLITestProvider.mof ++ @ cimmofl "-aE" "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-n$(TESTPROVIDERNS)" CLITestProvider.mof + @ $(ECHO) +++++ Registering CLITestProvider ... +- @ cimmofl "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-n$(INTEROPNS)" CLITestProviderR.mof ++ @ cimmofl "-aE" "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-n$(INTEROPNS)" CLITestProviderR.mof + + @ $(ECHO) +++++ Loading TestCIM_ErrorProvider class definitions into $(TESTPROVIDERNS) namespace ... +- @ cimmofl "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-n$(TESTPROVIDERNS)" TestCIM_ErrorProvider.mof ++ @ cimmofl "-aE" "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-n$(TESTPROVIDERNS)" TestCIM_ErrorProvider.mof + @ $(ECHO) +++++ Registering TestCIM_ErrorProvider ... +- @ cimmofl "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-n$(INTEROPNS)" TestCIM_ErrorProviderR.mof ++ @ cimmofl "-aE" "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-n$(INTEROPNS)" TestCIM_ErrorProviderR.mof + + @ $(ECHO) +++++ Installing the Family MOF file for the association provider +- @ cimmofl "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-n$(TESTPROVIDERNS)" TST_Family.mof ++ @ cimmofl "-aE" "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-n$(TESTPROVIDERNS)" TST_Family.mof + @ $(ECHO) +++++ Registering FamilyProvider schema Providers ... +- @ cimmofl "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-n$(INTEROPNS)" FamilyProviderSchemaR.mof ++ @ cimmofl "-aE" "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-n$(INTEROPNS)" FamilyProviderSchemaR.mof + + @ $(ECHO) +++++ Loading CIMOMHandleTestProvider class definitions into $(TESTPROVIDERNS) namespace ... +- @ cimmofl "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-n$(TESTPROVIDERNS)" CIMOMHandleTestProviderSchema.mof ++ @ cimmofl "-aE" "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-n$(TESTPROVIDERNS)" CIMOMHandleTestProviderSchema.mof + @ $(ECHO) +++++ Registering CIMOMHandleTestProvider ... +- @ cimmofl "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-n$(INTEROPNS)" CIMOMHandleTestProviderRegistration.mof ++ @ cimmofl "-aE" "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-n$(INTEROPNS)" CIMOMHandleTestProviderRegistration.mof + + @ $(ECHO) +++++ Loading TestAggregationOutputProvider.mof into $(TESTPROVIDERNS) namespace ... +- @ cimmofl "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-n$(TESTPROVIDERNS)" TestAggregationOutputProvider.mof ++ @ cimmofl "-aE" "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-n$(TESTPROVIDERNS)" TestAggregationOutputProvider.mof + @ $(ECHO) +++++ Registering TestAggregationOutputProvider ... +- @ cimmofl "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-n$(INTEROPNS)" TestAggregationOutputProviderR.mof ++ @ cimmofl "-aE" "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-n$(INTEROPNS)" TestAggregationOutputProviderR.mof + + @ $(ECHO) +++++ Loading LocalizedProvider.mof into $(TESTPROVIDERNS) namespace ... +- @ cimmofl "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-n$(TESTPROVIDERNS)" LocalizedProvider.mof ++ @ cimmofl "-aE" "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-n$(TESTPROVIDERNS)" LocalizedProvider.mof + @ $(ECHO) +++++ Registering LocalizedProvider ... +- @ cimmofl "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-n$(INTEROPNS)" LocalizedProviderR.mof ++ @ cimmofl "-aE" "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-n$(INTEROPNS)" LocalizedProviderR.mof + + @ $(ECHO) +++++ Loading ResponseStressTest class definitions into $(TESTPROVIDERNS) namespace ... +- @ cimmofl "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-n$(TESTPROVIDERNS)" ResponseStressTest.mof ++ @ cimmofl "-aE" "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-n$(TESTPROVIDERNS)" ResponseStressTest.mof + @ $(ECHO) +++++ Registering ResponseStressTestProvider ... +- @ cimmofl "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-n$(INTEROPNS)" ResponseStressTestProviderRegistration.mof ++ @ cimmofl "-aE" "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-n$(INTEROPNS)" ResponseStressTestProviderRegistration.mof + + ifeq ($(PEGASUS_ENABLE_CMPI_PROVIDER_MANAGER), true) + @ $(ECHO) +++++ Loading TestCMPI_ProviderSchema class definitions into $(TESTPROVIDERNS) namespace ... +- @ cimmofl "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-n$(TESTPROVIDERNS)" TestCMPI_ProviderSchema.mof ++ @ cimmofl "-aE" "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-n$(TESTPROVIDERNS)" TestCMPI_ProviderSchema.mof + + @ $(ECHO) +++++ Registering TestCMPI_ProviderRegistration ... +- @ cimmofl "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-n$(INTEROPNS)" TestCMPI_ProviderRegistration.mof ++ @ cimmofl "-aE" "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-n$(INTEROPNS)" TestCMPI_ProviderRegistration.mof + + @ $(ECHO) +++++ Loading TestCMPI_Association class definitions into $(TESTPROVIDERNS) namespace ... +- @ cimmofl "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-n$(TESTPROVIDERNS)" TestCMPI_AssociationProvider.mof ++ @ cimmofl "-aE" "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-n$(TESTPROVIDERNS)" TestCMPI_AssociationProvider.mof + @ $(ECHO) +++++ Registering TestCMPI_AssociationProviderRegistration ... +- @ cimmofl "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-n$(INTEROPNS)" TestCMPI_AssociationProviderR.mof ++ @ cimmofl "-aE" "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-n$(INTEROPNS)" TestCMPI_AssociationProviderR.mof + + @ $(ECHO) +++++ Loading CMPIPerf_TestProvider class definitions into $(TESTPROVIDERNS) namespace ... +- @ cimmofl "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-n$(TESTPROVIDERNS)" CMPIPerf_TestProviderSchema.mof ++ @ cimmofl "-aE" "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-n$(TESTPROVIDERNS)" CMPIPerf_TestProviderSchema.mof + @ $(ECHO) +++++ Registering CMPIPerf_TestProviderRegistration ... +- @ cimmofl "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-n$(INTEROPNS)" CMPIPerf_TestProviderRegistration.mof ++ @ cimmofl "-aE" "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-n$(INTEROPNS)" CMPIPerf_TestProviderRegistration.mof + + ifdef PEGASUS_ENABLE_EXECQUERY + @ $(ECHO) +++++ Registering TestCMPI_ProviderExecQueryRegistration ... +- @ cimmofl "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-n$(INTEROPNS)" TestCMPI_ProviderExecQueryRegistration.mof ++ @ cimmofl "-aE" "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-n$(INTEROPNS)" TestCMPI_ProviderExecQueryRegistration.mof + endif + + endif + + ifndef PEGASUS_DISABLE_PROV_USERCTXT + @ $(ECHO) +++++ Loading UserContextTestProvider class definitions into $(TESTPROVIDERNS) namespace ... +- @ cimmofl "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-n$(TESTPROVIDERNS)" UserContextTestProvider.mof ++ @ cimmofl "-aE" "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-n$(TESTPROVIDERNS)" UserContextTestProvider.mof + + @ $(ECHO) +++++ Registering UserContextTestProvider ... +- @ cimmofl "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-n$(INTEROPNS)" UserContextRequestorR.mof +- @ cimmofl "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-n$(INTEROPNS)" UserContextPrivilegedR.mof +- @ cimmofl "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-n$(INTEROPNS)" UserContextDesignatedR.mof +- @ cimmofl "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-n$(INTEROPNS)" UserContextCIMServerR.mof ++ @ cimmofl "-aE" "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-n$(INTEROPNS)" UserContextRequestorR.mof ++ @ cimmofl "-aE" "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-n$(INTEROPNS)" UserContextPrivilegedR.mof ++ @ cimmofl "-aE" "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-n$(INTEROPNS)" UserContextDesignatedR.mof ++ @ cimmofl "-aE" "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-n$(INTEROPNS)" UserContextCIMServerR.mof + endif + @ $(ECHO) +++++ Loading OOPModuleFailureTestProvider class definitions into $(TESTPROVIDERNS) namespace ... +- @ cimmofl "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-n$(TESTPROVIDERNS)" FailureTestIndication.mof ++ @ cimmofl "-aE" "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-n$(TESTPROVIDERNS)" FailureTestIndication.mof + + ifdef PEGASUS_BUILD_INTEROP + @ $(ECHO) +++++ Loading TestServerProfile class definitions into $(TESTPROVIDERNS) namespace ... +- @ cimmofl "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-n$(TESTPROVIDERNS)" TestServerProfileSchema.mof ++ @ cimmofl "-aE" "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-n$(TESTPROVIDERNS)" TestServerProfileSchema.mof + @ $(ECHO) +++++ Registering TestServerProfile Providers ... +- @ cimmofl "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-n$(INTEROPNS)" TestServerProfileR.mof ++ @ cimmofl "-aE" "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-n$(INTEROPNS)" TestServerProfileR.mof + endif + + @ $(ECHO) +++++ EmbeddedInstanceTest provider class definitions into $(EI_DYNAMIC_TEST_NAMESPACE) and $(EI_STATIC_TEST_NAMESPACE) namespace ... +- @ cimmofl "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" -n$(EI_DYNAMIC_TEST_NAMESPACE) $(EI_SCHEMA_DIR)/Core_Qualifiers.mof +- @ cimmofl "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-I$(EI_SCHEMA_DIR)" "-n$(EI_DYNAMIC_TEST_NAMESPACE)" "-aE" CIMError.mof +- @ cimmofl "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-I$(EI_SCHEMA_DIR)" "-n$(EI_DYNAMIC_TEST_NAMESPACE)" "-aE" $(EI_SCHEMA_DIR)/CIM_Core.mof +- @ cimmofl "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-I$(EI_SCHEMA_DIR)" "-n$(EI_DYNAMIC_TEST_NAMESPACE)" "-aE" $(EI_SCHEMA_DIR)/CIM_Event.mof +- @ cimmofl "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-I$(EI_SCHEMA_DIR)" "-n$(EI_DYNAMIC_TEST_NAMESPACE)" "-aE" $(EI_SCHEMA_DIR)/CIM_Interop.mof +- @ cimmofl "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-I$(EI_SCHEMA_DIR)" "-n$(EI_DYNAMIC_TEST_NAMESPACE)" "-aE" EmbeddedInstanceProviderSchema.mof +- +- @ cimmofl "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" -n$(EI_STATIC_TEST_NAMESPACE) $(EI_SCHEMA_DIR)/Core_Qualifiers.mof +- @ cimmofl "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-I$(EI_SCHEMA_DIR)" "-n$(EI_STATIC_TEST_NAMESPACE)" "-aE" CIMError.mof +- @ cimmofl "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-I$(EI_SCHEMA_DIR)" "-n$(EI_STATIC_TEST_NAMESPACE)" "-aE" $(EI_SCHEMA_DIR)/CIM_Core.mof +- @ cimmofl "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-I$(EI_SCHEMA_DIR)" "-n$(EI_STATIC_TEST_NAMESPACE)" "-aE" $(EI_SCHEMA_DIR)/CIM_Event.mof +- @ cimmofl "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-I$(EI_SCHEMA_DIR)" "-n$(EI_STATIC_TEST_NAMESPACE)" "-aE" $(EI_SCHEMA_DIR)/CIM_Interop.mof +- @ cimmofl "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-I$(EI_SCHEMA_DIR)" "-n$(EI_STATIC_TEST_NAMESPACE)" "-aE" EmbeddedInstanceProviderSchema.mof ++ @ cimmofl "-aE" "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" -n$(EI_DYNAMIC_TEST_NAMESPACE) $(EI_SCHEMA_DIR)/Core_Qualifiers.mof ++ @ cimmofl "-aE" "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-I$(EI_SCHEMA_DIR)" "-n$(EI_DYNAMIC_TEST_NAMESPACE)" "-aE" CIMError.mof ++ @ cimmofl "-aE" "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-I$(EI_SCHEMA_DIR)" "-n$(EI_DYNAMIC_TEST_NAMESPACE)" "-aE" $(EI_SCHEMA_DIR)/CIM_Core.mof ++ @ cimmofl "-aE" "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-I$(EI_SCHEMA_DIR)" "-n$(EI_DYNAMIC_TEST_NAMESPACE)" "-aE" $(EI_SCHEMA_DIR)/CIM_Event.mof ++ @ cimmofl "-aE" "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-I$(EI_SCHEMA_DIR)" "-n$(EI_DYNAMIC_TEST_NAMESPACE)" "-aE" $(EI_SCHEMA_DIR)/CIM_Interop.mof ++ @ cimmofl "-aE" "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-I$(EI_SCHEMA_DIR)" "-n$(EI_DYNAMIC_TEST_NAMESPACE)" "-aE" EmbeddedInstanceProviderSchema.mof ++ ++ @ cimmofl "-aE" "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" -n$(EI_STATIC_TEST_NAMESPACE) $(EI_SCHEMA_DIR)/Core_Qualifiers.mof ++ @ cimmofl "-aE" "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-I$(EI_SCHEMA_DIR)" "-n$(EI_STATIC_TEST_NAMESPACE)" "-aE" CIMError.mof ++ @ cimmofl "-aE" "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-I$(EI_SCHEMA_DIR)" "-n$(EI_STATIC_TEST_NAMESPACE)" "-aE" $(EI_SCHEMA_DIR)/CIM_Core.mof ++ @ cimmofl "-aE" "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-I$(EI_SCHEMA_DIR)" "-n$(EI_STATIC_TEST_NAMESPACE)" "-aE" $(EI_SCHEMA_DIR)/CIM_Event.mof ++ @ cimmofl "-aE" "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-I$(EI_SCHEMA_DIR)" "-n$(EI_STATIC_TEST_NAMESPACE)" "-aE" $(EI_SCHEMA_DIR)/CIM_Interop.mof ++ @ cimmofl "-aE" "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-I$(EI_SCHEMA_DIR)" "-n$(EI_STATIC_TEST_NAMESPACE)" "-aE" EmbeddedInstanceProviderSchema.mof + +- @ cimmofl "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-n$(INTEROPNS)" EmbeddedInstanceProviderR.mof ++ @ cimmofl "-aE" "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-n$(INTEROPNS)" EmbeddedInstanceProviderR.mof + # create remote namespace for Remote CMPI test providers + ifdef PEGASUS_ENABLE_REMOTE_CMPI + @ echo +++++ Creating remote namespace ... +@@ -231,28 +231,28 @@ endif + ## Indication filter source namespaces testing + ## + @ $(ECHO) +++++ Loading Core$(CIM_SCHEMA_VER)_Qualifiers.mof into $(TESTINDSRCNS1) namespace ... +- @ cimmofl "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" -n$(TESTINDSRCNS1) $(CIM_SCHEMA_DIR)/Core$(CIM_SCHEMA_VER)_Qualifiers.mof ++ @ cimmofl "-aE" "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" -n$(TESTINDSRCNS1) $(CIM_SCHEMA_DIR)/Core$(CIM_SCHEMA_VER)_Qualifiers.mof + @ $(ECHO) +++++ Loading CIM_Core$(CIM_SCHEMA_VER) into $(TESTINDSRCNS1) namespace ... +- @ cimmofl "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-I$(CIM_SCHEMA_DIR)" "-n$(TESTINDSRCNS1)" $(ALLOW_EXPERIMENTAL) $(CIM_SCHEMA_DIR)/CIM_Core$(CIM_SCHEMA_VER).mof ++ @ cimmofl "-aE" "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-I$(CIM_SCHEMA_DIR)" "-n$(TESTINDSRCNS1)" $(ALLOW_EXPERIMENTAL) $(CIM_SCHEMA_DIR)/CIM_Core$(CIM_SCHEMA_VER).mof + @ $(ECHO) +++++ Loading CIM_Event$(CIM_SCHEMA_VER) into $(TESTINDSRCNS1) namespace ... +- @ cimmofl "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-I$(CIM_SCHEMA_DIR)" "-n$(TESTINDSRCNS1)" $(ALLOW_EXPERIMENTAL) $(CIM_SCHEMA_DIR)/CIM_Event$(CIM_SCHEMA_VER).mof ++ @ cimmofl "-aE" "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-I$(CIM_SCHEMA_DIR)" "-n$(TESTINDSRCNS1)" $(ALLOW_EXPERIMENTAL) $(CIM_SCHEMA_DIR)/CIM_Event$(CIM_SCHEMA_VER).mof + @ $(ECHO) +++++ Loading IndicationStressTest class definition into $(TESTINDSRCNS1) namespace ... +- @ cimmofl "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-n$(TESTINDSRCNS1)" IndicationStressTestProviderSchema.mof ++ @ cimmofl "-aE" "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-n$(TESTINDSRCNS1)" IndicationStressTestProviderSchema.mof + ifeq ($(PEGASUS_ENABLE_CMPI_PROVIDER_MANAGER), true) + @ $(ECHO) +++++ Loading TestCMPI_ProviderSchema class definitions into $(TESTINDSRCNS1) namespace ... +- @ cimmofl "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-n$(TESTINDSRCNS1)" TestCMPI_ProviderSchema.mof ++ @ cimmofl "-aE" "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-n$(TESTINDSRCNS1)" TestCMPI_ProviderSchema.mof + endif + @ $(ECHO) +++++ Loading Core$(CIM_SCHEMA_VER)_Qualifiers.mof into $(TESTINDSRCNS2) namespace ... +- @ cimmofl "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" -n$(TESTINDSRCNS2) $(CIM_SCHEMA_DIR)/Core$(CIM_SCHEMA_VER)_Qualifiers.mof ++ @ cimmofl "-aE" "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" -n$(TESTINDSRCNS2) $(CIM_SCHEMA_DIR)/Core$(CIM_SCHEMA_VER)_Qualifiers.mof + @ $(ECHO) +++++ Loading CIM_Core$(CIM_SCHEMA_VER) into $(TESTINDSRCNS2) namespace ... +- @ cimmofl "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-I$(CIM_SCHEMA_DIR)" "-n$(TESTINDSRCNS2)" $(ALLOW_EXPERIMENTAL) $(CIM_SCHEMA_DIR)/CIM_Core$(CIM_SCHEMA_VER).mof ++ @ cimmofl "-aE" "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-I$(CIM_SCHEMA_DIR)" "-n$(TESTINDSRCNS2)" $(ALLOW_EXPERIMENTAL) $(CIM_SCHEMA_DIR)/CIM_Core$(CIM_SCHEMA_VER).mof + @ $(ECHO) +++++ Loading CIM_Event$(CIM_SCHEMA_VER) into $(TESTINDSRCNS2) namespace ... +- @ cimmofl "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-I$(CIM_SCHEMA_DIR)" "-n$(TESTINDSRCNS2)" $(ALLOW_EXPERIMENTAL) $(CIM_SCHEMA_DIR)/CIM_Event$(CIM_SCHEMA_VER).mof ++ @ cimmofl "-aE" "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-I$(CIM_SCHEMA_DIR)" "-n$(TESTINDSRCNS2)" $(ALLOW_EXPERIMENTAL) $(CIM_SCHEMA_DIR)/CIM_Event$(CIM_SCHEMA_VER).mof + @ $(ECHO) +++++ Loading IndicationStressTest class definition into $(TESTINDSRCNS2) namespace ... +- @ cimmofl "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-n$(TESTINDSRCNS2)" IndicationStressTestProviderSchema.mof ++ @ cimmofl "-aE" "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-n$(TESTINDSRCNS2)" IndicationStressTestProviderSchema.mof + ifeq ($(PEGASUS_ENABLE_CMPI_PROVIDER_MANAGER), true) + @ $(ECHO) +++++ Loading TestCMPI_ProviderSchema class definitions into $(TESTINDSRCNS2) namespace ... +- @ cimmofl "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-n$(TESTINDSRCNS2)" TestCMPI_ProviderSchema.mof ++ @ cimmofl "-aE" "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-n$(TESTINDSRCNS2)" TestCMPI_ProviderSchema.mof + endif + + +diff -up pegasus/test/wetest/static/Load/Makefile.orig pegasus/test/wetest/static/Load/Makefile +--- pegasus/test/wetest/static/Load/Makefile.orig 2015-04-02 13:19:28.925192771 +0200 ++++ pegasus/test/wetest/static/Load/Makefile 2015-04-02 13:20:21.994384585 +0200 +@@ -42,14 +42,14 @@ STATICTESTNS=test/static + + repository: + @ $(ECHO) +++++ Loading CIM_Core$(CIM_SCHEMA_VER) into $(STATICTESTNS) namespace ... +- @ cimmofl "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-I$(CIM_SCHEMA_DIR)" -n$(STATICTESTNS) \ ++ @ cimmofl "-aE" "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-I$(CIM_SCHEMA_DIR)" -n$(STATICTESTNS) \ + $(ALLOW_EXPERIMENTAL) $(CIM_SCHEMA_DIR)/CIM_Core$(CIM_SCHEMA_VER).mof + @ $(ECHO) +++++ Loading WET_Schema into $(STATICTESTNS) namespace ... +- @ cimmofl "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" -n$(STATICTESTNS) WET_Schema.mof ++ @ cimmofl "-aE" "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" -n$(STATICTESTNS) WET_Schema.mof + @ $(ECHO) +++++ Loading Static Test Schema into $(STATICTESTNS) namespace ... +- @ cimmofl "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" -n$(STATICTESTNS) StaticTestSchema.mof ++ @ cimmofl "-aE" "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" -n$(STATICTESTNS) StaticTestSchema.mof + @ $(ECHO) +++++ Registering Static Tests Schema Providers ... +- @ cimmofl "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" -n$(INTEROPNS) StaticTestSchemaR.mof ++ @ cimmofl "-aE" "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" -n$(INTEROPNS) StaticTestSchemaR.mof + + repositoryServer: + @ $(ECHO) +++++ Loading CIM_Core$(CIM_SCHEMA_VER) into $(STATICTESTNS) namespace ... +diff -up pegasus/test/wetest/wsman/Load/Makefile.orig pegasus/test/wetest/wsman/Load/Makefile +--- pegasus/test/wetest/wsman/Load/Makefile.orig 2015-04-02 13:40:54.714859175 +0200 ++++ pegasus/test/wetest/wsman/Load/Makefile 2015-04-02 13:41:33.960003910 +0200 +@@ -46,9 +46,9 @@ WSM_TEST_NS=test/WsmTest + # NOTE: I believe that the remove is duplicated for some reason. + repository: + @ $(ECHO) +++++ Loading CIM_Core$(CIM_SCHEMA_VER) into $(WSM_TEST_NS) namespace ... +- @ cimmofl "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-I$(CIM_SCHEMA_DIR)" "-n$(WSM_TEST_NS)" $(ALLOW_EXPERIMENTAL) $(CIM_SCHEMA_DIR)/CIM_Core$(CIM_SCHEMA_VER).mof ++ @ cimmofl "-aE" "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-I$(CIM_SCHEMA_DIR)" "-n$(WSM_TEST_NS)" $(ALLOW_EXPERIMENTAL) $(CIM_SCHEMA_DIR)/CIM_Core$(CIM_SCHEMA_VER).mof + @ $(ECHO) +++++ Loading Wsm test class definitions into $(WSM_TEST_NS) namespace ... +- @ cimmofl "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-n$(WSM_TEST_NS)" WsmTest.mof ++ @ cimmofl "-aE" "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-n$(WSM_TEST_NS)" WsmTest.mof + + # Load the sample mof through the Client interface compiler but do not + # clean out the existing version. diff --git a/SOURCES/pegasus-2.12.0-empty_arrays.patch b/SOURCES/pegasus-2.12.0-empty_arrays.patch new file mode 100644 index 0000000..19cc7c2 --- /dev/null +++ b/SOURCES/pegasus-2.12.0-empty_arrays.patch @@ -0,0 +1,30 @@ +diff -up pegasus/src/Pegasus/ProviderManager2/CMPI/CMPISCMOUtilities.cpp.orig pegasus/src/Pegasus/ProviderManager2/CMPI/CMPISCMOUtilities.cpp +--- pegasus/src/Pegasus/ProviderManager2/CMPI/CMPISCMOUtilities.cpp.orig 2015-03-31 15:28:05.958848322 +0200 ++++ pegasus/src/Pegasus/ProviderManager2/CMPI/CMPISCMOUtilities.cpp 2015-03-31 15:29:13.253136407 +0200 +@@ -349,13 +349,6 @@ CMPIrc CMPISCMOUtilities::scmoValue2CMPI + data->value.uint64 = 0; + data->state = CMPI_goodValue; + +- //Check for NULL CIMValue +- if( scmoValue == 0 ) +- { +- data->state = CMPI_nullValue; +- return CMPI_RC_OK; +- } +- + if (type & CMPI_ARRAY) + { + // Get the type of the element of the CMPIArray +@@ -389,6 +382,12 @@ CMPIrc CMPISCMOUtilities::scmoValue2CMPI + } + else + { ++ //Check for NULL CIMValue ++ if( scmoValue == 0 ) ++ { ++ data->state = CMPI_nullValue; ++ return CMPI_RC_OK; ++ } + // Check for encpsulated type, which need special handling + if (type&CMPI_ENC) + { diff --git a/SOURCES/pegasus-2.12.0-null_value.patch b/SOURCES/pegasus-2.12.0-null_value.patch new file mode 100644 index 0000000..70eff76 --- /dev/null +++ b/SOURCES/pegasus-2.12.0-null_value.patch @@ -0,0 +1,27 @@ +diff -up pegasus/src/Pegasus/ProviderManager2/CMPI/CMPI_Enumeration.cpp.null_value pegasus/src/Pegasus/ProviderManager2/CMPI/CMPI_Enumeration.cpp +--- pegasus/src/Pegasus/ProviderManager2/CMPI/CMPI_Enumeration.cpp.null_value 2012-10-22 19:24:19.593698102 +0200 ++++ pegasus/src/Pegasus/ProviderManager2/CMPI/CMPI_Enumeration.cpp 2012-10-22 19:28:19.190897537 +0200 +@@ -167,6 +167,7 @@ extern "C" + (new CMPI_Object( + new SCMOInstance((*ia)[ie->cursor++]), + CMPI_Object::ObjectTypeInstance)); ++ data.state = CMPI_goodValue; + CMSetStatus(rc, CMPI_RC_OK); + } + else +@@ -185,6 +186,7 @@ extern "C" + (new CMPI_Object( + new SCMOInstance((*ia)[ie->cursor++]), + CMPI_Object::ObjectTypeInstance)); ++ data.state = CMPI_goodValue; + CMSetStatus(rc, CMPI_RC_OK); + } + else +@@ -203,6 +205,7 @@ extern "C" + (new CMPI_Object( + new SCMOInstance((*opa)[oe->cursor++]), + CMPI_Object::ObjectTypeObjectPath)); ++ data.state = CMPI_goodValue; + CMSetStatus(rc, CMPI_RC_OK); + } + else diff --git a/SOURCES/pegasus-2.12.0-schema-version-and-includes.patch b/SOURCES/pegasus-2.12.0-schema-version-and-includes.patch new file mode 100644 index 0000000..95c064b --- /dev/null +++ b/SOURCES/pegasus-2.12.0-schema-version-and-includes.patch @@ -0,0 +1,126 @@ +diff -up pegasus/Schemas/CIM238/CIM_Core.mof.orig pegasus/Schemas/CIM238/CIM_Core.mof +--- pegasus/Schemas/CIM238/CIM_Core.mof.orig 2015-04-07 15:24:25.280804943 +0200 ++++ pegasus/Schemas/CIM238/CIM_Core.mof 2015-04-07 15:24:25.321805120 +0200 +@@ -146,11 +146,14 @@ + #pragma include ("DMTF/Core/CIM_SpareGroup.mof") + #pragma include ("DMTF/Core/CIM_StatusCollection.mof") + #pragma include ("DMTF/Core/CIM_StorageAllocationSettingData.mof") ++#pragma include ("DMTF/User/CIM_Identity.mof") ++#pragma include ("DMTF/User/CIM_StorageHardwareID.mof") + #pragma include ("DMTF/Core/CIM_StorageHardwareIDElementSettingData.mof") + #pragma include ("DMTF/Core/CIM_StorageRedundancyGroup.mof") + #pragma include ("DMTF/Core/CIM_SystemSetting.mof") + #pragma include ("DMTF/Core/CIM_SystemSettingContext.mof") + #pragma include ("DMTF/Core/CIM_SystemSpecificCollection.mof") ++#pragma include ("DMTF/System/CIM_VirtualSystemSettingData.mof") + #pragma include ("DMTF/Core/CIM_VirtualEthernetSwitchSettingData.mof") + #pragma include ("DMTF/Core/CIM_VirtualSystemManagementCapabilities.mof") + #pragma include ("DMTF/Core/CIM_VirtualSystemSnapshotCapabilities.mof") +@@ -185,6 +188,8 @@ + #pragma include ("DMTF/Core/CIM_ScopedSetting.mof") + #pragma include ("DMTF/Core/CIM_StatisticsCollection.mof") + #pragma include ("DMTF/Core/CIM_StorageRedundancySet.mof") ++#pragma include ("DMTF/Interop/CIM_Message.mof") ++#pragma include ("DMTF/Interop/CIM_Error.mof") + #pragma include ("DMTF/Core/CIM_ConcreteJob.mof") + #pragma include ("DMTF/Core/CIM_DefaultSetting.mof") + #pragma include ("DMTF/Core/CIM_EnabledLogicalElement.mof") +@@ -214,6 +219,7 @@ + #pragma include ("DMTF/Core/CIM_AdminDomain.mof") + #pragma include ("DMTF/Core/CIM_BasedOn.mof") + #pragma include ("DMTF/Core/CIM_BasicExecutionService.mof") ++#pragma include ("DMTF/System/CIM_ComputerSystem.mof") + #pragma include ("DMTF/Core/CIM_ComputerSystemElementSettingData.mof") + #pragma include ("DMTF/Core/CIM_ConfigurationForSystem.mof") + #pragma include ("DMTF/Core/CIM_ContainedDomain.mof") +@@ -245,6 +251,8 @@ + #pragma include ("DMTF/Core/CIM_SettingForSystem.mof") + #pragma include ("DMTF/Core/CIM_SoftwareIdentityResource.mof") + #pragma include ("DMTF/Core/CIM_SystemDeviceView.mof") ++#pragma include ("DMTF/Device/CIM_ProtocolController.mof") ++#pragma include ("DMTF/Device/CIM_SCSIProtocolController.mof") + #pragma include ("DMTF/Core/CIM_SystemSCSIProtocolController.mof") + #pragma include ("DMTF/Core/CIM_VirtualSystemManagementService.mof") + #pragma include ("DMTF/Core/CIM_VirtualSystemSnapshotService.mof") +@@ -258,6 +266,13 @@ + #pragma include ("DMTF/Core/CIM_ProtocolService.mof") + #pragma include ("DMTF/Core/CIM_ProvidesEndpoint.mof") + #pragma include ("DMTF/Core/CIM_RemotePort.mof") ++#pragma include ("DMTF/User/CIM_SecurityService.mof") ++#pragma include ("DMTF/User/CIM_AuthenticationService.mof") ++#pragma include ("DMTF/User/CIM_IdentityManagementService.mof") ++#pragma include ("DMTF/User/CIM_StorageHardwareIDManagementService.mof") + #pragma include ("DMTF/Core/CIM_StorageHardwareIDManagementServiceDependency.mof") ++#pragma include ("DMTF/Device/CIM_LogicalPort.mof") ++#pragma include ("DMTF/Device/CIM_NetworkPort.mof") ++#pragma include ("DMTF/Device/CIM_FCPort.mof") + #pragma include ("DMTF/Core/CIM_SystemFCPort.mof") + +diff -up pegasus/Schemas/CIM238/CIM_Event.mof.orig pegasus/Schemas/CIM238/CIM_Event.mof +--- pegasus/Schemas/CIM238/CIM_Event.mof.orig 2015-04-07 15:24:25.283804956 +0200 ++++ pegasus/Schemas/CIM238/CIM_Event.mof 2015-04-07 15:24:25.321805120 +0200 +@@ -73,5 +73,6 @@ + #pragma include ("DMTF/Event/CIM_IPNetworkSecurityIndication.mof") + #pragma include ("DMTF/Event/CIM_IPPacketFilterIndication.mof") + #pragma include ("DMTF/Event/CIM_IndicationService.mof") ++#pragma include ("DMTF/System/CIM_Log.mof") + #pragma include ("DMTF/Event/CIM_LogOfIndication.mof") + +diff -up pegasus/Schemas/CIM238/CIM_Interop.mof.orig pegasus/Schemas/CIM238/CIM_Interop.mof +--- pegasus/Schemas/CIM238/CIM_Interop.mof.orig 2015-04-07 15:24:25.285804965 +0200 ++++ pegasus/Schemas/CIM238/CIM_Interop.mof 2015-04-07 15:24:25.321805120 +0200 +@@ -57,6 +57,7 @@ + #pragma include ("DMTF/Interop/CIM_ElementConformsToProfile.mof") + #pragma include ("DMTF/Interop/CIM_ReferencedProfile.mof") + #pragma include ("DMTF/Interop/CIM_SubProfileRequiresProfile.mof") ++#pragma include ("DMTF/Network/CIM_ProtocolServiceCapabilities.mof") + #pragma include ("DMTF/Interop/CIM_WBEMProtocolServiceCapabilities.mof") + #pragma include ("DMTF/Interop/CIM_WSManagementCapabilities.mof") + #pragma include ("DMTF/Interop/CIM_CIMXMLCapabilities.mof") +diff -up pegasus/Schemas/CIM238/CIM_System.mof.orig pegasus/Schemas/CIM238/CIM_System.mof +--- pegasus/Schemas/CIM238/CIM_System.mof.orig 2015-04-07 15:24:25.290804986 +0200 ++++ pegasus/Schemas/CIM238/CIM_System.mof 2015-04-07 15:24:25.321805120 +0200 +@@ -67,6 +67,7 @@ + #pragma include ("DMTF/System/CIM_VirtualSystemSettingData.mof") + #pragma include ("DMTF/System/CIM_AttachedElement.mof") + #pragma include ("DMTF/System/CIM_BatchJobGroup.mof") ++#pragma include ("DMTF/User/CIM_Credential.mof") + #pragma include ("DMTF/System/CIM_BIOSServiceCapabilities.mof") + #pragma include ("DMTF/System/CIM_BootServiceCapabilities.mof") + #pragma include ("DMTF/System/CIM_ComputerSystemNodeCapabilities.mof") +@@ -86,8 +87,10 @@ + #pragma include ("DMTF/System/CIM_FileImportCapabilities.mof") + #pragma include ("DMTF/System/CIM_FileSystemConfigurationCapabilities.mof") + #pragma include ("DMTF/System/CIM_FileSystemSettingData.mof") ++#pragma include ("DMTF/Device/CIM_StatisticsCapabilities.mof") + #pragma include ("DMTF/System/CIM_FileSystemStatisticsCapabilities.mof") + #pragma include ("DMTF/System/CIM_FileSystemStatisticsManifestCollection.mof") ++#pragma include ("DMTF/User/CIM_Privilege.mof") + #pragma include ("DMTF/System/CIM_ImportedFileShareSetting.mof") + #pragma include ("DMTF/System/CIM_ImportedShareRoot.mof") + #pragma include ("DMTF/System/CIM_LogEntry.mof") +@@ -147,8 +150,10 @@ + #pragma include ("DMTF/System/CIM_ExportedFileShareCapabilities.mof") + #pragma include ("DMTF/System/CIM_FCHBADiagnosticTest.mof") + #pragma include ("DMTF/System/CIM_FileSystem.mof") ++#pragma include ("DMTF/Device/CIM_StorageSetting.mof") + #pragma include ("DMTF/System/CIM_FileSystemCapabilities.mof") + #pragma include ("DMTF/System/CIM_FileSystemConfigurationService.mof") ++#pragma include ("DMTF/Device/CIM_StatisticsService.mof") + #pragma include ("DMTF/System/CIM_FileSystemStatisticsService.mof") + #pragma include ("DMTF/System/CIM_HelpService.mof") + #pragma include ("DMTF/System/CIM_HelpServiceAvailableToFile.mof") +diff -up pegasus/Schemas/CIM238/DMTF/qualifiers.mof.orig pegasus/Schemas/CIM238/DMTF/qualifiers.mof +--- pegasus/Schemas/CIM238/DMTF/qualifiers.mof.orig 2013-08-12 11:34:14.000000000 +0200 ++++ pegasus/Schemas/CIM238/DMTF/qualifiers.mof 2015-04-07 15:24:25.321805120 +0200 +@@ -152,8 +152,8 @@ Qualifier PUnit : string = null, + Qualifier Read : boolean = true, + Scope(property); + +-Qualifier Reference : string = null, +- Scope(property); ++//Qualifier Reference : string = null, ++// Scope(property); + + Qualifier Required : boolean = false, + Scope(property, reference, method, parameter), diff --git a/SOURCES/pegasus-2.13.0-enable-subscriptions-for-nonprivileged-users.patch b/SOURCES/pegasus-2.13.0-enable-subscriptions-for-nonprivileged-users.patch new file mode 100644 index 0000000..7312327 --- /dev/null +++ b/SOURCES/pegasus-2.13.0-enable-subscriptions-for-nonprivileged-users.patch @@ -0,0 +1,24 @@ +diff -up pegasus/rpm/manLinux/man8.Z/cimconfig.8.orig pegasus/rpm/manLinux/man8.Z/cimconfig.8 +--- pegasus/rpm/manLinux/man8.Z/cimconfig.8.orig 2014-01-07 14:51:40.841757649 +0100 ++++ pegasus/rpm/manLinux/man8.Z/cimconfig.8 2014-01-07 14:52:03.415820767 +0100 +@@ -161,7 +161,7 @@ and listener destination instances other + is required. + .PD 0 + .IP +-.BR "Default Value: " False ++.BR "Default Value: " True + .IP + .BR Dynamic: \0No + .PD +diff -up pegasus/src/Pegasus/Config/SecurityPropertyOwner.cpp.orig pegasus/src/Pegasus/Config/SecurityPropertyOwner.cpp +--- pegasus/src/Pegasus/Config/SecurityPropertyOwner.cpp.orig 2014-01-07 14:48:14.377180640 +0100 ++++ pegasus/src/Pegasus/Config/SecurityPropertyOwner.cpp 2014-01-07 14:51:30.760729464 +0100 +@@ -121,7 +121,7 @@ static struct ConfigPropertyRow properti + #if defined(PEGASUS_OS_HPUX) || defined(PEGASUS_OS_LINUX) + # ifdef PEGASUS_USE_RELEASE_CONFIG_OPTIONS + {"enableSubscriptionsForNonprivilegedUsers", +- "false", IS_STATIC, IS_VISIBLE}, ++ "true", IS_STATIC, IS_VISIBLE}, + # else + {"enableSubscriptionsForNonprivilegedUsers", "true", IS_STATIC, IS_VISIBLE}, + # endif diff --git a/SOURCES/pegasus-2.13.0-gcc5-build.patch b/SOURCES/pegasus-2.13.0-gcc5-build.patch new file mode 100644 index 0000000..35fae89 --- /dev/null +++ b/SOURCES/pegasus-2.13.0-gcc5-build.patch @@ -0,0 +1,23 @@ +diff -up pegasus/src/Pegasus/ControlProviders/InteropProvider/ElementConformsToProfile.cpp.orig pegasus/src/Pegasus/ControlProviders/InteropProvider/ElementConformsToProfile.cpp +--- pegasus/src/Pegasus/ControlProviders/InteropProvider/ElementConformsToProfile.cpp.orig 2015-02-10 15:00:48.660891308 +0100 ++++ pegasus/src/Pegasus/ControlProviders/InteropProvider/ElementConformsToProfile.cpp 2015-02-10 15:02:01.811194154 +0100 +@@ -129,6 +129,7 @@ Array InteropProvider::enum + Array InteropProvider::enumElementConformsToProfileInstances( + const OperationContext & opContext, const CIMNamespaceName & opNamespace) + { ++ const Uint32 PEGASUS_DYNAMIC_LEN(PEGASUS_DYNAMIC.size()); + CIMClass elementConformsClass = repository->getClass( + PEGASUS_NAMESPACENAME_INTEROP, + PEGASUS_CLASSNAME_PG_ELEMENTCONFORMSTOPROFILE, +diff -up pegasus/src/Pegasus/ControlProviders/InteropProvider/InteropConstants.h.orig pegasus/src/Pegasus/ControlProviders/InteropProvider/InteropConstants.h +--- pegasus/src/Pegasus/ControlProviders/InteropProvider/InteropConstants.h.orig 2015-02-10 14:43:34.168607514 +0100 ++++ pegasus/src/Pegasus/ControlProviders/InteropProvider/InteropConstants.h 2015-02-10 14:43:44.165648967 +0100 +@@ -150,7 +150,7 @@ const String PEGASUS_INTERNAL_PROVIDER_T + const String PEGASUS_INTERNAL_SERVICE_TYPE( + "Internal Service"); + const String PEGASUS_DYNAMIC("__DYNAMIC_"); +-const Uint32 PEGASUS_DYNAMIC_LEN(PEGASUS_DYNAMIC.size()); ++// const Uint32 PEGASUS_DYNAMIC_LEN(PEGASUS_DYNAMIC.size()); + const CIMNamespaceName PEGASUS_NAMESPACENAME_ROOT("root"); + + #define thisProvider "InteropProvider" diff --git a/SOURCES/pegasus-2.14.1-add-pegwsmserver-to-ldd-libs.patch b/SOURCES/pegasus-2.14.1-add-pegwsmserver-to-ldd-libs.patch new file mode 100644 index 0000000..cba4f19 --- /dev/null +++ b/SOURCES/pegasus-2.14.1-add-pegwsmserver-to-ldd-libs.patch @@ -0,0 +1,10 @@ +diff -up pegasus/src/Pegasus/ExportClient/tests/libraries.mak.orig pegasus/src/Pegasus/ExportClient/tests/libraries.mak +--- pegasus/src/Pegasus/ExportClient/tests/libraries.mak.orig 2020-11-26 10:20:13.938292092 +0100 ++++ pegasus/src/Pegasus/ExportClient/tests/libraries.mak 2020-11-26 10:25:30.248432039 +0100 +@@ -35,4 +35,5 @@ LIBRARIES= \ + pegrepository \ + pegconfig \ + pegclient \ +- pegcommon ++ pegcommon \ ++ pegwsmserver diff --git a/SOURCES/pegasus-2.14.1-build-fixes.patch b/SOURCES/pegasus-2.14.1-build-fixes.patch new file mode 100644 index 0000000..ab170bb --- /dev/null +++ b/SOURCES/pegasus-2.14.1-build-fixes.patch @@ -0,0 +1,28 @@ +diff -up pegasus/src/Pegasus/Common/Message.cpp.orig pegasus/src/Pegasus/Common/Message.cpp +--- pegasus/src/Pegasus/Common/Message.cpp.orig 2015-03-14 14:56:48.000000000 +0100 ++++ pegasus/src/Pegasus/Common/Message.cpp 2015-04-08 10:02:47.355935316 +0200 +@@ -430,7 +430,8 @@ CIMOperationType Message::convertMessage + */ + Boolean Message::valid() const + { +- return magic && (_type < NUMBER_OF_MESSAGES); ++ //return magic && (_type < NUMBER_OF_MESSAGES); ++ return true; + } + + +diff -up pegasus/src/Pegasus/Server/CIMOperationRequestDispatcher.cpp.orig pegasus/src/Pegasus/Server/CIMOperationRequestDispatcher.cpp +--- pegasus/src/Pegasus/Server/CIMOperationRequestDispatcher.cpp.orig 2015-03-14 14:56:48.000000000 +0100 ++++ pegasus/src/Pegasus/Server/CIMOperationRequestDispatcher.cpp 2015-04-08 10:02:47.357935317 +0200 +@@ -1008,9 +1008,11 @@ Boolean CIMOperationRequestDispatcher::_ + } + else + { ++/* + EnumerationContext* ent = _enumerationContextTable->find( + poA->_contextId); + PEGASUS_DEBUG_ASSERT(ent == en); ++*/ + } + + PEGASUS_DEBUG_ASSERT(poA->_contextId == en->getContextId()); diff --git a/SOURCES/pegasus-2.14.1-cimconfig-man-page-fixes.patch b/SOURCES/pegasus-2.14.1-cimconfig-man-page-fixes.patch new file mode 100644 index 0000000..2617d07 --- /dev/null +++ b/SOURCES/pegasus-2.14.1-cimconfig-man-page-fixes.patch @@ -0,0 +1,46 @@ +diff -up pegasus/rpm/manLinux/man8.Z/cimconfig.8.orig pegasus/rpm/manLinux/man8.Z/cimconfig.8 +--- pegasus/rpm/manLinux/man8.Z/cimconfig.8.orig 2015-09-17 14:29:03.519331559 +0200 ++++ pegasus/rpm/manLinux/man8.Z/cimconfig.8 2015-09-17 15:02:37.993855252 +0200 +@@ -211,7 +211,7 @@ configuration. + .PP + .B fullyQualifiedHostName + .IP +-.BR Description: " Can be used to override the local system supplied ++.BR Description: " Can be used to override the local system supplied + fully qualified hostname (with domain) the CIM Server is using to build objects. + If not set, querying this configuration option will report the system + supplied fully qualified hostname and behavior is not changed. +@@ -220,7 +220,8 @@ value will force the server to assume th + name with domain. Setting this allows the administrator to set the name that + indication operations and the CIM_ObjectManager assume for SystemName returned + as instance and key properties. +-.IP In common setups it is not recommended to explicitly set this value. ++.IP ++In common setups it is not recommended to explicitly set this value. + Some scenarios scenarios in which changing the default value makes sense include: + .IP + - The case where what the CIM Server shall return to clients for host name +@@ -516,6 +517,23 @@ by the pegasus webserver. + .BR Dynamic: \0No + .PD + .PP ++.B httpSessionTimeout ++.IP ++.BR Description: " If set to a positive integer, this value specifies a HTTP session lifetime ++in seconds. After initial authentication using standard HTTP mechanisms (HTTP Basic or Negotiate ++authentication), the server generates a cookie and sends it back to the client, as described in ++RFC 6265. The client can then use the cookie in subsequent requests to skip the usual HTTP ++authentication. The cookie is valid only for period of time specified by this configuration option. ++If set to zero, session management is turned off and CIM server will not issue cookies. ++This option is available only when Pegasus was compiled with PEGASUS_ENABLE_SESSION_COOKIES set ++to 'true'. ++.PD 0 ++.IP ++.BR "Default Value: " 0 ++.IP ++.BR Dynamic: \0Yes ++.PD ++.PP + + + If both the diff --git a/SOURCES/pegasus-2.14.1-crypto-policy-compliance.patch b/SOURCES/pegasus-2.14.1-crypto-policy-compliance.patch new file mode 100644 index 0000000..08e2957 --- /dev/null +++ b/SOURCES/pegasus-2.14.1-crypto-policy-compliance.patch @@ -0,0 +1,24 @@ +diff -up pegasus/rpm/manLinux/man8.Z/cimconfig.8.orig pegasus/rpm/manLinux/man8.Z/cimconfig.8 +--- pegasus/rpm/manLinux/man8.Z/cimconfig.8.orig 2020-06-25 14:03:32.211892328 +0200 ++++ pegasus/rpm/manLinux/man8.Z/cimconfig.8 2020-06-25 14:11:31.687821336 +0200 +@@ -463,7 +463,7 @@ mentioned between single quotes since it + like .+, !, -. + .PD 0 + .IP +-.BR "Default Value: " DEFAULT\ (The\ default\ cipher\ list\ of\ OpenSSL) ++.BR "Default Value: " PROFILE=SYSTEM\ (Protocols\ enforced\ by\ system-wide\ crypto\ policy) + .IP + .BR Dynamic: \0No + .PD +diff -up pegasus/src/Pegasus/Config/SecurityPropertyOwner.cpp.orig pegasus/src/Pegasus/Config/SecurityPropertyOwner.cpp +--- pegasus/src/Pegasus/Config/SecurityPropertyOwner.cpp.orig 2020-06-25 14:02:19.104445704 +0200 ++++ pegasus/src/Pegasus/Config/SecurityPropertyOwner.cpp 2020-06-25 14:02:54.695663130 +0200 +@@ -140,7 +140,7 @@ static struct ConfigPropertyRow properti + #ifdef PEGASUS_ENABLE_USERGROUP_AUTHORIZATION + {"authorizedUserGroups", "", IS_STATIC, IS_VISIBLE}, + #endif +- {"sslCipherSuite", "DEFAULT", IS_STATIC, IS_VISIBLE} ++ {"sslCipherSuite", "PROFILE=SYSTEM", IS_STATIC, IS_VISIBLE} + #ifdef PEGASUS_ENABLE_SESSION_COOKIES + ,{"httpSessionTimeout", "0", IS_DYNAMIC, IS_VISIBLE} + #endif diff --git a/SOURCES/pegasus-2.14.1-fix-Wreserved-user-defined-literal.patch b/SOURCES/pegasus-2.14.1-fix-Wreserved-user-defined-literal.patch new file mode 100644 index 0000000..5078f3b --- /dev/null +++ b/SOURCES/pegasus-2.14.1-fix-Wreserved-user-defined-literal.patch @@ -0,0 +1,22 @@ +--- pegasus/src/Pegasus/Common/InternalException.cpp.orig 2020-03-25 04:14:59.507215411 +0000 ++++ pegasus/src/Pegasus/Common/InternalException.cpp 2020-03-25 04:06:31.545770255 +0000 +@@ -982,7 +982,7 @@ SocketWriteError::~SocketWriteError() + // PEGASUS_MAXELEMENTS_NUM HTTP header fields in a single HTTP message + //============================================================================== + TooManyHTTPHeadersException::TooManyHTTPHeadersException() +- : Exception("more than "PEGASUS_MAXELEMENTS ++ : Exception("more than " PEGASUS_MAXELEMENTS + " header fields detected in HTTP message") + { + } +--- pegasus/src/Pegasus/Client/tests/slp/slpclient.cpp.orig 2020-03-25 04:21:46.078970915 +0000 ++++ pegasus/src/Pegasus/Client/tests/slp/slpclient.cpp 2020-03-25 04:22:16.302878401 +0000 +@@ -49,7 +49,7 @@ int main(int argc, char** argv) + + Array criteria; + Attribute attr( +- PEG_WBEM_SLP_SERVICE_ID"="PEG_WBEM_SLP_SERVICE_ID_DEFAULT); ++ PEG_WBEM_SLP_SERVICE_ID"=" PEG_WBEM_SLP_SERVICE_ID_DEFAULT); + Array connections; + SLPClientOptions* opts = (SLPClientOptions*)NULL; + if (argc == 2) diff --git a/SOURCES/pegasus-2.14.1-fix-setup-sdk-ppc64le.patch b/SOURCES/pegasus-2.14.1-fix-setup-sdk-ppc64le.patch new file mode 100644 index 0000000..dc65fa6 --- /dev/null +++ b/SOURCES/pegasus-2.14.1-fix-setup-sdk-ppc64le.patch @@ -0,0 +1,19 @@ +diff -up pegasus/mak/config-linux.mak.orig pegasus/mak/config-linux.mak +diff -up pegasus/mak/SDKMakefile.orig pegasus/mak/SDKMakefile +--- pegasus/mak/SDKMakefile.orig 2015-10-06 13:05:36.418021720 +0200 ++++ pegasus/mak/SDKMakefile 2015-10-06 13:08:41.135869147 +0200 +@@ -482,6 +482,13 @@ ifeq ($(RUNTIME_PLATFORM_TEST_NEEDED), t + @$(ECHO-E) " endif" \ + >> $(PEGASUS_STAGING_DIR)$(PEGASUS_SAMPLES_DIR)/mak/config.mak + ++ @$(ECHO-E) " ifeq (\044(shell uname -i),ppc64le)" \ ++ >> $(PEGASUS_STAGING_DIR)$(PEGASUS_SAMPLES_DIR)/mak/config.mak ++ @$(ECHO-E) " PEGASUS_PLATFORM = LINUX_PPC64_GNU" \ ++ >> $(PEGASUS_STAGING_DIR)$(PEGASUS_SAMPLES_DIR)/mak/config.mak ++ @$(ECHO-E) " endif" \ ++ >> $(PEGASUS_STAGING_DIR)$(PEGASUS_SAMPLES_DIR)/mak/config.mak ++ + @$(ECHO-E) " ifeq (\044(shell uname -i),s390)" \ + >> $(PEGASUS_STAGING_DIR)$(PEGASUS_SAMPLES_DIR)/mak/config.mak + @$(ECHO-E) " PEGASUS_PLATFORM = LINUX_ZSERIES_GNU" \ +diff -up pegasus/src/SDK/samples/mak/config.mak.orig pegasus/src/SDK/samples/mak/config.mak diff --git a/SOURCES/pegasus-2.14.1-fix-setup-sdk.patch b/SOURCES/pegasus-2.14.1-fix-setup-sdk.patch new file mode 100644 index 0000000..9c21f2d --- /dev/null +++ b/SOURCES/pegasus-2.14.1-fix-setup-sdk.patch @@ -0,0 +1,67 @@ +diff -up pegasus/src/SDK/samples/Providers/Load/Makefile.orig pegasus/src/SDK/samples/Providers/Load/Makefile +--- pegasus/src/SDK/samples/Providers/Load/Makefile.orig 2012-05-14 11:12:20.000000000 +0200 ++++ pegasus/src/SDK/samples/Providers/Load/Makefile 2015-05-26 13:47:11.475608966 +0200 +@@ -37,7 +37,7 @@ else + ifeq ($(PEGASUS_INTEROP_NAMESPACE),interop) + INTEROPNS=interop + else +-INTEROPNS=root/PG_InterOp ++INTEROPNS=root/interop + endif + endif + +@@ -48,20 +48,20 @@ createCXXrepository: + @$(ECHO) "+++++ Creating $(SAMPLECXXPROVIDERNS) namespace ..." + @$(ECHO) "+++++ Loading SDK_CIM_Schema.mof into" \ + "$(SAMPLECXXPROVIDERNS) namespace ..." +- @$(PEGASUS_BIN_DIR)/cimmof -I$(PEGASUS_CIM_SCHEMA_DIR) \ ++ @$(PEGASUS_BIN_DIR)/cimmof "-aE" -I$(PEGASUS_CIM_SCHEMA_DIR) \ + -n$(SAMPLECXXPROVIDERNS) SDK_CIM_Schema.mof + @ $(ECHO) "+++++ Loading class definitions into " \ + "$(SAMPLECXXPROVIDERNS) namespace ..." +- @ $(PEGASUS_BIN_DIR)/cimmof -n$(SAMPLECXXPROVIDERNS) \ ++ @ $(PEGASUS_BIN_DIR)/cimmof "-aE" -n$(SAMPLECXXPROVIDERNS) \ + SampleProviderSchema.mof + + createCMPIrepository: + @$(ECHO) "+++++ Creating $(SAMPLECMPIPROVIDERNS) namespace ..." + @$(ECHO) "+++++ Loading SDK_CIM_Schema.mof into" \ + "$(SAMPLECMPIPROVIDERNS) namespace ..." +- @$(PEGASUS_BIN_DIR)/cimmof -I$(PEGASUS_CIM_SCHEMA_DIR) \ ++ @$(PEGASUS_BIN_DIR)/cimmof "-aE" -I$(PEGASUS_CIM_SCHEMA_DIR) \ + -n$(SAMPLECMPIPROVIDERNS) SDK_CIM_Schema.mof +- @ $(PEGASUS_BIN_DIR)/cimmof -n$(SAMPLECMPIPROVIDERNS) CWS_FilesAndDir.mof ++ @ $(PEGASUS_BIN_DIR)/cimmof "-aE" -n$(SAMPLECMPIPROVIDERNS) CWS_FilesAndDir.mof + + createrepository: createCXXrepository createCMPIrepository + @$(ECHO) "+++++ Repository created." +@@ -69,12 +69,12 @@ createrepository: createCXXrepository cr + registerproviders: + @ $(ECHO) "+++++ Registering providers for" \ + "$(SAMPLECXXPROVIDERNS) namespace ..." +- @ $(PEGASUS_BIN_DIR)/cimmof -n$(INTEROPNS) InstanceProviderR.mof +- @ $(PEGASUS_BIN_DIR)/cimmof -n$(INTEROPNS) MethodProviderR.mof +- @ $(PEGASUS_BIN_DIR)/cimmof -n$(INTEROPNS) IndicationProviderR.mof +- @ $(PEGASUS_BIN_DIR)/cimmof -n$(INTEROPNS) SimpleDisplayConsumerR.mof +- @ $(PEGASUS_BIN_DIR)/cimmof -n$(INTEROPNS) CWS_FilesAndDirR.mof +- @ $(PEGASUS_BIN_DIR)/cimmof -n$(INTEROPNS) AssociationProviderR.mof ++ @ $(PEGASUS_BIN_DIR)/cimmof "-aE" -n$(INTEROPNS) InstanceProviderR.mof ++ @ $(PEGASUS_BIN_DIR)/cimmof "-aE" -n$(INTEROPNS) MethodProviderR.mof ++ @ $(PEGASUS_BIN_DIR)/cimmof "-aE" -n$(INTEROPNS) IndicationProviderR.mof ++ @ $(PEGASUS_BIN_DIR)/cimmof "-aE" -n$(INTEROPNS) SimpleDisplayConsumerR.mof ++ @ $(PEGASUS_BIN_DIR)/cimmof "-aE" -n$(INTEROPNS) CWS_FilesAndDirR.mof ++ @ $(PEGASUS_BIN_DIR)/cimmof "-aE" -n$(INTEROPNS) AssociationProviderR.mof + + deregisterproviders: + @ $(ECHO) "+++++ Deregistering SDKInstanceProviderModule ..." +diff -up pegasus/src/SDK/samples/Providers/Load/SDK_CIM_Schema.mof.orig pegasus/src/SDK/samples/Providers/Load/SDK_CIM_Schema.mof +--- pegasus/src/SDK/samples/Providers/Load/SDK_CIM_Schema.mof.orig 2008-12-16 19:58:05.000000000 +0100 ++++ pegasus/src/SDK/samples/Providers/Load/SDK_CIM_Schema.mof 2015-05-26 13:47:48.406767875 +0200 +@@ -45,6 +45,7 @@ + #pragma include ("DMTF/Core/CIM_ManagedElement.mof") + #pragma include ("DMTF/Core/CIM_ManagedSystemElement.mof") + #pragma include ("DMTF/Core/CIM_LogicalElement.mof") ++#pragma include ("DMTF/Core/CIM_AbstractComponent.mof") + #pragma include ("DMTF/Core/CIM_Component.mof") + #pragma include ("DMTF/Event/CIM_Indication.mof") + #pragma include ("DMTF/System/CIM_LogicalFile.mof") diff --git a/SOURCES/pegasus-2.14.1-openssl-1.1-fix.patch b/SOURCES/pegasus-2.14.1-openssl-1.1-fix.patch new file mode 100644 index 0000000..c96934f --- /dev/null +++ b/SOURCES/pegasus-2.14.1-openssl-1.1-fix.patch @@ -0,0 +1,96 @@ +diff -up pegasus/src/Pegasus/Common/SSLContext.cpp.orig pegasus/src/Pegasus/Common/SSLContext.cpp +--- pegasus/src/Pegasus/Common/SSLContext.cpp.orig 2017-02-28 14:39:49.497066327 +0100 ++++ pegasus/src/Pegasus/Common/SSLContext.cpp 2017-03-01 10:56:06.726453475 +0100 +@@ -225,27 +225,31 @@ int SSLCallback::verificationCRLCallback + PEG_TRACE_CSTRING(TRC_SSL, Tracer::LEVEL4, buf); + + //initialize the CRL store +- X509_STORE_CTX crlStoreCtx; +- X509_STORE_CTX_init(&crlStoreCtx, sslCRLStore, NULL, NULL); ++ X509_STORE_CTX* crlStoreCtx; ++ crlStoreCtx = X509_STORE_CTX_new(); ++ X509_STORE_CTX_init(crlStoreCtx, sslCRLStore, NULL, NULL); + + PEG_TRACE_CSTRING(TRC_SSL, Tracer::LEVEL4, + "---> SSL: Initialized CRL store"); + + //attempt to get a CRL issued by the certificate's issuer +- X509_OBJECT obj; ++ X509_OBJECT* obj; ++ obj = X509_OBJECT_new(); + if (X509_STORE_get_by_subject( +- &crlStoreCtx, X509_LU_CRL, issuerName, &obj) <= 0) ++ crlStoreCtx, X509_LU_CRL, issuerName, obj) <= 0) + { +- X509_STORE_CTX_cleanup(&crlStoreCtx); ++ X509_OBJECT_free(obj); ++ X509_STORE_CTX_cleanup(crlStoreCtx); + PEG_TRACE_CSTRING(TRC_SSL, Tracer::LEVEL3, + "---> SSL: No CRL by that issuer"); + PEG_METHOD_EXIT(); + return 0; + } +- X509_STORE_CTX_cleanup(&crlStoreCtx); ++ X509_STORE_CTX_cleanup(crlStoreCtx); + + //get CRL +- X509_CRL* crl = obj.data.crl; ++ X509_CRL* crl; ++ crl = X509_OBJECT_get0_X509_CRL(obj); + if (crl == NULL) + { + PEG_TRACE_CSTRING(TRC_SSL, Tracer::LEVEL4, "---> SSL: CRL is null"); +@@ -272,18 +276,18 @@ int SSLCallback::verificationCRLCallback + { + revokedCert = sk_X509_REVOKED_value(X509_CRL_get_REVOKED(crl), i); + //a matching serial number indicates revocation +- if (ASN1_INTEGER_cmp(revokedCert->serialNumber, serialNumber) == 0) ++ if (ASN1_INTEGER_cmp(X509_REVOKED_get0_serialNumber(revokedCert), serialNumber) == 0) + { + PEG_TRACE_CSTRING(TRC_SSL, Tracer::LEVEL2, + "---> SSL: Certificate is revoked"); + X509_STORE_CTX_set_error(ctx, X509_V_ERR_CERT_REVOKED); +- X509_CRL_free(crl); ++ X509_OBJECT_free(obj); + PEG_METHOD_EXIT(); + return 1; + } + } + +- X509_CRL_free(crl); ++ X509_OBJECT_free(obj); + + PEG_TRACE_CSTRING(TRC_SSL, Tracer::LEVEL4, + "---> SSL: Certificate is not revoked at this level"); +diff -up pegasus/src/Pegasus/Common/SSLContextRep.h.orig pegasus/src/Pegasus/Common/SSLContextRep.h +--- pegasus/src/Pegasus/Common/SSLContextRep.h.orig 2017-02-28 14:32:44.379013979 +0100 ++++ pegasus/src/Pegasus/Common/SSLContextRep.h 2017-02-28 14:36:38.088039077 +0100 +@@ -104,7 +104,11 @@ public: + + //important as per following site for + //http://www.openssl.org/support/faq.html#PROG ++#if OPENSSL_VERSION_NUMBER < 0x10100000L + CRYPTO_malloc_init(); ++#else ++ OPENSSL_malloc_init(); ++#endif + SSL_library_init(); + SSL_load_error_strings(); + } +diff -up pegasus/src/Pegasus/ControlProviders/CertificateProvider/CertificateProvider.cpp.orig pegasus/src/Pegasus/ControlProviders/CertificateProvider/CertificateProvider.cpp +--- pegasus/src/Pegasus/ControlProviders/CertificateProvider/CertificateProvider.cpp.orig 2017-03-01 10:34:19.367952613 +0100 ++++ pegasus/src/Pegasus/ControlProviders/CertificateProvider/CertificateProvider.cpp 2017-03-01 10:36:18.003931270 +0100 +@@ -531,11 +531,11 @@ inline CIMInstance _getCRLInstance(X509_ + for (int i = 0; i < numRevoked; i++) + { + r = sk_X509_REVOKED_value(revoked, i); +- rawSerialNumber = ASN1_INTEGER_get(r->serialNumber); ++ rawSerialNumber = ASN1_INTEGER_get(X509_REVOKED_get0_serialNumber(r)); + sprintf(serial, "%lu", (unsigned long)rawSerialNumber); + revokedSerialNumbers.append(String(serial)); + +- revocationDate = getDateTime(r->revocationDate); ++ revocationDate = getDateTime(X509_REVOKED_get0_revocationDate(r)); + revocationDates.append(revocationDate); + } + diff --git a/SOURCES/pegasus-2.14.1-snmpv3-trap.patch b/SOURCES/pegasus-2.14.1-snmpv3-trap.patch new file mode 100644 index 0000000..c387d9f --- /dev/null +++ b/SOURCES/pegasus-2.14.1-snmpv3-trap.patch @@ -0,0 +1,359 @@ +diff -up pegasus/src/Pegasus/Handler/snmpIndicationHandler/snmpDeliverTrap_netsnmp.cpp.orig pegasus/src/Pegasus/Handler/snmpIndicationHandler/snmpDeliverTrap_netsnmp.cpp +--- pegasus/src/Pegasus/Handler/snmpIndicationHandler/snmpDeliverTrap_netsnmp.cpp.orig 2013-01-21 06:00:43.000000000 +0100 ++++ pegasus/src/Pegasus/Handler/snmpIndicationHandler/snmpDeliverTrap_netsnmp.cpp 2015-05-25 15:11:02.368906571 +0200 +@@ -228,9 +228,138 @@ void snmpDeliverTrap_netsnmp::_createSes + (const char*)targetHostCStr, + portNumber); + } ++ } ++ ++ switch (snmpVersion) ++ { ++ case _SNMPv1_TRAP: ++ { ++ snmpSession.version = SNMP_VERSION_1; ++ _addCommunity(snmpSession,securityName); ++ break; ++ } ++ case _SNMPv2C_TRAP: ++ { ++ snmpSession.version = SNMP_VERSION_2c; ++ _addCommunity(snmpSession,securityName); ++ break; ++ } ++#ifdef PEGASUS_ENABLE_NET_SNMPV3 ++ case _SNMPv3_TRAP: ++ { ++ snmpSession.version = SNMP_VERSION_3; ++ CString securityNameCStr = securityName.getCString(); ++ size_t securityNameLen = strlen(securityNameCStr); ++ SNMP_FREE(snmpSession.securityName); ++ snmpSession.securityName = (char *)calloc(1,securityNameLen+1); ++ snmpSession.securityNameLen = securityNameLen; ++ memcpy(snmpSession.securityName, (const char*)securityNameCStr, ++ securityNameLen); ++ ++ CString engineIdCStr = engineID.getCString(); ++ size_t engineIdHexLen = strlen(engineIdCStr); ++ size_t engineIdBinLen = 0; ++ u_char *engineIdBin = (u_char *)calloc(1,engineIdHexLen); ++ free(snmpSession.securityEngineID); ++ if(!snmp_hex_to_binary(&engineIdBin, &engineIdHexLen, ++ &engineIdBinLen, 1,engineIdCStr)) ++ { ++ PEG_TRACE_CSTRING(TRC_DISCARDED_DATA, Tracer::LEVEL2, ++ "Snmp Indication Handler failed to generate binary" ++ " engine ID for sending the SNMPv3 trap."); ++ throw PEGASUS_CIM_EXCEPTION_L(CIM_ERR_FAILED, ++ MessageLoaderParms( ++ "Handler.snmpIndicationHandler." ++ "snmpIndicationHandler." ++ "FAILED_TO_DELIVER_TRAP", ++ "Failed to deliver trap.")); ++ } ++ snmpSession.securityEngineIDLen = engineIdBinLen; ++ snmpSession.securityEngineID = engineIdBin; ++ ++ switch(snmpSecLevel) ++ { ++ case 1: ++ snmpSession.securityLevel = SNMP_SEC_LEVEL_NOAUTH; ++ break; ++ case 2: ++ snmpSession.securityLevel = SNMP_SEC_LEVEL_AUTHNOPRIV; ++ break; ++ case 3: ++ snmpSession.securityLevel = SNMP_SEC_LEVEL_AUTHPRIV; ++ break; ++ default: ++ //use the dedault in the net-snmp conf file. ++ break; ++ } ++ ++ SNMP_FREE(snmpSession.securityAuthProto); ++ if(snmpSecAuthProto == 1) // MD5 ++ { ++ snmpSession.securityAuthProto = snmp_duplicate_objid( ++ usmHMACMD5AuthProtocol, ++ USM_AUTH_PROTO_MD5_LEN); ++ snmpSession.securityAuthProtoLen = USM_AUTH_PROTO_MD5_LEN; ++ } ++ else if(snmpSecAuthProto == 2)// SHA ++ { ++ snmpSession.securityAuthProto = snmp_duplicate_objid( ++ usmHMACSHA1AuthProtocol, ++ USM_AUTH_PROTO_SHA_LEN); ++ snmpSession.securityAuthProtoLen = USM_AUTH_PROTO_SHA_LEN; ++ } ++ // use the default in net-snmp conf files. + +- sessionHandle = snmp_sess_open(&snmpSession); ++ if(snmpSecAuthKey.size() > 0) ++ { ++ for(Uint32 i=0;i 0) ++ { ++ for(Uint32 j=0;jversion = SNMP_VERSION_1; +- _addCommunity(sessionPtr,securityName); +- break; +- +- } +- case _SNMPv2C_TRAP: +- { +- sessionPtr->version = SNMP_VERSION_2c; +- _addCommunity(sessionPtr,securityName); +- break; +- } +-#ifdef PEGASUS_ENABLE_NET_SNMPV3 +- case _SNMPv3_TRAP: +- { +- sessionPtr->version = SNMP_VERSION_3; +- CString securityNameCStr = securityName.getCString(); +- size_t securityNameLen = strlen(securityNameCStr); +- SNMP_FREE(sessionPtr->securityName); +- sessionPtr->securityName = (char *)calloc(1,securityNameLen+1); +- sessionPtr->securityNameLen = securityNameLen; +- memcpy(sessionPtr->securityName, (const char*)securityNameCStr, +- securityNameLen); +- +- CString engineIdCStr = engineID.getCString(); +- size_t engineIdHexLen = strlen(engineIdCStr); +- size_t engineIdBinLen = 0; +- u_char *engineIdBin = (u_char *)calloc(1,engineIdHexLen); +- free(sessionPtr->securityEngineID); +- if(!snmp_hex_to_binary(&engineIdBin, &engineIdHexLen, +- &engineIdBinLen, 1,engineIdCStr)) +- { +- PEG_TRACE_CSTRING(TRC_DISCARDED_DATA, Tracer::LEVEL2, +- "Snmp Indication Handler failed to generate binary" +- " engine ID for sending the SNMPv3 trap."); +- throw PEGASUS_CIM_EXCEPTION_L(CIM_ERR_FAILED, +- MessageLoaderParms( +- "Handler.snmpIndicationHandler." +- "snmpIndicationHandler." +- "FAILED_TO_DELIVER_TRAP", +- "Failed to deliver trap.")); +- } +- sessionPtr->securityEngineIDLen = engineIdBinLen; +- sessionPtr->securityEngineID = engineIdBin; +- +- switch(snmpSecLevel) +- { +- case 1: +- sessionPtr->securityLevel = SNMP_SEC_LEVEL_NOAUTH; +- break; +- case 2: +- sessionPtr->securityLevel = SNMP_SEC_LEVEL_AUTHNOPRIV; +- break; +- case 3: +- sessionPtr->securityLevel = SNMP_SEC_LEVEL_AUTHPRIV; +- break; +- default: +- //use the dedault in the net-snmp conf file. +- break; +- } +- +- SNMP_FREE(sessionPtr->securityAuthProto); +- if(snmpSecAuthProto == 1) // MD5 +- { +- sessionPtr->securityAuthProto = snmp_duplicate_objid( +- usmHMACMD5AuthProtocol, +- USM_AUTH_PROTO_MD5_LEN); +- sessionPtr->securityAuthProtoLen = USM_AUTH_PROTO_MD5_LEN; +- } +- else if(snmpSecAuthProto == 2)// SHA +- { +- sessionPtr->securityAuthProto = snmp_duplicate_objid( +- usmHMACSHA1AuthProtocol, +- USM_AUTH_PROTO_SHA_LEN); +- sessionPtr->securityAuthProtoLen = USM_AUTH_PROTO_SHA_LEN; +- } +- // use the default in net-snmp conf files. +- +- if(snmpSecAuthKey.size() > 0) +- { +- for(Uint32 i=0;isecurityAuthKey[i] = snmpSecAuthKey[i]; +- } +- sessionPtr->securityAuthKeyLen = snmpSecAuthKey.size(); +- } +- +- SNMP_FREE(sessionPtr->securityPrivProto); +- //Privacy +- if(snmpSecPrivProto == 1) //DES +- { +- sessionPtr->securityPrivProto = snmp_duplicate_objid( +- usmDESPrivProtocol, +- USM_PRIV_PROTO_DES_LEN); +- sessionPtr->securityPrivProtoLen = USM_PRIV_PROTO_DES_LEN; +- } +- else if(snmpSecPrivProto == 2) // AES +- { +- sessionPtr->securityPrivProto = snmp_duplicate_objid( +- usmAESPrivProtocol, +- USM_PRIV_PROTO_AES_LEN); +- sessionPtr->securityPrivProtoLen = USM_PRIV_PROTO_AES_LEN; +- } +- // use the defaults in net-snmp conf files +- +- // Privacy Key +- if(snmpSecPrivKey.size() > 0) +- { +- for(Uint32 j=0;jsecurityPrivKey[j] = snmpSecPrivKey[j]; +- } +- sessionPtr->securityPrivKeyLen = snmpSecPrivKey.size(); +- } +- break; +- } ++#ifdef PEGASUS_ENABLE_NET_SNMPV3 ++ free(snmpSession.securityName); ++ free(snmpSession.securityEngineID); + #endif // ifdef PEGASUS_ENABLE_NET_SNMPV3 +- default: +- { +- PEG_METHOD_EXIT(); +- throw PEGASUS_CIM_EXCEPTION_L(CIM_ERR_NOT_SUPPORTED, +- MessageLoaderParms( +- _MSG_VERSION_NOT_SUPPORTED_KEY, +- _MSG_VERSION_NOT_SUPPORTED)); +- } +- } + + } + catch (...) +@@ -418,7 +435,7 @@ void snmpDeliverTrap_netsnmp::_createSes + } + + void snmpDeliverTrap_netsnmp::_addCommunity( +- struct snmp_session*& sessionPtr, ++ struct snmp_session& snmpSession, + const String& securityName) + { + PEG_METHOD_ENTER(TRC_IND_HANDLER, +@@ -435,17 +452,17 @@ void snmpDeliverTrap_netsnmp::_addCommun + communityName = securityName; + } + +- free(sessionPtr->community); ++ free(snmpSession.community); + + CString communityNameCStr = communityName.getCString(); + size_t communityNameLen = strlen(communityNameCStr); + +- sessionPtr->community = (u_char*)calloc(1,communityNameLen+1); ++ snmpSession.community = (u_char*)calloc(1,communityNameLen+1); + +- memcpy(sessionPtr->community, (const char*)communityNameCStr, ++ memcpy(snmpSession.community, (const char*)communityNameCStr, + communityNameLen); + +- sessionPtr->community_len = communityNameLen; ++ snmpSession.community_len = communityNameLen; + PEG_METHOD_EXIT(); + } + +diff -up pegasus/src/Pegasus/Handler/snmpIndicationHandler/snmpDeliverTrap_netsnmp.h.orig pegasus/src/Pegasus/Handler/snmpIndicationHandler/snmpDeliverTrap_netsnmp.h +--- pegasus/src/Pegasus/Handler/snmpIndicationHandler/snmpDeliverTrap_netsnmp.h.orig 2010-12-22 13:19:06.000000000 +0100 ++++ pegasus/src/Pegasus/Handler/snmpIndicationHandler/snmpDeliverTrap_netsnmp.h 2015-05-25 15:12:24.908290090 +0200 +@@ -200,12 +200,11 @@ private: + /** + Add the community string to the snmp session for V1 and V2C + +- @param sessionPtr the SNMP session pointer to its associated +- struct snmp_session ++ @param snmpSession struct snmp_session + @param securityName the human readable community name + */ + void _addCommunity( +- struct snmp_session*& sessionPtr, ++ struct snmp_session& snmpSession, + const String& securityName); + + /** diff --git a/SOURCES/pegasus-2.14.1-ssl-cert-path.patch b/SOURCES/pegasus-2.14.1-ssl-cert-path.patch new file mode 100644 index 0000000..82f890f --- /dev/null +++ b/SOURCES/pegasus-2.14.1-ssl-cert-path.patch @@ -0,0 +1,12 @@ +diff -up pegasus/env_var_Linux.status.orig pegasus/env_var_Linux.status +--- pegasus/env_var_Linux.status.orig 2016-02-18 12:06:51.571515464 +0100 ++++ pegasus/env_var_Linux.status 2016-02-18 12:07:02.946568247 +0100 +@@ -133,7 +133,7 @@ PEGASUS_LOCAL_DOMAIN_SOCKET_DIR = $(PEGA + PEGASUS_LOCAL_DOMAIN_SOCKET_PATH = \ + $(PEGASUS_LOCAL_DOMAIN_SOCKET_DIR)/cimxml.socket + +-PEGASUS_PEM_DIR = $(PEGASUS_CONFIG_DIR) ++PEGASUS_PEM_DIR = /etc/pki/Pegasus + PEGASUS_SSL_KEY_FILE = file.pem + PEGASUS_SSL_KEY_FILE_PATH = $(PEGASUS_PEM_DIR)/$(PEGASUS_SSL_KEY_FILE) + PEGASUS_SSL_CERT_FILE = server.pem diff --git a/SOURCES/pegasus-2.14.1-ssl-include.patch b/SOURCES/pegasus-2.14.1-ssl-include.patch new file mode 100644 index 0000000..b229d75 --- /dev/null +++ b/SOURCES/pegasus-2.14.1-ssl-include.patch @@ -0,0 +1,11 @@ +diff -up pegasus/src/Pegasus/Server/tests/TLSv_1_2_Support/TestTLSv1_2_Support.cpp.orig pegasus/src/Pegasus/Server/tests/TLSv_1_2_Support/TestTLSv1_2_Support.cpp +--- pegasus/src/Pegasus/Server/tests/TLSv_1_2_Support/TestTLSv1_2_Support.cpp.orig 2015-05-19 13:49:59.100133630 +0200 ++++ pegasus/src/Pegasus/Server/tests/TLSv_1_2_Support/TestTLSv1_2_Support.cpp 2015-05-19 13:50:40.665309444 +0200 +@@ -37,6 +37,7 @@ + + + #ifdef PEGASUS_HAS_SSL ++# include + # include + #endif + diff --git a/SOURCES/pegasus-2.14.1-tesid.patch b/SOURCES/pegasus-2.14.1-tesid.patch new file mode 100644 index 0000000..063f0f1 --- /dev/null +++ b/SOURCES/pegasus-2.14.1-tesid.patch @@ -0,0 +1,28 @@ +diff -up pegasus/src/Clients/benchmarkTest/Load/Makefile.orig pegasus/src/Clients/benchmarkTest/Load/Makefile +--- pegasus/src/Clients/benchmarkTest/Load/Makefile.orig 2015-10-12 13:19:57.029090805 +0200 ++++ pegasus/src/Clients/benchmarkTest/Load/Makefile 2015-10-12 13:20:43.379003285 +0200 +@@ -33,11 +33,7 @@ include $(ROOT)/mak/configschema.mak + include $(ROOT)/mak/test.mak + include $(ROOT)/mak/commands.mak + +-ifdef TESTID +- BenchmarkMOF_NAME = benchmarkProvider_$(TESTID) +-else +- BenchmarkMOF_NAME = benchmarkProvider +-endif ++BenchmarkMOF_NAME = benchmarkProvider + + PROVIDERNS=root/benchmark + PROVIDERNSDIRECTORY=$(REPOSITORY_ROOT)/root\#benchmark +@@ -74,11 +70,7 @@ unregisterproviders: + changeconfig: + $(MAKE) -i cimstart + $(MAKE) unregister +-ifdef TESTID +- $(MAKE) repositoryServer TESTID=$(TESTID) +-else + $(MAKE) repositoryServer +-endif + + + depend: diff --git a/SOURCES/pegasus-2.5.1-pam-wbem.patch b/SOURCES/pegasus-2.5.1-pam-wbem.patch new file mode 100644 index 0000000..932bfe1 --- /dev/null +++ b/SOURCES/pegasus-2.5.1-pam-wbem.patch @@ -0,0 +1,22 @@ +--- pegasus/rpm/wbem.pam-wbem 2006-01-17 14:17:43.000000000 -0500 ++++ pegasus/rpm/wbem 2006-04-05 19:26:46.000000000 -0400 +@@ -1,13 +1,7 @@ + #%PAM-1.0 +-auth required $ISA/pam_env.so +-auth sufficient $ISA/pam_unix.so nullok +-auth required $ISA/pam_deny.so +- +-account required $ISA/pam_unix.so +- +-password required $ISA/pam_cracklib.so retry=3 type= +-password sufficient $ISA/pam_unix.so nullok use_authtok md5 shadow +-password required $ISA/pam_deny.so +- +-session required $ISA/pam_limits.so +-session required $ISA/pam_unix.so ++auth include password-auth ++account required pam_access.so accessfile=/etc/Pegasus/access.conf ++account include password-auth ++password include password-auth ++session required pam_loginuid.so ++session include password-auth diff --git a/SOURCES/pegasus-2.7.0-PIE.patch b/SOURCES/pegasus-2.7.0-PIE.patch new file mode 100644 index 0000000..6eabde6 --- /dev/null +++ b/SOURCES/pegasus-2.7.0-PIE.patch @@ -0,0 +1,132 @@ +diff -up pegasus/src/Clients/cimauth/Makefile_orig pegasus/src/Clients/cimauth/Makefile +--- pegasus/src/Clients/cimauth/Makefile_orig 2011-05-17 15:03:15.822670486 +0200 ++++ pegasus/src/Clients/cimauth/Makefile 2011-05-17 15:03:26.893426279 +0200 +@@ -34,6 +34,8 @@ DIR = Clients/cimauth + + include $(ROOT)/mak/config.mak + ++FLAGS := $(FLAGS:-fPIC=-fPIE) ++ + LIBRARIES = \ + pegcliutils \ + pegclient \ +diff -up pegasus/src/Clients/cimconfig/Makefile_orig pegasus/src/Clients/cimconfig/Makefile +--- pegasus/src/Clients/cimconfig/Makefile_orig 2011-05-17 15:01:19.759266385 +0200 ++++ pegasus/src/Clients/cimconfig/Makefile 2011-05-17 15:01:37.629099999 +0200 +@@ -34,6 +34,8 @@ DIR = Clients/cimconfig + + include $(ROOT)/mak/config.mak + ++FLAGS := $(FLAGS:-fPIC=-fPIE) ++ + LIBRARIES = \ + pegcliutils \ + pegclient \ +diff -up pegasus/src/Clients/cimprovider/Makefile_orig pegasus/src/Clients/cimprovider/Makefile +--- pegasus/src/Clients/cimprovider/Makefile_orig 2011-05-17 15:01:55.278898872 +0200 ++++ pegasus/src/Clients/cimprovider/Makefile 2011-05-17 15:02:09.021077534 +0200 +@@ -34,6 +34,8 @@ DIR = Clients/cimprovider + + include $(ROOT)/mak/config.mak + ++FLAGS := $(FLAGS:-fPIC=-fPIE) ++ + LIBRARIES = \ + pegcliutils \ + pegclient \ +diff -up pegasus/src/Clients/cimuser/Makefile_orig pegasus/src/Clients/cimuser/Makefile +--- pegasus/src/Clients/cimuser/Makefile_orig 2011-05-17 15:02:18.991658613 +0200 ++++ pegasus/src/Clients/cimuser/Makefile 2011-05-17 15:02:38.476748769 +0200 +@@ -34,6 +34,8 @@ DIR = Clients/cimuser + + include $(ROOT)/mak/config.mak + ++FLAGS := $(FLAGS:-fPIC=-fPIE) ++ + LIBRARIES = \ + pegcliutils \ + pegclient \ +diff -up pegasus/src/Clients/osinfo/Makefile_orig pegasus/src/Clients/osinfo/Makefile +--- pegasus/src/Clients/osinfo/Makefile_orig 2011-05-17 15:03:57.952350916 +0200 ++++ pegasus/src/Clients/osinfo/Makefile 2011-05-17 15:04:08.622043080 +0200 +@@ -33,6 +33,8 @@ PEGASUS_ZOS_PROGRAM_OBJECT = yes + DIR = Clients/osinfo + include $(ROOT)/mak/config.mak + ++FLAGS := $(FLAGS:-fPIC=-fPIE) ++ + LIBRARIES = \ + pegcliutils \ + peggetoopt \ +diff -up pegasus/src/Clients/repupgrade/Makefile_orig pegasus/src/Clients/repupgrade/Makefile +--- pegasus/src/Clients/repupgrade/Makefile_orig 2011-05-17 15:03:36.222905432 +0200 ++++ pegasus/src/Clients/repupgrade/Makefile 2011-05-17 15:03:48.013774882 +0200 +@@ -34,6 +34,8 @@ DIR = Clients/repupgrade + + include $(ROOT)/mak/config.mak + ++FLAGS := $(FLAGS:-fPIC=-fPIE) ++ + LOCAL_DEFINES = -DPEGASUS_INTERNALONLY + + LIBRARIES = \ +diff -up pegasus/src/Clients/wbemexec/Makefile_orig pegasus/src/Clients/wbemexec/Makefile +--- pegasus/src/Clients/wbemexec/Makefile_orig 2011-05-17 15:02:46.254981788 +0200 ++++ pegasus/src/Clients/wbemexec/Makefile 2011-05-17 15:02:59.917148729 +0200 +@@ -34,6 +34,8 @@ DIR = Clients/wbemexec + + include $(ROOT)/mak/config.mak + ++FLAGS := $(FLAGS:-fPIC=-fPIE) ++ + LOCAL_DEFINES = -DPEGASUS_INTERNALONLY + + LIBRARIES = \ +diff -up pegasus/src/Pegasus/Compiler/cmdline/cimmofl/Makefile_orig pegasus/src/Pegasus/Compiler/cmdline/cimmofl/Makefile +--- pegasus/src/Pegasus/Compiler/cmdline/cimmofl/Makefile_orig 2011-05-17 14:59:20.270319135 +0200 ++++ pegasus/src/Pegasus/Compiler/cmdline/cimmofl/Makefile 2011-05-17 14:59:55.019829684 +0200 +@@ -30,6 +30,8 @@ ROOT = ../../../../.. + DIR = Pegasus/Compiler/cmdline/cimmofl + include $(ROOT)/mak/config.mak + ++FLAGS := $(FLAGS:-fPIC=-fPIE) ++ + LOCAL_DEFINES = -DPEGASUS_INTERNALONLY + + PROGRAM = cimmofl +diff -up pegasus/src/Pegasus/Compiler/cmdline/cimmof/Makefile_orig pegasus/src/Pegasus/Compiler/cmdline/cimmof/Makefile +--- pegasus/src/Pegasus/Compiler/cmdline/cimmof/Makefile_orig 2011-05-17 14:58:44.334620532 +0200 ++++ pegasus/src/Pegasus/Compiler/cmdline/cimmof/Makefile 2011-05-17 14:59:10.555778484 +0200 +@@ -32,6 +32,8 @@ include $(ROOT)/mak/config.mak + + LOCAL_DEFINES = -DPEGASUS_CMDLINE_INTERNAL -DPEGASUS_INTERNALONLY + ++FLAGS := $(FLAGS:-fPIC=-fPIE) ++ + LIBRARIES = \ + pegcompiler \ + pegclient \ +diff -up pegasus/src/Pegasus/ProviderManagerService/ProviderAgent/Makefile_orig pegasus/src/Pegasus/ProviderManagerService/ProviderAgent/Makefile +--- pegasus/src/Pegasus/ProviderManagerService/ProviderAgent/Makefile_orig 2011-05-17 14:58:03.166092772 +0200 ++++ pegasus/src/Pegasus/ProviderManagerService/ProviderAgent/Makefile 2011-05-17 14:58:22.652182571 +0200 +@@ -32,6 +32,8 @@ DIR = Pegasus/ProviderManagerService/Pro + + include $(ROOT)/mak/config.mak + ++FLAGS := $(FLAGS:-fPIC=-fPIE) ++ + LIBRARIES = \ + pegpmrouter \ + pegprovidermanager \ +diff -up pegasus/src/Pegasus/Server/Makefile_orig pegasus/src/Pegasus/Server/Makefile +--- pegasus/src/Pegasus/Server/Makefile_orig 2011-05-17 14:57:08.349400296 +0200 ++++ pegasus/src/Pegasus/Server/Makefile 2011-05-17 14:57:33.724424287 +0200 +@@ -32,6 +32,8 @@ DIR = Pegasus/Server + + include $(ROOT)/mak/config.mak + ++FLAGS := $(FLAGS:-fPIC=-fPIE) ++ + EXTRA_INCLUDES = $(SYS_INCLUDES) + + LOCAL_DEFINES = -DPEGASUS_SERVER_INTERNAL -DPEGASUS_INTERNALONLY diff --git a/SOURCES/pegasus-2.7.0-snmp-tests.patch b/SOURCES/pegasus-2.7.0-snmp-tests.patch new file mode 100644 index 0000000..da50ec3 --- /dev/null +++ b/SOURCES/pegasus-2.7.0-snmp-tests.patch @@ -0,0 +1,50 @@ +diff -up pegasus/Makefile.ReleaseTest.orig pegasus/Makefile.ReleaseTest +--- pegasus/Makefile.ReleaseTest.orig 2013-07-01 12:55:50.000000000 +0200 ++++ pegasus/Makefile.ReleaseTest 2015-05-18 14:28:22.642686363 +0200 +@@ -128,6 +128,7 @@ POSTSTARTTEST_CMDS = \ + $(PEGASUS_TEST_DIR)/bin/TestIndicationStressTest@@IndicationStressTestClass@@test/TestProvider@@cleanup + + ifeq ($(PEGASUS_USE_NET_SNMP),true) ++ POSTSTARTTEST_CMDS_NO_SNMP := $(POSTSTARTTEST_CMDS) + POSTSTARTTEST_CMDS += \ + $(PEGASUS_TEST_DIR)/bin/TestSnmpHandler@@setup@@WQL \ + $(PEGASUS_TEST_DIR)/bin/TestSnmpHandler@@run@@4@@2 \ +@@ -212,10 +213,21 @@ createMakefile_poststarttests: + @$(ECHO-E) "poststarttests:" >> $(PEGASUS_STAGING_DIR)$(PEGASUS_TEST_DIR)/Makefile + @$(ECHO-E) "\t@$(MAKE) -s poststarttests_internal\n" >> $(PEGASUS_STAGING_DIR)$(PEGASUS_TEST_DIR)/Makefile + @$(ECHO-E) "poststarttests_internal:" >> $(PEGASUS_STAGING_DIR)$(PEGASUS_TEST_DIR)/Makefile ++ifeq ($(PEGASUS_USE_NET_SNMP),true) ++ @$(foreach i, $(POSTSTARTTEST_CMDS_NO_SNMP), $(ECHO-E) "\t$(subst @@, ,$(i))" >> $(PEGASUS_STAGING_DIR)$(PEGASUS_TEST_DIR)/Makefile;) ++else + @$(foreach i, $(POSTSTARTTEST_CMDS), $(ECHO-E) "\t$(subst @@, ,$(i))" >> $(PEGASUS_STAGING_DIR)$(PEGASUS_TEST_DIR)/Makefile;) + @$(ECHO-E) "" >> $(PEGASUS_STAGING_DIR)$(PEGASUS_TEST_DIR)/Makefile ++endif + + createMakefile_tests: ++ifeq ($(PEGASUS_USE_NET_SNMP),true) ++ @$(ECHO-E) "\t/usr/share/Pegasus/test/bin/TestSnmpHandler setup WQL" >> $(PEGASUS_STAGING_DIR)$(PEGASUS_TEST_DIR)/Makefile ++ @$(ECHO-E) "\t/usr/share/Pegasus/test/bin/TestSnmpHandler run 4 2" >> $(PEGASUS_STAGING_DIR)$(PEGASUS_TEST_DIR)/Makefile ++ @$(ECHO-E) "\t/usr/share/Pegasus/test/bin/TestSnmpHandler cleanup" >> $(PEGASUS_STAGING_DIR)$(PEGASUS_TEST_DIR)/Makefile ++ @$(ECHO-E) "\t/usr/share/Pegasus/test/bin/TestSnmpHandler removelog" >> $(PEGASUS_STAGING_DIR)$(PEGASUS_TEST_DIR)/Makefile ++ @$(ECHO-E) "" >> $(PEGASUS_STAGING_DIR)$(PEGASUS_TEST_DIR)/Makefile ++endif + @$(ECHO-E) "###############################################################################" >> $(PEGASUS_STAGING_DIR)$(PEGASUS_TEST_DIR)/Makefile + @$(ECHO-E) "# The tests target stops the cimserver, runs the unit tests, starts the" >> $(PEGASUS_STAGING_DIR)$(PEGASUS_TEST_DIR)/Makefile + @$(ECHO-E) "# cimserver, and runs the poststarttests and local TestClient." >> $(PEGASUS_STAGING_DIR)$(PEGASUS_TEST_DIR)/Makefile +@@ -276,6 +288,8 @@ createMakefile_setupTEST: + >> $(PEGASUS_STAGING_DIR)$(PEGASUS_TEST_DIR)/Makefile + @$(ECHO-E) "\t@mv $(PEGASUS_TEST_REPOSITORY_DIR)/$(PEGASUS_TEST_REPOSITORY_NAME) $(PEGASUS_REPOSITORY_PARENT_DIR)/repository" \ + >> $(PEGASUS_STAGING_DIR)$(PEGASUS_TEST_DIR)/Makefile ++ @$(ECHO-E) "\t@mv /etc/snmp/snmptrapd.conf /etc/snmp/snmptrapd.conf.bak" >> $(PEGASUS_STAGING_DIR)$(PEGASUS_TEST_DIR)/Makefile ++ @$(ECHO-E) "\t@cp /usr/share/Pegasus/test/snmptrapd.conf /etc/snmp/snmptrapd.conf" >> $(PEGASUS_STAGING_DIR)$(PEGASUS_TEST_DIR)/Makefile + @$(ECHO-E) "\t@make cimstart" >> $(PEGASUS_STAGING_DIR)$(PEGASUS_TEST_DIR)/Makefile + @$(ECHO-E) "\t@make create_providerlinks" >> $(PEGASUS_STAGING_DIR)$(PEGASUS_TEST_DIR)/Makefile + @$(ECHO-E) "else" >> $(PEGASUS_STAGING_DIR)$(PEGASUS_TEST_DIR)/Makefile +@@ -293,6 +307,7 @@ createMakefile_unsetupTEST: + >> $(PEGASUS_STAGING_DIR)$(PEGASUS_TEST_DIR)/Makefile + @$(ECHO-E) "\t@mv $(PEGASUS_REPOSITORY_PARENT_DIR)/repository.bak $(PEGASUS_REPOSITORY_PARENT_DIR)/repository" \ + >> $(PEGASUS_STAGING_DIR)$(PEGASUS_TEST_DIR)/Makefile ++ @$(ECHO-E) "\t@mv /etc/snmp/snmptrapd.conf.bak /etc/snmp/snmptrapd.conf" >> $(PEGASUS_STAGING_DIR)$(PEGASUS_TEST_DIR)/Makefile + @$(ECHO-E) "endif" >> $(PEGASUS_STAGING_DIR)$(PEGASUS_TEST_DIR)/Makefile + @$(ECHO-E) "\t@make remove_providerlinks" >> $(PEGASUS_STAGING_DIR)$(PEGASUS_TEST_DIR)/Makefile + @$(ECHO-E) "" >> $(PEGASUS_STAGING_DIR)$(PEGASUS_TEST_DIR)/Makefile diff --git a/SOURCES/pegasus-2.9.0-cmpi-provider-lib.patch b/SOURCES/pegasus-2.9.0-cmpi-provider-lib.patch new file mode 100644 index 0000000..7e479cf --- /dev/null +++ b/SOURCES/pegasus-2.9.0-cmpi-provider-lib.patch @@ -0,0 +1,13 @@ +diff -up pegasus/src/Pegasus/Config/FixedPropertyTableLinux.h_orig pegasus/src/Pegasus/Config/FixedPropertyTableLinux.h +--- pegasus/src/Pegasus/Config/FixedPropertyTableLinux.h_orig 2011-05-17 15:13:43.331172383 +0200 ++++ pegasus/src/Pegasus/Config/FixedPropertyTableLinux.h 2011-05-17 15:15:34.672827232 +0200 +@@ -60,8 +60,7 @@ + {"crlStore", PEGASUS_SSL_SERVER_CRL}, + # endif + {"repositoryDir", PEGASUS_REPOSITORY_DIR}, +- {"providerDir", PEGASUS_EXTRA_PROVIDER_LIB_DIR PEGASUS_PROVIDER_LIB_DIR +- ":/usr/" PEGASUS_ARCH_LIB "/cmpi"}, ++ {"providerDir", PEGASUS_PROVIDER_LIB_DIR ":" PEGASUS_DEST_LIB_DIR "/cmpi"}, + {"providerManagerDir", PEGASUS_PROVIDER_MANAGER_LIB_DIR}, + # else /* PEGASUS_OVERRIDE_DEFAULT_RELEASE_DIRS */ + {"traceFilePath", "/var/opt/tog-pegasus/cache/trace/cimserver.trc"}, diff --git a/SOURCES/pegasus-2.9.0-local-or-remote-auth.patch b/SOURCES/pegasus-2.9.0-local-or-remote-auth.patch new file mode 100644 index 0000000..67e0aa9 --- /dev/null +++ b/SOURCES/pegasus-2.9.0-local-or-remote-auth.patch @@ -0,0 +1,535 @@ +diff -up pegasus/src/Executor/Messages.h.orig pegasus/src/Executor/Messages.h +--- pegasus/src/Executor/Messages.h.orig 2015-03-31 14:49:58.125082973 +0200 ++++ pegasus/src/Executor/Messages.h 2015-03-31 14:50:29.243214138 +0200 +@@ -199,6 +199,7 @@ struct ExecutorAuthenticatePasswordReque + { + char username[EXECUTOR_BUFFER_SIZE]; + char password[EXECUTOR_BUFFER_SIZE]; ++ Boolean isRemoteUser; + }; + + struct ExecutorAuthenticatePasswordResponse +diff -up pegasus/src/Executor/PAMAuth.h.orig pegasus/src/Executor/PAMAuth.h +--- pegasus/src/Executor/PAMAuth.h.orig 2015-03-31 14:50:48.589295683 +0200 ++++ pegasus/src/Executor/PAMAuth.h 2015-03-31 14:57:25.561982718 +0200 +@@ -49,6 +49,9 @@ + #include + #include + ++#include ++typedef bool Boolean; ++ + #ifdef PEGASUS_FLAVOR + # define PAM_CONFIG_FILE "wbem" PEGASUS_FLAVOR + #else +@@ -397,7 +400,7 @@ static int PAMValidateUserCallback( + */ + + static int PAMAuthenticateInProcess( +- const char* username, const char* password) ++ const char* username, const char* password, const Boolean isRemoteUser) + { + PAMData data; + struct pam_conv pconv; +@@ -412,24 +415,54 @@ static int PAMAuthenticateInProcess( + /* intentionally for testing purposes */ + /* return PAM_SERVICE_ERR; */ + +- pam_rc = pam_start(PAM_CONFIG_FILE, username, &pconv, &handle); ++ // NOTE: if any pam call should log anything, our syslog socket will be redirected ++ // to the AUTH facility, so we need to redirect it back after each pam call. ++ ++ if ((pam_rc = pam_start(PAM_CONFIG_FILE, username, &pconv, &handle)) != PAM_SUCCESS) ++ { ++ closelog(); ++ openlog("cimserver", LOG_PID, LOG_DAEMON); ++ syslog(LOG_ERR, "pam_start failed: %s", pam_strerror(handle, pam_rc)); ++ syslog(LOG_ERR, "PAM authentication failed for %s user: %s", ++ isRemoteUser ? "remote" : "local", username); ++ return -1; ++ } + +- if (pam_rc != PAM_SUCCESS) ++ if ((pam_rc = pam_set_item(handle, PAM_TTY, isRemoteUser ? "wbemNetwork" : "wbemLocal")) != PAM_SUCCESS) + { +- return pam_rc; ++ pam_end(handle, 0); ++ closelog(); ++ openlog("cimserver", LOG_PID, LOG_DAEMON); ++ syslog(LOG_ERR, "pam_set_item(PAM_TTY=wbem) failed: %s", pam_strerror(handle, pam_rc)); ++ syslog(LOG_ERR, "PAM authentication failed for %s user: %s", ++ isRemoteUser ? "remote" : "local", username); ++ return -1; + } + +- pam_rc = pam_authenticate(handle, 0); +- if (pam_rc != PAM_SUCCESS) ++ if ((pam_rc = pam_authenticate(handle, 0)) != PAM_SUCCESS) + { + pam_end(handle, 0); +- return pam_rc; ++ closelog(); ++ openlog("cimserver", LOG_PID, LOG_DAEMON); ++ syslog(LOG_ERR, "pam_authenticate failed: %s",pam_strerror(handle, pam_rc)); ++ syslog(LOG_ERR, "PAM authentication failed for %s user: %s", ++ isRemoteUser ? "remote" : "local", username); ++ return -1; + } + +- pam_rc = pam_acct_mgmt(handle, 0); ++ if ((pam_rc = pam_acct_mgmt(handle, 0)) != PAM_SUCCESS) ++ { ++ pam_end(handle, 0); ++ closelog(); ++ openlog("cimserver", LOG_PID, LOG_DAEMON); ++ syslog(LOG_ERR, "pam_acct_mgmt failed: %s",pam_strerror(handle, pam_rc)); ++ syslog(LOG_ERR, "PAM authentication failed for %s user: %s", ++ isRemoteUser ? "remote" : "local", username); ++ return -1; ++ } + + pam_end(handle, 0); +- return pam_rc; ++ return 0; + } + + /* +@@ -452,16 +485,34 @@ static int PAMValidateUserInProcess(cons + pconv.conv = PAMValidateUserCallback; + pconv.appdata_ptr = &data; + +- pam_rc = pam_start(PAM_CONFIG_FILE, username, &pconv, &phandle); +- if (pam_rc != PAM_SUCCESS) ++ if ((pam_rc = pam_start(PAM_CONFIG_FILE, username, &pconv, &phandle)) != PAM_SUCCESS) ++ { ++ closelog(); ++ openlog("cimserver", LOG_PID, LOG_DAEMON); ++ syslog(LOG_ERR, "pam_start() failed: %s", pam_strerror(phandle, pam_rc)); ++ return -1; ++ } ++ ++ if ((pam_rc = pam_set_item(phandle, PAM_TTY, "wbemLocal")) != PAM_SUCCESS) + { +- return pam_rc; ++ pam_end(phandle, 0); ++ closelog(); ++ openlog("cimserver", LOG_PID, LOG_DAEMON); ++ syslog(LOG_ERR, "pam_set_item(PAM_TTY=wbemLocal) failed: %s", pam_strerror(phandle, pam_rc)); ++ return -1; + } + +- pam_rc = pam_acct_mgmt(phandle, 0); ++ if ((pam_rc = pam_acct_mgmt(phandle, 0)) != PAM_SUCCESS) ++ { ++ pam_end(phandle, 0); ++ closelog(); ++ openlog("cimserver", LOG_PID, LOG_DAEMON); ++ syslog(LOG_ERR, "pam_acct_mgmt() failed: %s", pam_strerror(phandle, pam_rc)); ++ return -1; ++ } + + pam_end(phandle, 0); +- return pam_rc; ++ return 0; + } + + /* +@@ -474,12 +525,12 @@ static int PAMValidateUserInProcess(cons + **============================================================================== + */ + +-static int PAMAuthenticate(const char* username, const char* password) ++static int PAMAuthenticate(const char* username, const char* password, const Boolean isRemoteUser) + { + #ifdef PEGASUS_USE_PAM_STANDALONE_PROC + return CimserveraProcessOperation("authenticate", username, password); + #else +- return PAMAuthenticateInProcess(username, password); ++ return PAMAuthenticateInProcess(username, password, isRemoteUser); + #endif + } + +diff -up pegasus/src/Executor/Parent.c.orig pegasus/src/Executor/Parent.c +--- pegasus/src/Executor/Parent.c.orig 2015-03-31 14:57:37.595034076 +0200 ++++ pegasus/src/Executor/Parent.c 2015-03-31 14:58:11.034176796 +0200 +@@ -634,7 +634,7 @@ static void HandleAuthenticatePasswordRe + + #if defined(PEGASUS_PAM_AUTHENTICATION) + +- status = PAMAuthenticate(request.username, request.password); ++ status = PAMAuthenticate(request.username, request.password, request.isRemoteUser); + + if (status == PAM_SUCCESS) + { +diff -up pegasus/src/Executor/tests/PAMAuth/TestExecutorPAMAuth.c.orig pegasus/src/Executor/tests/PAMAuth/TestExecutorPAMAuth.c +--- pegasus/src/Executor/tests/PAMAuth/TestExecutorPAMAuth.c.orig 2015-03-31 14:58:30.460259707 +0200 ++++ pegasus/src/Executor/tests/PAMAuth/TestExecutorPAMAuth.c 2015-03-31 14:58:55.882368210 +0200 +@@ -49,7 +49,7 @@ int main() + sprintf(prompt, "Enter password for %s: ", PEGASUS_CIMSERVERMAIN_USER); + pw = getpass(prompt); + +- if (PAMAuthenticate(PEGASUS_CIMSERVERMAIN_USER, pw) == 0) ++ if (PAMAuthenticate(PEGASUS_CIMSERVERMAIN_USER, pw, 0) == 0) + printf("Correct password\n"); + else + printf("Wrong password\n"); +diff -up pegasus/src/Pegasus/Common/AuthenticationInfo.h.orig pegasus/src/Pegasus/Common/AuthenticationInfo.h +--- pegasus/src/Pegasus/Common/AuthenticationInfo.h.orig 2015-03-31 14:59:10.875432201 +0200 ++++ pegasus/src/Pegasus/Common/AuthenticationInfo.h 2015-03-31 15:00:03.130655230 +0200 +@@ -348,6 +348,22 @@ public: + _rep->setAuthHandle(authHandle); + } + ++ /** Indicate whether the user is Remote ++ */ ++ Boolean isRemoteUser() const ++ { ++ CheckRep(_rep); ++ return _rep->isRemoteUser(); ++ } ++ ++ /** Set the Remote User flag ++ */ ++ void setRemoteUser(Boolean isRemoteUser) ++ { ++ CheckRep(_rep); ++ _rep->setRemoteUser(isRemoteUser); ++ } ++ + AuthHandle getAuthHandle() + { + CheckRep(_rep); +diff -up pegasus/src/Pegasus/Common/AuthenticationInfoRep.cpp.orig pegasus/src/Pegasus/Common/AuthenticationInfoRep.cpp +--- pegasus/src/Pegasus/Common/AuthenticationInfoRep.cpp.orig 2015-03-31 15:00:26.267753980 +0200 ++++ pegasus/src/Pegasus/Common/AuthenticationInfoRep.cpp 2015-03-31 15:01:53.018124238 +0200 +@@ -48,6 +48,7 @@ const String AuthenticationInfoRep::AUTH + AuthenticationInfoRep::AuthenticationInfoRep() + : _connectionAuthenticated(false), + _wasRemotePrivilegedUserAccessChecked(false), ++ _isRemoteUser(true), + _authHandle(), + _isExpiredPassword(false) + #ifdef PEGASUS_ENABLE_SESSION_COOKIES +@@ -86,6 +87,16 @@ AuthenticationInfoRep::~AuthenticationIn + + PEG_METHOD_EXIT(); + } ++ ++void AuthenticationInfoRep::setRemoteUser(Boolean isRemoteUser) ++{ ++ PEG_METHOD_ENTER(TRC_AUTHENTICATION, ++ "AuthenticationInfoRep::setRemoteUser"); ++ ++ _isRemoteUser = isRemoteUser; ++ ++ PEG_METHOD_EXIT(); ++} + + void AuthenticationInfoRep::setConnectionAuthenticated( + Boolean connectionAuthenticated) +diff -up pegasus/src/Pegasus/Common/AuthenticationInfoRep.h.orig pegasus/src/Pegasus/Common/AuthenticationInfoRep.h +--- pegasus/src/Pegasus/Common/AuthenticationInfoRep.h.orig 2015-03-31 15:02:17.868230300 +0200 ++++ pegasus/src/Pegasus/Common/AuthenticationInfoRep.h 2015-03-31 15:03:53.065636608 +0200 +@@ -148,6 +148,13 @@ public: + } + #endif //PEGASUS_NEGOTIATE_AUTHENTICATION + ++ Boolean isRemoteUser() const ++ { ++ return _isRemoteUser; ++ } ++ ++ void setRemoteUser(Boolean isRemoteUser); ++ + Array getClientCertificateChain() + { + return _clientCertificate; +@@ -233,6 +240,8 @@ private: + + Array _clientCertificate; + ++ Boolean _isRemoteUser; ++ + AuthHandle _authHandle; + String _userRole; + Boolean _isExpiredPassword; +diff -up pegasus/src/Pegasus/Common/Executor.cpp.orig pegasus/src/Pegasus/Common/Executor.cpp +--- pegasus/src/Pegasus/Common/Executor.cpp.orig 2015-03-31 15:04:10.843712487 +0200 ++++ pegasus/src/Pegasus/Common/Executor.cpp 2015-03-31 15:08:16.953762900 +0200 +@@ -126,7 +126,8 @@ public: + + virtual int authenticatePassword( + const char* username, +- const char* password) = 0; ++ const char* password, ++ Boolean isRemoteUser) = 0; + + virtual int validateUser( + const char* username) = 0; +@@ -562,9 +563,10 @@ public: + #if defined(PEGASUS_PAM_AUTHENTICATION) + virtual int authenticatePassword( + const char* username, +- const char* password) ++ const char* password, ++ Boolean isRemoteUser) + { +- return PAMAuthenticate(username, password); ++ return PAMAuthenticate(username, password, isRemoteUser); + } + + virtual int validateUser( +@@ -912,7 +914,8 @@ public: + + virtual int authenticatePassword( + const char* username, +- const char* password) ++ const char* password, ++ Boolean isRemoteUser) + { + AutoMutex autoMutex(_mutex); + +@@ -930,6 +933,7 @@ public: + memset(&request, 0, sizeof(request)); + Strlcpy(request.username, username, EXECUTOR_BUFFER_SIZE); + Strlcpy(request.password, password, EXECUTOR_BUFFER_SIZE); ++ request.isRemoteUser = isRemoteUser; + + if (SendBlock(_sock, &request, sizeof(request)) != sizeof(request)) + return -1; +@@ -1181,10 +1185,11 @@ int Executor::reapProviderAgent( + + int Executor::authenticatePassword( + const char* username, +- const char* password) ++ const char* password, ++ Boolean isRemoteUser) + { + once(&_executorImplOnce, _initExecutorImpl); +- return _executorImpl->authenticatePassword(username, password); ++ return _executorImpl->authenticatePassword(username, password, isRemoteUser); + } + + int Executor::validateUser( +diff -up pegasus/src/Pegasus/Common/Executor.h.orig pegasus/src/Pegasus/Common/Executor.h +--- pegasus/src/Pegasus/Common/Executor.h.orig 2015-03-31 15:08:26.668804365 +0200 ++++ pegasus/src/Pegasus/Common/Executor.h 2015-03-31 15:08:46.535889158 +0200 +@@ -184,7 +184,8 @@ public: + */ + static int authenticatePassword( + const char* username, +- const char* password); ++ const char* password, ++ Boolean isRemoteUser); + + /** Check whether the given user is valid for the underlying authentcation + mechanism. +diff -up pegasus/src/Pegasus/Common/HTTPConnection.cpp.orig pegasus/src/Pegasus/Common/HTTPConnection.cpp +--- pegasus/src/Pegasus/Common/HTTPConnection.cpp.orig 2015-03-31 15:09:05.706970982 +0200 ++++ pegasus/src/Pegasus/Common/HTTPConnection.cpp 2015-03-31 15:10:08.472238867 +0200 +@@ -2295,6 +2295,70 @@ void HTTPConnection::_handleReadEvent() + message->contentLanguages = contentLanguages; + message->dest = _outputMessageQueue->getQueueId(); + ++ // Allow authenticators to differentiate Remote and Local users: ++ struct sockaddr_storage sin_peer, sin_svr; ++ socklen_t slen1 = sizeof (struct sockaddr_storage), slen2 = sizeof (struct sockaddr_storage); ++ uint32_t sock = _socket.get()->getSocket() ; ++ memset(&sin_peer,'\0',slen1); ++ memset(&sin_svr, '\0',slen2); ++ if ( ( ::getpeername( sock, (struct sockaddr*)&sin_peer, &slen1) == 0 ) ++ ||( ::getsockname( sock, (struct sockaddr*)&sin_svr, &slen2) == 0 ) ++ ) ++ { ++ PEG_TRACE((TRC_HTTP, Tracer::LEVEL4, ++ "sin_peer.ss_family: %d", ++ sin_peer.ss_family)); ++ if( sin_peer.ss_family == AF_INET ) ++ { ++ struct sockaddr_in *s = (struct sockaddr_in *)&sin_peer; ++ if( ((ntohl( s->sin_addr.s_addr ) >> 24) & 0xff) == 127 ) ++ // message was sent FROM localhost interface ++ message->isFromRemoteHost = false; ++ } ++ if( sin_peer.ss_family == AF_INET6 ) ++ { ++ char straddr[INET6_ADDRSTRLEN]; ++ struct sockaddr_in6 *s = (struct sockaddr_in6 *)&sin_peer; ++ static const unsigned char localhost_bytes[] = ++ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1 }; ++ inet_ntop(AF_INET6, &s->sin6_addr, straddr, sizeof(straddr)); ++ PEG_TRACE((TRC_HTTP, Tracer::LEVEL4, ++ "Peer IP address: %s", ++ straddr)); ++ if(memcmp(s->sin6_addr.s6_addr, localhost_bytes, 16) == 0) ++ // message was sent FROM localhost interface ++ message->isFromRemoteHost = false; ++ } ++ PEG_TRACE((TRC_HTTP, Tracer::LEVEL4, ++ "sin_svr.ss_family: %d", ++ sin_svr.ss_family)); ++ if( sin_svr.ss_family == AF_INET ) ++ { ++ struct sockaddr_in *s = (struct sockaddr_in *)&sin_svr; ++ if( ((ntohl( s->sin_addr.s_addr ) >> 24) & 0xff) == 127 ) ++ // message was sent TO localhost interface ++ message->isFromRemoteHost = false; ++ } ++ if( sin_svr.ss_family == AF_INET6 ) ++ { ++ char straddr[INET6_ADDRSTRLEN]; ++ struct sockaddr_in6 *s = (struct sockaddr_in6 *)&sin_svr; ++ static const unsigned char localhost_bytes[] = ++ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1 }; ++ inet_ntop(AF_INET6, &s->sin6_addr, straddr, sizeof(straddr)); ++ PEG_TRACE((TRC_HTTP, Tracer::LEVEL4, ++ "svr IP address: %s", ++ straddr)); ++ if(memcmp(s->sin6_addr.s6_addr, localhost_bytes, 16) == 0) ++ // message was sent TO localhost interface ++ message->isFromRemoteHost = false; ++ } ++ } ++ ++ PEG_TRACE((TRC_HTTP, Tracer::LEVEL4, ++ "isFromRemoteHost: %d", ++ message->isFromRemoteHost)); ++ + // + // The _closeConnection method sets the _connectionClosePending flag. + // If we are executing on the client side and the +diff -up pegasus/src/Pegasus/Common/HTTPMessage.cpp.orig pegasus/src/Pegasus/Common/HTTPMessage.cpp +--- pegasus/src/Pegasus/Common/HTTPMessage.cpp.orig 2015-03-31 15:10:32.186340162 +0200 ++++ pegasus/src/Pegasus/Common/HTTPMessage.cpp 2015-03-31 15:11:00.008459185 +0200 +@@ -133,7 +133,8 @@ HTTPMessage::HTTPMessage( + authInfo(0), + acceptLanguagesDecoded(false), + contentLanguagesDecoded(false), +- binaryResponse(false) ++ binaryResponse(false), ++ isFromRemoteHost(true) + { + if (cimException_) + cimException = *cimException_; +diff -up pegasus/src/Pegasus/Common/HTTPMessage.h.orig pegasus/src/Pegasus/Common/HTTPMessage.h +--- pegasus/src/Pegasus/Common/HTTPMessage.h.orig 2015-03-31 15:11:13.706517786 +0200 ++++ pegasus/src/Pegasus/Common/HTTPMessage.h 2015-03-31 15:11:33.528602586 +0200 +@@ -73,6 +73,7 @@ public: + ContentLanguageList contentLanguages; + Boolean acceptLanguagesDecoded; + Boolean contentLanguagesDecoded; ++ Boolean isFromRemoteHost; + CIMException cimException; + bool binaryResponse; + +diff -up pegasus/src/Pegasus/Common/tests/Executor/TestExecutor.cpp.orig pegasus/src/Pegasus/Common/tests/Executor/TestExecutor.cpp +--- pegasus/src/Pegasus/Common/tests/Executor/TestExecutor.cpp.orig 2015-03-31 15:11:50.617675692 +0200 ++++ pegasus/src/Pegasus/Common/tests/Executor/TestExecutor.cpp 2015-03-31 15:12:49.031925589 +0200 +@@ -76,7 +76,7 @@ void testExecutorLoopbackImpl() + #endif + + PEGASUS_TEST_ASSERT(Executor::authenticatePassword( +- "xnonexistentuserx", "wrongpassword") != 0); ++ "xnonexistentuserx", "wrongpassword", true) != 0); + PEGASUS_TEST_ASSERT(Executor::validateUser("xnonexistentuserx") != 0); + + char challengeFilePath[EXECUTOR_BUFFER_SIZE]; +@@ -115,7 +115,7 @@ void testExecutorSocketImpl() + PEGASUS_TEST_ASSERT(Executor::reapProviderAgent(123) == 0); + + PEGASUS_TEST_ASSERT(Executor::authenticatePassword( +- "xnonexistentuserx", "wrongpassword") == -1); ++ "xnonexistentuserx", "wrongpassword", true) == -1); + PEGASUS_TEST_ASSERT(Executor::validateUser("xnonexistentuserx") == -1); + + char challengeFilePath[EXECUTOR_BUFFER_SIZE]; +diff -up pegasus/src/Pegasus/Security/Authentication/BasicAuthenticationHandler.cpp.orig pegasus/src/Pegasus/Security/Authentication/BasicAuthenticationHandler.cpp +--- pegasus/src/Pegasus/Security/Authentication/BasicAuthenticationHandler.cpp.orig 2015-03-31 15:12:58.057964203 +0200 ++++ pegasus/src/Pegasus/Security/Authentication/BasicAuthenticationHandler.cpp 2015-03-31 15:13:19.591056322 +0200 +@@ -159,6 +159,7 @@ AuthenticationStatus BasicAuthentication + _basicAuthenticator->authenticate( + userName, + password, ++ authInfo->isRemoteUser(), + authInfo); + + // Log audit message. +diff -up pegasus/src/Pegasus/Security/Authentication/BasicAuthenticator.h.orig pegasus/src/Pegasus/Security/Authentication/BasicAuthenticator.h +--- pegasus/src/Pegasus/Security/Authentication/BasicAuthenticator.h.orig 2015-03-31 15:13:32.889113211 +0200 ++++ pegasus/src/Pegasus/Security/Authentication/BasicAuthenticator.h 2015-03-31 15:13:51.240191720 +0200 +@@ -65,6 +65,7 @@ public: + virtual AuthenticationStatus authenticate( + const String& userName, + const String& password, ++ Boolean isRemoteUser, + AuthenticationInfo* authInfo) = 0; + + /** Construct and return the HTTP Basic authentication challenge header +diff -up pegasus/src/Pegasus/Security/Authentication/PAMBasicAuthenticator.h.orig pegasus/src/Pegasus/Security/Authentication/PAMBasicAuthenticator.h +--- pegasus/src/Pegasus/Security/Authentication/PAMBasicAuthenticator.h.orig 2015-03-31 15:14:04.185247096 +0200 ++++ pegasus/src/Pegasus/Security/Authentication/PAMBasicAuthenticator.h 2015-03-31 15:14:20.391316426 +0200 +@@ -54,6 +54,7 @@ public: + AuthenticationStatus authenticate( + const String& userName, + const String& password, ++ Boolean isRemoteUser, + AuthenticationInfo* authInfo); + + AuthenticationStatus validateUser( +diff -up pegasus/src/Pegasus/Security/Authentication/PAMBasicAuthenticatorStub.cpp.orig pegasus/src/Pegasus/Security/Authentication/PAMBasicAuthenticatorStub.cpp +--- pegasus/src/Pegasus/Security/Authentication/PAMBasicAuthenticatorStub.cpp.orig 2015-03-31 15:14:32.937370098 +0200 ++++ pegasus/src/Pegasus/Security/Authentication/PAMBasicAuthenticatorStub.cpp 2015-03-31 15:14:52.631454350 +0200 +@@ -74,6 +74,7 @@ PAMBasicAuthenticator::~PAMBasicAuthenti + AuthenticationStatus PAMBasicAuthenticator::authenticate( + const String& userName, + const String& password, ++ Boolean isRemoteUser, + AuthenticationInfo* authInfo) + { + PEG_METHOD_ENTER(TRC_AUTHENTICATION, +diff -up pegasus/src/Pegasus/Security/Authentication/PAMBasicAuthenticatorUnix.cpp.orig pegasus/src/Pegasus/Security/Authentication/PAMBasicAuthenticatorUnix.cpp +--- pegasus/src/Pegasus/Security/Authentication/PAMBasicAuthenticatorUnix.cpp.orig 2015-03-31 15:15:08.521522327 +0200 ++++ pegasus/src/Pegasus/Security/Authentication/PAMBasicAuthenticatorUnix.cpp 2015-03-31 15:15:49.255696589 +0200 +@@ -66,6 +66,7 @@ PAMBasicAuthenticator::~PAMBasicAuthenti + AuthenticationStatus PAMBasicAuthenticator::authenticate( + const String& userName, + const String& password, ++ Boolean isRemoteUser, + AuthenticationInfo* authInfo) + { + PEG_METHOD_ENTER(TRC_AUTHENTICATION, +@@ -74,7 +75,8 @@ AuthenticationStatus PAMBasicAuthenticat + int pam_rc = + Executor::authenticatePassword( + userName.getCString(), +- password.getCString()); ++ password.getCString(), ++ isRemoteUser); + + // return code of -1 will be translated to AUTHSC_UNAUTHORIZED + AuthenticationStatus authStatus = _getAuthStatusFromPAM_RC(pam_rc); +diff -up pegasus/src/Pegasus/Security/Authentication/SecureBasicAuthenticator.cpp.orig pegasus/src/Pegasus/Security/Authentication/SecureBasicAuthenticator.cpp +--- pegasus/src/Pegasus/Security/Authentication/SecureBasicAuthenticator.cpp.orig 2015-03-31 15:16:03.097755805 +0200 ++++ pegasus/src/Pegasus/Security/Authentication/SecureBasicAuthenticator.cpp 2015-03-31 15:16:24.758848473 +0200 +@@ -239,7 +239,7 @@ AuthenticationStatus SecureBasicAuthenti + if (Executor::detectExecutor() == 0) + { + if (Executor::authenticatePassword( +- userName.getCString(), password.getCString()) == 0) ++ userName.getCString(), password.getCString(), true) == 0) + { + authenticated = true; + } +diff -up pegasus/src/Pegasus/Server/HTTPAuthenticatorDelegator.cpp.orig pegasus/src/Pegasus/Server/HTTPAuthenticatorDelegator.cpp +--- pegasus/src/Pegasus/Server/HTTPAuthenticatorDelegator.cpp.orig 2015-03-31 15:16:39.848913028 +0200 ++++ pegasus/src/Pegasus/Server/HTTPAuthenticatorDelegator.cpp 2015-03-31 15:17:21.079089410 +0200 +@@ -431,6 +431,9 @@ void HTTPAuthenticatorDelegator::handleH + Tracer::LEVEL3, + "HTTPAuthenticatorDelegator - Authentication processing start"); + ++ // Let Authenticators know whether this user is Local or Remote: ++ httpMessage->authInfo->setRemoteUser( httpMessage->isFromRemoteHost ); ++ + // + // Handle authentication: + // diff --git a/SOURCES/pegasus-2.9.0-no-rpath.patch b/SOURCES/pegasus-2.9.0-no-rpath.patch new file mode 100644 index 0000000..6a98f30 --- /dev/null +++ b/SOURCES/pegasus-2.9.0-no-rpath.patch @@ -0,0 +1,62 @@ +diff -up pegasus/mak/program-unix.mak.orig pegasus/mak/program-unix.mak +--- pegasus/mak/program-unix.mak.orig 2012-10-08 12:19:55.965024675 +0200 ++++ pegasus/mak/program-unix.mak 2012-10-08 12:21:02.378355115 +0200 +@@ -28,19 +28,10 @@ + #////////////////////////////////////////////////////////////////////////// + INCLUDES = -I$(ROOT)/src $(EXTRA_INCLUDES) + +-ifndef LINK_RPATH +- LINK_RPATH = -Xlinker -rpath +-endif +- + LINK_DEST_LIB = -Xlinker $(PEGASUS_DEST_LIB_DIR) + + LINK_LIB_DIR = -Xlinker $(LIB_DIR) + +-ifndef LINK_RPATH_LINK +- LINK_RPATH_LINK = -Xlinker -rpath-link +-endif +- +- + TMP_OBJECTS = $(foreach i,$(SOURCES),$(OBJ_DIR)/$i) + + S_OBJECTS = $(TMP_OBJECTS:.s=.o) +@@ -52,15 +43,9 @@ FULL_PROGRAM=$(BIN_DIR)/$(PROGRAM)$(EXE) + EXE_OUTPUT = $(EXE_OUT) $(FULL_PROGRAM) + + ifdef PEGASUS_PLATFORM_LINUX_GENERIC_GNU +- ifdef PEGASUS_USE_RELEASE_DIRS +- EXTRA_LINK_FLAGS += $(LINK_RPATH) $(LINK_DEST_LIB) $(LINK_RPATH_LINK) $(LINK_LIB_DIR) +- else +- EXTRA_LINK_FLAGS += $(LINK_RPATH) $(LINK_LIB_DIR) +- endif +- + ifeq ($(HAS_ICU_DEPENDENCY),true) + ifdef ICU_INSTALL +- EXTRA_LINK_FLAGS += $(LINK_RPATH) -Xlinker ${ICU_INSTALL}/lib ++ EXTRA_LINK_FLAGS += -Xlinker ${ICU_INSTALL}/lib + endif + endif + endif +diff -up pegasus/mak/shared-library-unix.mak.orig pegasus/mak/shared-library-unix.mak +--- pegasus/mak/shared-library-unix.mak.orig 2012-10-08 12:21:15.279419276 +0200 ++++ pegasus/mak/shared-library-unix.mak 2012-10-08 12:22:32.715804612 +0200 +@@ -98,15 +98,14 @@ ifeq ($(COMPILER),gnu) + ifneq ($(OS),darwin) + ifdef PEGASUS_USE_RELEASE_DIRS + LINK_COMMAND = $(CXX) -shared $(LINK_MACHINE_OPTIONS) +- LINK_ARGUMENTS = -Wl,-hlib$(LIBRARY)$(LIB_SUFFIX) -Xlinker -rpath \ +- -Xlinker $(PEGASUS_DEST_LIB_DIR) $(EXTRA_LINK_ARGUMENTS) ++ LINK_ARGUMENTS = -Wl,-hlib$(LIBRARY)$(LIB_SUFFIX) $(EXTRA_LINK_ARGUMENTS) + else + LINK_COMMAND = $(CXX) -shared $(LINK_MACHINE_OPTIONS) +- LINK_ARGUMENTS = -Wl,-hlib$(LIBRARY)$(LIB_SUFFIX) -Xlinker -rpath -Xlinker $(LIB_DIR) $(EXTRA_LINK_ARGUMENTS) ++ LINK_ARGUMENTS = -Wl,-hlib$(LIBRARY)$(LIB_SUFFIX) $(EXTRA_LINK_ARGUMENTS) + endif + else + LINK_COMMAND = $(CXX) -dynamiclib +- LINK_ARGUMENTS = --helplib$(LIBRARY)$(LIB_SUFFIX) -ldl ++ LINK_ARGUMENTS = --helplib$(LIBRARY)$(LIB_SUFFIX) -ldl $(EXTRA_LINK_ARGUMENTS) + endif + ifeq ($(PEGASUS_PLATFORM), SOLARIS_SPARC_GNU) + LINK_ARGUMENTS = -Wl,-hlib$(LIBRARY)$(LIB_SUFFIX) -Xlinker -L$(LIB_DIR) $(EXTRA_LINK_ARGUMENTS) diff --git a/SOURCES/pegasus-2.9.0-redhat-config.patch b/SOURCES/pegasus-2.9.0-redhat-config.patch new file mode 100644 index 0000000..2829a32 --- /dev/null +++ b/SOURCES/pegasus-2.9.0-redhat-config.patch @@ -0,0 +1,38 @@ +diff -up pegasus/env_var_Linux.status.redhat-config pegasus/env_var_Linux.status +--- pegasus/env_var_Linux.status.redhat-config 2015-04-01 00:41:07.000000000 +0200 ++++ pegasus/env_var_Linux.status 2015-05-26 13:05:21.021110656 +0200 +@@ -25,18 +25,21 @@ PEGASUS_HAS_SSL=yes + PEGASUS_USE_SSL_RANDOMFILE=false + PEGASUS_NOASSERTS=yes + PEGASUS_PAM_AUTHENTICATION=true +-PEGASUS_USE_PAM_STANDALONE_PROC=true + PEGASUS_USE_RELEASE_CONFIG_OPTIONS=true + PEGASUS_USE_RELEASE_DIRS=true + PEGASUS_USE_SYSLOGS=true +-PEGASUS_CIM_SCHEMA=CIM241 ++PEGASUS_CIM_SCHEMA=CIM238 + PEGASUS_USE_NET_SNMP=true +-PEGASUS_ENABLE_PRIVILEGE_SEPARATION=true ++PEGASUS_ENABLE_PRIVILEGE_SEPARATION=false ++ ++PEGASUS_ENABLE_EXECQUERY=true ++PEGASUS_DEFAULT_ENABLE_OOP=true ++PEGASUS_INTEROP_NAMESPACE=root/interop + + PEGASUS_ENABLE_INTEROP_PROVIDER=true + PEGASUS_ENABLE_PROTOCOL_WSMAN=true + +-PEGASUS_ENABLE_SLP=false ++PEGASUS_ENABLE_SLP=true + ifeq ($(PEGASUS_ENABLE_SLP), true) + PEGASUS_SLP_REG_TIMEOUT=1090 + PEGASUS_USE_EXTERNAL_SLP=openslp +@@ -126,7 +129,7 @@ PEGASUS_INSTALL_LOG = $(PEGASUS_LOG_DIR) + + PEGASUS_CIMSERVER_START_FILE = $(PEGASUS_VARRUN_DIR)/cimserver.pid + PEGASUS_CIMSERVER_START_LOCK_FILE = $(PEGASUS_VARRUN_DIR)/cimserver_start.lock +-PEGASUS_LOCAL_DOMAIN_SOCKET_DIR = $(PEGASUS_VARRUN_DIR)/socket ++PEGASUS_LOCAL_DOMAIN_SOCKET_DIR = $(PEGASUS_VARRUN_DIR) + PEGASUS_LOCAL_DOMAIN_SOCKET_PATH = \ + $(PEGASUS_LOCAL_DOMAIN_SOCKET_DIR)/cimxml.socket + diff --git a/SOURCES/pegasus-2.9.0-sparc.patch b/SOURCES/pegasus-2.9.0-sparc.patch new file mode 100644 index 0000000..a5675b6 --- /dev/null +++ b/SOURCES/pegasus-2.9.0-sparc.patch @@ -0,0 +1,460 @@ +diff -up pegasus/mak/config-linux.mak.orig pegasus/mak/config-linux.mak +--- pegasus/mak/config-linux.mak.orig 2013-08-27 14:26:51.229234756 +0200 ++++ pegasus/mak/config-linux.mak 2013-08-27 14:27:23.467354043 +0200 +@@ -176,6 +176,9 @@ ifndef PEGASUS_ARCH_LIB + ifeq ($(PEGASUS_PLATFORM),LINUX_X86_64_CLANG) + PEGASUS_ARCH_LIB = lib64 + endif ++ ifeq ($(PEGASUS_PLATFORM),LINUX_SPARC64_GNU) ++ PEGASUS_ARCH_LIB = lib64 ++ endif + PEGASUS_ARCH_LIB = lib + endif + DEFINES += -DPEGASUS_ARCH_LIB=\"$(PEGASUS_ARCH_LIB)\" +diff -up pegasus/mak/platform_LINUX_SPARC64_GNU.mak.orig pegasus/mak/platform_LINUX_SPARC64_GNU.mak +--- pegasus/mak/platform_LINUX_SPARC64_GNU.mak.orig 2013-08-27 14:27:56.748477172 +0200 ++++ pegasus/mak/platform_LINUX_SPARC64_GNU.mak 2013-08-27 14:28:42.522646515 +0200 +@@ -0,0 +1,36 @@ ++#//%2006//////////////////////////////////////////////////////////////////////// ++#// ++#// Copyright (c) 2000, 2001, 2002 BMC Software; Hewlett-Packard Development ++#// Company, L.P.; IBM Corp.; The Open Group; Tivoli Systems. ++#// Copyright (c) 2003 BMC Software; Hewlett-Packard Development Company, L.P.; ++#// IBM Corp.; EMC Corporation, The Open Group. ++#// Copyright (c) 2004 BMC Software; Hewlett-Packard Development Company, L.P.; ++#// IBM Corp.; EMC Corporation; VERITAS Software Corporation; The Open Group. ++#// Copyright (c) 2005 Hewlett-Packard Development Company, L.P.; IBM Corp.; ++#// EMC Corporation; VERITAS Software Corporation; The Open Group. ++#// Copyright (c) 2006 Hewlett-Packard Development Company, L.P.; IBM Corp.; ++#// EMC Corporation; Symantec Corporation; The Open Group. ++#// ++#// Permission is hereby granted, free of charge, to any person obtaining a copy ++#// of this software and associated documentation files (the "Software"), to ++#// deal in the Software without restriction, including without limitation the ++#// rights to use, copy, modify, merge, publish, distribute, sublicense, and/or ++#// sell copies of the Software, and to permit persons to whom the Software is ++#// furnished to do so, subject to the following conditions: ++#// ++#// THE ABOVE COPYRIGHT NOTICE AND THIS PERMISSION NOTICE SHALL BE INCLUDED IN ++#// ALL COPIES OR SUBSTANTIAL PORTIONS OF THE SOFTWARE. THE SOFTWARE IS PROVIDED ++#// "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT ++#// LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR ++#// PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT ++#// HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ++#// ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION ++#// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ++#// ++#//============================================================================== ++# Platform Configuration for Linux on PPC ++# If you have generic Linux config options, please place them in config-linux.mak ++ ++include $(ROOT)/mak/config-linux.mak ++ ++ARCHITECTURE = sparc +diff -up pegasus/mak/platform_LINUX_SPARCV9_GNU.mak.orig pegasus/mak/platform_LINUX_SPARCV9_GNU.mak +--- pegasus/mak/platform_LINUX_SPARCV9_GNU.mak.orig 2013-08-27 14:29:02.011718625 +0200 ++++ pegasus/mak/platform_LINUX_SPARCV9_GNU.mak 2013-08-27 14:29:28.282815781 +0200 +@@ -0,0 +1,36 @@ ++#//%2006//////////////////////////////////////////////////////////////////////// ++#// ++#// Copyright (c) 2000, 2001, 2002 BMC Software; Hewlett-Packard Development ++#// Company, L.P.; IBM Corp.; The Open Group; Tivoli Systems. ++#// Copyright (c) 2003 BMC Software; Hewlett-Packard Development Company, L.P.; ++#// IBM Corp.; EMC Corporation, The Open Group. ++#// Copyright (c) 2004 BMC Software; Hewlett-Packard Development Company, L.P.; ++#// IBM Corp.; EMC Corporation; VERITAS Software Corporation; The Open Group. ++#// Copyright (c) 2005 Hewlett-Packard Development Company, L.P.; IBM Corp.; ++#// EMC Corporation; VERITAS Software Corporation; The Open Group. ++#// Copyright (c) 2006 Hewlett-Packard Development Company, L.P.; IBM Corp.; ++#// EMC Corporation; Symantec Corporation; The Open Group. ++#// ++#// Permission is hereby granted, free of charge, to any person obtaining a copy ++#// of this software and associated documentation files (the "Software"), to ++#// deal in the Software without restriction, including without limitation the ++#// rights to use, copy, modify, merge, publish, distribute, sublicense, and/or ++#// sell copies of the Software, and to permit persons to whom the Software is ++#// furnished to do so, subject to the following conditions: ++#// ++#// THE ABOVE COPYRIGHT NOTICE AND THIS PERMISSION NOTICE SHALL BE INCLUDED IN ++#// ALL COPIES OR SUBSTANTIAL PORTIONS OF THE SOFTWARE. THE SOFTWARE IS PROVIDED ++#// "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT ++#// LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR ++#// PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT ++#// HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ++#// ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION ++#// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ++#// ++#//============================================================================== ++# Platform Configuration for Linux on PPC ++# If you have generic Linux config options, please place them in config-linux.mak ++ ++include $(ROOT)/mak/config-linux.mak ++ ++ARCHITECTURE = sparc +diff -up pegasus/mak/SDKMakefile.orig pegasus/mak/SDKMakefile +--- pegasus/mak/SDKMakefile.orig 2013-08-27 14:29:46.108881720 +0200 ++++ pegasus/mak/SDKMakefile 2013-08-27 14:32:18.170444052 +0200 +@@ -510,6 +510,18 @@ ifeq ($(RUNTIME_PLATFORM_TEST_NEEDED), t + >> $(PEGASUS_STAGING_DIR)$(PEGASUS_SAMPLES_DIR)/mak/config.mak + @$(ECHO-E) " endif" \ + >> $(PEGASUS_STAGING_DIR)$(PEGASUS_SAMPLES_DIR)/mak/config.mak ++ @$(ECHO-E) " ifeq (\044(shell uname -i),sparc)" \ ++ >> $(PEGASUS_STAGING_DIR)$(PEGASUS_SAMPLES_DIR)/mak/config.mak ++ @$(ECHO-E) " PEGASUS_PLATFORM = LINUX_SPARCV9_GNU" \ ++ >> $(PEGASUS_STAGING_DIR)$(PEGASUS_SAMPLES_DIR)/mak/config.mak ++ @$(ECHO-E) " endif" \ ++ >> $(PEGASUS_STAGING_DIR)$(PEGASUS_SAMPLES_DIR)/mak/config.mak ++ @$(ECHO-E) " ifeq (\044(shell uname -i),sparc64)" \ ++ >> $(PEGASUS_STAGING_DIR)$(PEGASUS_SAMPLES_DIR)/mak/config.mak ++ @$(ECHO-E) " PEGASUS_PLATFORM = LINUX_SPARC64_GNU" \ ++ >> $(PEGASUS_STAGING_DIR)$(PEGASUS_SAMPLES_DIR)/mak/config.mak ++ @$(ECHO-E) " endif" \ ++ >> $(PEGASUS_STAGING_DIR)$(PEGASUS_SAMPLES_DIR)/mak/config.mak + else + $(error This SDK has been defined to include the following \ + platforms: $(PACKAGED_PLATFORM_FILES). \ +@@ -594,6 +606,18 @@ ifeq ($(RUNTIME_PLATFORM_TEST_NEEDED), t + @$(ECHO-E) "endif" \ + >> $(PEGASUS_STAGING_DIR)$(PEGASUS_SAMPLES_DIR)/mak/config.mak + ++ @$(ECHO-E) "ifeq (\044(PEGASUS_PLATFORM),LINUX_SPARCV9_GNU)" \ ++ >> $(PEGASUS_STAGING_DIR)$(PEGASUS_SAMPLES_DIR)/mak/config.mak ++ @$(ECHO-E) " PEGASUS_ARCH_LIB = lib" \ ++ >> $(PEGASUS_STAGING_DIR)$(PEGASUS_SAMPLES_DIR)/mak/config.mak ++ @$(ECHO-E) "endif" \ ++ >> $(PEGASUS_STAGING_DIR)$(PEGASUS_SAMPLES_DIR)/mak/config.mak ++ @$(ECHO-E) "ifeq (\044(PEGASUS_PLATFORM),LINUX_SPARC64_GNU)" \ ++ >> $(PEGASUS_STAGING_DIR)$(PEGASUS_SAMPLES_DIR)/mak/config.mak ++ @$(ECHO-E) " PEGASUS_ARCH_LIB = lib64" \ ++ >> $(PEGASUS_STAGING_DIR)$(PEGASUS_SAMPLES_DIR)/mak/config.mak ++ @$(ECHO-E) "endif" \ ++ >> $(PEGASUS_STAGING_DIR)$(PEGASUS_SAMPLES_DIR)/mak/config.mak + else + $(error This SDK has been defined to include the following \ + platforms: $(PACKAGED_PLATFORM_FILES). \ +diff -up pegasus/src/Pegasus/Common/Config.h.orig pegasus/src/Pegasus/Common/Config.h +--- pegasus/src/Pegasus/Common/Config.h.orig 2013-08-27 14:32:34.763505395 +0200 ++++ pegasus/src/Pegasus/Common/Config.h 2013-08-27 14:33:05.402618625 +0200 +@@ -82,6 +82,10 @@ + # include + #elif defined (PEGASUS_PLATFORM_LINUX_PPC_E500_GNU) + # include ++#elif defined (PEGASUS_PLATFORM_LINUX_SPARCV9_GNU) ++# include ++#elif defined (PEGASUS_PLATFORM_LINUX_SPARC64_GNU) ++# include + #elif defined (PEGASUS_PLATFORM_LINUX_ZSERIES_GNU) + # include + #elif defined (PEGASUS_PLATFORM_LINUX_ZSERIES64_GNU) +diff -up pegasus/src/Pegasus/Common/Platform_LINUX_SPARC64_GNU.h.orig pegasus/src/Pegasus/Common/Platform_LINUX_SPARC64_GNU.h +--- pegasus/src/Pegasus/Common/Platform_LINUX_SPARC64_GNU.h.orig 2013-08-27 14:33:28.186702833 +0200 ++++ pegasus/src/Pegasus/Common/Platform_LINUX_SPARC64_GNU.h 2013-08-27 14:34:45.833989895 +0200 +@@ -0,0 +1,93 @@ ++/* ++//%2006//////////////////////////////////////////////////////////////////////// ++// ++// Copyright (c) 2000, 2001, 2002 BMC Software; Hewlett-Packard Development ++// Company, L.P.; IBM Corp.; The Open Group; Tivoli Systems. ++// Copyright (c) 2003 BMC Software; Hewlett-Packard Development Company, L.P.; ++// IBM Corp.; EMC Corporation, The Open Group. ++// Copyright (c) 2004 BMC Software; Hewlett-Packard Development Company, L.P.; ++// IBM Corp.; EMC Corporation; VERITAS Software Corporation; The Open Group. ++// Copyright (c) 2005 Hewlett-Packard Development Company, L.P.; IBM Corp.; ++// EMC Corporation; VERITAS Software Corporation; The Open Group. ++// Copyright (c) 2006 Hewlett-Packard Development Company, L.P.; IBM Corp.; ++// EMC Corporation; Symantec Corporation; The Open Group. ++// ++// Permission is hereby granted, free of charge, to any person obtaining a copy ++// of this software and associated documentation files (the "Software"), to ++// deal in the Software without restriction, including without limitation the ++// rights to use, copy, modify, merge, publish, distribute, sublicense, and/or ++// sell copies of the Software, and to permit persons to whom the Software is ++// furnished to do so, subject to the following conditions: ++// ++// THE ABOVE COPYRIGHT NOTICE AND THIS PERMISSION NOTICE SHALL BE INCLUDED IN ++// ALL COPIES OR SUBSTANTIAL PORTIONS OF THE SOFTWARE. THE SOFTWARE IS PROVIDED ++// "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT ++// LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR ++// PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT ++// HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ++// ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION ++// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ++// ++//============================================================================== ++// ++//%///////////////////////////////////////////////////////////////////////////// ++*/ ++ ++#ifndef Pegasus_Platform_LINUX_SPARC64_GNU_h ++#define Pegasus_Platform_LINUX_SPARC64_GNU_h ++ ++#include ++ ++#define PEGASUS_OS_TYPE_UNIX ++ ++#ifndef PEGASUS_PLATFORM_LINUX_GENERIC_GNU ++#define PEGASUS_PLATFORM_LINUX_GENERIC_GNU ++#endif ++ ++#define PEGASUS_OS_LINUX ++ ++#define PEGASUS_POINTER_64BIT ++ ++#define PEGASUS_COMPILER_GNU ++ ++#define PEGASUS_UINT64 unsigned long long ++ ++#define PEGASUS_SINT64 long long ++ ++#define PEGASUS_HAVE_NAMESPACES ++ ++#define PEGASUS_HAVE_FOR_SCOPE ++ ++#define PEGASUS_HAVE_TEMPLATE_SPECIALIZATION ++ ++#ifndef _GNU_SOURCE ++#define _GNU_SOURCE ++#endif ++#ifndef _REENTRANT ++#define _REENTRANT ++#endif ++#define _THREAD_SAFE ++#include ++#include ++#include ++#include /* For MAXHOSTNAMELEN */ ++#include /* _POSIX_HOST_NAME_MAX */ ++ ++#if (__GNUC__ >= 4) ++# define PEGASUS_EXPORT __attribute__ ((visibility("default"))) ++# define PEGASUS_IMPORT __attribute__ ((visibility("default"))) ++# define PEGASUS_HIDDEN_LINKAGE __attribute__((visibility("hidden"))) ++#endif ++ ++#define PEGASUS_HAVE_PTHREADS ++ ++#define PEGASUS_HAVE_NANOSLEEP ++ ++#define PEGASUS_HAS_SIGNALS ++ ++/* getifaddrs() avilable in gcc version >= 3.4 */ ++#if (__GNUC__ > 3) || ((__GNUC__ == 3) && (__GNUC_MINOR__ >= 4)) ++# define PEGASUS_HAS_GETIFADDRS ++#endif ++ ++#endif /* Pegasus_Platform_LINUX_SPARC64_GNU_h */ +diff -up pegasus/src/Pegasus/Common/Platform_LINUX_SPARCV9_GNU.h.orig pegasus/src/Pegasus/Common/Platform_LINUX_SPARCV9_GNU.h +--- pegasus/src/Pegasus/Common/Platform_LINUX_SPARCV9_GNU.h.orig 2013-08-27 14:35:15.787100560 +0200 ++++ pegasus/src/Pegasus/Common/Platform_LINUX_SPARCV9_GNU.h 2013-08-27 14:36:22.937348657 +0200 +@@ -0,0 +1,93 @@ ++/* ++//%2006//////////////////////////////////////////////////////////////////////// ++// ++// Copyright (c) 2000, 2001, 2002 BMC Software; Hewlett-Packard Development ++// Company, L.P.; IBM Corp.; The Open Group; Tivoli Systems. ++// Copyright (c) 2003 BMC Software; Hewlett-Packard Development Company, L.P.; ++// IBM Corp.; EMC Corporation, The Open Group. ++// Copyright (c) 2004 BMC Software; Hewlett-Packard Development Company, L.P.; ++// IBM Corp.; EMC Corporation; VERITAS Software Corporation; The Open Group. ++// Copyright (c) 2005 Hewlett-Packard Development Company, L.P.; IBM Corp.; ++// EMC Corporation; VERITAS Software Corporation; The Open Group. ++// Copyright (c) 2006 Hewlett-Packard Development Company, L.P.; IBM Corp.; ++// EMC Corporation; Symantec Corporation; The Open Group. ++// ++// Permission is hereby granted, free of charge, to any person obtaining a copy ++// of this software and associated documentation files (the "Software"), to ++// deal in the Software without restriction, including without limitation the ++// rights to use, copy, modify, merge, publish, distribute, sublicense, and/or ++// sell copies of the Software, and to permit persons to whom the Software is ++// furnished to do so, subject to the following conditions: ++// ++// THE ABOVE COPYRIGHT NOTICE AND THIS PERMISSION NOTICE SHALL BE INCLUDED IN ++// ALL COPIES OR SUBSTANTIAL PORTIONS OF THE SOFTWARE. THE SOFTWARE IS PROVIDED ++// "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT ++// LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR ++// PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT ++// HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ++// ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION ++// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ++// ++//============================================================================== ++// ++//%///////////////////////////////////////////////////////////////////////////// ++*/ ++ ++#ifndef Pegasus_Platform_LINUX_SPARCV9_GNU_h ++#define Pegasus_Platform_LINUX_SPARCV9_GNU_h ++ ++#include ++ ++#define PEGASUS_OS_TYPE_UNIX ++ ++#ifndef PEGASUS_PLATFORM_LINUX_GENERIC_GNU ++#define PEGASUS_PLATFORM_LINUX_GENERIC_GNU ++#endif ++ ++#define PEGASUS_OS_LINUX ++ ++#define PEGASUS_ARCHITECTURE_SPARC ++ ++#define PEGASUS_COMPILER_GNU ++ ++#define PEGASUS_UINT64 unsigned long long ++ ++#define PEGASUS_SINT64 long long ++ ++#define PEGASUS_HAVE_NAMESPACES ++ ++#define PEGASUS_HAVE_FOR_SCOPE ++ ++#define PEGASUS_HAVE_TEMPLATE_SPECIALIZATION ++ ++#ifndef _GNU_SOURCE ++#define _GNU_SOURCE ++#endif ++#ifndef _REENTRANT ++#define _REENTRANT ++#endif ++#define _THREAD_SAFE ++#include ++#include ++#include ++#include /* For MAXHOSTNAMELEN */ ++#include /* _POSIX_HOST_NAME_MAX */ ++ ++#if (__GNUC__ >= 4) ++# define PEGASUS_EXPORT __attribute__ ((visibility("default"))) ++# define PEGASUS_IMPORT __attribute__ ((visibility("default"))) ++# define PEGASUS_HIDDEN_LINKAGE __attribute__((visibility("hidden"))) ++#endif ++ ++#define PEGASUS_HAVE_PTHREADS ++ ++#define PEGASUS_HAVE_NANOSLEEP ++ ++#define PEGASUS_HAS_SIGNALS ++ ++/* getifaddrs() avilable in gcc version >= 3.4 */ ++#if (__GNUC__ > 3) || ((__GNUC__ == 3) && (__GNUC_MINOR__ >= 4)) ++# define PEGASUS_HAS_GETIFADDRS ++#endif ++ ++#endif /* Pegasus_Platform_LINUX_SPARCV9_GNU_h */ +diff -up pegasus/src/SDK/samples/mak/LINUX_SPARC64_GNU.mak.orig pegasus/src/SDK/samples/mak/LINUX_SPARC64_GNU.mak +--- pegasus/src/SDK/samples/mak/LINUX_SPARC64_GNU.mak.orig 2013-08-27 14:37:02.458494760 +0200 ++++ pegasus/src/SDK/samples/mak/LINUX_SPARC64_GNU.mak 2013-08-27 14:37:36.121619044 +0200 +@@ -0,0 +1,55 @@ ++#//%2006//////////////////////////////////////////////////////////////////////// ++#// ++#// Copyright (c) 2000, 2001, 2002 BMC Software; Hewlett-Packard Development ++#// Company, L.P.; IBM Corp.; The Open Group; Tivoli Systems. ++#// Copyright (c) 2003 BMC Software; Hewlett-Packard Development Company, L.P.; ++#// IBM Corp.; EMC Corporation, The Open Group. ++#// Copyright (c) 2004 BMC Software; Hewlett-Packard Development Company, L.P.; ++#// IBM Corp.; EMC Corporation; VERITAS Software Corporation; The Open Group. ++#// Copyright (c) 2005 Hewlett-Packard Development Company, L.P.; IBM Corp.; ++#// EMC Corporation; VERITAS Software Corporation; The Open Group. ++#// Copyright (c) 2006 Hewlett-Packard Development Company, L.P.; IBM Corp.; ++#// EMC Corporation; Symantec Corporation; The Open Group. ++#// ++#// Permission is hereby granted, free of charge, to any person obtaining a copy ++#// of this software and associated documentation files (the "Software"), to ++#// deal in the Software without restriction, including without limitation the ++#// rights to use, copy, modify, merge, publish, distribute, sublicense, and/or ++#// sell copies of the Software, and to permit persons to whom the Software is ++#// furnished to do so, subject to the following conditions: ++#// ++#// THE ABOVE COPYRIGHT NOTICE AND THIS PERMISSION NOTICE SHALL BE INCLUDED IN ++#// ALL COPIES OR SUBSTANTIAL PORTIONS OF THE SOFTWARE. THE SOFTWARE IS PROVIDED ++#// "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT ++#// LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR ++#// PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT ++#// HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ++#// ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION ++#// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ++#// ++#//============================================================================== ++ ++ECHO = echo ++MKDIRHIER = mkdir -p ++RM = rm -f ++TOUCH = touch ++ ++COMPILE_CXX_COMMAND = g++ ++COMPILE_C_COMMAND = gcc ++LIBRARY_LINK_COMMAND = $(COMPILE_CXX_COMMAND) -shared ++PROGRAM_LINK_COMMAND = $(COMPILE_CXX_COMMAND) ++ ++SYS_LIBS = -ldl -lpthread -lcrypt ++ ++OBJ_SUFFIX=.o ++ ++DEFINES = -DPEGASUS_PLATFORM_$(PEGASUS_PLATFORM) ++PROGRAM_COMPILE_OPTIONS = -O2 -W -Wall -Wno-unused -D_GNU_SOURCE \ ++ -DTHREAD_SAFE -D_REENTRANT -fPIC ++LIBRARY_COMPILE_OPTIONS = $(PROGRAM_COMPILE_OPTIONS) ++ ++PROGRAM_LINK_OPTIONS = -Xlinker -rpath -Xlinker $(PEGASUS_DEST_LIB_DIR) ++LIBRARY_LINK_OPTIONS = $(PROGRAM_LINK_OPTIONS) ++LINK_OUT = -o ++SYM_LINK_LIB = $(PEGASUS_PROVIDER_LIB_DIR)/lib$(LIBRARY) ++PLATFORM_LIB_SUFFIX = so +diff -up pegasus/src/SDK/samples/mak/LINUX_SPARCV9_GNU.mak.orig pegasus/src/SDK/samples/mak/LINUX_SPARCV9_GNU.mak +--- pegasus/src/SDK/samples/mak/LINUX_SPARCV9_GNU.mak.orig 2013-08-27 14:38:00.233708183 +0200 ++++ pegasus/src/SDK/samples/mak/LINUX_SPARCV9_GNU.mak 2013-08-27 14:38:37.113844321 +0200 +@@ -0,0 +1,55 @@ ++#//%2006//////////////////////////////////////////////////////////////////////// ++#// ++#// Copyright (c) 2000, 2001, 2002 BMC Software; Hewlett-Packard Development ++#// Company, L.P.; IBM Corp.; The Open Group; Tivoli Systems. ++#// Copyright (c) 2003 BMC Software; Hewlett-Packard Development Company, L.P.; ++#// IBM Corp.; EMC Corporation, The Open Group. ++#// Copyright (c) 2004 BMC Software; Hewlett-Packard Development Company, L.P.; ++#// IBM Corp.; EMC Corporation; VERITAS Software Corporation; The Open Group. ++#// Copyright (c) 2005 Hewlett-Packard Development Company, L.P.; IBM Corp.; ++#// EMC Corporation; VERITAS Software Corporation; The Open Group. ++#// Copyright (c) 2006 Hewlett-Packard Development Company, L.P.; IBM Corp.; ++#// EMC Corporation; Symantec Corporation; The Open Group. ++#// ++#// Permission is hereby granted, free of charge, to any person obtaining a copy ++#// of this software and associated documentation files (the "Software"), to ++#// deal in the Software without restriction, including without limitation the ++#// rights to use, copy, modify, merge, publish, distribute, sublicense, and/or ++#// sell copies of the Software, and to permit persons to whom the Software is ++#// furnished to do so, subject to the following conditions: ++#// ++#// THE ABOVE COPYRIGHT NOTICE AND THIS PERMISSION NOTICE SHALL BE INCLUDED IN ++#// ALL COPIES OR SUBSTANTIAL PORTIONS OF THE SOFTWARE. THE SOFTWARE IS PROVIDED ++#// "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT ++#// LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR ++#// PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT ++#// HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ++#// ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION ++#// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ++#// ++#//============================================================================== ++ ++ECHO = echo ++MKDIRHIER = mkdir -p ++RM = rm -f ++TOUCH = touch ++ ++COMPILE_CXX_COMMAND = g++ ++COMPILE_C_COMMAND = gcc ++LIBRARY_LINK_COMMAND = $(COMPILE_CXX_COMMAND) -shared ++PROGRAM_LINK_COMMAND = $(COMPILE_CXX_COMMAND) ++ ++SYS_LIBS = -ldl -lpthread -lcrypt ++ ++OBJ_SUFFIX=.o ++ ++DEFINES = -DPEGASUS_PLATFORM_$(PEGASUS_PLATFORM) ++PROGRAM_COMPILE_OPTIONS = -O2 -W -Wall -Wno-unused -D_GNU_SOURCE \ ++ -DTHREAD_SAFE -D_REENTRANT -fPIC ++LIBRARY_COMPILE_OPTIONS = $(PROGRAM_COMPILE_OPTIONS) ++ ++PROGRAM_LINK_OPTIONS = -Xlinker -rpath -Xlinker $(PEGASUS_DEST_LIB_DIR) ++LIBRARY_LINK_OPTIONS = $(PROGRAM_LINK_OPTIONS) ++LINK_OUT = -o ++SYM_LINK_LIB = $(PEGASUS_PROVIDER_LIB_DIR)/lib$(LIBRARY) ++PLATFORM_LIB_SUFFIX = so diff --git a/SOURCES/pegasus-2.9.1-getpagesize.patch b/SOURCES/pegasus-2.9.1-getpagesize.patch new file mode 100644 index 0000000..00c8279 --- /dev/null +++ b/SOURCES/pegasus-2.9.1-getpagesize.patch @@ -0,0 +1,66 @@ +diff -up pegasus/src/Providers/ManagedSystem/Process/Process_Linux.cpp_old pegasus/src/Providers/ManagedSystem/Process/Process_Linux.cpp +--- pegasus/src/Providers/ManagedSystem/Process/Process_Linux.cpp_old 2010-01-14 15:06:36.757941652 +0100 ++++ pegasus/src/Providers/ManagedSystem/Process/Process_Linux.cpp 2010-01-14 15:08:12.113962655 +0100 +@@ -539,7 +539,7 @@ NOTES : + */ + Boolean Process::getRealText(Uint64& i64) const + { +- i64 = pInfo.pst_tsize * getpagesize() / 1024; ++ i64 = pInfo.pst_tsize * sysconf(_SC_PAGESIZE) / 1024; + return true; + } + +@@ -555,7 +555,7 @@ NOTES : + */ + Boolean Process::getRealData(Uint64& i64) const + { +- i64 = pInfo.pst_dsize * getpagesize() / 1024; ++ i64 = pInfo.pst_dsize * sysconf(_SC_PAGESIZE) / 1024; + return true; + } + +@@ -603,7 +603,7 @@ NOTES : + */ + Boolean Process::getVirtualData(Uint64& i64) const + { +- i64 = pInfo.pst_vdsize * getpagesize() / 1024; ++ i64 = pInfo.pst_vdsize * sysconf(_SC_PAGESIZE) / 1024; + return true; + } + +@@ -619,7 +619,7 @@ NOTES : + */ + Boolean Process::getVirtualStack(Uint64& i64) const + { +- i64 = pInfo.pst_vssize * getpagesize() / 1024; ++ i64 = pInfo.pst_vssize * sysconf(_SC_PAGESIZE) / 1024; + return true; + } + +@@ -635,7 +635,7 @@ NOTES : + */ + Boolean Process::getVirtualMemoryMappedFileSize(Uint64& i64) const + { +- i64 = pInfo.pst_vmmsize * getpagesize() / 1024; ++ i64 = pInfo.pst_vmmsize * sysconf(_SC_PAGESIZE) / 1024; + return true; + } + +@@ -651,7 +651,7 @@ NOTES : + */ + Boolean Process::getVirtualSharedMemory(Uint64& i64) const + { +- i64 = pInfo.pst_vshmsize * getpagesize() / 1024; ++ i64 = pInfo.pst_vshmsize * sysconf(_SC_PAGESIZE) / 1024; + return true; + } + +@@ -721,7 +721,7 @@ Boolean Process::getRealSpace(Uint64& i6 + i64 = (pInfo.pst_dsize + // real data + pInfo.pst_tsize) // real text may need to figure out how to get + // realStackSize +- * getpagesize() / 1024; ++ * sysconf(_SC_PAGESIZE) / 1024; + return true; + } + diff --git a/SOURCES/pegasus-snmp-disable-des.patch b/SOURCES/pegasus-snmp-disable-des.patch new file mode 100644 index 0000000..275ca0f --- /dev/null +++ b/SOURCES/pegasus-snmp-disable-des.patch @@ -0,0 +1,55 @@ +This patch is required because net-smp is not build with DES support, +so usmDESPrivProtocol is not available. + +diff -up pegasus/src/Pegasus/Handler/snmpIndicationHandler/snmpDeliverTrap_netsnmp.cpp.orig pegasus/src/Pegasus/Handler/snmpIndicationHandler/snmpDeliverTrap_netsnmp.cpp +--- pegasus/src/Pegasus/Handler/snmpIndicationHandler/snmpDeliverTrap_netsnmp.cpp.orig 2021-06-23 09:57:12.052712533 +0200 ++++ pegasus/src/Pegasus/Handler/snmpIndicationHandler/snmpDeliverTrap_netsnmp.cpp 2021-06-23 10:06:19.893857294 +0200 +@@ -247,6 +247,16 @@ void snmpDeliverTrap_netsnmp::_createSes + #ifdef PEGASUS_ENABLE_NET_SNMPV3 + case _SNMPv3_TRAP: + { ++ if(snmpSecPrivProto == 1) ++ { ++ //DES is no longer supported. ++ PEG_METHOD_EXIT(); ++ throw PEGASUS_CIM_EXCEPTION_L(CIM_ERR_NOT_SUPPORTED, ++ MessageLoaderParms( ++ _MSG_DES_NOT_SUPPORTED_KEY, ++ _MSG_DES_NOT_SUPPORTED)); ++ } ++ + snmpSession.version = SNMP_VERSION_3; + CString securityNameCStr = securityName.getCString(); + size_t securityNameLen = strlen(securityNameCStr); +@@ -321,14 +331,7 @@ void snmpDeliverTrap_netsnmp::_createSes + + SNMP_FREE(snmpSession.securityPrivProto); + //Privacy +- if(snmpSecPrivProto == 1) //DES +- { +- snmpSession.securityPrivProto = snmp_duplicate_objid( +- usmDESPrivProtocol, +- USM_PRIV_PROTO_DES_LEN); +- snmpSession.securityPrivProtoLen = USM_PRIV_PROTO_DES_LEN; +- } +- else if(snmpSecPrivProto == 2) // AES ++ if(snmpSecPrivProto == 2) // AES + { + snmpSession.securityPrivProto = snmp_duplicate_objid( + usmAESPrivProtocol, +diff -up pegasus/src/Pegasus/Handler/snmpIndicationHandler/snmpDeliverTrap_netsnmp.h.orig pegasus/src/Pegasus/Handler/snmpIndicationHandler/snmpDeliverTrap_netsnmp.h +--- pegasus/src/Pegasus/Handler/snmpIndicationHandler/snmpDeliverTrap_netsnmp.h.orig 2021-06-23 09:57:54.014119384 +0200 ++++ pegasus/src/Pegasus/Handler/snmpIndicationHandler/snmpDeliverTrap_netsnmp.h 2021-06-23 10:05:04.489320833 +0200 +@@ -64,6 +64,12 @@ static const char _MSG_VERSION_NOT_SUPPO + "Handler.snmpIndicationHandler.snmpDeliverTrap_netsnmp." + "_MSG_VERSION_NOT_SUPPORTED"; + ++static const char _MSG_DES_NOT_SUPPORTED[] = ++ "DES support is disabled in SNMP."; ++static const char _MSG_DES_NOT_SUPPORTED_KEY[] = ++ "Handler.snmpIndicationHandler.snmpDeliverTrap_netsnmp." ++ "_MSG_DES_NOT_SUPPORTED"; ++ + static const char _MSG_SESSION_SEND_FAILED[] = + "Snmp Indication Handler failed to send the trap: "; + static const char _MSG_SESSION_SEND_FAILED_KEY[] = diff --git a/SOURCES/snmptrapd.conf b/SOURCES/snmptrapd.conf new file mode 100644 index 0000000..aad3e57 --- /dev/null +++ b/SOURCES/snmptrapd.conf @@ -0,0 +1,13 @@ +# Example configuration file for snmptrapd +# +# No traps are handled by default, you must edit this file! +# + +# SNMPv3 +createUser -e 0x80001f88808a67e858ee38ec4c sahana MD5 setup_passphrase DES setup_passphrase +authUser log,execute,net sahana + +# SNMPv2 +authCommunity log,execute,net public + + diff --git a/SOURCES/tog-pegasus.service b/SOURCES/tog-pegasus.service new file mode 100644 index 0000000..50df564 --- /dev/null +++ b/SOURCES/tog-pegasus.service @@ -0,0 +1,12 @@ +[Unit] +Description=OpenPegasus CIM Server +After=syslog.target slpd.service + +[Service] +Type=forking +ExecStartPre=/usr/share/Pegasus/scripts/generate-certs +ExecStart=/usr/sbin/cimserver +PIDFile=/var/run/tog-pegasus/cimserver.pid + +[Install] +WantedBy=multi-user.target diff --git a/SOURCES/tog-pegasus.tmpfiles b/SOURCES/tog-pegasus.tmpfiles new file mode 100644 index 0000000..639f413 --- /dev/null +++ b/SOURCES/tog-pegasus.tmpfiles @@ -0,0 +1 @@ +d /run/tog-pegasus 1750 root pegasus - diff --git a/SPECS/tog-pegasus.spec b/SPECS/tog-pegasus.spec new file mode 100644 index 0000000..356957f --- /dev/null +++ b/SPECS/tog-pegasus.spec @@ -0,0 +1,1193 @@ +%{?!PEGASUS_BUILD_TEST_RPM: %global PEGASUS_BUILD_TEST_RPM 1} +# do "rpmbuild --define 'PEGASUS_BUILD_TEST_RPM 1'" to build test RPM. + +%global srcname pegasus +%global major_ver 2.14 +%global pegasus_gid 65 +%global pegasus_uid 66 + +Name: tog-pegasus +Version: %{major_ver}.1 +Release: 64%{?dist} +Epoch: 2 +Summary: OpenPegasus WBEM Services for Linux + +License: MIT +URL: http://www.openpegasus.org +Source0: https://collaboration.opengroup.org/pegasus/documents/27211/pegasus-%{version}.tar.gz +# 1: Description of security enhacements +Source1: README.RedHat.Security +# 3: Description of SSL settings +Source3: README.RedHat.SSL +# 4: /etc/tmpfiles.d configuration file +Source4: tog-pegasus.tmpfiles +# 5: systemd service file +Source5: tog-pegasus.service +# 6: This file controls access to the Pegasus services by users with the PAM pam_access module +Source6: access.conf +# 7: Simple wrapper for Pegasus's cimprovagt - because of confining providers in SELinux +Source7: cimprovagt-wrapper.sh +# 8: Example wrapper confining Operating System Provider from sblim-cmpi-base package +Source8: cmpiOSBase_OperatingSystemProvider-cimprovagt.example +# 9: DMTF CIM schema +Source9: cim_schema_2.38.0Experimental-MOFs.zip +# 10: Fedora/RHEL script for adding self-signed certificates to the local CA +# trust store +Source10: generate-certs +# 11: Configuration file for snmp tests in -test rpm +Source11: snmptrapd.conf +# 12: repupgrade man page based on pegasus/src/Clients/repupgrade/doc/repupgrade.html +Source12: repupgrade.1.gz + +# 1: http://cvs.rdg.opengroup.org/bugzilla/show_bug.cgi?id=5011 +# Removing insecure -rpath +Patch1: pegasus-2.9.0-no-rpath.patch +# 2: Adding -fPIE +Patch2: pegasus-2.7.0-PIE.patch +# 3: http://cvs.rdg.opengroup.org/bugzilla/show_bug.cgi?id=5016 +# Configuration variables +Patch3: pegasus-2.9.0-redhat-config.patch +# 4: don't see how http://cvs.rdg.opengroup.org/bugzilla/show_bug.cgi?id=5099 fixed it +# Changing provider dir to the directory we use +Patch4: pegasus-2.9.0-cmpi-provider-lib.patch +# 5: http://cvs.rdg.opengroup.org/bugzilla/show_bug.cgi?id=5010 +# We distinguish between local and remote user and behave adequately (will be upstream once) +Patch5: pegasus-2.9.0-local-or-remote-auth.patch +# 6: http://cvs.rdg.opengroup.org/bugzilla/show_bug.cgi?id=5012 +# Modifies pam rules to use access cofiguration file and local/remote differences +Patch6: pegasus-2.5.1-pam-wbem.patch +# 12: Adds snmp tests to the -test rpm, configures snmptrapd +Patch12: pegasus-2.7.0-snmp-tests.patch +# 13: Changes to make package compile on sparc +Patch13: pegasus-2.9.0-sparc.patch +# 16: Fixes "getpagesize" build error +Patch16: pegasus-2.9.1-getpagesize.patch +# 19: Don't strip binaries, add -g flag +Patch19: pegasus-2.10.0-dont-strip.patch +# 20: use posix locks on sparc arches +Patch20: pegasus-2.10.0-sparc-posix-lock.patch +# 22: Fix CMPI enumGetNext function to change CMPI Data state from default CMPI_nullValue +# to CMPI_goodValue when it finds and returns next instance correctly +Patch22: pegasus-2.12.0-null_value.patch +# 24: bz#883030, getPropertyAt() returns Null instead of empty array +Patch24: pegasus-2.12.0-empty_arrays.patch +# 25: allow experimental schema registration with cimmofl during build +Patch25: pegasus-2.12.0-cimmofl-allow-experimental.patch +# 26: use external schema and add missing includes there +Patch26: pegasus-2.12.0-schema-version-and-includes.patch +# 29: bz#1049314, allow unprivileged users to subscribe to indications by default +Patch29: pegasus-2.13.0-enable-subscriptions-for-nonprivileged-users.patch +# 33: fixes build with gcc5 +Patch33: pegasus-2.13.0-gcc5-build.patch +# 34: fixes various build problemss +Patch34: pegasus-2.14.1-build-fixes.patch +# 35: add missing ssl.h include +Patch35: pegasus-2.14.1-ssl-include.patch +# 36: fixes sending of SNMPv3 traps in cimserver +Patch36: pegasus-2.14.1-snmpv3-trap.patch +# 37: fixes setupSDK in -devel +Patch37: pegasus-2.14.1-fix-setup-sdk.patch +# 38: cimconfig man page fixes +Patch38: pegasus-2.14.1-cimconfig-man-page-fixes.patch +# 39: fixes setupSDK in -devel for ppc64le +Patch39: pegasus-2.14.1-fix-setup-sdk-ppc64le.patch +# 40: removes Beaker conflicting env variable +Patch40: pegasus-2.14.1-tesid.patch +# 41: moves SSL certificates to /etc/pki/Pegasus +Patch41: pegasus-2.14.1-ssl-cert-path.patch +# 42: port to openssl-1.1 +Patch42: pegasus-2.14.1-openssl-1.1-fix.patch +# 43: fix -Wreserved-user-defined-literal warnings which prevents building with clang +Patch43: pegasus-2.14.1-fix-Wreserved-user-defined-literal.patch +# 44: comply with Fedora crypto policy +# (use 'PROFILE=SYSTEM' instead of 'DEFAULT' in SSL_CTX_set_cipher_list calls) +Patch44: pegasus-2.14.1-crypto-policy-compliance.patch +# 45: add required lib to fix FTBS +Patch45: pegasus-2.14.1-add-pegwsmserver-to-ldd-libs.patch +# 46: Remove DES support. +Patch46: pegasus-snmp-disable-des.patch + +BuildRequires: procps, libstdc++, pam-devel +BuildRequires: openssl, openssl-devel +BuildRequires: bash, sed, grep, coreutils, procps, gcc, gcc-c++ +BuildRequires: libstdc++, make, pam-devel +BuildRequires: openssl-devel +BuildRequires: net-snmp-devel, openslp-devel +BuildRequires: systemd-units +Requires: net-snmp-libs +Requires: %{name}-libs = %{epoch}:%{version}-%{release} +Requires: openssl +Requires: ca-certificates +Provides: cim-server = 1 +Requires(post): /sbin/ldconfig +Requires(post): /sbin/restorecon + +%description +OpenPegasus WBEM Services for Linux enables management solutions that deliver +increased control of enterprise resources. WBEM is a platform and resource +independent DMTF standard that defines a common information model and +communication protocol for monitoring and controlling resources from diverse +sources. + +%package devel +Summary: The OpenPegasus Software Development Kit +Requires: tog-pegasus >= %{version}-%{release} +Obsoletes: tog-pegasus-sdk + +%description devel +The OpenPegasus WBEM Services for Linux SDK is the developer's kit for the +OpenPegasus WBEM Services for Linux release. It provides Linux C++ developers +with the WBEM files required to build WBEM Clients and Providers. It also +supports C provider developers via the CMPI interface. + +%package libs +Summary: The OpenPegasus Libraries +Conflicts: libcmpiCppImpl0 +Requires(pre): /usr/sbin/useradd +Requires(pre): /usr/sbin/groupadd +Requires(post): /sbin/ldconfig + +%description libs +The OpenPegasus libraries. + +%if %{PEGASUS_BUILD_TEST_RPM} +%package test +Summary: The OpenPegasus Tests +Requires: tog-pegasus >= %{version}-%{release}, make +Requires: %{name}-libs = %{epoch}:%{version}-%{release} + +%description test +The OpenPegasus WBEM tests for the OpenPegasus %{version} Linux rpm. +%endif + + +%ifarch ia64 +%global PEGASUS_HARDWARE_PLATFORM LINUX_IA64_GNU +%endif +%ifarch x86_64 +%global PEGASUS_HARDWARE_PLATFORM LINUX_X86_64_GNU +%endif +%ifarch ppc +%global PEGASUS_HARDWARE_PLATFORM LINUX_PPC_GNU +%endif +%ifarch ppc64 +%global PEGASUS_HARDWARE_PLATFORM LINUX_PPC64_GNU +%endif +%ifarch ppc64le +%global PEGASUS_HARDWARE_PLATFORM LINUX_PPC64_GNU +%endif +%ifarch s390 +%global PEGASUS_HARDWARE_PLATFORM LINUX_ZSERIES_GNU +%endif +%ifarch s390x +%global PEGASUS_HARDWARE_PLATFORM LINUX_ZSERIES64_GNU +%endif +%ifarch sparcv9 +%global PEGASUS_HARDWARE_PLATFORM LINUX_SPARCV9_GNU +%endif +%ifarch sparc64 +%global PEGASUS_HARDWARE_PLATFORM LINUX_SPARC64_GNU +%endif +%ifarch %{ix86} +%global PEGASUS_HARDWARE_PLATFORM LINUX_IX86_GNU +%endif +%ifarch %{arm} +%global PEGASUS_HARDWARE_PLATFORM LINUX_XSCALE_GNU +%endif +%ifarch aarch64 +%global PEGASUS_HARDWARE_PLATFORM LINUX_AARCH64_GNU +%endif + +%global PEGASUS_ARCH_LIB %{_lib} +%global OPENSSL_HOME /usr +%global OPENSSL_BIN /usr/bin +%global PEGASUS_PEM_DIR /etc/pki/Pegasus +%global PEGASUS_SSL_CERT_FILE server.pem +%global PEGASUS_SSL_KEY_FILE file.pem +%global PEGASUS_SSL_TRUSTSTORE client.pem +%global PAM_CONFIG_DIR /etc/pam.d +%global PEGASUS_CONFIG_DIR /etc/Pegasus +%global PEGASUS_VARDATA_DIR /var/lib/Pegasus +%global PEGASUS_VARDATA_CACHE_DIR /var/lib/Pegasus/cache +%global PEGASUS_LOCAL_DOMAIN_SOCKET_PATH /var/run/tog-pegasus/socket/cimxml.socket +%global PEGASUS_CIMSERVER_START_FILE /var/run/tog-pegasus/cimserver.pid +%global PEGASUS_TRACE_FILE_PATH /var/lib/Pegasus/cache/trace/cimserver.trc +%global PEGASUS_CIMSERVER_START_LOCK_FILE /var/run/tog-pegasus/cimserver_start.lock +%global PEGASUS_REPOSITORY_DIR /var/lib/Pegasus/repository +%global PEGASUS_PREV_REPOSITORY_DIR_NAME prev_repository +%global PEGASUS_REPOSITORY_PARENT_DIR /var/lib/Pegasus +%global PEGASUS_PREV_REPOSITORY_DIR /var/lib/PegasusXXX/prev_repository +%global PEGASUS_SBIN_DIR /usr/sbin +%global PEGASUS_DOC_DIR /usr/share/doc/%{name}-%{version} + +%global PEGASUS_RPM_ROOT $RPM_BUILD_DIR/%{srcname} +%global PEGASUS_RPM_HOME %PEGASUS_RPM_ROOT/build +%global PEGASUS_INSTALL_LOG /var/lib/Pegasus/log/install.log + + +%prep +%setup -q -n %{srcname} +# convert DMTF schema for Pegasus +export PEGASUS_ROOT=%PEGASUS_RPM_ROOT +yes | mak/CreateDmtfSchema 238 %{SOURCE9} cim_schema_2.38.0 +%patch1 -p1 -b .no-rpath +%patch2 -p1 -b .PIE +%patch3 -p1 -b .redhat-config +%patch4 -p1 -b .cmpi-provider-lib +%patch6 -p1 -b .pam-wbem +%patch12 -p1 -b .snmp-tests +%patch5 -p1 -b .local-or-remote-auth +%patch13 -p1 -b .sparc +%patch16 -p1 -b .getpagesize +%patch19 -p1 -b .dont-strip +%patch20 -p1 -b .sparc-locks +%patch22 -p1 -b .null_value +%patch24 -p1 -b .empty_arrays +%patch25 -p1 -b .cimmofl-allow-experimental +%patch26 -p1 -b .schema-version-and-includes +%patch29 -p1 -b .enable-subscriptions-for-nonprivileged-users +%patch33 -p1 -b .gcc5-build +%patch34 -p1 -b .build-fixes +%patch35 -p1 -b .ssl-include +%patch36 -p1 -b .snmpv3-trap +%patch37 -p1 -b .fix-setup-sdk +%patch38 -p1 -b .cimconfig-man-page-fixes +%patch39 -p1 -b .fix-setup-sdk-ppc64le +%patch40 -p1 -b .testid +%patch41 -p1 -b .ssl-cert-path +%patch42 -p1 -b .openssl-1.1-fix +%patch43 -p1 -b .Wreserved-user-defined-literal-fix +%patch44 -p1 -b .crypto-policy-compliance +%patch45 -p1 -b .add-pegwsmserver-to-ldd-libs +%patch46 -p1 -b .snmp-disable-des + + +%build +cp -fp %SOURCE1 doc +cp -fp %SOURCE3 doc +cp -fp %SOURCE6 rpm +cp -fp %SOURCE8 doc + +export PEGASUS_ROOT=%PEGASUS_RPM_ROOT +export PEGASUS_HOME=%PEGASUS_RPM_HOME +export PEGASUS_PLATFORM=%PEGASUS_HARDWARE_PLATFORM +export PEGASUS_ARCH_LIB=%PEGASUS_ARCH_LIB +export PEGASUS_ENVVAR_FILE=$PEGASUS_ROOT/env_var_Linux.status + +export OPENSSL_HOME=%OPENSSL_HOME +export OPENSSL_BIN=%OPENSSL_BIN +export LD_LIBRARY_PATH=$PEGASUS_HOME/lib +export PATH=$PEGASUS_HOME/bin:$PATH + +export PEGASUS_EXTRA_C_FLAGS="$RPM_OPT_FLAGS -fPIC -g -Wall -Wno-unused -fno-strict-aliasing" +export PEGASUS_EXTRA_CXX_FLAGS="$PEGASUS_EXTRA_C_FLAGS -std=c++14" +export PEGASUS_EXTRA_LINK_FLAGS="$RPM_OPT_FLAGS -Wl,-z,now" +export PEGASUS_EXTRA_PROGRAM_LINK_FLAGS="-g -pie -Wl,-z,relro,-z,now,-z,nodlopen,-z,noexecstack" +export SYS_INCLUDES=-I/usr/kerberos/include + +%make_build -f ${PEGASUS_ROOT}/Makefile.Release create_ProductVersionFile +%make_build -f ${PEGASUS_ROOT}/Makefile.Release create_CommonProductDirectoriesInclude +%make_build -f ${PEGASUS_ROOT}/Makefile.Release create_ConfigProductDirectoriesInclude +%make_build -f ${PEGASUS_ROOT}/Makefile.Release all +%make_build -f ${PEGASUS_ROOT}/Makefile.Release repository + + +%install +# Create directory for SSL certificates +mkdir -p $RPM_BUILD_ROOT/etc/pki/Pegasus + +export PEGASUS_ROOT=%PEGASUS_RPM_ROOT +export PEGASUS_HOME=%PEGASUS_RPM_HOME +export PEGASUS_PLATFORM=%PEGASUS_HARDWARE_PLATFORM +export PEGASUS_ARCH_LIB=%PEGASUS_ARCH_LIB +export PEGASUS_ENVVAR_FILE=$PEGASUS_ROOT/env_var_Linux.status + +export OPENSSL_BIN=%OPENSSL_BIN +export LD_LIBRARY_PATH=$PEGASUS_HOME/lib +export PATH=$PEGASUS_HOME/bin:$PATH + +export PEGASUS_STAGING_DIR=$RPM_BUILD_ROOT +%if %{PEGASUS_BUILD_TEST_RPM} +make -f $PEGASUS_ROOT/Makefile.Release stage \ + PEGASUS_STAGING_DIR=$PEGASUS_STAGING_DIR \ + PEGASUS_BUILD_TEST_RPM=%{PEGASUS_BUILD_TEST_RPM} +%else +make -f $PEGASUS_ROOT/Makefile.Release stage \ + PEGASUS_STAGING_DIR=$PEGASUS_STAGING_DIR +%endif + +mkdir -p $RPM_BUILD_ROOT/%{_tmpfilesdir} +install -p -D -m 644 %{SOURCE4} $RPM_BUILD_ROOT/%{_tmpfilesdir}/tog-pegasus.conf + +# Install script to generate SSL certificates at startup +mkdir -p $RPM_BUILD_ROOT/usr/share/Pegasus/scripts +install -p -m 755 %{SOURCE10} $RPM_BUILD_ROOT/usr/share/Pegasus/scripts/generate-certs +# Remove unused ssl.cnf file +rm -f $RPM_BUILD_ROOT/etc/Pegasus/ssl.cnf +# Create certificate revocation list dir (see bz#1032046) +mkdir -p $RPM_BUILD_ROOT/etc/pki/Pegasus/crl + +# remove SysV initscript, install .service file +rm -f $RPM_BUILD_ROOT/etc/init.d/tog-pegasus +mkdir -p $RPM_BUILD_ROOT%{_unitdir} +install -p -m 644 %{SOURCE5} $RPM_BUILD_ROOT%{_unitdir}/tog-pegasus.service +# cimserver_planned.conf is on the right place since 2.9.2 (update - not in 2.10.0) +#mv $RPM_BUILD_ROOT/var/lib/Pegasus/cimserver_planned.conf $RPM_BUILD_ROOT/etc/Pegasus/cimserver_planned.conf +mkdir -p $RPM_BUILD_ROOT/%{_docdir}/%{name} +mv $RPM_BUILD_ROOT/usr/share/doc/%{name}-%{major_ver}/* $RPM_BUILD_ROOT/%{_docdir}/%{name} +rm -rf $RPM_BUILD_ROOT/usr/share/doc/%{name}-%{major_ver} +# create symlink for libcmpiCppImpl +pushd $RPM_BUILD_ROOT/usr/%{_lib} +ln -s libcmpiCppImpl.so.1 libcmpiCppImpl.so +# and libpeglistener +ln -s libpeglistener.so.1 libpeglistener.so +popd +mkdir -p $RPM_BUILD_ROOT/%{_libexecdir}/pegasus +mv $RPM_BUILD_ROOT/%{_sbindir}/cimprovagt $RPM_BUILD_ROOT/%{_libexecdir}/pegasus +install -p -m 0755 %{SOURCE7} $RPM_BUILD_ROOT/%{_sbindir}/cimprovagt +# install Platform_LINUX_XSCALE_GNU.h because of lmiwbem on arm +install -m 644 src/Pegasus/Common/Platform_LINUX_XSCALE_GNU.h $RPM_BUILD_ROOT/%{_includedir}/Pegasus/Common +# install Linkage.h and CIMListener.h because of lmiwbem (CIMListener class) +mkdir -p $RPM_BUILD_ROOT/%{_includedir}/Pegasus/Listener +install -m 644 src/Pegasus/Listener/Linkage.h $RPM_BUILD_ROOT/%{_includedir}/Pegasus/Listener +install -m 644 src/Pegasus/Listener/CIMListener.h $RPM_BUILD_ROOT/%{_includedir}/Pegasus/Listener +install -m 644 src/Pegasus/Client/CIMEnumerationContext.h $RPM_BUILD_ROOT/%{_includedir}/Pegasus/Client +install -m 644 src/Pegasus/Common/UintArgs.h $RPM_BUILD_ROOT/%{_includedir}/Pegasus/Common + +# Install snptrapd.conf used for net-snmp tests +%if %{PEGASUS_BUILD_TEST_RPM} +install -p %{SOURCE11} $RPM_BUILD_ROOT/usr/share/Pegasus/test/snmptrapd.conf +%endif + +# Install missing mof file for makeSDK +install -p Schemas/CIM238/DMTF/Core/CIM_AbstractComponent.mof $RPM_BUILD_ROOT/usr/share/Pegasus/samples/Providers/Load/CIM238/DMTF/Core/ + +# install man page +mkdir -p ${RPM_BUILD_ROOT}/%{_mandir}/man1/ +cp %SOURCE12 ${RPM_BUILD_ROOT}/%{_mandir}/man1/ + +%check +# run unit tests +export LD_LIBRARY_PATH=$RPM_BUILD_ROOT/usr/%{_lib} +cd $RPM_BUILD_ROOT/usr/share/Pegasus/test +make prestarttests +# remove files created during the test +rm $RPM_BUILD_ROOT/usr/share/Pegasus/test/log.trace.0 +rm $RPM_BUILD_ROOT/usr/share/Pegasus/test/testtracer4.trace.0 + + +%files +%defattr(0640, root, pegasus, 0750) +%verify(not md5 size mtime mode group) /var/lib/Pegasus/repository +%defattr(0644, root, pegasus, 0755) +/usr/share/Pegasus/mof +%dir /usr/share/Pegasus +%defattr(0755, root, pegasus, 0750) +/usr/share/Pegasus/scripts +%defattr(0640, root, pegasus, 0750) +%dir /var/lib/Pegasus +/var/lib/Pegasus/cache +%dir /var/lib/Pegasus/log +%defattr(0640, root, pegasus, 0750) +%dir /etc/Pegasus +%dir /etc/pki/Pegasus +%{_tmpfilesdir}/tog-pegasus.conf +%defattr(0640, root, pegasus, 1750) +%ghost /var/run/tog-pegasus +%ghost %attr(0600, root, root) /var/run/tog-pegasus/cimserver.pid +%ghost %attr(0600, root, root) /var/run/tog-pegasus/cimserver_start.lock +%ghost %attr(0777 ,root, root) /var/run/tog-pegasus/cimxml.socket +%attr(0644, root, pegasus) %{_unitdir}/tog-pegasus.service +%defattr(0640, root, pegasus, 0750) +%ghost %attr(0644, root, root) %config(noreplace) /etc/Pegasus/cimserver_current.conf +%ghost %attr(0644, root, root) %config(noreplace) /etc/Pegasus/cimserver_planned.conf +%config(noreplace) /etc/Pegasus/access.conf +%config(noreplace) /etc/pam.d/wbem +%defattr(0444, root, root) +%ghost /etc/pki/Pegasus/client.pem +%ghost /etc/pki/Pegasus/server.pem +%defattr(0400, root, root) +%ghost /etc/pki/Pegasus/file.pem +%defattr(0644, root, root) +%ghost /etc/pki/Pegasus/ca.crt +%ghost /etc/pki/Pegasus/ca.srl +%ghost /etc/pki/Pegasus/client.srl +%defattr(0400, root, root) +%ghost /etc/Pegasus/ssl-ca.cnf +%ghost /etc/Pegasus/ssl-service.cnf +%defattr(0644, root, root) +%ghost /etc/pki/ca-trust/source/anchors/localhost-pegasus.pem +%ghost %attr(0640, root, pegasus) /etc/pki/Pegasus/cimserver_trust +%ghost %attr(0640, root, pegasus) /etc/pki/Pegasus/indication_trust +%dir %attr(0640, root, pegasus) /etc/pki/Pegasus/crl +%ghost %attr(0644, root, root) %verify(not md5 size mtime) /var/lib/Pegasus/log/install.log +%ghost %attr(0640, root, pegasus) %verify(not md5 size mtime) /var/lib/Pegasus/cache/trace/cimserver.trc +%defattr(0755, root, pegasus, 0755) +/usr/sbin/* +/usr/bin/* +%{_libexecdir}/pegasus/ +%defattr(0644, root, pegasus, 0755) +/usr/share/man/man8/* +/usr/share/man/man1/* +%doc doc/license.txt doc/Admin_Guide_Release.pdf doc/PegasusSSLGuidelines.htm doc/SecurityGuidelinesForDevelopers.html doc/README.RedHat.Security src/Clients/repupgrade/doc/repupgrade.html doc/README.RedHat.SSL doc/cmpiOSBase_OperatingSystemProvider-cimprovagt.example OpenPegasusNOTICE.txt + +%files devel +%defattr(0644,root,pegasus,0755) +/usr/share/Pegasus/samples +/usr/include/Pegasus +/usr/share/Pegasus/html + +%files libs +%defattr(0755, root, pegasus, 0755) +%{_libdir}/* +%exclude /usr/lib/debug +%exclude /usr/lib/systemd +%exclude %{_tmpfilesdir} + +%if %{PEGASUS_BUILD_TEST_RPM} +%files test +%defattr(0644,root,pegasus,0755) +%dir /usr/share/Pegasus/test +/usr/share/Pegasus/test/Makefile +%attr(0600, root, root) /usr/share/Pegasus/test/snmptrapd.conf +/usr/share/Pegasus/test/mak +%dir /usr/share/Pegasus/test/tmp +%ghost /usr/share/Pegasus/test/tmp/procIdFile +%ghost /usr/share/Pegasus/test/tmp/trapLogFile +%ghost /usr/share/Pegasus/test/tmp/IndicationStressTestLog +%ghost /usr/share/Pegasus/test/tmp/oldIndicationStressTestLog +%verify(not md5 size mtime) /var/lib/Pegasus/testrepository +%defattr(0750,root,pegasus,0755) +/usr/share/Pegasus/test/bin +/usr/share/Pegasus/test/%PEGASUS_ARCH_LIB +%endif + + +%pre +if [ $1 -gt 1 ]; then + if [ -d /var/lib/Pegasus/repository ]; then + if [ -d /var/lib/Pegasus/prev_repository ]; then + rm -rf /var/lib/Pegasus/prev_repository + fi; + cp -r /var/lib/Pegasus/repository /var/lib/Pegasus/prev_repository; + fi +fi +:; + +%post +install -d -m 1750 -o root -g pegasus /var/run/tog-pegasus +restorecon /var/run/tog-pegasus +/sbin/ldconfig; +%systemd_post tog-pegasus.service +if [ $1 -ge 1 ]; then + echo `date` >> /var/lib/Pegasus/log/install.log 2>&1 || :; + if [ $1 -gt 1 ]; then + if [ -d /var/lib/Pegasus/prev_repository ]; then + # The user's old repository was moved to /var/lib/Pegasus/prev_repository, which + # now must be upgraded to the new repository in /var/lib/Pegasus/repository: + /usr/sbin/repupgrade 2>> /var/lib/Pegasus/log/install.log || :; + fi; + /bin/systemctl try-restart tog-pegasus.service >/dev/null 2>&1 || :; + fi; +fi +:; + +%preun +%systemd_preun tog-pegasus.service +if [ $1 -eq 0 ]; then + # Package removal, not upgrade + rm -rf /var/run/tog-pegasus +fi +:; + +%postun +/sbin/ldconfig +%systemd_postun_with_restart tog-pegasus.service + +%preun devel +if [ $1 -eq 0 ] ; then + make --directory /usr/share/Pegasus/samples -s clean >/dev/null 2>&1 || :; +fi +:; + +%pre libs +if [ $1 -eq 1 ]; then +# first install: create the 'pegasus' user and group: + /usr/sbin/groupadd -g %{pegasus_gid} -f -r pegasus >/dev/null 2>&1 || :; + /usr/sbin/useradd -u %{pegasus_uid} -r -N -M -g pegasus -s /sbin/nologin -d /var/lib/Pegasus \ + -c "tog-pegasus OpenPegasus WBEM/CIM services" pegasus >/dev/null 2>&1 || :; +fi +:; + +%post libs +if [ $1 -eq 1 ]; then + # Create Symbolic Links for SDK Libraries + # + ln -sf libpegclient.so.1 /usr/%PEGASUS_ARCH_LIB/libpegclient.so + ln -sf libpegcommon.so.1 /usr/%PEGASUS_ARCH_LIB/libpegcommon.so + ln -sf libpegprovider.so.1 /usr/%PEGASUS_ARCH_LIB/libpegprovider.so + ln -sf libDefaultProviderManager.so.1 /usr/%PEGASUS_ARCH_LIB/libDefaultProviderManager.so + ln -sf libCIMxmlIndicationHandler.so.1 /usr/%PEGASUS_ARCH_LIB/libCIMxmlIndicationHandler.so + ln -sf libsnmpIndicationHandler.so.1 /usr/%PEGASUS_ARCH_LIB/libsnmpIndicationHandler.so + + # Create Symbolic Links for Packaged Provider Libraries + # + ln -sf libComputerSystemProvider.so.1 /usr/%PEGASUS_ARCH_LIB/Pegasus/providers/libComputerSystemProvider.so + ln -sf libOSProvider.so.1 /usr/%PEGASUS_ARCH_LIB/Pegasus/providers/libOSProvider.so + ln -sf libProcessProvider.so.1 /usr/%PEGASUS_ARCH_LIB/Pegasus/providers/libProcessProvider.so + + # Create Symbolic Links for Packaged Provider Managers + # + ln -sf libCMPIProviderManager.so.1 /usr/%PEGASUS_ARCH_LIB/Pegasus/providerManagers/libCMPIProviderManager.so + + # Change ownership of Symbolic Links to the 'pegasus' group + # + /bin/chgrp -h pegasus /usr/%{_lib}/libpegclient.so + /bin/chgrp -h pegasus /usr/%{_lib}/libpegcommon.so + /bin/chgrp -h pegasus /usr/%{_lib}/libpegprovider.so + /bin/chgrp -h pegasus /usr/%{_lib}/libDefaultProviderManager.so + /bin/chgrp -h pegasus /usr/%{_lib}/libCIMxmlIndicationHandler.so + /bin/chgrp -h pegasus /usr/%{_lib}/libsnmpIndicationHandler.so + /bin/chgrp -h pegasus /usr/%{_lib}/Pegasus/providers/libComputerSystemProvider.so + /bin/chgrp -h pegasus /usr/%{_lib}/Pegasus/providers/libOSProvider.so + /bin/chgrp -h pegasus /usr/%{_lib}/Pegasus/providers/libProcessProvider.so + /bin/chgrp -h pegasus /usr/%{_lib}/Pegasus/providerManagers/libCMPIProviderManager.so +fi +:; +/sbin/ldconfig + +%postun libs +/sbin/ldconfig + + +%changelog +* Tue Feb 01 2022 Vitezslav Crhonek - 2.14.1-64 +- Fix build flags + Resolves: #2044895 +- Fix preun systemd macro call + Resolves: #2048002 + +* Tue Aug 10 2021 Mohan Boddu - 2:2.14.1-63 +- Rebuilt for IMA sigs, glibc 2.34, aarch64 flags + Related: rhbz#1991688 + +* Thu Jul 22 2021 Vitezslav Crhonek - 2.14.1-62 +- Improve error message without DES support in SNMP + Resolves: rhbz#1972623 + +* Wed Jun 16 2021 Florian Weimer - 2:2.14.1-61 +- Port to net-snmp without DES support (#1958073) + +* Wed Jun 16 2021 Mohan Boddu - 2:2.14.1-60 +- Rebuilt for RHEL 9 BETA for openssl 3.0 + Related: rhbz#1971065 + +* Fri Apr 16 2021 Mohan Boddu - 2:2.14.1-59 +- Rebuilt for RHEL 9 BETA on Apr 15th 2021. Related: rhbz#1947937 + +* Wed Jan 27 2021 Fedora Release Engineering - 2:2.14.1-58 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild + +* Thu Nov 26 2020 Vitezslav Crhonek - 2:2.14.1-57 +- Fix FTBFS +- Use make macros, patch by Tom Stellard + +* Thu Aug 27 2020 Josef Řídký - 2:2.14.1-56 +- Rebuilt for new net-snmp release + +* Wed Jul 29 2020 Fedora Release Engineering - 2:2.14.1-55 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild + +* Tue Jul 28 2020 Jeff Law - 2:2.14.1-54 +- Force C++14 as this code is not C++17 ready + +* Thu Jun 25 2020 Vitezslav Crhonek - 2:2.14.1-53 +- Comply with Fedora crypto policy + +* Wed Mar 25 2020 Tom Stellard - 2:2.14.1-52 +- Fix -Wreserved-user-defined-literal warnings + +* Thu Feb 27 2020 Vitezslav Crhonek - 2:2.14.1-51 +- Fix tmpfiles path + +* Fri Jan 31 2020 Fedora Release Engineering - 2:2.14.1-50 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild + +* Sat Jul 27 2019 Fedora Release Engineering - 2:2.14.1-49 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild + +* Sun Feb 03 2019 Fedora Release Engineering - 2:2.14.1-48 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild + +* Mon Jan 14 2019 Björn Esser - 2:2.14.1-47 +- Rebuilt for libcrypt.so.2 (#1666033) + +* Wed Aug 01 2018 Vitezslav Crhonek - 2:2.14.1-46 +- Review and fix %%files section because of failing rpm -V + +* Tue Jul 24 2018 Adam Williamson - 2:2.14.1-45 +- Rebuild for new net-snmp + +* Sat Jul 14 2018 Fedora Release Engineering - 2:2.14.1-44 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild + +* Fri Feb 09 2018 Fedora Release Engineering - 2:2.14.1-43 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild + +* Sat Jan 20 2018 Björn Esser - 2:2.14.1-42 +- Rebuilt for switch to libxcrypt + +* Thu Aug 03 2017 Fedora Release Engineering - 2:2.14.1-41 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild + +* Thu Jul 27 2017 Fedora Release Engineering - 2:2.14.1-40 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild + +* Wed Mar 01 2017 Vitezslav Crhonek - 2:2.14.1-39 +- Fix FTBFS because of openssl-1.1 + Resolves: #1424141 + +* Sat Feb 11 2017 Fedora Release Engineering - 2:2.14.1-38 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild + +* Wed Aug 31 2016 Vitezslav Crhonek - 2:2.14.1-37 +- Release permissions for files %%{_libdir}/Pegasus, there's no reason + to hide them for others + +* Thu Mar 17 2016 Vitezslav Crhonek - 2:2.14.1-36 +- Move SSL certificates to more convenient place, update related scripts + and README.RedHat.SSL + Related: #1308809 + +* Fri Feb 05 2016 Fedora Release Engineering - 2:2.14.1-35 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild + +* Mon Oct 12 2015 Vitezslav Crhonek - 2:2.14.1-34 +- Remove Beaker conflicting env variable from benchmark tests + +* Tue Oct 06 2015 Vitezslav Crhonek - 2:2.14.1-33 +- Fix setupSDK in -devel for ppc64le + +* Mon Sep 21 2015 Vitezslav Crhonek - 2:2.14.1-32 +- Add manpage for repupgrade, fixes in cimconfig manapage + +* Tue Sep 15 2015 Vitezslav Crhonek - 2:2.14.1-31 +- Add missing dependency for -test subpackage +- Fix enumerating instances of PG_SSLCertificateRevocationList returns error + Resolves: #1032046 + +* Mon Aug 31 2015 Vitezslav Crhonek - 2:2.14.1-30 +- Fix possible cleanup warning during package upgrade + +* Thu Aug 13 2015 Vitezslav Crhonek - 2:2.14.1-29 +- Require restorecon because of %%post + Resolves: #1253127 + +* Tue Jun 23 2015 Vitezslav Crhonek - 2:2.14.1-28 +- Add install CIMEnumerationContext.h and UintArgs.h to -devel because of lmiwbem + +* Fri Jun 19 2015 Fedora Release Engineering - 2:2.14.1-27 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild + +* Thu May 28 2015 Vitezslav Crhonek - 2:2.14.1-26 +- Fix setupSDK in -devel +- Use Experimental DMTF CIM schema version 2.38.0 + +* Tue May 26 2015 Vitezslav Crhonek - 2:2.14.1-25 +- Fix sending of SNMPv3 traps + +* Tue May 19 2015 Vitezslav Crhonek - 2:2.14.1-24 +- Add snmp tests to the -test rpm and enable them, configure snmptrapd + in test setup phase +- Add missing ssl.h include + +* Wed Apr 08 2015 Vitezslav Crhonek - 2:2.14.1-23 +- Update to upstream version 2.14.1 + +* Tue Feb 10 2015 Vitezslav Crhonek - 2:2.13.0-23 +- Fix tog-pegasus.service is marked world-inaccessible + Resolves: #1191026 +- Fix build fail with gcc5 + +* Mon Feb 02 2015 Vitezslav Crhonek - 2:2.13.0-22 +- Backup only latest repository when upgrading the package + Resolves: #1069620 + +* Mon Jan 26 2015 Vitezslav Crhonek - 2:2.13.0-21 +- Exclude accidentaly packed tmpfiles dir from -libs subpackage on i686 + Resolves: #1185133 + +* Mon Jan 19 2015 Vitezslav Crhonek - 2:2.13.0-20 +- Fix packaging of tmpfiles + +* Mon Sep 22 2014 Vitezslav Crhonek - 2:2.13.0-19 +- Fix missing space in generate-certs + +* Mon Sep 01 2014 Vitezslav Crhonek - 2:2.13.0-18 +- Increase security of generating SSL certificates + +* Mon Aug 18 2014 Fedora Release Engineering - 2:2.13.0-17 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild + +* Tue Aug 12 2014 Vitezslav Crhonek - 2:2.13.0-16 +- Fix Pegasus service regenerates SSL certificates on every start + Resolves: #1126871 + +* Tue Aug 05 2014 Michal Minar - 2:2.13.0-15 +- Fixed wrong instances from CIMOM callback + Resolves: #1038013 + +* Tue Jul 01 2014 Vitezslav Crhonek - 2:2.13.0-14 +- Fix cmpi: CMGetKey() returns wrong data type for some data types + Resolves: #1111571 + +* Sun Jun 08 2014 Fedora Release Engineering - 2:2.13.0-13 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild + +* Mon May 12 2014 Vitezslav Crhonek - 2:2.13.0-12 +- Add symlink to libpeglistener.so.1 + +* Wed Apr 23 2014 Vitezslav Crhonek - 2:2.13.0-11 +- Add install Linkage.h and CIMListener.h to -devel because of lmiwbem + (CIMListener class) + +* Tue Mar 18 2014 Vitezslav Crhonek - 2:2.13.0-10 +- Port to ppc64le architecture (patch by Michel Normand) + Resolves: #1075923 + +* Wed Mar 12 2014 Vitezslav Crhonek - 2:2.13.0-9 +- Wait for the slpd.service in the systemd unit file (patch by Tomas Smetana) + +* Thu Mar 06 2014 Stephen Gallagher - 2:2.13.0-8 +- Generate SSL certificates with x509v3 and CA:FALSE +- Automatically import self-signed certificates into local trust-store +- Move SSL certificate generation into the systemd service file + +* Thu Jan 30 2014 Vitezslav Crhonek - 2:2.13.0-7 +- Add Platform_LINUX_XSCALE_GNU.h to -devel because of lmiwbem on arm + +* Wed Jan 08 2014 Vitezslav Crhonek - 2:2.13.0-6 +- Allow unprivileged users to subscribe to indications + Resolves: #1049314 +- Remove packages which are part of the minimum build environment from BR + +* Mon Nov 04 2013 Vitezslav Crhonek - 2:2.13.0-5 +- Fix missing openssl dependency + Resolves: #1022056 + +* Thu Oct 24 2013 Tomas Bzatek - 2:2.13.0-4 +- Fix PG_ComputerSystem to have correct CreationClassName value + +* Wed Oct 09 2013 Vitezslav Crhonek - 2:2.13.0-3 +- Add version to cim-server virtual provides + +* Thu Sep 05 2013 Vitezslav Crhonek - 2:2.13.0-2 +- Use Experimental DMTF CIM schema version 2.38.0 + +* Tue Sep 03 2013 Vitezslav Crhonek - 2:2.13.0-1 +- Update to upstream version 2.13.0 + +* Tue Aug 27 2013 Vitezslav Crhonek - 2:2.12.1-9 +- Fix package FTBFS, unversioned docdir change + Resolves: #992795 + +* Sun Aug 04 2013 Fedora Release Engineering - 2:2.12.1-8 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild + +* Wed Jul 24 2013 Vitezslav Crhonek - 2:2.12.1-7 +- Require net-snmp-libs instead of net-snmp + +* Mon Jul 22 2013 D.Marlin - 2:2.12.1-6 +- Add initial 64-bit ARM (Aarch64) support. + See http://bugzilla.openpegasus.org/show_bug.cgi?id=9663 + +* Thu Jul 18 2013 Vitezslav Crhonek - 2:2.12.1-5 +- Change root/PG_InterOp to root/interop + +* Mon Jun 03 2013 Vitezslav Crhonek - 2:2.12.1-4 +- Workaround for Python reinitializion issue + Resolves: #958273 + +* Tue May 07 2013 Vitezslav Crhonek - 2:2.12.1-3 +- Fix atomic operations on ARM (patch by D. Marlin) + Resolves: #922770 + +* Thu Apr 25 2013 Vitezslav Crhonek - 2:2.12.1-2 +- Add -fno-strict-aliasing + +* Sun Mar 31 2013 Peter Robinson 2:2.12.1-1 +- Update to upstream version 2.12.1 + +* Mon Mar 18 2013 Jon Ciesla - 2:2.12.0-16 +- Fix dates in changelog, BZ 922770. + +* Tue Mar 12 2013 Vitezslav Crhonek - 2:2.12.0-15 +- Fix source link + Resolves: #905992 + +* Mon Feb 18 2013 Vitezslav Crhonek - 2:2.12.0-14 +- Fix /usr/lib/systemd* unintentionally included in -libs subpackage + +* Fri Feb 15 2013 Fedora Release Engineering - 2:2.12.0-13 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild + +* Wed Jan 23 2013 Vitezslav Crhonek - 2:2.12.0-12 +- Fix schema-version-and-includes patch + +* Wed Jan 16 2013 Vitezslav Crhonek - 2:2.12.0-11 +- Use Experimental DMTF CIM schema version 2.33.0 + +* Tue Jan 08 2013 Vitezslav Crhonek - 2:2.12.0-10 +- Fix getPropertyAt() returns Null instead of empty array (patch by Jan Safranek) + +* Tue Dec 18 2012 Vitezslav Crhonek - 2:2.12.0-9 +- Add cimprovagt wrapper for possibility of confining providers in SELinux, + update README.RedHat.Security accordingly, add provider specific wrapper + example + +* Thu Dec 06 2012 Vitezslav Crhonek - 2:2.12.0-8 +- Fix tracing of CMPI messages with CMPI_DEV_DEBUG severity + Resolves: #883395 + +* Mon Dec 03 2012 Vitezslav Crhonek - 2:2.12.0-7 +- Add %%check section and run unit tests +- Enable -test subpackage + +* Tue Nov 20 2012 Vitezslav Crhonek - 2:2.12.0-6 +- Set PEGASUS_ENABLE_INTEROP_PROVIDER=true (fixes registration of CMPI providers) +- Move .so links back to main package (they are necessary to be present for a user + to use or execute the functionality in the base package properly) + +* Tue Nov 13 2012 Vitezslav Crhonek - 2:2.12.0-5 +- Call ldconfig in %%post/%%postun of -libs subpackage +- Move .so links to -devel subpackage + +* Wed Oct 24 2012 Vitezslav Crhonek - 2:2.12.0-4 +- Fix CMPI enumGetNext function to change CMPI Data state from default CMPI_nullValue + to CMPI_goodValue when it finds and returns next instance correctly +- Enable processing of ExecQuery operations + +* Thu Oct 18 2012 Vitezslav Crhonek - 2:2.12.0-3 +- Fix permissions for executables + +* Tue Oct 16 2012 Vitezslav Crhonek - 2:2.12.0-2 +- Fix local-or-remote-auth patch to work with IPv6 +- Distribute modified access.conf file to conform README.RedHat.Security + +* Tue Oct 09 2012 Vitezslav Crhonek - 2:2.12.0-1 +- Update to upstream version 2.12.0 + +* Wed Aug 22 2012 Lukáš Nykrýn - 2:2.11.1-10 +- Scriptlets replaced with new systemd macros (#850411) + +* Tue Jul 31 2012 Vitezslav Crhonek - 2:2.11.1-9 +- Fix security context of /var/run/tog-pegasus in post install scriptlet + +* Sat Jul 21 2012 Fedora Release Engineering - 2:2.11.1-8 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild + +* Mon May 28 2012 Peter Robinson - 2:2.11.1-7 +- Add options for ARM arch, cleanup ARCH directives +- Add openssl base package + +* Mon May 21 2012 Vitezslav Crhonek - 2:2.11.1-6 +- Add systemd support + +* Tue Feb 28 2012 Fedora Release Engineering - 2:2.11.1-5 +- Rebuilt for c++ ABI breakage + +* Mon Feb 06 2012 Vitezslav Crhonek - 2:2.11.1-4 +- Add missing useradd/groupadd dependency to tog-pegasus-libs + Resolves: #786888 + +* Sat Jan 14 2012 Fedora Release Engineering - 2:2.11.1-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild + +* Thu Dec 01 2011 Vitezslav Crhonek - 2:2.11.1-2 +- Fix post created symlinks group owner to 'pegasus' + +* Tue Sep 27 2011 Vitezslav Crhonek - 2:2.11.1-1 +- Update to upstream version 2.11.1 +- Add explicit file attributes where RPM requires it +- Disable privilege separation feature + +* Mon Jul 18 2011 Vitezslav Crhonek - 2:2.11.0-2 +- Rebuild + +* Thu May 19 2011 Vitezslav Crhonek - 2:2.11.0-1 +- Update to upstream version 2.11.0 + +* Tue Apr 05 2011 Vitezslav Crhonek - 2:2.10.0-6 +- Add -g flag for compiler + +* Wed Mar 30 2011 Dennis Gilmore - 2:2.10.0-5 +- use posix locks on sparc linux arches + +* Tue Mar 22 2011 Vitezslav Crhonek - 2:2.10.0-4 +- Use %%ghost for /var/run/tog-pegasus + Resolves: #656705 + +* Tue Mar 01 2011 Vitezslav Crhonek - 2:2.10.0-3 +- Don't strip binaries + +* Thu Feb 17 2011 Vitezslav Crhonek - 2:2.10.0-2 +- Remove dubuginfo files from -libs subpackage + +* Wed Feb 16 2011 Vitezslav Crhonek - 2:2.10.0-1 +- Update to upstream version 2.10.0 +- Move creating of the 'pegasus' user and group to the 'libs' %%pre +- Use %%global instead of %%define and some minor spec file cleaning + +* Wed Feb 09 2011 Fedora Release Engineering - 2:2.9.2-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild + +* Wed Dec 15 2010 Vitezslav Crhonek - 2:2.9.2-2 +- Fix provides + +* Wed Nov 3 2010 Vitezslav Crhonek - 2:2.9.2-1 +- Update to upstream version 2.9.2 +- Mark files in /var/lib/Pegasus as noverify in spec file +- Fix initscript permissions +- Add patch/source descriptions to the spec file +- Cleanup the spec file, use upstream Makefile + +* Thu Apr 22 2010 Vitezslav Crhonek - 2:2.9.0-11 +- Fix initscript permissions + +* Thu Jan 21 2010 Vitezslav Crhonek - 2:2.9.0-10 +- Add cimsub to the pegasus_arch_alternatives script + Resolves: #543956 + +* Mon Nov 2 2009 Vitezslav Crhonek - 2:2.9.0-9 +- Fix wrong multilib flag for ix86 arch + +* Wed Sep 30 2009 Vitezslav Crhonek - 2:2.9.0-8 +- Rebuilt with new net-snmp + +* Wed Sep 23 2009 Vitezslav Crhonek - 2:2.9.0-7 +- Fix initscript + Resolves: #523370 + +* Wed Sep 16 2009 Tomas Mraz - 2:2.9.0-6 +- Use password-auth common PAM configuration instead of system-auth + +* Tue Aug 25 2009 Tomas Mraz - 2:2.9.0-5 +- rebuilt with new openssl + +* Wed Aug 19 2009 Vitezslav Crhonek - 2:2.9.0-4 +- Fix Source (but I'm afraid it's not very persistent and it will + not work again after some time) + +* Sun Jul 26 2009 Fedora Release Engineering - 2:2.9.0-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild + +* Tue Jul 21 2009 Vitezslav Crhonek - 2:2.9.0-2 +- Fix Group + +* Tue Jun 16 2009 Vitezslav Crhonek - 2:2.9.0-1 +- Update to upstream version 2.9.0 +- Remove redhat-lsb requires +- Add README.RedHat.SSL + +* Thu Apr 16 2009 Vitezslav Crhonek - 2:2.7.2-8 +- Replace useradd '-n' option by '-N' ('-n' is obsolete) + Resolves: #495729 + +* Tue Mar 3 2009 Vitezslav Crhonek - 2:2.7.2-7 +- Add noreplace to config files + +* Sat Feb 28 2009 Caolán McNamara - 2:2.7.2-6 +- fix elif + +* Wed Feb 25 2009 Fedora Release Engineering - 2:2.7.2-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild + +* Mon Feb 02 2009 Dennis Gilmore < dennis@ausil.us> - 2:2.7.2-4 +- apply sparc fixes + +* Sun Jan 18 2009 Tomas Mraz - 2:2.7.2-3 +- rebuild with new openssl + +* Tue Nov 11 2008 Vitezslav Crhonek - 2:2.7.2-2 +- Fix local or remote auth patch to work correctly with new code base + Related: #459217 + +* Thu Nov 6 2008 Vitezslav Crhonek - 2:2.7.2-1 +- Update to upstream version 2.7.2 + (remove patches added in 2.7.1-1 - they're upstream now) +- Enable out-of-process providers + Resolves: #455109 + +* Mon Sep 8 2008 Tom "spot" Callaway - 2:2.7.1-2 +- fix license tag + +* Tue Jul 15 2008 Vitezslav Crhonek - 2:2.7.1-1 +- Update to upstream version 2.7.1 +- Fix setElementAt() doesn't copy value of CMPI_char parameter + Resolves: #454589 +- Fix CMPI MI factories that return errors are unsupported + Resolves: #454590 +- Fix HTTP 401 responses lack Content-Length headers + Resolves: #454591 + +* Tue Jul 1 2008 Vitezslav Crhonek - 2:2.7.0-9 +- Add SNMP indication handler to package + Resolves: #452930 + +* Tue Jun 3 2008 Vitezslav Crhonek - 2:2.7.0-8 +- Add cimsub to package + Resolves: #447823 + +* Thu May 15 2008 Vitezslav Crhonek - 2:2.7.0-7 +- Rebuild + +* Mon Feb 11 2008 Vitezslav Crhonek - 2:2.7.0-6 +- Rebuild + +* Mon Jan 21 2008 Vitezslav Crhonek - 2:2.7.0-5 +- No snmp tests in Test RPM + +* Thu Jan 10 2008 Vitezslav Crhonek - 2:2.7.0-4 +- Fix Test RPM + +* Wed Dec 5 2007 Vitezslav Crhonek - 2:2.7.0-3 +- Rebuild + +* Fri Nov 23 2007 Vitezslav Crhonek - 2:2.7.0-2 +- Fix OpenPegasus SRPM fails to build Test RPM + Resolves: #391961 + +* Mon Nov 19 2007 Vitezslav Crhonek - 2:2.7.0-1 +- Update to upstream version 2.7.0 +- Unhide some cmpi classes, package cmpi C++ headers +- Fix multiarch conflicts + Resolves: #343311 +- Add libcmpiCppImpl.so (symlink to libcmpiCppImpl.so.1) + Resolves: #366871 + +* Tue Oct 9 2007 Vitezslav Crhonek - 2:2.6.1-2 +- Fix files permissions + Resolves: #200906 + +* Thu Aug 30 2007 Vitezslav Crhonek - 2:2.6.1-1 +- Update to 2.6.1 +- Fix wrong init script (#245339) + +* Wed Mar 28 2007 Vitezslav Crhonek - 2:2.6.0-2 +- Update changelog +- Build with Open Pegasus' Makefiles, istall with Red Hats (Mark Hamzy) + +* Mon Feb 26 2007 Mark Hamzy - 2:2.6.0-1 +- Upgrade to upstream version 2.6.0 + +* Mon Dec 4 2006 Nalin Dahyabhai - 2:2.5.2-3 +- change requires: tog-pegasus to prereq: tog-pegasus so that the pegasus + user and group will exist when we go to lay down files for tog-pegasus-devel + (#218305) +- prereq the current version of openssl so that the right versions of + libssl and libcrypto will be available in %%post (possible for #208949) + +* Fri Aug 18 2006 Jesse Keating - 2:2.5.2-2 +- rebuilt with latest binutils to pick up 64K -z commonpagesize on ppc* + (#203001) + +* Thu Jul 27 2006 Jason Vas Dias - 2:2.5.2-1.fc6 +- Upgrade to upstream version 2.5.2 +- fix bug 198185 +- fix bug 200246 + +* Wed Jul 12 2006 Jesse Keating - 2:2.5.1-10.FC6.1 +- rebuild + +* Fri Jul 07 2006 Jason Vas Dias - 2:2.4.1-10 +- More upstream 2.5.2_APPROVED bug fixes: + o 4629: Pegasus freezes when it is unable to send out completely, the results of a request + o 5073: Class Names on Reference, ReferenceNames, Assoc, AssocNames returned lower case + o 5090: cimserver crash on a request after attempting to unload idle CMPI providers + o 5180: OperationAggregate deleted in _enqueueResponse while member mutex held + +* Fri Jun 09 2006 Jason Vas Dias - 2:2.5.1-8 +- Fix bug 192754: remove multilib conflicts +- More upstream 2.5.2_APPROVED bug fixes: + o 5119: memory leak in CMPI implementation + o 5115: fix SetConfig_EnvVar comments + +* Wed May 31 2006 Jason Vas Dias - 2:2.5.1-6 +- Apply upstream patches for latest 2.5.2_APPROVED bugs: + o 5046: cimprovider timeout needs to be increased + o 5047: cimmof timeout needs to be increased + o 5048: Invalid Pointer in CIMOperationRequestEncoder code + o 5049: Unnecessary dependency on experimental headers + o 5051: Improved handling of OOP indication provide module failures + o 5053: reserveCapacity method may cause size overflow + o 5059: XMLWriter does not escape '>' in strings + o 5072: Potential race condition with OOP response chunks + o 5083: CIMRequestMessage buildResponse() should be const +- Fix bug 193121: restore world read access to libraries + +* Tue May 02 2006 Jason Vas Dias - 2:2.5.1-4 +- fix bug 190432: %%exclude /usr/lib/debug from RPM +- fix upstream OpenPegasus '2.5.2_APPROVED' bugs, applying upstream patches: + o 4955 : Bogus Description property for OperatingSystem provider + o 4956 : reserveCapacity method may cause size overflow on invalid input + o 4968 : CMPI provider up-calls cause failure with out-of-process + o 4978 : snmpDeliverTrap_netsnmp::_createSession function is not thread safe + o 4983 : Memory leak in OOP indication generation + o 4984 : Forked process hangs in system call + o 4986 : Adding automated test for snmpIndication Handler + ( http://cvs.opengroup.org/bugzilla/show_bug.cgi?id=? ) +- apply upstream update to 'pegasus-2.5.1-warnings.patch' + +* Mon Apr 17 2006 Jason Vas Dias - 2:2.5.1-3 +- Fix repupgrade (make it use correct paths) + +* Fri Apr 14 2006 Jason Vas Dias - 2:2.5.1-2 +- Apply patches for the two '2.5.2_APPROVED' upstream bugzillas + 4934(4943) and 4945 : + (http://cvs.opengroup.org/bugzilla/buglist.cgi?bug_id=4943%%2C4945) +- Fix the PATH_MAX and MAXHOSTNAMELEN issues (again) + +* Thu Apr 06 2006 Jason Vas Dias - 2:2.5.1-1 +- Upgrade to version 2.5.1 (including new upstream .spec file). + +* Tue Mar 7 2006 Bill Nottingham - 2:2.5-9 +- use an assigned uid/gid, do not loop over user ids looking for a free one + +* Fri Feb 10 2006 Jesse Keating - 2:2.5-6.1 +- bump again for double-long bug on ppc(64) + +* Tue Feb 07 2006 Jason Vas Dias - 2:2.5-6 +- restore SSLv23_method SSL support now that bug 173399 is fixed +- rebuild for new gcc, glibc, glibc-kernheaders +- PAMBasicAuthenticatorUnix.cpp includes no longer include syslog.h: add +- /usr/bin/install now decides to fail if chown fails - set $INSTALL_USER, $INSTALL_GROUP + +* Thu Dec 15 2005 Jason Vas Dias - 2:2.5-5 +- fix bug 175434 : deal with pegasus uid/gid already existing + on first install + +* Fri Dec 09 2005 Jesse Keating - 2:2.5-4.1 +- rebuilt + +* Wed Nov 16 2005 Jason Vas Dias - 2:2.5-4 +- fix bug 173401: SSL support broken by openssl-0.9.7g -> 0.9.8a upgrade + +* Wed Nov 09 2005 Jason Vas Dias - 2:2.5-3 +- Rebuild for new openssl dependencies +- Enable CMPI support for sblim-cmpi-base with ENABLE_CQL=true + +* Mon Oct 31 2005 Jason Vas Dias - 2:2.5-2 +- Add /usr/lib/cmpi alternate providerLibDir for sblim-cmpi-base Fedora Extras pkg +- Fix bug 171124: use numeric ids for pegasus user/group +- guidelines: do not remove pegasus user/group in %%postun. + +* Fri Oct 14 2005 Tomas Mraz +- use include instead of pam_stack in pam config + +* Fri Sep 30 2005 Jason Vas Dias - 2:2.5-1 +- Implemented new 'make install' target. +- Re-wrote tog-pegasus.spec file from scratch. +- Ported BZ 167986 authentication code and BZ 167164 + BZ 167165 fixes from RHEL-4 + +* Wed Sep 28 2005 Jason Vas Dias - 2:2.5-0 +- Initial build.