diff --git a/.cvsignore b/.cvsignore index 54dc94e..79c64c1 100644 --- a/.cvsignore +++ b/.cvsignore @@ -2,3 +2,7 @@ tog-pegasus-2.4.1.Beta-1.tar.gz pegasus-2.5.tar.gz pegasus-2.5.1.tar.gz pegasus-2.5.2.tar.gz +pegasus-2.6.0.tar.gz +pegasus-2.6.0-cmpi-provider-lib.patch +pegasus-2.6.0-local-or-remote-auth.patch +pegasus-2.6.0-no-rpath.patch diff --git a/RedHat.OpenPegasus.Makefile b/RedHat.OpenPegasus.Makefile index 8b428d5..0ce3a19 100644 --- a/RedHat.OpenPegasus.Makefile +++ b/RedHat.OpenPegasus.Makefile @@ -71,10 +71,13 @@ SBINS=$(B)/bin/cimserver $(B)/bin/cimprovagt $(B)/bin/cimauth $(B)/bin/cimconfi UBINS=$(B)/bin/cimmof $(B)/bin/cimmofl $(B)/bin/cimprovider $(B)/bin/osinfo $(B)/bin/wbemexec BINARIES=$(SBINS) $(UBINS) PROVIDERS=$(B)/lib/Pegasus/providers/libComputerSystemProvider.so.1 $(B)/lib/Pegasus/providers/libOSProvider.so.1 $(B)/lib/Pegasus/providers/libProcessProvider.so.1 -LIBRARIES=$(B)/lib/libCIMQueryCapabilitiesProvider.so.1 $(B)/lib/libCIMxmlIndicationHandler.so.1 $(B)/lib/libCMPIProviderManager.so.1 $(B)/lib/libCertificateProvider.so.1 $(B)/lib/libConfigSettingProvider.so.1 $(B)/lib/libDefaultProviderManager.so.1 $(B)/lib/libNamespaceProvider.so.1 $(B)/lib/libProviderRegistrationProvider.so.1 $(B)/lib/libUserAuthProvider.so.1 $(B)/lib/libcmpiCppImpl.so.1 $(B)/lib/libpegauthentication.so.1 $(B)/lib/libpegclient.so.1 $(B)/lib/libpegcliutils.so.1 $(B)/lib/libpegcommon.so.1 $(B)/lib/libpegcompiler.so.1 $(B)/lib/libpegconfig.so.1 $(B)/lib/libpegcql.so.1 $(B)/lib/libpegexportclient.so.1 $(B)/lib/libpegexportserver.so.1 $(B)/lib/libpeggetoopt.so.1 $(B)/lib/libpeghandlerservice.so.1 $(B)/lib/libpegindicationservice.so.1 $(B)/lib/libpeglistener.so.1 $(B)/lib/libpegprm.so.1 $(B)/lib/libpegprovider.so.1 $(B)/lib/libpegprovidermanager.so.1 $(B)/lib/libpegquerycommon.so.1 $(B)/lib/libpegqueryexpression.so.1 $(B)/lib/libpegrepository.so.1 $(B)/lib/libpegserver.so.1 $(B)/lib/libpegservice.so.1 $(B)/lib/libpeguser.so.1 $(B)/lib/libpegwql.so.1 +LIBRARIES=$(B)/lib/libCIMQueryCapabilitiesProvider.so.1 $(B)/lib/libCIMxmlIndicationHandler.so.1 $(B)/lib/libCMPIProviderManager.so.1 $(B)/lib/libCertificateProvider.so.1 $(B)/lib/libConfigSettingProvider.so.1 $(B)/lib/libDefaultProviderManager.so.1 $(B)/lib/libNamespaceProvider.so.1 $(B)/lib/libProviderRegistrationProvider.so.1 $(B)/lib/libUserAuthProvider.so.1 $(B)/lib/libcmpiCppImpl.so.1 $(B)/lib/libpegauthentication.so.1 $(B)/lib/libpegclient.so.1 $(B)/lib/libpegcliutils.so.1 $(B)/lib/libpegcommon.so.1 $(B)/lib/libpegcompiler.so.1 $(B)/lib/libpegconfig.so.1 $(B)/lib/libpegcql.so.1 $(B)/lib/libpegexportclient.so.1 $(B)/lib/libpegexportserver.so.1 $(B)/lib/libpeggetoopt.so.1 $(B)/lib/libpeghandlerservice.so.1 $(B)/lib/libpegindicationservice.so.1 $(B)/lib/libpeglistener.so.1 $(B)/lib/libpegprm.so.1 $(B)/lib/libpegprovider.so.1 $(B)/lib/libpegprovidermanager.so.1 $(B)/lib/libpegquerycommon.so.1 $(B)/lib/libpegqueryexpression.so.1 $(B)/lib/libpegrepository.so.1 $(B)/lib/libpegserver.so.1 $(B)/lib/libpegservice.so.1 $(B)/lib/libpeguser.so.1 $(B)/lib/libpegwql.so.1 $(B)/lib/libpegpmservice.so.1 all: $(BINARIES) $(LIBRARIES) $(PROVIDERS) +stage_PegasusSystemFiles: + $(MAKE) -f Makefile.Release stage_PegasusSystemFiles + setup: $(MAKE) -f Makefile.Release create_ProductVersionFile $(MAKE) -f Makefile.Release create_CommonProductDirectoriesInclude @@ -83,11 +86,11 @@ setup: $(BINARIES) $(LIBRARIES) $(PROVIDERS): setup -$(B)/bin/cimserver: $(B)/lib/libpegclient.so.1 $(B)/lib/libpegserver.so.1 $(B)/lib/libpeguser.so.1 $(B)/lib/libpegprm.so.1 $(B)/lib/libNamespaceProvider.so.1 $(B)/lib/libpegindicationservice.so.1 $(B)/lib/libpeghandlerservice.so.1 $(B)/lib/libConfigSettingProvider.so.1 $(B)/lib/libDefaultProviderManager.so.1 $(B)/lib/libProviderRegistrationProvider.so.1 $(B)/lib/libpegauthentication.so.1 $(B)/lib/libUserAuthProvider.so.1 $(B)/lib/libpegqueryexpression.so.1 $(B)/lib/libpegcql.so.1 $(B)/lib/libpegquerycommon.so.1 $(B)/lib/libpegwql.so.1 $(B)/lib/libCIMQueryCapabilitiesProvider.so.1 $(B)/lib/libpegprovidermanager.so.1 $(B)/lib/libpegprovider.so.1 $(B)/lib/libpegexportserver.so.1 $(B)/lib/libpegrepository.so.1 $(B)/lib/libpegconfig.so.1 $(B)/lib/libpegcommon.so.1 $(B)/lib/libpegservice.so.1 $(B)/lib/libCertificateProvider.so.1 $(B)/lib/Pegasus/providers/libComputerSystemProvider.so.1 $(B)/lib/Pegasus/providers/libOSProvider.so.1 $(B)/lib/Pegasus/providers/libProcessProvider.so.1 +$(B)/bin/cimserver: $(B)/lib/libpegclient.so.1 $(B)/lib/libpegserver.so.1 $(B)/lib/libpeguser.so.1 $(B)/lib/libpegprm.so.1 $(B)/lib/libNamespaceProvider.so.1 $(B)/lib/libpegindicationservice.so.1 $(B)/lib/libpeghandlerservice.so.1 $(B)/lib/libConfigSettingProvider.so.1 $(B)/lib/libDefaultProviderManager.so.1 $(B)/lib/libProviderRegistrationProvider.so.1 $(B)/lib/libpegauthentication.so.1 $(B)/lib/libUserAuthProvider.so.1 $(B)/lib/libpegqueryexpression.so.1 $(B)/lib/libpegcql.so.1 $(B)/lib/libpegquerycommon.so.1 $(B)/lib/libpegwql.so.1 $(B)/lib/libCIMQueryCapabilitiesProvider.so.1 $(B)/lib/libpegprovidermanager.so.1 $(B)/lib/libpegprovider.so.1 $(B)/lib/libpegexportserver.so.1 $(B)/lib/libpegrepository.so.1 $(B)/lib/libpegconfig.so.1 $(B)/lib/libpegcommon.so.1 $(B)/lib/libpegservice.so.1 $(B)/lib/libCertificateProvider.so.1 $(B)/lib/Pegasus/providers/libComputerSystemProvider.so.1 $(B)/lib/Pegasus/providers/libOSProvider.so.1 $(B)/lib/Pegasus/providers/libProcessProvider.so.1 $(B)/lib/libpegpmservice.so.1 $(MAKE) -C $(R)/src/Server $(B)/bin/cimprovagt: $(B)/lib/libpegprovidermanager.so.1 $(B)/lib/libpegprovider.so.1 $(B)/lib/libpegconfig.so.1 $(B)/lib/libpegclient.so.1 $(B)/lib/libpegcommon.so.1 $(B)/lib/libpegprm.so.1 $(B)/lib/libpegwql.so.1 $(B)/lib/libpegquerycommon.so.1 $(B)/lib/libpegqueryexpression.so.1 $(B)/lib/libpegrepository.so.1 $(B)/lib/libpegcql.so.1 $(B)/lib/Pegasus/providers/libComputerSystemProvider.so.1 $(B)/lib/Pegasus/providers/libOSProvider.so.1 $(B)/lib/Pegasus/providers/libProcessProvider.so.1 - $(MAKE) -C src/Pegasus/ProviderManager2/ProviderAgent + $(MAKE) -C src/Pegasus/ProviderManagerService/ProviderAgent $(B)/bin/cimauth: $(B)/lib/libpegcliutils.so.1 $(B)/lib/libpegclient.so.1 $(B)/lib/libpeggetoopt.so.1 $(B)/lib/libpegconfig.so.1 $(B)/lib/libpegcommon.so.1 $(MAKE) -C $(R)/src/Clients/cimauth @@ -212,7 +215,7 @@ $(B)/lib/libpegqueryexpression.so.1: $(B)/lib/libpegcommon.so.1 $(B)/lib/libpegq $(B)/lib/libpegrepository.so.1: $(B)/lib/libpegcommon.so.1 $(B)/lib/libpegquerycommon.so.1 $(B)/lib/libpegconfig.so.1 $(MAKE) -C $(R)/src/Pegasus/Repository -$(B)/lib/libpegserver.so.1: $(B)/lib/libpegcommon.so.1 $(B)/lib/libpegrepository.so.1 $(B)/lib/libpegprovider.so.1 $(B)/lib/libpegexportserver.so.1 $(B)/lib/libpegprovidermanager.so.1 $(B)/lib/libpegconfig.so.1 $(B)/lib/libpeguser.so.1 $(B)/lib/libpegauthentication.so.1 $(B)/lib/libpeghandlerservice.so.1 $(B)/lib/libpegindicationservice.so.1 $(B)/lib/libpegquerycommon.so.1 $(B)/lib/libpegwql.so.1 $(B)/lib/libpegclient.so.1 $(B)/lib/libpegprm.so.1 $(B)/lib/libDefaultProviderManager.so.1 $(B)/lib/libConfigSettingProvider.so.1 $(B)/lib/libUserAuthProvider.so.1 $(B)/lib/libProviderRegistrationProvider.so.1 $(B)/lib/libNamespaceProvider.so.1 $(B)/lib/libCIMQueryCapabilitiesProvider.so.1 $(B)/lib/libCertificateProvider.so.1 $(B)/lib/libpegqueryexpression.so.1 $(B)/lib/libpegcql.so.1 +$(B)/lib/libpegserver.so.1: $(B)/lib/libpegcommon.so.1 $(B)/lib/libpegrepository.so.1 $(B)/lib/libpegprovider.so.1 $(B)/lib/libpegexportserver.so.1 $(B)/lib/libpegprovidermanager.so.1 $(B)/lib/libpegconfig.so.1 $(B)/lib/libpeguser.so.1 $(B)/lib/libpegauthentication.so.1 $(B)/lib/libpeghandlerservice.so.1 $(B)/lib/libpegindicationservice.so.1 $(B)/lib/libpegquerycommon.so.1 $(B)/lib/libpegwql.so.1 $(B)/lib/libpegclient.so.1 $(B)/lib/libpegprm.so.1 $(B)/lib/libDefaultProviderManager.so.1 $(B)/lib/libConfigSettingProvider.so.1 $(B)/lib/libUserAuthProvider.so.1 $(B)/lib/libProviderRegistrationProvider.so.1 $(B)/lib/libNamespaceProvider.so.1 $(B)/lib/libCIMQueryCapabilitiesProvider.so.1 $(B)/lib/libCertificateProvider.so.1 $(B)/lib/libpegqueryexpression.so.1 $(B)/lib/libpegcql.so.1 $(B)/lib/libpegpmservice.so.1 $(MAKE) -C $(R)/src/Pegasus/Server $(B)/lib/libpegservice.so.1: $(B)/lib/libpegcommon.so.1 @@ -224,6 +227,9 @@ $(B)/lib/libpeguser.so.1: $(B)/lib/libpegcommon.so.1 $(B)/lib/libpegconfig.so.1 $(B)/lib/libpegwql.so.1: $(B)/lib/libpegcommon.so.1 $(B)/lib/libpegquerycommon.so.1 $(MAKE) -C $(R)/src/Pegasus/WQL +$(B)/lib/libpegpmservice.so.1: $(B)/lib/libpegcommon.so.1 + $(MAKE) -C $(R)/src/Pegasus/ProviderManagerService + # # install target : # @@ -377,9 +383,9 @@ mof: $(CIMSCHEMA) $(PEGSCHEMA) $(install) -m 0644 -o $(root_user) -g $(root_user) -p $(PEGSCHEMA) $(D)/$(share)/Pegasus/mof/Pegasus SDK: - /bin/mkdir -p $(PEGASUS_STAGING_DIR)/usr/share/doc/tog-pegasus-2.5/ + /bin/mkdir -p $(PEGASUS_STAGING_DIR)/usr/share/doc/tog-pegasus-2.6/ $(MAKE) -f $(R)/mak/SDKMakefile stageSDK - /bin/rm -rf $(PEGASUS_STAGING_DIR)/usr/share/doc/tog-pegasus-2.5/ + /bin/rm -rf $(PEGASUS_STAGING_DIR)/usr/share/doc/tog-pegasus-2.6/ if [ -n "$(BSX)" ]; then mv $(D)/$(share)/Pegasus/samples/mak/config.mak $(D)/$(share)/Pegasus/samples/mak/config.mak$(BSX); /bin/ln -s config.mak$(BSX) $(D)/$(share)/Pegasus/samples/mak/config.mak; fi; touch SDK @@ -392,7 +398,7 @@ repository: # test package : TESTLIBS:=$(B)/lib/libFamilyProvider.so.1 $(B)/lib/libIndicationStressTestConsumer.so.1 $(B)/lib/libIndicationStressTestProvider.so.1 $(B)/lib/libSampleInstanceProvider.so.1 $(B)/lib/libSampleMethodProvider.so.1 -TESTBINS:=$(B)/bin/TestAbstract $(B)/bin/TestArray $(B)/bin/TestBase64 $(B)/bin/TestClassDecl $(B)/bin/TestDateTime $(B)/bin/TestFlavor $(B)/bin/TestFormatter $(B)/bin/TestHashTable $(B)/bin/TestInstanceDecl $(B)/bin/TestLogger $(B)/bin/TestMethod $(B)/bin/TestObject $(B)/bin/TestOperationContext $(B)/bin/TestParamValue $(B)/bin/TestParameter $(B)/bin/TestProperty $(B)/bin/TestQualifier $(B)/bin/TestQualifierDecl $(B)/bin/TestQualifierList $(B)/bin/TestQueue $(B)/bin/TestReference $(B)/bin/TestResolve $(B)/bin/TestResponseHandler $(B)/bin/TestScope $(B)/bin/TestStack $(B)/bin/TestStopwatch $(B)/bin/TestStrToInstName $(B)/bin/TestString $(B)/bin/TestTimeValue $(B)/bin/TestToMof $(B)/bin/TestValidateClass $(B)/bin/TestValue $(B)/bin/TracerTest $(B)/bin/TestIPC $(B)/bin/TestClient $(B)/bin/OSTestClient $(B)/bin/TestPegClientInvokeMethod2 $(B)/bin/TestIndicationStressTest +TESTBINS:=$(B)/bin/TestAbstract $(B)/bin/TestArray $(B)/bin/TestBase64 $(B)/bin/TestClassDecl $(B)/bin/TestDateTime $(B)/bin/TestFlavor $(B)/bin/TestFormatter $(B)/bin/TestHashTable $(B)/bin/TestInstanceDecl $(B)/bin/TestLogger $(B)/bin/TestMethod $(B)/bin/TestObject $(B)/bin/TestOperationContext $(B)/bin/TestParamValue $(B)/bin/TestParameter $(B)/bin/TestProperty $(B)/bin/TestQualifier $(B)/bin/TestQualifierDecl $(B)/bin/TestQualifierList $(B)/bin/TestReference $(B)/bin/TestResolve $(B)/bin/TestResponseHandler $(B)/bin/TestScope $(B)/bin/TestStack $(B)/bin/TestStopwatch $(B)/bin/TestStrToInstName $(B)/bin/TestString $(B)/bin/TestTimeValue $(B)/bin/TestToMof $(B)/bin/TestValidateClass $(B)/bin/TestValue $(B)/bin/TestClient $(B)/bin/TestOSTestClient $(B)/bin/TestPegClientInvokeMethod2 $(B)/bin/TestIndicationStressTest $(B)/bin/TestAsyncQueue $(B)/bin/TestList $(B)/bin/TestTracer $(B)/lib/libFamilyProvider.so.1: $(B)/lib/libpegcommon.so.1 $(MAKE) -C $(R)/src/Providers/TestProviders/FamilyProvider @@ -466,9 +472,6 @@ $(B)/bin/TestQualifierDecl: $(B)/lib/libpegcommon.so.1 $(B)/bin/TestQualifierList: $(B)/lib/libpegcommon.so.1 $(MAKE) -C $(R)/src/Pegasus/Common/tests/QualifierList -$(B)/bin/TestQueue: $(B)/lib/libpegcommon.so.1 - $(MAKE) -C $(R)/src/Pegasus/Common/tests/Queue - $(B)/bin/TestReference: $(B)/lib/libpegcommon.so.1 $(MAKE) -C $(R)/src/Pegasus/Common/tests/Reference @@ -511,13 +514,10 @@ $(B)/bin/TestIPC: $(B)/lib/libpegcommon.so.1 $(B)/bin/TestResponseHandler: $(B)/lib/libpegcommon.so.1 $(B)/lib/libpegprovider.so.1 $(B)/lib/libpegprovidermanager.so.1 $(B)/lib/libpegprm.so.1 $(B)/lib/libpegconfig.so.1 $(B)/lib/libpegquerycommon.so.1 $(B)/lib/libpegqueryexpression.so.1 $(B)/lib/libpegclient.so.1 $(B)/lib/libpegwql.so.1 $(B)/lib/libpegrepository.so.1 $(B)/lib/libpegcql.so.1 $(MAKE) -C $(R)/src/Pegasus/ProviderManager2/Default/tests/ResponseHandler -$(B)/bin/TracerTest: $(B)/lib/libpegcommon.so.1 - $(MAKE) -C $(R)/src/Pegasus/Common/tests/Tracer - $(B)/bin/TestClient: $(B)/lib/libpegcommon.so.1 $(B)/lib/libpegclient.so.1 $(MAKE) -C $(R)/src/Clients/TestClient -$(B)/bin/OSTestClient: $(B)/lib/libpegcommon.so.1 $(B)/lib/libpegclient.so.1 +$(B)/bin/TestOSTestClient: $(B)/lib/libpegcommon.so.1 $(B)/lib/libpegclient.so.1 $(MAKE) -C $(R)/src/Providers/ManagedSystem/OperatingSystem/tests/OSTestClient $(B)/bin/TestPegClientInvokeMethod2: $(B)/lib/libpegcommon.so.1 $(B)/lib/libpegclient.so.1 @@ -526,6 +526,12 @@ $(B)/bin/TestPegClientInvokeMethod2: $(B)/lib/libpegcommon.so.1 $(B)/lib/libpegc $(B)/bin/TestIndicationStressTest: $(B)/lib/libpegcommon.so.1 $(B)/lib/libpeglistener.so.1 $(B)/lib/libpegclient.so.1 $(B)/lib/libpegexportserver.so.1 $(MAKE) -C $(R)/src/Providers/TestProviders/IndicationStressTestProvider/testclient +$(B)/bin/TestAsyncQueue: $(B)/lib/libpegcommon.so.1 + $(MAKE) -C $(R)/src/Pegasus/Common/tests/AsyncQueue + +$(B)/bin/TestList: $(B)/lib/libpegcommon.so.1 + $(MAKE) -C $(R)/src/Pegasus/Common/tests/List + tests: $(TESTLIBS) $(TESTBINS) install_tests: tests test_dirs test_lib test_bin test_mak test_makefile test_repository diff --git a/pegasus-2.6.0-cmpi-provider-lib.patch b/pegasus-2.6.0-cmpi-provider-lib.patch new file mode 100644 index 0000000..77e009b --- /dev/null +++ b/pegasus-2.6.0-cmpi-provider-lib.patch @@ -0,0 +1,12 @@ +diff -Nur pegasus.orig/src/Pegasus/Config/FixedPropertyTableLinux.h pegasus/src/Pegasus/Config/FixedPropertyTableLinux.h +--- pegasus.orig/src/Pegasus/Config/FixedPropertyTableLinux.h 2006-11-14 12:34:50.000000000 -0600 ++++ pegasus/src/Pegasus/Config/FixedPropertyTableLinux.h 2007-02-22 15:51:33.000000000 -0600 +@@ -61,7 +61,7 @@ + {"crlStore", PEGASUS_SSL_SERVER_CRL}, + # endif + {"repositoryDir", PEGASUS_REPOSITORY_DIR}, +- {"providerDir", PEGASUS_PROVIDER_LIB_DIR ":/usr/" PEGASUS_ARCH_LIB "/cmpi"}, ++ {"providerDir", PEGASUS_PROVIDER_LIB_DIR ":" PEGASUS_DEST_LIB_DIR "/cmpi"}, + # else /* PEGASUS_OVERRIDE_DEFAULT_RELEASE_DIRS */ + {"traceFilePath", "/var/opt/tog-pegasus/cache/trace/cimserver.trc"}, + # if !defined(PEGASUS_USE_SYSLOGS) diff --git a/pegasus-2.6.0-local-or-remote-auth.patch b/pegasus-2.6.0-local-or-remote-auth.patch new file mode 100644 index 0000000..4ed253b --- /dev/null +++ b/pegasus-2.6.0-local-or-remote-auth.patch @@ -0,0 +1,438 @@ +diff -Nur pegasus.orig/src/Pegasus/Common/AuthenticationInfo.h pegasus/src/Pegasus/Common/AuthenticationInfo.h +--- pegasus.orig/src/Pegasus/Common/AuthenticationInfo.h 2006-11-10 12:14:57.000000000 -0600 ++++ pegasus/src/Pegasus/Common/AuthenticationInfo.h 2007-02-23 00:34:45.000000000 -0600 +@@ -352,6 +352,22 @@ + return _rep->getRemotePrivilegedUserAccessChecked(); + } + ++ /** Indicate whether the user is Remote ++ */ ++ Boolean isRemoteUser() const ++ { ++ _checkRep(); ++ return _rep->isRemoteUser(); ++ } ++ ++ /** Set the Remote User flag ++ */ ++ void setRemoteUser(Boolean remoteUser) ++ { ++ _checkRep(); ++ _rep->setRemoteUser(remoteUser); ++ } ++ + private: + + AuthenticationInfo(AuthenticationInfoRep* rep) : _rep(rep) +diff -Nur pegasus.orig/src/Pegasus/Common/AuthenticationInfoRep.cpp pegasus/src/Pegasus/Common/AuthenticationInfoRep.cpp +--- pegasus.orig/src/Pegasus/Common/AuthenticationInfoRep.cpp 2006-11-08 06:41:27.000000000 -0600 ++++ pegasus/src/Pegasus/Common/AuthenticationInfoRep.cpp 2007-02-23 00:34:45.000000000 -0600 +@@ -51,7 +51,8 @@ + _privileged(false), + _authType(String::EMPTY), + _authStatus(NEW_REQUEST), +- _wasRemotePrivilegedUserAccessChecked(false) ++ _wasRemotePrivilegedUserAccessChecked(false), ++ _remoteUser(true) + { + PEG_METHOD_ENTER( + TRC_AUTHENTICATION, "AuthenticationInfoRep::AuthenticationInfoRep"); +@@ -59,6 +60,16 @@ + PEG_METHOD_EXIT(); + } + ++void AuthenticationInfoRep::setRemoteUser(Boolean remoteUser) ++{ ++ PEG_METHOD_ENTER(TRC_AUTHENTICATION, ++ "AuthenticationInfoRep::setRemoteUser"); ++ ++ _remoteUser = remoteUser; ++ ++ PEG_METHOD_EXIT(); ++} ++ + + AuthenticationInfoRep::~AuthenticationInfoRep() + { +diff -Nur pegasus.orig/src/Pegasus/Common/AuthenticationInfoRep.h pegasus/src/Pegasus/Common/AuthenticationInfoRep.h +--- pegasus.orig/src/Pegasus/Common/AuthenticationInfoRep.h 2006-11-10 12:14:57.000000000 -0600 ++++ pegasus/src/Pegasus/Common/AuthenticationInfoRep.h 2007-02-23 00:34:45.000000000 -0600 +@@ -142,6 +142,13 @@ + void setSecurityAssociation(); + #endif + ++ Boolean isRemoteUser() const ++ { ++ return _remoteUser; ++ } ++ ++ void setRemoteUser(Boolean remoteUser); ++ + //PEP187 + Array getClientCertificateChain() + { +@@ -186,6 +193,7 @@ + Boolean _wasRemotePrivilegedUserAccessChecked; + + Array _clientCertificate; ++ Boolean _remoteUser; + }; + + PEGASUS_NAMESPACE_END +diff -Nur pegasus.orig/src/Pegasus/Common/HTTPConnection.cpp pegasus/src/Pegasus/Common/HTTPConnection.cpp +--- pegasus.orig/src/Pegasus/Common/HTTPConnection.cpp 2006-12-01 15:03:27.000000000 -0600 ++++ pegasus/src/Pegasus/Common/HTTPConnection.cpp 2007-02-23 00:34:45.000000000 -0600 +@@ -2030,6 +2030,30 @@ + message->dest = _outputMessageQueue->getQueueId(); + // SendForget(message); + ++ // Allow authenticators to differentiate Remote and Local users: ++ struct sockaddr_in sin_peer, sin_svr; // don't need to worry about IPv6 yet ... ++ socklen_t slen1=sizeof(struct sockaddr_in), slen2=sizeof(struct sockaddr_in); ++ 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 ) ++ ) ++ { ++ if( sin_peer.sin_family == AF_INET ) ++ { ++ if( ((ntohl( sin_peer.sin_addr.s_addr ) >> 24) & 0xff) == 127 ) ++ // message was sent FROM localhost interface ++ message->fromRemoteHost = false; ++ } ++ if( sin_svr.sin_family == AF_INET ) ++ { ++ if( ((ntohl( sin_svr.sin_addr.s_addr ) >> 24) & 0xff) == 127 ) ++ // message was sent TO localhost interface ++ message->fromRemoteHost = false; ++ } ++ } ++ + // + // Set the entry status to BUSY. + // +diff -Nur pegasus.orig/src/Pegasus/Common/HTTPMessage.cpp pegasus/src/Pegasus/Common/HTTPMessage.cpp +--- pegasus.orig/src/Pegasus/Common/HTTPMessage.cpp 2006-11-08 16:24:00.000000000 -0600 ++++ pegasus/src/Pegasus/Common/HTTPMessage.cpp 2007-02-23 00:34:45.000000000 -0600 +@@ -109,7 +109,8 @@ + queueId(queueId_), + authInfo(0), + acceptLanguagesDecoded(false), +- contentLanguagesDecoded(false) ++ contentLanguagesDecoded(false), ++ fromRemoteHost(true) + { + if (cimException_) + cimException = *cimException_; +diff -Nur pegasus.orig/src/Pegasus/Common/HTTPMessage.h pegasus/src/Pegasus/Common/HTTPMessage.h +--- pegasus.orig/src/Pegasus/Common/HTTPMessage.h 2006-11-10 12:14:58.000000000 -0600 ++++ pegasus/src/Pegasus/Common/HTTPMessage.h 2007-02-23 00:34:45.000000000 -0600 +@@ -75,6 +75,7 @@ + ContentLanguageList contentLanguages; + Boolean acceptLanguagesDecoded; + Boolean contentLanguagesDecoded; ++ Boolean fromRemoteHost; + CIMException cimException; + + void parse( +diff -Nur pegasus.orig/src/Pegasus/Security/Authentication/BasicAuthenticationHandler.cpp pegasus/src/Pegasus/Security/Authentication/BasicAuthenticationHandler.cpp +--- pegasus.orig/src/Pegasus/Security/Authentication/BasicAuthenticationHandler.cpp 2006-11-08 06:41:28.000000000 -0600 ++++ pegasus/src/Pegasus/Security/Authentication/BasicAuthenticationHandler.cpp 2007-02-23 00:34:45.000000000 -0600 +@@ -139,7 +139,7 @@ + } + authInfo->setRemotePrivilegedUserAccessChecked(); + +- authenticated = _basicAuthenticator->authenticate(userName, password); ++ authenticated = _basicAuthenticator->authenticate(userName, password, authInfo->isRemoteUser()); + + // Log audit message. + PEG_AUDIT_LOG(logBasicAuthentication( +diff -Nur pegasus.orig/src/Pegasus/Security/Authentication/BasicAuthenticator.h pegasus/src/Pegasus/Security/Authentication/BasicAuthenticator.h +--- pegasus.orig/src/Pegasus/Security/Authentication/BasicAuthenticator.h 2006-01-30 10:18:28.000000000 -0600 ++++ pegasus/src/Pegasus/Security/Authentication/BasicAuthenticator.h 2007-02-23 00:34:45.000000000 -0600 +@@ -67,7 +67,8 @@ + */ + virtual Boolean authenticate( + const String& userName, +- const String& password) = 0; ++ const String& password, ++ Boolean isRemoteUser) = 0; + + /** Construct and return the HTTP Basic authentication challenge header + @return A string containing the authentication challenge header. +diff -Nur pegasus.orig/src/Pegasus/Security/Authentication/PAMBasicAuthenticator.h pegasus/src/Pegasus/Security/Authentication/PAMBasicAuthenticator.h +--- pegasus.orig/src/Pegasus/Security/Authentication/PAMBasicAuthenticator.h 2006-08-09 16:13:04.000000000 -0500 ++++ pegasus/src/Pegasus/Security/Authentication/PAMBasicAuthenticator.h 2007-02-23 00:36:06.000000000 -0600 +@@ -73,7 +73,8 @@ + */ + Boolean authenticate( + const String& userName, +- const String& password); ++ const String& password, ++ Boolean isRemoteUser); + + /** Verify PAM account management for the requesting user. + @param userName String containing the user name +@@ -102,7 +103,8 @@ + + Boolean _authenticateByPAM( + const String& userName, +- const String& password); ++ const String& password, ++ Boolean isRemoteUser); + + void _createPAMStandalone(); + +@@ -158,7 +160,8 @@ + */ + Boolean authenticate( + const String& userName, +- const String& password); ++ const String& password, ++ Boolean isRemoteUser); + + /** Verify whether the user is valid. + @param userName String containing the user name +@@ -220,7 +223,8 @@ + + Boolean _authenticateByPAM( + const String& userName, +- const String& password); ++ const String& password, ++ Boolean isRemoteUser); + + #if defined(PEGASUS_USE_PAM_STANDALONE_PROC) + PAMBasicAuthenticatorStandAlone _pamBasicAuthenticatorStandAlone; +diff -Nur pegasus.orig/src/Pegasus/Security/Authentication/PAMBasicAuthenticatorStub.cpp pegasus/src/Pegasus/Security/Authentication/PAMBasicAuthenticatorStub.cpp +--- pegasus.orig/src/Pegasus/Security/Authentication/PAMBasicAuthenticatorStub.cpp 2006-01-30 10:18:28.000000000 -0600 ++++ pegasus/src/Pegasus/Security/Authentication/PAMBasicAuthenticatorStub.cpp 2007-02-23 00:34:45.000000000 -0600 +@@ -92,7 +92,8 @@ + + Boolean PAMBasicAuthenticator::authenticate( + const String& userName, +- const String& password) ++ const String& password, ++ Boolean isRemoteUser) + { + PEG_METHOD_ENTER(TRC_AUTHENTICATION, + "PAMBasicAuthenticator::authenticate()"); +diff -Nur pegasus.orig/src/Pegasus/Security/Authentication/PAMBasicAuthenticatorUnix.cpp pegasus/src/Pegasus/Security/Authentication/PAMBasicAuthenticatorUnix.cpp +--- pegasus.orig/src/Pegasus/Security/Authentication/PAMBasicAuthenticatorUnix.cpp 2006-11-01 16:42:47.000000000 -0600 ++++ pegasus/src/Pegasus/Security/Authentication/PAMBasicAuthenticatorUnix.cpp 2007-02-23 00:34:45.000000000 -0600 +@@ -48,6 +48,8 @@ + #include + #endif + ++#include ++ + #if defined (PEGASUS_USE_PAM_STANDALONE_PROC) + #include + #include +@@ -130,7 +132,8 @@ + + Boolean PAMBasicAuthenticator::authenticate( + const String& userName, +- const String& password) ++ const String& password, ++ Boolean isRemoteUser) + { + PEG_METHOD_ENTER(TRC_AUTHENTICATION, + "PAMBasicAuthenticator::authenticate()"); +@@ -138,7 +141,7 @@ + Boolean authenticated; + + #if !defined(PEGASUS_USE_PAM_STANDALONE_PROC) +- authenticated = _authenticateByPAM(userName, password); ++ authenticated = _authenticateByPAM(userName, password, isRemoteUser); + #else + // + // Mutex to Serialize Authentication calls. +@@ -146,7 +149,7 @@ + Tracer::trace(TRC_AUTHENTICATION, Tracer::LEVEL4, + "Authentication Mutex lock."); + AutoMutex lock(_authSerializeMutex); +- authenticated = _pamBasicAuthenticatorStandAlone.authenticate( ++ authenticated = _pamBasicAuthenticatorStandAlone->authenticate( + userName, password); + #endif + +@@ -156,7 +159,8 @@ + + Boolean PAMBasicAuthenticator::_authenticateByPAM( + const String& userName, +- const String& password) ++ const String& password, ++ Boolean isRemoteUser) + { + PEG_METHOD_ENTER(TRC_AUTHENTICATION, + "PAMBasicAuthenticator::_authenticateByPAM()"); +@@ -166,6 +170,7 @@ + pam_handle_t *phandle; + char *name; + APP_DATA mydata; ++ int retcode; + + // + // Store the password for PAM authentication +@@ -180,12 +185,28 @@ + // "PAMBasicAuthenticator::_authenticateByPAM() - userName = %s; userPassword = %s", + // (const char *)userName.getCString(), (const char *)password.getCString()); + ++ // 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. ++ + // + //Call pam_start since you need to before making any other PAM calls + // +- if ( ( pam_start(service, ++ if ( ( retcode = pam_start(service, + (const char *)userName.getCString(), &pconv, &phandle) ) != PAM_SUCCESS ) + { ++ closelog(); ++ openlog("cimserver", LOG_PID, LOG_DAEMON); ++ syslog( LOG_ERR, "pam_start failed: %s", pam_strerror(phandle, retcode)); ++ PEG_METHOD_EXIT(); ++ return (authenticated); ++ } ++ ++ if ( (retcode = pam_set_item(phandle, PAM_TTY, isRemoteUser ? "wbemNetwork" : "wbemLocal")) != PAM_SUCCESS ) ++ { ++ pam_end(phandle, 0); ++ closelog(); ++ openlog("cimserver", LOG_PID, LOG_DAEMON); ++ syslog( LOG_ERR, "pam_set_item(PAM_TTY=wbem) failed: %s", pam_strerror(phandle, retcode)); + PEG_METHOD_EXIT(); + return (authenticated); + } +@@ -193,7 +214,7 @@ + // + //Call pam_authenticate to authenticate the user + // +- if ( ( pam_authenticate(phandle, 0) ) == PAM_SUCCESS ) ++ if ( ( retcode = pam_authenticate(phandle, 0) ) == PAM_SUCCESS ) + { + Tracer::trace(TRC_AUTHENTICATION, Tracer::LEVEL4, + "pam_authenticate successful."); +@@ -202,21 +223,41 @@ + //checking for password and account expiration, as well as verifying access + //hour restrictions. + // +- if ( ( pam_acct_mgmt(phandle, 0) ) == PAM_SUCCESS ) ++ if ( ( retcode = pam_acct_mgmt(phandle, 0) ) == PAM_SUCCESS ) + { + Tracer::trace(TRC_AUTHENTICATION, Tracer::LEVEL4, + "pam_acct_mgmt successful."); + authenticated = true; + } ++ else ++ { ++ closelog(); ++ openlog("cimserver", LOG_PID, LOG_DAEMON); ++ syslog(LOG_ERR, "pam_acct_mgmt failed: %s",pam_strerror(phandle, retcode)); ++ } ++ } ++ else ++ { ++ closelog(); ++ openlog("cimserver", LOG_PID, LOG_DAEMON); ++ syslog(LOG_ERR, "pam_authenticate failed: %s",pam_strerror(phandle, retcode)); + } + + // + //Call pam_end to end our PAM work + // + pam_end(phandle, 0); ++ closelog(); ++ openlog("cimserver", LOG_PID, LOG_DAEMON); + + PEG_METHOD_EXIT(); + ++ if ( ! authenticated ) ++ syslog(LOG_ERR, "PAM authentication failed for %s user: %s", ++ isRemoteUser ? "remote" : "local", ++ (const char*)userName.getCString() ++ ); ++ + return (authenticated); + } + +@@ -232,6 +273,7 @@ + pam_handle_t *phandle; + char *name; + APP_DATA mydata; ++ int retcode; + + const char *service = "wbem"; + pconv.conv = PAMBasicAuthenticator::pamValidateUserCallback; +@@ -240,28 +282,53 @@ + // + // Call pam_start since you need to before making any other PAM calls + // +- if ( pam_start(service, +- (const char *)userName.getCString(), &pconv, &phandle) != PAM_SUCCESS) ++ if ( (retcode = pam_start(service, ++ (const char *)userName.getCString(), &pconv, &phandle)) != PAM_SUCCESS) + { ++ closelog(); ++ openlog("cimserver", LOG_PID, LOG_DAEMON); ++ syslog( LOG_ERR, "pam_start() failed: %s", pam_strerror(phandle, retcode)); + PEG_METHOD_EXIT(); + return (authenticated); + } + ++ if ( (retcode = pam_set_item(phandle, PAM_TTY, "wbemLocal")) != PAM_SUCCESS ) ++ { ++ 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, retcode)); ++ PEG_METHOD_EXIT(); ++ return (authenticated); ++ } ++ + // + // Call pam_acct_mgmt, to check if the user account is valid. This includes + // checking for account expiration, as well as verifying access + // hour restrictions. + // +- if ( pam_acct_mgmt(phandle, 0) == PAM_SUCCESS ) ++ if ( (retcode = pam_acct_mgmt(phandle, 0)) == PAM_SUCCESS ) + { + authenticated = true; + } ++ else ++ { ++ pam_end(phandle, 0); ++ closelog(); ++ openlog("cimserver", LOG_PID, LOG_DAEMON); ++ syslog( LOG_ERR, "pam_acct_mgmt() failed: %s", pam_strerror(phandle, retcode)); ++ PEG_METHOD_EXIT(); ++ return (authenticated); ++ } + + // + //Call pam_end to end our PAM work + // + pam_end(phandle, 0); + ++ closelog(); ++ openlog("cimserver", LOG_PID, LOG_DAEMON); ++ + #else + // + // Mutex to Serialize Authentication calls. +diff -Nur pegasus.orig/src/Pegasus/Server/HTTPAuthenticatorDelegator.cpp pegasus/src/Pegasus/Server/HTTPAuthenticatorDelegator.cpp +--- pegasus.orig/src/Pegasus/Server/HTTPAuthenticatorDelegator.cpp 2006-11-14 12:34:59.000000000 -0600 ++++ pegasus/src/Pegasus/Server/HTTPAuthenticatorDelegator.cpp 2007-02-23 00:34:45.000000000 -0600 +@@ -281,6 +281,9 @@ + } + } + ++ // Let Authenticators know whether this user is Local or Remote: ++ httpMessage->authInfo->setRemoteUser( httpMessage->fromRemoteHost ); ++ + // + // Handle authentication: + // diff --git a/pegasus-2.6.0-no-rpath.patch b/pegasus-2.6.0-no-rpath.patch new file mode 100644 index 0000000..c297ebb --- /dev/null +++ b/pegasus-2.6.0-no-rpath.patch @@ -0,0 +1,69 @@ +diff -Nur pegasus.orig/mak/program-unix.mak pegasus/mak/program-unix.mak +--- pegasus.orig/mak/program-unix.mak 2006-01-30 10:16:23.000000000 -0600 ++++ pegasus/mak/program-unix.mak 2007-02-22 14:03:24.000000000 -0600 +@@ -30,22 +30,12 @@ + #//============================================================================== + 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) + + LINK_ICU = -Xlinker ${ICU_INSTALL}/lib + +-ifndef LINK_RPATH_LINK +- LINK_RPATH_LINK = -Xlinker -rpath-link +-endif +- +- +- + TMP_OBJECTS = $(foreach i,$(SOURCES),$(OBJ_DIR)/$i) + + ifeq ($(OS_TYPE),windows) +@@ -110,17 +100,17 @@ + ifdef ICU_ROOT + ifdef ICU_INSTALL + ifdef PEGASUS_USE_RELEASE_DIRS +- $(LINK_WRAPPER) $(CXX) $(FLAGS) $(EXTRA_LINK_FLAGS) $(LINK_RPATH) $(LINK_DEST_LIB) $(LINK_RPATH_LINK) $(LINK_LIB_DIR) $(LINK_RPATH) $(LINK_ICU) -L$(LIB_DIR) $(EXE_OUTPUT) $(OBJECTS) $(DYNAMIC_LIBRARIES) $(SYS_LIBS) ++ $(LINK_WRAPPER) $(CXX) $(FLAGS) $(EXTRA_LINK_FLAGS) $(LINK_ICU) -L$(LIB_DIR) $(EXE_OUTPUT) $(OBJECTS) $(DYNAMIC_LIBRARIES) $(SYS_LIBS) + else +- $(LINK_WRAPPER) $(CXX) $(FLAGS) $(EXTRA_LINK_FLAGS) $(LINK_RPATH) $(LINK_LIB_DIR) $(LINK_RPATH) $(LINK_ICU) -L$(LIB_DIR) $(EXE_OUTPUT) $(OBJECTS) $(DYNAMIC_LIBRARIES) $(SYS_LIBS) ++ $(LINK_WRAPPER) $(CXX) $(FLAGS) $(EXTRA_LINK_FLAGS) $(LINK_ICU) -L$(LIB_DIR) $(EXE_OUTPUT) $(OBJECTS) $(DYNAMIC_LIBRARIES) $(SYS_LIBS) + endif + endif + endif + else + ifdef PEGASUS_USE_RELEASE_DIRS +- $(LINK_WRAPPER) $(CXX) $(FLAGS) $(EXTRA_LINK_FLAGS) $(LINK_RPATH) $(LINK_DEST_LIB) $(LINK_RPATH_LINK) $(LINK_LIB_DIR) -L$(LIB_DIR) $(EXE_OUTPUT) $(OBJECTS) $(DYNAMIC_LIBRARIES) $(SYS_LIBS) ++ $(LINK_WRAPPER) $(CXX) $(FLAGS) $(EXTRA_LINK_FLAGS) -L$(LIB_DIR) $(EXE_OUTPUT) $(OBJECTS) $(DYNAMIC_LIBRARIES) $(SYS_LIBS) + else +- $(LINK_WRAPPER) $(CXX) $(FLAGS) $(EXTRA_LINK_FLAGS) $(LINK_RPATH) $(LINK_LIB_DIR) -L$(LIB_DIR) $(EXE_OUTPUT) $(OBJECTS) $(DYNAMIC_LIBRARIES) $(SYS_LIBS) ++ $(LINK_WRAPPER) $(CXX) $(FLAGS) $(EXTRA_LINK_FLAGS) -L$(LIB_DIR) $(EXE_OUTPUT) $(OBJECTS) $(DYNAMIC_LIBRARIES) $(SYS_LIBS) + endif + endif + else +diff -Nur pegasus.orig/mak/shared-library-unix.mak pegasus/mak/shared-library-unix.mak +--- pegasus.orig/mak/shared-library-unix.mak 2006-12-01 16:40:22.000000000 -0600 ++++ pegasus/mak/shared-library-unix.mak 2007-02-22 11:01:46.000000000 -0600 +@@ -108,14 +108,14 @@ + 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) ++ 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 b/sources index b1850dc..0264bd0 100644 --- a/sources +++ b/sources @@ -1 +1,4 @@ -988a751af48d0eb4f298d51eca78d1cc pegasus-2.5.2.tar.gz +396243b5781eae66c8a8b187b7f85141 pegasus-2.6.0.tar.gz +9dc927fc045945e8bdc785ea0e8f3626 pegasus-2.6.0-cmpi-provider-lib.patch +81dbce4e7d0ff0793b4152d5d3378c03 pegasus-2.6.0-local-or-remote-auth.patch +8313ded8d178f9bd33303a14f267788e pegasus-2.6.0-no-rpath.patch diff --git a/tog-pegasus.spec b/tog-pegasus.spec index 0e6b297..386e726 100644 --- a/tog-pegasus.spec +++ b/tog-pegasus.spec @@ -40,8 +40,8 @@ %endif %endif -Version: 2.5.2 -Release: 3%{?dist} +Version: 2.6.0 +Release: 1%{?dist} Epoch: 2 # Summary: OpenPegasus WBEM Services for Linux @@ -59,22 +59,22 @@ Source2: README.RedHat.Security Source3: genOpenPegasusSSLCerts Source4: pegasus_arch_alternatives # +# patches 2-4, 9-10, 12-38 now upstream +# +# 0: Still not fixed by http://cvs.rdg.opengroup.org/bugzilla/show_bug.cgi?id=5008 Patch0: pegasus-2.5.1-initscript.patch -Patch1: pegasus-2.5.1-no-rpath.patch -Patch2: pegasus-2.5.1-linkflags.patch -Patch3: pegasus-2.5.1-PIE.patch -# -# patches 4, 10, 12-14, 17-37 now upstream -# +# 1: http://cvs.rdg.opengroup.org/bugzilla/show_bug.cgi?id=5011 +Patch1: pegasus-2.6.0-no-rpath.patch +# 5: http://cvs.rdg.opengroup.org/bugzilla/show_bug.cgi?id=5016 Patch5: pegasus-2.5.1-redhat-config.patch -Patch6: pegasus-2.5.2-cmpi-provider-lib.patch -Patch7: pegasus-2.5.2-local-or-remote-auth.patch +# 6: don't see how http://cvs.rdg.opengroup.org/bugzilla/show_bug.cgi?id=5099 fixed it +Patch6: pegasus-2.6.0-cmpi-provider-lib.patch +# 7: http://cvs.rdg.opengroup.org/bugzilla/show_bug.cgi?id=5010 +Patch7: pegasus-2.6.0-local-or-remote-auth.patch +# 8: http://cvs.rdg.opengroup.org/bugzilla/show_bug.cgi?id=5012 Patch8: pegasus-2.5.1-pam-wbem.patch -Patch9: pegasus-2.5.1-parallel_make.patch +# 11: http://cvs.rdg.opengroup.org/bugzilla/show_bug.cgi?id=5006 Patch11: pegasus-2.5.1-fix_tests.patch -Patch15: pegasus-2.5.2-PATH_MAX.patch -Patch16: pegasus-2.5.1-HOSTNAME_MAX.patch -Patch38: pegasus-2.5.1-bz198185.patch # Conflicts: openwbem Provides: tog-pegasus-cimserver @@ -130,17 +130,11 @@ The OpenPegasus WBEM tests for the OpenPegasus %{version} Linux rpm. %setup -q -n %{srcname} %patch0 -p1 -b .initscript %patch1 -p1 -b .no-rpath -%patch2 -p1 -b .linkflags -%patch3 -p1 -b .PIE %patch5 -p1 -b .redhat-config %patch6 -p1 -b .cmpi-provider-lib %patch7 -p1 -b .local-or-remote-auth %patch8 -p1 -b .pam-wbem -%patch9 -p1 -b .parallel-make %patch11 -p1 -b .fix-tests -%patch15 -p1 -b .PATH_MAX -%patch16 -p1 -b .HOSTNAME_MAX -%patch38 -p1 -b .bz198185 find . -name 'CVS' -exec /bin/rm -rf '{}' ';' >/dev/null 2>&1 ||:; %build @@ -335,6 +329,9 @@ fi %changelog +* Mon Feb 26 2007 Mark Hamzy - 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